fix(scripts): tighten legacy migration guard

This commit is contained in:
Galin Iliev
2026-06-15 02:58:46 +00:00
parent 8cbf62723d
commit 34dde2c620
2 changed files with 13 additions and 2 deletions
@@ -169,8 +169,7 @@ function isAllowedLegacyOwnerPath(relativePath) {
allowedRuntimeMigrationPaths.some((allowed) => relativePath.startsWith(allowed)) ||
/^extensions\/[^/]+\/(?:doctor-contract-api|legacy-state-migrations-api)\.ts$/u.test(
relativePath,
) ||
/^extensions\/[^/]+\/.*migrations?(?:[./-][^/]*)?\.ts$/u.test(relativePath)
)
);
}
@@ -8431,6 +8431,18 @@ describe("check-database-first-legacy-stores", () => {
expect(violations).toEqual([]);
});
it("flags extension runtime writes under migration-like directories", () => {
const violations = collectDatabaseFirstLegacyStoreViolations(
`
import { promises as fs } from "node:fs";
await fs.writeFile("sessions.json", "{}\\n", "utf8");
`,
"extensions/example/src/migrations/runtime.ts",
);
expect(violations).toEqual([{ kind: "legacy store filesystem write", line: 3 }]);
});
it("allows exact QA fixture owners to materialize legacy files", () => {
const violations = collectDatabaseFirstLegacyStoreViolations(
`