@guanjinke/artifact-client 1.11.0 → 1.12.0
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/README.md +217 -217
- package/dist/cli/setup.js +2 -2
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/environment/builder.d.ts.map +1 -1
- package/dist/environment/builder.js +78 -2
- package/dist/environment/builder.js.map +1 -1
- package/dist/environment/catalog.d.ts +24 -0
- package/dist/environment/catalog.d.ts.map +1 -1
- package/dist/environment/catalog.js +23 -1
- package/dist/environment/catalog.js.map +1 -1
- package/dist/environment/deferred.d.ts +38 -0
- package/dist/environment/deferred.d.ts.map +1 -0
- package/dist/environment/deferred.js +133 -0
- package/dist/environment/deferred.js.map +1 -0
- package/dist/environment/package-resource.d.ts +95 -0
- package/dist/environment/package-resource.d.ts.map +1 -0
- package/dist/environment/package-resource.js +323 -0
- package/dist/environment/package-resource.js.map +1 -0
- package/dist/environment/plan.d.ts +7 -1
- package/dist/environment/plan.d.ts.map +1 -1
- package/dist/environment/plan.js +25 -5
- package/dist/environment/plan.js.map +1 -1
- package/dist/environment/resource.d.ts +36 -0
- package/dist/environment/resource.d.ts.map +1 -0
- package/dist/environment/resource.js +101 -0
- package/dist/environment/resource.js.map +1 -0
- package/dist/environment/types.d.ts +36 -8
- package/dist/environment/types.d.ts.map +1 -1
- package/dist/environment/types.js +5 -0
- package/dist/environment/types.js.map +1 -1
- package/dist/environment/update.d.ts.map +1 -1
- package/dist/environment/update.js +210 -15
- package/dist/environment/update.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.sceneResourceDestination = exports.sceneResourceName = void 0;
|
|
37
|
+
exports.bundledResourcesDirectory = bundledResourcesDirectory;
|
|
38
|
+
exports.bundledResourceDirectory = bundledResourceDirectory;
|
|
39
|
+
exports.copyBundledResource = copyBundledResource;
|
|
40
|
+
exports.planBundledResource = planBundledResource;
|
|
41
|
+
exports.applyBundledResource = applyBundledResource;
|
|
42
|
+
const fs = __importStar(require("fs/promises"));
|
|
43
|
+
const fsSync = __importStar(require("fs"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const crypto_1 = require("crypto");
|
|
46
|
+
const atomic_1 = require("../utils/atomic");
|
|
47
|
+
/**
|
|
48
|
+
* The 3D scene assets bundled with this package.
|
|
49
|
+
*
|
|
50
|
+
* Wyn's 3D scene document designer loads its scene assets (HDR environments,
|
|
51
|
+
* geometry thumbnails, ground and flare textures) from `/3DScene` at the
|
|
52
|
+
* Server's own web root, so a created environment needs exactly those files
|
|
53
|
+
* below `<root>/Server/wwwroot/3DScene`. They are part of this package
|
|
54
|
+
* (`resources/3DScene`) and are copied from the package's installation
|
|
55
|
+
* directory — the downloaded product artifacts do not ship them.
|
|
56
|
+
*/
|
|
57
|
+
exports.sceneResourceName = '3DScene';
|
|
58
|
+
/** Environment-relative destination of the bundled 3D scene assets (POSIX separators). */
|
|
59
|
+
exports.sceneResourceDestination = 'Server/wwwroot/3DScene';
|
|
60
|
+
/**
|
|
61
|
+
* The `resources` directory of this package.
|
|
62
|
+
*
|
|
63
|
+
* Resolved from the compiled file location instead of the working directory:
|
|
64
|
+
* `__dirname` is `<package>/dist/environment` in an installed package and
|
|
65
|
+
* `<repository>/src/environment` under ts-jest, and the directory that holds
|
|
66
|
+
* `package.json` and `resources/` is two levels up in both layouts. `dist` is
|
|
67
|
+
* never named, so a differently compiled layout keeps working; the copy itself
|
|
68
|
+
* reports the resolved path when it is missing.
|
|
69
|
+
*/
|
|
70
|
+
function bundledResourcesDirectory() {
|
|
71
|
+
return path.resolve(__dirname, '..', '..', 'resources');
|
|
72
|
+
}
|
|
73
|
+
/** One named resource tree inside a bundled resources directory. */
|
|
74
|
+
function bundledResourceDirectory(name, resources = bundledResourcesDirectory()) {
|
|
75
|
+
return path.join(resources, name);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Whether a bundling layout is usable at all: the resource tree must be a real
|
|
79
|
+
* directory, not a link or a file. A missing tree fails loudly with the path
|
|
80
|
+
* that was expected — the alternative (skipping the copy) would produce an
|
|
81
|
+
* environment whose 3D scene designer is silently broken.
|
|
82
|
+
*/
|
|
83
|
+
async function resourceRoot(source, destination) {
|
|
84
|
+
let stat;
|
|
85
|
+
try {
|
|
86
|
+
stat = await fs.lstat(source);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
if (error.code !== 'ENOENT')
|
|
90
|
+
throw error;
|
|
91
|
+
throw new Error(`Bundled resource directory is missing: ${source}. This installation is incomplete and the environment would have no resources at ${destination}; reinstall the package, or create the environment with a complete installation.`);
|
|
92
|
+
}
|
|
93
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
94
|
+
throw new Error(`Bundled resource directory is not a regular directory: ${source}.`);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Copy every file of `source` into `destination` and return the relative POSIX
|
|
98
|
+
* paths that were written.
|
|
99
|
+
*
|
|
100
|
+
* Copies are exclusive, exactly like the rest of the builder: an existing file
|
|
101
|
+
* at a destination path fails the whole layout instead of being replaced, so a
|
|
102
|
+
* packed environment can never silently shadow the packaged assets (or the
|
|
103
|
+
* other way round). Directories are only merged when they are real directories.
|
|
104
|
+
*/
|
|
105
|
+
async function copyBundledResource(source, destination) {
|
|
106
|
+
await resourceRoot(source, destination);
|
|
107
|
+
const written = [];
|
|
108
|
+
const visit = async (from, to, relative) => {
|
|
109
|
+
for (const entry of await fs.readdir(from, { withFileTypes: true })) {
|
|
110
|
+
const child = relative ? `${relative}/${entry.name}` : entry.name;
|
|
111
|
+
const target = path.join(to, entry.name);
|
|
112
|
+
if (entry.isDirectory()) {
|
|
113
|
+
try {
|
|
114
|
+
await fs.mkdir(target);
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
if (error.code !== 'EEXIST')
|
|
118
|
+
throw error;
|
|
119
|
+
const stat = await fs.lstat(target);
|
|
120
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
121
|
+
throw new Error(`Bundled resource destination is not a directory: ${target}.`);
|
|
122
|
+
}
|
|
123
|
+
await visit(path.join(from, entry.name), target, child);
|
|
124
|
+
}
|
|
125
|
+
else if (entry.isFile()) {
|
|
126
|
+
try {
|
|
127
|
+
await fs.copyFile(path.join(from, entry.name), target, fsSync.constants.COPYFILE_EXCL);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
if (error.code === 'EEXIST')
|
|
131
|
+
throw new Error(`Bundled resource file already exists at ${target}. Bundled resources are copied exclusively and never overwrite an existing file.`);
|
|
132
|
+
throw error;
|
|
133
|
+
}
|
|
134
|
+
written.push(child);
|
|
135
|
+
}
|
|
136
|
+
else
|
|
137
|
+
throw new Error(`Unexpected link in bundled resource ${source}: ${child}.`);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
await fs.mkdir(destination, { recursive: true });
|
|
141
|
+
await visit(source, destination, '');
|
|
142
|
+
return written.sort();
|
|
143
|
+
}
|
|
144
|
+
/** Whether two regular files hold exactly the same bytes. */
|
|
145
|
+
async function sameContent(left, right) {
|
|
146
|
+
const digest = async (file) => {
|
|
147
|
+
const hash = (0, crypto_1.createHash)('sha256');
|
|
148
|
+
for await (const chunk of fsSync.createReadStream(file))
|
|
149
|
+
hash.update(chunk);
|
|
150
|
+
return hash.digest('hex');
|
|
151
|
+
};
|
|
152
|
+
return await digest(left) === await digest(right);
|
|
153
|
+
}
|
|
154
|
+
/** Classify one packaged file against its destination; fail loudly on an unusable destination. */
|
|
155
|
+
async function fileStatus(from, to) {
|
|
156
|
+
let stat;
|
|
157
|
+
try {
|
|
158
|
+
stat = await fs.lstat(to);
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
const code = error.code;
|
|
162
|
+
if (code === 'ENOENT')
|
|
163
|
+
return 'missing';
|
|
164
|
+
if (code === 'ENOTDIR')
|
|
165
|
+
throw new Error(`Bundled resource destination is not a directory: ${path.dirname(to)}.`);
|
|
166
|
+
throw error;
|
|
167
|
+
}
|
|
168
|
+
if (!stat.isFile() || stat.isSymbolicLink())
|
|
169
|
+
throw new Error(`Bundled resource destination is not a regular file: ${to}.`);
|
|
170
|
+
if ((await fs.lstat(from)).size !== stat.size)
|
|
171
|
+
return 'different';
|
|
172
|
+
return await sameContent(from, to) ? 'identical' : 'different';
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* A destination directory is usable only when it is a real directory, or when it
|
|
176
|
+
* does not exist yet and will be created by the apply. A file or a link where the
|
|
177
|
+
* packaged tree needs a directory fails the plan, on every platform, before
|
|
178
|
+
* anything is written.
|
|
179
|
+
*/
|
|
180
|
+
async function checkDestinationDirectory(directory) {
|
|
181
|
+
const stat = await fs.lstat(directory).catch((error) => {
|
|
182
|
+
if (error.code === 'ENOENT' || error.code === 'ENOTDIR')
|
|
183
|
+
return undefined;
|
|
184
|
+
throw error;
|
|
185
|
+
});
|
|
186
|
+
if (stat && (!stat.isDirectory() || stat.isSymbolicLink()))
|
|
187
|
+
throw new Error(`Bundled resource destination is not a directory: ${directory}.`);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Plan one bundled resource tree against its destination without writing anything.
|
|
191
|
+
*
|
|
192
|
+
* Every packaged file is classified (missing, identical or different) and the
|
|
193
|
+
* result carries the sorted relative POSIX paths plus the `added`/`updated`
|
|
194
|
+
* totals the update reports. A missing or unusable bundled directory fails loudly
|
|
195
|
+
* with the expected path, before anything is written, exactly like
|
|
196
|
+
* `copyBundledResource` fails a create — an environment whose 3D scene designer
|
|
197
|
+
* cannot load its assets is broken rather than degraded.
|
|
198
|
+
*
|
|
199
|
+
* `assumeMissing` covers an update that replaces a directory this tree lives in:
|
|
200
|
+
* the Server module owns `Server/`, so refreshing it removes the whole
|
|
201
|
+
* `wwwroot/3DScene` tree moments later. Classifying against content that is about
|
|
202
|
+
* to be deleted would report every file identical, write nothing, and leave the
|
|
203
|
+
* environment with no 3D scene assets at all.
|
|
204
|
+
*/
|
|
205
|
+
async function planBundledResource(source, destination, assumeMissing = false) {
|
|
206
|
+
await resourceRoot(source, destination);
|
|
207
|
+
await checkDestinationDirectory(destination);
|
|
208
|
+
const files = [];
|
|
209
|
+
const visit = async (from, to, relative) => {
|
|
210
|
+
for (const entry of await fs.readdir(from, { withFileTypes: true })) {
|
|
211
|
+
const child = relative ? `${relative}/${entry.name}` : entry.name;
|
|
212
|
+
if (entry.isDirectory()) {
|
|
213
|
+
const directory = path.join(to, entry.name);
|
|
214
|
+
await checkDestinationDirectory(directory);
|
|
215
|
+
await visit(path.join(from, entry.name), directory, child);
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
if (!entry.isFile())
|
|
219
|
+
throw new Error(`Unexpected link in bundled resource ${source}: ${child}.`);
|
|
220
|
+
files.push({ relative: child, status: assumeMissing ? 'missing' : await fileStatus(path.join(from, entry.name), path.join(to, entry.name)) });
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
await visit(source, destination, '');
|
|
224
|
+
files.sort((left, right) => left.relative < right.relative ? -1 : left.relative > right.relative ? 1 : 0);
|
|
225
|
+
return { files, added: files.filter(file => file.status === 'missing').length, updated: files.filter(file => file.status === 'different').length };
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Create one destination directory and every missing parent of it, remembering
|
|
229
|
+
* what was created so a failed apply can remove exactly those directories again.
|
|
230
|
+
*/
|
|
231
|
+
async function ensureDirectory(directory, created) {
|
|
232
|
+
const missing = [];
|
|
233
|
+
for (let current = directory;;) {
|
|
234
|
+
let stat;
|
|
235
|
+
try {
|
|
236
|
+
stat = await fs.lstat(current);
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
if (error.code !== 'ENOENT')
|
|
240
|
+
throw error;
|
|
241
|
+
missing.unshift(current);
|
|
242
|
+
const parent = path.dirname(current);
|
|
243
|
+
if (parent === current)
|
|
244
|
+
break;
|
|
245
|
+
current = parent;
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
249
|
+
throw new Error(`Bundled resource destination is not a directory: ${current}.`);
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
for (const item of missing) {
|
|
253
|
+
try {
|
|
254
|
+
await fs.mkdir(item);
|
|
255
|
+
created.push(item);
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
if (error.code !== 'EEXIST')
|
|
259
|
+
throw error;
|
|
260
|
+
const stat = await fs.lstat(item);
|
|
261
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
262
|
+
throw new Error(`Bundled resource destination is not a directory: ${item}.`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Reconcile one planned bundled tree into `destination`.
|
|
268
|
+
*
|
|
269
|
+
* A missing file is copied with the same exclusive discipline the builder uses,
|
|
270
|
+
* so a racing writer is never overwritten. A different file is first copied into
|
|
271
|
+
* `scratch` and then replaced through a temporary file and an atomic rename, so a
|
|
272
|
+
* reader never sees a partial file. Identical files are not touched at all. When
|
|
273
|
+
* any write fails, the files this call added are removed, the files it replaced
|
|
274
|
+
* are restored from `scratch` and the directories it created are removed again —
|
|
275
|
+
* a failed layout never leaves a half-applied resource tree behind.
|
|
276
|
+
*
|
|
277
|
+
* `scratch` must be on the same volume as `destination` (the update workspace
|
|
278
|
+
* beside the environment root is) and is only used for the replaced content.
|
|
279
|
+
*/
|
|
280
|
+
async function applyBundledResource(source, destination, plan, scratch) {
|
|
281
|
+
const added = [];
|
|
282
|
+
const updated = [];
|
|
283
|
+
const temporary = [];
|
|
284
|
+
const replaced = [];
|
|
285
|
+
const directories = [];
|
|
286
|
+
const targetOf = (relative) => path.join(destination, ...relative.split('/'));
|
|
287
|
+
try {
|
|
288
|
+
for (const file of plan.files) {
|
|
289
|
+
if (file.status === 'identical')
|
|
290
|
+
continue;
|
|
291
|
+
const from = path.join(source, ...file.relative.split('/'));
|
|
292
|
+
const target = targetOf(file.relative);
|
|
293
|
+
await ensureDirectory(path.dirname(target), directories);
|
|
294
|
+
if (file.status === 'missing') {
|
|
295
|
+
await fs.copyFile(from, target, fsSync.constants.COPYFILE_EXCL);
|
|
296
|
+
added.push(file.relative);
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
const pending = `${target}.afm-tmp`;
|
|
300
|
+
await fs.copyFile(from, pending);
|
|
301
|
+
temporary.push(pending);
|
|
302
|
+
const backup = path.join(scratch, ...file.relative.split('/'));
|
|
303
|
+
await fs.mkdir(path.dirname(backup), { recursive: true });
|
|
304
|
+
await fs.copyFile(target, backup);
|
|
305
|
+
await (0, atomic_1.renameAtomic)(pending, target);
|
|
306
|
+
replaced.push({ target, backup });
|
|
307
|
+
updated.push(file.relative);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
catch (error) {
|
|
311
|
+
for (const file of temporary)
|
|
312
|
+
await fs.rm(file, { force: true }).catch(() => { });
|
|
313
|
+
for (const relative of added)
|
|
314
|
+
await fs.rm(targetOf(relative), { force: true }).catch(() => { });
|
|
315
|
+
for (const item of replaced)
|
|
316
|
+
await (0, atomic_1.renameAtomic)(item.backup, item.target).catch(() => { });
|
|
317
|
+
for (const directory of directories.reverse())
|
|
318
|
+
await fs.rmdir(directory).catch(() => { });
|
|
319
|
+
throw error;
|
|
320
|
+
}
|
|
321
|
+
return { added, updated };
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=package-resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-resource.js","sourceRoot":"","sources":["../../src/environment/package-resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,9 @@ export declare const defaultPort: number;
|
|
|
18
18
|
* The core components (server, account, dataset, analysis model, cot worker,
|
|
19
19
|
* monitoring) are always included and are never selected here. Data Monitoring
|
|
20
20
|
* ships one editionless archive, so both editions offer it; CN ships dashboards
|
|
21
|
-
* and reporting, and EN additionally ships sheets and smart documents.
|
|
21
|
+
* and reporting, and EN additionally ships sheets and smart documents. `patch`
|
|
22
|
+
* is edition-independent: it is selectable in both editions and is deployed only
|
|
23
|
+
* when the caller selects it.
|
|
22
24
|
*/
|
|
23
25
|
export declare const optionalModulesByEdition: Record<'cn' | 'en', EnvironmentModule[]>;
|
|
24
26
|
/** Every selectable optional module, in the order errors and the UI list them. */
|
|
@@ -55,6 +57,10 @@ export declare function dependencyModules(selected: readonly string[]): string[]
|
|
|
55
57
|
* `plan.ts` builds the artifacts from this and `builder.ts` re-derives it to
|
|
56
58
|
* validate an untrusted plan, so the two can never disagree.
|
|
57
59
|
*
|
|
60
|
+
* A deferred module is emitted after every other selected module because its
|
|
61
|
+
* version and payload only exist once those artifacts are on disk. The update
|
|
62
|
+
* plan uses the same ordering (`patch` after `server` even when named first).
|
|
63
|
+
*
|
|
58
64
|
* A trailing module is only part of a plan that really deploys it: the caller
|
|
59
65
|
* filters the returned list against the module's availability for the major.
|
|
60
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAYpG,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9G;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;CAAyC,CAAC;AAEhE,sEAAsE;AACtE,eAAO,MAAM,WAAW,EAAE,MAAwB,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAYpG,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9G;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;CAAyC,CAAC;AAEhE,sEAAsE;AACtE,eAAO,MAAM,WAAW,EAAE,MAAwB,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAG7E,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAG3C,CAAC;AAEL,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAAmD,CAAC;AAEzF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,EAA8C,CAAC;AAEnF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAIpE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAGrG;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CAmBrM;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAoFnK"}
|
package/dist/environment/plan.js
CHANGED
|
@@ -108,14 +108,19 @@ exports.defaultPort = exports.portRange.first;
|
|
|
108
108
|
* The core components (server, account, dataset, analysis model, cot worker,
|
|
109
109
|
* monitoring) are always included and are never selected here. Data Monitoring
|
|
110
110
|
* ships one editionless archive, so both editions offer it; CN ships dashboards
|
|
111
|
-
* and reporting, and EN additionally ships sheets and smart documents.
|
|
111
|
+
* and reporting, and EN additionally ships sheets and smart documents. `patch`
|
|
112
|
+
* is edition-independent: it is selectable in both editions and is deployed only
|
|
113
|
+
* when the caller selects it.
|
|
112
114
|
*/
|
|
113
115
|
exports.optionalModulesByEdition = {
|
|
114
|
-
cn: ['dashboard', 'reporting', 'data-monitoring'],
|
|
115
|
-
en: ['dashboard', 'reporting', 'data-monitoring', 'sheets', 'documents'],
|
|
116
|
+
cn: ['dashboard', 'reporting', 'data-monitoring', 'patch'],
|
|
117
|
+
en: ['dashboard', 'reporting', 'data-monitoring', 'sheets', 'documents', 'patch'],
|
|
116
118
|
};
|
|
117
119
|
/** Every selectable optional module, in the order errors and the UI list them. */
|
|
118
|
-
exports.optionalModules =
|
|
120
|
+
exports.optionalModules = (() => {
|
|
121
|
+
const listed = [...new Set(Object.values(exports.optionalModulesByEdition).flat())];
|
|
122
|
+
return [...listed.filter(module => !catalog_1.catalog[module].deferred), ...listed.filter(module => catalog_1.catalog[module].deferred)];
|
|
123
|
+
})();
|
|
119
124
|
/** Components every environment contains, selected or not. */
|
|
120
125
|
exports.autoAddedModules = ['server', 'monitoring', 'common', 'analysis'];
|
|
121
126
|
/**
|
|
@@ -150,11 +155,17 @@ function dependencyModules(selected) {
|
|
|
150
155
|
* `plan.ts` builds the artifacts from this and `builder.ts` re-derives it to
|
|
151
156
|
* validate an untrusted plan, so the two can never disagree.
|
|
152
157
|
*
|
|
158
|
+
* A deferred module is emitted after every other selected module because its
|
|
159
|
+
* version and payload only exist once those artifacts are on disk. The update
|
|
160
|
+
* plan uses the same ordering (`patch` after `server` even when named first).
|
|
161
|
+
*
|
|
153
162
|
* A trailing module is only part of a plan that really deploys it: the caller
|
|
154
163
|
* filters the returned list against the module's availability for the major.
|
|
155
164
|
*/
|
|
156
165
|
function plannedModules(selected) {
|
|
157
|
-
|
|
166
|
+
const deferred = selected.filter(module => catalog_1.catalog[module]?.deferred);
|
|
167
|
+
const direct = selected.filter(module => !catalog_1.catalog[module]?.deferred);
|
|
168
|
+
return [...exports.autoAddedModules, ...dependencyModules(selected), ...direct, ...deferred, ...exports.trailingModules];
|
|
158
169
|
}
|
|
159
170
|
/**
|
|
160
171
|
* The modules of `plannedModules(selected)` this environment really deploys:
|
|
@@ -226,6 +237,15 @@ async function buildEnvironmentPlan(options, client, onProgress) {
|
|
|
226
237
|
const artifacts = [];
|
|
227
238
|
for (const [index, module] of modules.entries()) {
|
|
228
239
|
const entry = catalog_1.catalog[module];
|
|
240
|
+
// A deferred module has no version to resolve before the Server package is
|
|
241
|
+
// on disk. The plan records only its public label; the builder reads the
|
|
242
|
+
// Server tree it has just laid out and resolves the version from there. The
|
|
243
|
+
// real plugin name and the replaced file name never enter the plan.
|
|
244
|
+
if (entry.deferred) {
|
|
245
|
+
onProgress?.(`[${index + 1}/${modules.length}] ${(0, catalog_1.moduleLabel)(entry)} is resolved from the Server package while it is assembled`);
|
|
246
|
+
artifacts.push({ module, plugin: (0, catalog_1.moduleLabel)(entry), deferred: true });
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
229
249
|
onProgress?.(`[${index + 1}/${modules.length}] Resolving ${entry.plugin}/${normalized.major}`);
|
|
230
250
|
let version;
|
|
231
251
|
let files;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { LayoutMapping } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Where the Server serves the 3D scene designer's static resources from.
|
|
4
|
+
*
|
|
5
|
+
* Wyn's 3D scene document designer requests its scene assets from `/3DScene` at
|
|
6
|
+
* the Server's own web root, so a package that ships them in a directory of its
|
|
7
|
+
* own (`resource/3DScene`) has to be laid out here — not at `Server/resource/3DScene`,
|
|
8
|
+
* which is where a whole-archive mapping into `Server` would put them.
|
|
9
|
+
*/
|
|
10
|
+
export declare const resourceDestination = "Server/wwwroot/3DScene";
|
|
11
|
+
/**
|
|
12
|
+
* Whether a directory inside an artifact archive is a 3D scene resource tree.
|
|
13
|
+
*
|
|
14
|
+
* The last two path segments are compared, so `resource/3DScene` and
|
|
15
|
+
* `resources/3dscene` match at the archive root and when nested (for example
|
|
16
|
+
* inside a `Web Contents` folder). Both segments are case-insensitive and either
|
|
17
|
+
* singular or plural is accepted, because the packaging side chooses the
|
|
18
|
+
* spelling and this layout rule must not depend on a particular artifact.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isResourceDirectory(relative: string): boolean;
|
|
21
|
+
/** The layout mapping of one resource directory: static files, no assembly and no service entry. */
|
|
22
|
+
export declare function resourceMapping(source: string): LayoutMapping;
|
|
23
|
+
/**
|
|
24
|
+
* The resource mappings an extracted archive really contains.
|
|
25
|
+
*
|
|
26
|
+
* Resource trees are not named in the catalog: the same fixed destination
|
|
27
|
+
* applies whatever module ships the files, so the archive's own directory list
|
|
28
|
+
* decides. Reading the extracted tree keeps `environment.lock.json` truthful —
|
|
29
|
+
* an artifact that ships no resource directory gets no mapping, one that does
|
|
30
|
+
* gets the mapping that was actually laid out.
|
|
31
|
+
*
|
|
32
|
+
* The walk is iterative and ignores files, so a deep or wide archive neither
|
|
33
|
+
* recurses the stack nor reads anything but directories.
|
|
34
|
+
*/
|
|
35
|
+
export declare function resourceMappings(extracted: string): Promise<LayoutMapping[]>;
|
|
36
|
+
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/environment/resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAE7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAelF"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.resourceDestination = void 0;
|
|
37
|
+
exports.isResourceDirectory = isResourceDirectory;
|
|
38
|
+
exports.resourceMapping = resourceMapping;
|
|
39
|
+
exports.resourceMappings = resourceMappings;
|
|
40
|
+
const fs = __importStar(require("fs/promises"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
/**
|
|
43
|
+
* Where the Server serves the 3D scene designer's static resources from.
|
|
44
|
+
*
|
|
45
|
+
* Wyn's 3D scene document designer requests its scene assets from `/3DScene` at
|
|
46
|
+
* the Server's own web root, so a package that ships them in a directory of its
|
|
47
|
+
* own (`resource/3DScene`) has to be laid out here — not at `Server/resource/3DScene`,
|
|
48
|
+
* which is where a whole-archive mapping into `Server` would put them.
|
|
49
|
+
*/
|
|
50
|
+
exports.resourceDestination = 'Server/wwwroot/3DScene';
|
|
51
|
+
/**
|
|
52
|
+
* Whether a directory inside an artifact archive is a 3D scene resource tree.
|
|
53
|
+
*
|
|
54
|
+
* The last two path segments are compared, so `resource/3DScene` and
|
|
55
|
+
* `resources/3dscene` match at the archive root and when nested (for example
|
|
56
|
+
* inside a `Web Contents` folder). Both segments are case-insensitive and either
|
|
57
|
+
* singular or plural is accepted, because the packaging side chooses the
|
|
58
|
+
* spelling and this layout rule must not depend on a particular artifact.
|
|
59
|
+
*/
|
|
60
|
+
function isResourceDirectory(relative) {
|
|
61
|
+
const segments = relative.split('/');
|
|
62
|
+
if (segments.length < 2)
|
|
63
|
+
return false;
|
|
64
|
+
return /^resources?$/i.test(segments[segments.length - 2]) && /^3dscene$/i.test(segments[segments.length - 1]);
|
|
65
|
+
}
|
|
66
|
+
/** The layout mapping of one resource directory: static files, no assembly and no service entry. */
|
|
67
|
+
function resourceMapping(source) {
|
|
68
|
+
return { source, destination: exports.resourceDestination, assemblies: [], role: 'resource' };
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The resource mappings an extracted archive really contains.
|
|
72
|
+
*
|
|
73
|
+
* Resource trees are not named in the catalog: the same fixed destination
|
|
74
|
+
* applies whatever module ships the files, so the archive's own directory list
|
|
75
|
+
* decides. Reading the extracted tree keeps `environment.lock.json` truthful —
|
|
76
|
+
* an artifact that ships no resource directory gets no mapping, one that does
|
|
77
|
+
* gets the mapping that was actually laid out.
|
|
78
|
+
*
|
|
79
|
+
* The walk is iterative and ignores files, so a deep or wide archive neither
|
|
80
|
+
* recurses the stack nor reads anything but directories.
|
|
81
|
+
*/
|
|
82
|
+
async function resourceMappings(extracted) {
|
|
83
|
+
const found = [];
|
|
84
|
+
const pending = [''];
|
|
85
|
+
while (pending.length) {
|
|
86
|
+
const relative = pending.pop();
|
|
87
|
+
for (const entry of await fs.readdir(path.join(extracted, relative), { withFileTypes: true })) {
|
|
88
|
+
if (!entry.isDirectory())
|
|
89
|
+
continue;
|
|
90
|
+
const child = relative ? `${relative}/${entry.name}` : entry.name;
|
|
91
|
+
// The matched directory is a leaf for this walk: a nested resource tree of
|
|
92
|
+
// its own would be part of the same 3D scene assets.
|
|
93
|
+
if (isResourceDirectory(child))
|
|
94
|
+
found.push(child);
|
|
95
|
+
else
|
|
96
|
+
pending.push(child);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return found.sort().map(resourceMapping);
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/environment/resource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,kDAIC;AAGD,0CAEC;AAcD,4CAeC;AA7DD,gDAAkC;AAClC,2CAA6B;AAG7B;;;;;;;GAOG;AACU,QAAA,mBAAmB,GAAG,wBAAwB,CAAC;AAE5D;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC;AAED,oGAAoG;AACpG,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,2BAAmB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACxF,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,CAAC,EAAE,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAG,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9F,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAClE,2EAA2E;YAC3E,qDAAqD;YACrD,IAAI,mBAAmB,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;gBAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC3C,CAAC"}
|