@lalalic/markcut 3.2.15 → 3.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lalalic/markcut",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.17",
|
|
4
4
|
"description": "Markdown-to-video engine. Describe scenes in markdown, get a rendered video.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"markcut": "bin/markcut"
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"render:gallery": "remotion render examples/pixelle/index.tsx Root out/pixelle-gallery.mp4 --props=./examples/pixelle/gallery.json",
|
|
31
31
|
"typecheck": "tsc --noEmit",
|
|
32
32
|
"test": "vitest run --config tests/vitest.config.ts",
|
|
33
|
+
"test:publish": "vitest run --config tests/vitest.publish.config.ts",
|
|
33
34
|
"test:integration": "vitest run --config tests/vitest.config.ts tests/render.test.ts",
|
|
34
35
|
"test:watch": "vitest --config tests/vitest.config.ts",
|
|
35
36
|
"build": "scripts/build-pipeline.sh && scripts/build-player.sh && scripts/build-mcp-preview.sh",
|
|
@@ -943,7 +943,7 @@ describe("compileDescriptiveRoot", () => {
|
|
|
943
943
|
expect(compiled.durationInSeconds).toBe(0);
|
|
944
944
|
});
|
|
945
945
|
|
|
946
|
-
it("
|
|
946
|
+
it("does not synthesize event ids for nodes without explicit id", () => {
|
|
947
947
|
const compiled = compileDescriptiveRoot({
|
|
948
948
|
children: [
|
|
949
949
|
{ type: "image", src: "a.jpg", duration: 1 },
|
|
@@ -952,9 +952,8 @@ describe("compileDescriptiveRoot", () => {
|
|
|
952
952
|
});
|
|
953
953
|
|
|
954
954
|
const [a, b] = compiled.children as any[];
|
|
955
|
-
expect(a.id).
|
|
956
|
-
expect(b.id).
|
|
957
|
-
expect(a.id).not.toBe(b.id);
|
|
955
|
+
expect(a.id).toBeUndefined();
|
|
956
|
+
expect(b.id).toBeUndefined();
|
|
958
957
|
});
|
|
959
958
|
});
|
|
960
959
|
|
|
@@ -598,6 +598,14 @@ function processMDASTListItem(item: any, parent: ParentNode, lines: string[]): v
|
|
|
598
598
|
}
|
|
599
599
|
}
|
|
600
600
|
|
|
601
|
+
// Script aliases may supply text through an indented ~~~script block.
|
|
602
|
+
// Reject an empty alias only after processing those property blocks.
|
|
603
|
+
if (/^script(?:\s|$)/.test(text) && !(node as any).script?.trim() && !(node as any).on) {
|
|
604
|
+
throw new DslError("script requires text content", {
|
|
605
|
+
line: firstPara.position?.start?.line,
|
|
606
|
+
lineText: text,
|
|
607
|
+
});
|
|
608
|
+
}
|
|
601
609
|
}
|
|
602
610
|
|
|
603
611
|
/** Apply key/value attrs to a scene node (subset of root attrs). */
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { defineConfig } from "vitest/config";
|
|
2
|
+
|
|
3
|
+
// Publish gating runs deterministic tests that do not require local media,
|
|
4
|
+
// ffmpeg/ffprobe, live vision services, or a media HTTP server.
|
|
5
|
+
// Full coverage remains available with `npm test` and `npm run test:integration`.
|
|
6
|
+
export default defineConfig({
|
|
7
|
+
test: {
|
|
8
|
+
exclude: [
|
|
9
|
+
"**/node_modules/**",
|
|
10
|
+
"tests/render.test.ts",
|
|
11
|
+
"tests/vision.test.ts",
|
|
12
|
+
"tests/vision-candidate.test.ts",
|
|
13
|
+
"tests/mcp-remote-assets.test.ts",
|
|
14
|
+
],
|
|
15
|
+
testTimeout: 120_000,
|
|
16
|
+
hookTimeout: 120_000,
|
|
17
|
+
pool: "forks",
|
|
18
|
+
fileParallelism: false,
|
|
19
|
+
reporters: ["verbose"],
|
|
20
|
+
env: { CI: "true" },
|
|
21
|
+
},
|
|
22
|
+
});
|