@prosopo/config 3.4.2 → 3.4.3
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/.turbo/turbo-build$colon$cjs.log +5 -8
- package/.turbo/turbo-build$colon$tsc.log +4 -7
- package/.turbo/turbo-build.log +6 -12
- package/CHANGELOG.md +13 -0
- package/LICENSE +201 -0
- package/dist/cjs/dependencies.cjs +86 -46
- package/dist/cjs/vite/vite.frontend.config.cjs +7 -0
- package/dist/cjs/webpack/webpack.config.cjs +8 -8
- package/dist/dependencies.d.ts.map +1 -1
- package/dist/dependencies.js +85 -44
- package/dist/dependencies.js.map +1 -1
- package/dist/getDependencies.test.js +151 -125
- package/dist/getDependencies.test.js.map +1 -1
- package/dist/vite/vite.frontend.config.d.ts.map +1 -1
- package/dist/vite/vite.frontend.config.js +8 -1
- package/dist/vite/vite.frontend.config.js.map +1 -1
- package/dist/webpack/webpack.config.d.ts +2 -0
- package/dist/webpack/webpack.config.d.ts.map +1 -1
- package/dist/webpack/webpack.config.js +8 -8
- package/dist/webpack/webpack.config.js.map +1 -1
- package/package.json +106 -103
- package/src/dependencies.test.ts +0 -249
- package/src/dependencies.ts +0 -259
- package/src/getDependencies.test.ts +0 -385
- package/src/index.ts +0 -16
- package/src/vite/CopyAssetsPlugin.ts +0 -49
- package/src/vite/NodejsPolarsDirnamePlugin.ts +0 -50
- package/src/vite/NodejsPolarsNativeFilePlugin.ts +0 -105
- package/src/vite/TsNoCheckPlugin.ts +0 -31
- package/src/vite/bundleConfigs.test.ts +0 -461
- package/src/vite/configs.test.ts +0 -223
- package/src/vite/index.ts +0 -30
- package/src/vite/modifyExportsFiles.test.ts +0 -56
- package/src/vite/plugins.test.ts +0 -365
- package/src/vite/testFileGlobs.test.ts +0 -162
- package/src/vite/testFileGlobs.ts +0 -57
- package/src/vite/translations.test.ts +0 -164
- package/src/vite/types.ts +0 -13
- package/src/vite/vite-plugin-close-and-copy.ts +0 -76
- package/src/vite/vite-plugin-copy.ts +0 -67
- package/src/vite/vite-plugin-externalize-obfuscator-deadcode.ts +0 -43
- package/src/vite/vite-plugin-fix-absolute-imports.ts +0 -40
- package/src/vite/vite-plugin-modify-exports-files.ts +0 -64
- package/src/vite/vite-plugin-remove-unused-translations.ts +0 -128
- package/src/vite/vite-plugin-sourcemap-exclude.ts +0 -36
- package/src/vite/vite.backend.config.ts +0 -172
- package/src/vite/vite.commonjs.config.ts +0 -98
- package/src/vite/vite.esm.config.ts +0 -99
- package/src/vite/vite.frontend.config.ts +0 -340
- package/src/vite/vite.test.config.ts +0 -115
- package/src/vite/vite.threads.test.config.ts +0 -100
- package/src/webpack/index.ts +0 -14
- package/src/webpack/webpack.config.ts +0 -159
- package/tsconfig.cjs.json +0 -9
- package/tsconfig.json +0 -17
- package/tsconfig.tsbuildinfo +0 -1
- package/tsconfig.types.json +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.frontend.config.js","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
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":"webpack.config.d.ts","sourceRoot":"","sources":["../../src/webpack/webpack.config.ts"],"names":[],"mappings":"AAiBA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,YAAY,MAAM,uBAAuB,CAAC;+BAqB3B,MAAM
|
|
1
|
+
{"version":3,"file":"webpack.config.d.ts","sourceRoot":"","sources":["../../src/webpack/webpack.config.ts"],"names":[],"mappings":"AAiBA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,YAAY,MAAM,uBAAuB,CAAC;+BAqB3B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA5B,wBAuIE"}
|
|
@@ -54,16 +54,16 @@ var webpack_config_default = (mode) => {
|
|
|
54
54
|
test: /\.(m?js|jsx|tsx|ts)$/,
|
|
55
55
|
exclude: /node_modules/,
|
|
56
56
|
use: {
|
|
57
|
-
loader: "babel-loader",
|
|
57
|
+
loader: require.resolve("babel-loader"),
|
|
58
58
|
options: {
|
|
59
59
|
plugins: [
|
|
60
|
-
"@babel/plugin-transform-runtime",
|
|
61
|
-
"@babel/transform-class-properties",
|
|
62
|
-
"@babel/transform-object-rest-spread",
|
|
63
|
-
["@babel/plugin-transform-react-jsx", { runtime: "automatic" }],
|
|
64
|
-
["@babel/plugin-syntax-import-attributes", { deprecatedAssertSyntax: true }]
|
|
60
|
+
[require.resolve("@babel/plugin-transform-runtime"), { absoluteRuntime: path.dirname(require.resolve("@babel/runtime/package.json")) }],
|
|
61
|
+
require.resolve("@babel/plugin-transform-class-properties"),
|
|
62
|
+
require.resolve("@babel/plugin-transform-object-rest-spread"),
|
|
63
|
+
[require.resolve("@babel/plugin-transform-react-jsx"), { runtime: "automatic" }],
|
|
64
|
+
[require.resolve("@babel/plugin-syntax-import-attributes"), { deprecatedAssertSyntax: true }]
|
|
65
65
|
],
|
|
66
|
-
presets: ["@babel/preset-env", "@babel/preset-typescript"]
|
|
66
|
+
presets: [require.resolve("@babel/preset-env"), require.resolve("@babel/preset-typescript")]
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
},
|
|
@@ -83,7 +83,7 @@ var webpack_config_default = (mode) => {
|
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
test: /packageInfo.js$/,
|
|
86
|
-
loader: "string-replace-loader",
|
|
86
|
+
loader: require.resolve("string-replace-loader"),
|
|
87
87
|
options: {
|
|
88
88
|
search: /import\.meta && import\.meta\.url/g,
|
|
89
89
|
replace: "false"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack.config.js","sourceRoot":"","sources":["../../src/webpack/webpack.config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAEjD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEpD,SAAS,gBAAgB;IACxB,MAAM,YAAY,GAAG,iBAAiB,CAAC;IACvC,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAE1D,OAAO,CACN,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,YAAY,CACZ,CAAC;AACH,CAAC;AAED,MAAM,aAAa,GAA2B,EAAE,CAAC;AACjD,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,aAAa,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC;IACrC,aAAa,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC;AACpC,CAAC;AAED,eAAe,CAAC,IAAY,EAAE,EAAE;IAC/B,MAAM,YAAY,GAAG,IAAI,KAAK,YAAY,CAAC;IAC3C,MAAM,WAAW,GAAG,WAAW,CAAC;IAEhC,OAAO;QACN,OAAO,EAAE;YACR,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;YAClD,cAAc,EAAE;gBACf,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;aACrC;YACD,OAAO,EAAE,UAAU;YACnB,cAAc,EAAE,KAAK;YACrB,KAAK,EAAE;gBACN,yBAAyB,EAAE,IAAI,CAAC,OAAO,CACtC,wEAAwE,CACxE;gBACD,yBAAyB,EAAE,IAAI,CAAC,OAAO,CACtC,wEAAwE,CACxE;aACD;SACD;QACD,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,gBAAgB,EAAE;QACzB,MAAM,EAAE;YACP,QAAQ,EAAE,GAAG,WAAW,mBAAmB;YAC3C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5B,UAAU,EAAE,GAAG;SACf;QACD,MAAM,EAAE;YACP,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"webpack.config.js","sourceRoot":"","sources":["../../src/webpack/webpack.config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,104 +1,107 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
2
|
+
"name": "@prosopo/config",
|
|
3
|
+
"version": "3.4.3",
|
|
4
|
+
"description": "Prosopo config library",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": "^24"
|
|
8
|
+
},
|
|
9
|
+
"author": "Prosopo Limited",
|
|
10
|
+
"license": "Apache-2.0",
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@rollup/plugin-node-resolve": "16.0.3",
|
|
13
|
+
"@rollup/plugin-typescript": "11.1.6",
|
|
14
|
+
"@rollup/plugin-wasm": "6.2.2",
|
|
15
|
+
"@vitejs/plugin-react": "6.1.1",
|
|
16
|
+
"esbuild": "0.28.2",
|
|
17
|
+
"fast-glob": "3.3.3",
|
|
18
|
+
"html-webpack-plugin": "5.6.8",
|
|
19
|
+
"mini-css-extract-plugin": "2.10.2",
|
|
20
|
+
"node-polyfill-webpack-plugin": "4.1.0",
|
|
21
|
+
"rollup": "4.63.1",
|
|
22
|
+
"rollup-plugin-import-css": "4.2.1",
|
|
23
|
+
"rollup-plugin-visualizer": "5.12.0",
|
|
24
|
+
"terser-webpack-plugin": "5.6.1",
|
|
25
|
+
"vite-plugin-no-bundle": "4.0.0",
|
|
26
|
+
"vite-tsconfig-paths": "6.1.1",
|
|
27
|
+
"yaml": "2.9.0"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@babel/core": "7.29.7",
|
|
31
|
+
"@babel/plugin-proposal-import-attributes-to-assertions": "7.29.7",
|
|
32
|
+
"@babel/plugin-syntax-import-attributes": "7.29.7",
|
|
33
|
+
"@babel/plugin-transform-class-properties": "7.27.1",
|
|
34
|
+
"@babel/plugin-transform-object-rest-spread": "8.0.1",
|
|
35
|
+
"@babel/plugin-transform-react-jsx": "8.0.1",
|
|
36
|
+
"@babel/plugin-transform-runtime": "7.28.5",
|
|
37
|
+
"@babel/preset-env": "8.0.5",
|
|
38
|
+
"@babel/preset-typescript": "7.28.5",
|
|
39
|
+
"@babel/runtime": "7.29.7",
|
|
40
|
+
"@rollup/plugin-alias": "6.0.0",
|
|
41
|
+
"@rollup/plugin-babel": "7.1.0",
|
|
42
|
+
"@rollup/plugin-dynamic-import-vars": "2.1.5",
|
|
43
|
+
"@rollup/plugin-json": "6.1.0",
|
|
44
|
+
"@types/node": "22.10.2",
|
|
45
|
+
"@vitest/coverage-v8": "4.1.11",
|
|
46
|
+
"babel-loader": "9.2.1",
|
|
47
|
+
"concurrently": "9.0.1",
|
|
48
|
+
"css-loader": "7.1.5",
|
|
49
|
+
"del-cli": "6.0.0",
|
|
50
|
+
"npm-run-all": "4.1.5",
|
|
51
|
+
"regenerator-runtime": "0.14.1",
|
|
52
|
+
"rollup-plugin-cleanup": "3.2.1",
|
|
53
|
+
"string-replace-loader": "3.3.0",
|
|
54
|
+
"tsconfig-paths": "4.2.0",
|
|
55
|
+
"tslib": "2.7.0",
|
|
56
|
+
"tsx": "4.20.6",
|
|
57
|
+
"typescript": "5.6.2",
|
|
58
|
+
"vite": "8.1.5",
|
|
59
|
+
"vite-bundle-visualizer": "1.2.1",
|
|
60
|
+
"vite-plugin-node-polyfills": "0.28.0",
|
|
61
|
+
"vite-tsconfig-paths": "6.1.1",
|
|
62
|
+
"vitest": "4.1.11",
|
|
63
|
+
"webpack": "5.110.3",
|
|
64
|
+
"webpack-cli": "7.2.3",
|
|
65
|
+
"webpack-dev-server": "6.0.0",
|
|
66
|
+
"zod": "3.23.8"
|
|
67
|
+
},
|
|
68
|
+
"repository": {
|
|
69
|
+
"type": "git",
|
|
70
|
+
"url": "git+https://github.com/prosopo/captcha.git",
|
|
71
|
+
"directory": "dev/config"
|
|
72
|
+
},
|
|
73
|
+
"bugs": {
|
|
74
|
+
"url": "https://github.com/prosopo/captcha/issues"
|
|
75
|
+
},
|
|
76
|
+
"homepage": "https://github.com/prosopo/captcha#readme",
|
|
77
|
+
"publishConfig": {
|
|
78
|
+
"registry": "https://registry.npmjs.org"
|
|
79
|
+
},
|
|
80
|
+
"sideEffects": false,
|
|
81
|
+
"main": "dist/index.js",
|
|
82
|
+
"types": "dist/index.d.ts",
|
|
83
|
+
"exports": {
|
|
84
|
+
".": {
|
|
85
|
+
"types": "./dist/index.d.ts",
|
|
86
|
+
"import": "./dist/index.js",
|
|
87
|
+
"require": "./dist/cjs/index.cjs"
|
|
88
|
+
},
|
|
89
|
+
"./webpack": {
|
|
90
|
+
"import": "./dist/webpack/index.js",
|
|
91
|
+
"require": "./dist/webpack/cjs/index.cjs"
|
|
92
|
+
},
|
|
93
|
+
"./webpack/webpack.config": {
|
|
94
|
+
"import": "./dist/webpack/webpack.config.js",
|
|
95
|
+
"require": "./dist/cjs/webpack/webpack.config.cjs"
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"scripts": {
|
|
99
|
+
"build": "pnpm run build:cross-env --mode ${NODE_ENV:-development}",
|
|
100
|
+
"build:cross-env": "vite build --config vite.esm.config.ts",
|
|
101
|
+
"build:tsc": "tsc --build --verbose",
|
|
102
|
+
"build:cjs": "NODE_ENV=${NODE_ENV:-production}; vite build --config vite.cjs.config.ts --mode $NODE_ENV",
|
|
103
|
+
"clean": "del-cli --verbose dist tsconfig.tsbuildinfo",
|
|
104
|
+
"typecheck": "tsc --project tsconfig.types.json",
|
|
105
|
+
"test": "NODE_ENV=${NODE_ENV:-test}; pnpm exec vitest run --config ./vite.test.config.ts --mode $NODE_ENV"
|
|
106
|
+
}
|
|
107
|
+
}
|
package/src/dependencies.test.ts
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
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
|
-
});
|