Releases: dependents/Dependents
New Feature: Find relevant app entry points
This feature is useful if you have a multi-bundle app architecture and want to know which features/apps can potentially be broken by changes to a particular module.
To use:
- Right click on a file to open the context menu
- Click on
Dependents -> Find relevant app entry points
Optional:
If you're using RequireJS, you can optionally set the "build_config"
setting to supply the location to your Requirejs build configuration file.
- This should have a
"modules"
section that lists your entry points/bundles
New Feature: Exclude files and folders from search
New Feature: Exclude files and folders
Now you can exclude specific files and folder names from the search for dependents.
If you're using the plugin in a large codebase, this can shave off a few seconds from each use of the Find Dependents feature.
To use this, add the following setting to Preferences -> Package Settings -> Dependents -> Settings - User
"exclude": [
"jquery.js",
"someOtherFile.js",
"plugins/"
]
Note: The trailing slash is not required for indicating that a name is of a directory.
Performance gains
Performance Optimizations
Under the hood, a few optimizations have been made for faster fetching of the dependents.
Notably:
- Using a different JS parser for performance
- Avoiding double parsing every JS file for performance
Bug Fixes
1. A workspace with multiple top-level codebases now works
Example workspace (i.e., editor window):
foo/
bar/
baz/
If you have multiple codebases open within a single directory, the settings need to take the top level folder into account:
Example workspace:
foo/
bar/
baz/
Settings for the bar/ app would need to be:
"root": "bar/path/to/my/js"
2. Jumping to aliased dependencies has been fixed
If you had a dependency that was a mustache template (for example), it would incorrectly be given the .js extension due to a regression.
3. Better error messages when missing necessary settings
Now, if you try to use features on SASS or JS files without having set the proper settings, the plugin will inform you to to modify your settings.
If you only want to use this plugin for navigating sass, then you only need to set the sass_root
, setting the js root
is no longer required. Similarly, if you only want to traverse JS, then there's no need to set the sass_root
setting.
Bug Fix
Bug fix
You no longer have to include trailing slashes on the "sass_root" nor "root" settings.
There was a bug where a trailing slash was incorrectly required on "sass_root".
New Feature: Jump to SASS dependents
New Feature
Jump to SASS dependents.
Use the same keyboard bindings as any other jump.
Enjoy!
Bug fix
Jump to Dependency: Bug Fix
Jumping to relatively pathed modules has been fixed.
Bug fix
Bug fix: Jump to a module from any file (inside or outside the root)
If you have a test file that depends on a module within the root,
you can jump to that dependency from the test file.
Ping me for any issues: @mrjoelkemp. Thanks for using the plugin!
Bug Fixes
Bug fixes
- Better support for relative dependencies (CommonJS).
- Better handling of missing settings from a
.deprc
file
You should now have no problems using the features on CommonJS codebases.
Note: If you want to use this plugin on multiple codebases, I highly recommend creating a .deprc
file with your settings (root, config, sass_root) in the root of your codebase. If you don't want to commit that file, then just add .deprc
to your global gitignore.
Ping me for any issues: @mrjoelkemp
Performance gain
Performance boost
Additional (common) vendor folders are excluded from the search for dependents by default:
- node_modules
- bower_components
- vendor
3rd party libraries won't depend on your modules, so there's no reason to process them.