Release notes
Notable changes in each release of fabr. The CLI (@fabr-build/cli), the engine
(@fabr-build/core) and the JavaScript plugin (@fabr-build/js) are released together and share a
version number.
Fabr 0.2.1
@fabr-build/core:
includepaths may now glob (include lib/**/*.fabr;).- Cap maximum concurrent connections + executing processes.
- New ‘fetch’ download source for arbitrary http/https fetching.
- Enable automatic extraction and traversal of archive files.
- Add support for bash extended globs (eg !(expr) ).
- Add support for default targets and default target properties.
- Add support for package renaming using -> rename syntax.
- Add
repository_grouptarget for adding multiple scoped repositories and package overrides. - Detect a plugin that loads its own nested copy of
@fabr-build/core(a broken install) and report it clearly. - Allow rename from wildcard to fixed name (if matched once only)
- Fix: generate command names resolved incorrectly.
- Fix: remove excessive synchronous mkdirs
- Fix: sync targets being unavailable to other build steps.
@fabr-build/js:
- Add a jest compatibility test runner (
JS_TEST_RUNNER = @fabr-build/js-tools/jest-runner;) - Generated package.json now strips build-only fields (devDependencies, scripts, …) from an imported manifest, and emits array metadata (keywords, os, cpu) as JSON arrays.
- Add support for package aliases in external dependencies.
- Add resources (copied as-is) inputs to js_package.
- Add ability to use package members as bundle entry points (like scripts)
- Add ts/experimental_decorators + ts/emit_decorator_metadata flags and cover the rest of the strict flags.
- Emitting below es2015 now also automatically enables downlevelIteration
- Handle package resolution edge cases with missing specified versions.
- Make esModuleInterop: true by default; ts/no_es_module_interop to disable.
- Revise MVS resolution to drop the ‘independent major versions’ concept we accidentally imported from Go.
- Generate resolution repair lists on resolution failures.
- Readd es* flags as source version dependency flags.
- Drop lightningcss; esbuild now handles css modules directly.
- Fix TS source importing local references using full package path.
- Fix esbuild resolver erroring on survivable misses.
- Fix sass errors to report positions in the original sources via source maps.
- Fix assorted dependency resolution issues.
- Fix creating hardlinks in NPM publish tarballs (rejected by NPM)
Fabr 0.1.0
- First release - fully self hosting, with general support for JavaScript and TypeScript.