mirror of
				https://github.com/fooflington/selfdefined.git
				synced 2025-11-03 23:29:03 +00:00 
			
		
		
		
	Precinct 
 
Unleash the detectives
npm install --save precinct
Uses the appropriate detective to find the dependencies of a file or its AST.
Supports:
- JavaScript modules: AMD, CommonJS, and ES6.
 - Typescript
 - CSS Preprocessors: Sass, Stylus, and Less
 - CSS (PostCSS)
 
Usage
var precinct = require('precinct');
var content = fs.readFileSync('myFile.js', 'utf8');
// Pass in a file's content or an AST
var deps = precinct(content);
You may pass options (to individual detectives) based on the module type via an optional second object argument `detective(content, options), for example:
Example call: precinct(content, { amd: { skipLazyLoaded: true } });
- The supported module type prefixes are 
amd,commonjs,es6,sass,stylus,less 
Current options:
amd.skipLazyLoaded: tells the AMD detective to omit lazy-loaded dependencies (i.e., inner requires).es6.mixedImports: allows for all dependencies to be fetched from a file that contains both CJS and ES6 imports.
- Note: This will work for any file format that contains an es6 import.
 
css.url: tells the CSS detective to includeurl()references to images, fonts, etc.
Finding non-JavaScript (ex: Sass and Stylus) dependencies:
var content = fs.readFileSync('styles.scss', 'utf8');
var deps = precinct(content, { type: 'sass' });
var deps2 = precinct(content, { type: 'stylus' });
Or, if you just want to pass in a filepath and get the dependencies:
var paperwork = require('precinct').paperwork;
var deps = paperwork('myFile.js');
var deps2 = paperwork('styles.scss');
precinct.paperwork(filename, options)
Supported options:
includeCore: (default: true) set tofalseto exclude core Node dependencies from the list of dependencies.fileSystem: (default: undefined) set to an alternativefsimplementation that will be used to read the file path.- You may also pass detective-specific configuration like you would to 
precinct(content, options). 
CLI
Assumes a global install of npm install -g precinct
precinct [options] path/to/file
- Run 
precinct --helpto see options 
License
MIT