openxiangda-devkit-core 2.63.0 → 2.63.1
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/dist/application-services.d.ts +36 -8
- package/dist/application-services.d.ts.map +1 -1
- package/dist/application-services.js +12 -6
- package/dist/application-services.js.map +1 -1
- package/dist/backend-image-candidate.d.ts.map +1 -1
- package/dist/backend-image-candidate.js +5 -19
- package/dist/backend-image-candidate.js.map +1 -1
- package/dist/backend-image-inputs.d.ts +7 -0
- package/dist/backend-image-inputs.d.ts.map +1 -1
- package/dist/backend-image-inputs.js +25 -2
- package/dist/backend-image-inputs.js.map +1 -1
- package/dist/compiler/config.d.ts.map +1 -1
- package/dist/compiler/config.js +18 -1
- package/dist/compiler/config.js.map +1 -1
- package/dist/compiler/permission-review.d.ts.map +1 -1
- package/dist/internal/workflow.d.ts.map +1 -1
- package/dist/internal/workflow.js +9 -1
- package/dist/internal/workflow.js.map +1 -1
- package/dist/target-readiness.d.ts.map +1 -1
- package/dist/target-readiness.js +2 -1
- package/dist/target-readiness.js.map +1 -1
- package/dist/toolchain-capsule.d.ts +4 -5
- package/dist/toolchain-capsule.d.ts.map +1 -1
- package/dist/toolchain-capsule.js +19 -68
- package/dist/toolchain-capsule.js.map +1 -1
- package/dist/toolchain-facts.d.ts +40 -0
- package/dist/toolchain-facts.d.ts.map +1 -0
- package/dist/toolchain-facts.js +82 -0
- package/dist/toolchain-facts.js.map +1 -0
- package/dist/workspace-inputs.d.ts +13 -0
- package/dist/workspace-inputs.d.ts.map +1 -0
- package/dist/workspace-inputs.js +135 -0
- package/dist/workspace-inputs.js.map +1 -0
- package/package.json +5 -3
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, statSync } from 'node:fs';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
|
|
4
|
+
import { parse } from 'yaml';
|
|
5
|
+
import { backendImageInputBoundary } from './backend-image-inputs.js';
|
|
6
|
+
const match = createRequire(import.meta.url)('picomatch');
|
|
7
|
+
export const WORKSPACE_MAX_PACKAGE_FILES = 2_000;
|
|
8
|
+
export const WORKSPACE_MAX_MANIFEST_BYTES = 1_000_000;
|
|
9
|
+
export class WorkspaceInputError extends Error {
|
|
10
|
+
code = 'OPENXIANGDA_WORKSPACE_INPUT_INVALID';
|
|
11
|
+
}
|
|
12
|
+
export class WorkspaceInputLimitError extends Error {
|
|
13
|
+
code = 'OPENXIANGDA_WORKSPACE_CAPSULE_SCAN_LIMIT';
|
|
14
|
+
}
|
|
15
|
+
function readManifest(path) {
|
|
16
|
+
if (statSync(path).size > WORKSPACE_MAX_MANIFEST_BYTES) {
|
|
17
|
+
throw new WorkspaceInputLimitError(`${path} exceeds ${WORKSPACE_MAX_MANIFEST_BYTES} bytes`);
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
const manifest = JSON.parse(readFileSync(path, 'utf8'));
|
|
21
|
+
if (!manifest || typeof manifest !== 'object' || Array.isArray(manifest))
|
|
22
|
+
throw new Error('object required');
|
|
23
|
+
return manifest;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
throw new WorkspaceInputError(`package.json 无法解析: ${path}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/** Workspace declarations and effective artifact inputs, rather than arbitrary historical folders. */
|
|
30
|
+
export function workspacePackageInputs(root, options = {}) {
|
|
31
|
+
root = realpathSync(root);
|
|
32
|
+
const rootFile = join(root, 'package.json');
|
|
33
|
+
const rootManifest = existsSync(rootFile) ? readManifest(rootFile) : {};
|
|
34
|
+
let patterns = rootManifest.workspaces;
|
|
35
|
+
if (patterns && !Array.isArray(patterns) && typeof patterns === 'object')
|
|
36
|
+
patterns = patterns.packages;
|
|
37
|
+
const yamlPath = join(root, 'pnpm-workspace.yaml');
|
|
38
|
+
if (existsSync(yamlPath)) {
|
|
39
|
+
if (statSync(yamlPath).size > 256 * 1024)
|
|
40
|
+
throw new WorkspaceInputLimitError('pnpm-workspace.yaml 超过 256 KiB');
|
|
41
|
+
try {
|
|
42
|
+
const config = parse(readFileSync(yamlPath, 'utf8'), { maxAliasCount: 0 });
|
|
43
|
+
if (config?.packages !== undefined)
|
|
44
|
+
patterns = config.packages;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
throw new WorkspaceInputError('pnpm-workspace.yaml 无法解析');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const declared = patterns !== undefined;
|
|
51
|
+
if (declared && (!Array.isArray(patterns) || patterns.some(p => typeof p !== 'string' || p.length > 1024 || p.includes('..') || isAbsolute(p)))) {
|
|
52
|
+
throw new WorkspaceInputError('workspace packages 必须是工作区内的 glob 数组');
|
|
53
|
+
}
|
|
54
|
+
const globs = (patterns || []);
|
|
55
|
+
const positive = globs.filter(p => !p.startsWith('!')).map(p => p.replace(/^\.\//, '').replace(/\/+$/, ''));
|
|
56
|
+
const negative = globs.filter(p => p.startsWith('!')).map(p => p.slice(1).replace(/^\.\//, '').replace(/\/+$/, ''));
|
|
57
|
+
const includes = positive.length ? match(positive, { dot: true }) : () => false;
|
|
58
|
+
const excludes = negative.length ? match(negative, { dot: true }) : () => false;
|
|
59
|
+
const workspaceIncludes = (path) => includes(path) && !excludes(path);
|
|
60
|
+
const requestedDockerfile = options.dockerfile && resolve(root, options.dockerfile);
|
|
61
|
+
if (requestedDockerfile && lstatSync(requestedDockerfile).isSymbolicLink())
|
|
62
|
+
throw new WorkspaceInputError('Dockerfile 不能是符号链接');
|
|
63
|
+
const dockerfile = requestedDockerfile && realpathSync(requestedDockerfile);
|
|
64
|
+
const inside = (path) => path === root || path.startsWith(`${root}/`);
|
|
65
|
+
if (dockerfile && (!inside(dockerfile) || lstatSync(dockerfile).isSymbolicLink()))
|
|
66
|
+
throw new WorkspaceInputError('Dockerfile 必须位于工作区内');
|
|
67
|
+
const boundary = dockerfile ? backendImageInputBoundary(root, dockerfile) : undefined;
|
|
68
|
+
const selected = new Map();
|
|
69
|
+
let entries = 0;
|
|
70
|
+
const deadline = Date.now() + 60_000;
|
|
71
|
+
const add = (path) => {
|
|
72
|
+
if (!inside(realpathSync(path)))
|
|
73
|
+
throw new WorkspaceInputError(`本地包链接越出工作区: ${relative(root, path)}`);
|
|
74
|
+
if (selected.has(path))
|
|
75
|
+
return;
|
|
76
|
+
if (selected.size >= WORKSPACE_MAX_PACKAGE_FILES)
|
|
77
|
+
throw new WorkspaceInputLimitError(`workspace package.json count exceeds ${WORKSPACE_MAX_PACKAGE_FILES}`);
|
|
78
|
+
selected.set(path, readManifest(path));
|
|
79
|
+
};
|
|
80
|
+
if (existsSync(rootFile))
|
|
81
|
+
add(rootFile);
|
|
82
|
+
const walk = (directory) => {
|
|
83
|
+
for (const entry of readdirSync(directory, { withFileTypes: true })) {
|
|
84
|
+
if (++entries > 100_000 || Date.now() > deadline)
|
|
85
|
+
throw new WorkspaceInputLimitError('workspace 输入扫描超过 100000 项或 60 秒');
|
|
86
|
+
if (['node_modules', '.git'].includes(entry.name))
|
|
87
|
+
continue;
|
|
88
|
+
const path = join(directory, entry.name);
|
|
89
|
+
const rel = relative(root, path).replaceAll('\\', '/');
|
|
90
|
+
if (entry.isDirectory()) {
|
|
91
|
+
// Keep the historical fallback for workspaces that declare no package boundary.
|
|
92
|
+
if (!declared && ['dist', 'coverage', 'playwright-report', 'test-results', '.openxiangda', '.turbo'].includes(entry.name))
|
|
93
|
+
continue;
|
|
94
|
+
walk(path);
|
|
95
|
+
}
|
|
96
|
+
else if (entry.isFile() && entry.name === 'package.json') {
|
|
97
|
+
if (!declared || workspaceIncludes(relative(root, directory).replaceAll('\\', '/')) || boundary?.includes(rel))
|
|
98
|
+
add(path);
|
|
99
|
+
}
|
|
100
|
+
else if (entry.isSymbolicLink() && workspaceIncludes(rel)) {
|
|
101
|
+
if (!inside(realpathSync(path)))
|
|
102
|
+
throw new WorkspaceInputError(`工作区链接越界: ${rel}`);
|
|
103
|
+
if (existsSync(join(path, 'package.json')))
|
|
104
|
+
add(join(path, 'package.json'));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
walk(root);
|
|
109
|
+
const visited = new Set();
|
|
110
|
+
for (const [file, manifest] of selected) {
|
|
111
|
+
const real = realpathSync(file);
|
|
112
|
+
if (visited.has(real))
|
|
113
|
+
continue;
|
|
114
|
+
visited.add(real);
|
|
115
|
+
for (const section of ['dependencies', 'devDependencies', 'optionalDependencies', 'peerDependencies']) {
|
|
116
|
+
const deps = manifest[section];
|
|
117
|
+
if (!deps || typeof deps !== 'object')
|
|
118
|
+
continue;
|
|
119
|
+
for (const spec of Object.values(deps)) {
|
|
120
|
+
if (typeof spec !== 'string' || !/^(file|link):/.test(spec))
|
|
121
|
+
continue;
|
|
122
|
+
const path = resolve(dirname(file), spec.replace(/^(file|link):/, ''));
|
|
123
|
+
if (!inside(path) || !existsSync(path) || !inside(realpathSync(path)))
|
|
124
|
+
throw new WorkspaceInputError(`本地依赖缺失或越界: ${relative(root, file)} -> ${spec}`);
|
|
125
|
+
if (statSync(path).isDirectory()) {
|
|
126
|
+
if (!existsSync(join(path, 'package.json')))
|
|
127
|
+
throw new WorkspaceInputError(`本地依赖缺少 package.json: ${spec}`);
|
|
128
|
+
add(join(path, 'package.json'));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return [...selected.entries()].sort(([a], [b]) => a.localeCompare(b));
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=workspace-inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-inputs.js","sourceRoot":"","sources":["../src/workspace-inputs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openxiangda-devkit-core",
|
|
3
|
-
"version": "2.63.
|
|
3
|
+
"version": "2.63.1",
|
|
4
4
|
"description": "OpenXiangda 2.0 的编译、开发、检查、部署与中文资料服务。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -35,10 +35,12 @@
|
|
|
35
35
|
"ajv": "8.20.0",
|
|
36
36
|
"cron-parser": "5.4.0",
|
|
37
37
|
"esbuild": "0.28.2",
|
|
38
|
-
"openxiangda-contracts": "2.
|
|
38
|
+
"openxiangda-contracts": "2.84.0",
|
|
39
|
+
"picomatch": "4.0.5",
|
|
39
40
|
"proper-lockfile": "4.1.2",
|
|
40
41
|
"typescript": "5.9.3",
|
|
41
|
-
"undici": "6.28.0"
|
|
42
|
+
"undici": "6.28.0",
|
|
43
|
+
"yaml": "2.9.1"
|
|
42
44
|
},
|
|
43
45
|
"engines": {
|
|
44
46
|
"node": ">=20"
|