@coldtea/pr-lens-schema 0.1.0
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/LICENSE +21 -0
- package/README.md +150 -0
- package/dist/apply.d.ts +42 -0
- package/dist/apply.d.ts.map +1 -0
- package/dist/apply.js +315 -0
- package/dist/apply.js.map +1 -0
- package/dist/config.d.ts +58 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +61 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +24 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +12 -0
- package/dist/errors.js.map +1 -0
- package/dist/examples/baseline.d.ts +18 -0
- package/dist/examples/baseline.d.ts.map +1 -0
- package/dist/examples/baseline.js +433 -0
- package/dist/examples/baseline.js.map +1 -0
- package/dist/examples/index.d.ts +1194 -0
- package/dist/examples/index.d.ts.map +1 -0
- package/dist/examples/index.js +20 -0
- package/dist/examples/index.js.map +1 -0
- package/dist/examples/minimal.d.ts +4 -0
- package/dist/examples/minimal.d.ts.map +1 -0
- package/dist/examples/minimal.js +25 -0
- package/dist/examples/minimal.js.map +1 -0
- package/dist/examples/postmark-refactor.d.ts +16 -0
- package/dist/examples/postmark-refactor.d.ts.map +1 -0
- package/dist/examples/postmark-refactor.js +468 -0
- package/dist/examples/postmark-refactor.js.map +1 -0
- package/dist/graph.d.ts +568 -0
- package/dist/graph.d.ts.map +1 -0
- package/dist/graph.js +266 -0
- package/dist/graph.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/integrity.d.ts +20 -0
- package/dist/integrity.d.ts.map +1 -0
- package/dist/integrity.js +167 -0
- package/dist/integrity.js.map +1 -0
- package/dist/manifest.d.ts +65 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +60 -0
- package/dist/manifest.js.map +1 -0
- package/dist/patch.d.ts +824 -0
- package/dist/patch.d.ts.map +1 -0
- package/dist/patch.js +84 -0
- package/dist/patch.js.map +1 -0
- package/dist/primitives.d.ts +92 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +120 -0
- package/dist/primitives.js.map +1 -0
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +8 -0
- package/dist/utils.js.map +1 -0
- package/dist/validate.d.ts +18 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +95 -0
- package/dist/validate.js.map +1 -0
- package/dist/version.d.ts +21 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +24 -0
- package/dist/version.js.map +1 -0
- package/examples/broadcast-baseline.graph.json +289 -0
- package/examples/broadcast-baseline.patch.json +321 -0
- package/examples/minimal.graph.json +45 -0
- package/examples/postmark-refactor.graph.json +580 -0
- package/examples/postmark-refactor.render-manifest.json +67 -0
- package/examples/pr-lens.config.json +32 -0
- package/json-schema/config.schema.json +153 -0
- package/json-schema/graph-doc.schema.json +1032 -0
- package/json-schema/patch-doc.schema.json +1383 -0
- package/json-schema/render-manifest.schema.json +183 -0
- package/package.json +66 -0
- package/src/apply.ts +399 -0
- package/src/config.ts +69 -0
- package/src/errors.ts +34 -0
- package/src/examples/baseline.ts +437 -0
- package/src/examples/index.ts +25 -0
- package/src/examples/minimal.ts +26 -0
- package/src/examples/postmark-refactor.ts +480 -0
- package/src/graph.ts +331 -0
- package/src/index.ts +82 -0
- package/src/integrity.ts +216 -0
- package/src/manifest.ts +64 -0
- package/src/patch.ts +100 -0
- package/src/primitives.ts +146 -0
- package/src/utils.ts +7 -0
- package/src/validate.ts +132 -0
- package/src/version.ts +31 -0
package/dist/manifest.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { Id, Lens, MAX_RENDER_ASSETS, SchemaVersionField, Sha, Theme } from "./primitives.js";
|
|
3
|
+
/**
|
|
4
|
+
* GitHub serves comment images through a proxy that caches aggressively, so
|
|
5
|
+
* every asset is addressed by the hash of its own bytes and a new render is a
|
|
6
|
+
* new URL rather than an updated one.
|
|
7
|
+
*/
|
|
8
|
+
export const RenderAsset = z
|
|
9
|
+
.strictObject({
|
|
10
|
+
id: Id,
|
|
11
|
+
lens: Lens,
|
|
12
|
+
theme: Theme.describe("Half of a <picture> pair."),
|
|
13
|
+
view: Id.optional().describe("Drill-down view this asset renders, when it is not the root."),
|
|
14
|
+
mediaType: z.literal("image/svg+xml"),
|
|
15
|
+
contentHash: z
|
|
16
|
+
.string()
|
|
17
|
+
.regex(/^[0-9a-f]{16,64}$/, "must be lowercase hex")
|
|
18
|
+
.describe("Hash of the asset bytes; the identity of this render."),
|
|
19
|
+
bytes: z.int().min(1),
|
|
20
|
+
width: z.int().min(1),
|
|
21
|
+
height: z.int().min(1),
|
|
22
|
+
animated: z.boolean().default(false).describe("Contains SMIL animation."),
|
|
23
|
+
url: z.url().optional().describe("Where the asset is published, once it has been uploaded."),
|
|
24
|
+
path: z
|
|
25
|
+
.string()
|
|
26
|
+
.min(1)
|
|
27
|
+
.max(1024)
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("Local path, for surfaces that write files instead of uploading."),
|
|
30
|
+
})
|
|
31
|
+
.refine((asset) => asset.url !== undefined || asset.path !== undefined, {
|
|
32
|
+
message: "an asset needs a url or a path",
|
|
33
|
+
path: ["url"],
|
|
34
|
+
})
|
|
35
|
+
.meta({ anyOf: [{ required: ["url"] }, { required: ["path"] }] })
|
|
36
|
+
.describe("One rendered SVG.");
|
|
37
|
+
/** What a render produced: the inventory the comment composer builds from. */
|
|
38
|
+
export const RenderManifest = z
|
|
39
|
+
.strictObject({
|
|
40
|
+
schemaVersion: SchemaVersionField,
|
|
41
|
+
kind: z.literal("render-manifest"),
|
|
42
|
+
generatedAt: z.iso.datetime().optional(),
|
|
43
|
+
graph: z
|
|
44
|
+
.strictObject({
|
|
45
|
+
id: Id.optional(),
|
|
46
|
+
headSha: Sha.optional(),
|
|
47
|
+
contentHash: z
|
|
48
|
+
.string()
|
|
49
|
+
.regex(/^[0-9a-f]{16,64}$/, "must be lowercase hex")
|
|
50
|
+
.describe("Hash of the graph document this render came from."),
|
|
51
|
+
})
|
|
52
|
+
.describe("The document that was rendered."),
|
|
53
|
+
renderer: z.strictObject({
|
|
54
|
+
name: z.string().min(1).max(64),
|
|
55
|
+
version: z.string().min(1).max(32),
|
|
56
|
+
}),
|
|
57
|
+
assets: z.array(RenderAsset).min(1).max(MAX_RENDER_ASSETS),
|
|
58
|
+
})
|
|
59
|
+
.describe("A PR Lens render manifest.");
|
|
60
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|