@guanjinke/artifact-client 1.13.0 → 1.14.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 +219 -217
- package/dist/cli.js +0 -0
- package/dist/environment/artifact-cache.d.ts +36 -0
- package/dist/environment/artifact-cache.d.ts.map +1 -0
- package/dist/environment/artifact-cache.js +131 -0
- package/dist/environment/artifact-cache.js.map +1 -0
- package/dist/environment/builder.d.ts.map +1 -1
- package/dist/environment/builder.js +10 -3
- package/dist/environment/builder.js.map +1 -1
- package/dist/environment/local-server.d.ts +12 -0
- package/dist/environment/local-server.d.ts.map +1 -0
- package/dist/environment/local-server.js +201 -0
- package/dist/environment/local-server.js.map +1 -0
- package/dist/environment/manager.d.ts.map +1 -1
- package/dist/environment/manager.js +7 -0
- package/dist/environment/manager.js.map +1 -1
- package/dist/environment/manifest.d.ts +56 -0
- package/dist/environment/manifest.d.ts.map +1 -0
- package/dist/environment/manifest.js +81 -0
- package/dist/environment/manifest.js.map +1 -0
- package/dist/environment/update.d.ts +1 -1
- package/dist/environment/update.d.ts.map +1 -1
- package/dist/environment/update.js +79 -42
- package/dist/environment/update.js.map +1 -1
- package/dist/providers/oss-provider.d.ts.map +1 -1
- package/dist/providers/oss-provider.js +28 -2
- package/dist/providers/oss-provider.js.map +1 -1
- package/dist/web/static/styles.css +1619 -1619
- package/package.json +1 -1
|
@@ -0,0 +1,131 @@
|
|
|
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.artifactCacheDirectory = artifactCacheDirectory;
|
|
37
|
+
exports.cachedArtifactPath = cachedArtifactPath;
|
|
38
|
+
exports.cachedArtifact = cachedArtifact;
|
|
39
|
+
exports.storeArtifact = storeArtifact;
|
|
40
|
+
exports.rememberArtifact = rememberArtifact;
|
|
41
|
+
const fs = __importStar(require("fs/promises"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const crypto_1 = require("crypto");
|
|
44
|
+
const fs_1 = require("fs");
|
|
45
|
+
const config_manager_1 = require("../cli/config-manager");
|
|
46
|
+
const atomic_1 = require("../utils/atomic");
|
|
47
|
+
/**
|
|
48
|
+
* Local cache of downloaded artifacts.
|
|
49
|
+
*
|
|
50
|
+
* A local Server build replaces `Server/` on every start, which throws away the
|
|
51
|
+
* built-in resource tree and the patched file. Re-applying them must not touch the
|
|
52
|
+
* network: the `env` command group has no cloud provider, and a start should not
|
|
53
|
+
* depend on the cloud being reachable. Create and update therefore store every
|
|
54
|
+
* artifact they download here, keyed by the provider-side identity, and the start
|
|
55
|
+
* path reads only from this cache.
|
|
56
|
+
*
|
|
57
|
+
* Layout: `<config directory>/cache/artifacts/<plugin>/<version>/<object name>`
|
|
58
|
+
* (object names may contain sub-directories, e.g. `patched/X.dll`), where the
|
|
59
|
+
* config directory is `AFM_CONFIG_DIR` or `~/.afm`. The provider and version are
|
|
60
|
+
* internal: nothing here is echoed to the user.
|
|
61
|
+
*/
|
|
62
|
+
function artifactCacheDirectory() {
|
|
63
|
+
return path.join((0, config_manager_1.getConfigDir)(), 'cache', 'artifacts');
|
|
64
|
+
}
|
|
65
|
+
function hashFile(file) {
|
|
66
|
+
return new Promise((resolve, reject) => {
|
|
67
|
+
const hash = (0, crypto_1.createHash)('sha256');
|
|
68
|
+
const stream = (0, fs_1.createReadStream)(file);
|
|
69
|
+
stream.on('data', chunk => hash.update(chunk));
|
|
70
|
+
stream.on('error', reject);
|
|
71
|
+
stream.on('end', () => resolve(hash.digest('hex')));
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/** Reject a key that could leave the cache directory or address a device name. */
|
|
75
|
+
function safeSegments(value, what) {
|
|
76
|
+
const segments = value.split('/');
|
|
77
|
+
for (const segment of segments) {
|
|
78
|
+
if (!segment || segment === '.' || segment === '..' || /[\\:\x00-\x1f]/.test(segment))
|
|
79
|
+
throw new Error(`Invalid artifact cache ${what}: ${value}`);
|
|
80
|
+
}
|
|
81
|
+
return segments;
|
|
82
|
+
}
|
|
83
|
+
/** Where one cached object lives; exported for tests and diagnostics. */
|
|
84
|
+
function cachedArtifactPath(plugin, version, name) {
|
|
85
|
+
return path.join(artifactCacheDirectory(), ...safeSegments(plugin, 'plugin'), ...safeSegments(version, 'version'), ...safeSegments(name, 'object name'));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A cached object, or `undefined` when it is absent, not a regular file, or does
|
|
89
|
+
* not match the recorded SHA256. A mismatching file is treated as absent: the next
|
|
90
|
+
* create or update overwrites it, and a start refuses instead of deploying bytes
|
|
91
|
+
* nobody verified.
|
|
92
|
+
*/
|
|
93
|
+
async function cachedArtifact(plugin, version, name, sha256) {
|
|
94
|
+
const file = cachedArtifactPath(plugin, version, name);
|
|
95
|
+
const stat = await fs.lstat(file).catch(() => undefined);
|
|
96
|
+
if (!stat || !stat.isFile() || stat.isSymbolicLink())
|
|
97
|
+
return undefined;
|
|
98
|
+
if (sha256 !== undefined && await hashFile(file) !== sha256.toLowerCase())
|
|
99
|
+
return undefined;
|
|
100
|
+
return file;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Store one downloaded artifact under its provider-side identity.
|
|
104
|
+
*
|
|
105
|
+
* Copies through a uniquely named `.afm-tmp` sibling and an atomic rename, so a
|
|
106
|
+
* concurrent reader never sees a partial object and a failed write leaves no
|
|
107
|
+
* temporary file behind. An existing object with the same hash is kept as it is.
|
|
108
|
+
*/
|
|
109
|
+
async function storeArtifact(plugin, version, name, sourceFile, sha256) {
|
|
110
|
+
const target = cachedArtifactPath(plugin, version, name);
|
|
111
|
+
const stat = await fs.lstat(target).catch(() => undefined);
|
|
112
|
+
if (stat?.isFile() && await hashFile(target) === sha256.toLowerCase())
|
|
113
|
+
return;
|
|
114
|
+
await fs.mkdir(path.dirname(target), { recursive: true });
|
|
115
|
+
const temporary = `${target}.afm-tmp-${process.pid}-${(0, crypto_1.randomUUID)()}`;
|
|
116
|
+
try {
|
|
117
|
+
await fs.copyFile(sourceFile, temporary);
|
|
118
|
+
await (0, atomic_1.renameAtomic)(temporary, target);
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
await fs.unlink(temporary).catch(() => undefined);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** Best-effort variant: caching must never fail a create or an update. */
|
|
125
|
+
async function rememberArtifact(plugin, version, name, sourceFile, sha256) {
|
|
126
|
+
try {
|
|
127
|
+
await storeArtifact(plugin, version, name, sourceFile, sha256);
|
|
128
|
+
}
|
|
129
|
+
catch { /* The cache is an optimization. */ }
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=artifact-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-cache.js","sourceRoot":"","sources":["../../src/environment/artifact-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/environment/builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/environment/builder.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,EAAsB,MAAM,SAAS,CAAC;AAc1G,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAQzG;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D;AACD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5D;AACD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,GAAE,SAAS,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxH;AA4DD,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyQ1I"}
|
|
@@ -45,6 +45,7 @@ const crypto_1 = require("crypto");
|
|
|
45
45
|
const catalog_1 = require("./catalog");
|
|
46
46
|
const deferred_1 = require("./deferred");
|
|
47
47
|
const archive_1 = require("./archive");
|
|
48
|
+
const artifact_cache_1 = require("./artifact-cache");
|
|
48
49
|
const config_1 = require("./config");
|
|
49
50
|
const plan_1 = require("./plan");
|
|
50
51
|
const types_1 = require("./types");
|
|
@@ -265,7 +266,9 @@ async function executeEnvironmentPlan(inputPlan, dependencies) {
|
|
|
265
266
|
const source = path.join(download, ...payload.name.split('/'));
|
|
266
267
|
await regularFile(source);
|
|
267
268
|
dependencies.onProgress?.(`[${index + 1}/${plan.artifacts.length}] ${publicName}/${version}: Download complete; calculating SHA256`);
|
|
268
|
-
|
|
269
|
+
const replacementSha = await hashFile(source);
|
|
270
|
+
await (0, artifact_cache_1.rememberArtifact)(entry.plugin, version, payload.name, source, replacementSha);
|
|
271
|
+
hashes.push({ plugin: publicName, version, name: publicName, sha256: replacementSha });
|
|
269
272
|
downloaded.push({ name: payload.name, source });
|
|
270
273
|
}
|
|
271
274
|
const mappings = (0, deferred_1.replacementMappings)(entry);
|
|
@@ -313,7 +316,9 @@ async function executeEnvironmentPlan(inputPlan, dependencies) {
|
|
|
313
316
|
const payload = path.join(download, ...payloadName.split('/'));
|
|
314
317
|
await regularFile(payload);
|
|
315
318
|
dependencies.onProgress?.(`${fileLabel}: Download complete; calculating SHA256`);
|
|
316
|
-
|
|
319
|
+
const payloadSha = await hashFile(payload);
|
|
320
|
+
await (0, artifact_cache_1.rememberArtifact)(artifact.plugin, artifact.version, payloadName, payload, payloadSha);
|
|
321
|
+
hashes.push({ plugin: artifact.plugin, version: artifact.version, name: payloadName, sha256: payloadSha });
|
|
317
322
|
}
|
|
318
323
|
dependencies.onProgress?.(`${label}: Deploying payload files`);
|
|
319
324
|
// A mapping of the other edition is not deployed at all: its directory
|
|
@@ -333,7 +338,9 @@ async function executeEnvironmentPlan(inputPlan, dependencies) {
|
|
|
333
338
|
const archive = path.join(download, artifact.name);
|
|
334
339
|
await regularFile(archive);
|
|
335
340
|
dependencies.onProgress?.(`${label}: Download complete; calculating SHA256`);
|
|
336
|
-
|
|
341
|
+
const archiveSha = await hashFile(archive);
|
|
342
|
+
await (0, artifact_cache_1.rememberArtifact)(artifact.plugin, artifact.version, artifact.name, archive, archiveSha);
|
|
343
|
+
hashes.push({ plugin: artifact.plugin, version: artifact.version, name: artifact.name, sha256: archiveSha });
|
|
337
344
|
dependencies.onProgress?.(`${label}: Extracting and validating ZIP`);
|
|
338
345
|
await (0, archive_1.extractArchive)(archive, extracted);
|
|
339
346
|
dependencies.onProgress?.(`${label}: Assembling installation directories`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/environment/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/environment/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EnvironmentRecord } from './registry';
|
|
2
|
+
import { EnvironmentProgress } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Prepare an environment that runs a local Server build.
|
|
5
|
+
*
|
|
6
|
+
* Called before the monitor is spawned. Does nothing when the environment has no
|
|
7
|
+
* local Server source. Otherwise: validate and sync the build directory over
|
|
8
|
+
* `Server/`, then re-apply the built-in resource trees and the patch from the
|
|
9
|
+
* local cache. Never downloads and never constructs a cloud client.
|
|
10
|
+
*/
|
|
11
|
+
export declare function prepareLocalServer(entry: EnvironmentRecord, onProgress?: EnvironmentProgress): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=local-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-server.d.ts","sourceRoot":"","sources":["../../src/environment/local-server.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA+G9C;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBlH"}
|
|
@@ -0,0 +1,201 @@
|
|
|
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.prepareLocalServer = prepareLocalServer;
|
|
37
|
+
const fs = __importStar(require("fs/promises"));
|
|
38
|
+
const os = __importStar(require("os"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const catalog_1 = require("./catalog");
|
|
41
|
+
const archive_1 = require("./archive");
|
|
42
|
+
const builder_1 = require("./builder");
|
|
43
|
+
const artifact_cache_1 = require("./artifact-cache");
|
|
44
|
+
const deferred_1 = require("./deferred");
|
|
45
|
+
const manifest_1 = require("./manifest");
|
|
46
|
+
/**
|
|
47
|
+
* A local Server build replaces `Server/` on every start.
|
|
48
|
+
*
|
|
49
|
+
* The copy wipes the two built-in payloads that live inside that directory — the
|
|
50
|
+
* 3D scene/map trees (`Server/wwwroot/...`) and the patched runtime file — so both
|
|
51
|
+
* are re-applied afterwards, from the local artifact cache only. The `env` command
|
|
52
|
+
* group has no cloud provider: a start never downloads, and a cache miss is a hard
|
|
53
|
+
* error that says which command refreshes the missing payload.
|
|
54
|
+
*/
|
|
55
|
+
/** The environment's own Server settings; a build directory never replaces them. */
|
|
56
|
+
const serverOwnedFiles = new Set(['appsettings.json', 'appsettings.development.json']);
|
|
57
|
+
const lstatOrUndefined = (target) => fs.lstat(target).catch((error) => { if (error.code === 'ENOENT')
|
|
58
|
+
return undefined; throw error; });
|
|
59
|
+
/** Copy every file of the build directory over the deployed Server tree. */
|
|
60
|
+
async function syncTree(from, to, root) {
|
|
61
|
+
const entries = await fs.readdir(from, { withFileTypes: true });
|
|
62
|
+
let copied = 0;
|
|
63
|
+
for (const item of entries) {
|
|
64
|
+
if (root && serverOwnedFiles.has(item.name.toLowerCase()))
|
|
65
|
+
continue;
|
|
66
|
+
const source = path.join(from, item.name);
|
|
67
|
+
const target = path.join(to, item.name);
|
|
68
|
+
const sourceStat = await fs.lstat(source);
|
|
69
|
+
if (sourceStat.isSymbolicLink())
|
|
70
|
+
throw new Error(`Local Server build contains a link: ${source}.`);
|
|
71
|
+
if (sourceStat.isDirectory()) {
|
|
72
|
+
const targetStat = await lstatOrUndefined(target);
|
|
73
|
+
// A link or a file where the build has a directory could make the copy
|
|
74
|
+
// write outside the environment or fail halfway through the tree.
|
|
75
|
+
if (targetStat?.isSymbolicLink())
|
|
76
|
+
throw new Error(`Local Server build cannot write through the link ${target}; remove it first.`);
|
|
77
|
+
if (targetStat && !targetStat.isDirectory())
|
|
78
|
+
throw new Error(`Local Server build cannot replace ${target} with a directory.`);
|
|
79
|
+
await fs.mkdir(target, { recursive: true });
|
|
80
|
+
copied += await syncTree(source, target, false);
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
if (!sourceStat.isFile())
|
|
84
|
+
throw new Error(`Local Server build contains an unsupported entry: ${source}.`);
|
|
85
|
+
const targetStat = await lstatOrUndefined(target);
|
|
86
|
+
// The deployed tree is never followed: a link where the build has a file
|
|
87
|
+
// would make the copy write through it, outside the environment.
|
|
88
|
+
if (targetStat?.isSymbolicLink())
|
|
89
|
+
throw new Error(`Local Server build cannot replace the link ${target}; remove it first.`);
|
|
90
|
+
if (targetStat?.isDirectory())
|
|
91
|
+
throw new Error(`Local Server build cannot replace the directory ${target} with a file.`);
|
|
92
|
+
// Unchanged files stay untouched: a rebuilt directory only copies what changed.
|
|
93
|
+
// The comparison is in whole milliseconds because the copy stamps the target
|
|
94
|
+
// with the source's mtime; a coarser tolerance would hide a quick rebuild.
|
|
95
|
+
if (targetStat?.isFile() && targetStat.size === sourceStat.size && Math.floor(targetStat.mtimeMs) === Math.floor(sourceStat.mtimeMs))
|
|
96
|
+
continue;
|
|
97
|
+
await fs.mkdir(path.dirname(target), { recursive: true });
|
|
98
|
+
await fs.copyFile(source, target);
|
|
99
|
+
await fs.utimes(target, new Date(Math.floor(sourceStat.atimeMs)), new Date(Math.floor(sourceStat.mtimeMs)));
|
|
100
|
+
copied += 1;
|
|
101
|
+
}
|
|
102
|
+
return copied;
|
|
103
|
+
}
|
|
104
|
+
/** Re-deploy the built-in resource trees from the cache (edition-matching map). */
|
|
105
|
+
async function reapplyResourceTrees(entry, manifest, onProgress) {
|
|
106
|
+
const artifact = (manifest.artifacts ?? []).find(candidate => candidate?.module === 'dashboard-resource');
|
|
107
|
+
if (!artifact)
|
|
108
|
+
return;
|
|
109
|
+
if (typeof artifact.version !== 'string' || artifact.version === '')
|
|
110
|
+
throw new Error('The lock manifest records dashboard-resource without a version; re-create the environment with create-env before starting it with a local Server build.');
|
|
111
|
+
const resource = catalog_1.catalog['dashboard-resource'];
|
|
112
|
+
const edition = entry.edition === 'en' ? 'en' : 'cn';
|
|
113
|
+
const name = resource.filename(artifact.version, edition);
|
|
114
|
+
// The manifest records the SHA256 of the object the create or update really
|
|
115
|
+
// downloaded: a cache file that no longer matches it is a miss, not a payload
|
|
116
|
+
// nobody verified.
|
|
117
|
+
const recorded = (manifest.downloads ?? []).find(candidate => candidate?.plugin === resource.plugin && candidate.version === artifact.version && candidate.name === name)?.sha256;
|
|
118
|
+
const cached = await (0, artifact_cache_1.cachedArtifact)(resource.plugin, artifact.version, name, typeof recorded === 'string' ? recorded : undefined);
|
|
119
|
+
if (!cached)
|
|
120
|
+
throw new Error(`The built-in resource payload ${artifact.version} is not cached; re-create the environment with create-env before starting it with a local Server build.`);
|
|
121
|
+
const scratch = await fs.mkdtemp(path.join(os.tmpdir(), 'afm-local-resource-'));
|
|
122
|
+
try {
|
|
123
|
+
await (0, archive_1.extractArchive)(cached, scratch);
|
|
124
|
+
for (const mapping of (0, catalog_1.editionMappings)(resource.mappings, edition)) {
|
|
125
|
+
if (mapping.role !== 'resource')
|
|
126
|
+
continue;
|
|
127
|
+
const source = path.join(scratch, ...mapping.source.split('/'));
|
|
128
|
+
const stat = await lstatOrUndefined(source);
|
|
129
|
+
if (!stat?.isDirectory() || stat.isSymbolicLink())
|
|
130
|
+
throw new Error(`The cached resource payload is invalid: ${mapping.source} is missing.`);
|
|
131
|
+
const destination = path.join(entry.root, ...mapping.destination.split('/'));
|
|
132
|
+
await fs.rm(destination, { recursive: true, force: true });
|
|
133
|
+
await (0, builder_1.copyTree)(source, destination);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
await fs.rm(scratch, { recursive: true, force: true });
|
|
138
|
+
}
|
|
139
|
+
onProgress?.(`${entry.name}: resource payload ${artifact.version} re-applied from the cache`);
|
|
140
|
+
}
|
|
141
|
+
/** Re-apply the patched file matching the synced Server package, from the cache. */
|
|
142
|
+
async function reapplyPatch(entry, manifest, onProgress) {
|
|
143
|
+
if (!(manifest.artifacts ?? []).some(candidate => candidate?.module === 'patch'))
|
|
144
|
+
return;
|
|
145
|
+
const patch = catalog_1.catalog.patch;
|
|
146
|
+
const label = (0, catalog_1.moduleLabel)(patch);
|
|
147
|
+
const versionFile = path.join(entry.root, ...patch.deferred.versionFile.split('/'));
|
|
148
|
+
const version = await (0, deferred_1.deferredVersionAt)(patch, versionFile);
|
|
149
|
+
const payload = patch.deferred.payload(version)[0];
|
|
150
|
+
// The download record for `patch` deliberately carries the public label instead
|
|
151
|
+
// of the object name; its version and hash are still the ones the cached file
|
|
152
|
+
// must match.
|
|
153
|
+
const recorded = (manifest.downloads ?? []).find(candidate => candidate?.plugin === label && candidate.version === version)?.sha256;
|
|
154
|
+
const cached = await (0, artifact_cache_1.cachedArtifact)(patch.plugin, version, payload, typeof recorded === 'string' ? recorded : undefined);
|
|
155
|
+
if (!cached)
|
|
156
|
+
throw new Error(`Module ${label} is not cached for version ${version}; run \`afm oss update-env ${entry.name} --modules ${label}\` (or az) before starting with a local Server build.`);
|
|
157
|
+
const mapping = (0, deferred_1.replacementMappings)(patch)[0];
|
|
158
|
+
if (!mapping)
|
|
159
|
+
throw new Error(`Module ${label} is not configured to replace a file.`);
|
|
160
|
+
const destination = path.join(entry.root, ...mapping.destination.split('/'));
|
|
161
|
+
const stat = await lstatOrUndefined(destination);
|
|
162
|
+
if (!stat || !stat.isFile() || stat.isSymbolicLink())
|
|
163
|
+
throw new Error(`Module ${label} could not be applied: the Server tree holds no regular file to replace.`);
|
|
164
|
+
await fs.copyFile(cached, destination);
|
|
165
|
+
onProgress?.(`${entry.name}: ${label} ${version} re-applied from the cache`);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Prepare an environment that runs a local Server build.
|
|
169
|
+
*
|
|
170
|
+
* Called before the monitor is spawned. Does nothing when the environment has no
|
|
171
|
+
* local Server source. Otherwise: validate and sync the build directory over
|
|
172
|
+
* `Server/`, then re-apply the built-in resource trees and the patch from the
|
|
173
|
+
* local cache. Never downloads and never constructs a cloud client.
|
|
174
|
+
*/
|
|
175
|
+
async function prepareLocalServer(entry, onProgress) {
|
|
176
|
+
const manifest = await (0, manifest_1.readManifest)(path.dirname(entry.manifest));
|
|
177
|
+
const source = manifest.moduleSources?.server;
|
|
178
|
+
if (!source || source.type !== 'local' || typeof source.path !== 'string' || source.path === '')
|
|
179
|
+
return;
|
|
180
|
+
const directory = path.resolve(source.path);
|
|
181
|
+
const stat = await lstatOrUndefined(directory);
|
|
182
|
+
if (!stat)
|
|
183
|
+
throw new Error(`Local Server build directory is missing: ${directory}.`);
|
|
184
|
+
if (stat.isSymbolicLink())
|
|
185
|
+
throw new Error(`Local Server build directory must be a real directory, not a link: ${directory}.`);
|
|
186
|
+
if (!stat.isDirectory())
|
|
187
|
+
throw new Error(`Local Server build source is not a directory: ${directory}.`);
|
|
188
|
+
const dll = await lstatOrUndefined(path.join(directory, 'Wyn.Server.dll'));
|
|
189
|
+
if (!dll?.isFile() || dll.isSymbolicLink())
|
|
190
|
+
throw new Error(`Local Server build ${directory} contains no Wyn.Server.dll.`);
|
|
191
|
+
const deployed = path.join(entry.root, 'Server');
|
|
192
|
+
const relative = path.relative(deployed.toLowerCase(), directory.toLowerCase());
|
|
193
|
+
if (relative === '' || !relative.startsWith('..') && !path.isAbsolute(relative))
|
|
194
|
+
throw new Error(`Local Server build ${directory} is inside the deployed Server directory; point at the build output outside the environment.`);
|
|
195
|
+
onProgress?.(`${entry.name}: syncing the local Server build from ${directory}`);
|
|
196
|
+
const copied = await syncTree(directory, deployed, true);
|
|
197
|
+
onProgress?.(`${entry.name}: local Server build synced (${copied} file${copied === 1 ? '' : 's'} copied)`);
|
|
198
|
+
await reapplyResourceTrees(entry, manifest, onProgress);
|
|
199
|
+
await reapplyPatch(entry, manifest, onProgress);
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=local-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-server.js","sourceRoot":"","sources":["../../src/environment/local-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAsI,MAAM,WAAW,CAAC;AAG/K,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAsI,MAAM,WAAW,CAAC;AAG/K,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAKzH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,oFAAoF;IACpF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACnD;AACD,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;gBACrC,YAAY,GAAE,mBAAwB;IACnE;;;;;;;OAOG;YACW,UAAU;IAclB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,EAAE,UAAU,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,iBAAiB,CAAC;YA2BjK,aAAa;IAO3B;;;;;;;;;;OAUG;IACG,IAAI,IAAI,OAAO,CAAC,CAAC,iBAAiB,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,EAAE,CAAC;YAU9F,eAAe;YAWf,SAAS;YAST,KAAK;IACb,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YACzB,MAAM;YA6CN,UAAU;YAWV,SAAS;IAavB,OAAO,CAAC,YAAY;IACd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,OAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CA0DtG"}
|
|
@@ -44,6 +44,7 @@ const posix_process_1 = require("./posix-process");
|
|
|
44
44
|
const validate_1 = require("./validate");
|
|
45
45
|
const plan_1 = require("./plan");
|
|
46
46
|
const builder_1 = require("./builder");
|
|
47
|
+
const local_server_1 = require("./local-server");
|
|
47
48
|
var validate_2 = require("./validate");
|
|
48
49
|
Object.defineProperty(exports, "ownershipFile", { enumerable: true, get: function () { return validate_2.ownershipFile; } });
|
|
49
50
|
class EnvironmentManager {
|
|
@@ -213,6 +214,12 @@ class EnvironmentManager {
|
|
|
213
214
|
if (state === 'running')
|
|
214
215
|
throw new Error('Cannot start environment: running.');
|
|
215
216
|
await this.portCheck(entry.port);
|
|
217
|
+
// A local Server build is copied over `Server/` on every start, then the two
|
|
218
|
+
// built-in payloads that live inside that directory are re-applied from the
|
|
219
|
+
// local cache. This happens only after the start is known to be allowed, so a
|
|
220
|
+
// refused or impossible start never rewrites the deployment, and before the
|
|
221
|
+
// monitor is spawned so the process loads the build.
|
|
222
|
+
await (0, local_server_1.prepareLocalServer)(entry, this.dependencies.onProgress);
|
|
216
223
|
const stdout = path.join(entry.root, 'logs', 'server.stdout.log');
|
|
217
224
|
const stderr = path.join(entry.root, 'logs', 'server.stderr.log');
|
|
218
225
|
await fs.mkdir(path.join(entry.root, 'logs'), { recursive: true });
|