Differences between revisions 31 and 32
Revision 31 as of 2019-07-31 18:28:13
Size: 3502
Editor: Praveen A
Comment:
Revision 32 as of 2019-07-31 18:41:40
Size: 3539
Editor: Praveen A
Comment:
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:
=== Already compatible with webpack 4 (tested rebuild) ===
 * node-handlebars
=== Already compatible with webpack 4 ===
 * node-handlebars (tested rebuild)
 * node-mocha (false positive, switched to rollup)
Line 53: Line 54:
 * node-mocha

Webpack 4 is available in experimental.

TODO

  1. Run tests (currently disabled because jest is not packaged).
  2. Package or embed @webassemblyjs/* to update to newer webpack releases.

Major changes

  1. Now entry, output options on command line are mandatory and we get a warning if mode option is not specified. Check node-d3-request (commit)

  2. production and development are new modes and each has its on default options. production mode does minify by default.

  3. entry option in command line must have ./ prefix to directory path (--entry src/index.js will not work, but --entry ./src/index.js will work). See node-turbolinks commit.

  4. node_modules/.cache should be removed in clean target.

  5. node-grunt-webpack should be >= 3.1.

  6. webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead. Check this patch or this commit (where a single config file creates multiple output files and only one of them we need minimized).

Steps to build with webpack 4

  1. clone repo from salsa (gbp clone --pristine-tar)

  2. Update debian/control and change webpack dependency to >= 4~ to force building with webpack 4 (without this, package in unstable will be used).

  3. Build on experimental. See sbuild#Enabling_experimental

Involved packages

Command used to find the list: reverse-depends -b webpack

Already compatible with webpack 4

  • node-handlebars (tested rebuild)
  • node-mocha (false positive, switched to rollup)

Ready in unstable

  • node-rollup-plugin-alias (switched to rollup)

Ready in experimental

  • node-d3-scale
  • node-d3-request
  • node-turbolinks
  • node-vue-resource
  • node-markdown-it-html5-embed
  • node-timeago.js
  • node-axios
  • node-url-parse
  • node-fuzzaldrin-plus
  • node-es6-promise
  • node-jschardet
  • node-source-map
  • node-chai (minor: minify only .min.js)

Ready in git

In progress

  • node-d3-queue

In progress - need help

  • node-dagre-layout

webpack --progress --colors
/usr/share/nodejs/webpack/node_modules/webpack-cli/bin/cli.js:93
                                throw err;
                                ^

Error: Options {"loose":true} passed to /usr/lib/nodejs/babel-preset-env/lib/index.js which does not accept options. (While processing preset: "/usr/lib/nodejs/babel-preset-env/lib/index.js") (While processing preset: "/usr/lib/nodejs/babel-preset-env/lib/index.js")
    at /usr/lib/nodejs/babel-core/lib/transformation/file/options/option-manager.js:314:17

Not checked

  • jekyll
  • leaflet-image
  • node-js-beautify
  • node-jsonld
  • node-matrix-js-sdk
  • node-node-forge
  • node-prop-types
  • node-rdf-canonize
  • node-react-audio-player
  • node-trust-json-document
  • node-yarnpkg
  • rainloop
  • vue.js

Packages that needs to move to unstable with webpack 4

* node-watchpack * node-chokidar * node-ajv (check) * node-ajv-keywords (check) * node-uglifyjs-webpack-plugin * node-schema-utils