mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-10-30 17:27:09 +00:00
fix(lint): the podcast-lanes.html page Desktop writes is not a second root composition
HyperFrames Desktop's podcast edit writes its camera lanes page, podcast-lanes.html, at the project root beside index.html: Studio reads no composition inside a dot folder, and Desktop opens the page directly as its own view. index.html never mounts it and no render plays it, but multiple_root_compositions fails lint and check on every podcast project, and its fix hint tells an agent to remove the file. Exempt it the way caption-skin.html already is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
d83f276743
commit
132e6633bf
@@ -1007,6 +1007,19 @@ describe("multiple_root_compositions", () => {
|
||||
expect(finding).toBeUndefined();
|
||||
});
|
||||
|
||||
it("ignores HyperFrames Desktop's root-level podcast-lanes.html camera lanes page", async () => {
|
||||
const project = makeProject(validHtml());
|
||||
writeFileSync(
|
||||
join(project, "podcast-lanes.html"),
|
||||
'<div id="root" data-composition-id="podcast-lanes" data-no-timeline data-start="0" data-duration="60" data-width="1280" data-height="720"></div>',
|
||||
);
|
||||
const { results } = await lintProject(project);
|
||||
const finding = results[0]?.result.findings.find(
|
||||
(f) => f.code === "multiple_root_compositions",
|
||||
);
|
||||
expect(finding).toBeUndefined();
|
||||
});
|
||||
|
||||
it("ignores macOS AppleDouble HTML metadata files", async () => {
|
||||
const project = makeProject(validHtml());
|
||||
writeFileSync(join(project, "._index.html"), validHtml());
|
||||
|
||||
@@ -583,7 +583,8 @@ function lintMultipleRootCompositions(projectDir: string): HyperframeLintFinding
|
||||
);
|
||||
const rootCompositions: string[] = [];
|
||||
for (const file of rootHtmlFiles) {
|
||||
if (file === "caption-skin.html") continue;
|
||||
// Companion pages an app opens on their own beside index.html; never mounted, never rendered.
|
||||
if (file === "caption-skin.html" || file === "podcast-lanes.html") continue;
|
||||
const content = readFileSync(join(projectDir, file), "utf-8");
|
||||
if (/data-composition-id/i.test(content)) {
|
||||
rootCompositions.push(file);
|
||||
|
||||
Reference in New Issue
Block a user