@checkdigit/typescript-config 9.1.0-PR.71-628b → 9.1.0-PR.71-b661
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/bin/builder.mjs +45 -34
- package/dist-mjs/compile.mjs +4 -35
- package/package.json +1 -1
- package/src/compile.ts +5 -35
package/bin/builder.mjs
CHANGED
@@ -38,6 +38,49 @@ import { promises as fs } from "node:fs";
|
|
38
38
|
import path from "node:path";
|
39
39
|
import typescript from "typescript";
|
40
40
|
import { build } from "esbuild";
|
41
|
+
|
42
|
+
// tsconfig.json
|
43
|
+
var tsconfig_default = {
|
44
|
+
compilerOptions: {
|
45
|
+
module: "esnext",
|
46
|
+
target: "esnext",
|
47
|
+
moduleResolution: "bundler",
|
48
|
+
sourceMap: true,
|
49
|
+
inlineSources: true,
|
50
|
+
declaration: true,
|
51
|
+
removeComments: false,
|
52
|
+
noLib: false,
|
53
|
+
noEmitOnError: false,
|
54
|
+
skipLibCheck: false,
|
55
|
+
types: ["node"],
|
56
|
+
strict: true,
|
57
|
+
preserveConstEnums: true,
|
58
|
+
noImplicitReturns: true,
|
59
|
+
noUnusedLocals: true,
|
60
|
+
noUnusedParameters: true,
|
61
|
+
alwaysStrict: true,
|
62
|
+
verbatimModuleSyntax: true,
|
63
|
+
forceConsistentCasingInFileNames: true,
|
64
|
+
emitDecoratorMetadata: true,
|
65
|
+
experimentalDecorators: true,
|
66
|
+
resolveJsonModule: true,
|
67
|
+
esModuleInterop: true,
|
68
|
+
noUncheckedIndexedAccess: true,
|
69
|
+
noPropertyAccessFromIndexSignature: true,
|
70
|
+
allowUnusedLabels: false,
|
71
|
+
allowUnreachableCode: false,
|
72
|
+
noImplicitOverride: true,
|
73
|
+
useUnknownInCatchVariables: true,
|
74
|
+
exactOptionalPropertyTypes: true,
|
75
|
+
isolatedDeclarations: true,
|
76
|
+
allowImportingTsExtensions: true,
|
77
|
+
noUncheckedSideEffectImports: true,
|
78
|
+
erasableSyntaxOnly: true,
|
79
|
+
libReplacement: false
|
80
|
+
}
|
81
|
+
};
|
82
|
+
|
83
|
+
// src/compile.ts
|
41
84
|
var commonJsCompatabilityBanner = `import { createRequire as __createRequire } from "node:module";
|
42
85
|
import { fileURLToPath as __fileURLToPath } from "node:url";
|
43
86
|
import { default as __path } from "node:path";
|
@@ -110,41 +153,9 @@ async function compile_default({
|
|
110
153
|
);
|
111
154
|
const allSourceFiles = await getFiles(inDir2);
|
112
155
|
const productionSourceFiles = entryPoint2 === void 0 ? allSourceFiles.filter((file) => file.endsWith(".ts")) : [path.join(inDir2, entryPoint2)];
|
156
|
+
const compilerOptions = typescript.parseJsonConfigFileContent(tsconfig_default, typescript.sys, outDir2).options;
|
113
157
|
const program = typescript.createProgram(productionSourceFiles, {
|
114
|
-
|
115
|
-
target: typescript.ScriptTarget.ESNext,
|
116
|
-
moduleResolution: typescript.ModuleResolutionKind.Bundler,
|
117
|
-
sourceMap: true,
|
118
|
-
inlineSources: true,
|
119
|
-
declaration: true,
|
120
|
-
removeComments: false,
|
121
|
-
noLib: false,
|
122
|
-
noEmitOnError: true,
|
123
|
-
skipLibCheck: true,
|
124
|
-
strict: true,
|
125
|
-
preserveConstEnums: true,
|
126
|
-
noImplicitReturns: true,
|
127
|
-
noUnusedLocals: true,
|
128
|
-
noUnusedParameters: true,
|
129
|
-
alwaysStrict: true,
|
130
|
-
verbatimModuleSyntax: true,
|
131
|
-
forceConsistentCasingInFileNames: true,
|
132
|
-
emitDecoratorMetadata: true,
|
133
|
-
experimentalDecorators: true,
|
134
|
-
resolveJsonModule: true,
|
135
|
-
esModuleInterop: true,
|
136
|
-
noUncheckedIndexedAccess: true,
|
137
|
-
noPropertyAccessFromIndexSignature: true,
|
138
|
-
allowUnusedLabels: false,
|
139
|
-
allowUnreachableCode: false,
|
140
|
-
noImplicitOverride: true,
|
141
|
-
useUnknownInCatchVariables: true,
|
142
|
-
exactOptionalPropertyTypes: true,
|
143
|
-
isolatedDeclarations: false,
|
144
|
-
allowImportingTsExtensions: true,
|
145
|
-
noUncheckedSideEffectImports: true,
|
146
|
-
erasableSyntaxOnly: true,
|
147
|
-
libReplacement: false,
|
158
|
+
...compilerOptions,
|
148
159
|
noEmit: type2 !== "types",
|
149
160
|
emitDeclarationOnly: type2 === "types",
|
150
161
|
rootDir: inDir2,
|
package/dist-mjs/compile.mjs
CHANGED
@@ -4,6 +4,7 @@ import { promises as fs } from "node:fs";
|
|
4
4
|
import path from "node:path";
|
5
5
|
import typescript from "typescript";
|
6
6
|
import { build } from "esbuild";
|
7
|
+
import tsConfigJson from "../tsconfig.json" with { type: "json" };
|
7
8
|
var commonJsCompatabilityBanner = `import { createRequire as __createRequire } from "node:module";
|
8
9
|
import { fileURLToPath as __fileURLToPath } from "node:url";
|
9
10
|
import { default as __path } from "node:path";
|
@@ -76,41 +77,9 @@ async function compile_default({
|
|
76
77
|
);
|
77
78
|
const allSourceFiles = await getFiles(inDir);
|
78
79
|
const productionSourceFiles = entryPoint === void 0 ? allSourceFiles.filter((file) => file.endsWith(".ts")) : [path.join(inDir, entryPoint)];
|
80
|
+
const compilerOptions = typescript.parseJsonConfigFileContent(tsConfigJson, typescript.sys, outDir).options;
|
79
81
|
const program = typescript.createProgram(productionSourceFiles, {
|
80
|
-
|
81
|
-
target: typescript.ScriptTarget.ESNext,
|
82
|
-
moduleResolution: typescript.ModuleResolutionKind.Bundler,
|
83
|
-
sourceMap: true,
|
84
|
-
inlineSources: true,
|
85
|
-
declaration: true,
|
86
|
-
removeComments: false,
|
87
|
-
noLib: false,
|
88
|
-
noEmitOnError: true,
|
89
|
-
skipLibCheck: true,
|
90
|
-
strict: true,
|
91
|
-
preserveConstEnums: true,
|
92
|
-
noImplicitReturns: true,
|
93
|
-
noUnusedLocals: true,
|
94
|
-
noUnusedParameters: true,
|
95
|
-
alwaysStrict: true,
|
96
|
-
verbatimModuleSyntax: true,
|
97
|
-
forceConsistentCasingInFileNames: true,
|
98
|
-
emitDecoratorMetadata: true,
|
99
|
-
experimentalDecorators: true,
|
100
|
-
resolveJsonModule: true,
|
101
|
-
esModuleInterop: true,
|
102
|
-
noUncheckedIndexedAccess: true,
|
103
|
-
noPropertyAccessFromIndexSignature: true,
|
104
|
-
allowUnusedLabels: false,
|
105
|
-
allowUnreachableCode: false,
|
106
|
-
noImplicitOverride: true,
|
107
|
-
useUnknownInCatchVariables: true,
|
108
|
-
exactOptionalPropertyTypes: true,
|
109
|
-
isolatedDeclarations: false,
|
110
|
-
allowImportingTsExtensions: true,
|
111
|
-
noUncheckedSideEffectImports: true,
|
112
|
-
erasableSyntaxOnly: true,
|
113
|
-
libReplacement: false,
|
82
|
+
...compilerOptions,
|
114
83
|
noEmit: type !== "types",
|
115
84
|
emitDeclarationOnly: type === "types",
|
116
85
|
rootDir: inDir,
|
@@ -190,4 +159,4 @@ async function compile_default({
|
|
190
159
|
export {
|
191
160
|
compile_default as default
|
192
161
|
};
|
193
|
-
//# sourceMappingURL=data:application/json;base64,
|
162
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NvbXBpbGUudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBRUEsU0FBUyxVQUFVLGNBQWM7QUFDakMsU0FBUyxZQUFZLFVBQVU7QUFDL0IsT0FBTyxVQUFVO0FBRWpCLE9BQU8sZ0JBQWdCO0FBQ3ZCLFNBQVMsYUFBK0I7QUFFeEMsT0FBTyxrQkFBa0IsbUJBQW1CLEtBQUssRUFBRSxNQUFNLE9BQU87QUFFaEUsSUFBTSw4QkFBOEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0hwQyxlQUFlLFNBQVMsV0FBc0M7QUFDNUQsUUFBTSxVQUFVLE1BQU0sR0FBRyxRQUFRLFdBQVcsRUFBRSxlQUFlLEtBQUssQ0FBQztBQUNuRSxRQUFNLFFBQVEsTUFBTSxRQUFRO0FBQUEsSUFDMUIsUUFBUSxJQUFJLENBQUMsVUFBVTtBQUNyQixZQUFNLFNBQVMsS0FBSyxRQUFRLFdBQVcsTUFBTSxJQUFJO0FBQ2pELGFBQU8sTUFBTSxZQUFZLElBQUksU0FBUyxNQUFNLElBQUk7QUFBQSxJQUNsRCxDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU8sTUFBTSxLQUFLO0FBQ3BCO0FBRUEsU0FBUyxrQkFBa0IsUUFBZ0I7QUFDekMsU0FBTyxDQUFDLGdCQUE2QjtBQUVuQyxnQkFBWSxPQUFPLEVBQUUsT0FBTyxHQUFHLE9BQU8sU0FBUztBQUM3QyxVQUFJLEtBQUssS0FBSyxTQUFTLEtBQUssS0FBSyxLQUFLLEtBQUssU0FBUyxNQUFNLEdBQUc7QUFDM0QsZUFBTztBQUFBLFVBQ0wsVUFBVSxHQUFHLE1BQU0sR0FBRztBQUFBLFlBQ3BCLEtBQUs7QUFBQSxZQUNMO0FBQUEsVUFDRixDQUFDO0FBQUE7QUFBQSxVQUNELFFBQVE7QUFBQSxRQUNWO0FBQUEsTUFDRjtBQUNBLGFBQU87QUFBQSxJQUNULENBQUM7QUFBQSxFQUNIO0FBQ0Y7QUFFQSxTQUFTLHlCQUF5QjtBQUNoQyxTQUFPLENBQUMsZ0JBQTZCO0FBRW5DLGdCQUFZLFVBQVUsRUFBRSxRQUFRLE1BQU0sR0FBRyxPQUFPLGFBQWE7QUFDM0QsVUFDRSxTQUFTLFNBQVMsaUJBQ2xCLENBQUMsU0FBUyxLQUFLLFdBQVcsR0FBRyxLQUM3QixTQUFTLEtBQUssU0FBUyxLQUFLLEtBQzVCLFNBQVMsS0FBSyxTQUFTLE9BQU8sR0FDOUI7QUFDQSxlQUFPLEVBQUUsVUFBVSxTQUFTLFNBQVMsY0FBYztBQUFBLE1BQ3JEO0FBQ0EsVUFBSSxjQUFjO0FBQ2xCLFVBQUk7QUFDRixjQUFNLFFBQVEsTUFBTSxHQUFHLE1BQU0sS0FBSyxLQUFLLFNBQVMsWUFBWSxTQUFTLElBQUksQ0FBQztBQUMxRSxzQkFBYyxNQUFNLFlBQVk7QUFBQSxNQUNsQyxRQUFRO0FBQUEsTUFFUjtBQUNBLFVBQUksVUFBVSxTQUFTO0FBQ3ZCLGlCQUFXLGNBQWMsZUFBZTtBQUV4QyxVQUFJLFFBQVEsU0FBUyxTQUFTLEdBQUc7QUFDL0Isa0JBQVUsR0FBRyxRQUFRLE1BQU0sR0FBRyxDQUFDLFVBQVUsTUFBTSxDQUFDO0FBQUEsTUFDbEQ7QUFDQSxhQUFPLEVBQUUsTUFBTSxTQUFTLFVBQVUsS0FBSztBQUFBLElBQ3pDLENBQUM7QUFBQSxFQUNIO0FBQ0Y7QUFHQSxlQUFPLGdCQUF3QjtBQUFBLEVBQzdCO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0EsV0FBVyxDQUFDO0FBQUEsRUFDWixTQUFTO0FBQUEsRUFDVDtBQUFBLEVBQ0EsbUJBQW1CLFFBQVEsSUFBSTtBQUNqQyxHQUEyQztBQUN6QyxRQUFNLFdBQXFCLENBQUM7QUFFNUIsU0FBTztBQUFBLElBQ0osZUFBZSxVQUFhLFlBQVksVUFBZSxlQUFlLFVBQWEsWUFBWTtBQUFBLElBQ2hHO0FBQUEsRUFDRjtBQUVBLFFBQU0saUJBQWlCLE1BQU0sU0FBUyxLQUFLO0FBQzNDLFFBQU0sd0JBQ0osZUFBZSxTQUFZLGVBQWUsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sVUFBVSxDQUFDO0FBS2xILFFBQU0sa0JBQWtCLFdBQVcsMkJBQTJCLGNBQWMsV0FBVyxLQUFLLE1BQU0sRUFBRTtBQUNwRyxRQUFNLFVBQVUsV0FBVyxjQUFjLHVCQUF1QjtBQUFBLElBQzlELEdBQUc7QUFBQSxJQUNILFFBQVEsU0FBUztBQUFBLElBQ2pCLHFCQUFxQixTQUFTO0FBQUEsSUFDOUIsU0FBUztBQUFBLElBQ1Q7QUFBQSxFQUNGLENBQUM7QUFDRCxRQUFNLG1CQUFpQyxDQUFDO0FBQ3hDLFFBQU0sYUFBYSxRQUFRLEtBQUssUUFBVyxDQUFDLFVBQVUsU0FBUztBQUM3RCxxQkFBaUIsS0FBSyxFQUFFLE1BQU0sVUFBVSxNQUFNLEtBQUssQ0FBQztBQUFBLEVBQ3RELENBQUM7QUFDRCxRQUFNLGlCQUFpQixXQUFXLDhCQUE4QjtBQUFBLElBQzlELEdBQUcsV0FBVyxzQkFBc0IsT0FBTztBQUFBLElBQzNDLEdBQUcsV0FBVztBQUFBLEVBQ2hCLENBQUM7QUFDRCxhQUFXLGNBQWMsZ0JBQWdCO0FBQ3ZDLFFBQUksV0FBVyxNQUFNO0FBQ25CLGFBQU8sR0FBRyxXQUFXLFVBQVUsTUFBUztBQUN4QyxZQUFNLEVBQUUsTUFBTSxVQUFVLElBQUksV0FBVyw4QkFBOEIsV0FBVyxNQUFNLFdBQVcsS0FBSztBQUN0RyxZQUFNLFVBQVUsV0FBVyw2QkFBNkIsV0FBVyxhQUFhLElBQUk7QUFDcEYsZUFBUyxLQUFLLFFBQVEsV0FBVyxLQUFLLFFBQVEsS0FBSyxPQUFPLENBQUMsSUFBSSxZQUFZLENBQUMsTUFBTSxPQUFPLEVBQUU7QUFBQSxJQUM3RixPQUFPO0FBQ0wsZUFBUyxLQUFLLFFBQVEsV0FBVyw2QkFBNkIsV0FBVyxhQUFhLElBQUksQ0FBQyxFQUFFO0FBQUEsSUFDL0Y7QUFBQSxFQUNGO0FBRUEsTUFBSSxTQUFTLFNBQVMsR0FBRztBQUN2QixVQUFNLElBQUksTUFBTSxjQUFjLEtBQUssVUFBVSxRQUFRLENBQUMsRUFBRTtBQUFBLEVBQzFEO0FBRUEsTUFBSSxTQUFTLFNBQVM7QUFDcEIsV0FBTztBQUFBLE1BQ0wsYUFBYTtBQUFBLElBQ2Y7QUFBQSxFQUNGO0FBS0EsUUFBTSxjQUFjLE1BQU0sTUFBTTtBQUFBLElBQzlCLGFBQWE7QUFBQSxJQUNiLFFBQVE7QUFBQSxJQUNSO0FBQUEsSUFDQSxlQUFlO0FBQUEsSUFDZixVQUFVO0FBQUEsSUFDVixRQUFRO0FBQUEsSUFDUixhQUFhO0FBQUEsSUFDYixPQUFPO0FBQUEsSUFDUCxVQUFVLFlBQVk7QUFBQSxJQUN0QixnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixRQUNFLFlBQVksU0FDUixDQUFDLElBQ0Q7QUFBQSxNQUNFLElBQUk7QUFBQSxJQUNOO0FBQUEsSUFDTixXQUFXLGNBQWMsT0FBTyxXQUFXO0FBQUEsSUFDM0MsR0FBSSxZQUFZLFNBQ1o7QUFBQTtBQUFBLE1BRUUsUUFBUTtBQUFBLE1BQ1IsY0FBYyxFQUFFLE9BQU8sT0FBTztBQUFBLE1BQzlCLFNBQVM7QUFBQSxRQUNQO0FBQUEsVUFDRSxNQUFNO0FBQUEsVUFDTixPQUFPLHVCQUF1QjtBQUFBLFFBQ2hDO0FBQUEsTUFDRjtBQUFBLElBQ0YsSUFDQTtBQUFBO0FBQUEsTUFFRSxTQUFTLEtBQUssS0FBSyxRQUFRLE9BQU87QUFBQSxNQUNsQyxlQUFlO0FBQUEsTUFDZjtBQUFBLE1BQ0EsU0FBUztBQUFBLFFBQ1A7QUFBQSxVQUNFLE1BQU07QUFBQSxVQUNOLE9BQU8sa0JBQWtCLGVBQWU7QUFBQSxRQUMxQztBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDTixDQUFDO0FBRUQsV0FBUyxLQUFLLEdBQUcsWUFBWSxPQUFPLElBQUksQ0FBQyxVQUFVLGtCQUFrQixNQUFNLElBQUksRUFBRSxDQUFDO0FBQ2xGLE1BQUksU0FBUyxTQUFTLEdBQUc7QUFDdkIsVUFBTSxJQUFJLE1BQU0sa0JBQWtCLEtBQUssVUFBVSxRQUFRLENBQUMsRUFBRTtBQUFBLEVBQzlEO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"@checkdigit/typescript-config","version":"9.1.0-PR.71-
|
1
|
+
{"name":"@checkdigit/typescript-config","version":"9.1.0-PR.71-b661","description":"Check Digit standard Typescript configuration","homepage":"https://github.com/checkdigit/typescript-config#readme","bugs":{"url":"https://github.com/checkdigit/typescript-config/issues"},"repository":{"type":"git","url":"git+https://github.com/checkdigit/typescript-config.git"},"license":"MIT","author":"Check Digit, LLC","type":"module","exports":{".":{"types":"./dist-types/index.d.ts","import":"./dist-mjs/index.mjs","default":"./tsconfig.json"}},"bin":{"builder":"./bin/builder.mjs"},"files":["bin","tsconfig.json","src","dist-types","dist-mjs","!src/**/test/**","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/test/**","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-mjs/**/test/**","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"],"scripts":{"build":"npm run build:builder && npm run build:types && npm run build:mjs && npm run build:mjs-bundle && npm run build:mjs-bundle-minify && npm run build:mjs-bundle-no-external","build:builder":"esbuild src/builder.ts --bundle --platform=node --format=esm --external:typescript --external:esbuild --outfile=build-builder/builder.mjs && mkdir -p bin && { echo '#!/usr/bin/env node'; cat build-builder/builder.mjs; } > bin/builder.mjs && chmod +x bin/builder.mjs","build:dist-mjs":"rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs","build:dist-types":"rimraf dist-types && npx builder --type=types --outDir=dist-types","build:mjs":"rimraf build-mjs && bin/builder.mjs --type=module --outDir=build-mjs","build:mjs-bundle":"rimraf build-mjs-bundle && bin/builder.mjs --type=module --outDir=build-mjs-bundle --entryPoint=test/index.ts --outFile=test/index.mjs","build:mjs-bundle-minify":"rimraf build-mjs-bundle-minify && bin/builder.mjs --type=module --minify --outDir=build-mjs-bundle-minify --entryPoint=test/index.ts --outFile=test/index.mjs","build:mjs-bundle-no-external":"rimraf build-mjs-bundle-no-external && bin/builder.mjs --type=module --external=./node_modules/* --outDir=build-mjs-bundle-no-external --entryPoint=test/index.ts --outFile=test/index.mjs --minify","build:types":"rimraf build-types && bin/builder.mjs --type=types --outDir=build-types","ci:compile":"tsc --noEmit --rootDir src","ci:lint":"npm run lint","ci:style":"npm run prettier","ci:test":"npm run build && npm run test:node-mjs && npm run test:mjs && npm run test:mjs-bundle && npm run test:mjs-bundle-no-external","lint":"eslint --max-warnings 0 .","lint:fix":"eslint . --fix","prepare":"","prepublishOnly":"npm run build:builder && npm run build:dist-types && npm run build:dist-mjs","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style","test:mjs":"node --test build-mjs/test/index.mjs","test:mjs-bundle":"node --test build-mjs-bundle/test/index.mjs","test:mjs-bundle-minify":"node --test build-mjs-bundle-minify/test/index.mjs","test:mjs-bundle-no-external":"node --test build-mjs-bundle-no-external/test/index.mjs","test:node-mjs":"node --disable-warning ExperimentalWarning --experimental-strip-types --test-timeout 600000 --test \"src/**/*.spec.ts\""},"prettier":"@checkdigit/prettier-config","devDependencies":{"@checkdigit/prettier-config":"^6.1.0","@eslint/js":"^9.19.0","@eslint/json":"^0.10.0","@eslint/markdown":"^6.2.2","@types/uuid":"^10.0.0","@typescript-eslint/parser":"^8.23.0","eslint":"^9.19.0","eslint-config-prettier":"^10.0.1","eslint-plugin-jest":"^28.11.0","eslint-plugin-yml":"^1.16.0","rimraf":"^6.0.1","typescript-eslint":"^8.23.0","uuid":"^11.0.5"},"peerDependencies":{"@swc-node/register":"1.10.9","@types/node":">=22","esbuild":"0.24.2","typescript":"5.8.0-beta"},"engines":{"node":">=22.11"},"overrides":{"typescript":"5.8.0-beta"}}
|
package/src/compile.ts
CHANGED
@@ -7,6 +7,8 @@ import path from 'node:path';
|
|
7
7
|
import typescript from 'typescript';
|
8
8
|
import { build, type PluginBuild } from 'esbuild';
|
9
9
|
|
10
|
+
import tsConfigJson from '../tsconfig.json' with { type: 'json' };
|
11
|
+
|
10
12
|
const commonJsCompatabilityBanner = `import { createRequire as __createRequire } from "node:module";
|
11
13
|
import { fileURLToPath as __fileURLToPath } from "node:url";
|
12
14
|
import { default as __path } from "node:path";
|
@@ -206,43 +208,11 @@ export default async function ({
|
|
206
208
|
entryPoint === undefined ? allSourceFiles.filter((file) => file.endsWith('.ts')) : [path.join(inDir, entryPoint)];
|
207
209
|
|
208
210
|
/**
|
209
|
-
* Emit declarations using
|
211
|
+
* Emit declarations using TypeScript compiler if the type is 'types'. Otherwise, compile to ensure the build is good.
|
210
212
|
*/
|
213
|
+
const compilerOptions = typescript.parseJsonConfigFileContent(tsConfigJson, typescript.sys, outDir).options;
|
211
214
|
const program = typescript.createProgram(productionSourceFiles, {
|
212
|
-
|
213
|
-
target: typescript.ScriptTarget.ESNext,
|
214
|
-
moduleResolution: typescript.ModuleResolutionKind.Bundler,
|
215
|
-
sourceMap: true,
|
216
|
-
inlineSources: true,
|
217
|
-
declaration: true,
|
218
|
-
removeComments: false,
|
219
|
-
noLib: false,
|
220
|
-
noEmitOnError: true,
|
221
|
-
skipLibCheck: true,
|
222
|
-
strict: true,
|
223
|
-
preserveConstEnums: true,
|
224
|
-
noImplicitReturns: true,
|
225
|
-
noUnusedLocals: true,
|
226
|
-
noUnusedParameters: true,
|
227
|
-
alwaysStrict: true,
|
228
|
-
verbatimModuleSyntax: true,
|
229
|
-
forceConsistentCasingInFileNames: true,
|
230
|
-
emitDecoratorMetadata: true,
|
231
|
-
experimentalDecorators: true,
|
232
|
-
resolveJsonModule: true,
|
233
|
-
esModuleInterop: true,
|
234
|
-
noUncheckedIndexedAccess: true,
|
235
|
-
noPropertyAccessFromIndexSignature: true,
|
236
|
-
allowUnusedLabels: false,
|
237
|
-
allowUnreachableCode: false,
|
238
|
-
noImplicitOverride: true,
|
239
|
-
useUnknownInCatchVariables: true,
|
240
|
-
exactOptionalPropertyTypes: true,
|
241
|
-
isolatedDeclarations: false,
|
242
|
-
allowImportingTsExtensions: true,
|
243
|
-
noUncheckedSideEffectImports: true,
|
244
|
-
erasableSyntaxOnly: true,
|
245
|
-
libReplacement: false,
|
215
|
+
...compilerOptions,
|
246
216
|
noEmit: type !== 'types',
|
247
217
|
emitDeclarationOnly: type === 'types',
|
248
218
|
rootDir: inDir,
|