Differences between revisions 71 and 72
Revision 71 as of 2019-10-17 17:37:23
Size: 4432
Editor: Praveen A
Comment: Move all transitions pages to same namespace
Revision 72 as of 2019-10-17 17:58:54
Size: 4456
Editor: Praveen A
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

Webpack 4.30 is required for acorn 6 transition. Needs webassemblyjs - ITP [[DebianBug:942455]].
Line 10: Line 12:
 1. Package or embed @webassemblyjs/* to update to newer webpack releases.

Webpack 4.30 is required for acorn 6 transition. Needs webassemblyjs - ITP 942455.

Webpack 4.7 is available in unstable.

TODO

  1. Run tests (currently disabled because jest is not packaged).

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. Output files are now created under dist directory by default.
  5. node_modules/.cache should be removed in clean target.

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

  7. 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). Replace "plugin" field with "optimization" or remove "plugin" field and just set "mode" to production.

  8. configuration.module has an unknown property 'loaders'. Change loaders to rules under modules. Example commit

  9. Change target web to target node in debian/rules or debian/webpack.config.js. Example d/rules commit and d/webpack.config.js commit

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

Packages for upstream modification

  • node-trust-json-document
  • node-node-forge -- Kannan - done

  • node-handlebars
  • node-axios -- Kannan - doing

  • vue.js

Already compatible with webpack 4

  • node-mocha (false positive, switched to rollup)
  • node-js-beautify (tested rebuild)
  • node-yarnpkg 933498

Ready in unstable

  • node-rollup-plugin-alias (switched to rollup)
  • node-react-audio-player 933633

  • node-d3-scale
  • node-d3-request
  • node-turbolinks
  • node-vue-resource
  • node-markdown-it-html5-embed
  • node-timeago.js
  • node-url-parse
  • node-fuzzaldrin-plus
  • node-es6-promise
  • node-jschardet
  • node-source-map
  • node-chai (minor todo: minify only .min.js)
  • node-prop-types
  • node-d3-queue
  • jekyll
  • node-dagre-layout
  • vue.js
  • node-dagre-d3-renderer
  • node-axios , node-handlebars 933868

Ready with patch in BTS/git repo

  • node-matrix-js-sdk 933662

  • leaflet-image 933666

  • node-node-forge, node-jsonld, node-rdf-canonize 933592

  • node-trust-json-document 933626

Supported in new upstream release

Packages that needs to move to unstable with webpack 4

  • pkg-js-tools (>= 0.8.4~) - ok

  • node-ajv (>= 6.1~) - ok

  • node-ajv-keywords (>= 3.1~) - ok

  • node-enhanced-resolve (>= 4.0~) - ok

  • node-micromatch (>= 3.1.8~) - skipped for later

  • node-schema-utils (>= 0.4.2~) - ok

  • node-tapable (>= 1.0~) - ok

  • node-uglifyjs-webpack-plugin (>= 1.3.0-4~) - ok

  • node-watchpack (>= 1.4~) - ok

  • node-chokidar (>= 2~) - ok