@sect/webpack-sweet-entry
TypeScript icon, indicating that this package has built-in type declarations

7.0.5 • Public • Published

@sect/webpack-sweet-entry

Test codecov CodeQL npm version MIT license

Multiple entry points with glob pattern / Partial files with underscore / Preserve directory structure

Install

npm install --save-dev @sect/webpack-sweet-entry

Features

  • Multiple entry points with glob pattern.
  • Partial files (Files and Directories named with a leading underscore _ is ignored.).
  • Preserve directory structure in dist directory.

Usage Example

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: {
      ...
    }
  }
];

Multiple(Mixed) extentions

module.exports = [
  {
    entry: WebpackSweetEntry(path.resolve(sourcePath, 'assets/scripts/**/*.*s*'), ['ts', 'js'], 'scripts'),
    output: {
      path: path.resolve(buildPath, 'assets/js'),
      filename: '[name].js',
    },
    module: {
      ...
    }
  },
  ...
];

API

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'
}

Build Result

.
├── 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

Migrate from v1

$ 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');

Changelog

See CHANGELOG file.

✌️

A little project by @sectsect

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
7.0.5379latest

Version History

VersionDownloads (Last 7 Days)Published
7.0.5379
7.0.42
7.0.32
7.0.22
7.0.12
7.0.02
6.0.43
6.0.32
6.0.22
6.0.12
6.0.02
5.0.1713
5.0.162
5.0.152
5.0.142
5.0.132
5.0.122
5.0.116
5.0.102
5.0.92
5.0.82
5.0.72
5.0.62
5.0.52
5.0.42
5.0.32
5.0.22
5.0.12
5.0.02
4.1.550
4.1.42
4.1.32
4.1.22
4.1.12
4.1.02
4.0.12
4.0.02
3.0.12
3.0.02
2.6.19
2.6.02
2.5.22
2.5.12
2.5.02
2.4.02
2.3.02
2.2.12
2.2.02
2.1.22
2.1.12
2.1.02
2.0.22
2.0.12
2.0.02

Package Sidebar

Install

npm i @sect/webpack-sweet-entry

Weekly Downloads

556

Version

7.0.5

License

MIT

Unpacked Size

47.4 kB

Total Files

7

Last publish

Collaborators

  • sect