@decohere/forge 0.0.1-dev.69 → 0.0.1-dev.70
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.
|
@@ -43,15 +43,47 @@ class Copy {
|
|
|
43
43
|
return _cli.ActionResponse.Skipped(Copy.name);
|
|
44
44
|
}
|
|
45
45
|
await Promise.all(this.workspace.getProjects(options.configuration).map(async (proj)=>{
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
const cwd = proj.projectDirectory;
|
|
47
|
+
const root = proj.getOutDir();
|
|
48
|
+
// Workspace + configuration copyFiles → package root (historic behaviour).
|
|
49
|
+
const rootFiles = await _io.io.findFiles(proj.copyFiles, {
|
|
50
|
+
cwd
|
|
50
51
|
});
|
|
51
|
-
await Promise.all(
|
|
52
|
+
await Promise.all(rootFiles.map((file)=>this.copyFileToOut(file, root)));
|
|
53
|
+
// Configuration-only globs → each pack target outDir (next to emitted JS).
|
|
54
|
+
await this.copyColocatedPackAssets(proj, cwd);
|
|
52
55
|
}));
|
|
53
56
|
return _cli.ActionResponse.Success(Copy.name);
|
|
54
57
|
};
|
|
58
|
+
/**
|
|
59
|
+
* Packed builds emit JS under `<out>/<target>/` (e.g. `es6/`). Assets listed on
|
|
60
|
+
* the *configuration* `copyFiles` (not the workspace defaults) are also copied
|
|
61
|
+
* into each target so `import.meta.url` resolves them beside that JS.
|
|
62
|
+
*
|
|
63
|
+
* Workspace `copyFiles` (e.g. `package.json`) stay root-only — nesting a
|
|
64
|
+
* package manifest under `es6/` makes `npm install --install-links` drop the
|
|
65
|
+
* parent's `es6/` tree when packing `file:` deps.
|
|
66
|
+
*/ async copyColocatedPackAssets(proj, cwd) {
|
|
67
|
+
const colocatedPatterns = proj.configuration.copyFiles ?? [];
|
|
68
|
+
if (colocatedPatterns.length === 0) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const config = proj.configuration;
|
|
72
|
+
if (!config.pack) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const targets = config.targets ?? [];
|
|
76
|
+
if (targets.length === 0) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const files = await _io.io.findFiles(colocatedPatterns, {
|
|
80
|
+
cwd
|
|
81
|
+
});
|
|
82
|
+
const targetDirs = [
|
|
83
|
+
...new Set(targets.map((target)=>proj.getOutDir(target)))
|
|
84
|
+
];
|
|
85
|
+
await Promise.all(targetDirs.flatMap((outDir)=>files.map((file)=>this.copyFileToOut(file, outDir))));
|
|
86
|
+
}
|
|
55
87
|
async copyFileToOut(file, outDir) {
|
|
56
88
|
const dest = _nodepath.default.join(outDir, file.relativePath);
|
|
57
89
|
await _io.io.copyFile(file.fullPath, dest, {
|
|
@@ -80,4 +112,4 @@ Copy = _ts_decorate([
|
|
|
80
112
|
])
|
|
81
113
|
], Copy);
|
|
82
114
|
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NvcHkuYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUltcG9ydFR5cGU6IDxEST5cbmltcG9ydCB7IHR5cGUgUHJvamVjdCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyB0eXBlIEZpbGVFeCwgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyByZXRyeSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvc3lzdGVtXCI7XG5pbXBvcnQgeyBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHR5cGUgeyBGb3JnZUNvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlLmpzXCI7XG5cbmNvbnN0IENPUFlfUkVUUllfQVRURU1QVFMgPSAzO1xuY29uc3QgQ09QWV9SRVRSWV9ERUxBWV9NUyA9IDI1O1xuXG5leHBvcnQgdHlwZSBDb3B5T3B0aW9ucyA9IHtcblx0Y29weTogYm9vbGVhbjtcblx0Y29uZmlndXJhdGlvbjogc3RyaW5nO1xufTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvcHkgaW1wbGVtZW50cyBBY3Rpb248Q29weU9wdGlvbnM+IHtcblx0I2xvZ2dlciA9IHNjcmliZS5sb2dnZXIoQ29weS5uYW1lKTtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UpIHt9XG5cblx0cHVibGljIHJ1biA9IGFzeW5jIChvcHRpb25zOiBDb3B5T3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+ID0+IHtcblx0XHRpZiAoIW9wdGlvbnMuY29weSkge1xuXHRcdFx0dGhpcy4jbG9nZ2VyLmluZm8oXCJTa2lwcGluZyBjb3B5XCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlNraXBwZWQoQ29weS5uYW1lKTtcblx0XHR9XG5cblx0XHRhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHRoaXMud29ya3NwYWNlLmdldFByb2plY3RzKG9wdGlvbnMuY29uZmlndXJhdGlvbikubWFwKGFzeW5jIChwcm9qKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGN3ZCA9IHByb2oucHJvamVjdERpcmVjdG9yeTtcblx0XHRcdFx0Y29uc3Qgcm9vdCA9IHByb2ouZ2V0T3V0RGlyKCk7XG5cblx0XHRcdFx0Ly8gV29ya3NwYWNlICsgY29uZmlndXJhdGlvbiBjb3B5RmlsZXMg4oaSIHBhY2thZ2Ugcm9vdCAoaGlzdG9yaWMgYmVoYXZpb3VyKS5cblx0XHRcdFx0Y29uc3Qgcm9vdEZpbGVzID0gYXdhaXQgaW8uZmluZEZpbGVzKHByb2ouY29weUZpbGVzLCB7IGN3ZCB9KTtcblx0XHRcdFx0YXdhaXQgUHJvbWlzZS5hbGwocm9vdEZpbGVzLm1hcCgoZmlsZSkgPT4gdGhpcy5jb3B5RmlsZVRvT3V0KGZpbGUsIHJvb3QpKSk7XG5cblx0XHRcdFx0Ly8gQ29uZmlndXJhdGlvbi1vbmx5IGdsb2JzIOKGkiBlYWNoIHBhY2sgdGFyZ2V0IG91dERpciAobmV4dCB0byBlbWl0dGVkIEpTKS5cblx0XHRcdFx0YXdhaXQgdGhpcy5jb3B5Q29sb2NhdGVkUGFja0Fzc2V0cyhwcm9qLCBjd2QpO1xuXHRcdFx0fSksXG5cdFx0KTtcblxuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5TdWNjZXNzKENvcHkubmFtZSk7XG5cdH07XG5cblx0LyoqXG5cdCAqIFBhY2tlZCBidWlsZHMgZW1pdCBKUyB1bmRlciBgPG91dD4vPHRhcmdldD4vYCAoZS5nLiBgZXM2L2ApLiBBc3NldHMgbGlzdGVkIG9uXG5cdCAqIHRoZSAqY29uZmlndXJhdGlvbiogYGNvcHlGaWxlc2AgKG5vdCB0aGUgd29ya3NwYWNlIGRlZmF1bHRzKSBhcmUgYWxzbyBjb3BpZWRcblx0ICogaW50byBlYWNoIHRhcmdldCBzbyBgaW1wb3J0Lm1ldGEudXJsYCByZXNvbHZlcyB0aGVtIGJlc2lkZSB0aGF0IEpTLlxuXHQgKlxuXHQgKiBXb3Jrc3BhY2UgYGNvcHlGaWxlc2AgKGUuZy4gYHBhY2thZ2UuanNvbmApIHN0YXkgcm9vdC1vbmx5IOKAlCBuZXN0aW5nIGFcblx0ICogcGFja2FnZSBtYW5pZmVzdCB1bmRlciBgZXM2L2AgbWFrZXMgYG5wbSBpbnN0YWxsIC0taW5zdGFsbC1saW5rc2AgZHJvcCB0aGVcblx0ICogcGFyZW50J3MgYGVzNi9gIHRyZWUgd2hlbiBwYWNraW5nIGBmaWxlOmAgZGVwcy5cblx0ICovXG5cdHByaXZhdGUgYXN5bmMgY29weUNvbG9jYXRlZFBhY2tBc3NldHMocHJvajogUHJvamVjdCwgY3dkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBjb2xvY2F0ZWRQYXR0ZXJucyA9IHByb2ouY29uZmlndXJhdGlvbi5jb3B5RmlsZXMgPz8gW107XG5cdFx0aWYgKGNvbG9jYXRlZFBhdHRlcm5zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IGNvbmZpZyA9IHByb2ouY29uZmlndXJhdGlvbiBhcyBGb3JnZUNvbmZpZ3VyYXRpb247XG5cdFx0aWYgKCFjb25maWcucGFjaykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHRhcmdldHMgPSBjb25maWcudGFyZ2V0cyA/PyBbXTtcblx0XHRpZiAodGFyZ2V0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBmaWxlcyA9IGF3YWl0IGlvLmZpbmRGaWxlcyhjb2xvY2F0ZWRQYXR0ZXJucywgeyBjd2QgfSk7XG5cdFx0Y29uc3QgdGFyZ2V0RGlycyA9IFsuLi5uZXcgU2V0KHRhcmdldHMubWFwKCh0YXJnZXQpID0+IHByb2ouZ2V0T3V0RGlyKHRhcmdldCkpKV07XG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHR0YXJnZXREaXJzLmZsYXRNYXAoKG91dERpcikgPT4gZmlsZXMubWFwKChmaWxlKSA9PiB0aGlzLmNvcHlGaWxlVG9PdXQoZmlsZSwgb3V0RGlyKSkpLFxuXHRcdCk7XG5cdH1cblxuXHRAcmV0cnkoeyBhdHRlbXB0czogQ09QWV9SRVRSWV9BVFRFTVBUUywgZGVsYXlNczogQ09QWV9SRVRSWV9ERUxBWV9NUyB9KVxuXHRwcml2YXRlIGFzeW5jIGNvcHlGaWxlVG9PdXQoZmlsZTogRmlsZUV4LCBvdXREaXI6IHN0cmluZykge1xuXHRcdGNvbnN0IGRlc3QgPSBwYXRoLmpvaW4ob3V0RGlyLCBmaWxlLnJlbGF0aXZlUGF0aCk7XG5cdFx0YXdhaXQgaW8uY29weUZpbGUoZmlsZS5mdWxsUGF0aCwgZGVzdCwgeyBta2RpcjogdHJ1ZSB9KTtcblx0XHR0aGlzLiNsb2dnZXIudHJhY2UoYENvcGllZCAke2ZpbGUuZnVsbFBhdGh9IC0+ICR7ZGVzdH1gKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkNvcHkiLCJDT1BZX1JFVFJZX0FUVEVNUFRTIiwiQ09QWV9SRVRSWV9ERUxBWV9NUyIsInNjcmliZSIsImxvZ2dlciIsIm5hbWUiLCJ3b3Jrc3BhY2UiLCJydW4iLCJvcHRpb25zIiwiY29weSIsImluZm8iLCJBY3Rpb25SZXNwb25zZSIsIlNraXBwZWQiLCJQcm9taXNlIiwiYWxsIiwiZ2V0UHJvamVjdHMiLCJjb25maWd1cmF0aW9uIiwibWFwIiwicHJvaiIsImN3ZCIsInByb2plY3REaXJlY3RvcnkiLCJyb290IiwiZ2V0T3V0RGlyIiwicm9vdEZpbGVzIiwiaW8iLCJmaW5kRmlsZXMiLCJjb3B5RmlsZXMiLCJmaWxlIiwiY29weUZpbGVUb091dCIsImNvcHlDb2xvY2F0ZWRQYWNrQXNzZXRzIiwiU3VjY2VzcyIsImNvbG9jYXRlZFBhdHRlcm5zIiwibGVuZ3RoIiwiY29uZmlnIiwicGFjayIsInRhcmdldHMiLCJmaWxlcyIsInRhcmdldERpcnMiLCJTZXQiLCJ0YXJnZXQiLCJmbGF0TWFwIiwib3V0RGlyIiwiZGVzdCIsInBhdGgiLCJqb2luIiwicmVsYXRpdmVQYXRoIiwiY29weUZpbGUiLCJmdWxsUGF0aCIsIm1rZGlyIiwidHJhY2UiLCJhdHRlbXB0cyIsImRlbGF5TXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBb0JhQTs7O2VBQUFBOzs7aUVBcEJJOzRCQUNVO3NCQUVhO3FCQUVUO29CQUNDO3dCQUNWO3dCQUNDOzs7Ozs7Ozs7Ozs7Ozs7QUFHdkIsTUFBTUMsc0JBQXNCO0FBQzVCLE1BQU1DLHNCQUFzQjtBQVFyQixNQUFNRjs7SUFDWixDQUFBLE1BQU8sR0FBR0csY0FBTSxDQUFDQyxNQUFNLENBQUNKLEtBQUtLLElBQUksRUFBRTtJQUNuQyxZQUFtQixBQUFpQkMsU0FBb0IsQ0FBRTthQUF0QkEsWUFBQUE7SUFBdUI7SUFFcERDLE1BQU0sT0FBT0M7UUFDbkIsSUFBSSxDQUFDQSxRQUFRQyxJQUFJLEVBQUU7WUFDbEIsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDQyxJQUFJLENBQUM7WUFDbEIsT0FBT0MsbUJBQWMsQ0FBQ0MsT0FBTyxDQUFDWixLQUFLSyxJQUFJO1FBQ3hDO1FBRUEsTUFBTVEsUUFBUUMsR0FBRyxDQUNoQixJQUFJLENBQUNSLFNBQVMsQ0FBQ1MsV0FBVyxDQUFDUCxRQUFRUSxhQUFhLEVBQUVDLEdBQUcsQ0FBQyxPQUFPQztZQUM1RCxNQUFNQyxNQUFNRCxLQUFLRSxnQkFBZ0I7WUFDakMsTUFBTUMsT0FBT0gsS0FBS0ksU0FBUztZQUUzQiwyRUFBMkU7WUFDM0UsTUFBTUMsWUFBWSxNQUFNQyxNQUFFLENBQUNDLFNBQVMsQ0FBQ1AsS0FBS1EsU0FBUyxFQUFFO2dCQUFFUDtZQUFJO1lBQzNELE1BQU1OLFFBQVFDLEdBQUcsQ0FBQ1MsVUFBVU4sR0FBRyxDQUFDLENBQUNVLE9BQVMsSUFBSSxDQUFDQyxhQUFhLENBQUNELE1BQU1OO1lBRW5FLDJFQUEyRTtZQUMzRSxNQUFNLElBQUksQ0FBQ1EsdUJBQXVCLENBQUNYLE1BQU1DO1FBQzFDO1FBR0QsT0FBT1IsbUJBQWMsQ0FBQ21CLE9BQU8sQ0FBQzlCLEtBQUtLLElBQUk7SUFDeEMsRUFBRTtJQUVGOzs7Ozs7OztFQVFDLEdBQ0QsTUFBY3dCLHdCQUF3QlgsSUFBYSxFQUFFQyxHQUFXLEVBQWlCO1FBQ2hGLE1BQU1ZLG9CQUFvQmIsS0FBS0YsYUFBYSxDQUFDVSxTQUFTLElBQUksRUFBRTtRQUM1RCxJQUFJSyxrQkFBa0JDLE1BQU0sS0FBSyxHQUFHO1lBQ25DO1FBQ0Q7UUFFQSxNQUFNQyxTQUFTZixLQUFLRixhQUFhO1FBQ2pDLElBQUksQ0FBQ2lCLE9BQU9DLElBQUksRUFBRTtZQUNqQjtRQUNEO1FBRUEsTUFBTUMsVUFBVUYsT0FBT0UsT0FBTyxJQUFJLEVBQUU7UUFDcEMsSUFBSUEsUUFBUUgsTUFBTSxLQUFLLEdBQUc7WUFDekI7UUFDRDtRQUVBLE1BQU1JLFFBQVEsTUFBTVosTUFBRSxDQUFDQyxTQUFTLENBQUNNLG1CQUFtQjtZQUFFWjtRQUFJO1FBQzFELE1BQU1rQixhQUFhO2VBQUksSUFBSUMsSUFBSUgsUUFBUWxCLEdBQUcsQ0FBQyxDQUFDc0IsU0FBV3JCLEtBQUtJLFNBQVMsQ0FBQ2lCO1NBQVU7UUFDaEYsTUFBTTFCLFFBQVFDLEdBQUcsQ0FDaEJ1QixXQUFXRyxPQUFPLENBQUMsQ0FBQ0MsU0FBV0wsTUFBTW5CLEdBQUcsQ0FBQyxDQUFDVSxPQUFTLElBQUksQ0FBQ0MsYUFBYSxDQUFDRCxNQUFNYztJQUU5RTtJQUVBLE1BQ2NiLGNBQWNELElBQVksRUFBRWMsTUFBYyxFQUFFO1FBQ3pELE1BQU1DLE9BQU9DLGlCQUFJLENBQUNDLElBQUksQ0FBQ0gsUUFBUWQsS0FBS2tCLFlBQVk7UUFDaEQsTUFBTXJCLE1BQUUsQ0FBQ3NCLFFBQVEsQ0FBQ25CLEtBQUtvQixRQUFRLEVBQUVMLE1BQU07WUFBRU0sT0FBTztRQUFLO1FBQ3JELElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQ0MsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFdEIsS0FBS29CLFFBQVEsQ0FBQyxJQUFJLEVBQUVMLE1BQU07SUFDeEQ7QUFDRDs7O1FBTlVRLFVBQVVqRDtRQUFxQmtELFNBQVNqRCJ9
|
|
@@ -56,6 +56,12 @@ const Release = {
|
|
|
56
56
|
"**/*.test.ts",
|
|
57
57
|
"tests/**",
|
|
58
58
|
"e2e/**"
|
|
59
|
+
],
|
|
60
|
+
// Sit next to emitted JS under es6/commonjs/types (import.meta.url).
|
|
61
|
+
// Do not put package.json here — that stays on workspace copyFiles (root only).
|
|
62
|
+
copyFiles: [
|
|
63
|
+
"**/webapi/devcontainer/templates/**",
|
|
64
|
+
"**/webapi/devcontainer/codebase-rag-mcp.ts"
|
|
59
65
|
]
|
|
60
66
|
};
|
|
61
67
|
const Link = {
|
|
@@ -81,4 +87,4 @@ const WorkspaceDefaults = {
|
|
|
81
87
|
projects: undefined
|
|
82
88
|
};
|
|
83
89
|
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy93b3Jrc3BhY2UuY29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdvcmtzcGFjZURlZmF1bHRzIGFzIEJhc2VEZWZhdWx0cyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgRm9yZ2VDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFdvcmtzcGFjZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy93b3Jrc3BhY2UtY29uZmlnLnR5cGUuanNcIjtcblxuZXhwb3J0IGNvbnN0IERlYnVnOiBGb3JnZUNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hbWU6IFwiZGVidWdcIixcblx0dGFyZ2V0czogW0J1aWxkVGFyZ2V0cy5lczZdLFxuXHRhbGlhc1BhdGhzOiB0cnVlLFxuXHQvLyBGaXh0dXJlcyBhcmUgcnVudGltZSBpbnB1dHMgKG9mdGVuIHJhdyAudHMgLyBjb25maWdzKSwgbm90IGxpYnJhcnkgc291cmNlcy5cblx0aWdub3JlOiBbXCIqKi9fX2ZpeHR1cmVzX18vKipcIl0sXG5cdGNvcHlGaWxlczogW1wiKiovX19maXh0dXJlc19fLyoqXCIsIFwiKiovLmRlY29oZXJlLmpzXCIsIFwiKiovLmRlY29oZXJlLiouanNcIl0sXG59O1xuXG5leHBvcnQgY29uc3QgUmVsZWFzZTogRm9yZ2VDb25maWd1cmF0aW9uID0ge1xuXHRuYW1lOiBcInJlbGVhc2VcIixcblx0cGFjazogdHJ1ZSxcblx0dGFyZ2V0czogW0J1aWxkVGFyZ2V0cy5jb21tb25qcywgQnVpbGRUYXJnZXRzLmVzNiwgQnVpbGRUYXJnZXRzLnR5cGVzXSxcblx0aWdub3JlOiBbXCIqKi8qLnNwZWMudHNcIiwgXCIqKi8qLnRlc3QudHNcIiwgXCJ0ZXN0cy8qKlwiLCBcImUyZS8qKlwiXSxcblx0Ly8gU2l0IG5leHQgdG8gZW1pdHRlZCBKUyB1bmRlciBlczYvY29tbW9uanMvdHlwZXMgKGltcG9ydC5tZXRhLnVybCkuXG5cdC8vIERvIG5vdCBwdXQgcGFja2FnZS5qc29uIGhlcmUg4oCUIHRoYXQgc3RheXMgb24gd29ya3NwYWNlIGNvcHlGaWxlcyAocm9vdCBvbmx5KS5cblx0Y29weUZpbGVzOiBbXG5cdFx0XCIqKi93ZWJhcGkvZGV2Y29udGFpbmVyL3RlbXBsYXRlcy8qKlwiLFxuXHRcdFwiKiovd2ViYXBpL2RldmNvbnRhaW5lci9jb2RlYmFzZS1yYWctbWNwLnRzXCIsXG5cdF0sXG59O1xuXG4vKipcbiAqIExpbmsgY29uZmlndXJhdGlvbjogdW5wYWNrZWQgSlMgKyBjby1sb2NhdGVkIHR5cGUgZGVjbGFyYXRpb25zLlxuICogSW50ZW5kZWQgZm9yIGBmb3JnZSBsaW5rYCDigJQgc3ltbGlua2VkIGludG8gYSBjb25zdW1lcidzIG5vZGVfbW9kdWxlcyBzbyB0aGF0XG4gKiBib3RoIHJ1bnRpbWUgcmVzb2x1dGlvbiBhbmQgVHlwZVNjcmlwdCBmaW5kIHRoZSBzYW1lIG91dHB1dCBkaXJlY3RvcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBMaW5rOiBGb3JnZUNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hbWU6IFwibGlua1wiLFxuXHRwYWNrOiB0cnVlLFxuXHR0YXJnZXRzOiBbQnVpbGRUYXJnZXRzLmVzNiwgQnVpbGRUYXJnZXRzLnR5cGVzXSxcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29uZmlndXJhdGlvbnMgPSBbRGVidWcsIExpbmssIFJlbGVhc2VdO1xuXG5leHBvcnQgY29uc3QgV29ya3NwYWNlRGVmYXVsdHM6IFdvcmtzcGFjZU9wdGlvbnMgPSB7XG5cdC4uLkJhc2VEZWZhdWx0cyxcblx0Y29weUZpbGVzOiBbXCJwYWNrYWdlLmpzb25cIiwgXCIqKi8qLm1qc1wiXSxcblx0Y29uZmlndXJhdGlvbnM6IERlZmF1bHRDb25maWd1cmF0aW9ucyxcblx0cHJvamVjdHM6IHVuZGVmaW5lZCxcbn07XG4iXSwibmFtZXMiOlsiRGVidWciLCJEZWZhdWx0Q29uZmlndXJhdGlvbnMiLCJMaW5rIiwiUmVsZWFzZSIsIldvcmtzcGFjZURlZmF1bHRzIiwibmFtZSIsInRhcmdldHMiLCJCdWlsZFRhcmdldHMiLCJlczYiLCJhbGlhc1BhdGhzIiwiaWdub3JlIiwiY29weUZpbGVzIiwicGFjayIsImNvbW1vbmpzIiwidHlwZXMiLCJCYXNlRGVmYXVsdHMiLCJjb25maWd1cmF0aW9ucyIsInByb2plY3RzIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQUthQTtlQUFBQTs7UUFpQ0FDO2VBQUFBOztRQU5BQztlQUFBQTs7UUFsQkFDO2VBQUFBOztRQTBCQUM7ZUFBQUE7OztzQkF4Q3FDO2lDQUNyQjtBQUl0QixNQUFNSixRQUE0QjtJQUN4Q0ssTUFBTTtJQUNOQyxTQUFTO1FBQUNDLDZCQUFZLENBQUNDLEdBQUc7S0FBQztJQUMzQkMsWUFBWTtJQUNaLDhFQUE4RTtJQUM5RUMsUUFBUTtRQUFDO0tBQXFCO0lBQzlCQyxXQUFXO1FBQUM7UUFBc0I7UUFBbUI7S0FBb0I7QUFDMUU7QUFFTyxNQUFNUixVQUE4QjtJQUMxQ0UsTUFBTTtJQUNOTyxNQUFNO0lBQ05OLFNBQVM7UUFBQ0MsNkJBQVksQ0FBQ00sUUFBUTtRQUFFTiw2QkFBWSxDQUFDQyxHQUFHO1FBQUVELDZCQUFZLENBQUNPLEtBQUs7S0FBQztJQUN0RUosUUFBUTtRQUFDO1FBQWdCO1FBQWdCO1FBQVk7S0FBUztJQUM5RCxxRUFBcUU7SUFDckUsZ0ZBQWdGO0lBQ2hGQyxXQUFXO1FBQ1Y7UUFDQTtLQUNBO0FBQ0Y7QUFPTyxNQUFNVCxPQUEyQjtJQUN2Q0csTUFBTTtJQUNOTyxNQUFNO0lBQ05OLFNBQVM7UUFBQ0MsNkJBQVksQ0FBQ0MsR0FBRztRQUFFRCw2QkFBWSxDQUFDTyxLQUFLO0tBQUM7QUFDaEQ7QUFFTyxNQUFNYix3QkFBd0I7SUFBQ0Q7SUFBT0U7SUFBTUM7Q0FBUTtBQUVwRCxNQUFNQyxvQkFBc0M7SUFDbEQsR0FBR1csdUJBQVk7SUFDZkosV0FBVztRQUFDO1FBQWdCO0tBQVc7SUFDdkNLLGdCQUFnQmY7SUFDaEJnQixVQUFVQztBQUNYIn0=
|
|
@@ -29,15 +29,47 @@ export class Copy {
|
|
|
29
29
|
return ActionResponse.Skipped(Copy.name);
|
|
30
30
|
}
|
|
31
31
|
await Promise.all(this.workspace.getProjects(options.configuration).map(async (proj)=>{
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const cwd = proj.projectDirectory;
|
|
33
|
+
const root = proj.getOutDir();
|
|
34
|
+
// Workspace + configuration copyFiles → package root (historic behaviour).
|
|
35
|
+
const rootFiles = await io.findFiles(proj.copyFiles, {
|
|
36
|
+
cwd
|
|
36
37
|
});
|
|
37
|
-
await Promise.all(
|
|
38
|
+
await Promise.all(rootFiles.map((file)=>this.copyFileToOut(file, root)));
|
|
39
|
+
// Configuration-only globs → each pack target outDir (next to emitted JS).
|
|
40
|
+
await this.copyColocatedPackAssets(proj, cwd);
|
|
38
41
|
}));
|
|
39
42
|
return ActionResponse.Success(Copy.name);
|
|
40
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Packed builds emit JS under `<out>/<target>/` (e.g. `es6/`). Assets listed on
|
|
46
|
+
* the *configuration* `copyFiles` (not the workspace defaults) are also copied
|
|
47
|
+
* into each target so `import.meta.url` resolves them beside that JS.
|
|
48
|
+
*
|
|
49
|
+
* Workspace `copyFiles` (e.g. `package.json`) stay root-only — nesting a
|
|
50
|
+
* package manifest under `es6/` makes `npm install --install-links` drop the
|
|
51
|
+
* parent's `es6/` tree when packing `file:` deps.
|
|
52
|
+
*/ async copyColocatedPackAssets(proj, cwd) {
|
|
53
|
+
const colocatedPatterns = proj.configuration.copyFiles ?? [];
|
|
54
|
+
if (colocatedPatterns.length === 0) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const config = proj.configuration;
|
|
58
|
+
if (!config.pack) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const targets = config.targets ?? [];
|
|
62
|
+
if (targets.length === 0) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const files = await io.findFiles(colocatedPatterns, {
|
|
66
|
+
cwd
|
|
67
|
+
});
|
|
68
|
+
const targetDirs = [
|
|
69
|
+
...new Set(targets.map((target)=>proj.getOutDir(target)))
|
|
70
|
+
];
|
|
71
|
+
await Promise.all(targetDirs.flatMap((outDir)=>files.map((file)=>this.copyFileToOut(file, outDir))));
|
|
72
|
+
}
|
|
41
73
|
async copyFileToOut(file, outDir) {
|
|
42
74
|
const dest = path.join(outDir, file.relativePath);
|
|
43
75
|
await io.copyFile(file.fullPath, dest, {
|
|
@@ -66,4 +98,4 @@ Copy = _ts_decorate([
|
|
|
66
98
|
])
|
|
67
99
|
], Copy);
|
|
68
100
|
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NvcHkuYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUltcG9ydFR5cGU6IDxEST5cbmltcG9ydCB7IHR5cGUgUHJvamVjdCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyB0eXBlIEZpbGVFeCwgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyByZXRyeSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvc3lzdGVtXCI7XG5pbXBvcnQgeyBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHR5cGUgeyBGb3JnZUNvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlLmpzXCI7XG5cbmNvbnN0IENPUFlfUkVUUllfQVRURU1QVFMgPSAzO1xuY29uc3QgQ09QWV9SRVRSWV9ERUxBWV9NUyA9IDI1O1xuXG5leHBvcnQgdHlwZSBDb3B5T3B0aW9ucyA9IHtcblx0Y29weTogYm9vbGVhbjtcblx0Y29uZmlndXJhdGlvbjogc3RyaW5nO1xufTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvcHkgaW1wbGVtZW50cyBBY3Rpb248Q29weU9wdGlvbnM+IHtcblx0I2xvZ2dlciA9IHNjcmliZS5sb2dnZXIoQ29weS5uYW1lKTtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UpIHt9XG5cblx0cHVibGljIHJ1biA9IGFzeW5jIChvcHRpb25zOiBDb3B5T3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+ID0+IHtcblx0XHRpZiAoIW9wdGlvbnMuY29weSkge1xuXHRcdFx0dGhpcy4jbG9nZ2VyLmluZm8oXCJTa2lwcGluZyBjb3B5XCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlNraXBwZWQoQ29weS5uYW1lKTtcblx0XHR9XG5cblx0XHRhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHRoaXMud29ya3NwYWNlLmdldFByb2plY3RzKG9wdGlvbnMuY29uZmlndXJhdGlvbikubWFwKGFzeW5jIChwcm9qKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGN3ZCA9IHByb2oucHJvamVjdERpcmVjdG9yeTtcblx0XHRcdFx0Y29uc3Qgcm9vdCA9IHByb2ouZ2V0T3V0RGlyKCk7XG5cblx0XHRcdFx0Ly8gV29ya3NwYWNlICsgY29uZmlndXJhdGlvbiBjb3B5RmlsZXMg4oaSIHBhY2thZ2Ugcm9vdCAoaGlzdG9yaWMgYmVoYXZpb3VyKS5cblx0XHRcdFx0Y29uc3Qgcm9vdEZpbGVzID0gYXdhaXQgaW8uZmluZEZpbGVzKHByb2ouY29weUZpbGVzLCB7IGN3ZCB9KTtcblx0XHRcdFx0YXdhaXQgUHJvbWlzZS5hbGwocm9vdEZpbGVzLm1hcCgoZmlsZSkgPT4gdGhpcy5jb3B5RmlsZVRvT3V0KGZpbGUsIHJvb3QpKSk7XG5cblx0XHRcdFx0Ly8gQ29uZmlndXJhdGlvbi1vbmx5IGdsb2JzIOKGkiBlYWNoIHBhY2sgdGFyZ2V0IG91dERpciAobmV4dCB0byBlbWl0dGVkIEpTKS5cblx0XHRcdFx0YXdhaXQgdGhpcy5jb3B5Q29sb2NhdGVkUGFja0Fzc2V0cyhwcm9qLCBjd2QpO1xuXHRcdFx0fSksXG5cdFx0KTtcblxuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5TdWNjZXNzKENvcHkubmFtZSk7XG5cdH07XG5cblx0LyoqXG5cdCAqIFBhY2tlZCBidWlsZHMgZW1pdCBKUyB1bmRlciBgPG91dD4vPHRhcmdldD4vYCAoZS5nLiBgZXM2L2ApLiBBc3NldHMgbGlzdGVkIG9uXG5cdCAqIHRoZSAqY29uZmlndXJhdGlvbiogYGNvcHlGaWxlc2AgKG5vdCB0aGUgd29ya3NwYWNlIGRlZmF1bHRzKSBhcmUgYWxzbyBjb3BpZWRcblx0ICogaW50byBlYWNoIHRhcmdldCBzbyBgaW1wb3J0Lm1ldGEudXJsYCByZXNvbHZlcyB0aGVtIGJlc2lkZSB0aGF0IEpTLlxuXHQgKlxuXHQgKiBXb3Jrc3BhY2UgYGNvcHlGaWxlc2AgKGUuZy4gYHBhY2thZ2UuanNvbmApIHN0YXkgcm9vdC1vbmx5IOKAlCBuZXN0aW5nIGFcblx0ICogcGFja2FnZSBtYW5pZmVzdCB1bmRlciBgZXM2L2AgbWFrZXMgYG5wbSBpbnN0YWxsIC0taW5zdGFsbC1saW5rc2AgZHJvcCB0aGVcblx0ICogcGFyZW50J3MgYGVzNi9gIHRyZWUgd2hlbiBwYWNraW5nIGBmaWxlOmAgZGVwcy5cblx0ICovXG5cdHByaXZhdGUgYXN5bmMgY29weUNvbG9jYXRlZFBhY2tBc3NldHMocHJvajogUHJvamVjdCwgY3dkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBjb2xvY2F0ZWRQYXR0ZXJucyA9IHByb2ouY29uZmlndXJhdGlvbi5jb3B5RmlsZXMgPz8gW107XG5cdFx0aWYgKGNvbG9jYXRlZFBhdHRlcm5zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IGNvbmZpZyA9IHByb2ouY29uZmlndXJhdGlvbiBhcyBGb3JnZUNvbmZpZ3VyYXRpb247XG5cdFx0aWYgKCFjb25maWcucGFjaykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHRhcmdldHMgPSBjb25maWcudGFyZ2V0cyA/PyBbXTtcblx0XHRpZiAodGFyZ2V0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBmaWxlcyA9IGF3YWl0IGlvLmZpbmRGaWxlcyhjb2xvY2F0ZWRQYXR0ZXJucywgeyBjd2QgfSk7XG5cdFx0Y29uc3QgdGFyZ2V0RGlycyA9IFsuLi5uZXcgU2V0KHRhcmdldHMubWFwKCh0YXJnZXQpID0+IHByb2ouZ2V0T3V0RGlyKHRhcmdldCkpKV07XG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHR0YXJnZXREaXJzLmZsYXRNYXAoKG91dERpcikgPT4gZmlsZXMubWFwKChmaWxlKSA9PiB0aGlzLmNvcHlGaWxlVG9PdXQoZmlsZSwgb3V0RGlyKSkpLFxuXHRcdCk7XG5cdH1cblxuXHRAcmV0cnkoeyBhdHRlbXB0czogQ09QWV9SRVRSWV9BVFRFTVBUUywgZGVsYXlNczogQ09QWV9SRVRSWV9ERUxBWV9NUyB9KVxuXHRwcml2YXRlIGFzeW5jIGNvcHlGaWxlVG9PdXQoZmlsZTogRmlsZUV4LCBvdXREaXI6IHN0cmluZykge1xuXHRcdGNvbnN0IGRlc3QgPSBwYXRoLmpvaW4ob3V0RGlyLCBmaWxlLnJlbGF0aXZlUGF0aCk7XG5cdFx0YXdhaXQgaW8uY29weUZpbGUoZmlsZS5mdWxsUGF0aCwgZGVzdCwgeyBta2RpcjogdHJ1ZSB9KTtcblx0XHR0aGlzLiNsb2dnZXIudHJhY2UoYENvcGllZCAke2ZpbGUuZnVsbFBhdGh9IC0+ICR7ZGVzdH1gKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJpbmplY3RhYmxlIiwiV29ya3NwYWNlIiwiQWN0aW9uUmVzcG9uc2UiLCJpbyIsInJldHJ5Iiwic2NyaWJlIiwiQ09QWV9SRVRSWV9BVFRFTVBUUyIsIkNPUFlfUkVUUllfREVMQVlfTVMiLCJDb3B5IiwibG9nZ2VyIiwibmFtZSIsIndvcmtzcGFjZSIsInJ1biIsIm9wdGlvbnMiLCJjb3B5IiwiaW5mbyIsIlNraXBwZWQiLCJQcm9taXNlIiwiYWxsIiwiZ2V0UHJvamVjdHMiLCJjb25maWd1cmF0aW9uIiwibWFwIiwicHJvaiIsImN3ZCIsInByb2plY3REaXJlY3RvcnkiLCJyb290IiwiZ2V0T3V0RGlyIiwicm9vdEZpbGVzIiwiZmluZEZpbGVzIiwiY29weUZpbGVzIiwiZmlsZSIsImNvcHlGaWxlVG9PdXQiLCJjb3B5Q29sb2NhdGVkUGFja0Fzc2V0cyIsIlN1Y2Nlc3MiLCJjb2xvY2F0ZWRQYXR0ZXJucyIsImxlbmd0aCIsImNvbmZpZyIsInBhY2siLCJ0YXJnZXRzIiwiZmlsZXMiLCJ0YXJnZXREaXJzIiwiU2V0IiwidGFyZ2V0IiwiZmxhdE1hcCIsIm91dERpciIsImRlc3QiLCJqb2luIiwicmVsYXRpdmVQYXRoIiwiY29weUZpbGUiLCJmdWxsUGF0aCIsIm1rZGlyIiwidHJhY2UiLCJhdHRlbXB0cyIsImRlbGF5TXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU9BLFVBQVUsWUFBWTtBQUM3QixTQUFTQyxVQUFVLFFBQVEsZ0NBQWdDO0FBQzNELDhDQUE4QztBQUM5QyxTQUF1QkMsU0FBUyxRQUFRLGlCQUFpQjtBQUV6RCxTQUFTQyxjQUFjLFFBQVEsc0JBQXNCO0FBQ3JELFNBQXNCQyxFQUFFLFFBQVEscUJBQXFCO0FBQ3JELFNBQVNDLEtBQUssUUFBUSx5QkFBeUI7QUFDL0MsU0FBU0MsTUFBTSxRQUFRLG1CQUFtQjtBQUcxQyxNQUFNQyxzQkFBc0I7QUFDNUIsTUFBTUMsc0JBQXNCO0FBUTVCLE9BQU8sTUFBTUM7O0lBQ1osQ0FBQSxNQUFPLEdBQUdILE9BQU9JLE1BQU0sQ0FBQ0QsS0FBS0UsSUFBSSxFQUFFO0lBQ25DLFlBQW1CLEFBQWlCQyxTQUFvQixDQUFFO2FBQXRCQSxZQUFBQTtJQUF1QjtJQUVwREMsTUFBTSxPQUFPQztRQUNuQixJQUFJLENBQUNBLFFBQVFDLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNDLElBQUksQ0FBQztZQUNsQixPQUFPYixlQUFlYyxPQUFPLENBQUNSLEtBQUtFLElBQUk7UUFDeEM7UUFFQSxNQUFNTyxRQUFRQyxHQUFHLENBQ2hCLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxXQUFXLENBQUNOLFFBQVFPLGFBQWEsRUFBRUMsR0FBRyxDQUFDLE9BQU9DO1lBQzVELE1BQU1DLE1BQU1ELEtBQUtFLGdCQUFnQjtZQUNqQyxNQUFNQyxPQUFPSCxLQUFLSSxTQUFTO1lBRTNCLDJFQUEyRTtZQUMzRSxNQUFNQyxZQUFZLE1BQU14QixHQUFHeUIsU0FBUyxDQUFDTixLQUFLTyxTQUFTLEVBQUU7Z0JBQUVOO1lBQUk7WUFDM0QsTUFBTU4sUUFBUUMsR0FBRyxDQUFDUyxVQUFVTixHQUFHLENBQUMsQ0FBQ1MsT0FBUyxJQUFJLENBQUNDLGFBQWEsQ0FBQ0QsTUFBTUw7WUFFbkUsMkVBQTJFO1lBQzNFLE1BQU0sSUFBSSxDQUFDTyx1QkFBdUIsQ0FBQ1YsTUFBTUM7UUFDMUM7UUFHRCxPQUFPckIsZUFBZStCLE9BQU8sQ0FBQ3pCLEtBQUtFLElBQUk7SUFDeEMsRUFBRTtJQUVGOzs7Ozs7OztFQVFDLEdBQ0QsTUFBY3NCLHdCQUF3QlYsSUFBYSxFQUFFQyxHQUFXLEVBQWlCO1FBQ2hGLE1BQU1XLG9CQUFvQlosS0FBS0YsYUFBYSxDQUFDUyxTQUFTLElBQUksRUFBRTtRQUM1RCxJQUFJSyxrQkFBa0JDLE1BQU0sS0FBSyxHQUFHO1lBQ25DO1FBQ0Q7UUFFQSxNQUFNQyxTQUFTZCxLQUFLRixhQUFhO1FBQ2pDLElBQUksQ0FBQ2dCLE9BQU9DLElBQUksRUFBRTtZQUNqQjtRQUNEO1FBRUEsTUFBTUMsVUFBVUYsT0FBT0UsT0FBTyxJQUFJLEVBQUU7UUFDcEMsSUFBSUEsUUFBUUgsTUFBTSxLQUFLLEdBQUc7WUFDekI7UUFDRDtRQUVBLE1BQU1JLFFBQVEsTUFBTXBDLEdBQUd5QixTQUFTLENBQUNNLG1CQUFtQjtZQUFFWDtRQUFJO1FBQzFELE1BQU1pQixhQUFhO2VBQUksSUFBSUMsSUFBSUgsUUFBUWpCLEdBQUcsQ0FBQyxDQUFDcUIsU0FBV3BCLEtBQUtJLFNBQVMsQ0FBQ2dCO1NBQVU7UUFDaEYsTUFBTXpCLFFBQVFDLEdBQUcsQ0FDaEJzQixXQUFXRyxPQUFPLENBQUMsQ0FBQ0MsU0FBV0wsTUFBTWxCLEdBQUcsQ0FBQyxDQUFDUyxPQUFTLElBQUksQ0FBQ0MsYUFBYSxDQUFDRCxNQUFNYztJQUU5RTtJQUVBLE1BQ2NiLGNBQWNELElBQVksRUFBRWMsTUFBYyxFQUFFO1FBQ3pELE1BQU1DLE9BQU85QyxLQUFLK0MsSUFBSSxDQUFDRixRQUFRZCxLQUFLaUIsWUFBWTtRQUNoRCxNQUFNNUMsR0FBRzZDLFFBQVEsQ0FBQ2xCLEtBQUttQixRQUFRLEVBQUVKLE1BQU07WUFBRUssT0FBTztRQUFLO1FBQ3JELElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQ0MsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFckIsS0FBS21CLFFBQVEsQ0FBQyxJQUFJLEVBQUVKLE1BQU07SUFDeEQ7QUFDRDs7O1FBTlVPLFVBQVU5QztRQUFxQitDLFNBQVM5QyJ9
|
|
@@ -29,6 +29,12 @@ export const Release = {
|
|
|
29
29
|
"**/*.test.ts",
|
|
30
30
|
"tests/**",
|
|
31
31
|
"e2e/**"
|
|
32
|
+
],
|
|
33
|
+
// Sit next to emitted JS under es6/commonjs/types (import.meta.url).
|
|
34
|
+
// Do not put package.json here — that stays on workspace copyFiles (root only).
|
|
35
|
+
copyFiles: [
|
|
36
|
+
"**/webapi/devcontainer/templates/**",
|
|
37
|
+
"**/webapi/devcontainer/codebase-rag-mcp.ts"
|
|
32
38
|
]
|
|
33
39
|
};
|
|
34
40
|
/**
|
|
@@ -58,4 +64,4 @@ export const WorkspaceDefaults = {
|
|
|
58
64
|
projects: undefined
|
|
59
65
|
};
|
|
60
66
|
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy93b3Jrc3BhY2UuY29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdvcmtzcGFjZURlZmF1bHRzIGFzIEJhc2VEZWZhdWx0cyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgRm9yZ2VDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFdvcmtzcGFjZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy93b3Jrc3BhY2UtY29uZmlnLnR5cGUuanNcIjtcblxuZXhwb3J0IGNvbnN0IERlYnVnOiBGb3JnZUNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hbWU6IFwiZGVidWdcIixcblx0dGFyZ2V0czogW0J1aWxkVGFyZ2V0cy5lczZdLFxuXHRhbGlhc1BhdGhzOiB0cnVlLFxuXHQvLyBGaXh0dXJlcyBhcmUgcnVudGltZSBpbnB1dHMgKG9mdGVuIHJhdyAudHMgLyBjb25maWdzKSwgbm90IGxpYnJhcnkgc291cmNlcy5cblx0aWdub3JlOiBbXCIqKi9fX2ZpeHR1cmVzX18vKipcIl0sXG5cdGNvcHlGaWxlczogW1wiKiovX19maXh0dXJlc19fLyoqXCIsIFwiKiovLmRlY29oZXJlLmpzXCIsIFwiKiovLmRlY29oZXJlLiouanNcIl0sXG59O1xuXG5leHBvcnQgY29uc3QgUmVsZWFzZTogRm9yZ2VDb25maWd1cmF0aW9uID0ge1xuXHRuYW1lOiBcInJlbGVhc2VcIixcblx0cGFjazogdHJ1ZSxcblx0dGFyZ2V0czogW0J1aWxkVGFyZ2V0cy5jb21tb25qcywgQnVpbGRUYXJnZXRzLmVzNiwgQnVpbGRUYXJnZXRzLnR5cGVzXSxcblx0aWdub3JlOiBbXCIqKi8qLnNwZWMudHNcIiwgXCIqKi8qLnRlc3QudHNcIiwgXCJ0ZXN0cy8qKlwiLCBcImUyZS8qKlwiXSxcblx0Ly8gU2l0IG5leHQgdG8gZW1pdHRlZCBKUyB1bmRlciBlczYvY29tbW9uanMvdHlwZXMgKGltcG9ydC5tZXRhLnVybCkuXG5cdC8vIERvIG5vdCBwdXQgcGFja2FnZS5qc29uIGhlcmUg4oCUIHRoYXQgc3RheXMgb24gd29ya3NwYWNlIGNvcHlGaWxlcyAocm9vdCBvbmx5KS5cblx0Y29weUZpbGVzOiBbXG5cdFx0XCIqKi93ZWJhcGkvZGV2Y29udGFpbmVyL3RlbXBsYXRlcy8qKlwiLFxuXHRcdFwiKiovd2ViYXBpL2RldmNvbnRhaW5lci9jb2RlYmFzZS1yYWctbWNwLnRzXCIsXG5cdF0sXG59O1xuXG4vKipcbiAqIExpbmsgY29uZmlndXJhdGlvbjogdW5wYWNrZWQgSlMgKyBjby1sb2NhdGVkIHR5cGUgZGVjbGFyYXRpb25zLlxuICogSW50ZW5kZWQgZm9yIGBmb3JnZSBsaW5rYCDigJQgc3ltbGlua2VkIGludG8gYSBjb25zdW1lcidzIG5vZGVfbW9kdWxlcyBzbyB0aGF0XG4gKiBib3RoIHJ1bnRpbWUgcmVzb2x1dGlvbiBhbmQgVHlwZVNjcmlwdCBmaW5kIHRoZSBzYW1lIG91dHB1dCBkaXJlY3RvcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBMaW5rOiBGb3JnZUNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hbWU6IFwibGlua1wiLFxuXHRwYWNrOiB0cnVlLFxuXHR0YXJnZXRzOiBbQnVpbGRUYXJnZXRzLmVzNiwgQnVpbGRUYXJnZXRzLnR5cGVzXSxcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29uZmlndXJhdGlvbnMgPSBbRGVidWcsIExpbmssIFJlbGVhc2VdO1xuXG5leHBvcnQgY29uc3QgV29ya3NwYWNlRGVmYXVsdHM6IFdvcmtzcGFjZU9wdGlvbnMgPSB7XG5cdC4uLkJhc2VEZWZhdWx0cyxcblx0Y29weUZpbGVzOiBbXCJwYWNrYWdlLmpzb25cIiwgXCIqKi8qLm1qc1wiXSxcblx0Y29uZmlndXJhdGlvbnM6IERlZmF1bHRDb25maWd1cmF0aW9ucyxcblx0cHJvamVjdHM6IHVuZGVmaW5lZCxcbn07XG4iXSwibmFtZXMiOlsiV29ya3NwYWNlRGVmYXVsdHMiLCJCYXNlRGVmYXVsdHMiLCJCdWlsZFRhcmdldHMiLCJEZWJ1ZyIsIm5hbWUiLCJ0YXJnZXRzIiwiZXM2IiwiYWxpYXNQYXRocyIsImlnbm9yZSIsImNvcHlGaWxlcyIsIlJlbGVhc2UiLCJwYWNrIiwiY29tbW9uanMiLCJ0eXBlcyIsIkxpbmsiLCJEZWZhdWx0Q29uZmlndXJhdGlvbnMiLCJjb25maWd1cmF0aW9ucyIsInByb2plY3RzIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxxQkFBcUJDLFlBQVksUUFBUSxpQkFBaUI7QUFDbkUsU0FBU0MsWUFBWSxRQUFRLCtCQUErQjtBQUk1RCxPQUFPLE1BQU1DLFFBQTRCO0lBQ3hDQyxNQUFNO0lBQ05DLFNBQVM7UUFBQ0gsYUFBYUksR0FBRztLQUFDO0lBQzNCQyxZQUFZO0lBQ1osOEVBQThFO0lBQzlFQyxRQUFRO1FBQUM7S0FBcUI7SUFDOUJDLFdBQVc7UUFBQztRQUFzQjtRQUFtQjtLQUFvQjtBQUMxRSxFQUFFO0FBRUYsT0FBTyxNQUFNQyxVQUE4QjtJQUMxQ04sTUFBTTtJQUNOTyxNQUFNO0lBQ05OLFNBQVM7UUFBQ0gsYUFBYVUsUUFBUTtRQUFFVixhQUFhSSxHQUFHO1FBQUVKLGFBQWFXLEtBQUs7S0FBQztJQUN0RUwsUUFBUTtRQUFDO1FBQWdCO1FBQWdCO1FBQVk7S0FBUztJQUM5RCxxRUFBcUU7SUFDckUsZ0ZBQWdGO0lBQ2hGQyxXQUFXO1FBQ1Y7UUFDQTtLQUNBO0FBQ0YsRUFBRTtBQUVGOzs7O0NBSUMsR0FDRCxPQUFPLE1BQU1LLE9BQTJCO0lBQ3ZDVixNQUFNO0lBQ05PLE1BQU07SUFDTk4sU0FBUztRQUFDSCxhQUFhSSxHQUFHO1FBQUVKLGFBQWFXLEtBQUs7S0FBQztBQUNoRCxFQUFFO0FBRUYsT0FBTyxNQUFNRSx3QkFBd0I7SUFBQ1o7SUFBT1c7SUFBTUo7Q0FBUSxDQUFDO0FBRTVELE9BQU8sTUFBTVYsb0JBQXNDO0lBQ2xELEdBQUdDLFlBQVk7SUFDZlEsV0FBVztRQUFDO1FBQWdCO0tBQVc7SUFDdkNPLGdCQUFnQkQ7SUFDaEJFLFVBQVVDO0FBQ1gsRUFBRSJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decohere/forge",
|
|
3
|
-
"version": "0.0.1-dev.
|
|
3
|
+
"version": "0.0.1-dev.70",
|
|
4
4
|
"description": "TypeScript monorepo build system — zero config, fast compilation, streamlined developer workflow",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@decohere/crucible": "0.0.1-dev.
|
|
33
|
-
"@decohere/mesh": "0.0.1-dev.
|
|
34
|
-
"@decohere/nexus": "0.0.1-dev.
|
|
35
|
-
"@decohere/scribe": "0.0.1-dev.
|
|
32
|
+
"@decohere/crucible": "0.0.1-dev.70",
|
|
33
|
+
"@decohere/mesh": "0.0.1-dev.70",
|
|
34
|
+
"@decohere/nexus": "0.0.1-dev.70",
|
|
35
|
+
"@decohere/scribe": "0.0.1-dev.70",
|
|
36
36
|
"@swc/core": "^1.11.11",
|
|
37
37
|
"async": "^3.2.6",
|
|
38
38
|
"parse-imports": "^2.2.1",
|
|
@@ -10,5 +10,15 @@ export declare class Copy implements Action<CopyOptions> {
|
|
|
10
10
|
private readonly workspace;
|
|
11
11
|
constructor(workspace: Workspace);
|
|
12
12
|
run: (options: CopyOptions) => Promise<ActionResponse>;
|
|
13
|
+
/**
|
|
14
|
+
* Packed builds emit JS under `<out>/<target>/` (e.g. `es6/`). Assets listed on
|
|
15
|
+
* the *configuration* `copyFiles` (not the workspace defaults) are also copied
|
|
16
|
+
* into each target so `import.meta.url` resolves them beside that JS.
|
|
17
|
+
*
|
|
18
|
+
* Workspace `copyFiles` (e.g. `package.json`) stay root-only — nesting a
|
|
19
|
+
* package manifest under `es6/` makes `npm install --install-links` drop the
|
|
20
|
+
* parent's `es6/` tree when packing `file:` deps.
|
|
21
|
+
*/
|
|
22
|
+
private copyColocatedPackAssets;
|
|
13
23
|
private copyFileToOut;
|
|
14
24
|
}
|