@lownoise-studio/rendershield 1.0.0 → 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.
Files changed (54) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +32 -14
  3. package/dist/cli.js +28 -23
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cliArgs.d.ts +8 -0
  6. package/dist/cliArgs.d.ts.map +1 -0
  7. package/dist/cliArgs.js +56 -0
  8. package/dist/cliArgs.js.map +1 -0
  9. package/dist/commands/build.d.ts +2 -1
  10. package/dist/commands/build.d.ts.map +1 -1
  11. package/dist/commands/build.js +2 -2
  12. package/dist/commands/build.js.map +1 -1
  13. package/dist/commands/init.d.ts +2 -1
  14. package/dist/commands/init.d.ts.map +1 -1
  15. package/dist/commands/init.js +8 -7
  16. package/dist/commands/init.js.map +1 -1
  17. package/dist/commands/verify.d.ts +22 -8
  18. package/dist/commands/verify.d.ts.map +1 -1
  19. package/dist/commands/verify.js +158 -66
  20. package/dist/commands/verify.js.map +1 -1
  21. package/dist/configPath.d.ts +7 -0
  22. package/dist/configPath.d.ts.map +1 -0
  23. package/dist/configPath.js +8 -0
  24. package/dist/configPath.js.map +1 -0
  25. package/dist/core/generateWorker.js +1 -1
  26. package/dist/core/generateWorker.js.map +1 -1
  27. package/dist/core/listOutputRoutes.d.ts +4 -0
  28. package/dist/core/listOutputRoutes.d.ts.map +1 -0
  29. package/dist/core/listOutputRoutes.js +40 -0
  30. package/dist/core/listOutputRoutes.js.map +1 -0
  31. package/dist/core/loadConfig.d.ts +3 -1
  32. package/dist/core/loadConfig.d.ts.map +1 -1
  33. package/dist/core/loadConfig.js +45 -38
  34. package/dist/core/loadConfig.js.map +1 -1
  35. package/dist/index.d.ts +3 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/types.d.ts +1 -1
  40. package/dist/types.d.ts.map +1 -1
  41. package/docs/CONFIG.md +70 -0
  42. package/package.json +2 -1
  43. package/rendershield.config.schema.json +100 -0
  44. package/src/cli.ts +36 -26
  45. package/src/cliArgs.ts +71 -0
  46. package/src/commands/build.ts +3 -2
  47. package/src/commands/init.ts +8 -8
  48. package/src/commands/verify.ts +264 -79
  49. package/src/configPath.ts +17 -0
  50. package/src/core/generateWorker.ts +1 -1
  51. package/src/core/listOutputRoutes.ts +51 -0
  52. package/src/core/loadConfig.ts +59 -38
  53. package/src/index.ts +4 -1
  54. package/src/types.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../src/core/loadConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../src/core/loadConfig.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export { cmdInit } from "./commands/init.js";
8
8
  export { cmdBuild } from "./commands/build.js";
9
- export { cmdVerify, type VerifyProdOptions, type VerifyLocalResult, type VerifyProdResult, type VerifyResult, } from "./commands/verify.js";
9
+ export { cmdVerify, type VerifyOptions, type VerifyLocalResult, type VerifyProdResult, type VerifyResult, type VerifyPageResult, } from "./commands/verify.js";
10
10
  export { loadConfig } from "./core/loadConfig.js";
11
11
  export { loadAllMarkdownDocs } from "./core/loadMarkdown.js";
12
12
  export { renderPageHtml } from "./core/renderHtml.js";
@@ -14,6 +14,8 @@ export { validatePrerenderHtml, checkPrerenderContract, type ValidateParams, typ
14
14
  export { generateSitemapXml } from "./core/generateSitemap.js";
15
15
  export { generateRobotsTxt } from "./core/generateRobots.js";
16
16
  export { generateWorkerJs } from "./core/generateWorker.js";
17
+ export type { CommandOptions } from "./configPath.js";
18
+ export { DEFAULT_CONFIG_NAME, resolveConfigFile } from "./configPath.js";
17
19
  export type { RenderShieldConfig, MarkdownDoc, SchemaType } from "./types.js";
18
20
  export { SCHEMA_TYPES } from "./types.js";
19
21
  export { RenderShieldError, isRenderShieldError, renderShieldError, formatCliError, type RenderShieldErrorCode, } from "./errors.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,SAAS,EACT,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ export { validatePrerenderHtml, checkPrerenderContract, } from "./core/validateO
14
14
  export { generateSitemapXml } from "./core/generateSitemap.js";
15
15
  export { generateRobotsTxt } from "./core/generateRobots.js";
16
16
  export { generateWorkerJs } from "./core/generateWorker.js";
17
+ export { DEFAULT_CONFIG_NAME, resolveConfigFile } from "./configPath.js";
17
18
  export { SCHEMA_TYPES } from "./types.js";
18
19
  export { RenderShieldError, isRenderShieldError, renderShieldError, formatCliError, } from "./errors.js";
19
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,SAAS,GAKV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GAEf,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,SAAS,GAMV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GAEf,MAAM,aAAa,CAAC"}
package/dist/types.d.ts CHANGED
@@ -33,7 +33,7 @@ export type RenderShieldConfig = {
33
33
  };
34
34
  worker: {
35
35
  enabled: boolean;
36
- lovableOrigin: string;
36
+ spaOrigin: string;
37
37
  rewriteRouteBases: string[];
38
38
  botUserAgentPatterns: string[];
39
39
  debugHeaders: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,gDAAiD,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,EAAE;QACP,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,KAAK,CAAC;gBACjB,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,CAAC;gBAChB,SAAS,EAAE,MAAM,CAAC;gBAClB,UAAU,EAAE,UAAU,CAAC;aACxB,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,gDAAiD,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,EAAE;QACP,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,KAAK,CAAC;gBACjB,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,CAAC;gBAChB,SAAS,EAAE,MAAM,CAAC;gBAClB,UAAU,EAAE,UAAU,CAAC;aACxB,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
package/docs/CONFIG.md ADDED
@@ -0,0 +1,70 @@
1
+ # Config reference
2
+
3
+ Default file: `rendershield.config.json` (override with `--config <path>`).
4
+
5
+ JSON Schema: [`rendershield.config.schema.json`](../rendershield.config.schema.json) (editor autocomplete).
6
+
7
+ ## Top level
8
+
9
+ | Field | Required | Description |
10
+ |-------|----------|-------------|
11
+ | `version` | yes | Must be `1`. |
12
+ | `site` | yes | Site metadata for URLs and JSON-LD. |
13
+ | `content` | yes | Markdown content sources. |
14
+ | `output` | yes | Build output directory. |
15
+ | `sitemap` | no | Defaults: `enabled: true`, `path: "/sitemap.xml"`. |
16
+ | `robots` | no | Defaults: `enabled: true`, `path: "/robots.txt"`. |
17
+ | `worker` | no | Defaults: `enabled: true` in `init` sample. |
18
+
19
+ ## `site`
20
+
21
+ | Field | Description |
22
+ |-------|-------------|
23
+ | `canonicalBase` | Public site origin, e.g. `https://example.com` (no trailing slash). |
24
+ | `siteName` | Appended to page titles. |
25
+ | `defaultOgImage` | Fallback OG image URL. |
26
+ | `authorName` | JSON-LD author for article types. |
27
+
28
+ ## `content.markdown.collections[]`
29
+
30
+ | Field | Description |
31
+ |-------|-------------|
32
+ | `name` | Collection id (used internally). |
33
+ | `pattern` | Glob under `baseDir`, e.g. `blog/**/*.md`. |
34
+ | `routeBase` | URL prefix, e.g. `/blog`. |
35
+ | `schemaType` | JSON-LD `@type`: `Article` (default), `BlogPosting`, or `WebPage`. |
36
+
37
+ ### Markdown frontmatter (per file)
38
+
39
+ Required: `title`, `excerpt`, `datePublished` (`YYYY-MM-DD`), `coverImage`, `slug`.
40
+
41
+ Route: `{routeBase}/{slug}` → `dist-prerender/.../index.html`.
42
+
43
+ ## `output`
44
+
45
+ | Field | Description |
46
+ |-------|-------------|
47
+ | `outDir` | Relative path inside project, e.g. `dist-prerender`. |
48
+ | `prettyHtml` | Pretty-print HTML (default `true`). |
49
+
50
+ ## `worker`
51
+
52
+ When `enabled: true`:
53
+
54
+ | Field | Description |
55
+ |-------|-------------|
56
+ | `spaOrigin` | Origin that serves prerendered + SPA assets, e.g. `https://app.example.com`. |
57
+ | `lovableOrigin` | **Deprecated** — same as `spaOrigin` (still accepted). |
58
+ | `rewriteRouteBases` | Bot rewrite prefixes, e.g. `["/blog/"]`. |
59
+ | `botUserAgentPatterns` | Case-insensitive substring match list. |
60
+ | `debugHeaders` | Extra `X-*` headers on Worker responses. |
61
+
62
+ ## CLI flags
63
+
64
+ ```bash
65
+ rendershield --config ./config/prerender.json build
66
+ rendershield verify --check # contract-check first built page
67
+ rendershield verify --all --check # contract-check every built page
68
+ rendershield verify --prod --all # prod-check every route from build output
69
+ rendershield verify --prod https://example.com/blog/post
70
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lownoise-studio/rendershield",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Boring bot-aware prerendering: real HTML for bots, SPA for humans.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -40,6 +40,7 @@
40
40
  "dist/**",
41
41
  "src/**",
42
42
  "docs/**",
43
+ "rendershield.config.schema.json",
43
44
  "DEPLOY.md",
44
45
  "README.md",
45
46
  "CHANGELOG.md",
@@ -0,0 +1,100 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/Lownoise-Studio/rendershield/rendershield.config.schema.json",
4
+ "title": "RenderShield config",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["version", "site", "content", "output"],
8
+ "properties": {
9
+ "version": { "const": 1 },
10
+ "site": {
11
+ "type": "object",
12
+ "additionalProperties": false,
13
+ "required": ["canonicalBase", "siteName", "defaultOgImage", "authorName"],
14
+ "properties": {
15
+ "canonicalBase": { "type": "string", "format": "uri" },
16
+ "siteName": { "type": "string", "minLength": 1 },
17
+ "defaultOgImage": { "type": "string", "minLength": 1 },
18
+ "authorName": { "type": "string", "minLength": 1 }
19
+ }
20
+ },
21
+ "content": {
22
+ "type": "object",
23
+ "additionalProperties": false,
24
+ "required": ["markdown"],
25
+ "properties": {
26
+ "markdown": {
27
+ "type": "object",
28
+ "additionalProperties": false,
29
+ "required": ["baseDir", "collections"],
30
+ "properties": {
31
+ "baseDir": { "type": "string", "minLength": 1 },
32
+ "collections": {
33
+ "type": "array",
34
+ "minItems": 1,
35
+ "items": {
36
+ "type": "object",
37
+ "additionalProperties": false,
38
+ "required": ["name", "pattern", "routeBase"],
39
+ "properties": {
40
+ "name": { "type": "string", "minLength": 1 },
41
+ "pattern": { "type": "string", "minLength": 1 },
42
+ "routeBase": { "type": "string", "minLength": 1 },
43
+ "schemaType": {
44
+ "type": "string",
45
+ "enum": ["Article", "BlogPosting", "WebPage"],
46
+ "default": "Article"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+ },
55
+ "output": {
56
+ "type": "object",
57
+ "additionalProperties": false,
58
+ "required": ["outDir"],
59
+ "properties": {
60
+ "outDir": { "type": "string", "minLength": 1 },
61
+ "prettyHtml": { "type": "boolean", "default": true }
62
+ }
63
+ },
64
+ "sitemap": {
65
+ "type": "object",
66
+ "properties": {
67
+ "enabled": { "type": "boolean" },
68
+ "path": { "type": "string", "pattern": "^/" }
69
+ }
70
+ },
71
+ "robots": {
72
+ "type": "object",
73
+ "properties": {
74
+ "enabled": { "type": "boolean" },
75
+ "path": { "type": "string", "pattern": "^/" }
76
+ }
77
+ },
78
+ "worker": {
79
+ "type": "object",
80
+ "properties": {
81
+ "enabled": { "type": "boolean" },
82
+ "spaOrigin": { "type": "string", "format": "uri" },
83
+ "lovableOrigin": {
84
+ "type": "string",
85
+ "format": "uri",
86
+ "description": "Deprecated alias for spaOrigin."
87
+ },
88
+ "rewriteRouteBases": {
89
+ "type": "array",
90
+ "items": { "type": "string", "minLength": 1 }
91
+ },
92
+ "botUserAgentPatterns": {
93
+ "type": "array",
94
+ "items": { "type": "string", "minLength": 1 }
95
+ },
96
+ "debugHeaders": { "type": "boolean" }
97
+ }
98
+ }
99
+ }
100
+ }
package/src/cli.ts CHANGED
@@ -4,6 +4,7 @@ import { cmdInit } from "./commands/init.js";
4
4
  import { cmdBuild } from "./commands/build.js";
5
5
  import { cmdVerify } from "./commands/verify.js";
6
6
  import { formatCliError, renderShieldError } from "./errors.js";
7
+ import { extractGlobalOptions, parseVerifyArgs } from "./cliArgs.js";
7
8
 
8
9
  const require = createRequire(import.meta.url);
9
10
  const pkg = require("../package.json") as { version?: string };
@@ -14,24 +15,33 @@ function printHelp() {
14
15
  RenderShield v${VERSION} — boring bot-aware prerendering.
15
16
 
16
17
  Usage:
17
- rendershield init
18
- rendershield build
19
- rendershield verify [--prod <url>]
18
+ rendershield [--config <path>] init
19
+ rendershield [--config <path>] build
20
+ rendershield [--config <path>] verify [options]
20
21
 
21
- verify Print curl commands for local/build output.
22
- verify --prod Fetch URL as bot and human; verify bot sees full HTML and contract fields.
23
- Requires x-rendershield: bot-hit from the Worker.
22
+ Global:
23
+ --config <path> Config file (default: rendershield.config.json)
24
+
25
+ Verify:
26
+ verify Print curl smoke-test commands for first built page
27
+ verify --check Validate built HTML contract (first page)
28
+ verify --all --check Validate contract for every built page
29
+ verify --prod <url> Fetch URL as bot; require x-rendershield: bot-hit + contract
30
+ verify --prod --all Check every route from build output in production
24
31
 
25
32
  Notes:
26
- - Config file: rendershield.config.json
27
33
  - Content: content/<collection>/**/*.md (frontmatter required)
28
- - Output: dist-prerender/
34
+ - Output: dist-prerender/ (see config)
35
+ - Config reference: docs/CONFIG.md
29
36
  `);
30
37
  }
31
38
 
32
39
  async function main() {
33
- const args = process.argv.slice(2);
34
- const cmd = args[0]?.trim();
40
+ const { options: globalOptions, rest } = extractGlobalOptions(
41
+ process.argv.slice(2)
42
+ );
43
+ const cmd = rest[0]?.trim();
44
+ const cmdArgs = rest.slice(1);
35
45
 
36
46
  if (!cmd || cmd === "-h" || cmd === "--help") {
37
47
  printHelp();
@@ -44,32 +54,32 @@ async function main() {
44
54
 
45
55
  try {
46
56
  if (cmd === "init") {
47
- await cmdInit();
57
+ await cmdInit(undefined, globalOptions);
48
58
  return;
49
59
  }
50
60
  if (cmd === "build") {
51
- await cmdBuild();
61
+ await cmdBuild(undefined, globalOptions);
52
62
  return;
53
63
  }
54
64
  if (cmd === "verify") {
55
- const verifyArgs = args.slice(1);
56
- if (verifyArgs.includes("-h") || verifyArgs.includes("--help")) {
65
+ if (cmdArgs.includes("-h") || cmdArgs.includes("--help")) {
57
66
  printHelp();
58
67
  process.exit(0);
59
68
  }
60
- const prodIdx = verifyArgs.indexOf("--prod");
61
- if (prodIdx >= 0) {
62
- const prodUrl = verifyArgs[prodIdx + 1]?.trim();
63
- if (!prodUrl || prodUrl.startsWith("-")) {
64
- throw renderShieldError(
65
- "CLI_INVALID_ARGS",
66
- "verify --prod requires a URL. Example: rendershield verify --prod https://example.com/blog/hello-world"
67
- );
68
- }
69
- await cmdVerify(undefined, { prodUrl });
70
- return;
69
+ const verifyOptions = parseVerifyArgs(cmdArgs, globalOptions);
70
+ if (verifyOptions.prod && !verifyOptions.prodUrl && !verifyOptions.all) {
71
+ throw renderShieldError(
72
+ "CLI_INVALID_ARGS",
73
+ "verify --prod requires a URL, or use --prod --all. Example: rendershield verify --prod https://example.com/blog/hello-world"
74
+ );
75
+ }
76
+ if (verifyOptions.all && !verifyOptions.check && !verifyOptions.prod) {
77
+ throw renderShieldError(
78
+ "CLI_INVALID_ARGS",
79
+ "verify --all requires --check (local) or --prod (production). Example: rendershield verify --all --check"
80
+ );
71
81
  }
72
- await cmdVerify();
82
+ await cmdVerify(undefined, verifyOptions);
73
83
  return;
74
84
  }
75
85
 
package/src/cliArgs.ts ADDED
@@ -0,0 +1,71 @@
1
+ import type { CommandOptions } from "./configPath.js";
2
+ import type { VerifyOptions } from "./commands/verify.js";
3
+
4
+ const GLOBAL_FLAGS = new Set(["--config"]);
5
+
6
+ export function extractGlobalOptions(argv: string[]): {
7
+ options: CommandOptions;
8
+ rest: string[];
9
+ } {
10
+ const options: CommandOptions = {};
11
+ const rest: string[] = [];
12
+
13
+ for (let i = 0; i < argv.length; i++) {
14
+ const arg = argv[i];
15
+ if (arg === "--config") {
16
+ const value = argv[i + 1]?.trim();
17
+ if (!value || value.startsWith("-")) {
18
+ rest.push(arg);
19
+ continue;
20
+ }
21
+ options.configPath = value;
22
+ i++;
23
+ continue;
24
+ }
25
+ if (!GLOBAL_FLAGS.has(arg)) {
26
+ rest.push(arg);
27
+ }
28
+ }
29
+
30
+ return { options, rest };
31
+ }
32
+
33
+ export function parseVerifyArgs(
34
+ argv: string[],
35
+ globalOptions: CommandOptions
36
+ ): VerifyOptions {
37
+ const options: VerifyOptions = { ...globalOptions };
38
+ const positional: string[] = [];
39
+
40
+ for (let i = 0; i < argv.length; i++) {
41
+ const arg = argv[i];
42
+ if (arg === "--prod") {
43
+ options.prod = true;
44
+ const value = argv[i + 1]?.trim();
45
+ if (value && !value.startsWith("-")) {
46
+ options.prodUrl = value;
47
+ i++;
48
+ }
49
+ continue;
50
+ }
51
+ if (arg === "--check") {
52
+ options.check = true;
53
+ continue;
54
+ }
55
+ if (arg === "--all") {
56
+ options.all = true;
57
+ continue;
58
+ }
59
+ if (arg === "--config") {
60
+ i++;
61
+ continue;
62
+ }
63
+ positional.push(arg);
64
+ }
65
+
66
+ if (!options.prodUrl && positional[0] && !positional[0].startsWith("-")) {
67
+ options.prodUrl = positional[0];
68
+ }
69
+
70
+ return options;
71
+ }
@@ -8,6 +8,7 @@ import { generateRobotsTxt } from "../core/generateRobots.js";
8
8
  import { generateWorkerJs } from "../core/generateWorker.js";
9
9
  import { validatePrerenderHtml } from "../core/validateOutput.js";
10
10
  import { renderShieldError } from "../errors.js";
11
+ import type { CommandOptions } from "../configPath.js";
11
12
 
12
13
  function routeToOutDir(outDirAbs: string, routePath: string): string {
13
14
  // /blog/slug -> outDir/blog/slug/index.html
@@ -133,8 +134,8 @@ async function validateOutputPath(outDir: string, cwd: string): Promise<void> {
133
134
  }
134
135
  }
135
136
 
136
- export async function cmdBuild(cwd = process.cwd()) {
137
- const cfg = await loadConfig(cwd);
137
+ export async function cmdBuild(cwd = process.cwd(), options?: CommandOptions) {
138
+ const cfg = await loadConfig(cwd, options);
138
139
 
139
140
  // Validate output path before any destructive operations
140
141
  await validateOutputPath(cfg.output.outDir, cwd);
@@ -1,7 +1,6 @@
1
1
  import fs from "fs-extra";
2
2
  import path from "node:path";
3
-
4
- const CONFIG_NAME = "rendershield.config.json";
3
+ import { resolveConfigFile, type CommandOptions } from "../configPath.js";
5
4
 
6
5
  const DEFAULT_CONFIG = {
7
6
  version: 1,
@@ -38,7 +37,7 @@ const DEFAULT_CONFIG = {
38
37
  },
39
38
  worker: {
40
39
  enabled: true,
41
- lovableOrigin: "https://YOUR_SITE.lovable.app",
40
+ spaOrigin: "https://app.example.com",
42
41
  rewriteRouteBases: ["/blog/"],
43
42
  botUserAgentPatterns: [
44
43
  "googlebot",
@@ -76,8 +75,9 @@ This is **RenderShield**.
76
75
  That's the whole trick.
77
76
  `;
78
77
 
79
- export async function cmdInit(cwd = process.cwd()) {
80
- const configPath = path.join(cwd, CONFIG_NAME);
78
+ export async function cmdInit(cwd = process.cwd(), options?: CommandOptions) {
79
+ const configPath = resolveConfigFile(cwd, options?.configPath);
80
+ const configName = path.basename(configPath);
81
81
  const contentDir = path.join(cwd, "content", "blog");
82
82
  const samplePath = path.join(contentDir, "hello-world.md");
83
83
 
@@ -88,9 +88,9 @@ export async function cmdInit(cwd = process.cwd()) {
88
88
  JSON.stringify(DEFAULT_CONFIG, null, 2) + "\n",
89
89
  "utf8"
90
90
  );
91
- console.log(`Created ${CONFIG_NAME}`);
91
+ console.log(`Created ${configName}`);
92
92
  } else {
93
- console.log(`${CONFIG_NAME} already exists (leaving it alone)`);
93
+ console.log(`${configName} already exists (leaving it alone)`);
94
94
  }
95
95
 
96
96
  await fs.ensureDir(contentDir);
@@ -105,7 +105,7 @@ export async function cmdInit(cwd = process.cwd()) {
105
105
 
106
106
  console.log(`
107
107
  Next:
108
- 1) Edit rendershield.config.json
108
+ 1) Edit ${configName}
109
109
  2) Add content under content/blog/
110
110
  3) Run: rendershield build
111
111
  `);