fix: replace --output option of webpack

Currently the build/test fails with the following output:

```
Test webextension-polyfill bundled with webpack
===============================================
[webpack-cli] Unknown argument: --output
[webpack-cli] Unknown argument: /tmp/webpack-bundle.js
? Which flags do you want to use? …
✔ --entry: The entry point(s) of your application e.g. ./src/main.js
✔ --config: Provide path to a webpack configuration file e.g. ./webpack.config.js
✔ --color: Enable/Disable colors on console
✔ --merge: Merge two or more configurations using webpack-merge e.g. -c ./webpack.config.js -c ./webpack.test.config.js --merge
✔ --progress: Print compilation progress during build
✔ --help: Outputs list of supported flags
✔ --output-path: Output location of the file generated by webpack e.g. ./dist/
```

Regressed by:
https://github.com/webpack/webpack-cli/pull/1855
2f36b9d858

`--output` has been renamed to `--output-path` (`-o` in both cases), but
stopped supporting file names.  To output to a specific absolute path,
`--output-path` and `--output-filename` must both be specified, with the
directory in the former and the filename in the latter.
This commit is contained in:
Rob Wu 2020-10-14 13:21:15 +02:00
parent 01fb67f047
commit 8c7be46873
1 changed files with 5 additions and 1 deletions

View File

@ -1,4 +1,5 @@
#!/usr/bin/env node #!/usr/bin/env node
const path = require("path");
const shell = require("shelljs"); const shell = require("shelljs");
let result = 0; let result = 0;
@ -8,7 +9,10 @@ Test webextension-polyfill bundled with webpack
===============================================`); ===============================================`);
process.env.TEST_BUNDLED_POLYFILL = "/tmp/webpack-bundle.js"; process.env.TEST_BUNDLED_POLYFILL = "/tmp/webpack-bundle.js";
result = shell.exec(`webpack --mode production --entry ./test/fixtures/bundle-entrypoint.js --output ${process.env.TEST_BUNDLED_POLYFILL}`).code || const webpackOutputDir = path.dirname(process.env.TEST_BUNDLED_POLYFILL);
const webpackOutputFilename = path.basename(process.env.TEST_BUNDLED_POLYFILL);
result = shell.exec(`webpack --mode production --entry ./test/fixtures/bundle-entrypoint.js --output-path ${webpackOutputDir} --output-filename ${webpackOutputFilename}`).code ||
shell.exec("npm run test").code || result; shell.exec("npm run test").code || result;
console.log(` console.log(`