@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.
- package/.turbo/turbo-build$colon$cjs.log +8 -7
- package/.turbo/turbo-build$colon$tsc.log +4 -4
- package/.turbo/turbo-build.log +9 -8
- package/CHANGELOG.md +20 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/vite/index.cjs +2 -0
- package/dist/cjs/vite/vite-plugin-modify-exports-files.cjs +43 -0
- package/dist/cjs/vite/vite.frontend.config.cjs +6 -1
- package/dist/cjs/vite/vite.test.config.cjs +3 -1
- package/dist/dependencies.test.d.ts +2 -0
- package/dist/dependencies.test.d.ts.map +1 -0
- package/dist/dependencies.test.js +160 -0
- package/dist/dependencies.test.js.map +1 -0
- package/dist/getDependencies.test.d.ts +2 -0
- package/dist/getDependencies.test.d.ts.map +1 -0
- package/dist/getDependencies.test.js +258 -0
- package/dist/getDependencies.test.js.map +1 -0
- package/dist/index.js +2 -1
- package/dist/vite/bundleConfigs.test.d.ts +2 -0
- package/dist/vite/bundleConfigs.test.d.ts.map +1 -0
- package/dist/vite/bundleConfigs.test.js +252 -0
- package/dist/vite/bundleConfigs.test.js.map +1 -0
- package/dist/vite/configs.test.d.ts +2 -0
- package/dist/vite/configs.test.d.ts.map +1 -0
- package/dist/vite/configs.test.js +163 -0
- package/dist/vite/configs.test.js.map +1 -0
- package/dist/vite/index.d.ts +1 -0
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +2 -1
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/modifyExportsFiles.test.d.ts +2 -0
- package/dist/vite/modifyExportsFiles.test.d.ts.map +1 -0
- package/dist/vite/modifyExportsFiles.test.js +28 -0
- package/dist/vite/modifyExportsFiles.test.js.map +1 -0
- package/dist/vite/plugins.test.d.ts +2 -0
- package/dist/vite/plugins.test.d.ts.map +1 -0
- package/dist/vite/plugins.test.js +232 -0
- package/dist/vite/plugins.test.js.map +1 -0
- package/dist/vite/translations.test.d.ts +2 -0
- package/dist/vite/translations.test.d.ts.map +1 -0
- package/dist/vite/translations.test.js +96 -0
- package/dist/vite/translations.test.js.map +1 -0
- package/dist/vite/vite-plugin-modify-exports-files.d.ts +4 -0
- package/dist/vite/vite-plugin-modify-exports-files.d.ts.map +1 -0
- package/dist/vite/vite-plugin-modify-exports-files.js +42 -0
- package/dist/vite/vite-plugin-modify-exports-files.js.map +1 -0
- package/dist/vite/vite.frontend.config.d.ts.map +1 -1
- package/dist/vite/vite.frontend.config.js +6 -1
- package/dist/vite/vite.frontend.config.js.map +1 -1
- package/dist/vite/vite.test.config.d.ts.map +1 -1
- package/dist/vite/vite.test.config.js +3 -1
- package/dist/vite/vite.test.config.js.map +1 -1
- package/package.json +3 -2
- package/src/dependencies.test.ts +249 -0
- package/src/getDependencies.test.ts +385 -0
- package/src/vite/bundleConfigs.test.ts +405 -0
- package/src/vite/configs.test.ts +217 -0
- package/src/vite/index.ts +1 -0
- package/src/vite/modifyExportsFiles.test.ts +56 -0
- package/src/vite/plugins.test.ts +348 -0
- package/src/vite/translations.test.ts +164 -0
- package/src/vite/vite-plugin-modify-exports-files.ts +64 -0
- package/src/vite/vite.frontend.config.ts +13 -0
- package/src/vite/vite.test.config.ts +5 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/vite.test.config.ts +37 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/config@3.3.
|
|
2
|
+
> @prosopo/config@3.3.8 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-production}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -9,7 +9,7 @@ ViteCommonJSConfig: .
|
|
|
9
9
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
10
10
|
Bundle build started
|
|
11
11
|
[2K
|
|
12
|
-
✓
|
|
12
|
+
✓ 20 modules transformed.
|
|
13
13
|
rendering chunks...
|
|
14
14
|
computing gzip size...
|
|
15
15
|
dist/cjs/webpack/index.cjs 0.00 kB │ gzip: 0.02 kB
|
|
@@ -18,18 +18,19 @@ dist/cjs/vite/TsNoCheckPlugin.cjs 0.37 kB │ gzip:
|
|
|
18
18
|
dist/cjs/vite/vite-plugin-fix-absolute-imports.cjs 0.60 kB │ gzip: 0.34 kB
|
|
19
19
|
dist/cjs/vite/vite-plugin-externalize-obfuscator-deadcode.cjs 0.68 kB │ gzip: 0.37 kB
|
|
20
20
|
dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
|
|
21
|
+
dist/cjs/vite/vite-plugin-modify-exports-files.cjs 1.36 kB │ gzip: 0.70 kB
|
|
21
22
|
dist/cjs/vite/vite-plugin-copy.cjs 1.60 kB │ gzip: 0.65 kB
|
|
22
23
|
dist/cjs/vite/vite-plugin-close-and-copy.cjs 1.77 kB │ gzip: 0.67 kB
|
|
23
|
-
dist/cjs/vite/index.cjs 2.
|
|
24
|
+
dist/cjs/vite/index.cjs 2.26 kB │ gzip: 0.50 kB
|
|
24
25
|
dist/cjs/vite/vite-plugin-remove-unused-translations.cjs 2.34 kB │ gzip: 1.01 kB
|
|
25
26
|
dist/cjs/vite/vite.esm.config.cjs 2.39 kB │ gzip: 0.92 kB
|
|
26
27
|
dist/cjs/vite/vite.commonjs.config.cjs 2.52 kB │ gzip: 0.99 kB
|
|
27
28
|
dist/cjs/vite/vite.threads.test.config.cjs 2.52 kB │ gzip: 1.00 kB
|
|
28
|
-
dist/cjs/
|
|
29
|
-
dist/cjs/
|
|
29
|
+
dist/cjs/vite/vite.test.config.cjs 2.72 kB │ gzip: 1.04 kB
|
|
30
|
+
dist/cjs/index.cjs 2.74 kB │ gzip: 0.61 kB
|
|
30
31
|
dist/cjs/vite/vite.backend.config.cjs 3.63 kB │ gzip: 1.35 kB
|
|
31
32
|
dist/cjs/webpack/webpack.config.cjs 3.72 kB │ gzip: 1.30 kB
|
|
32
33
|
dist/cjs/dependencies.cjs 5.87 kB │ gzip: 1.92 kB
|
|
33
|
-
dist/cjs/vite/vite.frontend.config.cjs 6.
|
|
34
|
+
dist/cjs/vite/vite.frontend.config.cjs 6.78 kB │ gzip: 2.36 kB
|
|
34
35
|
|
|
35
|
-
[32m✓ built in
|
|
36
|
+
[32m✓ built in 62ms[39m
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/config@3.3.
|
|
2
|
+
> @prosopo/config@3.3.8 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
3:30:33 PM - Projects in this build:
|
|
6
6
|
* tsconfig.json
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
3:30:33 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
3:30:33 PM - Building project '/home/runner/work/captcha/captcha/dev/config/tsconfig.json'...
|
|
11
11
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/config@3.3.
|
|
2
|
+
> @prosopo/config@3.3.8 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/config@3.3.
|
|
6
|
+
> @prosopo/config@3.3.8 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -13,7 +13,7 @@ ViteEsmConfig: .
|
|
|
13
13
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
14
14
|
Bundle build started
|
|
15
15
|
[2K
|
|
16
|
-
✓
|
|
16
|
+
✓ 20 modules transformed.
|
|
17
17
|
rendering chunks...
|
|
18
18
|
computing gzip size...
|
|
19
19
|
dist/webpack/index.js 0.01 kB │ gzip: 0.03 kB
|
|
@@ -23,17 +23,18 @@ dist/vite/TsNoCheckPlugin.js 0.36 kB │ gzip: 0.23
|
|
|
23
23
|
dist/vite/vite-plugin-fix-absolute-imports.js 0.59 kB │ gzip: 0.33 kB
|
|
24
24
|
dist/vite/vite-plugin-externalize-obfuscator-deadcode.js 0.69 kB │ gzip: 0.38 kB
|
|
25
25
|
dist/vite/vite-plugin-copy.js 1.22 kB │ gzip: 0.57 kB
|
|
26
|
+
dist/vite/vite-plugin-modify-exports-files.js 1.33 kB │ gzip: 0.70 kB
|
|
26
27
|
dist/vite/vite-plugin-close-and-copy.js 1.46 kB │ gzip: 0.61 kB
|
|
27
|
-
dist/vite/index.js 1.
|
|
28
|
-
dist/index.js 1.77 kB │ gzip: 0.48 kB
|
|
28
|
+
dist/vite/index.js 1.61 kB │ gzip: 0.44 kB
|
|
29
29
|
dist/vite/vite.esm.config.js 1.90 kB │ gzip: 0.84 kB
|
|
30
|
+
dist/index.js 1.91 kB │ gzip: 0.51 kB
|
|
30
31
|
dist/vite/vite.commonjs.config.js 2.00 kB │ gzip: 0.90 kB
|
|
31
32
|
dist/vite/vite-plugin-remove-unused-translations.js 2.03 kB │ gzip: 0.92 kB
|
|
32
33
|
dist/vite/vite.threads.test.config.js 2.19 kB │ gzip: 0.94 kB
|
|
33
|
-
dist/vite/vite.test.config.js 2.
|
|
34
|
+
dist/vite/vite.test.config.js 2.29 kB │ gzip: 0.96 kB
|
|
34
35
|
dist/webpack/webpack.config.js 3.08 kB │ gzip: 1.23 kB
|
|
35
36
|
dist/vite/vite.backend.config.js 3.10 kB │ gzip: 1.27 kB
|
|
36
37
|
dist/dependencies.js 5.31 kB │ gzip: 1.81 kB
|
|
37
|
-
dist/vite/vite.frontend.config.js 5.
|
|
38
|
+
dist/vite/vite.frontend.config.js 5.80 kB │ gzip: 2.23 kB
|
|
38
39
|
|
|
39
|
-
[32m✓ built in
|
|
40
|
+
[32m✓ built in 51ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @prosopo/config
|
|
2
2
|
|
|
3
|
+
## 3.3.8
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- bde0cb9: Enable whitespace minification for production frontend bundles.
|
|
7
|
+
|
|
8
|
+
For a `lib` + `es` build, Vite downgrades `build.minify: true` to
|
|
9
|
+
`{ compress: true, mangle: true, codegen: false }`, so bundles shipped compressed
|
|
10
|
+
and mangled but still pretty-printed. Setting `output.minify` explicitly fixes it.
|
|
11
|
+
|
|
12
|
+
On `@prosopo/procaptcha-bundle`, the critical path drops 22.5% raw (658KB → 510KB)
|
|
13
|
+
and 9.6% gzipped. Chunk membership is unchanged. Production builds only.
|
|
14
|
+
|
|
15
|
+
## 3.3.7
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- a6518a1: Add unit tests for the shared build config: dependency resolution, the vite bundle and library configs, the plugin set and the translations plugin. No behaviour changes.
|
|
19
|
+
- 2aabe73: Remove the client-controlled `detectorUnavailable` frictionless bypass. A client could set the flag and be handed a PoW challenge without any detection running. The flag is gone from the wire format, the API client and the widget; the only remaining bypasses are provider-side (maintenance mode, empty detector bundle pool).
|
|
20
|
+
|
|
21
|
+
The frictionless decision machine now gates on payload presence after the access-rule ladder: no token serves a 3-round image captcha, a token without its head hash serves a 2-round one.
|
|
22
|
+
|
|
3
23
|
## 3.3.6
|
|
4
24
|
### Patch Changes
|
|
5
25
|
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -13,6 +13,7 @@ const require_vite_commonjs_config = require("./vite/vite.commonjs.config.cjs");
|
|
|
13
13
|
const require_vite_esm_config = require("./vite/vite.esm.config.cjs");
|
|
14
14
|
const require_vite_plugin_remove_unused_translations = require("./vite/vite-plugin-remove-unused-translations.cjs");
|
|
15
15
|
const require_TsNoCheckPlugin = require("./vite/TsNoCheckPlugin.cjs");
|
|
16
|
+
const require_vite_plugin_modify_exports_files = require("./vite/vite-plugin-modify-exports-files.cjs");
|
|
16
17
|
exports.ViteBackendConfig = require_vite_backend_config.default;
|
|
17
18
|
exports.ViteCommonJSConfig = require_vite_commonjs_config.default;
|
|
18
19
|
exports.ViteEsmConfig = require_vite_esm_config.default;
|
|
@@ -21,6 +22,7 @@ exports.VitePluginCloseAndCopy = require_vite_plugin_close_and_copy.default;
|
|
|
21
22
|
exports.VitePluginCopy = require_vite_plugin_copy.default;
|
|
22
23
|
exports.VitePluginExternalizeObfuscatorDeadCode = require_vite_plugin_externalize_obfuscator_deadcode.default;
|
|
23
24
|
exports.VitePluginFixAbsoluteImports = require_vite_plugin_fix_absolute_imports.default;
|
|
25
|
+
exports.VitePluginModifyExportsFiles = require_vite_plugin_modify_exports_files.default;
|
|
24
26
|
exports.VitePluginRemoveUnusedTranslations = require_vite_plugin_remove_unused_translations.default;
|
|
25
27
|
exports.VitePluginSourceMapExclude = require_vite_plugin_sourcemap_exclude.default;
|
|
26
28
|
exports.ViteTestConfig = require_vite_test_config.default;
|
package/dist/cjs/vite/index.cjs
CHANGED
|
@@ -11,6 +11,7 @@ const require_vite_commonjs_config = require("./vite.commonjs.config.cjs");
|
|
|
11
11
|
const require_vite_esm_config = require("./vite.esm.config.cjs");
|
|
12
12
|
const require_vite_plugin_remove_unused_translations = require("./vite-plugin-remove-unused-translations.cjs");
|
|
13
13
|
const require_TsNoCheckPlugin = require("./TsNoCheckPlugin.cjs");
|
|
14
|
+
const require_vite_plugin_modify_exports_files = require("./vite-plugin-modify-exports-files.cjs");
|
|
14
15
|
exports.ViteBackendConfig = require_vite_backend_config.default;
|
|
15
16
|
exports.ViteCommonJSConfig = require_vite_commonjs_config.default;
|
|
16
17
|
exports.ViteEsmConfig = require_vite_esm_config.default;
|
|
@@ -19,6 +20,7 @@ exports.VitePluginCloseAndCopy = require_vite_plugin_close_and_copy.default;
|
|
|
19
20
|
exports.VitePluginCopy = require_vite_plugin_copy.default;
|
|
20
21
|
exports.VitePluginExternalizeObfuscatorDeadCode = require_vite_plugin_externalize_obfuscator_deadcode.default;
|
|
21
22
|
exports.VitePluginFixAbsoluteImports = require_vite_plugin_fix_absolute_imports.default;
|
|
23
|
+
exports.VitePluginModifyExportsFiles = require_vite_plugin_modify_exports_files.default;
|
|
22
24
|
exports.VitePluginRemoveUnusedTranslations = require_vite_plugin_remove_unused_translations.default;
|
|
23
25
|
exports.VitePluginSourceMapExclude = require_vite_plugin_sourcemap_exclude.default;
|
|
24
26
|
exports.ViteTestConfig = require_vite_test_config.default;
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
exports.default = modifyExportsFilesPlugin;
|
|
43
|
+
exports.emptyExportsFiles = emptyExportsFiles;
|
|
@@ -127,7 +127,12 @@ async function vite_frontend_config_default(packageName, bundleName, dir, entry,
|
|
|
127
127
|
watch: false,
|
|
128
128
|
output: {
|
|
129
129
|
dir: node_path.default.resolve(dir, "dist/bundle"),
|
|
130
|
-
entryFileNames: `${bundleName}.bundle.js
|
|
130
|
+
entryFileNames: `${bundleName}.bundle.js`,
|
|
131
|
+
...isProduction ? { minify: {
|
|
132
|
+
compress: true,
|
|
133
|
+
mangle: true,
|
|
134
|
+
codegen: true
|
|
135
|
+
} } : {}
|
|
131
136
|
},
|
|
132
137
|
plugins: [
|
|
133
138
|
(0, rollup_plugin_import_css.default)(),
|
|
@@ -29,7 +29,9 @@ function vite_test_config_default(tsConfigPath) {
|
|
|
29
29
|
"src/**/*.test.ts",
|
|
30
30
|
"src/**/*.spec.ts",
|
|
31
31
|
"src/**/*.test.tsx",
|
|
32
|
-
"src/**/*.spec.tsx"
|
|
32
|
+
"src/**/*.spec.tsx",
|
|
33
|
+
"src/**/*.test-d.ts",
|
|
34
|
+
"src/**/*.test-d.tsx"
|
|
33
35
|
] : [
|
|
34
36
|
"**/tests/**/*",
|
|
35
37
|
"**/*.d.ts",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.test.d.ts","sourceRoot":"","sources":["../src/dependencies.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
|
5
|
+
import { filterDependencies, getExternalsFromReferences, getTsConfigs, } from "./dependencies.js";
|
|
6
|
+
let root;
|
|
7
|
+
const writeProject = (dir, references, packageName) => {
|
|
8
|
+
const absolute = path.join(root, dir);
|
|
9
|
+
fs.mkdirSync(absolute, { recursive: true });
|
|
10
|
+
const tsConfigPath = path.join(absolute, "tsconfig.json");
|
|
11
|
+
fs.writeFileSync(tsConfigPath, JSON.stringify({ references: references.map((p) => ({ path: p })) }));
|
|
12
|
+
if (packageName) {
|
|
13
|
+
fs.writeFileSync(path.join(absolute, "package.json"), JSON.stringify({ name: packageName }));
|
|
14
|
+
}
|
|
15
|
+
return tsConfigPath;
|
|
16
|
+
};
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
root = fs.mkdtempSync(path.join(os.tmpdir(), "prosopo-config-test-"));
|
|
19
|
+
});
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
fs.rmSync(root, { recursive: true, force: true });
|
|
22
|
+
});
|
|
23
|
+
describe("getTsConfigs", () => {
|
|
24
|
+
it("returns just the starting config when it has no references", () => {
|
|
25
|
+
const entry = writeProject("a", []);
|
|
26
|
+
expect(getTsConfigs(entry)).toEqual([entry]);
|
|
27
|
+
});
|
|
28
|
+
it("returns nothing when the starting config is excluded and has no references", () => {
|
|
29
|
+
const entry = writeProject("a", []);
|
|
30
|
+
expect(getTsConfigs(entry, [], [], false)).toEqual([]);
|
|
31
|
+
});
|
|
32
|
+
it("walks references transitively", () => {
|
|
33
|
+
const c = writeProject("c", []);
|
|
34
|
+
const b = writeProject("b", ["../c"]);
|
|
35
|
+
const a = writeProject("a", ["../b"]);
|
|
36
|
+
expect(getTsConfigs(a, [/nothing-matches/], []).sort()).toEqual([a, b, c].sort());
|
|
37
|
+
});
|
|
38
|
+
it("skips references matching an ignore pattern, and everything under them", () => {
|
|
39
|
+
writeProject("keep", []);
|
|
40
|
+
writeProject("skip", []);
|
|
41
|
+
const a = writeProject("a", ["../keep/", "../skip/"]);
|
|
42
|
+
expect(getTsConfigs(a, [/skip/], [])).toEqual([
|
|
43
|
+
a,
|
|
44
|
+
path.join(root, "keep", "tsconfig.json"),
|
|
45
|
+
]);
|
|
46
|
+
});
|
|
47
|
+
it("builds the ignore expression from the stringified patterns, delimiters included", () => {
|
|
48
|
+
writeProject("skip", []);
|
|
49
|
+
const a = writeProject("a", ["../skip"]);
|
|
50
|
+
expect(getTsConfigs(a, [/skip/], [])).toHaveLength(2);
|
|
51
|
+
});
|
|
52
|
+
it("drops every reference when no ignore pattern is given", () => {
|
|
53
|
+
writeProject("b", []);
|
|
54
|
+
const a = writeProject("a", ["../b"]);
|
|
55
|
+
expect(getTsConfigs(a)).toEqual([a]);
|
|
56
|
+
});
|
|
57
|
+
it("appends tsconfig.json to a reference that names a directory", () => {
|
|
58
|
+
writeProject("b", []);
|
|
59
|
+
const a = writeProject("a", ["../b"]);
|
|
60
|
+
expect(getTsConfigs(a, [/\.\./], [])).toContain(path.join(root, "b", "tsconfig.json"));
|
|
61
|
+
});
|
|
62
|
+
it("honours a reference that names a config file explicitly", () => {
|
|
63
|
+
fs.mkdirSync(path.join(root, "b"), { recursive: true });
|
|
64
|
+
const explicit = path.join(root, "b", "tsconfig.build.json");
|
|
65
|
+
fs.writeFileSync(explicit, JSON.stringify({ references: [] }));
|
|
66
|
+
const a = writeProject("a", ["../b/tsconfig.build.json"]);
|
|
67
|
+
expect(getTsConfigs(a, [/\.\./], [])).toContain(explicit);
|
|
68
|
+
});
|
|
69
|
+
it("does not loop forever on a reference cycle", () => {
|
|
70
|
+
const a = path.join(root, "a", "tsconfig.json");
|
|
71
|
+
const b = path.join(root, "b", "tsconfig.json");
|
|
72
|
+
writeProject("a", ["../b"]);
|
|
73
|
+
writeProject("b", ["../a"]);
|
|
74
|
+
expect(getTsConfigs(a, [/\.\./], []).sort()).toEqual([a, b].sort());
|
|
75
|
+
});
|
|
76
|
+
it("visits a diamond dependency only once", () => {
|
|
77
|
+
writeProject("d", []);
|
|
78
|
+
writeProject("b", ["../d"]);
|
|
79
|
+
writeProject("c", ["../d"]);
|
|
80
|
+
const a = writeProject("a", ["../b", "../c"]);
|
|
81
|
+
const result = getTsConfigs(a, [/\.\./], []);
|
|
82
|
+
expect(new Set(result).size).toBe(result.length);
|
|
83
|
+
expect(result).toHaveLength(4);
|
|
84
|
+
});
|
|
85
|
+
it("keeps configs that were already accumulated", () => {
|
|
86
|
+
const existing = "/already/seen/tsconfig.json";
|
|
87
|
+
const a = writeProject("a", []);
|
|
88
|
+
expect(getTsConfigs(a, [], [existing])).toEqual([existing, a]);
|
|
89
|
+
});
|
|
90
|
+
it("returns the accumulator untouched when the config was already seen", () => {
|
|
91
|
+
const a = writeProject("a", []);
|
|
92
|
+
expect(getTsConfigs(a, [], [a])).toEqual([a]);
|
|
93
|
+
});
|
|
94
|
+
it("throws for a config path that does not exist", () => {
|
|
95
|
+
expect(() => getTsConfigs(path.join(root, "missing.json"))).toThrow();
|
|
96
|
+
});
|
|
97
|
+
it("throws for a config that is not valid JSON", () => {
|
|
98
|
+
const broken = path.join(root, "broken.json");
|
|
99
|
+
fs.writeFileSync(broken, "{ not json");
|
|
100
|
+
expect(() => getTsConfigs(broken)).toThrow();
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
describe("getExternalsFromReferences", () => {
|
|
104
|
+
it("returns the package name of every referenced project", async () => {
|
|
105
|
+
writeProject("b", [], "@prosopo/b");
|
|
106
|
+
writeProject("c", [], "@prosopo/c");
|
|
107
|
+
const a = writeProject("a", ["../b", "../c"], "@prosopo/a");
|
|
108
|
+
await expect(getExternalsFromReferences(a, [/\.\./])).resolves.toEqual([
|
|
109
|
+
"@prosopo/b",
|
|
110
|
+
"@prosopo/c",
|
|
111
|
+
]);
|
|
112
|
+
});
|
|
113
|
+
it("returns nothing when there are no followed references", async () => {
|
|
114
|
+
const a = writeProject("a", [], "@prosopo/a");
|
|
115
|
+
await expect(getExternalsFromReferences(a)).resolves.toEqual([]);
|
|
116
|
+
});
|
|
117
|
+
it("rejects when a referenced project has no package.json", async () => {
|
|
118
|
+
writeProject("b", []);
|
|
119
|
+
const a = writeProject("a", ["../b"], "@prosopo/a");
|
|
120
|
+
await expect(getExternalsFromReferences(a, [/\.\./])).rejects.toBeDefined();
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
describe("filterDependencies", () => {
|
|
124
|
+
it("splits on the filter patterns, sorted", () => {
|
|
125
|
+
expect(filterDependencies(["zod", "@prosopo/util", "axios"], ["@prosopo"])).toEqual({
|
|
126
|
+
internal: ["axios", "zod"],
|
|
127
|
+
external: ["@prosopo/util"],
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
it("treats the filters as alternatives in a single expression", () => {
|
|
131
|
+
expect(filterDependencies(["a-one", "b-two", "c-three"], ["one", "two"])).toEqual({ internal: ["c-three"], external: ["a-one", "b-two"] });
|
|
132
|
+
});
|
|
133
|
+
it("deduplicates before splitting", () => {
|
|
134
|
+
expect(filterDependencies(["zod", "zod", "zod"], ["nope"]).internal).toEqual(["zod"]);
|
|
135
|
+
});
|
|
136
|
+
it("drops empty strings", () => {
|
|
137
|
+
expect(filterDependencies(["", "zod", ""], ["nope"])).toEqual({
|
|
138
|
+
internal: ["zod"],
|
|
139
|
+
external: [],
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
it("returns two empty lists for no dependencies", () => {
|
|
143
|
+
expect(filterDependencies([], ["@prosopo"])).toEqual({
|
|
144
|
+
internal: [],
|
|
145
|
+
external: [],
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
it("puts everything in external when a filter matches all", () => {
|
|
149
|
+
expect(filterDependencies(["a", "b"], [""]).external).toEqual(["a", "b"]);
|
|
150
|
+
});
|
|
151
|
+
it("puts everything in internal when no filter is supplied", () => {
|
|
152
|
+
expect(filterDependencies(["a", "b"], []).external).toEqual(["a", "b"]);
|
|
153
|
+
});
|
|
154
|
+
it("does not mutate the input", () => {
|
|
155
|
+
const deps = ["zod", "axios"];
|
|
156
|
+
filterDependencies(deps, ["zod"]);
|
|
157
|
+
expect(deps).toEqual(["zod", "axios"]);
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
//# sourceMappingURL=dependencies.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.test.js","sourceRoot":"","sources":["../src/dependencies.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDependencies.test.d.ts","sourceRoot":"","sources":["../src/getDependencies.test.ts"],"names":[],"mappings":""}
|