forked from bai/curriculum-project-hub
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 53d372e29b |
@@ -49,7 +49,10 @@ async function findProjectFiles(directory) {
|
||||
for (const entry of entries) {
|
||||
if (entry.name === ".trash") continue;
|
||||
const path = resolve(directory, entry.name);
|
||||
if (entry.isSymbolicLink()) throw new Error(`legacy manifest rejects symbolic link: ${path}`);
|
||||
if (entry.isSymbolicLink()) {
|
||||
process.stderr.write(`[legacy-manifest] skip untracked symbolic link: ${path}\n`);
|
||||
continue;
|
||||
}
|
||||
if (entry.isDirectory()) found.push(...await findProjectFiles(path));
|
||||
}
|
||||
return found;
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@paradigm/hub",
|
||||
"version": "0.0.21",
|
||||
"version": "0.0.22",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@paradigm/hub",
|
||||
"version": "0.0.21",
|
||||
"version": "0.0.22",
|
||||
"dependencies": {
|
||||
"@anthropic-ai/claude-agent-sdk": "^0.3.202",
|
||||
"@fastify/cookie": "^11.0.2",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@paradigm/hub",
|
||||
"version": "0.0.21",
|
||||
"version": "0.0.22",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"engines": {
|
||||
|
||||
@@ -48,14 +48,16 @@ describe("legacy project manifest builder", () => {
|
||||
}]);
|
||||
});
|
||||
|
||||
it("rejects symlinked entries instead of silently omitting them", async () => {
|
||||
it("reports untracked symlinked entries instead of silently omitting them", async () => {
|
||||
const root = await mkdtemp(join(tmpdir(), "cph-legacy-manifest-link-"));
|
||||
temporaryRoots.push(root);
|
||||
await symlink("/tmp", join(root, "linked-project"));
|
||||
|
||||
await expect(execute(process.execPath, [
|
||||
const result = await execute(process.execPath, [
|
||||
resolve("deploy/build_legacy_project_manifest.mjs"),
|
||||
root,
|
||||
])).rejects.toMatchObject({ stderr: expect.stringContaining("rejects symbolic link") });
|
||||
]);
|
||||
expect(result.stderr).toContain("skip untracked symbolic link");
|
||||
expect(JSON.parse(result.stdout)).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user