I try to pass a custom flag from npm script to my webpack config but it results in following error. The logs
Insufficient number of arguments or no entry found.
Alternatively, run 'webpack(-cli) --help' for usage info.
ERROR in Entry module not found: Error: Can't resolve '--no-dist' in 'C:UsersusergitrootMyProjectsharepoint'
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! [email protected] dev: `webpack --mode development -- --no-dist`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the [email protected] dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
package.json
...
scripts: {
dev: webpack --mode development -- --no-dist,
dev:dist: webpack --mode development,
build: webpack --mode production
},
...
webpack.config.js
let username = process.env.USERNAME;
if (process.env.npm_config_user !== undefined && process.env.npm_config_user !== ) {
username = process.env.npm_config_user;
}
console.log(username, username);
console.log(process.argv.slice(2), process.argv.slice(2));
const no_dist = process.argv.slice(2).indexOf(--no-dist) > -1;
console.log(no_dist, no_dist);
Tests
npm run dev:dist
This works without errors, it gets bundled and distributed without problems. Gives the following output:
username user
process.argv.slice(2) [ '--mode', 'development' ]
no_dist false
npm run dev:dist --user test
Also works and gives the following output:
username test
process.argv.slice(2) [ '--mode', 'development' ]
no_dist false
npm run dev
Here it gets interesting, I try to run the dev script which has a --no-dist
flag. Output:
username user
process.argv.slice(2) [ '--mode', 'development', '--', '--no-dist' ]
no_dist true
As you can see, no_dist
boolean is set to true, which is the wanted behaviour. But I get the following error:
Insufficient number of arguments or no entry found.
Alternatively, run 'webpack(-cli) --help' for usage info.
npm run dev --user test
Same behaviour as test 3. The arguments are passed to the webpack.config.js but result in the same error.
username test
process.argv.slice(2) [ '--mode', 'development', '--', '--no-dist' ]
no_dist true
Am I missing something here?