Bug Fix | externals | module imports that are neither relative or the root module can be bundled when the parent module is external in some cases | |
Bug Fix | mode | development builds fail | |
Bug Fix | shutdown | errors that occur prior to completing creation of all active build configurations in a multi-build compilation can cause premature exit with no error information shown | |
Bug Fix | script | regression - 'script' type builds fail in processAssets compilation stage with error 'require is not defined in ES module scope' | |
Bug Fix | externals | in specific (not common) cases, imported packages are set as external when they should be bundled | |
Bug Fix | externals | esm builds of type 'lib' cause issues in some cases when imported by commonjs/2 'app' type build | |
Bug Fix | logging | logged configurations on startup has incorrect message padding for both webpack 'rules' config and all build-level options | |
Bug Fix | rules | default rule excludes any file named 'test.*' where only *.test.*' should be excluded for non-tests builds | |
Bug Fix | types | types output file doesnt convert dynamic import statements that include an '=' or ',' character in the generic type | |
Bug Fix | analysis | regression - the '--analyzer' and '--analyzex' cli options no longer working | |
Bug Fix | cache | both copying updated shared package files within project node_modules, and/or editing 'only' .ts type files in a js based project, are not getting recognized and does not trigger a re-transpilation, and pre-cached output files produced | |
Bug Fix | optimization | the 'polyfill' cache group not getting created when configured / enabled | |
Bug Fix | plugins | cannot add custom patterns to the 'ignore' plugin options | |
Bug Fix | licensefiles | finalization of combined license file is causing an 'invalid regex' error in some cases | |
Bug Fix | config | the 'terget' property type config is not applied to applicable configurations | |
Bug Fix | polyfill | output bundle contains same polyfilled module twice in specific cases on win32 system, force fallback path resolution to use uppercase drive letter for win32 , | |
Bug Fix | polyfills | first round of fixes - web target builds do not reference configured polyfill modules | |
Bug Fix | startup | if startup fails the resultant call to the 'printInfo' function also fails and causes an uncaught exception | |
Bug Fix | licensefile | finalization of combined vendor license fils is removing content of several specific modules | |
Documentation | jsdoc | several documentation updates to bring jsdoc up to date | |
Feature | types | add support for manually specifying module names that may not be resolved by dependent project and should be declared in the type definitions files / bundle | |
Feature | init | improve error handling and logged error detail during initialization | |
Feature | types | add support for dynamic module declarations from defined paths in the package.json 'exports' configuration and 'index' source files that contain more than 75% exports | |
Feature | vendormod | add patch for 'got' package, removes core module's greedy require of http2 modules that occurs even if the http2 option is not set | |
Feature | resolve | add enhanced support for configurable dynamic expression imports to provide ability to ignore or filter by resource and context, also satisfies the infamous 'request of a dependency is an expression...' webpack warning | |
Feature | loaders | add new loader 'wpw-utf8-loader' to support handling of non-utf8/latin1/ascii encoded files, e.g exported json files from the 'iconv-lite' package | |
Feature | jsdoc | add plugin 'jsdoc-plugin-esnext' for full support of es2022 type syntax | |
Feature | polyfills | initial full polyfill support for web / browser target | |
Feature | polyfill | initial full polyfill support for web / browser target | |
Refactoring | webpack | revert to v5.94, handling of external 'createRequire' import is broken in 5.95+ | |
Refactoring | init | add initial re-attempt to detect if a build run is a 'rebuild', without having to explicitly specify on cli | |
Refactoring | banner | add new options for 'banner' plugin 'mode', 'plugin' (legacy) or 'terser' (use internal terser banner options). used for transpiled builds where minification / terser removes banner in all cases unless it is inserted after the compilation process assets 'additions' stage | |
Refactoring | cache | remove internal cache class and integrate cache storage class in type-utils shared package | |
Refactoring | logging | log externals/import stats after make stage completes | |
Refactoring | vendormods | add vendor code mod for 'jsdoc-eslint-plugin' to support bundling to a subdirectory of dist dir | |
Refactoring | optimization | expand cache group implementation and configuration | |
Refactoring | dependencies | add two new cache groups for vendor bundles 'www' grouped with web/http related modules and 'polyfill' to contain bundled polyfill modules for browser target builds | |
Refactoring | externals | modify license, overwritten by mistake at some point | |
Refactoring | externals | add logging when imports are made that require polyfills, but are not configured to be included in the output bundle | |
Refactoring | General | perf (imports): globalize utility imports hash maps as opposed as to recreating new object hashes for every parent class of WpwBase, reduces memory footprint > 300KB [skip ci] |