@checkdigit/typescript-config 10.1.1-PR.92-f210 → 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,8 +260,6 @@ async function compile_default({
227
260
  platform: "node",
228
261
  format: "esm",
229
262
  treeShaking: true,
230
- tsconfigRaw: {},
231
- // we don't need esbuild dealing with typing issues
232
263
  write: false,
233
264
  metafile: outFile2 !== void 0,
234
265
  sourcesContent: false,
@@ -253,6 +284,10 @@ async function compile_default({
253
284
  legalComments: "none",
254
285
  external: external2,
255
286
  plugins: [
287
+ {
288
+ name: "resolve-runtime-temporal-polyfill",
289
+ setup: resolveRuntimeTemporalPolyfill(external2)
290
+ },
256
291
  {
257
292
  name: "exclude-source-maps",
258
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,8 +170,6 @@ async function compile_default({
137
170
  platform: "node",
138
171
  format: "esm",
139
172
  treeShaking: true,
140
- tsconfigRaw: {},
141
- // we don't need esbuild dealing with typing issues
142
173
  write: false,
143
174
  metafile: outFile !== void 0,
144
175
  sourcesContent: false,
@@ -163,6 +194,10 @@ async function compile_default({
163
194
  legalComments: "none",
164
195
  external,
165
196
  plugins: [
197
+ {
198
+ name: "resolve-runtime-temporal-polyfill",
199
+ setup: resolveRuntimeTemporalPolyfill(external)
200
+ },
166
201
  {
167
202
  name: "exclude-source-maps",
168
203
  // Note: the /u flag cannot be used here because the underlying Go implementation does not support it
@@ -183,4 +218,4 @@ async function compile_default({
183
218
  export {
184
219
  compile_default as default
185
220
  };
186
- //# sourceMappingURL=data:application/json;base64,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TUFDL0U7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUVBLE1BQUksU0FBUyxTQUFTLEdBQUc7QUFDdkIsVUFBTSxJQUFJLE1BQU0sY0FBYyxLQUFLLFVBQVUsUUFBUSxDQUFDLEVBQUU7QUFBQSxFQUMxRDtBQUVBLE1BQUksU0FBUyxTQUFTO0FBQ3BCLFdBQU87QUFBQSxNQUNMLGFBQWE7QUFBQSxJQUNmO0FBQUEsRUFDRjtBQUtBLFFBQU0sY0FBYyxNQUFNLE1BQU07QUFBQSxJQUM5QixhQUFhO0FBQUEsSUFDYixRQUFRO0FBQUEsSUFDUjtBQUFBLElBQ0EsZUFBZTtBQUFBLElBQ2YsVUFBVTtBQUFBLElBQ1YsUUFBUTtBQUFBLElBQ1IsYUFBYTtBQUFBLElBQ2IsYUFBYSxDQUFDO0FBQUE7QUFBQSxJQUNkLE9BQU87QUFBQSxJQUNQLFVBQVUsWUFBWTtBQUFBLElBQ3RCLGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFFBQ0UsWUFBWSxTQUNSLENBQUMsSUFDRDtBQUFBLE1BQ0UsSUFBSTtBQUFBLElBQ047QUFBQSxJQUNOLFdBQVcsY0FBYyxPQUFPLFdBQVc7QUFBQSxJQUMzQyxHQUFJLFlBQVksU0FDWjtBQUFBO0FBQUEsTUFFRSxRQUFRO0FBQUEsTUFDUixjQUFjLEVBQUUsT0FBTyxPQUFPO0FBQUEsTUFDOUIsU0FBUztBQUFBLFFBQ1A7QUFBQSxVQUNFLE1BQU07QUFBQSxVQUNOLE9BQU8sdUJBQXVCO0FBQUEsUUFDaEM7QUFBQSxNQUNGO0FBQUEsSUFDRixJQUNBO0FBQUE7QUFBQSxNQUVFLFNBQVMsS0FBSyxLQUFLLFFBQVEsT0FBTztBQUFBLE1BQ2xDLGVBQWU7QUFBQSxNQUNmO0FBQUEsTUFDQSxTQUFTO0FBQUEsUUFDUDtBQUFBLFVBQ0UsTUFBTTtBQUFBO0FBQUE7QUFBQSxVQUdOLE9BQU8sa0JBQWtCLGNBQWM7QUFBQSxRQUN6QztBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDTixDQUFDO0FBRUQsV0FBUztBQUFBLElBQ1AsR0FBRyxZQUFZLE9BQU8sSUFBSSxDQUFDLFVBQVUsa0JBQWtCLE1BQU0sSUFBSSxFQUFFO0FBQUEsRUFDckU7QUFDQSxNQUFJLFNBQVMsU0FBUyxHQUFHO0FBQ3ZCLFVBQU0sSUFBSSxNQUFNLGtCQUFrQixLQUFLLFVBQVUsUUFBUSxDQUFDLEVBQUU7QUFBQSxFQUM5RDtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
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-f210","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,7 +333,6 @@ export default async function ({
281
333
  platform: 'node',
282
334
  format: 'esm',
283
335
  treeShaking: true,
284
- tsconfigRaw: {}, // we don't need esbuild dealing with typing issues
285
336
  write: false,
286
337
  metafile: outFile !== undefined,
287
338
  sourcesContent: false,
@@ -311,6 +362,10 @@ export default async function ({
311
362
  legalComments: 'none',
312
363
  external,
313
364
  plugins: [
365
+ {
366
+ name: 'resolve-runtime-temporal-polyfill',
367
+ setup: resolveRuntimeTemporalPolyfill(external),
368
+ },
314
369
  {
315
370
  name: 'exclude-source-maps',
316
371
  // Note: the /u flag cannot be used here because the underlying Go implementation does not support it