@prosopo/config 3.3.6 → 3.3.8

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.
Files changed (66) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +8 -7
  2. package/.turbo/turbo-build$colon$tsc.log +4 -4
  3. package/.turbo/turbo-build.log +9 -8
  4. package/CHANGELOG.md +20 -0
  5. package/dist/cjs/index.cjs +2 -0
  6. package/dist/cjs/vite/index.cjs +2 -0
  7. package/dist/cjs/vite/vite-plugin-modify-exports-files.cjs +43 -0
  8. package/dist/cjs/vite/vite.frontend.config.cjs +6 -1
  9. package/dist/cjs/vite/vite.test.config.cjs +3 -1
  10. package/dist/dependencies.test.d.ts +2 -0
  11. package/dist/dependencies.test.d.ts.map +1 -0
  12. package/dist/dependencies.test.js +160 -0
  13. package/dist/dependencies.test.js.map +1 -0
  14. package/dist/getDependencies.test.d.ts +2 -0
  15. package/dist/getDependencies.test.d.ts.map +1 -0
  16. package/dist/getDependencies.test.js +258 -0
  17. package/dist/getDependencies.test.js.map +1 -0
  18. package/dist/index.js +2 -1
  19. package/dist/vite/bundleConfigs.test.d.ts +2 -0
  20. package/dist/vite/bundleConfigs.test.d.ts.map +1 -0
  21. package/dist/vite/bundleConfigs.test.js +252 -0
  22. package/dist/vite/bundleConfigs.test.js.map +1 -0
  23. package/dist/vite/configs.test.d.ts +2 -0
  24. package/dist/vite/configs.test.d.ts.map +1 -0
  25. package/dist/vite/configs.test.js +163 -0
  26. package/dist/vite/configs.test.js.map +1 -0
  27. package/dist/vite/index.d.ts +1 -0
  28. package/dist/vite/index.d.ts.map +1 -1
  29. package/dist/vite/index.js +2 -1
  30. package/dist/vite/index.js.map +1 -1
  31. package/dist/vite/modifyExportsFiles.test.d.ts +2 -0
  32. package/dist/vite/modifyExportsFiles.test.d.ts.map +1 -0
  33. package/dist/vite/modifyExportsFiles.test.js +28 -0
  34. package/dist/vite/modifyExportsFiles.test.js.map +1 -0
  35. package/dist/vite/plugins.test.d.ts +2 -0
  36. package/dist/vite/plugins.test.d.ts.map +1 -0
  37. package/dist/vite/plugins.test.js +232 -0
  38. package/dist/vite/plugins.test.js.map +1 -0
  39. package/dist/vite/translations.test.d.ts +2 -0
  40. package/dist/vite/translations.test.d.ts.map +1 -0
  41. package/dist/vite/translations.test.js +96 -0
  42. package/dist/vite/translations.test.js.map +1 -0
  43. package/dist/vite/vite-plugin-modify-exports-files.d.ts +4 -0
  44. package/dist/vite/vite-plugin-modify-exports-files.d.ts.map +1 -0
  45. package/dist/vite/vite-plugin-modify-exports-files.js +42 -0
  46. package/dist/vite/vite-plugin-modify-exports-files.js.map +1 -0
  47. package/dist/vite/vite.frontend.config.d.ts.map +1 -1
  48. package/dist/vite/vite.frontend.config.js +6 -1
  49. package/dist/vite/vite.frontend.config.js.map +1 -1
  50. package/dist/vite/vite.test.config.d.ts.map +1 -1
  51. package/dist/vite/vite.test.config.js +3 -1
  52. package/dist/vite/vite.test.config.js.map +1 -1
  53. package/package.json +3 -2
  54. package/src/dependencies.test.ts +249 -0
  55. package/src/getDependencies.test.ts +385 -0
  56. package/src/vite/bundleConfigs.test.ts +405 -0
  57. package/src/vite/configs.test.ts +217 -0
  58. package/src/vite/index.ts +1 -0
  59. package/src/vite/modifyExportsFiles.test.ts +56 -0
  60. package/src/vite/plugins.test.ts +348 -0
  61. package/src/vite/translations.test.ts +164 -0
  62. package/src/vite/vite-plugin-modify-exports-files.ts +64 -0
  63. package/src/vite/vite.frontend.config.ts +13 -0
  64. package/src/vite/vite.test.config.ts +5 -0
  65. package/tsconfig.tsbuildinfo +1 -1
  66. package/vite.test.config.ts +37 -0
@@ -0,0 +1,4 @@
1
+ import type { Plugin } from "vite";
2
+ export declare const emptyExportsFiles: (code: string) => string;
3
+ export default function modifyExportsFilesPlugin(): Plugin;
4
+ //# sourceMappingURL=vite-plugin-modify-exports-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-modify-exports-files.d.ts","sourceRoot":"","sources":["../../src/vite/vite-plugin-modify-exports-files.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAkBnC,eAAO,MAAM,iBAAiB,SAAU,MAAM,KAAG,MAkBhD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,wBAAwB,IAAI,MAAM,CAYzD"}
@@ -0,0 +1,42 @@
1
+ //#region src/vite/vite-plugin-modify-exports-files.ts
2
+ /**
3
+ * Empties the generated `exports2.FILES` array in every emitted chunk so that
4
+ * bundled file listings are not leaked into the output.
5
+ */
6
+ var ASSIGNMENT = "exports2.FILES = [";
7
+ var TERMINATOR = "];";
8
+ var REPLACEMENT = "exports2.FILES = [];\n";
9
+ /**
10
+ * Blank every `exports2.FILES = [...]` assignment in a chunk.
11
+ *
12
+ * Done with indexOf rather than a regex: `\[[\s\S]*?\];` backtracks
13
+ * quadratically on a chunk holding many unterminated assignments, and chunk
14
+ * contents are whatever the bundled sources happened to contain. Scanning
15
+ * forward is linear regardless.
16
+ */
17
+ var emptyExportsFiles = (code) => {
18
+ let out = "";
19
+ let cursor = 0;
20
+ for (;;) {
21
+ const start = code.indexOf(ASSIGNMENT, cursor);
22
+ if (start === -1) break;
23
+ const end = code.indexOf(TERMINATOR, start + 18);
24
+ if (end === -1) break;
25
+ out += code.slice(cursor, start) + REPLACEMENT;
26
+ cursor = end + 2;
27
+ }
28
+ return out + code.slice(cursor);
29
+ };
30
+ function modifyExportsFilesPlugin() {
31
+ return {
32
+ name: "modify-exports-files",
33
+ generateBundle(_options, bundle) {
34
+ for (const fileName in bundle) {
35
+ const chunk = bundle[fileName];
36
+ if (chunk && chunk.type === "chunk") chunk.code = emptyExportsFiles(chunk.code);
37
+ }
38
+ }
39
+ };
40
+ }
41
+ //#endregion
42
+ export { modifyExportsFilesPlugin as default, emptyExportsFiles };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-modify-exports-files.js","sourceRoot":"","sources":["../../src/vite/vite-plugin-modify-exports-files.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,GAAG,oBAAoB,CAAC;AACxC,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAU7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE;IACzD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,SAAS,CAAC;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM;QACP,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YAGhB,MAAM;QACP,CAAC;QACD,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC;QAC/C,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,wBAAwB;IAC/C,OAAO;QACN,IAAI,EAAE,sBAAsB;QAC5B,cAAc,CAAC,QAAQ,EAAE,MAAM;YAC9B,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrC,KAAK,CAAC,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;YACF,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite.frontend.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,yBACC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,aAAa,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC,CAuPrB"}
1
+ {"version":3,"file":"vite.frontend.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,yBACC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,aAAa,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC,CAoQrB"}
@@ -121,7 +121,12 @@ async function vite_frontend_config_default(packageName, bundleName, dir, entry,
121
121
  watch: false,
122
122
  output: {
123
123
  dir: path.resolve(dir, "dist/bundle"),
124
- entryFileNames: `${bundleName}.bundle.js`
124
+ entryFileNames: `${bundleName}.bundle.js`,
125
+ ...isProduction ? { minify: {
126
+ compress: true,
127
+ mangle: true,
128
+ codegen: true
129
+ } } : {}
125
130
  },
126
131
  plugins: [
127
132
  css(),
@@ -1 +1 @@
1
- {"version":3,"file":"vite.frontend.config.js","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite.frontend.config.js","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite.test.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC,EAAE,MAAM,6BA8F7C"}
1
+ {"version":3,"file":"vite.test.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC,EAAE,MAAM,6BAmG7C"}
@@ -25,7 +25,9 @@ function vite_test_config_default(tsConfigPath) {
25
25
  "src/**/*.test.ts",
26
26
  "src/**/*.spec.ts",
27
27
  "src/**/*.test.tsx",
28
- "src/**/*.spec.tsx"
28
+ "src/**/*.spec.tsx",
29
+ "src/**/*.test-d.ts",
30
+ "src/**/*.test-d.tsx"
29
31
  ] : [
30
32
  "**/tests/**/*",
31
33
  "**/*.d.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"vite.test.config.js","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite.test.config.js","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AACrE,OAAO,0BAA0B,MAAM,oCAAoC,CAAC;AAE5E,MAAM,CAAC,OAAO,WAAW,YAAqB;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAGnE,MAAM,YAAY,GACjB,SAAS,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;QACjD,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAUxD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,oBAAoB,GACzB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC7C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAItC,MAAM,eAAe,GAAG,oBAAoB;QAC3C,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC;QAChE,CAAC,CAAC,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,oBAAoB;QAC3C,CAAC,CAAC;YACA,gBAAgB;YAChB,eAAe;YACf,kBAAkB;YAClB,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YAInB,oBAAoB;YACpB,qBAAqB;SACrB;QACF,CAAC,CAAC;YACA,eAAe;YACf,WAAW;YACX,aAAa;YACb,aAAa;YACb,oBAAoB;YACpB,YAAY;SACZ,CAAC;IACJ,MAAM,OAAO,GAAG,WAAW,YAAY,gDAAgD,CAAC;IACxF,MAAM,OAAO,GAAG;QACf,0BAA0B,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACxD,sBAAsB,EAAE;KACxB,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,YAAY,CAAC;QACnB,KAAK,EAAE;YACN,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE;gBACd,MAAM,EAAE;oBACP,SAAS,EAAE,KAAK;iBAChB;aACD;SACD;QACD,IAAI,EAAE;YAIL,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC,OAAO,CAAC;YAClB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC;YAC7C,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE;gBACT,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,eAAe;gBACxB,OAAO,EAAE,eAAe;aACxB;YACD,SAAS,EAAE;gBACV,OAAO,EAAE,IAAI;aACb;YACD,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE;gBACT,OAAO,EAAE,IAAI;aACb;YACD,WAAW,EAAE,KAAK;SAClB;QACD,OAAO,EAAE,OAAO;KAChB,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/config",
3
- "version": "3.3.6",
3
+ "version": "3.3.8",
4
4
  "description": "Prosopo config library",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -9,7 +9,8 @@
9
9
  "build:tsc": "tsc --build --verbose",
10
10
  "build:cjs": "NODE_ENV=${NODE_ENV:-production}; vite build --config vite.cjs.config.ts --mode $NODE_ENV",
11
11
  "clean": "del-cli --verbose dist tsconfig.tsbuildinfo",
12
- "typecheck": "tsc --project tsconfig.types.json"
12
+ "typecheck": "tsc --project tsconfig.types.json",
13
+ "test": "NODE_ENV=${NODE_ENV:-test}; npx vitest run --config ./vite.test.config.ts --mode $NODE_ENV"
13
14
  },
14
15
  "engines": {
15
16
  "node": "^24",
@@ -0,0 +1,249 @@
1
+ // Copyright 2021-2026 Prosopo (UK) Ltd.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ import fs from "node:fs";
16
+ import os from "node:os";
17
+ import path from "node:path";
18
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
19
+ import {
20
+ filterDependencies,
21
+ getExternalsFromReferences,
22
+ getTsConfigs,
23
+ } from "./dependencies.js";
24
+
25
+ let root: string;
26
+
27
+ /** Write a tsconfig, and optionally a sibling package.json, under `root`. */
28
+ const writeProject = (
29
+ dir: string,
30
+ references: string[],
31
+ packageName?: string,
32
+ ): string => {
33
+ const absolute = path.join(root, dir);
34
+ fs.mkdirSync(absolute, { recursive: true });
35
+ const tsConfigPath = path.join(absolute, "tsconfig.json");
36
+ fs.writeFileSync(
37
+ tsConfigPath,
38
+ JSON.stringify({ references: references.map((p) => ({ path: p })) }),
39
+ );
40
+ if (packageName) {
41
+ fs.writeFileSync(
42
+ path.join(absolute, "package.json"),
43
+ JSON.stringify({ name: packageName }),
44
+ );
45
+ }
46
+ return tsConfigPath;
47
+ };
48
+
49
+ beforeEach(() => {
50
+ root = fs.mkdtempSync(path.join(os.tmpdir(), "prosopo-config-test-"));
51
+ });
52
+
53
+ afterEach(() => {
54
+ fs.rmSync(root, { recursive: true, force: true });
55
+ });
56
+
57
+ describe("getTsConfigs", () => {
58
+ it("returns just the starting config when it has no references", () => {
59
+ const entry = writeProject("a", []);
60
+ expect(getTsConfigs(entry)).toEqual([entry]);
61
+ });
62
+
63
+ it("returns nothing when the starting config is excluded and has no references", () => {
64
+ const entry = writeProject("a", []);
65
+ expect(getTsConfigs(entry, [], [], false)).toEqual([]);
66
+ });
67
+
68
+ it("walks references transitively", () => {
69
+ const c = writeProject("c", []);
70
+ const b = writeProject("b", ["../c"]);
71
+ const a = writeProject("a", ["../b"]);
72
+
73
+ expect(getTsConfigs(a, [/nothing-matches/], []).sort()).toEqual(
74
+ [a, b, c].sort(),
75
+ );
76
+ });
77
+
78
+ it("skips references matching an ignore pattern, and everything under them", () => {
79
+ writeProject("keep", []);
80
+ writeProject("skip", []);
81
+ const a = writeProject("a", ["../keep/", "../skip/"]);
82
+
83
+ expect(getTsConfigs(a, [/skip/], [])).toEqual([
84
+ a,
85
+ path.join(root, "keep", "tsconfig.json"),
86
+ ]);
87
+ });
88
+
89
+ it("builds the ignore expression from the stringified patterns, delimiters included", () => {
90
+ // `ignorePatterns.join("|")` calls `toString()` on each RegExp, so the
91
+ // enclosing slashes end up in the pattern. `/skip/` therefore matches
92
+ // the *path segment* "/skip/" rather than the bare word, which is why
93
+ // callers pass directory-shaped patterns.
94
+ writeProject("skip", []);
95
+ const a = writeProject("a", ["../skip"]);
96
+
97
+ // No trailing slash on the reference, so "/skip/" does not match and
98
+ // the reference is followed after all.
99
+ expect(getTsConfigs(a, [/skip/], [])).toHaveLength(2);
100
+ });
101
+
102
+ it("drops every reference when no ignore pattern is given", () => {
103
+ writeProject("b", []);
104
+ const a = writeProject("a", ["../b"]);
105
+ expect(getTsConfigs(a)).toEqual([a]);
106
+ });
107
+
108
+ it("appends tsconfig.json to a reference that names a directory", () => {
109
+ writeProject("b", []);
110
+ const a = writeProject("a", ["../b"]);
111
+ expect(getTsConfigs(a, [/\.\./], [])).toContain(
112
+ path.join(root, "b", "tsconfig.json"),
113
+ );
114
+ });
115
+
116
+ it("honours a reference that names a config file explicitly", () => {
117
+ fs.mkdirSync(path.join(root, "b"), { recursive: true });
118
+ const explicit = path.join(root, "b", "tsconfig.build.json");
119
+ fs.writeFileSync(explicit, JSON.stringify({ references: [] }));
120
+ const a = writeProject("a", ["../b/tsconfig.build.json"]);
121
+
122
+ expect(getTsConfigs(a, [/\.\./], [])).toContain(explicit);
123
+ });
124
+
125
+ it("does not loop forever on a reference cycle", () => {
126
+ // A cycle in the project graph would otherwise recurse until the stack
127
+ // blew, which is a build hang rather than a readable error.
128
+ const a = path.join(root, "a", "tsconfig.json");
129
+ const b = path.join(root, "b", "tsconfig.json");
130
+ writeProject("a", ["../b"]);
131
+ writeProject("b", ["../a"]);
132
+
133
+ expect(getTsConfigs(a, [/\.\./], []).sort()).toEqual([a, b].sort());
134
+ });
135
+
136
+ it("visits a diamond dependency only once", () => {
137
+ writeProject("d", []);
138
+ writeProject("b", ["../d"]);
139
+ writeProject("c", ["../d"]);
140
+ const a = writeProject("a", ["../b", "../c"]);
141
+
142
+ const result = getTsConfigs(a, [/\.\./], []);
143
+ expect(new Set(result).size).toBe(result.length);
144
+ expect(result).toHaveLength(4);
145
+ });
146
+
147
+ it("keeps configs that were already accumulated", () => {
148
+ const existing = "/already/seen/tsconfig.json";
149
+ const a = writeProject("a", []);
150
+ expect(getTsConfigs(a, [], [existing])).toEqual([existing, a]);
151
+ });
152
+
153
+ it("returns the accumulator untouched when the config was already seen", () => {
154
+ const a = writeProject("a", []);
155
+ expect(getTsConfigs(a, [], [a])).toEqual([a]);
156
+ });
157
+
158
+ it("throws for a config path that does not exist", () => {
159
+ expect(() => getTsConfigs(path.join(root, "missing.json"))).toThrow();
160
+ });
161
+
162
+ it("throws for a config that is not valid JSON", () => {
163
+ const broken = path.join(root, "broken.json");
164
+ fs.writeFileSync(broken, "{ not json");
165
+ expect(() => getTsConfigs(broken)).toThrow();
166
+ });
167
+ });
168
+
169
+ describe("getExternalsFromReferences", () => {
170
+ it("returns the package name of every referenced project", async () => {
171
+ writeProject("b", [], "@prosopo/b");
172
+ writeProject("c", [], "@prosopo/c");
173
+ const a = writeProject("a", ["../b", "../c"], "@prosopo/a");
174
+
175
+ // The starting project is excluded, so a package never externalises
176
+ // itself.
177
+ await expect(getExternalsFromReferences(a, [/\.\./])).resolves.toEqual([
178
+ "@prosopo/b",
179
+ "@prosopo/c",
180
+ ]);
181
+ });
182
+
183
+ it("returns nothing when there are no followed references", async () => {
184
+ const a = writeProject("a", [], "@prosopo/a");
185
+ await expect(getExternalsFromReferences(a)).resolves.toEqual([]);
186
+ });
187
+
188
+ it("rejects when a referenced project has no package.json", async () => {
189
+ writeProject("b", []);
190
+ const a = writeProject("a", ["../b"], "@prosopo/a");
191
+ await expect(getExternalsFromReferences(a, [/\.\./])).rejects.toBeDefined();
192
+ });
193
+ });
194
+
195
+ describe("filterDependencies", () => {
196
+ it("splits on the filter patterns, sorted", () => {
197
+ expect(
198
+ filterDependencies(["zod", "@prosopo/util", "axios"], ["@prosopo"]),
199
+ ).toEqual({
200
+ internal: ["axios", "zod"],
201
+ external: ["@prosopo/util"],
202
+ });
203
+ });
204
+
205
+ it("treats the filters as alternatives in a single expression", () => {
206
+ expect(
207
+ filterDependencies(["a-one", "b-two", "c-three"], ["one", "two"]),
208
+ ).toEqual({ internal: ["c-three"], external: ["a-one", "b-two"] });
209
+ });
210
+
211
+ it("deduplicates before splitting", () => {
212
+ expect(
213
+ filterDependencies(["zod", "zod", "zod"], ["nope"]).internal,
214
+ ).toEqual(["zod"]);
215
+ });
216
+
217
+ it("drops empty strings", () => {
218
+ // `npm ls` output can yield blank captures; an empty external pattern
219
+ // would otherwise match everything downstream.
220
+ expect(filterDependencies(["", "zod", ""], ["nope"])).toEqual({
221
+ internal: ["zod"],
222
+ external: [],
223
+ });
224
+ });
225
+
226
+ it("returns two empty lists for no dependencies", () => {
227
+ expect(filterDependencies([], ["@prosopo"])).toEqual({
228
+ internal: [],
229
+ external: [],
230
+ });
231
+ });
232
+
233
+ it("puts everything in external when a filter matches all", () => {
234
+ expect(filterDependencies(["a", "b"], [""]).external).toEqual(["a", "b"]);
235
+ });
236
+
237
+ it("puts everything in internal when no filter is supplied", () => {
238
+ // An empty filter list joins to an empty pattern, which matches
239
+ // everything — so this is the same all-external case, documented so
240
+ // the surprise is not discovered during a build.
241
+ expect(filterDependencies(["a", "b"], []).external).toEqual(["a", "b"]);
242
+ });
243
+
244
+ it("does not mutate the input", () => {
245
+ const deps = ["zod", "axios"];
246
+ filterDependencies(deps, ["zod"]);
247
+ expect(deps).toEqual(["zod", "axios"]);
248
+ });
249
+ });