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