Multiple entry points with glob pattern / Partial files with underscore / Preserve directory structure
npm install --save-dev @sect/webpack-sweet-entry
- Multiple entry points with glob pattern.
- Partial files (Files and Directories named with a leading underscore
_
is ignored.). - Preserve directory structure in
dist
directory.
const webpack = require('webpack');
const path = require('path');
const { WebpackSweetEntry } = require('@sect/webpack-sweet-entry');
const sourcePath = path.join(__dirname, 'src');
const buildPath = path.join(__dirname, 'dist');
module.exports = [
{
entry: WebpackSweetEntry(path.resolve(sourcePath, 'assets/js/**/*.js*'), 'js', 'js'),
output: {
path: path.resolve(buildPath, 'assets/js'),
filename: '[name].js',
},
module: {
...
}
},
{
entry: WebpackSweetEntry(path.resolve(sourcePath, 'assets/css/**/*.css'), 'css', 'css'),
output: {
path: path.resolve(buildPath, 'assets/css'),
filename: '[name].css',
},
module: {
...
}
}
];
module.exports = [
{
entry: WebpackSweetEntry(path.resolve(sourcePath, 'assets/scripts/**/*.*s*'), ['ts', 'js'], 'scripts'),
output: {
path: path.resolve(buildPath, 'assets/js'),
filename: '[name].js',
},
module: {
...
}
},
...
];
WebpackSweetEntry(path, ext, parentdir);
arg | type | Description | Example |
---|---|---|---|
path | string | string[] |
File path glob(s) | path.resolve(sourcePath, 'assets/js/**/*.js*') or [path.resolve(sourcePath, 'assets/js/**/*.js*'), '!**/a.js'] |
ext | string | string[] |
File extension | js or ['ts', 'js'] |
parentdir | string |
Parent Dirctory Name for files (The directory name where the tree starts) | js |
Returns object
like the following.
{
a: '/path/to/your/src/assets/js/a.js',
b: '/path/to/your/src/assets/js/b.js',
'dir/e': '/path/to/your/src/assets/js/dir/e.js'
}
{
a: '/path/to/your/src/assets/css/a.css',
b: '/path/to/your/src/assets/css/b.css',
'dir/e': '/path/to/your/src/assets/css/dir/e.css'
}
.
โโโ dist
โ โโโ assets
โ โโโ css
โ โ โโโ a.css
โ โ โโโ b.css
โ โ โโโ dir
โ โ โโโ e.css
โ โโโ js
โ โโโ a.js
โ โโโ b.js
โ โโโ dir
โ โโโ e.js
โโโ src
โ โโโ assets
โ โโโ css
โ โ โโโ a.css
โ โ โโโ b.css
โ โ โโโ _c.css
โ โ โโโ _d.css
โ โ โโโ dir
โ โ โโโ e.css
โ โ โโโ _f.css
โ โโโ js
โ โโโ a.js
โ โโโ b.js
โ โโโ _c.js
โ โโโ _d.js
โ โโโ _modules
โ โ โโโ a.js
โ โ โโโ b.js
โ โโโ dir
โ โโโ e.js
โ โโโ _f.js
โโโ package-lock.json
โโโ package.json
โโโ postcss.config.js
โโโ webpack.config.js
$ npm uninstall webpack-sweet-entry
$ npm install --save-dev @sect/webpack-sweet-entry
- const WebpackSweetEntry = require('webpack-sweet-entry');
+ const { WebpackSweetEntry } = require('@sect/webpack-sweet-entry');
See CHANGELOG file.
โ๏ธ
A little project by @sectsect