@checkdigit/typescript-config 10.1.1-PR.92-fcbe → 10.1.1-PR.92-d314

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 CHANGED
@@ -49,6 +49,7 @@ function analyze(metafile) {
49
49
  // src/compile.ts
50
50
  import { strict as assert2 } from "node:assert";
51
51
  import { promises as fs } from "node:fs";
52
+ import module from "node:module";
52
53
  import path from "node:path";
53
54
  import { fileURLToPath } from "node:url";
54
55
  import typescript from "typescript";
@@ -152,6 +153,38 @@ function resolveTypescriptPaths() {
152
153
  });
153
154
  };
154
155
  }
156
+ function getTemporalPolyfillModulePath({
157
+ exports
158
+ }) {
159
+ return exports?.["."]?.find((entry) => entry.import?.default !== void 0)?.import?.default;
160
+ }
161
+ function resolveRuntimeTemporalPolyfill(external2) {
162
+ return (pluginBuild) => {
163
+ pluginBuild.onResolve(
164
+ // Note: the /u flag cannot be used here because the underlying Go implementation does not support it
165
+ // eslint-disable-next-line require-unicode-regexp
166
+ { filter: /^@js-temporal\/polyfill$/ },
167
+ async (resolved) => {
168
+ const packageJsonPath = module.findPackageJSON(
169
+ resolved.path,
170
+ resolved.resolveDir
171
+ );
172
+ assert2.ok(packageJsonPath !== void 0);
173
+ if (external2.includes("./node_modules/*")) {
174
+ return { path: resolved.path, external: true };
175
+ }
176
+ const packageJson = JSON.parse(
177
+ await fs.readFile(packageJsonPath, "utf8")
178
+ );
179
+ const modulePath = getTemporalPolyfillModulePath(packageJson);
180
+ assert2.ok(modulePath !== void 0);
181
+ return {
182
+ path: path.join(path.dirname(packageJsonPath), modulePath)
183
+ };
184
+ }
185
+ );
186
+ };
187
+ }
155
188
  async function compile_default({
156
189
  type: type2,
157
190
  entryPoint: entryPoint2,
@@ -227,12 +260,6 @@ async function compile_default({
227
260
  platform: "node",
228
261
  format: "esm",
229
262
  treeShaking: true,
230
- tsconfigRaw: {
231
- compilerOptions: {
232
- paths: {}
233
- // clear paths so "@js-temporal/polyfill" is not rewritten
234
- }
235
- },
236
263
  write: false,
237
264
  metafile: outFile2 !== void 0,
238
265
  sourcesContent: false,
@@ -257,6 +284,10 @@ async function compile_default({
257
284
  legalComments: "none",
258
285
  external: external2,
259
286
  plugins: [
287
+ {
288
+ name: "resolve-runtime-temporal-polyfill",
289
+ setup: resolveRuntimeTemporalPolyfill(external2)
290
+ },
260
291
  {
261
292
  name: "exclude-source-maps",
262
293
  // Note: the /u flag cannot be used here because the underlying Go implementation does not support it
@@ -1,6 +1,7 @@
1
1
  // src/compile.ts
2
2
  import { strict as assert } from "node:assert";
3
3
  import { promises as fs } from "node:fs";
4
+ import module from "node:module";
4
5
  import path from "node:path";
5
6
  import { fileURLToPath } from "node:url";
6
7
  import typescript from "typescript";
@@ -62,6 +63,38 @@ function resolveTypescriptPaths() {
62
63
  });
63
64
  };
64
65
  }
66
+ function getTemporalPolyfillModulePath({
67
+ exports
68
+ }) {
69
+ return exports?.["."]?.find((entry) => entry.import?.default !== void 0)?.import?.default;
70
+ }
71
+ function resolveRuntimeTemporalPolyfill(external) {
72
+ return (pluginBuild) => {
73
+ pluginBuild.onResolve(
74
+ // Note: the /u flag cannot be used here because the underlying Go implementation does not support it
75
+ // eslint-disable-next-line require-unicode-regexp
76
+ { filter: /^@js-temporal\/polyfill$/ },
77
+ async (resolved) => {
78
+ const packageJsonPath = module.findPackageJSON(
79
+ resolved.path,
80
+ resolved.resolveDir
81
+ );
82
+ assert.ok(packageJsonPath !== void 0);
83
+ if (external.includes("./node_modules/*")) {
84
+ return { path: resolved.path, external: true };
85
+ }
86
+ const packageJson = JSON.parse(
87
+ await fs.readFile(packageJsonPath, "utf8")
88
+ );
89
+ const modulePath = getTemporalPolyfillModulePath(packageJson);
90
+ assert.ok(modulePath !== void 0);
91
+ return {
92
+ path: path.join(path.dirname(packageJsonPath), modulePath)
93
+ };
94
+ }
95
+ );
96
+ };
97
+ }
65
98
  async function compile_default({
66
99
  type,
67
100
  entryPoint,
@@ -137,12 +170,6 @@ async function compile_default({
137
170
  platform: "node",
138
171
  format: "esm",
139
172
  treeShaking: true,
140
- tsconfigRaw: {
141
- compilerOptions: {
142
- paths: {}
143
- // clear paths so "@js-temporal/polyfill" is not rewritten
144
- }
145
- },
146
173
  write: false,
147
174
  metafile: outFile !== void 0,
148
175
  sourcesContent: false,
@@ -167,6 +194,10 @@ async function compile_default({
167
194
  legalComments: "none",
168
195
  external,
169
196
  plugins: [
197
+ {
198
+ name: "resolve-runtime-temporal-polyfill",
199
+ setup: resolveRuntimeTemporalPolyfill(external)
200
+ },
170
201
  {
171
202
  name: "exclude-source-maps",
172
203
  // Note: the /u flag cannot be used here because the underlying Go implementation does not support it
@@ -187,4 +218,4 @@ async function compile_default({
187
218
  export {
188
219
  compile_default as default
189
220
  };
190
- //# sourceMappingURL=data:application/json;base64,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
221
+ //# sourceMappingURL=data:application/json;base64,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
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@checkdigit/typescript-config","version":"10.1.1-PR.92-fcbe","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=index.test.ts --outFile=index.test.mjs","build:mjs-bundle-minify":"rimraf build-mjs-bundle-minify && bin/builder.mjs --type=module --minify --outDir=build-mjs-bundle-minify --entryPoint=index.test.ts --outFile=index.test.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=index.test.ts --outFile=index.test.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 && npm run test:mjs && npm run test:mjs-bundle && npm run test:mjs-bundle-no-external","lint":"eslint . --max-warnings=0 --concurrency=auto","lint:fix":"eslint . --fix --concurrency=auto","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/index.test.mjs","test:mjs-bundle-minify":"node --test build-mjs-bundle-minify/index.test.mjs","test:mjs-bundle-no-external":"node --test build-mjs-bundle-no-external/index.test.mjs","test:node":"node --disable-warning ExperimentalWarning --experimental-strip-types --test-timeout 600000 --test \"src/**/*.spec.ts\""},"prettier":"@checkdigit/prettier-config","devDependencies":{"@checkdigit/prettier-config":"^8.0.0","@eslint/js":"^9.39.4","@eslint/json":"^2.0.0","@eslint/markdown":"^8.0.2","@js-temporal/polyfill":"^0.5.1","eslint":"^9.39.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import":"^2.32.0","eslint-plugin-yml":"^3.5.0","rimraf":"^6.1.3","typescript-eslint":"^8.62.0"},"peerDependencies":{"@swc-node/register":"1.11.1","@types/node":">=24","esbuild":"0.28.1","oxc-resolver":"11.13.2","typescript":">=6.0.3 <7"},"engines":{"node":">=24.14.1 <25 || >=26"}}
1
+ {"name":"@checkdigit/typescript-config","version":"10.1.1-PR.92-d314","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=index.test.ts --outFile=index.test.mjs","build:mjs-bundle-minify":"rimraf build-mjs-bundle-minify && bin/builder.mjs --type=module --minify --outDir=build-mjs-bundle-minify --entryPoint=index.test.ts --outFile=index.test.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=index.test.ts --outFile=index.test.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 && npm run test:mjs && npm run test:mjs-bundle && npm run test:mjs-bundle-no-external","lint":"eslint . --max-warnings=0 --concurrency=auto","lint:fix":"eslint . --fix --concurrency=auto","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/index.test.mjs","test:mjs-bundle-minify":"node --test build-mjs-bundle-minify/index.test.mjs","test:mjs-bundle-no-external":"node --test build-mjs-bundle-no-external/index.test.mjs","test:node":"node --disable-warning ExperimentalWarning --experimental-strip-types --test-timeout 600000 --test \"src/**/*.spec.ts\""},"prettier":"@checkdigit/prettier-config","devDependencies":{"@checkdigit/prettier-config":"^8.0.0","@eslint/js":"^9.39.4","@eslint/json":"^2.0.0","@eslint/markdown":"^8.0.2","@js-temporal/polyfill":"^0.5.1","eslint":"^9.39.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import":"^2.32.0","eslint-plugin-yml":"^3.5.0","rimraf":"^6.1.3","typescript-eslint":"^8.62.0"},"peerDependencies":{"@swc-node/register":"1.11.1","@types/node":">=24","esbuild":"0.28.1","oxc-resolver":"11.13.2","typescript":">=6.0.3 <7"},"engines":{"node":">=24.14.1 <25 || >=26"}}
package/src/compile.ts CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { strict as assert } from 'node:assert';
4
4
  import { promises as fs } from 'node:fs';
5
+ import module from 'node:module';
5
6
  import path from 'node:path';
6
7
  import { fileURLToPath } from 'node:url';
7
8
 
@@ -189,6 +190,57 @@ function resolveTypescriptPaths() {
189
190
  };
190
191
  }
191
192
 
193
+ /**
194
+ * The Temporal polyfill handling can be removed once Node 26 becomes minimum version
195
+ */
196
+ interface TemporalPolyfillPackageJson {
197
+ exports?: {
198
+ '.'?: {
199
+ import?: {
200
+ default?: string;
201
+ };
202
+ }[];
203
+ };
204
+ }
205
+
206
+ function getTemporalPolyfillModulePath({
207
+ exports,
208
+ }: TemporalPolyfillPackageJson): string | undefined {
209
+ return exports?.['.']?.find((entry) => entry.import?.default !== undefined)
210
+ ?.import?.default;
211
+ }
212
+
213
+ function resolveRuntimeTemporalPolyfill(external: string[]) {
214
+ return (pluginBuild: PluginBuild) => {
215
+ pluginBuild.onResolve(
216
+ // Note: the /u flag cannot be used here because the underlying Go implementation does not support it
217
+ // eslint-disable-next-line require-unicode-regexp
218
+ { filter: /^@js-temporal\/polyfill$/ },
219
+ async (resolved) => {
220
+ const packageJsonPath = module.findPackageJSON(
221
+ resolved.path,
222
+ resolved.resolveDir,
223
+ );
224
+
225
+ assert.ok(packageJsonPath !== undefined);
226
+ if (external.includes('./node_modules/*')) {
227
+ return { path: resolved.path, external: true };
228
+ }
229
+
230
+ const packageJson = JSON.parse(
231
+ await fs.readFile(packageJsonPath, 'utf8'),
232
+ ) as TemporalPolyfillPackageJson;
233
+ const modulePath = getTemporalPolyfillModulePath(packageJson);
234
+
235
+ assert.ok(modulePath !== undefined);
236
+ return {
237
+ path: path.join(path.dirname(packageJsonPath), modulePath),
238
+ };
239
+ },
240
+ );
241
+ };
242
+ }
243
+
192
244
  // eslint-disable-next-line max-lines-per-function
193
245
  export default async function ({
194
246
  type,
@@ -281,11 +333,6 @@ export default async function ({
281
333
  platform: 'node',
282
334
  format: 'esm',
283
335
  treeShaking: true,
284
- tsconfigRaw: {
285
- compilerOptions: {
286
- paths: {}, // clear paths so "@js-temporal/polyfill" is not rewritten
287
- },
288
- },
289
336
  write: false,
290
337
  metafile: outFile !== undefined,
291
338
  sourcesContent: false,
@@ -315,6 +362,10 @@ export default async function ({
315
362
  legalComments: 'none',
316
363
  external,
317
364
  plugins: [
365
+ {
366
+ name: 'resolve-runtime-temporal-polyfill',
367
+ setup: resolveRuntimeTemporalPolyfill(external),
368
+ },
318
369
  {
319
370
  name: 'exclude-source-maps',
320
371
  // Note: the /u flag cannot be used here because the underlying Go implementation does not support it