npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@phoenix-plugin-registry/ternific

v0.9.5

Published

JavaScript hinting and refactoring powered by Tern

Downloads

4

Readme

Brackets-Tern

Tern integration in brackets.

  1. Integration with brackets' native hint manager system.
  2. By default this extension runs tern in a worker thread (a web worker).
  3. You can also run a Tern server yourself. Soon to come, ability to fire up a tern server from the UI.
  4. Per folder/project .tern-project. Ternific will traverse the directory structure looking for the first available .tern-project file. If no .tern-project is found, then a default .tern-project is loaded.
  5. Live reload of .tern-project. So, saving changes will automatically take effect without reloading Brackets. [Only for integrated tern and not for servers yet].
  6. Support for Meteor plugin! Thanks to Slava for https://github.com/Slava/tern-meteor.
  7. ** Refactoring! To activate refactoring, place the editor's cursor on a variable/property and press ctrl + r.
  8. Refactoring is supported across multiple files. EXPERIMENTAL
  9. Set the sorting order of your hints!

FAQ

  1. Where is the default .tern-project? Default .tern-project can be found in tern/.tern-project in ternific installation directory.
  2. How do I add node or meteor support? Node and meteor are loaded as plugins. You need to add the correspoding entries to the plugins section in .tern-project. You can use https://github.com/MiguelCastillo/Brackets-Ternific/blob/master/.tern-project as a template or just use the default .tern-project in tern's directory.
  3. Why isn't the default .tern-project file not live reloading. Live reload is only supported for project specific .tern-project.
  4. Is there a way to enable logging for debug details? Yes, you need to bring up Chrome Developer Tools and from the console, type ternificLogger.enableAll(). And to disable it, use ternificLogger.disableAll().
  5. ES6 (ES2015) support? Yes! You will need to specify es_modules in your .tern-project to take advantage of the new module syntax. Take a look in this sample file in the plugins definition.

.tern-project

.tern-project is the configuration file that ternific picks up to configure tern. This file can exist in any directory, and ternific will navigate up the directory hierarchy (up to the project), and use the first it finds.

You can specify all you standard tern settings. Additionally, you can specify directory path for libs and plugins to load custom definitions and plugins. There are also a few template strings you can use to help you define paths relative to the your current project, ternific, or tern itself.

{
  "libs": [
    "{ternific}/libs/tern/defs/reserved",
    "{ternific}/libs/tern/defs/lodash",
    "browser",
    "jquery"
  ],
  "plugins": {
    "{project}/custom-plugin": {}
  }
}

Screenshots

Ternific hints panel Ternific panel

Ternific refactoring Ternific panel

Ternific Dark Theme Ternific panel

Credit

  1. Brackets' javascript hinting has been used and code has been lifted and integrated into this extension.
  2. Code has been taken from tern demo.js in order to make tern integration possible.

License

Licensed under MIT