mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-09 15:59:30 +00:00
fix(scripts): skip generated dist in legacy store guard
This commit is contained in:
parent
2005812dff
commit
6ef4684b89
2 changed files with 39 additions and 9 deletions
|
|
@ -218,8 +218,18 @@ function isSourceFile(filePath) {
|
|||
}
|
||||
|
||||
function isGeneratedAssetSourceFile(filePath) {
|
||||
return /(?:^|\/)extensions\/[^/]+\/assets\/[^/]+\.[cm]?js$/u.test(
|
||||
filePath.replaceAll(path.sep, "/"),
|
||||
const normalized = filePath.replaceAll(path.sep, "/");
|
||||
return (
|
||||
/(?:^|\/)extensions\/[^/]+\/(?:assets|dist)\/.+\.[cm]?js$/u.test(normalized) ||
|
||||
/(?:^|\/)packages\/[^/]+\/dist\/.+\.[cm]?js$/u.test(normalized)
|
||||
);
|
||||
}
|
||||
|
||||
function isGeneratedAssetSourcePath(filePath) {
|
||||
return (
|
||||
/(?:^|\/)extensions\/[^/]+\/(?:assets|dist)(?:\/|$)/u.test(
|
||||
filePath.replaceAll(path.sep, "/"),
|
||||
) || /(?:^|\/)packages\/[^/]+\/dist(?:\/|$)/u.test(filePath.replaceAll(path.sep, "/"))
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -253,6 +263,9 @@ async function collectSourceFiles(targetPath) {
|
|||
continue;
|
||||
}
|
||||
const entryPath = path.join(targetPath, entry.name);
|
||||
if (isGeneratedAssetSourcePath(entryPath)) {
|
||||
continue;
|
||||
}
|
||||
if (entry.isDirectory()) {
|
||||
files.push(...(await collectSourceFiles(entryPath)));
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -32,28 +32,49 @@ describe("check-database-first-legacy-stores", () => {
|
|||
}
|
||||
});
|
||||
|
||||
it("skips generated extension asset bundles", async () => {
|
||||
it("skips generated extension asset and dist bundles", async () => {
|
||||
const root = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-db-first-guard-"));
|
||||
try {
|
||||
await fs.mkdir(path.join(root, "extensions", "diffs", "assets"), { recursive: true });
|
||||
await fs.mkdir(path.join(root, "extensions", "diffs", "dist", "assets"), {
|
||||
recursive: true,
|
||||
});
|
||||
await fs.mkdir(path.join(root, "extensions", "diffs", "src"), { recursive: true });
|
||||
await fs.mkdir(path.join(root, "packages", "plugin-sdk", "dist"), { recursive: true });
|
||||
await fs.mkdir(path.join(root, "packages", "plugin-sdk", "src"), { recursive: true });
|
||||
await fs.writeFile(
|
||||
path.join(root, "extensions", "diffs", "assets", "viewer-runtime.js"),
|
||||
"export const bundled = true;\n",
|
||||
);
|
||||
await fs.writeFile(
|
||||
path.join(root, "extensions", "diffs", "dist", "assets", "viewer-runtime.js"),
|
||||
"export const bundled = true;\n",
|
||||
);
|
||||
await fs.writeFile(
|
||||
path.join(root, "extensions", "diffs", "src", "runtime.js"),
|
||||
"export const runtime = true;\n",
|
||||
);
|
||||
await fs.writeFile(
|
||||
path.join(root, "packages", "plugin-sdk", "dist", "index.js"),
|
||||
"export const bundled = true;\n",
|
||||
);
|
||||
await fs.writeFile(
|
||||
path.join(root, "packages", "plugin-sdk", "src", "index.js"),
|
||||
"export const runtime = true;\n",
|
||||
);
|
||||
|
||||
const files = await collectDatabaseFirstLegacyStoreSourceFiles([
|
||||
path.join(root, "extensions"),
|
||||
path.join(root, "packages"),
|
||||
]);
|
||||
const relativeFiles = files
|
||||
.map((file) => path.relative(root, file).replaceAll(path.sep, "/"))
|
||||
.toSorted();
|
||||
|
||||
expect(relativeFiles).toEqual(["extensions/diffs/src/runtime.js"]);
|
||||
expect(relativeFiles).toEqual([
|
||||
"extensions/diffs/src/runtime.js",
|
||||
"packages/plugin-sdk/src/index.js",
|
||||
]);
|
||||
} finally {
|
||||
await fs.rm(root, { force: true, recursive: true });
|
||||
}
|
||||
|
|
@ -8387,11 +8408,7 @@ describe("check-database-first-legacy-stores", () => {
|
|||
[`${relativePath}:legacy store filesystem write:${allowedWrite}`, 1],
|
||||
]);
|
||||
const violations = collectDatabaseFirstLegacyStoreViolations(
|
||||
[
|
||||
`import fs from "node:fs";`,
|
||||
`${allowedWrite};`,
|
||||
`${allowedWrite};`,
|
||||
].join("\n"),
|
||||
[`import fs from "node:fs";`, `${allowedWrite};`, `${allowedWrite};`].join("\n"),
|
||||
relativePath,
|
||||
{ currentLegacyWriteAllowances },
|
||||
);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue