@taprootio/docs-artifact 1.0.1 → 1.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/README.md +196 -30
- package/bin/taproot-docs-conformance.js +34 -13
- package/bin/taproot-docs-validate.js +44 -9
- package/fixtures/README.md +19 -0
- package/fixtures/prebuilt/conformance.json +444 -0
- package/fixtures/prebuilt/golden/espalier.tar.gz +0 -0
- package/fixtures/prebuilt/invalid/duplicate-json-key.json +4 -0
- package/fixtures/prebuilt/valid/espalier/404.html +2 -0
- package/fixtures/prebuilt/valid/espalier/api/show-toast/index.html +5 -0
- package/fixtures/prebuilt/valid/espalier/assets/icons.svg +1 -0
- package/fixtures/prebuilt/valid/espalier/assets/pulse.svg +1 -0
- package/fixtures/prebuilt/valid/espalier/assets/search-worker.js +1 -0
- package/fixtures/prebuilt/valid/espalier/assets/search.wasm +0 -0
- package/fixtures/prebuilt/valid/espalier/assets/site.css +3 -0
- package/fixtures/prebuilt/valid/espalier/assets/site.js +2 -0
- package/fixtures/prebuilt/valid/espalier/dist/-6iE9DOe.css +1 -0
- package/fixtures/prebuilt/valid/espalier/dist/_AN3XUT_.css +1 -0
- package/fixtures/prebuilt/valid/espalier/guides/index.html +2 -0
- package/fixtures/prebuilt/valid/espalier/index.html +2 -0
- package/fixtures/prebuilt/valid/espalier/pagefind/index/abc.pf_index +0 -0
- package/fixtures/prebuilt/valid/espalier/pagefind/pagefind.js +4 -0
- package/fixtures/prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json +135 -0
- package/index.d.ts +9 -0
- package/node.d.ts +1 -0
- package/package.json +28 -5
- package/prebuilt-archive.d.ts +27 -0
- package/prebuilt-conformance.d.ts +27 -0
- package/prebuilt-node.d.ts +7 -0
- package/prebuilt.d.ts +128 -0
- package/schema/taproot-docs-prebuilt-manifest.schema.json +156 -0
- package/src/constants.js +4 -0
- package/src/index.js +13 -0
- package/src/json.js +50 -26
- package/src/node.js +2 -0
- package/src/prebuilt-archive.js +246 -0
- package/src/prebuilt-artifact-validator.js +236 -0
- package/src/prebuilt-conformance.js +151 -0
- package/src/prebuilt-constants.js +55 -0
- package/src/prebuilt-manifest-validator.js +654 -0
- package/src/prebuilt-node.js +518 -0
- package/src/prebuilt-path.js +129 -0
- package/src/prebuilt.js +20 -0
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"cases": [
|
|
4
|
+
{
|
|
5
|
+
"name": "accept-representative-espalier-prebuilt-output",
|
|
6
|
+
"valid": true,
|
|
7
|
+
"expectedCodes": [],
|
|
8
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
9
|
+
"includeBaseFiles": true,
|
|
10
|
+
"archive": {
|
|
11
|
+
"path": "prebuilt/golden/espalier.tar.gz",
|
|
12
|
+
"byteLength": 19991,
|
|
13
|
+
"sha256": "sha256:57d9a7d7c79effafeb5c5951855ff75de04573a7ec4d46f26f8b1a40d044a1e8"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "accept-permanent-301-redirect",
|
|
18
|
+
"valid": true,
|
|
19
|
+
"expectedCodes": [],
|
|
20
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
21
|
+
"includeBaseFiles": true,
|
|
22
|
+
"mutations": [
|
|
23
|
+
{ "operation": "replace", "path": ["redirects", 0, "status"], "value": 301 }
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "reject-duplicate-json-key",
|
|
28
|
+
"valid": false,
|
|
29
|
+
"expectedCodes": ["json.duplicate_key"],
|
|
30
|
+
"manifest": "prebuilt/invalid/duplicate-json-key.json"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "reject-path-traversal",
|
|
34
|
+
"valid": false,
|
|
35
|
+
"expectedCodes": ["path.unsafe"],
|
|
36
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
37
|
+
"mutations": [
|
|
38
|
+
{ "operation": "replace", "path": ["files", 2, "path"], "value": "assets/../icons.svg" }
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "reject-non-ascii-non-normalized-path",
|
|
43
|
+
"valid": false,
|
|
44
|
+
"expectedCodes": ["path.not_ascii", "string.not_normalized"],
|
|
45
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
46
|
+
"mutations": [
|
|
47
|
+
{ "operation": "replace", "path": ["files", 2, "path"], "value": "assets/é.svg" }
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "reject-ascii-case-fold-file-collision",
|
|
52
|
+
"valid": false,
|
|
53
|
+
"expectedCodes": ["array.not_sorted", "duplicate.file_path_casefold"],
|
|
54
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
55
|
+
"mutations": [
|
|
56
|
+
{
|
|
57
|
+
"operation": "append",
|
|
58
|
+
"path": ["files"],
|
|
59
|
+
"value": {
|
|
60
|
+
"bytes": 152,
|
|
61
|
+
"mediaType": "text/javascript; charset=utf-8",
|
|
62
|
+
"path": "assets/SITE.js",
|
|
63
|
+
"sha256": "sha256:59b4582bd63e4bc20d0650ee73452b34e8f8e2fc1cabe32c59c5507e7890f70d"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "reject-ascii-case-fold-parent-directory-alias",
|
|
70
|
+
"valid": false,
|
|
71
|
+
"expectedCodes": ["duplicate.directory_path_casefold"],
|
|
72
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
73
|
+
"mutations": [
|
|
74
|
+
{
|
|
75
|
+
"operation": "append",
|
|
76
|
+
"path": ["files"],
|
|
77
|
+
"value": {
|
|
78
|
+
"bytes": 0,
|
|
79
|
+
"mediaType": "text/css; charset=utf-8",
|
|
80
|
+
"path": "zAlias/a.css",
|
|
81
|
+
"sha256": "sha256:0000000000000000000000000000000000000000000000000000000000000000"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"operation": "append",
|
|
86
|
+
"path": ["files"],
|
|
87
|
+
"value": {
|
|
88
|
+
"bytes": 0,
|
|
89
|
+
"mediaType": "text/css; charset=utf-8",
|
|
90
|
+
"path": "zalias/b.css",
|
|
91
|
+
"sha256": "sha256:0000000000000000000000000000000000000000000000000000000000000000"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "reject-undeclared-file",
|
|
98
|
+
"valid": false,
|
|
99
|
+
"expectedCodes": ["file.unexpected"],
|
|
100
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
101
|
+
"includeBaseFiles": true,
|
|
102
|
+
"files": [
|
|
103
|
+
{ "path": "extra.txt", "utf8": "undeclared\n" }
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "reject-missing-declared-file",
|
|
108
|
+
"valid": false,
|
|
109
|
+
"expectedCodes": ["file.missing"],
|
|
110
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
111
|
+
"includeBaseFiles": true,
|
|
112
|
+
"omitBaseFiles": ["assets/site.js"]
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "reject-hash-drift",
|
|
116
|
+
"valid": false,
|
|
117
|
+
"expectedCodes": ["file.hash_drift"],
|
|
118
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
119
|
+
"includeBaseFiles": true,
|
|
120
|
+
"mutations": [
|
|
121
|
+
{
|
|
122
|
+
"operation": "replace",
|
|
123
|
+
"path": ["files", 11, "sha256"],
|
|
124
|
+
"value": "sha256:0000000000000000000000000000000000000000000000000000000000000000"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "reject-size-drift",
|
|
130
|
+
"valid": false,
|
|
131
|
+
"expectedCodes": ["file.size_drift"],
|
|
132
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
133
|
+
"includeBaseFiles": true,
|
|
134
|
+
"mutations": [
|
|
135
|
+
{ "operation": "replace", "path": ["files", 11, "bytes"], "value": 380 }
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "reject-per-file-byte-bound",
|
|
140
|
+
"valid": false,
|
|
141
|
+
"expectedCodes": ["number.range"],
|
|
142
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
143
|
+
"mutations": [
|
|
144
|
+
{ "operation": "replace", "path": ["files", 11, "bytes"], "value": 67108865 }
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "reject-total-declared-byte-bound",
|
|
149
|
+
"valid": false,
|
|
150
|
+
"expectedCodes": ["limit.artifact_bytes"],
|
|
151
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
152
|
+
"mutations": [
|
|
153
|
+
{ "operation": "replace", "path": ["files", 0, "bytes"], "value": 67108864 },
|
|
154
|
+
{ "operation": "replace", "path": ["files", 1, "bytes"], "value": 67108864 },
|
|
155
|
+
{ "operation": "replace", "path": ["files", 2, "bytes"], "value": 67108864 },
|
|
156
|
+
{ "operation": "replace", "path": ["files", 3, "bytes"], "value": 67108864 },
|
|
157
|
+
{ "operation": "replace", "path": ["files", 4, "bytes"], "value": 67108864 },
|
|
158
|
+
{ "operation": "replace", "path": ["files", 5, "bytes"], "value": 67108864 },
|
|
159
|
+
{ "operation": "replace", "path": ["files", 6, "bytes"], "value": 67108864 },
|
|
160
|
+
{ "operation": "replace", "path": ["files", 7, "bytes"], "value": 67108864 },
|
|
161
|
+
{ "operation": "replace", "path": ["files", 8, "bytes"], "value": 67108864 }
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "reject-path-byte-bound",
|
|
166
|
+
"valid": false,
|
|
167
|
+
"expectedCodes": ["path.too_long", "string.length"],
|
|
168
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
169
|
+
"mutations": [
|
|
170
|
+
{ "operation": "replace", "path": ["files", 13, "path"], "repeat": "z", "count": 253, "suffix": ".js" }
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "reject-manifest-byte-bound",
|
|
175
|
+
"valid": false,
|
|
176
|
+
"expectedCodes": ["manifest.too_large"],
|
|
177
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
178
|
+
"manifestPaddingBytes": 8388609
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "reject-ambiguous-case-folded-redirect",
|
|
182
|
+
"valid": false,
|
|
183
|
+
"expectedCodes": ["array.not_sorted", "duplicate.redirect"],
|
|
184
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
185
|
+
"mutations": [
|
|
186
|
+
{
|
|
187
|
+
"operation": "append",
|
|
188
|
+
"path": ["redirects"],
|
|
189
|
+
"value": { "from": "/GETTING-started/", "status": 301, "toResourceKey": "home" }
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "reject-redirect-file-route-collision",
|
|
195
|
+
"valid": false,
|
|
196
|
+
"expectedCodes": ["redirect.route_collision"],
|
|
197
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
198
|
+
"mutations": [
|
|
199
|
+
{
|
|
200
|
+
"operation": "append",
|
|
201
|
+
"path": ["redirects"],
|
|
202
|
+
"value": { "from": "/guides/", "status": 308, "toResourceKey": "home" }
|
|
203
|
+
}
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "reject-worker-internal-control-file-route",
|
|
208
|
+
"valid": false,
|
|
209
|
+
"expectedCodes": ["route.reserved"],
|
|
210
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
211
|
+
"mutations": [
|
|
212
|
+
{ "operation": "replace", "path": ["files", 1, "path"], "value": "__taproot/internal/published-site-routing" },
|
|
213
|
+
{ "operation": "replace", "path": ["files", 1, "mediaType"], "value": "application/octet-stream" },
|
|
214
|
+
{ "operation": "remove", "path": ["resources", 0] }
|
|
215
|
+
]
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "reject-worker-internal-control-redirect-source",
|
|
219
|
+
"valid": false,
|
|
220
|
+
"expectedCodes": ["route.reserved"],
|
|
221
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
222
|
+
"mutations": [
|
|
223
|
+
{
|
|
224
|
+
"operation": "replace",
|
|
225
|
+
"path": ["redirects", 0, "from"],
|
|
226
|
+
"value": "/__taproot/internal/published-site-routing"
|
|
227
|
+
}
|
|
228
|
+
]
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "reject-missing-resource-target",
|
|
232
|
+
"valid": false,
|
|
233
|
+
"expectedCodes": ["redirect.unknown_resource"],
|
|
234
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
235
|
+
"mutations": [
|
|
236
|
+
{ "operation": "replace", "path": ["redirects", 0, "toResourceKey"], "value": "guide:missing" }
|
|
237
|
+
]
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"name": "reject-unsupported-redirect-status",
|
|
241
|
+
"valid": false,
|
|
242
|
+
"expectedCodes": ["redirect.status"],
|
|
243
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
244
|
+
"mutations": [
|
|
245
|
+
{ "operation": "replace", "path": ["redirects", 0, "status"], "value": 302 }
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "reject-canonical-404-as-stable-resource",
|
|
250
|
+
"valid": false,
|
|
251
|
+
"expectedCodes": ["resource.not_found"],
|
|
252
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
253
|
+
"mutations": [
|
|
254
|
+
{ "operation": "replace", "path": ["resources", 0, "file"], "value": "404.html" }
|
|
255
|
+
]
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"name": "reject-resource-unknown-file",
|
|
259
|
+
"valid": false,
|
|
260
|
+
"expectedCodes": ["resource.unknown_file"],
|
|
261
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
262
|
+
"mutations": [
|
|
263
|
+
{ "operation": "replace", "path": ["resources", 0, "file"], "value": "missing.html" }
|
|
264
|
+
]
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"name": "reject-resource-non-html-file",
|
|
268
|
+
"valid": false,
|
|
269
|
+
"expectedCodes": ["resource.not_html"],
|
|
270
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
271
|
+
"mutations": [
|
|
272
|
+
{ "operation": "replace", "path": ["resources", 0, "file"], "value": "assets/site.js" }
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"name": "reject-canonical-404-media-type",
|
|
277
|
+
"valid": false,
|
|
278
|
+
"expectedCodes": ["file.media_type", "not_found.media_type"],
|
|
279
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
280
|
+
"mutations": [
|
|
281
|
+
{ "operation": "replace", "path": ["files", 0, "mediaType"], "value": "text/plain; charset=utf-8" }
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"name": "reject-missing-required-prebuilt-capability",
|
|
286
|
+
"valid": false,
|
|
287
|
+
"expectedCodes": ["capability.missing"],
|
|
288
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
289
|
+
"mutations": [
|
|
290
|
+
{ "operation": "replace", "path": ["capabilities", "required"], "value": [] }
|
|
291
|
+
]
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"name": "reject-unsupported-required-prebuilt-capability",
|
|
295
|
+
"valid": false,
|
|
296
|
+
"expectedCodes": ["capability.unsupported"],
|
|
297
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
298
|
+
"mutations": [
|
|
299
|
+
{
|
|
300
|
+
"operation": "replace",
|
|
301
|
+
"path": ["capabilities", "required"],
|
|
302
|
+
"value": ["taproot.docs.prebuilt.files.v1", "taproot.docs.unsupported.v1"]
|
|
303
|
+
}
|
|
304
|
+
]
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"name": "reject-noncanonical-source-repository-url",
|
|
308
|
+
"valid": false,
|
|
309
|
+
"expectedCodes": ["source.repository_url"],
|
|
310
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
311
|
+
"mutations": [
|
|
312
|
+
{
|
|
313
|
+
"operation": "replace",
|
|
314
|
+
"path": ["source", "repositoryUrl"],
|
|
315
|
+
"value": "https://example.com/taprootio/taproot-controls"
|
|
316
|
+
}
|
|
317
|
+
]
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"name": "reject-noncanonical-404-file",
|
|
321
|
+
"valid": false,
|
|
322
|
+
"expectedCodes": ["not_found.not_canonical"],
|
|
323
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
324
|
+
"mutations": [
|
|
325
|
+
{ "operation": "replace", "path": ["notFoundFile"], "value": "missing.html" }
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"name": "reject-publisher-controlled-response-headers",
|
|
330
|
+
"valid": false,
|
|
331
|
+
"expectedCodes": ["property.unsupported"],
|
|
332
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
333
|
+
"mutations": [
|
|
334
|
+
{ "operation": "replace", "path": ["headers"], "value": { "content-security-policy": "default-src *" } }
|
|
335
|
+
]
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"name": "reject-media-type-drift",
|
|
339
|
+
"valid": false,
|
|
340
|
+
"expectedCodes": ["file.media_type"],
|
|
341
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
342
|
+
"mutations": [
|
|
343
|
+
{ "operation": "replace", "path": ["files", 6, "mediaType"], "value": "text/javascript; charset=utf-8" }
|
|
344
|
+
]
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"name": "reject-file-count-bound",
|
|
348
|
+
"valid": false,
|
|
349
|
+
"expectedCodes": ["array.length", "duplicate.file_path", "validation.too_many_errors"],
|
|
350
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
351
|
+
"mutations": [
|
|
352
|
+
{ "operation": "repeat-array", "path": ["files"], "sourceIndex": 0, "count": 25001 },
|
|
353
|
+
{ "operation": "replace", "path": ["resources"], "value": [] },
|
|
354
|
+
{ "operation": "replace", "path": ["redirects"], "value": [] }
|
|
355
|
+
]
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"name": "reject-resource-count-bound",
|
|
359
|
+
"valid": false,
|
|
360
|
+
"expectedCodes": [
|
|
361
|
+
"array.length",
|
|
362
|
+
"duplicate.resource_file",
|
|
363
|
+
"duplicate.resource_key",
|
|
364
|
+
"validation.too_many_errors"
|
|
365
|
+
],
|
|
366
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
367
|
+
"mutations": [
|
|
368
|
+
{ "operation": "repeat-array", "path": ["resources"], "sourceIndex": 0, "count": 25001 },
|
|
369
|
+
{ "operation": "replace", "path": ["redirects"], "value": [] }
|
|
370
|
+
]
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"name": "reject-redirect-count-bound",
|
|
374
|
+
"valid": false,
|
|
375
|
+
"expectedCodes": ["array.length", "duplicate.redirect", "validation.too_many_errors"],
|
|
376
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
377
|
+
"mutations": [
|
|
378
|
+
{ "operation": "repeat-array", "path": ["redirects"], "sourceIndex": 0, "count": 10001 }
|
|
379
|
+
]
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"name": "reject-directory-depth-bound",
|
|
383
|
+
"valid": false,
|
|
384
|
+
"expectedCodes": ["limit.directory_depth"],
|
|
385
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
386
|
+
"mutations": [
|
|
387
|
+
{ "operation": "replace", "path": ["files", 13, "path"], "repeat": "z/", "count": 65, "suffix": "pagefind.js" }
|
|
388
|
+
]
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"name": "reject-ustar-name-bound",
|
|
392
|
+
"valid": false,
|
|
393
|
+
"expectedCodes": ["path.ustar"],
|
|
394
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
395
|
+
"mutations": [
|
|
396
|
+
{ "operation": "replace", "path": ["files", 13, "path"], "repeat": "z", "count": 101, "suffix": ".js" }
|
|
397
|
+
]
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"name": "reject-manifest-path-descendant",
|
|
401
|
+
"valid": false,
|
|
402
|
+
"expectedCodes": ["path.manifest"],
|
|
403
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
404
|
+
"mutations": [
|
|
405
|
+
{
|
|
406
|
+
"operation": "replace",
|
|
407
|
+
"path": ["files", 13, "path"],
|
|
408
|
+
"value": "taproot-docs-prebuilt-manifest.json/payload.js"
|
|
409
|
+
}
|
|
410
|
+
]
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "reject-missing-canonical-404-inventory",
|
|
414
|
+
"valid": false,
|
|
415
|
+
"expectedCodes": ["not_found.missing"],
|
|
416
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
417
|
+
"mutations": [
|
|
418
|
+
{ "operation": "remove", "path": ["files", 0] }
|
|
419
|
+
]
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"name": "reject-publisher-origins-routes-and-hooks",
|
|
423
|
+
"valid": false,
|
|
424
|
+
"expectedCodes": ["property.unsupported"],
|
|
425
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
426
|
+
"mutations": [
|
|
427
|
+
{ "operation": "replace", "path": ["allowedOrigins"], "value": ["https://example.com"] },
|
|
428
|
+
{ "operation": "replace", "path": ["validationHooks"], "value": ["npm run validate"] },
|
|
429
|
+
{ "operation": "replace", "path": ["files", 1, "route"], "value": "/api/toast/" }
|
|
430
|
+
]
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"name": "reject-file-becoming-nonregular-before-open",
|
|
434
|
+
"valid": false,
|
|
435
|
+
"expectedCodes": ["file.not_regular"],
|
|
436
|
+
"baseManifest": "prebuilt/valid/espalier/taproot-docs-prebuilt-manifest.json",
|
|
437
|
+
"includeBaseFiles": true,
|
|
438
|
+
"nodeScenario": {
|
|
439
|
+
"type": "replace-file-with-directory-before-open",
|
|
440
|
+
"path": "assets/site.js"
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
]
|
|
444
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg"><symbol id="book" viewBox="0 0 16 16"><path d="M2 2h5v12H2zM9 2h5v12H9z"/></symbol></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><circle cx="10" cy="10" r="4"><animate attributeName="r" values="4;8;4" dur="2s" repeatCount="indefinite"/></circle></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.onmessage = ({ data }) => self.postMessage({ query: data.query, matches: [] });
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.api-example{display:grid;gap:1rem}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.search-result{font-weight:600}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en"><head><meta charset="utf-8"><title>Getting started</title><link rel="stylesheet" href="/assets/site.css"><script type="module" src="/assets/site.js"></script></head><body><nav aria-label="Documentation"><a href="/">Home</a></nav><main><h1>Getting started</h1><button data-example>Interactive example</button><svg><use href="/assets/icons.svg#book"></use></svg></main></body></html>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en"><head><meta charset="utf-8"><title>Espalier controls</title><link rel="stylesheet" href="/assets/site.css"><script type="module" src="/pagefind/pagefind.js"></script></head><body><nav aria-label="Documentation"><a href="/guides/">Guide</a></nav><main><h1>Espalier controls</h1><img src="/assets/pulse.svg" alt="Animated pulse"></main></body></html>
|
|
Binary file
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
{
|
|
2
|
+
"build": {
|
|
3
|
+
"configurationSha256": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
4
|
+
"producer": "@taprootio/espalier-docs",
|
|
5
|
+
"producerVersion": "1.0.0",
|
|
6
|
+
"sourceDateEpoch": 1786838400
|
|
7
|
+
},
|
|
8
|
+
"capabilities": {
|
|
9
|
+
"optional": [],
|
|
10
|
+
"required": [
|
|
11
|
+
"taproot.docs.prebuilt.files.v1"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
{
|
|
16
|
+
"bytes": 204,
|
|
17
|
+
"mediaType": "text/html; charset=utf-8",
|
|
18
|
+
"path": "404.html",
|
|
19
|
+
"sha256": "sha256:3227e1701e382cb02959c0d79eab3b77cb6b92231934c5fab84deb85ad20dcbf"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"bytes": 236,
|
|
23
|
+
"mediaType": "text/html; charset=utf-8",
|
|
24
|
+
"path": "api/show-toast/index.html",
|
|
25
|
+
"sha256": "sha256:e656772e20f7b7db2cfc572bbbce19caa7a7259acd78ef708f963ef8bd1acfcb"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"bytes": 130,
|
|
29
|
+
"mediaType": "image/svg+xml",
|
|
30
|
+
"path": "assets/icons.svg",
|
|
31
|
+
"sha256": "sha256:c40a36beae62f96b67b7e5f0d6ed47be135ea11e92ca51fe8187f21d57e9d561"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"bytes": 183,
|
|
35
|
+
"mediaType": "image/svg+xml",
|
|
36
|
+
"path": "assets/pulse.svg",
|
|
37
|
+
"sha256": "sha256:054cd0e52eaa6f072816a8d765484f9de1259bd84469bed1839621999493b43b"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"bytes": 85,
|
|
41
|
+
"mediaType": "text/javascript; charset=utf-8",
|
|
42
|
+
"path": "assets/search-worker.js",
|
|
43
|
+
"sha256": "sha256:837367dd7473cc2e132ee8edc36137a47f93f18ea0d4d3faca4fbeaa021872b4"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"bytes": 12,
|
|
47
|
+
"mediaType": "application/wasm",
|
|
48
|
+
"path": "assets/search.wasm",
|
|
49
|
+
"sha256": "sha256:17007025a9873b80bb8591aae680a7b2fe55199b83b74fe5bf2ec91f96d59bad"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"bytes": 190,
|
|
53
|
+
"mediaType": "text/css; charset=utf-8",
|
|
54
|
+
"path": "assets/site.css",
|
|
55
|
+
"sha256": "sha256:de7b5f1d63dcbed7ea3e8b42e3a489007b6e1e872f87085a81dbcd6cab003895"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"bytes": 152,
|
|
59
|
+
"mediaType": "text/javascript; charset=utf-8",
|
|
60
|
+
"path": "assets/site.js",
|
|
61
|
+
"sha256": "sha256:59b4582bd63e4bc20d0650ee73452b34e8f8e2fc1cabe32c59c5507e7890f70d"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"bytes": 36,
|
|
65
|
+
"mediaType": "text/css; charset=utf-8",
|
|
66
|
+
"path": "dist/-6iE9DOe.css",
|
|
67
|
+
"sha256": "sha256:2c7174e36288ef16e440291a09440f61dbd8356844180dc360054dae1ad8868e"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"bytes": 32,
|
|
71
|
+
"mediaType": "text/css; charset=utf-8",
|
|
72
|
+
"path": "dist/_AN3XUT_.css",
|
|
73
|
+
"sha256": "sha256:e48ad66f2485b66a446222c7270ba05f04e7cd16a2d55fab3bd3101c3ba9e5d8"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"bytes": 414,
|
|
77
|
+
"mediaType": "text/html; charset=utf-8",
|
|
78
|
+
"path": "guides/index.html",
|
|
79
|
+
"sha256": "sha256:e5dc7a53cf319152b9e7a92ca455c8086f18fd48ea834a910d2cba676faa7ea6"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"bytes": 381,
|
|
83
|
+
"mediaType": "text/html; charset=utf-8",
|
|
84
|
+
"path": "index.html",
|
|
85
|
+
"sha256": "sha256:e01e7ce55d4da1f87ee88fa90c58e0d5036734a42a3572e2cbad21f044f27456"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"bytes": 20,
|
|
89
|
+
"mediaType": "application/octet-stream",
|
|
90
|
+
"path": "pagefind/index/abc.pf_index",
|
|
91
|
+
"sha256": "sha256:f38c1c4a64d12d38b612823ec0d110f3b0133ebf308979fa1062b731eae5ba68"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"bytes": 172,
|
|
95
|
+
"mediaType": "text/javascript; charset=utf-8",
|
|
96
|
+
"path": "pagefind/pagefind.js",
|
|
97
|
+
"sha256": "sha256:5ddc73a0c8bb1d511025bac5e8c62359f80f30be56518e23beba6c2e0921b4f0"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"mode": "prebuilt",
|
|
101
|
+
"notFoundFile": "404.html",
|
|
102
|
+
"redirects": [
|
|
103
|
+
{
|
|
104
|
+
"from": "/getting-started/",
|
|
105
|
+
"status": 308,
|
|
106
|
+
"toResourceKey": "guide:getting-started"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"resources": [
|
|
110
|
+
{
|
|
111
|
+
"file": "api/show-toast/index.html",
|
|
112
|
+
"key": "api:show-toast",
|
|
113
|
+
"title": "Show toast API"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"file": "guides/index.html",
|
|
117
|
+
"key": "guide:getting-started",
|
|
118
|
+
"title": "Getting started"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"file": "index.html",
|
|
122
|
+
"key": "home",
|
|
123
|
+
"title": "Espalier controls"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"schemaVersion": 1,
|
|
127
|
+
"source": {
|
|
128
|
+
"provider": "github",
|
|
129
|
+
"ref": "refs/heads/main",
|
|
130
|
+
"repository": "taprootio/taproot-controls",
|
|
131
|
+
"repositoryId": "934883082",
|
|
132
|
+
"repositoryUrl": "https://github.com/taprootio/taproot-controls",
|
|
133
|
+
"revision": "0123456789abcdef0123456789abcdef01234567"
|
|
134
|
+
}
|
|
135
|
+
}
|