find-imports
Find all imported modules in JavaScript files. It's useful for bundling 3rd-party libraries into a vendor.js using webpack. For example:
var webpack = require('webpack');
var findImports = require('find-imports');
module.exports = {
entry: {
app: [
'./src/index.js'
],
vendor: findImports('src/**/*.{js,jsx}', { flatten: true })
},
output: {
path: path.join(__dirname, 'dist'),
filename: '[name].js'
},
plugins: [
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js')
]
};
Installation
npm install --save-dev find-imports
Usage
The default options only return package imports:
import findImports from 'find-imports';
const files = [
'src/**/*.{js,jsx}',
'!src/**/*.spec.js'
];
findImports(files);
To flatten the output:
findImports(files, { flatten: true });
To return absolute and relative imports:
findImports(files, {
absoluteImports: true,
relativeImports: true
});
To only return absolute and relative imports (no packages):
findImports(files, {
absoluteImports: true,
relativeImports: true,
packageImports: false
});
Options
Below are the options with their default values:
{
flatten: false,
packageImports: true,
absoluteImports: false,
relativeImports: false
}
flatten
Type: Boolean
Default: false
Sets true to flatten the output and filter duplicate ones.
packageImports
Type: Boolean
Default: true
Sets true to return package imports.
absoluteImports
Type: Boolean
Default: false
Sets true to return absolute imports.
relativeImports
Type: Boolean
Default: false
Sets false to return relative imports.
License
Copyright (c) 2016 Cheton Wu
Licensed under the MIT License.