![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
dependants-parser
Advanced tools
Utility to recursively fetch dependant modules by parsing require syntaxes targeting a specified local module using a given a root directory and an import expression regex.
While writing a custom watch-build tool I needed some quick and easy way to figure out which modules depended on the file that changed would be emitted to in order to avoid re-compiling every file in the codebase at every change.
This tool is easily extensible to work with most pre-processors & syntaxes as long as their import command can be expressed with a regular expression and the modules are located relatively to the target file.
By now Stylus and CommonJS regexes are available by default in this module.
npm install dependants-parser
Test with Mocha by running
npm test
Considering the following tree:
.
├── index.js
└── stylus
├── root.styl
└── target.styl
stylus/root.styl:
@import 'target.styl'
index.js:
var dependants = require('dependants-tree');
var out = dependants.findSync(
'stylus/target.styl', // Target dependency
'stylus', // Modules root
dependants.patterns.stylus // Import expression regex
);
console.log(out);
// [ 'abs/path/to/stylus/root.styl' ]
.findSync(filepath, root, importRegex, [ match ])
Returns an array containing absolute paths of all modules that depend on filepath
found in root
, given an import expression syntax.
filepath
(String) - Path to target module. This needs to be the real filename.root
- (String) Directory to recursively scan for dependants.importRegex
- (RegExp|Object) Import syntax expression. Used to parse out a file's dependency. You can also pass an object containing the keys 'exp' (RegExp) and 'offset' (number) of the result module string[ match ]
- (RegExp) Filename match expression. Use to filter files to scan..patterns
Contains simple ready-to-use regexes for local import syntaxes
.stylus
- @import 'module'
Stylus syntax pattern.commonjs
- require('module')
CommonJS syntax pattern.jade
- include module | extend module
Jade syntax patternIt would be great to provide import syntaxes for other languages / pre-processors (LESS, SASS, SCSS, Jade, Handlebars) this module could be used for.
Please feel free to drop a pull request if you're using this module with a custom expressions or improving the current ones / writing more tests.
Regexes are tested in test/regexes.js
.
FAQs
Parse dependants given a module, a root and an import syntax
The npm package dependants-parser receives a total of 5 weekly downloads. As such, dependants-parser popularity was classified as not popular.
We found that dependants-parser demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.