Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c66a941aaf | |||
| a3b58dda39 | |||
| 4b29107130 | |||
| 09adbc1965 | |||
| 7fb571d4f6 | |||
| 6b32dced5a |
22
changelog.md
22
changelog.md
@@ -1,5 +1,27 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-11-17 - 3.1.0 - feat(tsbuild.classes)
|
||||||
|
Update default TypeScript lib to lib.esnext.d.ts
|
||||||
|
|
||||||
|
- Changed default compilerOptions.lib from ['lib.dom.d.ts', 'lib.es2022.d.ts'] to ['lib.dom.d.ts', 'lib.esnext.d.ts'] in compilerOptionsDefault.
|
||||||
|
- Allows newer ECMAScript/DOM features by default when compiling with tsbuild (affects emitted types and available globals).
|
||||||
|
- Behavioral default change only — no public API changes; callers can still override lib via tsconfig, programmatic options, or CLI.
|
||||||
|
|
||||||
|
## 2025-11-17 - 3.0.0 - BREAKING CHANGE(TsBuild)
|
||||||
|
Stop forcing emitDecoratorMetadata in protected compiler defaults
|
||||||
|
|
||||||
|
- Removed emitDecoratorMetadata from the set of protected/critical default compiler options.
|
||||||
|
- Projects that relied on tsbuild automatically enabling emitDecoratorMetadata (for DI frameworks like NestJS, TypeORM, Inversify) must now enable it explicitly in their tsconfig.json or via programmatic/CLI options.
|
||||||
|
- No other protected defaults were changed; outDir, noEmitOnError, declaration and inlineSourceMap remain enforced.
|
||||||
|
- Behavior is now more permissive: decorator metadata generation is controlled by user configuration rather than being forced by tsbuild.
|
||||||
|
|
||||||
|
## 2025-11-17 - 2.7.3 - fix(tsbuild.classes)
|
||||||
|
Remove duplicate emitDecoratorMetadata from default compiler options and centralize it in protected defaults
|
||||||
|
|
||||||
|
- Removed emitDecoratorMetadata from compilerOptionsDefault in ts/tsbuild.classes.tsbuild.ts to avoid duplicate configuration.
|
||||||
|
- emitDecoratorMetadata remains enforced via getCriticalDefaults(), ensuring decorator metadata support is protected from tsconfig.json overrides.
|
||||||
|
- Prevents inconsistencies during compiler option merging by centralizing the decorator-related setting.
|
||||||
|
|
||||||
## 2025-11-17 - 2.7.2 - fix(compilerOptions)
|
## 2025-11-17 - 2.7.2 - fix(compilerOptions)
|
||||||
Remove experimentalDecorators and useDefineForClassFields from default TypeScript compiler options
|
Remove experimentalDecorators and useDefineForClassFields from default TypeScript compiler options
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@git.zone/tsbuild",
|
"name": "@git.zone/tsbuild",
|
||||||
"version": "2.7.2",
|
"version": "3.1.0",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "A tool for compiling TypeScript files using the latest nightly features, offering flexible APIs and a CLI for streamlined development.",
|
"description": "A tool for compiling TypeScript files using the latest nightly features, offering flexible APIs and a CLI for streamlined development.",
|
||||||
"main": "dist_ts/index.js",
|
"main": "dist_ts/index.js",
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@git.zone/tsbuild',
|
name: '@git.zone/tsbuild',
|
||||||
version: '2.7.2',
|
version: '3.1.0',
|
||||||
description: 'A tool for compiling TypeScript files using the latest nightly features, offering flexible APIs and a CLI for streamlined development.'
|
description: 'A tool for compiling TypeScript files using the latest nightly features, offering flexible APIs and a CLI for streamlined development.'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,14 +18,13 @@ export interface IErrorSummary {
|
|||||||
*/
|
*/
|
||||||
export const compilerOptionsDefault: CompilerOptions = {
|
export const compilerOptionsDefault: CompilerOptions = {
|
||||||
declaration: true,
|
declaration: true,
|
||||||
emitDecoratorMetadata: true,
|
|
||||||
inlineSourceMap: true,
|
inlineSourceMap: true,
|
||||||
noEmitOnError: true,
|
noEmitOnError: true,
|
||||||
outDir: 'dist_ts/',
|
outDir: 'dist_ts/',
|
||||||
module: plugins.typescript.ModuleKind.NodeNext,
|
module: plugins.typescript.ModuleKind.NodeNext,
|
||||||
target: plugins.typescript.ScriptTarget.ESNext,
|
target: plugins.typescript.ScriptTarget.ESNext,
|
||||||
moduleResolution: plugins.typescript.ModuleResolutionKind.NodeNext,
|
moduleResolution: plugins.typescript.ModuleResolutionKind.NodeNext,
|
||||||
lib: ['lib.dom.d.ts', 'lib.es2022.d.ts'],
|
lib: ['lib.dom.d.ts', 'lib.esnext.d.ts'],
|
||||||
noImplicitAny: false, // Allow implicit any by default
|
noImplicitAny: false, // Allow implicit any by default
|
||||||
esModuleInterop: true,
|
esModuleInterop: true,
|
||||||
verbatimModuleSyntax: true,
|
verbatimModuleSyntax: true,
|
||||||
@@ -131,7 +130,6 @@ export class TsBuild {
|
|||||||
outDir: 'dist_ts/', // Required for path transformation logic
|
outDir: 'dist_ts/', // Required for path transformation logic
|
||||||
noEmitOnError: true, // Build integrity - prevent broken builds
|
noEmitOnError: true, // Build integrity - prevent broken builds
|
||||||
declaration: true, // Library consumers depend on .d.ts files
|
declaration: true, // Library consumers depend on .d.ts files
|
||||||
emitDecoratorMetadata: true, // Required for dependency injection frameworks
|
|
||||||
inlineSourceMap: true, // Consistent debugging experience
|
inlineSourceMap: true, // Consistent debugging experience
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user