@d1g1tal/tsbuild 1.7.3 → 1.7.4

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 CHANGED
@@ -1,3 +1,21 @@
1
+ ## [1.7.4](https://github.com/D1g1talEntr0py/tsbuild/compare/v1.7.3...v1.7.4) (2026-04-06)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **typescript:** address regression where 'noEmit' would not catch all type errors (ece0de27a4e3019c3dfc437e40894b61a7ac04a3)
6
+ - collect syntatic, semantic, and declaration diagnostics independently when 'noEmit' is true
7
+ - emit correctly within 'noEmit' mode to guarantee the incrementally updated tsbuildinfo cache is correctly generated
8
+ - adjoin extensive test coverage evaluating diagnostic consistency against varied declaration violations
9
+
10
+
11
+ ### Code Refactoring
12
+
13
+ * **types:** add explicit return types to support isolateddeclarations (ca0b2ee7757de487a5bf64d36fd346faf35adba4)
14
+ - add explicit return types to functions across constants, decorators, and internal libraries
15
+ - annotate return types on file manager, cache, logger, process manager, and path utilities
16
+ - ensure process manager exit handler properly invokes close on registered instances
17
+ - update typescript configuration to enable isolateddeclarations for the project
18
+
1
19
  ## [1.7.3](https://github.com/D1g1talEntr0py/tsbuild/compare/v1.7.2...v1.7.3) (2026-04-04)
2
20
 
3
21
  ### Bug Fixes
@@ -2137,7 +2137,7 @@ var _TypeScriptProject = class _TypeScriptProject {
2137
2137
  return Files.empty(this.buildConfiguration.outDir);
2138
2138
  }
2139
2139
  async build() {
2140
- Logger.header(`${tsLogo} tsbuild v${"1.7.3"}${this.configuration.compilerOptions.incremental && this.configuration.buildCache?.isValid() ? " [incremental]" : ""}`);
2140
+ Logger.header(`${tsLogo} tsbuild v${"1.7.4"}${this.configuration.compilerOptions.incremental && this.configuration.buildCache?.isValid() ? " [incremental]" : ""}`);
2141
2141
  try {
2142
2142
  const processes = [];
2143
2143
  const filesWereEmitted = await this.typeCheck();
@@ -2175,19 +2175,36 @@ var _TypeScriptProject = class _TypeScriptProject {
2175
2175
  }
2176
2176
  async typeCheck() {
2177
2177
  await this.fileManager.initialize();
2178
- performance2.mark("emit:start");
2179
- const { diagnostics: emitDiagnostics } = this.builderProgram.emit(void 0, this.fileManager.fileWriter, void 0, true);
2180
- addPerformanceStep("Emit", _TypeScriptProject.elapsed("emit:start"));
2181
- performance2.mark("diagnostics:start");
2182
- const allDiagnostics = [...this.builderProgram.getSemanticDiagnostics(), ...emitDiagnostics];
2183
- addPerformanceStep("Diagnostics", _TypeScriptProject.elapsed("diagnostics:start"));
2178
+ let allDiagnostics;
2179
+ if (this.configuration.compilerOptions.noEmit) {
2180
+ performance2.mark("diagnostics:start");
2181
+ allDiagnostics = [
2182
+ ...this.builderProgram.getConfigFileParsingDiagnostics(),
2183
+ ...this.builderProgram.getOptionsDiagnostics(),
2184
+ ...this.builderProgram.getSyntacticDiagnostics(),
2185
+ ...this.builderProgram.getGlobalDiagnostics(),
2186
+ ...this.builderProgram.getSemanticDiagnostics(),
2187
+ ...this.configuration.compilerOptions.declaration ? this.builderProgram.getDeclarationDiagnostics() : []
2188
+ ];
2189
+ addPerformanceStep("Diagnostics", _TypeScriptProject.elapsed("diagnostics:start"));
2190
+ performance2.mark("emit:start");
2191
+ this.builderProgram.emit(void 0, this.fileManager.fileWriter, void 0, true);
2192
+ addPerformanceStep("Emit", _TypeScriptProject.elapsed("emit:start"));
2193
+ } else {
2194
+ performance2.mark("emit:start");
2195
+ const { diagnostics } = this.builderProgram.emit(void 0, this.fileManager.fileWriter, void 0, true);
2196
+ addPerformanceStep("Emit", _TypeScriptProject.elapsed("emit:start"));
2197
+ performance2.mark("diagnostics:start");
2198
+ allDiagnostics = [...this.builderProgram.getSemanticDiagnostics(), ...diagnostics];
2199
+ addPerformanceStep("Diagnostics", _TypeScriptProject.elapsed("diagnostics:start"));
2200
+ }
2184
2201
  if (allDiagnostics.length > 0) {
2185
2202
  _TypeScriptProject.handleTypeErrors("Type-checking failed", allDiagnostics, this.directory);
2186
2203
  }
2187
2204
  performance2.mark("finalize:start");
2188
- const result = this.fileManager.finalize();
2205
+ const emitted = this.fileManager.finalize();
2189
2206
  addPerformanceStep("Finalize", _TypeScriptProject.elapsed("finalize:start"));
2190
- return result || !this.configuration.compilerOptions.declaration;
2207
+ return emitted || !this.configuration.compilerOptions.declaration;
2191
2208
  }
2192
2209
  async transpile() {
2193
2210
  const plugins = [outputPlugin()];
package/dist/tsbuild.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  BuildError,
4
4
  TypeScriptProject
5
- } from "./FK6GUMLW.js";
5
+ } from "./HRIICYC4.js";
6
6
  import "./JKGYA2AW.js";
7
7
 
8
8
  // src/tsbuild.ts
@@ -30,7 +30,7 @@ if (help) {
30
30
  process.exit(0);
31
31
  }
32
32
  if (version) {
33
- console.log("1.7.3");
33
+ console.log("1.7.4");
34
34
  process.exit(0);
35
35
  }
36
36
  var typeScriptOptions = {
@@ -286,6 +286,7 @@ declare class TypeScriptProject implements Closable {
286
286
  clean(): Promise<void>;
287
287
  /**
288
288
  * Builds the project
289
+ * @returns A promise that resolves when the build is complete.
289
290
  */
290
291
  build(): Promise<void>;
291
292
  /**
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TypeScriptProject
3
- } from "./FK6GUMLW.js";
3
+ } from "./HRIICYC4.js";
4
4
  import "./JKGYA2AW.js";
5
5
  export {
6
6
  TypeScriptProject
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@d1g1tal/tsbuild",
3
3
  "author": "D1g1talEntr0py",
4
- "version": "1.7.3",
4
+ "version": "1.7.4",
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",