@antelopejs/core 1.18.0 → 1.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/git-operations.d.ts +1 -0
- package/dist/cli/git-operations.js +15 -0
- package/dist/cli/git-operations.js.map +1 -1
- package/dist/core/modules/module-isolation.js +16 -1
- package/dist/core/modules/module-isolation.js.map +1 -1
- package/dist/core/resolution/instance-copies.d.ts +11 -2
- package/dist/core/resolution/instance-copies.js +51 -2
- package/dist/core/resolution/instance-copies.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,4 +32,5 @@ export interface ModuleInterfaceInfo {
|
|
|
32
32
|
}
|
|
33
33
|
export declare function loadInterfaceFromGit(git: string, interface_: string): Promise<InterfaceInfo | undefined>;
|
|
34
34
|
export declare function loadInterfacesFromGit(git: string, interfaces: string[]): Promise<Record<string, InterfaceInfo>>;
|
|
35
|
+
export declare const SCAFFOLD_EXCLUDED_PATHS: readonly [".agents", ".claude/skills"];
|
|
35
36
|
export declare function copyTemplate(template: Template, distPath: string): Promise<void>;
|
|
@@ -36,6 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.SCAFFOLD_EXCLUDED_PATHS = void 0;
|
|
39
40
|
exports.loadManifestFromGit = loadManifestFromGit;
|
|
40
41
|
exports.loadInterfaceFromGit = loadInterfaceFromGit;
|
|
41
42
|
exports.loadInterfacesFromGit = loadInterfacesFromGit;
|
|
@@ -133,6 +134,14 @@ async function loadInterfacesFromGit(git, interfaces) {
|
|
|
133
134
|
await releaseLock();
|
|
134
135
|
}
|
|
135
136
|
}
|
|
137
|
+
exports.SCAFFOLD_EXCLUDED_PATHS = [".agents", ".claude/skills"];
|
|
138
|
+
function scaffoldSparsePatterns() {
|
|
139
|
+
const exclusions = exports.SCAFFOLD_EXCLUDED_PATHS.flatMap((excluded) => [
|
|
140
|
+
`!/${excluded}`,
|
|
141
|
+
`!/${excluded}/`,
|
|
142
|
+
]);
|
|
143
|
+
return ["/*", ...exclusions, ""].join("\n");
|
|
144
|
+
}
|
|
136
145
|
async function copyTemplate(template, distPath) {
|
|
137
146
|
await (0, node_fs_1.mkdirSync)(distPath, { recursive: true });
|
|
138
147
|
await (0, output_1.ExecuteCMD)("git init", {
|
|
@@ -144,6 +153,12 @@ async function copyTemplate(template, distPath) {
|
|
|
144
153
|
await (0, output_1.ExecuteCMD)("git fetch", {
|
|
145
154
|
cwd: distPath,
|
|
146
155
|
});
|
|
156
|
+
await (0, output_1.ExecuteCMD)("git config core.sparseCheckout true", {
|
|
157
|
+
cwd: distPath,
|
|
158
|
+
});
|
|
159
|
+
const gitInfo = node_path_1.default.join(distPath, ".git", "info");
|
|
160
|
+
(0, node_fs_1.mkdirSync)(gitInfo, { recursive: true });
|
|
161
|
+
(0, node_fs_1.writeFileSync)(node_path_1.default.join(gitInfo, "sparse-checkout"), scaffoldSparsePatterns());
|
|
147
162
|
await (0, output_1.ExecuteCMD)(`git reset --hard origin/${template.branch}`, {
|
|
148
163
|
cwd: distPath,
|
|
149
164
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-operations.js","sourceRoot":"","sources":["../../src/cli/git-operations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git-operations.js","sourceRoot":"","sources":["../../src/cli/git-operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,9 @@ const node_os_1 = __importDefault(require("node:os"));
|
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
10
|
const utils_1 = require("../../utils");
|
|
11
11
|
const resolution_1 = require("../resolution");
|
|
12
|
+
const module_manager_logger_1 = require("./module-manager-logger");
|
|
12
13
|
const DEFAULT_INSTANCE_ROOT = node_path_1.default.join(node_os_1.default.tmpdir(), "antelopejs-instances");
|
|
14
|
+
const LISTED_FOLLOWED_LINKS = 3;
|
|
13
15
|
exports.INSTANCES_FOLDER = ".instances";
|
|
14
16
|
function realFolder(folder) {
|
|
15
17
|
try {
|
|
@@ -19,6 +21,18 @@ function realFolder(folder) {
|
|
|
19
21
|
return node_path_1.default.resolve(folder);
|
|
20
22
|
}
|
|
21
23
|
}
|
|
24
|
+
function warnFollowedLinks(moduleId, folder, followedLinks) {
|
|
25
|
+
if (followedLinks.length === 0) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const listed = followedLinks.slice(0, LISTED_FOLLOWED_LINKS).join(", ");
|
|
29
|
+
const unlisted = followedLinks.length - LISTED_FOLLOWED_LINKS;
|
|
30
|
+
const more = unlisted > 0 ? ` and ${unlisted} more` : "";
|
|
31
|
+
const links = followedLinks.length === 1
|
|
32
|
+
? "1 link leads"
|
|
33
|
+
: `${followedLinks.length} links lead`;
|
|
34
|
+
module_manager_logger_1.Logger.Warn(`Module ${moduleId} runs from a copy of ${folder}, where ${links} outside the folder: ${listed}${more}. The copy holds their targets but not the packages installed beside them, so their own dependencies may fail to resolve.`);
|
|
35
|
+
}
|
|
22
36
|
function evictFolder(folder) {
|
|
23
37
|
const isInFolder = (0, utils_1.createPathWithinMatcher)(folder);
|
|
24
38
|
for (const filePath of Object.keys(require.cache)) {
|
|
@@ -95,7 +109,8 @@ class ModuleIsolation {
|
|
|
95
109
|
}
|
|
96
110
|
const base = node_path_1.default.join(this.root, encodeURIComponent(moduleId));
|
|
97
111
|
const copy = (0, resolution_1.nextInstanceCopyPath)(base);
|
|
98
|
-
(0, resolution_1.createInstanceCopy)(folder, copy);
|
|
112
|
+
const { followedLinks } = (0, resolution_1.createInstanceCopy)(folder, copy);
|
|
113
|
+
warnFollowedLinks(moduleId, folder, followedLinks);
|
|
99
114
|
return copy;
|
|
100
115
|
}
|
|
101
116
|
removeCopy(copy) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-isolation.js","sourceRoot":"","sources":["../../../src/core/modules/module-isolation.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAuC;AACvC,sDAAyB;AACzB,0DAA6B;AAE7B,uCAAsD;AACtD,8CAKuB;
|
|
1
|
+
{"version":3,"file":"module-isolation.js","sourceRoot":"","sources":["../../../src/core/modules/module-isolation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
type FileLinker = (source: string, destination: string) => void;
|
|
2
|
+
type SymbolicLinker = (target: string, destination: string, type: "junction" | "file") => void;
|
|
3
|
+
interface InstanceCopyLinkers {
|
|
4
|
+
link?: FileLinker;
|
|
5
|
+
symlink?: SymbolicLinker;
|
|
6
|
+
}
|
|
7
|
+
interface InstanceCopyReport {
|
|
8
|
+
followedLinks: string[];
|
|
9
|
+
}
|
|
10
|
+
export declare function createInstanceCopy(source: string, destination: string, { link, symlink }?: InstanceCopyLinkers): InstanceCopyReport;
|
|
3
11
|
export declare function removeInstanceCopy(destination: string): void;
|
|
4
12
|
export declare function nextInstanceCopyPath(base: string): string;
|
|
5
13
|
export declare function pruneStaleInstanceCopies(root: string): void;
|
|
14
|
+
export {};
|
|
@@ -20,6 +20,43 @@ function realDirectory(folder) {
|
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
+
function linkTarget(source) {
|
|
24
|
+
try {
|
|
25
|
+
return (0, node_fs_1.lstatSync)(source).isSymbolicLink()
|
|
26
|
+
? node_fs_1.realpathSync.native(source)
|
|
27
|
+
: undefined;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function isWithin(folder, target) {
|
|
34
|
+
const relative = node_path_1.default.relative(folder, target);
|
|
35
|
+
return (relative !== ".." &&
|
|
36
|
+
!relative.startsWith(`..${node_path_1.default.sep}`) &&
|
|
37
|
+
!node_path_1.default.isAbsolute(relative));
|
|
38
|
+
}
|
|
39
|
+
function keepLink(target, destination, context) {
|
|
40
|
+
const copiedTarget = node_path_1.default.join(context.destinationRoot, node_path_1.default.relative(context.sourceRoot, target));
|
|
41
|
+
try {
|
|
42
|
+
context.symlink(node_path_1.default.relative(node_path_1.default.dirname(destination), copiedTarget), destination, (0, node_fs_1.statSync)(target).isDirectory() ? "junction" : "file");
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function placeLink(source, destination, context) {
|
|
50
|
+
const target = linkTarget(source);
|
|
51
|
+
if (!target) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
if (isWithin(context.sourceRoot, target)) {
|
|
55
|
+
return keepLink(target, destination, context);
|
|
56
|
+
}
|
|
57
|
+
context.followedLinks.push(node_path_1.default.relative(context.destinationRoot, destination));
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
23
60
|
function placeFile(source, destination, link) {
|
|
24
61
|
try {
|
|
25
62
|
link(source, destination);
|
|
@@ -53,6 +90,9 @@ function entryKind(source) {
|
|
|
53
90
|
}
|
|
54
91
|
}
|
|
55
92
|
function copyEntry(source, destination, context) {
|
|
93
|
+
if (placeLink(source, destination, context)) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
56
96
|
const kind = entryKind(source);
|
|
57
97
|
if (kind === "directory") {
|
|
58
98
|
copyDirectory(source, destination, context);
|
|
@@ -62,10 +102,19 @@ function copyEntry(source, destination, context) {
|
|
|
62
102
|
placeFile(source, destination, context.link);
|
|
63
103
|
}
|
|
64
104
|
}
|
|
65
|
-
function createInstanceCopy(source, destination, link = node_fs_1.linkSync) {
|
|
105
|
+
function createInstanceCopy(source, destination, { link = node_fs_1.linkSync, symlink = node_fs_1.symlinkSync } = {}) {
|
|
66
106
|
(0, node_fs_1.rmSync)(destination, { recursive: true, force: true });
|
|
67
|
-
|
|
107
|
+
const followedLinks = [];
|
|
108
|
+
copyDirectory(source, destination, {
|
|
109
|
+
link,
|
|
110
|
+
symlink,
|
|
111
|
+
ancestors: new Set(),
|
|
112
|
+
sourceRoot: realDirectory(source) ?? node_path_1.default.resolve(source),
|
|
113
|
+
destinationRoot: destination,
|
|
114
|
+
followedLinks,
|
|
115
|
+
});
|
|
68
116
|
(0, utils_1.clearPathResolutionCache)();
|
|
117
|
+
return { followedLinks };
|
|
69
118
|
}
|
|
70
119
|
function removeInstanceCopy(destination) {
|
|
71
120
|
(0, node_fs_1.rmSync)(destination, { recursive: true, force: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-copies.js","sourceRoot":"","sources":["../../../src/core/resolution/instance-copies.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"instance-copies.js","sourceRoot":"","sources":["../../../src/core/resolution/instance-copies.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antelopejs/core",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.2",
|
|
4
4
|
"description": "TypeScript framework extending hexagonal architecture across your application and its ecosystem through explicit contracts and replaceable modules.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"antelopejs",
|