Release notes follow the keep a changelog format.
- TBA
- TBA
- TBA
- TBA
Compilation with selected addons but no targets does not apply addons to emitted output. This release fixes the issue and improves the lifecycle of the AddonRegistry.
- Fixes Issue 51 Compilation with selected addons but no targets does not apply addons to emitted output.
Bugfix release to address an issue with the compiler does not transpile any output when no target is specified
- Fixes Issue 49 Running the compiler w/ available 'addons' but w/o 'target' does not transpile any output"
- Improves lifecycle of AddonRegistry. No need to call
refresh()
from AddonRegistry instantiation
Bugfix release to address an issue with the webpack loader configuration and the websmith options to activate an addon.
- Fixes Issue 45 "Webpack loader requires 'addons' property in loader config and websmith options to activate an addon
- Method calls for retrieving addons need to include a target parameter (e.g., getAvailableAddons())
- Refining the logic for handling targets, compilationConfig and loaderOptions in webpack override properties from config files.
- Adding documentation comments to explain the use of configuration options
New package @quatico/websmith-testing
for testing compiler customization and addons with Jest. The package simplifies compiler testing significantly. You can setup the typescript compiler, customize settings, add addons, and compile various projects within 5 lines of code.
- Adds new package
@quatico/websmith-testing
for testing the websmith compiler - Provides tests for example addons using the new testing package
- Adds README.md for the new testing API package
- Provides watch mode for Browser FS with watchDirectory and watchFile capabilities
- Upgrades all package dependencies to the latest versions
- Replaces BDD tests with E2E Addon example tests
- Fixes an issue where projects from custom source paths are copied into a separate directory in the buildDir
- Fixes skipped tests
Bugfix release to address an issue with missing compiler executable.
- Fixes npm package
bin
entry for the compiler executable
Bugfix release to address an issue with workspace internal dependencies with publishing npm packages.
- Fixes an issue with unresolved
workspace:
dependencies in published packages
Bugfix release to address an issue with publishing the npm packages.
- Fixes an issue with the
publish-npm
target for github release pipeline
In this version, we've migrated the project from yarn to pnpm to improve the dependency management and build process. We've also updated the dependencies to the latest versions, including eslint and typescript.
- Fixes an CLI issue with duplicated shorthand parameter. The transpileOnly flag is now set to '-o'.
- Fixes a documentation issue with a broken link in the README of
@quatico/websmith-api
.
- Upgrades build environment for development and pipelines to node 20 with pnpm
- Introduces new E2E testing package for webpack tests
@quatico/websmith-webpack-test
- Upgrades eslint to version 9 and flat config, updates Idea and VSCode settings for eslint and prettier
- Upgrades all package dependencies
- Major version upgrade of all package dependencies.
- Replace dependency on
typescript
with peer dependency. - Unifies build commands across packages.
In this version, we've improved the dependencies and build process of all packages. We updated the defaults to use EsNext modules by default. We also improved the test setup and execution.
- Target "watch:test" now runs tests in watch mode.
- Change defaults of websmith to use ESNext modules by default.
- jest runs tests without verbose output.
- Removes paths configs from tsconfig.json of all packages.
In this version, we've improved the documentation of published packages. Most importantly we ship an overview of working examples on how to write websmith addons for different use cases.
- README.md of compiler package to improve compiler usage documentation.
- README.md of api package to introduction to websmith api.
- README.md of webpack package to improve webpack usage documentation.
- README.md of core package to clarify the purpose of the package.
- README.md of examples package to provide an overview of working examples on how to write websmith addons for different use cases.
With this version, the usage of the BrowserSystem is deprecated. It is planned to remove it with version 1.0.0 which will cease support for a system based virtual filesystem.
- Mono repository internal dependency now use single pinned versions.
- Removal of custom ts.CompilerHost to address compile error logging regarding typescript lib.d.ts files and resulting type resolution lookups.
- No longer collect preEmitDiagnostics with transpileOnly active
- @quatico/websmith-core is public again and no longer bundled due to yarn 1.x inability to install bundled dependencies correctly.
- Corrects bundling of websmith-core in websmith-compiler and websmith-webpack.
- Webpack module correctly processes webpack config options.
- Asset dependencies can now be registered through AddonContext using addAssetDependency.
- Support transpile only in webpack and cli, speeding up compile and watch by a factor of 20.
- The package @quatico/websmith-cli is now @quatico/websmith-compiler.
- The original @quatico/websmith-compiler dependency is now bundled.
- Expose API required for custom implementations through @quatico/websmith-compiler and @quatico/websmith-webpack.
- Upgrade Module loader implementation to Webpack 5.
- Upgrade Module loader implementation to Webpack 5.
- Support for thread-loader and fork-ts-checker-webpack-plugin
- Addon based processing pipeline with Generator, Processor, Transformer and Result Processor stages.
- ClI package for running the compiler of configurable CLI.
- Webpack plugin for running the compiler as part of a webpack build.
- Documentation: New 'Getting started' and 'Writing your own addons' documentation added