mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-01 19:42:03 +00:00
fix(lint): ignore macOS AppleDouble HTML files (#2191)
This commit is contained in:
@@ -914,6 +914,19 @@ describe("multiple_root_compositions", () => {
|
||||
expect(finding).toBeUndefined();
|
||||
});
|
||||
|
||||
it("ignores macOS AppleDouble HTML metadata files", async () => {
|
||||
const project = makeProject(validHtml());
|
||||
writeFileSync(join(project, "._index.html"), validHtml());
|
||||
mkdirSync(join(project, "compositions"), { recursive: true });
|
||||
writeFileSync(join(project, "compositions", "._scene.html"), validHtml("scene"));
|
||||
const { results } = await lintProject(project);
|
||||
const finding = results[0]?.result.findings.find(
|
||||
(f) => f.code === "multiple_root_compositions",
|
||||
);
|
||||
expect(finding).toBeUndefined();
|
||||
expect(results.some((result) => result.file.includes("._"))).toBe(false);
|
||||
});
|
||||
|
||||
it("ignores HTML files without data-composition-id", async () => {
|
||||
const project = makeProject(validHtml());
|
||||
writeFileSync(join(project, "readme.html"), "<html><body>Not a composition</body></html>");
|
||||
|
||||
@@ -200,7 +200,9 @@ export async function lintProject(projectDir: string): Promise<ProjectLintResult
|
||||
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
||||
const relPath = rel ? `${rel}/${entry.name}` : entry.name;
|
||||
if (entry.isDirectory()) out.push(...collectHtmlFiles(join(dir, entry.name), relPath));
|
||||
else if (entry.isFile() && entry.name.endsWith(".html")) out.push(relPath);
|
||||
else if (entry.isFile() && entry.name.endsWith(".html") && !entry.name.startsWith("._")) {
|
||||
out.push(relPath);
|
||||
}
|
||||
}
|
||||
return out;
|
||||
};
|
||||
@@ -442,7 +444,9 @@ function lintTextureMaskAssetNotFound(
|
||||
function lintMultipleRootCompositions(projectDir: string): HyperframeLintFinding[] {
|
||||
const findings: HyperframeLintFinding[] = [];
|
||||
try {
|
||||
const rootHtmlFiles = readdirSync(projectDir).filter((f) => f.endsWith(".html"));
|
||||
const rootHtmlFiles = readdirSync(projectDir).filter(
|
||||
(file) => file.endsWith(".html") && !file.startsWith("._"),
|
||||
);
|
||||
const rootCompositions: string[] = [];
|
||||
for (const file of rootHtmlFiles) {
|
||||
if (file === "caption-skin.html") continue;
|
||||
|
||||
Reference in New Issue
Block a user