Skip to content

v4.0.0

Choose a tag to compare

@github-actions github-actions released this 20 Jan 23:31
· 795 commits to main since this release
4fb2ba7

4.0.0 (2022-01-20)

Bug Fixes

  • deps: update dependency resolve-typescript-plugin to v1.1.2-alpha.1 (b22defc)
  • resolve: delete fullySpecified: true option (17fee5e)
  • fix type definitions not being properly exported (264d832)
  • assets: ensure webpack doesn't process our assets using Asset Modules (cea95c0)
  • assets: prevent CSS and LESS assets from being processed twice by Asset Module (25d0620)
  • css-loader: update configuration for css-loader 6.x (12727a1)
  • deps: delete file-loader from bundled dependencies (b41edf9)
  • deps: require ts-loader 8.x as peer dependency (fe80f3a)
  • deps: update dependency @softwareventures/array to v4 (#174) (6123299)
  • deps: update dependency @softwareventures/dictionary to v1 (#193) (364d8d6)
  • deps: update dependency clean-webpack-plugin to v4 (#208) (b1a721b)
  • deps: update dependency css-loader to v5 (#133) (6585e95)
  • deps: update dependency css-loader to v6 (#197) (e23bf39)
  • deps: update dependency cssnano to v5 (#165) (5080b05)
  • deps: update dependency html-minifier-terser to v6 (#205) (5916bd2)
  • deps: update dependency less-loader to v10 (#182) (fb5028f)
  • deps: update dependency less-loader to v9 (#176) (95f1d9c)
  • deps: update dependency mini-css-extract-plugin to v2 (#186) (4441f51)
  • deps: update dependency postcss-loader to v6 (#180) (bc6bb13)
  • deps: update dependency style-loader to v3 (#184) (13156ef)
  • entry: fix default entry point for ESM (261c101)
  • tsconfig: delete obsolete workaround for clean-webpack-plugin (afca009)
  • tsconfig: fix incorrect extends clause in preact tsconfig (e7b5a0a)
  • tsconfig: set skipLibCheck: true (029ae9c)
  • set output.publicPath = "" (3a2dd59)

Features

  • assets: expose asset modules as CommonJS, not ES Modules (160df2c)
  • assets: use Asset Modules in place of file-loader (0aad1ae)
  • deps: update dependency @softwareventures/tsconfig to v6.0.0-alpha.1 (7ab57a1)
  • deps: upgrade to webpack 5 (272cd9a)
  • dev-server: update webpack-dev-server to v4.x (002befd)
  • file-loader: use contenthash instead of hash to name chunks generated by file-loader (62d93a1)
  • html-loader: replace file-loader with type: asset/resource for HTML assets (6402ef3)
  • html-loader: update to html-loader 2.x (2e6b64b), closes /github.com/webpack-contrib/html-loader/blob/master/CHANGELOG.md#200-2021-02-14 #153
  • node: drop support for node ^13 || ^15 (6c1dfe7)
  • target: explicitly specify target: web (322940f)
  • target: use ES2017 syntax in code generated by webpack (59fb2d5)
  • tsconfig: add preset TypeScript configurations for CommonJS (8ee02fb)
  • tsconfig: add tsconfig for use with React (7d5e3ae)
  • tsconfig: use new style JSX transform introducted by React 17 (1437216)
  • drop support for node <12 (79a159e)
  • drop support for TypeScript < 4.2 (62f2184)
  • resolve modules according to ESM module rules (0547ed3)
  • tsconfig: compile TypeScript to ES2017 (upgrade to tsconfig v5.0) (ed92069)
  • tsconfig: compile TypeScript to ES2020 modules (3735322)
  • tsconfig: configure TypeScript to emit ESM modules (2f2be1f)
  • tsconfig: include DOM.Iterable in lib (524ed08)

Reverts

  • Revert "feat(html-loader): replace file-loader with type: asset/resource for HTML assets" (7961a2b)
  • Revert "feat(tsconfig): compile TypeScript to ES2020 modules" (f9eda5b)
  • Revert "feat(assets): use Asset Modules in place of file-loader" (98b3676)
  • Revert "fix(deps): delete file-loader from bundled dependencies" (322a553)

BREAKING CHANGES

  • dev-server: webpack-dev-server 4.x is now required. webpack-dev-server 3.x is no longer
    supported.
  • node: node ^13 || ^15 are no longer supported.
  • Modules are now resolved according to ESM module rules. File imports must specify
    the path to the file including file extension, and in particular imports of TypeScript files must
    specify the path to the file but with the ".js" extension instead of ".ts" or ".tsx". See
    https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c.
  • This software now requires node >= 12.
  • tsconfig: TypeScript is now configured to emit ESM modules instead of CommonJS modules. See
    advice for migrating to ESM at
    https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c. Here we go again. The
    node/JS/TypeScript/webpack ecosystem should actually be ready for this now.
  • TypeScript >= 4.2 is now required
  • assets: Asset modules (*.html, *.jpg, *.mp3, etc) are now exposed as CommonJS modules, not
    ES Modules. This is for forwards compatibility with native webpack Asset Modules
    (https://webpack.js.org/guides/asset-modules/) when we are able to start using them.
  • html-loader: This may break compatibility with downstream projects that use the customize
    callback to customize rules for loading HTML files.
  • html-loader: Various upstream breaking changes may affect downstream consumers who use the
    customize callback to customize the webpack config. See
  • deps: Consuming projects must upgrade ts-loader to v8.x.
  • target: webpack will generate code that uses ES2017 syntax. This breaks compatibility with
    Node < 8.10 and with very old browsers that do not support ES2017 syntax. If you need to support
    these older systems, we recommend you stay with webpack-config v3.x.
  • deps: Downstream projects must upgrade to webpack 5 when upgrading to this version of
    webpack-config. There are some breaking changes in webpack 5. Most notably the Buffer and process
    APIs from node are no longer shimmed by webpack when building for the web. See the webpack
    documentation.
  • tsconfig: TypeScript code now compiles to ES2017. This breaks compatibility with Node < 8.10
    and with very old browsers that do not support ES2017 syntax. If you need to support these older
    systems either override "compilerOptions": { "target": "es5" }, or use Babel to compile ES6+ code
    down to ES5.
  • deps: Various breaking changes in css-loader v5
    that may affect consumers that customize the configuration
    using a customize callback. See
    https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md