@d1g1tal/tsbuild 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/dist/{S3D7UW6Z.js → 7G6BAIKH.js} +2 -17
- package/dist/tsbuild.js +16 -16
- package/dist/type-script-project.d.ts +0 -11
- package/dist/type-script-project.js +1 -1
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,45 @@
|
|
|
1
|
+
## [1.9.1](https://github.com/D1g1talEntr0py/tsbuild/compare/v1.9.0...v1.9.1) (2026-06-14)
|
|
2
|
+
|
|
3
|
+
### Performance Improvements
|
|
4
|
+
|
|
5
|
+
* **loader:** improve loader caching key uniqueness and safety (319eb4f938458aa69ccdc71783a8116934769e6a)
|
|
6
|
+
- Add file inode and configuration status metrics to the transformation cache keys
|
|
7
|
+
- Migrate from async block writes to safe, synchronous filesystem writes
|
|
8
|
+
- Recover on-the-fly from zero-byte or corrupt cached module assets
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Code Refactoring
|
|
12
|
+
|
|
13
|
+
* **tsbuild:** remove test-only flush methods and standardize process exit (bebbc91a1516dff7560fd373358496d170f15e60)
|
|
14
|
+
- Avoid direct process.exit calls and handle exit state through process.exitCode
|
|
15
|
+
- Remove the flushBackgroundCleanup project hook, refactoring test suites to poll for output removal instead
|
|
16
|
+
- Simplify dependency path resolution by referencing internal promises directly
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Documentation
|
|
20
|
+
|
|
21
|
+
* refine project guidelines and update copilot instructions (3b7d6bed70d84968be88793897bfa5580931d098)
|
|
22
|
+
- Clean up githooks file permissions and mode headers
|
|
23
|
+
- Condense Copilot instructions into a unified, high-density reference snapshot
|
|
24
|
+
- Document target values and criteria for performance optimization checks
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Miscellaneous Chores
|
|
28
|
+
|
|
29
|
+
* **bench:** remove platform-specific details and introduce non-dts benchmarks (5887e241de3d4c22967030815f3ff548ac445276)
|
|
30
|
+
- Remove platform-specific MAXRSS memory measurements to ensure portable benchmark execution
|
|
31
|
+
- Introduce comparative benchmarks testing tsbuild with decoration emitting disabled
|
|
32
|
+
- Improve child process crash diagnostics and print cleaner terminal result layouts
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Build System
|
|
36
|
+
|
|
37
|
+
* **deps:** upgrade Node engine, package manager, and dependencies (a695f4e2e1a7af8b2036e8ed1f2c766cdcaeb21f)
|
|
38
|
+
- Raise Node.js requirement to >=22.6.0 and pnpm package manager to 11.6.0
|
|
39
|
+
- Upgrade esbuild production dependency to 0.28.1
|
|
40
|
+
- Update multiple devDependencies including ESLint, typescript-eslint, memory-fs, and Vitest
|
|
41
|
+
- Regenerate the lockfile to align with package version bumps
|
|
42
|
+
|
|
1
43
|
## [1.9.0](https://github.com/D1g1talEntr0py/tsbuild/compare/v1.8.10...v1.9.0) (2026-05-23)
|
|
2
44
|
|
|
3
45
|
### Features
|
|
@@ -2683,15 +2683,8 @@ var _TypeScriptProject = class _TypeScriptProject {
|
|
|
2683
2683
|
});
|
|
2684
2684
|
this.pendingStaleOutputsCleanup = cleanup;
|
|
2685
2685
|
}
|
|
2686
|
-
/**
|
|
2687
|
-
* Waits for fire-and-forget stale-output cleanup to settle.
|
|
2688
|
-
* Useful for deterministic tests that need to assert post-cleanup filesystem state.
|
|
2689
|
-
*/
|
|
2690
|
-
async flushBackgroundCleanup() {
|
|
2691
|
-
await this.pendingStaleOutputsCleanup;
|
|
2692
|
-
}
|
|
2693
2686
|
async build() {
|
|
2694
|
-
Logger.header(`${tsLogo} tsbuild v${"1.9.
|
|
2687
|
+
Logger.header(`${tsLogo} tsbuild v${"1.9.1"}${this.configuration.compilerOptions.incremental && this.configuration.buildCache?.isValid() ? " [incremental]" : ""}`);
|
|
2695
2688
|
try {
|
|
2696
2689
|
const processes = [];
|
|
2697
2690
|
const buildCache = this.configuration.buildCache;
|
|
@@ -2799,7 +2792,7 @@ var _TypeScriptProject = class _TypeScriptProject {
|
|
|
2799
2792
|
}
|
|
2800
2793
|
plugins.push(outputPlugin());
|
|
2801
2794
|
if (this.buildConfiguration.noExternal.length > 0) {
|
|
2802
|
-
plugins.push(externalModulesPlugin({ dependencies: await this.
|
|
2795
|
+
plugins.push(externalModulesPlugin({ dependencies: await this.dependencyPaths, noExternal: this.buildConfiguration.noExternal }));
|
|
2803
2796
|
}
|
|
2804
2797
|
if (this.configuration.compilerOptions.emitDecoratorMetadata) {
|
|
2805
2798
|
try {
|
|
@@ -3078,14 +3071,6 @@ var _TypeScriptProject = class _TypeScriptProject {
|
|
|
3078
3071
|
}
|
|
3079
3072
|
return expandedEntryPoints;
|
|
3080
3073
|
}
|
|
3081
|
-
/**
|
|
3082
|
-
* Gets the project dependency paths.
|
|
3083
|
-
* The promise is started in the constructor so it overlaps with TS Program creation.
|
|
3084
|
-
* @returns A promise that resolves to an array of project dependency paths.
|
|
3085
|
-
*/
|
|
3086
|
-
getProjectDependencyPaths() {
|
|
3087
|
-
return this.dependencyPaths;
|
|
3088
|
-
}
|
|
3089
3074
|
/**
|
|
3090
3075
|
* Handles build errors by logging unexpected errors and setting appropriate exit codes.
|
|
3091
3076
|
* Expected build failures (TypeCheckError, BundleError) are already logged when they occur,
|
package/dist/tsbuild.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BuildError,
|
|
4
4
|
TypeScriptProject
|
|
5
|
-
} from "./
|
|
5
|
+
} from "./7G6BAIKH.js";
|
|
6
6
|
import "./XTZ3MYA7.js";
|
|
7
7
|
|
|
8
8
|
// src/tsbuild.ts
|
|
@@ -27,19 +27,19 @@ if (help) {
|
|
|
27
27
|
console.log(` ${`-${short}, --${long}`.padEnd(20)} ${description}`);
|
|
28
28
|
}
|
|
29
29
|
console.log();
|
|
30
|
-
process.
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
30
|
+
process.exitCode = 0;
|
|
31
|
+
} else if (version) {
|
|
32
|
+
console.log("1.9.1");
|
|
33
|
+
process.exitCode = 0;
|
|
34
|
+
} else {
|
|
35
|
+
const typeScriptOptions = {
|
|
36
|
+
clearCache: args.clearCache,
|
|
37
|
+
compilerOptions: { noEmit: args.noEmit },
|
|
38
|
+
tsbuild: { force: args.force, minify: args.minify, watch: { enabled: args.watch } }
|
|
39
|
+
};
|
|
40
|
+
try {
|
|
41
|
+
await new TypeScriptProject(args.project, typeScriptOptions).build();
|
|
42
|
+
} catch (error) {
|
|
43
|
+
process.exitCode = error instanceof BuildError ? error.code : 1;
|
|
44
|
+
}
|
|
45
45
|
}
|
|
@@ -307,11 +307,6 @@ declare class TypeScriptProject implements Closable {
|
|
|
307
307
|
* @param current - Project-relative paths produced by the current build
|
|
308
308
|
*/
|
|
309
309
|
private cleanupStaleOutputs;
|
|
310
|
-
/**
|
|
311
|
-
* Waits for fire-and-forget stale-output cleanup to settle.
|
|
312
|
-
* Useful for deterministic tests that need to assert post-cleanup filesystem state.
|
|
313
|
-
*/
|
|
314
|
-
flushBackgroundCleanup(): Promise<void>;
|
|
315
310
|
/**
|
|
316
311
|
* Builds the project
|
|
317
312
|
* @returns A promise that resolves when the build is complete.
|
|
@@ -361,12 +356,6 @@ declare class TypeScriptProject implements Closable {
|
|
|
361
356
|
* @returns A promise that resolves to the entry points.
|
|
362
357
|
*/
|
|
363
358
|
private getEntryPoints;
|
|
364
|
-
/**
|
|
365
|
-
* Gets the project dependency paths.
|
|
366
|
-
* The promise is started in the constructor so it overlaps with TS Program creation.
|
|
367
|
-
* @returns A promise that resolves to an array of project dependency paths.
|
|
368
|
-
*/
|
|
369
|
-
private getProjectDependencyPaths;
|
|
370
359
|
/**
|
|
371
360
|
* Handles build errors by logging unexpected errors and setting appropriate exit codes.
|
|
372
361
|
* Expected build failures (TypeCheckError, BundleError) are already logged when they occur,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d1g1tal/tsbuild",
|
|
3
3
|
"author": "D1g1talEntr0py",
|
|
4
|
-
"version": "1.9.
|
|
4
|
+
"version": "1.9.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A fast, ESM-only TypeScript build tool combining the TypeScript API for type checking and declaration generation, esbuild for bundling, and SWC for decorator metadata.",
|
|
7
7
|
"homepage": "https://github.com/D1g1talEntr0py/tsbuild#readme",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"engines": {
|
|
22
|
-
"node": ">=22.
|
|
22
|
+
"node": ">=22.6.0"
|
|
23
23
|
},
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"registry": "https://registry.npmjs.org",
|
|
@@ -45,23 +45,23 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@d1g1tal/watchr": "^1.0.6",
|
|
48
|
-
"esbuild": "^0.28.
|
|
48
|
+
"esbuild": "^0.28.1",
|
|
49
49
|
"magic-string": "^0.30.21"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@eslint/js": "^10.0.1",
|
|
53
|
-
"@types/node": "^25.9.
|
|
54
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
55
|
-
"@typescript-eslint/parser": "^8.
|
|
56
|
-
"@vitest/coverage-v8": "^4.1.
|
|
57
|
-
"eslint": "^10.
|
|
58
|
-
"eslint-plugin-jsdoc": "^63.0.
|
|
53
|
+
"@types/node": "^25.9.3",
|
|
54
|
+
"@typescript-eslint/eslint-plugin": "^8.61.0",
|
|
55
|
+
"@typescript-eslint/parser": "^8.61.0",
|
|
56
|
+
"@vitest/coverage-v8": "^4.1.8",
|
|
57
|
+
"eslint": "^10.5.0",
|
|
58
|
+
"eslint-plugin-jsdoc": "^63.0.2",
|
|
59
59
|
"fs-monkey": "^1.1.0",
|
|
60
|
-
"memfs": "^4.57.
|
|
60
|
+
"memfs": "^4.57.7",
|
|
61
61
|
"mitata": "^1.0.34",
|
|
62
62
|
"typescript": "^6.0.3",
|
|
63
|
-
"typescript-eslint": "^8.
|
|
64
|
-
"vitest": "^4.1.
|
|
63
|
+
"typescript-eslint": "^8.61.0",
|
|
64
|
+
"vitest": "^4.1.8"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"typescript": ">=5.6.3"
|