@angeloashmore/prismic-cli-poc 0.0.0-canary.6fd8413 → 0.0.0-canary.868b724
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/dist/index.mjs +486 -259
- package/package.json +1 -1
- package/src/codegen-types.ts +16 -39
- package/src/custom-type-add-field-boolean.ts +19 -3
- package/src/custom-type-add-field-color.ts +18 -4
- package/src/custom-type-add-field-date.ts +18 -4
- package/src/custom-type-add-field-embed.ts +18 -4
- package/src/custom-type-add-field-geo-point.ts +18 -4
- package/src/custom-type-add-field-image.ts +18 -4
- package/src/custom-type-add-field-key-text.ts +18 -4
- package/src/custom-type-add-field-link.ts +19 -3
- package/src/custom-type-add-field-number.ts +18 -4
- package/src/custom-type-add-field-rich-text.ts +19 -3
- package/src/custom-type-add-field-select.ts +27 -4
- package/src/custom-type-add-field-timestamp.ts +18 -4
- package/src/custom-type-add-field-uid.ts +18 -4
- package/src/custom-type-connect-slice.ts +24 -25
- package/src/custom-type-create.ts +17 -1
- package/src/custom-type-disconnect-slice.ts +24 -26
- package/src/custom-type-remove-field.ts +17 -1
- package/src/custom-type-remove.ts +20 -2
- package/src/custom-type-set-name.ts +17 -1
- package/src/init.ts +3 -1
- package/src/lib/custom-types-api.ts +74 -20
- package/src/lib/slice.ts +5 -2
- package/src/page-type-add-field-boolean.ts +19 -3
- package/src/page-type-add-field-color.ts +18 -4
- package/src/page-type-add-field-date.ts +18 -4
- package/src/page-type-add-field-embed.ts +18 -4
- package/src/page-type-add-field-geo-point.ts +18 -4
- package/src/page-type-add-field-image.ts +18 -4
- package/src/page-type-add-field-key-text.ts +18 -4
- package/src/page-type-add-field-link.ts +19 -3
- package/src/page-type-add-field-number.ts +18 -4
- package/src/page-type-add-field-rich-text.ts +19 -3
- package/src/page-type-add-field-select.ts +27 -4
- package/src/page-type-add-field-timestamp.ts +18 -4
- package/src/page-type-add-field-uid.ts +18 -4
- package/src/page-type-connect-slice.ts +24 -25
- package/src/page-type-create.ts +17 -1
- package/src/page-type-disconnect-slice.ts +24 -26
- package/src/page-type-remove-field.ts +17 -1
- package/src/page-type-remove.ts +20 -2
- package/src/page-type-set-name.ts +17 -1
- package/src/page-type-set-repeatable.ts +17 -1
- package/src/preview-get-simulator.ts +1 -3
- package/src/pull.ts +41 -6
- package/src/push.ts +35 -11
- package/src/repo-get-access.ts +1 -4
- package/src/repo-set-access.ts +2 -6
- package/src/slice-add-field-boolean.ts +18 -0
- package/src/slice-add-field-color.ts +17 -1
- package/src/slice-add-field-date.ts +17 -1
- package/src/slice-add-field-embed.ts +17 -1
- package/src/slice-add-field-geo-point.ts +17 -1
- package/src/slice-add-field-image.ts +17 -1
- package/src/slice-add-field-key-text.ts +17 -1
- package/src/slice-add-field-link.ts +18 -0
- package/src/slice-add-field-number.ts +17 -1
- package/src/slice-add-field-rich-text.ts +18 -0
- package/src/slice-add-field-select.ts +26 -1
- package/src/slice-add-field-timestamp.ts +17 -1
- package/src/slice-add-variation.ts +21 -13
- package/src/slice-create.ts +17 -1
- package/src/slice-remove-field.ts +20 -9
- package/src/slice-remove-variation.ts +20 -10
- package/src/slice-remove.ts +17 -1
- package/src/slice-rename.ts +17 -1
- package/src/token-create.ts +23 -5
- package/src/token-delete.ts +29 -8
- package/src/token-list.ts +14 -3
- package/src/token-set-name.ts +38 -10
package/dist/index.mjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{parseArgs as e}from"node:util";import{access as t,mkdir as n,readFile as r,readdir as i,rename as a,rm as o,writeFile as s}from"node:fs/promises";import*as c from"node:crypto";import{homedir as l}from"node:os";import{pathToFileURL as u}from"node:url";import{exec as d}from"node:child_process";import{createServer as f}from"node:http";var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,_=(e,t)=>()=>(e&&(t=e(e=0)),t),v=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),y=(e,t)=>{let n={};for(var r in e)p(n,r,{get:e[r],enumerable:!0});return t&&p(n,Symbol.toStringTag,{value:`Module`}),n},
|
|
3
|
-
`),s.default,i.default,r.default,a.default),t.exports=e.default})),xe=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(be());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Se=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(xe());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Ce=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(xe());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),we=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=c(
|
|
4
|
-
`),i.default,r.default,a.default,(0,s.default)(/&/g,`&`),(0,s.default)(/</g,`<`),(0,s.default)(/>/g,`>`),(0,s.default)(/"/g,`"`),(0,s.default)(/'/g,`'`),(0,s.default)(/`/g,```)),t.exports=e.default})),Te=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(we());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Ee=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=a(
|
|
2
|
+
import{parseArgs as e}from"node:util";import{access as t,mkdir as n,readFile as r,readdir as i,rename as a,rm as o,writeFile as s}from"node:fs/promises";import*as c from"node:crypto";import{homedir as l}from"node:os";import{pathToFileURL as u}from"node:url";import{exec as d}from"node:child_process";import{createServer as f}from"node:http";var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,_=(e,t)=>()=>(e&&(t=e(e=0)),t),v=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),y=(e,t)=>{let n={};for(var r in e)p(n,r,{get:e[r],enumerable:!0});return t&&p(n,Symbol.toStringTag,{value:`Module`}),n},b=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=h(t),a=0,o=i.length,s;a<o;a++)s=i[a],!g.call(e,s)&&s!==n&&p(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=m(t,s))||r.enumerable});return e},x=e=>g.call(e,`module.exports`)?e[`module.exports`]:b(p({},`__esModule`,{value:!0}),e),ee=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=i([``,``],[``,``]);function i(e,t){return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function a(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}e.default=function(){function e(){var t=this,n=[...arguments];return a(this,e),this.tag=function(e){var n=[...arguments].slice(1);return typeof e==`function`?t.interimTag.bind(t,e):typeof e==`string`?t.transformEndResult(e):(e=e.map(t.transformString.bind(t)),t.transformEndResult(e.reduce(t.processSubstitutions.bind(t,n))))},n.length>0&&Array.isArray(n[0])&&(n=n[0]),this.transformers=n.map(function(e){return typeof e==`function`?e():e}),this.tag}return n(e,[{key:`interimTag`,value:function(e,t){var n=[...arguments].slice(2);return this.tag(r,e.apply(void 0,[t].concat(n)))}},{key:`processSubstitutions`,value:function(e,t,n){return`${t}${this.transformSubstitution(e.shift(),t)}${n}`}},{key:`transformString`,value:function(e){return this.transformers.reduce(function(e,t){return t.onString?t.onString(e):e},e)}},{key:`transformSubstitution`,value:function(e,t){return this.transformers.reduce(function(e,n){return n.onSubstitution?n.onSubstitution(e,t):e},e)}},{key:`transformEndResult`,value:function(e){return this.transformers.reduce(function(e,t){return t.onEndResult?t.onEndResult(e):e},e)}}]),e}(),t.exports=e.default})),S=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(ee());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),te=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:``;return{onEndResult:function(t){if(e===``)return t.trim();if(e=e.toLowerCase(),e===`start`||e===`left`)return t.replace(/^\s*/,``);if(e===`end`||e===`right`)return t.replace(/\s*$/,``);throw Error(`Side not supported: `+e)}}},t.exports=e.default})),C=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(te());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),ne=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});function n(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}else return Array.from(e)}e.default=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`initial`;return{onEndResult:function(t){if(e===`initial`){var r=t.match(/^[^\S\n]*(?=\S)/gm),i=r&&Math.min.apply(Math,n(r.map(function(e){return e.length})));if(i){var a=RegExp(`^.{`+i+`}`,`gm`);return t.replace(a,``)}return t}if(e===`all`)return t.replace(/^[^\S\n]+/gm,``);throw Error(`Unknown type: `+e)}}},t.exports=e.default})),re=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(ne());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),ie=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=function(e,t){return{onEndResult:function(n){if(e==null||t==null)throw Error(`replaceResultTransformer requires at least 2 arguments.`);return n.replace(e,t)}}},t.exports=e.default})),ae=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(ie());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),w=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=function(e,t){return{onSubstitution:function(n,r){if(e==null||t==null)throw Error(`replaceSubstitutionTransformer requires at least 2 arguments.`);return n==null?n:n.toString().replace(e,t)}}},t.exports=e.default})),oe=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(w());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),se=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=function(e,t){return{onString:function(n){if(e==null||t==null)throw Error(`replaceStringTransformer requires at least 2 arguments.`);return n.replace(e,t)}}},t.exports=e.default})),ce=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(se());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),le=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n={separator:``,conjunction:``,serial:!1};e.default=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:n;return{onSubstitution:function(t,n){if(Array.isArray(t)){var r=t.length,i=e.separator,a=e.conjunction,o=e.serial,s=n.match(/(\n?[^\S\n]+)$/);if(t=s?t.join(i+s[1]):t.join(i+` `),a&&r>1){var c=t.lastIndexOf(i);t=t.slice(0,c)+(o?i:``)+` `+a+t.slice(c+1)}}return t}}},t.exports=e.default})),T=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(le());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),ue=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=function(e){return{onSubstitution:function(t,n){if(e!=null&&typeof e==`string`)typeof t==`string`&&t.includes(e)&&(t=t.split(e));else throw Error(`You need to specify a string character to split by.`);return t}}},t.exports=e.default})),de=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(ue());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),fe=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=function(e){return e!=null&&!Number.isNaN(e)&&typeof e!=`boolean`};e.default=function(){return{onSubstitution:function(e){return Array.isArray(e)?e.filter(n):n(e)?e:``}}},t.exports=e.default})),pe=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(fe());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),me=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=o(S()),r=o(re()),i=o(T()),a=o(C());function o(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,i.default)({separator:`,`}),r.default,a.default),t.exports=e.default})),he=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(me());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),ge=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=o(S()),r=o(re()),i=o(T()),a=o(C());function o(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,i.default)({separator:`,`,conjunction:`and`}),r.default,a.default),t.exports=e.default})),_e=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(ge());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),ve=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=o(S()),r=o(re()),i=o(T()),a=o(C());function o(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,i.default)({separator:`,`,conjunction:`or`}),r.default,a.default),t.exports=e.default})),ye=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(ve());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),be=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=c(S()),r=c(re()),i=c(T()),a=c(C()),o=c(de()),s=c(pe());function c(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,o.default)(`
|
|
3
|
+
`),s.default,i.default,r.default,a.default),t.exports=e.default})),xe=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(be());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Se=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(xe());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Ce=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(xe());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),we=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=c(S()),r=c(re()),i=c(T()),a=c(C()),o=c(de()),s=c(oe());function c(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,o.default)(`
|
|
4
|
+
`),i.default,r.default,a.default,(0,s.default)(/&/g,`&`),(0,s.default)(/</g,`<`),(0,s.default)(/>/g,`>`),(0,s.default)(/"/g,`"`),(0,s.default)(/'/g,`'`),(0,s.default)(/`/g,```)),t.exports=e.default})),Te=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(we());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Ee=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=a(S()),r=a(C()),i=a(ae());function a(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,i.default)(/(?:\n(?:\s*))+/g,` `),r.default),t.exports=e.default})),De=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(Ee());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Oe=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=a(S()),r=a(C()),i=a(ae());function a(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,i.default)(/(?:\n\s*)/g,``),r.default),t.exports=e.default})),ke=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(Oe());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Ae=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=o(S()),r=o(T()),i=o(C()),a=o(ae());function o(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,r.default)({separator:`,`}),(0,a.default)(/(?:\s+)/g,` `),i.default),t.exports=e.default})),je=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(Ae());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Me=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=o(S()),r=o(T()),i=o(C()),a=o(ae());function o(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,r.default)({separator:`,`,conjunction:`or`}),(0,a.default)(/(?:\s+)/g,` `),i.default),t.exports=e.default})),Ne=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(Me());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Pe=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=o(S()),r=o(T()),i=o(C()),a=o(ae());function o(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,r.default)({separator:`,`,conjunction:`and`}),(0,a.default)(/(?:\s+)/g,` `),i.default),t.exports=e.default})),Fe=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(Pe());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Ie=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=o(S()),r=o(re()),i=o(T()),a=o(C());function o(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default(i.default,r.default,a.default),t.exports=e.default})),Le=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(Ie());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Re=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=o(S()),r=o(T()),i=o(C()),a=o(ae());function o(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default(r.default,(0,a.default)(/(?:\s+)/g,` `),i.default),t.exports=e.default})),ze=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(Re());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),Be=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=a(S()),r=a(re()),i=a(C());function a(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default(r.default,i.default),t.exports=e.default})),Ve=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(Be());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),He=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=a(S()),r=a(re()),i=a(C());function a(e){return e&&e.__esModule?e:{default:e}}e.default=new n.default((0,r.default)(`all`),i.default),t.exports=e.default})),Ue=v(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=r(He());function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default,t.exports=e.default})),E=v((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.stripIndents=e.stripIndent=e.oneLineInlineLists=e.inlineLists=e.oneLineCommaListsAnd=e.oneLineCommaListsOr=e.oneLineCommaLists=e.oneLineTrim=e.oneLine=e.safeHtml=e.source=e.codeBlock=e.html=e.commaListsOr=e.commaListsAnd=e.commaLists=e.removeNonPrintingValuesTransformer=e.splitStringTransformer=e.inlineArrayTransformer=e.replaceStringTransformer=e.replaceSubstitutionTransformer=e.replaceResultTransformer=e.stripIndentTransformer=e.trimResultTransformer=e.TemplateTag=void 0;var t=w(S()),n=w(C()),r=w(re()),i=w(ae()),a=w(oe()),o=w(ce()),s=w(T()),c=w(de()),l=w(pe()),u=w(he()),d=w(_e()),f=w(ye()),p=w(xe()),m=w(Se()),h=w(Ce()),g=w(Te()),_=w(De()),v=w(ke()),y=w(je()),b=w(Ne()),x=w(Fe()),ee=w(Le()),te=w(ze()),ne=w(Ve()),ie=w(Ue());function w(e){return e&&e.__esModule?e:{default:e}}e.TemplateTag=t.default,e.trimResultTransformer=n.default,e.stripIndentTransformer=r.default,e.replaceResultTransformer=i.default,e.replaceSubstitutionTransformer=a.default,e.replaceStringTransformer=o.default,e.inlineArrayTransformer=s.default,e.splitStringTransformer=c.default,e.removeNonPrintingValuesTransformer=l.default,e.commaLists=u.default,e.commaListsAnd=d.default,e.commaListsOr=f.default,e.html=p.default,e.codeBlock=m.default,e.source=h.default,e.safeHtml=g.default,e.oneLine=_.default,e.oneLineTrim=v.default,e.oneLineCommaLists=y.default,e.oneLineCommaListsOr=b.default,e.oneLineCommaListsAnd=x.default,e.inlineLists=ee.default,e.oneLineInlineLists=te.default,e.stripIndent=ne.default,e.stripIndents=ie.default}))(),We=class extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw TypeError("`maxSize` must be a number greater than 0");if(typeof e.maxAge==`number`&&e.maxAge===0)throw TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||1/0,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if(typeof this.onEviction==`function`)for(let[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return typeof t.expiry==`number`&&t.expiry<=Date.now()?(typeof this.onEviction==`function`&&this.onEviction(e,t.value),this.delete(e)):!1}_getOrDeleteIfExpired(e,t){if(this._deleteIfExpired(e,t)===!1)return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){let n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(let e of this.oldCache){let[t,n]=e;this.cache.has(t)||this._deleteIfExpired(t,n)===!1&&(yield e)}for(let e of this.cache){let[t,n]=e;this._deleteIfExpired(t,n)===!1&&(yield e)}}get(e){if(this.cache.has(e)){let t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){let t=this.oldCache.get(e);if(this._deleteIfExpired(e,t)===!1)return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){let r=typeof n==`number`&&n!==1/0?Date.now()+n:void 0;return this.cache.has(e)?this.cache.set(e,{value:t,expiry:r}):this._set(e,{value:t,expiry:r}),this}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):this.oldCache.has(e)?!this._deleteIfExpired(e,this.oldCache.get(e)):!1}peek(e){if(this.cache.has(e))return this._peek(e,this.cache);if(this.oldCache.has(e))return this._peek(e,this.oldCache)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw TypeError("`maxSize` must be a number greater than 0");let t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache){let[t,n]=e;this._deleteIfExpired(t,n)===!1&&(yield[t,n.value])}for(let e of this.oldCache){let[t,n]=e;this.cache.has(t)||this._deleteIfExpired(t,n)===!1&&(yield[t,n.value])}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){let[n,r]=e[t];this._deleteIfExpired(n,r)===!1&&(yield[n,r.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){let[n,r]=e[t];this.cache.has(n)||this._deleteIfExpired(n,r)===!1&&(yield[n,r.value])}}*entriesAscending(){for(let[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(let[n,r]of this.entriesAscending())e.call(t,r,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};function Ge(e,t){return(!e||e.endsWith(`
|
|
5
5
|
`))&&!t?.force?e:e+`
|
|
6
6
|
`}function D(e,t){return Ge(t)+e}function Ke(e,t){return(!e||e.endsWith(`
|
|
7
7
|
|
|
8
8
|
`))&&!t?.force?e:Ge(e)+`
|
|
9
|
-
`}function O(e,t){return Ke(t)+e}const qe=`https://prismic.io/docs/slices`,Je={UID:`https://prismic.io/docs/fields/uid`,Boolean:`https://prismic.io/docs/fields/boolean`,Color:`https://prismic.io/docs/fields/color`,Date:`https://prismic.io/docs/fields/date`,Timestamp:`https://prismic.io/docs/fields/timestamp`,Number:`https://prismic.io/docs/fields/number`,Text:`https://prismic.io/docs/fields/text`,Select:`https://prismic.io/docs/fields/select`,StructuredText:`https://prismic.io/docs/fields/rich-text`,Image:`https://prismic.io/docs/fields/image`,Link:{contentRelationship:`https://prismic.io/docs/fields/content-relationship`,link:`https://prismic.io/docs/fields/link`,linkToMedia:`https://prismic.io/docs/fields/link-to-media`},Embed:`https://prismic.io/docs/fields/embed`,GeoPoint:`https://prismic.io/docs/fields/geopoint`,Table:`https://prismic.io/docs/fields/table`,Group:`https://prismic.io/docs/fields/repeatable-group`,IntegrationFields:`https://prismic.io/docs/fields/integration`,Slices:`https://prismic.io/docs/slices`,Choice:`https://prismic.io/docs/slices`};var Ye=y({__addDisposableResource:()=>Ct,__assign:()=>Dt,__asyncDelegator:()=>ht,__asyncGenerator:()=>mt,__asyncValues:()=>gt,__await:()=>pt,__awaiter:()=>at,__classPrivateFieldGet:()=>bt,__classPrivateFieldIn:()=>St,__classPrivateFieldSet:()=>xt,__createBinding:()=>Ot,__decorate:()=>Qe,__disposeResources:()=>wt,__esDecorate:()=>et,__exportStar:()=>st,__extends:()=>Xe,__generator:()=>ot,__importDefault:()=>yt,__importStar:()=>vt,__makeTemplateObject:()=>_t,__metadata:()=>it,__param:()=>$e,__propKey:()=>nt,__read:()=>lt,__rest:()=>Ze,__rewriteRelativeImportExtension:()=>Tt,__runInitializers:()=>tt,__setFunctionName:()=>rt,__spread:()=>ut,__spreadArray:()=>ft,__spreadArrays:()=>dt,__values:()=>ct,default:()=>Mt});function Xe(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);Et(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function Ze(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Qe(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function $e(e,t){return function(n,r){t(n,r,e)}}function et(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0}function tt(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0}function nt(e){return typeof e==`symbol`?e:`${e}`}function rt(e,t,n){return typeof t==`symbol`&&(t=t.description?`[${t.description}]`:``),Object.defineProperty(e,`name`,{configurable:!0,value:n?`${n} ${t}`:t})}function it(e,t){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(e,t)}function at(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function ot(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function st(e,t){for(var n in e)n!==`default`&&!Object.prototype.hasOwnProperty.call(t,n)&&Ot(t,e,n)}function ct(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function lt(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function ut(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(lt(arguments[t]));return e}function dt(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),i=0,t=0;t<n;t++)for(var a=arguments[t],o=0,s=a.length;o<s;o++,i++)r[i]=a[o];return r}function ft(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}function pt(e){return this instanceof pt?(this.v=e,this):new pt(e)}function mt(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof pt?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}}function ht(e){var t,n;return t={},r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:pt(e[r](t)),done:!1}:i?i(t):t}:i}}function gt(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof ct==`function`?ct(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}function _t(e,t){return Object.defineProperty?Object.defineProperty(e,`raw`,{value:t}):e.raw=t,e}function vt(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=At(e),r=0;r<n.length;r++)n[r]!==`default`&&Ot(t,e,n[r]);return kt(t,e),t}function yt(e){return e&&e.__esModule?e:{default:e}}function bt(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}function xt(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function St(e,t){if(t===null||typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Cannot use 'in' operator on non-object`);return typeof e==`function`?t===e:e.has(t)}function Ct(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}function wt(e){function t(t){e.error=e.hasError?new jt(t,e.error,`An error was suppressed during disposal.`):t,e.hasError=!0}var n,r=0;function i(){for(;n=e.stack.pop();)try{if(!n.async&&r===1)return r=0,e.stack.push(n),Promise.resolve().then(i);if(n.dispose){var a=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(a).then(i,function(e){return t(e),i()})}else r|=1}catch(e){t(e)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return i()}function Tt(e,t){return typeof e==`string`&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,i,a){return n?t?`.jsx`:`.js`:r&&(!i||!a)?e:r+i+`.`+a.toLowerCase()+`js`}):e}var Et,Dt,Ot,kt,At,jt,Mt,Nt=_((()=>{Et=function(e,t){return Et=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Et(e,t)},Dt=function(){return Dt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Dt.apply(this,arguments)},Ot=Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]}),kt=Object.create?(function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}):function(e,t){e.default=t},At=function(e){return At=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},At(e)},jt=typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r},Mt={__extends:Xe,__assign:Dt,__rest:Ze,__decorate:Qe,__param:$e,__esDecorate:et,__runInitializers:tt,__propKey:nt,__setFunctionName:rt,__metadata:it,__awaiter:at,__generator:ot,__createBinding:Ot,__exportStar:st,__values:ct,__read:lt,__spread:ut,__spreadArrays:dt,__spreadArray:ft,__await:pt,__asyncGenerator:mt,__asyncDelegator:ht,__asyncValues:gt,__makeTemplateObject:_t,__importStar:vt,__importDefault:yt,__classPrivateFieldGet:bt,__classPrivateFieldSet:xt,__classPrivateFieldIn:St,__addDisposableResource:Ct,__disposeResources:wt,__rewriteRelativeImportExtension:Tt}})),Pt=v((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.lowerCase=e.localeLowerCase=void 0;var t={tr:{regexp:/\u0130|\u0049|\u0049\u0307/g,map:{İ:`i`,I:`ı`,İ:`i`}},az:{regexp:/\u0130/g,map:{İ:`i`,I:`ı`,İ:`i`}},lt:{regexp:/\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g,map:{I:`i̇`,J:`j̇`,Į:`į̇`,Ì:`i̇̀`,Í:`i̇́`,Ĩ:`i̇̃`}}};function n(e,n){var i=t[n.toLowerCase()];return r(i?e.replace(i.regexp,function(e){return i.map[e]}):e)}e.localeLowerCase=n;function r(e){return e.toLowerCase()}e.lowerCase=r})),Ft=v((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.noCase=void 0;var t=Pt(),n=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],r=/[^A-Z0-9]+/gi;function i(e,i){i===void 0&&(i={});for(var o=i.splitRegexp,s=o===void 0?n:o,c=i.stripRegexp,l=c===void 0?r:c,u=i.transform,d=u===void 0?t.lowerCase:u,f=i.delimiter,p=f===void 0?` `:f,m=a(a(e,s,`$1\0$2`),l,`\0`),h=0,g=m.length;m.charAt(h)===`\0`;)h++;for(;m.charAt(g-1)===`\0`;)g--;return m.slice(h,g).split(`\0`).map(d).join(p)}e.noCase=i;function a(e,t,n){return t instanceof RegExp?e.replace(t,n):t.reduce(function(e,t){return e.replace(t,n)},e)}})),It=v((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.pascalCase=e.pascalCaseTransformMerge=e.pascalCaseTransform=void 0;var t=(Nt(),b(Ye)),n=Ft();function r(e,t){var n=e.charAt(0),r=e.substr(1).toLowerCase();return t>0&&n>=`0`&&n<=`9`?`_`+n+r:``+n.toUpperCase()+r}e.pascalCaseTransform=r;function i(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}e.pascalCaseTransformMerge=i;function a(e,i){return i===void 0&&(i={}),n.noCase(e,t.__assign({delimiter:``,transform:r},i))}e.pascalCase=a}))();const k=(...e)=>{let t=(0,It.pascalCase)(e.filter(Boolean).join(` `),{transform:It.pascalCaseTransformMerge});return/^[0-9]/.test(t)&&(t=`_${t}`),t},Lt={Boolean:`Boolean`,Color:`Color`,Date:`Date`,Embed:`Embed`,GeoPoint:`GeoPoint`,Group:`Group`,Image:`Image`,Integration:`IntegrationFields`,Link:`Link`,Number:`Number`,Select:`Select`,Slices:`Slices`,StructuredText:`StructuredText`,Table:`Table`,Text:`Text`,Timestamp:`Timestamp`,UID:`UID`,IntegrationFields:`IntegrationFields`,Range:`Range`,Separator:`Separator`,LegacySlices:`Choice`};function Rt(e){let t=``;for(let n=0;n<e.path.length;n++){n>0&&(t+=`.`);let r=e.path[n];if(r.model&&`type`in r.model&&(r.model.type===`Group`||r.model.type===`Slices`))t+=`${r.name}[]`;else{if(r.name===`items`){let i=e.path[n-1];if(i.model&&`json`in i.model||i.model&&`type`in i.model&&i.model.type===`SharedSlice`){t+=`${r.name}[]`;continue}}t+=r.name}}return t}const zt=e=>{if(`json`in e.model)return e.model.label||e.model.id;if(`type`in e.model&&e.model.type===`SharedSlice`)return e.model.name;if(`type`in e.model&&e.model.type===`Slice`)return e.model.fieldset||e.name;if(`type`in e.model){if(e.model.config&&`label`in e.model.config)return e.model.config.label||e.name;if(e.model.config&&`fieldset`in e.model)return e.model.fieldset||e.name}return`\`${e.name}\``};function Bt(e){return e.path.map(e=>e.label?e.label:e.model?zt({model:e.model,name:e.name}):e.name).join(` → `)}function Vt(e){switch(e.field.type){case`StructuredText`:return`Rich Text`;case`IntegrationFields`:{let t=e.field.config?.catalog;return`Integration Fields (Catalog: ${t?`\`${t}\``:`*unknown*`})`}case`Link`:switch(e.field.config?.select){case`document`:return`Content Relationship`;case`media`:return`Link to Media`;default:return`Link`}case`Slices`:return`Slice Zone`;default:return e.field.type}}function Ht(e){switch(e.field.type){case`Link`:{let t=Je.Link;switch(e.field.config?.select){case`document`:return t.contentRelationship;case`media`:return t.linkToMedia;default:return t.link}}default:{let t=Je[e.field.type];if(typeof t==`string`)return t}}}function Ut(e){let t=`/**`,n=zt({model:e.field,name:e.name}),r=Bt({path:e.path}),i=Vt({field:e.field});t=D(` * ${n} field in *${r}*`,t),t=D(` *`,t),t=D(` * - **Field Type**: ${i}`,t),t=D(` * - **Placeholder**: ${e.field.config&&`placeholder`in e.field.config&&e.field.config.placeholder||`*None*`}`,t);let a=e.field.config&&`default_value`in e.field.config?e.field.config.default_value:void 0;a!==void 0&&(t=D(` * - **Default Value**: ${typeof a==`boolean`?`${a}`:a}`,t)),t=D(` * - **API ID Path**: ${Rt({path:[...e.path,{name:e.name,model:e.field}]})}`,t),e.tabName&&(t=D(` * - **Tab**: ${e.tabName}`,t));let o=Ht({field:e.field});return o&&(t=D(` * - **Documentation**: ${o}`,t)),t=D(` */`,t),t}function A(e){return e.filter(Boolean).join(` | `)||`never`}function Wt(e){let t=Ut({name:e.name,field:e.field,path:e.path,tabName:e.tabName}),n=[],r=[],i=e.name.includes(`-`)||e.name.includes(`:`)||/^[0-9]/.test(e.name)?`"${e.name}"`:e.name;switch(e.field.type){case`UID`:break;case`Boolean`:t=D(`${i}: prismic.BooleanField;`,t);break;case`Color`:t=D(`${i}: prismic.ColorField;`,t);break;case`Date`:t=D(`${i}: prismic.DateField;`,t);break;case`Embed`:{let n=[];if(e.fieldConfigs.embed?.providerTypes)for(let t in e.fieldConfigs.embed?.providerTypes){let r=e.fieldConfigs.embed?.providerTypes[t];n.push(`({ provider_name: "${t}" } & ${r})`)}let r=A(n);t=n.length>0?D(`${i}: prismic.EmbedField<prismic.AnyOEmbed & prismic.OEmbedExtra & (${r})>`,t):D(`${i}: prismic.EmbedField`,t);break}case`GeoPoint`:t=D(`${i}: prismic.GeoPointField;`,t);break;case`Image`:t=e.field.config?.thumbnails&&e.field.config.thumbnails.length>0?D(`${i}: prismic.ImageField<${A(e.field.config.thumbnails.map(e=>`"${e.name}"`))}>;`,t):D(`${i}: prismic.ImageField<never>;`,t);break;case`IntegrationFields`:{let n=e.field.config?.catalog?e.fieldConfigs.integrationFields?.catalogTypes?.[e.field.config.catalog]:void 0;t=D(n?`${i}: prismic.IntegrationField<${n}>;`:`${i}: prismic.IntegrationField;`,t);break}case`Link`:{let n=e.field.config&&`variants`in e.field.config&&Array.isArray(e.field.config.variants)&&e.field.config.variants.length>0?e.field.config.variants.map(e=>`"${e.replace(/\"/g,`\\"`)}"`).join(` | `):`never`;switch(e.field.config?.select){case`document`:t=`customtypes`in e.field.config&&e.field.config.customtypes&&e.field.config.customtypes.length>0?D(`${i}: ${A(e.field.config.customtypes.map(e=>typeof e==`string`?`prismic.ContentRelationshipField<"${e}">`:`ContentRelationshipFieldWithData<${JSON.stringify([e])}>`))};`,t):D(`${i}: prismic.ContentRelationshipField;`,t);break;case`media`:t=D(`${i}: prismic.LinkToMediaField<prismic.FieldState, ${n}>;`,t);break;default:{let r=`prismic.LinkField<string, string, unknown, prismic.FieldState, ${n}>`;e.field.config?.repeat&&(r=`prismic.Repeatable<${r}>`),t=D(`${i}: ${r};`,t);break}}break}case`Number`:t=D(`${i}: prismic.NumberField;`,t);break;case`StructuredText`:t=D(`${i}: prismic.RichTextField;`,t);break;case`Select`:{let n=(e.field.config?.options)?.map(e=>`"${e}"`)||[],r=n.length?A(n):`string`;t=e.field.config?.default_value?D(`${i}: prismic.SelectField<${r}, "filled">;`,t):D(`${i}: prismic.SelectField${n.length>0?`<${r}>`:``};`,t);break}case`Table`:t=D(`${i}: prismic.TableField;`,t);break;case`Text`:t=D(`${i}: prismic.KeyTextField;`,t);break;case`Timestamp`:t=D(`${i}: prismic.TimestampField;`,t);break;case`Group`:{let a=e.path.filter(e=>e.model!==void 0&&`type`in e.model&&e.model.type===Lt.Group),o=a.length>0,s;if(e.path[0].model&&`type`in e.path[0].model&&e.path[0].model.type===`SharedSlice`){let[t,n,r]=e.path;s=k(t.name,`Slice`,n.name,r.name,...a.map(e=>e.name),e.name,`Item`)}else s=k(e.path[0].name,`Document`,`Data`,...a.map(e=>e.name),e.name,`Item`);let c=[...e.path,{name:i,model:e.field}],l=Bt({path:c}),u=Gt({fields:e.field.config?.fields||{},fieldConfigs:e.fieldConfigs,path:c});n.push(...u.auxiliaryTypes),r.push(...u.contentTypeNames),n.push({name:s,code:E.source`
|
|
9
|
+
`}function O(e,t){return Ke(t)+e}const qe=`https://prismic.io/docs/slices`,Je={UID:`https://prismic.io/docs/fields/uid`,Boolean:`https://prismic.io/docs/fields/boolean`,Color:`https://prismic.io/docs/fields/color`,Date:`https://prismic.io/docs/fields/date`,Timestamp:`https://prismic.io/docs/fields/timestamp`,Number:`https://prismic.io/docs/fields/number`,Text:`https://prismic.io/docs/fields/text`,Select:`https://prismic.io/docs/fields/select`,StructuredText:`https://prismic.io/docs/fields/rich-text`,Image:`https://prismic.io/docs/fields/image`,Link:{contentRelationship:`https://prismic.io/docs/fields/content-relationship`,link:`https://prismic.io/docs/fields/link`,linkToMedia:`https://prismic.io/docs/fields/link-to-media`},Embed:`https://prismic.io/docs/fields/embed`,GeoPoint:`https://prismic.io/docs/fields/geopoint`,Table:`https://prismic.io/docs/fields/table`,Group:`https://prismic.io/docs/fields/repeatable-group`,IntegrationFields:`https://prismic.io/docs/fields/integration`,Slices:`https://prismic.io/docs/slices`,Choice:`https://prismic.io/docs/slices`};var Ye=y({__addDisposableResource:()=>Ct,__assign:()=>Dt,__asyncDelegator:()=>ht,__asyncGenerator:()=>mt,__asyncValues:()=>gt,__await:()=>pt,__awaiter:()=>at,__classPrivateFieldGet:()=>bt,__classPrivateFieldIn:()=>St,__classPrivateFieldSet:()=>xt,__createBinding:()=>Ot,__decorate:()=>Qe,__disposeResources:()=>wt,__esDecorate:()=>et,__exportStar:()=>st,__extends:()=>Xe,__generator:()=>ot,__importDefault:()=>yt,__importStar:()=>vt,__makeTemplateObject:()=>_t,__metadata:()=>it,__param:()=>$e,__propKey:()=>nt,__read:()=>lt,__rest:()=>Ze,__rewriteRelativeImportExtension:()=>Tt,__runInitializers:()=>tt,__setFunctionName:()=>rt,__spread:()=>ut,__spreadArray:()=>ft,__spreadArrays:()=>dt,__values:()=>ct,default:()=>Mt});function Xe(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);Et(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function Ze(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Qe(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function $e(e,t){return function(n,r){t(n,r,e)}}function et(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0}function tt(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0}function nt(e){return typeof e==`symbol`?e:`${e}`}function rt(e,t,n){return typeof t==`symbol`&&(t=t.description?`[${t.description}]`:``),Object.defineProperty(e,`name`,{configurable:!0,value:n?`${n} ${t}`:t})}function it(e,t){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(e,t)}function at(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function ot(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function st(e,t){for(var n in e)n!==`default`&&!Object.prototype.hasOwnProperty.call(t,n)&&Ot(t,e,n)}function ct(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function lt(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function ut(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(lt(arguments[t]));return e}function dt(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),i=0,t=0;t<n;t++)for(var a=arguments[t],o=0,s=a.length;o<s;o++,i++)r[i]=a[o];return r}function ft(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}function pt(e){return this instanceof pt?(this.v=e,this):new pt(e)}function mt(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof pt?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}}function ht(e){var t,n;return t={},r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:pt(e[r](t)),done:!1}:i?i(t):t}:i}}function gt(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof ct==`function`?ct(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}function _t(e,t){return Object.defineProperty?Object.defineProperty(e,`raw`,{value:t}):e.raw=t,e}function vt(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=At(e),r=0;r<n.length;r++)n[r]!==`default`&&Ot(t,e,n[r]);return kt(t,e),t}function yt(e){return e&&e.__esModule?e:{default:e}}function bt(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}function xt(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function St(e,t){if(t===null||typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Cannot use 'in' operator on non-object`);return typeof e==`function`?t===e:e.has(t)}function Ct(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}function wt(e){function t(t){e.error=e.hasError?new jt(t,e.error,`An error was suppressed during disposal.`):t,e.hasError=!0}var n,r=0;function i(){for(;n=e.stack.pop();)try{if(!n.async&&r===1)return r=0,e.stack.push(n),Promise.resolve().then(i);if(n.dispose){var a=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(a).then(i,function(e){return t(e),i()})}else r|=1}catch(e){t(e)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return i()}function Tt(e,t){return typeof e==`string`&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,i,a){return n?t?`.jsx`:`.js`:r&&(!i||!a)?e:r+i+`.`+a.toLowerCase()+`js`}):e}var Et,Dt,Ot,kt,At,jt,Mt,Nt=_((()=>{Et=function(e,t){return Et=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Et(e,t)},Dt=function(){return Dt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Dt.apply(this,arguments)},Ot=Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]}),kt=Object.create?(function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}):function(e,t){e.default=t},At=function(e){return At=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},At(e)},jt=typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r},Mt={__extends:Xe,__assign:Dt,__rest:Ze,__decorate:Qe,__param:$e,__esDecorate:et,__runInitializers:tt,__propKey:nt,__setFunctionName:rt,__metadata:it,__awaiter:at,__generator:ot,__createBinding:Ot,__exportStar:st,__values:ct,__read:lt,__spread:ut,__spreadArrays:dt,__spreadArray:ft,__await:pt,__asyncGenerator:mt,__asyncDelegator:ht,__asyncValues:gt,__makeTemplateObject:_t,__importStar:vt,__importDefault:yt,__classPrivateFieldGet:bt,__classPrivateFieldSet:xt,__classPrivateFieldIn:St,__addDisposableResource:Ct,__disposeResources:wt,__rewriteRelativeImportExtension:Tt}})),Pt=v((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.lowerCase=e.localeLowerCase=void 0;var t={tr:{regexp:/\u0130|\u0049|\u0049\u0307/g,map:{İ:`i`,I:`ı`,İ:`i`}},az:{regexp:/\u0130/g,map:{İ:`i`,I:`ı`,İ:`i`}},lt:{regexp:/\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g,map:{I:`i̇`,J:`j̇`,Į:`į̇`,Ì:`i̇̀`,Í:`i̇́`,Ĩ:`i̇̃`}}};function n(e,n){var i=t[n.toLowerCase()];return r(i?e.replace(i.regexp,function(e){return i.map[e]}):e)}e.localeLowerCase=n;function r(e){return e.toLowerCase()}e.lowerCase=r})),Ft=v((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.noCase=void 0;var t=Pt(),n=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],r=/[^A-Z0-9]+/gi;function i(e,i){i===void 0&&(i={});for(var o=i.splitRegexp,s=o===void 0?n:o,c=i.stripRegexp,l=c===void 0?r:c,u=i.transform,d=u===void 0?t.lowerCase:u,f=i.delimiter,p=f===void 0?` `:f,m=a(a(e,s,`$1\0$2`),l,`\0`),h=0,g=m.length;m.charAt(h)===`\0`;)h++;for(;m.charAt(g-1)===`\0`;)g--;return m.slice(h,g).split(`\0`).map(d).join(p)}e.noCase=i;function a(e,t,n){return t instanceof RegExp?e.replace(t,n):t.reduce(function(e,t){return e.replace(t,n)},e)}})),It=v((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.pascalCase=e.pascalCaseTransformMerge=e.pascalCaseTransform=void 0;var t=(Nt(),x(Ye)),n=Ft();function r(e,t){var n=e.charAt(0),r=e.substr(1).toLowerCase();return t>0&&n>=`0`&&n<=`9`?`_`+n+r:``+n.toUpperCase()+r}e.pascalCaseTransform=r;function i(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}e.pascalCaseTransformMerge=i;function a(e,i){return i===void 0&&(i={}),n.noCase(e,t.__assign({delimiter:``,transform:r},i))}e.pascalCase=a}))();const k=(...e)=>{let t=(0,It.pascalCase)(e.filter(Boolean).join(` `),{transform:It.pascalCaseTransformMerge});return/^[0-9]/.test(t)&&(t=`_${t}`),t},Lt={Boolean:`Boolean`,Color:`Color`,Date:`Date`,Embed:`Embed`,GeoPoint:`GeoPoint`,Group:`Group`,Image:`Image`,Integration:`IntegrationFields`,Link:`Link`,Number:`Number`,Select:`Select`,Slices:`Slices`,StructuredText:`StructuredText`,Table:`Table`,Text:`Text`,Timestamp:`Timestamp`,UID:`UID`,IntegrationFields:`IntegrationFields`,Range:`Range`,Separator:`Separator`,LegacySlices:`Choice`};function Rt(e){let t=``;for(let n=0;n<e.path.length;n++){n>0&&(t+=`.`);let r=e.path[n];if(r.model&&`type`in r.model&&(r.model.type===`Group`||r.model.type===`Slices`))t+=`${r.name}[]`;else{if(r.name===`items`){let i=e.path[n-1];if(i.model&&`json`in i.model||i.model&&`type`in i.model&&i.model.type===`SharedSlice`){t+=`${r.name}[]`;continue}}t+=r.name}}return t}const zt=e=>{if(`json`in e.model)return e.model.label||e.model.id;if(`type`in e.model&&e.model.type===`SharedSlice`)return e.model.name;if(`type`in e.model&&e.model.type===`Slice`)return e.model.fieldset||e.name;if(`type`in e.model){if(e.model.config&&`label`in e.model.config)return e.model.config.label||e.name;if(e.model.config&&`fieldset`in e.model)return e.model.fieldset||e.name}return`\`${e.name}\``};function Bt(e){return e.path.map(e=>e.label?e.label:e.model?zt({model:e.model,name:e.name}):e.name).join(` → `)}function Vt(e){switch(e.field.type){case`StructuredText`:return`Rich Text`;case`IntegrationFields`:{let t=e.field.config?.catalog;return`Integration Fields (Catalog: ${t?`\`${t}\``:`*unknown*`})`}case`Link`:switch(e.field.config?.select){case`document`:return`Content Relationship`;case`media`:return`Link to Media`;default:return`Link`}case`Slices`:return`Slice Zone`;default:return e.field.type}}function Ht(e){switch(e.field.type){case`Link`:{let t=Je.Link;switch(e.field.config?.select){case`document`:return t.contentRelationship;case`media`:return t.linkToMedia;default:return t.link}}default:{let t=Je[e.field.type];if(typeof t==`string`)return t}}}function Ut(e){let t=`/**`,n=zt({model:e.field,name:e.name}),r=Bt({path:e.path}),i=Vt({field:e.field});t=D(` * ${n} field in *${r}*`,t),t=D(` *`,t),t=D(` * - **Field Type**: ${i}`,t),t=D(` * - **Placeholder**: ${e.field.config&&`placeholder`in e.field.config&&e.field.config.placeholder||`*None*`}`,t);let a=e.field.config&&`default_value`in e.field.config?e.field.config.default_value:void 0;a!==void 0&&(t=D(` * - **Default Value**: ${typeof a==`boolean`?`${a}`:a}`,t)),t=D(` * - **API ID Path**: ${Rt({path:[...e.path,{name:e.name,model:e.field}]})}`,t),e.tabName&&(t=D(` * - **Tab**: ${e.tabName}`,t));let o=Ht({field:e.field});return o&&(t=D(` * - **Documentation**: ${o}`,t)),t=D(` */`,t),t}function Wt(e){return e.filter(Boolean).join(` | `)||`never`}function Gt(e){let t=Ut({name:e.name,field:e.field,path:e.path,tabName:e.tabName}),n=[],r=[],i=e.name.includes(`-`)||e.name.includes(`:`)||/^[0-9]/.test(e.name)?`"${e.name}"`:e.name;switch(e.field.type){case`UID`:break;case`Boolean`:t=D(`${i}: prismic.BooleanField;`,t);break;case`Color`:t=D(`${i}: prismic.ColorField;`,t);break;case`Date`:t=D(`${i}: prismic.DateField;`,t);break;case`Embed`:{let n=[];if(e.fieldConfigs.embed?.providerTypes)for(let t in e.fieldConfigs.embed?.providerTypes){let r=e.fieldConfigs.embed?.providerTypes[t];n.push(`({ provider_name: "${t}" } & ${r})`)}let r=Wt(n);t=n.length>0?D(`${i}: prismic.EmbedField<prismic.AnyOEmbed & prismic.OEmbedExtra & (${r})>`,t):D(`${i}: prismic.EmbedField`,t);break}case`GeoPoint`:t=D(`${i}: prismic.GeoPointField;`,t);break;case`Image`:t=e.field.config?.thumbnails&&e.field.config.thumbnails.length>0?D(`${i}: prismic.ImageField<${Wt(e.field.config.thumbnails.map(e=>`"${e.name}"`))}>;`,t):D(`${i}: prismic.ImageField<never>;`,t);break;case`IntegrationFields`:{let n=e.field.config?.catalog?e.fieldConfigs.integrationFields?.catalogTypes?.[e.field.config.catalog]:void 0;t=D(n?`${i}: prismic.IntegrationField<${n}>;`:`${i}: prismic.IntegrationField;`,t);break}case`Link`:{let n=e.field.config&&`variants`in e.field.config&&Array.isArray(e.field.config.variants)&&e.field.config.variants.length>0?e.field.config.variants.map(e=>`"${e.replace(/\"/g,`\\"`)}"`).join(` | `):`never`;switch(e.field.config?.select){case`document`:t=`customtypes`in e.field.config&&e.field.config.customtypes&&e.field.config.customtypes.length>0?D(`${i}: ${Wt(e.field.config.customtypes.map(e=>typeof e==`string`?`prismic.ContentRelationshipField<"${e}">`:`ContentRelationshipFieldWithData<${JSON.stringify([e])}>`))};`,t):D(`${i}: prismic.ContentRelationshipField;`,t);break;case`media`:t=D(`${i}: prismic.LinkToMediaField<prismic.FieldState, ${n}>;`,t);break;default:{let r=`prismic.LinkField<string, string, unknown, prismic.FieldState, ${n}>`;e.field.config?.repeat&&(r=`prismic.Repeatable<${r}>`),t=D(`${i}: ${r};`,t);break}}break}case`Number`:t=D(`${i}: prismic.NumberField;`,t);break;case`StructuredText`:t=D(`${i}: prismic.RichTextField;`,t);break;case`Select`:{let n=(e.field.config?.options)?.map(e=>`"${e}"`)||[],r=n.length?Wt(n):`string`;t=e.field.config?.default_value?D(`${i}: prismic.SelectField<${r}, "filled">;`,t):D(`${i}: prismic.SelectField${n.length>0?`<${r}>`:``};`,t);break}case`Table`:t=D(`${i}: prismic.TableField;`,t);break;case`Text`:t=D(`${i}: prismic.KeyTextField;`,t);break;case`Timestamp`:t=D(`${i}: prismic.TimestampField;`,t);break;case`Group`:{let a=e.path.filter(e=>e.model!==void 0&&`type`in e.model&&e.model.type===Lt.Group),o=a.length>0,s;if(e.path[0].model&&`type`in e.path[0].model&&e.path[0].model.type===`SharedSlice`){let[t,n,r]=e.path;s=k(t.name,`Slice`,n.name,r.name,...a.map(e=>e.name),e.name,`Item`)}else s=k(e.path[0].name,`Document`,`Data`,...a.map(e=>e.name),e.name,`Item`);let c=[...e.path,{name:i,model:e.field}],l=Bt({path:c}),u=Kt({fields:e.field.config?.fields||{},fieldConfigs:e.fieldConfigs,path:c});n.push(...u.auxiliaryTypes),r.push(...u.contentTypeNames),n.push({name:s,code:E.source`
|
|
10
10
|
/**
|
|
11
11
|
* Item in *${l}*
|
|
12
12
|
*/
|
|
13
13
|
export interface ${s} {
|
|
14
14
|
${u.code}
|
|
15
15
|
}
|
|
16
|
-
`}),r.push(s),t=D(o?`${i}: prismic.NestedGroupField<Simplify<${s}>>;`:`${i}: prismic.GroupField<Simplify<${s}>>;`,t);break}case`Slices`:{let a=[];if(e.field.config?.choices)for(let t in e.field.config.choices){let i=e.field.config.choices[t];if(i.type===`SharedSlice`)a.push(k(t,`Slice`));else if(i.type===`Slice`){let o=k(e.path[0].name,`Document`,`Data`,e.name,t,`Slice`),s;if(i[`non-repeat`]&&Object.keys(i[`non-repeat`]).length>0){s=k(o,`Primary`);let a=[...e.path,{name:e.name,model:e.field},{name:t,model:i},{name:`primary`,label:`Primary`}],c=Bt({path:a}),l=
|
|
16
|
+
`}),r.push(s),t=D(o?`${i}: prismic.NestedGroupField<Simplify<${s}>>;`:`${i}: prismic.GroupField<Simplify<${s}>>;`,t);break}case`Slices`:{let a=[];if(e.field.config?.choices)for(let t in e.field.config.choices){let i=e.field.config.choices[t];if(i.type===`SharedSlice`)a.push(k(t,`Slice`));else if(i.type===`Slice`){let o=k(e.path[0].name,`Document`,`Data`,e.name,t,`Slice`),s;if(i[`non-repeat`]&&Object.keys(i[`non-repeat`]).length>0){s=k(o,`Primary`);let a=[...e.path,{name:e.name,model:e.field},{name:t,model:i},{name:`primary`,label:`Primary`}],c=Bt({path:a}),l=Kt({fields:i[`non-repeat`],fieldConfigs:e.fieldConfigs,path:a});n.push(...l.auxiliaryTypes),r.push(...l.contentTypeNames);let u=E.stripIndent`
|
|
17
17
|
/**
|
|
18
18
|
* Primary content in *${c}*
|
|
19
19
|
*/
|
|
@@ -21,7 +21,7 @@ import{parseArgs as e}from"node:util";import{access as t,mkdir as n,readFile as
|
|
|
21
21
|
export interface ${s} {
|
|
22
22
|
${l.code}
|
|
23
23
|
}
|
|
24
|
-
`,u):D(`export interface ${s} {}`,u),n.push({name:s,code:u}),r.push(s)}let c;if(i.repeat&&Object.keys(i.repeat).length>0){c=k(o,`Item`);let a=[...e.path,{name:e.name,model:e.field},{name:t,model:i},{name:`items`,label:`Items`}],s=Bt({path:a}),l=
|
|
24
|
+
`,u):D(`export interface ${s} {}`,u),n.push({name:s,code:u}),r.push(s)}let c;if(i.repeat&&Object.keys(i.repeat).length>0){c=k(o,`Item`);let a=[...e.path,{name:e.name,model:e.field},{name:t,model:i},{name:`items`,label:`Items`}],s=Bt({path:a}),l=Kt({fields:i.repeat,fieldConfigs:e.fieldConfigs,path:a});n.push(...l.auxiliaryTypes),r.push(...l.contentTypeNames);let u=E.stripIndent`
|
|
25
25
|
/**
|
|
26
26
|
* Item content in *${s}*
|
|
27
27
|
*/
|
|
@@ -34,14 +34,14 @@ import{parseArgs as e}from"node:util";import{access as t,mkdir as n,readFile as
|
|
|
34
34
|
* Slice for *${Bt({path:[...e.path,{name:e.name,model:e.field}]})}*
|
|
35
35
|
*/
|
|
36
36
|
export type ${o} = prismic.Slice<"${t}", ${s?`Simplify<${s}>`:`Record<string, never>`}, ${c?`Simplify<${c}>`:`never`}>
|
|
37
|
-
`}),a.push(o)}}let o=k(e.path[0].name,`Document`,`Data`,e.name,`Slice`),s=
|
|
37
|
+
`}),a.push(o)}}let o=k(e.path[0].name,`Document`,`Data`,e.name,`Slice`),s=Wt(a);n.push({name:o,code:`type ${o} = ${s}`}),r.push(o),t=D(`${i}: prismic.SliceZone<${o}>;`,t);break}default:t=D(`${i}: unknown;`,t)}return{code:t,auxiliaryTypes:n,contentTypeNames:r}}function Kt(e){let t=``,n=[],r=[];for(let i in e.fields){let a=e.fields[i],o=Gt({name:i,field:a,path:e.path,fieldConfigs:e.fieldConfigs,tabName:e.tabName});t=O(o.code,t),n.push(...o.auxiliaryTypes),r.push(...o.contentTypeNames)}return{code:t,auxiliaryTypes:n,contentTypeNames:r}}function qt(e){let t=``,n=[],r=[],i=k(e.model.id,`Document`,`Data`),a=zt({name:e.model.id,model:e.model}),o=``;for(let t in e.model.json){let{uid:i,...a}=e.model.json[t],s=Kt({fields:a,fieldConfigs:e.fieldConfigs,path:[{name:e.model.id,model:e.model}],tabName:t});o+=s.code,n.push(...s.auxiliaryTypes),r.push(...s.contentTypeNames)}return t=o?E.source`
|
|
38
38
|
/**
|
|
39
39
|
* Content for ${a} documents
|
|
40
40
|
*/
|
|
41
41
|
interface ${i} {
|
|
42
42
|
${o}
|
|
43
43
|
}
|
|
44
|
-
`:`interface ${i} {}`,{name:i,code:t,auxiliaryTypes:n,contentTypeNames:r}}function
|
|
44
|
+
`:`interface ${i} {}`,{name:i,code:t,auxiliaryTypes:n,contentTypeNames:r}}function Jt(e){return`uid`in Object.assign({},...Object.values(e.json))}const Yt=e=>c.createHash(`sha1`).update(JSON.stringify(e)).digest(`hex`);function Xt(e){if(e.cache){let t=Yt(e.model),n=e.cache.get(t);if(n)return n}let t=``,n=[],r=[],i=k(e.model.id,`Document`),a=e.localeIDs&&e.localeIDs.length>0?Wt(e.localeIDs.map(e=>`"${e}"`)):`string`,o=Jt(e.model)?`PrismicDocumentWithUID`:`PrismicDocumentWithoutUID`,s=zt({name:e.model.id,model:e.model}),c=qt({model:e.model,fieldConfigs:e.fieldConfigs});n.push(...c.auxiliaryTypes),r.push(c.name),r.push(...c.contentTypeNames),t=O(c.code,t),t=O(E.source`
|
|
45
45
|
/**
|
|
46
46
|
* ${s} document from Prismic
|
|
47
47
|
*
|
|
@@ -52,7 +52,7 @@ import{parseArgs as e}from"node:util";import{access as t,mkdir as n,readFile as
|
|
|
52
52
|
* @typeParam Lang - Language API ID of the document.
|
|
53
53
|
*/
|
|
54
54
|
export type ${i}<Lang extends string = ${a}> = prismic.${o}<Simplify<${c.name}>, "${e.model.id}", Lang>;
|
|
55
|
-
`,t);let l={name:i,code:t,auxiliaryTypes:n,contentTypeNames:r};if(e.cache){let t=
|
|
55
|
+
`,t);let l={name:i,code:t,auxiliaryTypes:n,contentTypeNames:r};if(e.cache){let t=Yt(e.model);e.cache.set(t,l)}return l}function Zt(e){if(e.cache){let t=Yt([e.model,e.fieldConfigs]),n=e.cache.get(t);if(n)return n}let t=``,n=[],r=[],i=k(e.model.id,`Slice`),a=zt({name:e.model.id,model:e.model}),o=[];for(let s of e.model.variations){let c=k(i,s.id),l;if(s.primary&&Object.keys(s.primary).length>0){l=k(c,`Primary`);let i=[{name:e.model.id,model:e.model},{name:s.id,label:s.name},{name:`primary`,label:`Primary`}],a=Bt({path:i}),o=Kt({fields:s.primary,fieldConfigs:e.fieldConfigs,path:i});n.push(...o.auxiliaryTypes),r.push(...o.contentTypeNames),r.push(l);let u=E.stripIndent`
|
|
56
56
|
/**
|
|
57
57
|
* Primary content in *${a}*
|
|
58
58
|
*/
|
|
@@ -64,7 +64,7 @@ import{parseArgs as e}from"node:util";import{access as t,mkdir as n,readFile as
|
|
|
64
64
|
`:E.source`
|
|
65
65
|
${u}
|
|
66
66
|
export interface ${l} {}
|
|
67
|
-
`,t)}let u;if(s.items&&Object.keys(s.items).length>0){u=k(c,`Item`);let i=[{name:e.model.id,model:e.model},{name:`items`,label:`Items`}],a=Bt({path:i}),o=
|
|
67
|
+
`,t)}let u;if(s.items&&Object.keys(s.items).length>0){u=k(c,`Item`);let i=[{name:e.model.id,model:e.model},{name:`items`,label:`Items`}],a=Bt({path:i}),o=Kt({fields:s.items,fieldConfigs:e.fieldConfigs,path:i});n.push(...o.auxiliaryTypes),r.push(...o.contentTypeNames),r.push(u);let l=E.stripIndent`
|
|
68
68
|
/**
|
|
69
69
|
* Primary content in *${a}*
|
|
70
70
|
*/
|
|
@@ -85,7 +85,7 @@ import{parseArgs as e}from"node:util";import{access as t,mkdir as n,readFile as
|
|
|
85
85
|
* - **Documentation**: ${qe}
|
|
86
86
|
*/
|
|
87
87
|
export type ${c} = prismic.SharedSliceVariation<"${s.id}", ${l?`Simplify<${l}>`:`Record<string, never>`}, ${u?`Simplify<${u}>`:`never`}>;
|
|
88
|
-
`,t),o.push(c)}let s=k(i,`Variation`),c=
|
|
88
|
+
`,t),o.push(c)}let s=k(i,`Variation`),c=Wt(o);r.push(s),r.push(...o),t=O(E.source`
|
|
89
89
|
/**
|
|
90
90
|
* Slice variation for *${a}*
|
|
91
91
|
*/
|
|
@@ -99,7 +99,7 @@ import{parseArgs as e}from"node:util";import{access as t,mkdir as n,readFile as
|
|
|
99
99
|
* - **Documentation**: ${qe}
|
|
100
100
|
*/
|
|
101
101
|
export type ${i} = prismic.SharedSlice<"${e.model.id}", ${s}>;
|
|
102
|
-
`,t);let l={name:i,variationNames:o,code:t,auxiliaryTypes:n,contentTypeNames:r};if(e.cache){let t=
|
|
102
|
+
`,t);let l={name:i,variationNames:o,code:t,auxiliaryTypes:n,contentTypeNames:r};if(e.cache){let t=Yt([e.model,e.fieldConfigs]);e.cache.set(t,l)}return l}const Qt=new We({maxSize:1e3});function $t(e={}){let t=e.fieldConfigs||{},n=e.cache??!0,r=``,i=e.typesProvider||`@prismicio/types`,a=`prismic`;r=D(`import type * as prismic from "${i}";`,r),(e.clientIntegration?.includeCreateClientInterface||e.clientIntegration?.includeContentNamespace)&&i!==`@prismicio/client`&&(a=`prismicClient`,r=D(`import type * as ${a} from "@prismicio/client";`,r)),r=O(`type Simplify<T> = { [KeyType in keyof T]: T[KeyType] };`,r),r=O(`
|
|
103
103
|
type PickContentRelationshipFieldData<
|
|
104
104
|
TRelationship extends prismic.CustomTypeModelFetchCustomTypeLevel1 | prismic.CustomTypeModelFetchCustomTypeLevel2 | prismic.CustomTypeModelFetchGroupLevel1 | prismic.CustomTypeModelFetchGroupLevel2,
|
|
105
105
|
TData extends Record<string, prismic.AnyRegularField | prismic.GroupField | prismic.NestedGroupField | prismic.SliceZone>,
|
|
@@ -142,7 +142,7 @@ type ContentRelationshipFieldWithData<
|
|
|
142
142
|
>
|
|
143
143
|
>
|
|
144
144
|
}[Exclude<TCustomType[number], string>["id"]];
|
|
145
|
-
`,r);let o=[];if(e.customTypeModels){let i=[];for(let a of e.customTypeModels){let s=
|
|
145
|
+
`,r);let o=[];if(e.customTypeModels){let i=[];for(let a of e.customTypeModels){let s=Xt({model:a,localeIDs:e.localeIDs,fieldConfigs:t,cache:n?Qt:void 0});for(let e of s.auxiliaryTypes)r=O(e.code,r);r=O(s.code,r),i.push(s.name),o.push(s.name),o.push(...s.contentTypeNames)}if(e.customTypeModels.length>0){let e=`AllDocumentTypes`;r=O(`export type ${e} = ${Wt(i)};`,r),o.push(e)}}if(e.sharedSliceModels)for(let i of e.sharedSliceModels){let e=Zt({model:i,fieldConfigs:t,cache:n?Qt:void 0});for(let t of e.auxiliaryTypes)r=O(t.code,r);r=O(e.code,r),o.push(e.name),o.push(...e.contentTypeNames)}if(e.clientIntegration?.includeCreateClientInterface||e.clientIntegration?.includeContentNamespace){let t=``;e.clientIntegration.includeCreateClientInterface&&((e.customTypeModels?.length||0)>0?(t=O(`interface CreateClient {
|
|
146
146
|
(repositoryNameOrEndpoint: string, options?: ${a}.ClientConfig): ${a}.Client<AllDocumentTypes>;
|
|
147
147
|
}`,t),t=O(`interface CreateWriteClient {
|
|
148
148
|
(repositoryNameOrEndpoint: string, options: ${a}.WriteClientConfig): ${a}.WriteClient<AllDocumentTypes>;
|
|
@@ -165,39 +165,20 @@ type ContentRelationshipFieldWithData<
|
|
|
165
165
|
declare module "@prismicio/client" {
|
|
166
166
|
${t}
|
|
167
167
|
}
|
|
168
|
-
`,r)}return r}async function j(e){let t=await on();return t.hostname=`${e}.${t.hostname}`,tn(t)}async function $t(){let e=await on();return e.hostname=`api.internal.${e.hostname}`,tn(e)}async function en(){let e=await on();return e.hostname=`user-service.${e.hostname}`,tn(e)}function tn(e){let t=new URL(e);return t.pathname.endsWith(`/`)||(t.pathname+=`/`),t}const nn=new URL(`.prismic`,tn(u(l()))),rn=`https://prismic.io`;async function an(e,t){let n={token:e,host:t?.host};await s(nn,JSON.stringify(n,null,2))}async function M(){return!!await N()}async function N(){return(await sn())?.token}async function on(){try{let e=await sn();return e?.host?new URL(e.host):new URL(rn)}catch{return new URL(rn)}}async function sn(){try{let e=await r(nn,`utf-8`);return JSON.parse(e)}catch{return}}async function cn(){try{await t(nn)}catch{return!0}return await sn()?(await o(nn),!0):!1}function ln(e){return{lang:e?.lang??void 0,message:e?.message,abortEarly:e?.abortEarly??void 0,abortPipeEarly:e?.abortPipeEarly??void 0}}function un(e){return(void 0)?.get(e)}function dn(e){return(void 0)?.get(e)}function fn(e,t){return(void 0)?.get(e)?.get(t)}function pn(e){let t=typeof e;return t===`string`?`"${e}"`:t===`number`||t===`bigint`||t===`boolean`?`${e}`:t===`object`||t===`function`?(e&&Object.getPrototypeOf(e)?.constructor?.name)??`null`:t}function P(e,t,n,r,i){let a=i&&`input`in i?i.input:n.value,o=i?.expected??e.expects??null,s=i?.received??pn(a),c={kind:e.kind,type:e.type,input:a,expected:o,received:s,message:`Invalid ${t}: ${o?`Expected ${o} but r`:`R`}eceived ${s}`,requirement:e.requirement,path:i?.path,issues:i?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},l=e.kind===`schema`,u=i?.message??e.message??fn(e.reference,c.lang)??(l?dn(c.lang):null)??r.message??un(c.lang);u!==void 0&&(c.message=typeof u==`function`?u(c):u),l&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}function F(e){return{version:1,vendor:`valibot`,validate(t){return e[`~run`]({value:t},ln())}}}function mn(e,t){return Object.hasOwn(e,t)&&t!==`__proto__`&&t!==`prototype`&&t!==`constructor`}function I(e){return e instanceof hn}var hn=class extends Error{constructor(e){super(e[0].message),this.name=`ValiError`,this.issues=e}};function gn(e){return{kind:`validation`,type:`url`,reference:gn,async:!1,expects:null,requirement(e){try{return new URL(e),!0}catch{return!1}},message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&P(this,`URL`,e,t),e}}}function _n(e,t,n){return typeof e.fallback==`function`?e.fallback(t,n):e.fallback}function vn(e,t,n){return typeof e.default==`function`?e.default(t,n):e.default}function L(e,t){return{kind:`schema`,type:`array`,reference:L,expects:`Array`,async:!1,item:e,message:t,get"~standard"(){return F(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<n.length;r++){let i=n[r],a=this.item[`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else P(this,`type`,e,t);return e}}}function R(e){return{kind:`schema`,type:`boolean`,reference:R,expects:`boolean`,async:!1,message:e,get"~standard"(){return F(this)},"~run"(e,t){return typeof e.value==`boolean`?e.typed=!0:P(this,`type`,e,t),e}}}function yn(e,t){return{kind:`schema`,type:`literal`,reference:yn,expects:pn(e),async:!1,literal:e,message:t,get"~standard"(){return F(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:P(this,`type`,e,t),e}}}function bn(e,t){return{kind:`schema`,type:`nullable`,reference:bn,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return F(this)},"~run"(e,t){return e.value===null&&(this.default!==void 0&&(e.value=vn(this,e,t)),e.value===null)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function xn(e){return{kind:`schema`,type:`number`,reference:xn,expects:`number`,async:!1,message:e,get"~standard"(){return F(this)},"~run"(e,t){return typeof e.value==`number`&&!isNaN(e.value)?e.typed=!0:P(this,`type`,e,t),e}}}function z(e,t){return{kind:`schema`,type:`object`,reference:z,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return F(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`)for(let r in e.typed=!0,e.value={},this.entries){let i=this.entries[r];if(r in n||(i.type===`exact_optional`||i.type===`optional`||i.type===`nullish`)&&i.default!==void 0){let a=r in n?n[r]:vn(i),o=i[`~run`]({value:a},t);if(o.issues){let i={type:`object`,origin:`value`,input:n,key:r,value:a};for(let t of o.issues)t.path?t.path.unshift(i):t.path=[i],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(i.fallback!==void 0)e.value[r]=_n(i);else if(i.type!==`exact_optional`&&i.type!==`optional`&&i.type!==`nullish`&&(P(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}else P(this,`type`,e,t);return e}}}function B(e,t){return{kind:`schema`,type:`optional`,reference:B,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return F(this)},"~run"(e,t){return e.value===void 0&&(this.default!==void 0&&(e.value=vn(this,e,t)),e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function V(e,t,n){return{kind:`schema`,type:`record`,reference:V,expects:`Object`,async:!1,key:e,value:t,message:n,get"~standard"(){return F(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){for(let r in e.typed=!0,e.value={},n)if(mn(n,r)){let i=n[r],a=this.key[`~run`]({value:r},t);if(a.issues){let o={type:`object`,origin:`key`,input:n,key:r,value:i};for(let t of a.issues)t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}let o=this.value[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}(!a.typed||!o.typed)&&(e.typed=!1),a.typed&&(e.value[a.value]=o.value)}}else P(this,`type`,e,t);return e}}}function H(e){return{kind:`schema`,type:`string`,reference:H,expects:`string`,async:!1,message:e,get"~standard"(){return F(this)},"~run"(e,t){return typeof e.value==`string`?e.typed=!0:P(this,`type`,e,t),e}}}function U(){return{kind:`schema`,type:`unknown`,reference:U,expects:`unknown`,async:!1,get"~standard"(){return F(this)},"~run"(e){return e.typed=!0,e}}}function Sn(e,t,n){let r=e[`~run`]({value:t},ln(n));if(r.issues)throw new hn(r.issues);return r.value}function Cn(...e){return{...e[0],pipe:e,get"~standard"(){return F(this)},"~run"(t,n){for(let r of e)if(r.kind!==`metadata`){if(t.issues&&(r.kind===`schema`||r.kind===`transformation`)){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r[`~run`](t,n))}return t}}}function W(e,t,n){let r=e[`~run`]({value:t},ln(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}async function G(e,n={}){let{start:r=u(process.cwd()),stop:i}=n,a=tn(r);for(;;){let n=new URL(e,a);try{return await t(n),n}catch{}if(typeof i==`string`){let e=new URL(i,a);try{await t(e);return}catch{}}else if(i instanceof URL&&i.href===a.href)return;let r=new URL(`..`,a);if(r.href===a.href)return;a=r}}async function wn(e){try{return await t(e),!0}catch{return!1}}function K(e){return JSON.stringify(e,null,2)}const Tn=`prismic.config.json`,En=z({repositoryName:H(),apiEndpoint:B(Cn(H(),gn())),localSliceMachineSimulatorURL:B(Cn(H(),gn())),libraries:B(L(H())),adapter:B(H()),labs:B(z({legacySliceUpgrader:B(R())}))});async function Dn(e,t=u(process.cwd())){let n=await Mn(t);return n.ok?(await s(n.path,K(e)),{ok:!0,config:e}):n}async function q(e=u(process.cwd())){let t=await On(e);if(t.ok)return t.config.repositoryName}async function On(e=u(process.cwd())){let t=await jn(e);if(!t.ok)return t;try{let e=await r(t.path,`utf8`),n=W(En,JSON.parse(e));return n.success?{ok:!0,config:n.output}:{ok:!1,error:new kn(n.issues)}}catch{return{ok:!1,error:new kn}}}var kn=class extends Error{issues;constructor(e=[]){super(`prismic.config.json is invalid.`),this.issues=e}};async function An(e,t=u(process.cwd())){let n=await jn(t);if(!n.ok)return n;let r=await On(t);if(!r.ok)return r;let i={...r.config,...e};return await s(n.path,K(i)),{ok:!0,config:i}}async function jn(e=u(process.cwd())){let t=await G(Tn,{start:e,stop:`package.json`});return t?{ok:!0,path:t}:{ok:!1,error:new Nn}}async function Mn(e=u(process.cwd())){let t=await G(`package.json`,{start:e});return t?{ok:!0,path:new URL(Tn,t)}:{ok:!1,error:new Pn}}var Nn=class extends Error{message=`Could not find a prismic.config.json file.`},Pn=class extends Error{message=`Could not find a package.json file.`};const Fn=z({id:H(),type:yn(`SharedSlice`),name:H(),description:B(H()),variations:L(z({id:H(),name:H(),description:B(H()),docURL:B(H()),version:B(H()),imageUrl:B(H()),primary:B(V(H(),U())),items:B(V(H(),U()))}))});async function J(e){if(!await G(`package.json`))return{ok:!1,error:`Could not find project root (no package.json found)`};let t=await In(),n;try{n=await i(t,{withFileTypes:!1})}catch{return{ok:!1,error:`No slices directory found at ${t.href}`}}for(let i of n){let n=new URL(`${i}/model.json`,t);try{let t=await r(n,`utf8`),i=JSON.parse(t);if(i.id===e){let e=W(Fn,i);return e.success?{ok:!0,model:e.output,modelPath:n}:{ok:!1,error:`Invalid slice model at ${n.href}`}}}catch{}}return{ok:!1,error:`Slice not found: ${e}\n\nCreate it first with: prismic slice create ${e}`}}async function In(){let e=await Rn(),t=await G(`package.json`);if(!t)throw Error(`Could not find project root (no package.json found)`);let n=new URL(`.`,t);switch(e){case`next`:if(await wn(new URL(`src`,n)))return new URL(`src/slices/`,n);case`nuxt`:if(await wn(new URL(`app`,n)))return new URL(`app/slices/`,n);case`sveltekit`:return new URL(`src/slices/`,n)}return new URL(`slices/`,n)}const Ln=z({dependencies:B(V(H(),H()))});async function Rn(){let e=await G(`package.json`);if(e)try{let t=await r(e,`utf8`),{dependencies:n={}}=Sn(Ln,JSON.parse(t));if(`next`in n)return`next`;if(`nuxt`in n)return`nuxt`;if(`@sveltejs/kit`in n)return`sveltekit`}catch{}}function zn(e){return e.toLowerCase().replace(/(^|[-_\s]+)(.)?/g,(e,t,n)=>n?.toUpperCase()??``)}const Bn=z({id:H(),label:B(H()),repeatable:R(),status:R(),format:B(H()),json:V(H(),U())});async function Vn(){let e=await on();return e.hostname=`customtypes.${e.hostname}`,e}async function Hn(e){let t=await N();if(!t)return{ok:!1,error:`Not authenticated`};let n=await Vn(),r=new URL(`customtypes`,n);try{let n=await fetch(r,{headers:{Authorization:`Bearer ${t}`,repository:e}});if(!n.ok)return n.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:n.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${n.status} ${n.statusText}`};let i=await n.json(),a=W(L(Bn),i);return a.success?{ok:!0,value:a.output}:{ok:!1,error:`Invalid response from Custom Types API`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Un(e){let t=await N();if(!t)return{ok:!1,error:`Not authenticated`};let n=await Vn(),r=new URL(`slices`,n);try{let n=await fetch(r,{headers:{Authorization:`Bearer ${t}`,repository:e}});if(!n.ok)return n.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:n.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${n.status} ${n.statusText}`};let i=await n.json(),a=W(L(Fn),i);return a.success?{ok:!0,value:a.output}:{ok:!1,error:`Invalid response from Custom Types API`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Wn(){let e=await G(`package.json`);if(!e)return{ok:!1,error:`Could not find project root (no package.json found)`};let t=new URL(`.`,e),n=new URL(`customtypes/`,t),a;try{a=await i(n,{withFileTypes:!1})}catch{return{ok:!0,value:[]}}let o=[];for(let e of a){let t=new URL(`${e}/index.json`,n);try{let e=await r(t,`utf8`),n=W(Bn,JSON.parse(e));n.success&&o.push(n.output)}catch{}}return{ok:!0,value:o}}async function Gn(){let e;try{e=await In()}catch{return{ok:!1,error:`Could not find project root (no package.json found)`}}let t;try{t=await i(e,{withFileTypes:!1})}catch{return{ok:!0,value:[]}}let n=[];for(let i of t){let t=new URL(`${i}/model.json`,e);try{let e=await r(t,`utf8`),i=W(Fn,JSON.parse(e));i.success&&n.push(i.output)}catch{}}return{ok:!0,value:n}}async function Kn(e,t){let n=await N();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Vn(),i=new URL(`customtypes/insert`,r);try{let r=await fetch(i,{method:`POST`,headers:{Authorization:`Bearer ${n}`,repository:e,"Content-Type":`application/json`},body:JSON.stringify(t)});return r.ok?{ok:!0,value:void 0}:r.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:r.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${r.status} ${r.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function qn(e,t){let n=await N();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Vn(),i=new URL(`customtypes/update`,r);try{let r=await fetch(i,{method:`POST`,headers:{Authorization:`Bearer ${n}`,repository:e,"Content-Type":`application/json`},body:JSON.stringify(t)});return r.ok?{ok:!0,value:void 0}:r.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:r.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${r.status} ${r.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Jn(e,t){let n=await N();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Vn(),i=new URL(`customtypes/${encodeURIComponent(t)}`,r);try{let t=await fetch(i,{method:`DELETE`,headers:{Authorization:`Bearer ${n}`,repository:e}});return t.ok?{ok:!0,value:void 0}:t.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:t.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${t.status} ${t.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Yn(e,t){let n=await N();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Vn(),i=new URL(`slices/insert`,r);try{let r=await fetch(i,{method:`POST`,headers:{Authorization:`Bearer ${n}`,repository:e,"Content-Type":`application/json`},body:JSON.stringify(t)});return r.ok?{ok:!0,value:void 0}:r.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:r.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${r.status} ${r.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Xn(e,t){let n=await N();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Vn(),i=new URL(`slices/update`,r);try{let r=await fetch(i,{method:`POST`,headers:{Authorization:`Bearer ${n}`,repository:e,"Content-Type":`application/json`},body:JSON.stringify(t)});return r.ok?{ok:!0,value:void 0}:r.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:r.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${r.status} ${r.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Zn(e,t){let n=await N();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Vn(),i=new URL(`slices/${encodeURIComponent(t)}`,r);try{let t=await fetch(i,{method:`DELETE`,headers:{Authorization:`Bearer ${n}`,repository:e}});return t.ok?{ok:!0,value:void 0}:t.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:t.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${t.status} ${t.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Y(e,t={}){let{credentials:n=`include`}=t,r=new Headers(t.headers);if(r.set(`Accept`,`application/json`),n===`include`){let e=await N();e&&r.set(`Cookie`,`SESSION=fake_session; prismic-auth=${e}`)}!r.has(`Content-Type`)&&t.body&&r.set(`Content-Type`,`application/json`),t.body instanceof FormData&&r.delete(`Content-Type`);let i=r.get(`Content-Type`)===`application/json`?JSON.stringify(t.body):t.body,a=await fetch(e,{...t,body:i,headers:r}),o=await a.clone().json().catch(()=>a.clone().text());if(a.ok){if(!t?.schema)return{ok:!0,value:o};try{return{ok:!0,value:Sn(t.schema,o)}}catch(e){if(I(e))return{ok:!1,value:o,error:e};throw e}}else if(a.status===401)return{ok:!1,value:o,error:new Z(a)};else if(a.status===403)return{ok:!1,value:o,error:new X(a)};else return{ok:!1,value:o,error:new Qn(a)}}var Qn=class extends Error{name=`RequestError`;response;constructor(e){super(`fetch failed: ${e.url}`),this.response=e}async text(){return this.response.clone().text()}async json(){return this.response.clone().json()}get status(){return this.response.status}get statusText(){return this.response.statusText}},X=class extends Qn{},Z=class extends Qn{};async function $n(){let{values:{help:t,repo:n=await q(),json:r}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`List all locales in a Prismic repository.
|
|
169
|
-
|
|
170
|
-
By default, this command reads the repository from prismic.config.json at the
|
|
171
|
-
project root.
|
|
172
|
-
|
|
173
|
-
USAGE
|
|
174
|
-
prismic locale list [flags]
|
|
175
|
-
|
|
176
|
-
FLAGS
|
|
177
|
-
--json Output as JSON
|
|
178
|
-
-r, --repo string Repository domain
|
|
179
|
-
-h, --help Show help for command
|
|
180
|
-
|
|
181
|
-
LEARN MORE
|
|
182
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await M()){nr();return}let i=await tr(n);if(!i.ok){i.error instanceof X?nr():I(i.error)?(console.error(`Failed to list locales: Invalid response: ${K(i.error.issues)}`),process.exitCode=1):(console.error(`Failed to list locales: ${K(i.value)}`),process.exitCode=1);return}let a=i.value.results;if(r)console.info(K(a));else for(let e of a){let t=e.isMaster?` (default)`:``;console.info(`${e.id} ${e.label}${t}`)}}const er=z({results:L(z({id:H(),label:H(),customName:bn(H()),isMaster:R()}))});async function tr(e){let t=new URL(`/locale/repository/locales`,await $t());return t.searchParams.set(`repository`,e),await Y(t,{schema:er})}function nr(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function rr(){let{values:{help:t,repo:n=await q(),output:r=`prismicio-types.d.ts`}}=e({args:process.argv.slice(4),options:{output:{type:`string`,short:`o`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`Generate TypeScript types from models pushed to Prismic.
|
|
183
|
-
|
|
184
|
-
By default, this command reads the repository from prismic.config.json at the
|
|
185
|
-
project root.
|
|
168
|
+
`,r)}return r}function en(e){return{lang:e?.lang??void 0,message:e?.message,abortEarly:e?.abortEarly??void 0,abortPipeEarly:e?.abortPipeEarly??void 0}}function tn(e){return(void 0)?.get(e)}function nn(e){return(void 0)?.get(e)}function rn(e,t){return(void 0)?.get(e)?.get(t)}function an(e){let t=typeof e;return t===`string`?`"${e}"`:t===`number`||t===`bigint`||t===`boolean`?`${e}`:t===`object`||t===`function`?(e&&Object.getPrototypeOf(e)?.constructor?.name)??`null`:t}function A(e,t,n,r,i){let a=i&&`input`in i?i.input:n.value,o=i?.expected??e.expects??null,s=i?.received??an(a),c={kind:e.kind,type:e.type,input:a,expected:o,received:s,message:`Invalid ${t}: ${o?`Expected ${o} but r`:`R`}eceived ${s}`,requirement:e.requirement,path:i?.path,issues:i?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},l=e.kind===`schema`,u=i?.message??e.message??rn(e.reference,c.lang)??(l?nn(c.lang):null)??r.message??tn(c.lang);u!==void 0&&(c.message=typeof u==`function`?u(c):u),l&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}function j(e){return{version:1,vendor:`valibot`,validate(t){return e[`~run`]({value:t},en())}}}function on(e,t){return Object.hasOwn(e,t)&&t!==`__proto__`&&t!==`prototype`&&t!==`constructor`}function M(e){return e instanceof sn}var sn=class extends Error{constructor(e){super(e[0].message),this.name=`ValiError`,this.issues=e}};function cn(e){return{kind:`validation`,type:`url`,reference:cn,async:!1,expects:null,requirement(e){try{return new URL(e),!0}catch{return!1}},message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&A(this,`URL`,e,t),e}}}function ln(e,t,n){return typeof e.fallback==`function`?e.fallback(t,n):e.fallback}function un(e,t,n){return typeof e.default==`function`?e.default(t,n):e.default}function N(e,t){return{kind:`schema`,type:`array`,reference:N,expects:`Array`,async:!1,item:e,message:t,get"~standard"(){return j(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<n.length;r++){let i=n[r],a=this.item[`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else A(this,`type`,e,t);return e}}}function P(e){return{kind:`schema`,type:`boolean`,reference:P,expects:`boolean`,async:!1,message:e,get"~standard"(){return j(this)},"~run"(e,t){return typeof e.value==`boolean`?e.typed=!0:A(this,`type`,e,t),e}}}function dn(e,t){return{kind:`schema`,type:`literal`,reference:dn,expects:an(e),async:!1,literal:e,message:t,get"~standard"(){return j(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:A(this,`type`,e,t),e}}}function fn(e,t){return{kind:`schema`,type:`nullable`,reference:fn,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return j(this)},"~run"(e,t){return e.value===null&&(this.default!==void 0&&(e.value=un(this,e,t)),e.value===null)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function pn(e){return{kind:`schema`,type:`number`,reference:pn,expects:`number`,async:!1,message:e,get"~standard"(){return j(this)},"~run"(e,t){return typeof e.value==`number`&&!isNaN(e.value)?e.typed=!0:A(this,`type`,e,t),e}}}function F(e,t){return{kind:`schema`,type:`object`,reference:F,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return j(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`)for(let r in e.typed=!0,e.value={},this.entries){let i=this.entries[r];if(r in n||(i.type===`exact_optional`||i.type===`optional`||i.type===`nullish`)&&i.default!==void 0){let a=r in n?n[r]:un(i),o=i[`~run`]({value:a},t);if(o.issues){let i={type:`object`,origin:`value`,input:n,key:r,value:a};for(let t of o.issues)t.path?t.path.unshift(i):t.path=[i],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(i.fallback!==void 0)e.value[r]=ln(i);else if(i.type!==`exact_optional`&&i.type!==`optional`&&i.type!==`nullish`&&(A(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}else A(this,`type`,e,t);return e}}}function I(e,t){return{kind:`schema`,type:`optional`,reference:I,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return j(this)},"~run"(e,t){return e.value===void 0&&(this.default!==void 0&&(e.value=un(this,e,t)),e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function L(e,t,n){return{kind:`schema`,type:`record`,reference:L,expects:`Object`,async:!1,key:e,value:t,message:n,get"~standard"(){return j(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){for(let r in e.typed=!0,e.value={},n)if(on(n,r)){let i=n[r],a=this.key[`~run`]({value:r},t);if(a.issues){let o={type:`object`,origin:`key`,input:n,key:r,value:i};for(let t of a.issues)t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}let o=this.value[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}(!a.typed||!o.typed)&&(e.typed=!1),a.typed&&(e.value[a.value]=o.value)}}else A(this,`type`,e,t);return e}}}function R(e){return{kind:`schema`,type:`string`,reference:R,expects:`string`,async:!1,message:e,get"~standard"(){return j(this)},"~run"(e,t){return typeof e.value==`string`?e.typed=!0:A(this,`type`,e,t),e}}}function z(){return{kind:`schema`,type:`unknown`,reference:z,expects:`unknown`,async:!1,get"~standard"(){return j(this)},"~run"(e){return e.typed=!0,e}}}function mn(e,t,n){let r=e[`~run`]({value:t},en(n));if(r.issues)throw new sn(r.issues);return r.value}function hn(...e){return{...e[0],pipe:e,get"~standard"(){return j(this)},"~run"(t,n){for(let r of e)if(r.kind!==`metadata`){if(t.issues&&(r.kind===`schema`||r.kind===`transformation`)){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r[`~run`](t,n))}return t}}}function B(e,t,n){let r=e[`~run`]({value:t},en(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}async function V(e){let t=await Sn();return t.hostname=`${e}.${t.hostname}`,vn(t)}async function gn(){let e=await Sn();return e.hostname=`api.internal.${e.hostname}`,vn(e)}async function _n(){let e=await Sn();return e.hostname=`user-service.${e.hostname}`,vn(e)}function vn(e){let t=new URL(e);return t.pathname.endsWith(`/`)||(t.pathname+=`/`),t}const yn=new URL(`.prismic`,vn(u(l()))),bn=`https://prismic.io`;async function xn(e,t){let n={token:e,host:t?.host};await s(yn,JSON.stringify(n,null,2))}async function H(){return!!await U()}async function U(){return(await Cn())?.token}async function Sn(){try{let e=await Cn();return e?.host?new URL(e.host):new URL(bn)}catch{return new URL(bn)}}async function Cn(){try{let e=await r(yn,`utf-8`);return JSON.parse(e)}catch{return}}async function wn(){try{await t(yn)}catch{return!0}return await Cn()?(await o(yn),!0):!1}async function W(e,n={}){let{start:r=u(process.cwd()),stop:i}=n,a=vn(r);for(;;){let n=new URL(e,a);try{return await t(n),n}catch{}if(typeof i==`string`){let e=new URL(i,a);try{await t(e);return}catch{}}else if(i instanceof URL&&i.href===a.href)return;let r=new URL(`..`,a);if(r.href===a.href)return;a=r}}async function Tn(e){try{return await t(e),!0}catch{return!1}}const En=F({id:R(),type:dn(`SharedSlice`),name:R(),description:I(R()),variations:N(F({id:R(),name:R(),description:I(R()),docURL:I(R()),version:I(R()),imageUrl:I(R()),primary:I(L(R(),z())),items:I(L(R(),z()))}))});async function G(e){if(!await W(`package.json`))return{ok:!1,error:`Could not find project root (no package.json found)`};let t=await Dn(),n;try{n=await i(t,{withFileTypes:!1})}catch{return{ok:!1,error:`No slices directory found at ${t.href}`}}for(let i of n){let n=new URL(`${i}/model.json`,t);try{let t=await r(n,`utf8`),i=JSON.parse(t);if(i.id===e){let e=B(En,i);return e.success?{ok:!0,model:e.output,modelPath:n}:{ok:!1,error:`Invalid slice model at ${n.href}`}}}catch{}}return{ok:!1,error:`Slice not found: ${e}\n\nCreate it first with: prismic slice create ${e}`}}async function Dn(){let e=await kn(),t=await W(`package.json`);if(!t)throw Error(`Could not find project root (no package.json found)`);let n=new URL(`.`,t);switch(e){case`next`:if(await Tn(new URL(`src`,n)))return new URL(`src/slices/`,n);case`nuxt`:if(await Tn(new URL(`app`,n)))return new URL(`app/slices/`,n);case`sveltekit`:return new URL(`src/slices/`,n)}return new URL(`slices/`,n)}const On=F({dependencies:I(L(R(),R()))});async function kn(){let e=await W(`package.json`);if(e)try{let t=await r(e,`utf8`),{dependencies:n={}}=mn(On,JSON.parse(t));if(`next`in n)return`next`;if(`nuxt`in n)return`nuxt`;if(`@sveltejs/kit`in n)return`sveltekit`}catch{}}function An(e){return e.toLowerCase().replace(/(^|[-_\s]+)(.)?/g,(e,t,n)=>n?.toUpperCase()??``)}const jn=F({id:R(),label:I(R()),repeatable:P(),status:P(),format:I(R()),json:L(R(),z())});async function Mn(){let e=await Sn();return e.hostname=`customtypes.${e.hostname}`,e}async function Nn(e){let t=await U();if(!t)return{ok:!1,error:`Not authenticated`};let n=await Mn(),r=new URL(`customtypes`,n);try{let n=await fetch(r,{headers:{Authorization:`Bearer ${t}`,repository:e}});if(!n.ok)return n.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:n.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${n.status} ${n.statusText}`};let i=await n.json(),a=B(N(jn),i);return a.success?{ok:!0,value:a.output}:{ok:!1,error:`Invalid response from Custom Types API`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Pn(e){let t=await U();if(!t)return{ok:!1,error:`Not authenticated`};let n=await Mn(),r=new URL(`slices`,n);try{let n=await fetch(r,{headers:{Authorization:`Bearer ${t}`,repository:e}});if(!n.ok)return n.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:n.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${n.status} ${n.statusText}`};let i=await n.json(),a=B(N(En),i);return a.success?{ok:!0,value:a.output}:{ok:!1,error:`Invalid response from Custom Types API`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Fn(){let e=await W(`package.json`);if(!e)return{ok:!1,error:`Could not find project root (no package.json found)`};let t=new URL(`.`,e),n=new URL(`customtypes/`,t),a;try{a=await i(n,{withFileTypes:!1})}catch{return{ok:!0,value:[]}}let o=[];for(let e of a){let t=new URL(`${e}/index.json`,n);try{let e=await r(t,`utf8`),n=B(jn,JSON.parse(e));n.success&&o.push(n.output)}catch{}}return{ok:!0,value:o}}async function In(){let e;try{e=await Dn()}catch{return{ok:!1,error:`Could not find project root (no package.json found)`}}let t;try{t=await i(e,{withFileTypes:!1})}catch{return{ok:!0,value:[]}}let n=[];for(let i of t){let t=new URL(`${i}/model.json`,e);try{let e=await r(t,`utf8`),i=B(En,JSON.parse(e));i.success&&n.push(i.output)}catch{}}return{ok:!0,value:n}}async function Ln(e,t){let n=await U();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Mn(),i=new URL(`customtypes/insert`,r);try{let r=await fetch(i,{method:`POST`,headers:{Authorization:`Bearer ${n}`,repository:e,"Content-Type":`application/json`},body:JSON.stringify(t)});return r.ok?{ok:!0,value:void 0}:r.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:r.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${r.status} ${r.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Rn(e,t){let n=await U();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Mn(),i=new URL(`customtypes/update`,r);try{let r=await fetch(i,{method:`POST`,headers:{Authorization:`Bearer ${n}`,repository:e,"Content-Type":`application/json`},body:JSON.stringify(t)});return r.ok?{ok:!0,value:void 0}:r.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:r.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${r.status} ${r.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function zn(e,t){let n=await U();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Mn(),i=new URL(`customtypes/${encodeURIComponent(t)}`,r);try{let t=await fetch(i,{method:`DELETE`,headers:{Authorization:`Bearer ${n}`,repository:e}});return t.ok?{ok:!0,value:void 0}:t.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:t.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${t.status} ${t.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Bn(e,t){let n=await U();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Mn(),i=new URL(`slices/insert`,r);try{let r=await fetch(i,{method:`POST`,headers:{Authorization:`Bearer ${n}`,repository:e,"Content-Type":`application/json`},body:JSON.stringify(t)});return r.ok?{ok:!0,value:void 0}:r.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:r.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${r.status} ${r.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Vn(e,t){let n=await U();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Mn(),i=new URL(`slices/update`,r);try{let r=await fetch(i,{method:`POST`,headers:{Authorization:`Bearer ${n}`,repository:e,"Content-Type":`application/json`},body:JSON.stringify(t)});return r.ok?{ok:!0,value:void 0}:r.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:r.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${r.status} ${r.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Hn(e,t){let n=await U();if(!n)return{ok:!1,error:`Not authenticated`};let r=await Mn(),i=new URL(`slices/${encodeURIComponent(t)}`,r);try{let t=await fetch(i,{method:`DELETE`,headers:{Authorization:`Bearer ${n}`,repository:e}});return t.ok?{ok:!0,value:void 0}:t.status===401?{ok:!1,error:"Unauthorized. Your session may have expired. Run `prismic login` again."}:t.status===403?{ok:!1,error:`Access denied. You may not have access to repository "${e}".`}:{ok:!1,error:`API error: ${t.status} ${t.statusText}`}}catch(e){return{ok:!1,error:`Network error: ${e instanceof Error?e.message:e}`}}}async function Un(){let{values:{help:t,output:n}}=e({args:process.argv.slice(4),options:{output:{type:`string`,short:`o`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`Generate TypeScript types from local custom type and slice models.
|
|
186
169
|
|
|
187
170
|
USAGE
|
|
188
171
|
prismic codegen types [flags]
|
|
189
172
|
|
|
190
173
|
FLAGS
|
|
191
174
|
-o, --output string Output file path (default: "prismicio-types.d.ts")
|
|
192
|
-
-r, --repo string Repository domain
|
|
193
175
|
-h, --help Show help for command
|
|
194
176
|
|
|
195
177
|
EXAMPLES
|
|
196
178
|
prismic codegen types
|
|
197
|
-
prismic codegen types --
|
|
198
|
-
prismic codegen types --output custom.d.ts`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await M()){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1;return}let[i,a,o]=await Promise.all([Hn(n),Un(n),tr(n)]);if(!i.ok){console.error(`Failed to fetch custom types: ${i.error}`),process.exitCode=1;return}if(!a.ok){console.error(`Failed to fetch slices: ${a.error}`),process.exitCode=1;return}if(!o.ok){console.error(`Failed to fetch locales: ${o.error}`),process.exitCode=1;return}let c=i.value,l=a.value;await s(r,`// Code generated by prismic-ts-codegen. DO NOT EDIT.
|
|
179
|
+
prismic codegen types --output custom.d.ts`);return}try{await K({output:n}),console.info(`Generated types written to ${n??`prismicio-types.d.ts`}`)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exitCode=1}}async function K(e){let t=e?.output??`prismicio-types.d.ts`,[n,r]=await Promise.all([Fn(),In()]);if(!n.ok)throw Error(`failed to read local custom types: ${n.error}`);if(!r.ok)throw Error(`failed to read local slices: ${r.error}`);let i=n.value,a=r.value;await s(t,`// Code generated by prismic-ts-codegen. DO NOT EDIT.
|
|
199
180
|
|
|
200
|
-
|
|
181
|
+
`+$t({customTypeModels:i,sharedSliceModels:a,typesProvider:`@prismicio/client`,clientIntegration:{includeCreateClientInterface:i.length>0||a.length>0,includeContentNamespace:!0}}))}async function Wn(){let{positionals:[t]}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`types`:await Un();break;default:t&&(console.error(`Unknown codegen subcommand: ${t}\n`),process.exitCode=1),console.info(`Generate code from Prismic models.
|
|
201
182
|
|
|
202
183
|
USAGE
|
|
203
184
|
prismic codegen <command> [flags]
|
|
@@ -209,7 +190,7 @@ FLAGS
|
|
|
209
190
|
-h, --help Show help for command
|
|
210
191
|
|
|
211
192
|
LEARN MORE
|
|
212
|
-
Use \`prismic codegen <command> --help\` for more information about a command.`)}}function
|
|
193
|
+
Use \`prismic codegen <command> --help\` for more information about a command.`)}}function q(e){return JSON.stringify(e,null,2)}function J(e){return e.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}const Gn=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Kn(){let{values:{help:t,tab:n,label:i,default:a,"true-label":o,"false-label":c,types:l,"no-types":u},positionals:[d,f]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},default:{type:`boolean`},"true-label":{type:`string`},"false-label":{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a boolean (toggle) field to an existing custom type.
|
|
213
194
|
|
|
214
195
|
USAGE
|
|
215
196
|
prismic custom-type add-field boolean <type-id> <field-id> [flags]
|
|
@@ -218,20 +199,24 @@ ARGUMENTS
|
|
|
218
199
|
type-id Custom type identifier (required)
|
|
219
200
|
field-id Field identifier (required)
|
|
220
201
|
|
|
202
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
203
|
+
|
|
221
204
|
FLAGS
|
|
222
205
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
223
206
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
224
207
|
--default Set default value to true
|
|
225
208
|
--true-label string Label shown when toggle is on
|
|
226
209
|
--false-label string Label shown when toggle is off
|
|
210
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
211
|
+
--no-types Skip type generation
|
|
227
212
|
-h, --help Show help for command
|
|
228
213
|
|
|
229
214
|
EXAMPLES
|
|
230
215
|
prismic custom-type add-field boolean homepage featured
|
|
231
216
|
prismic custom-type add-field boolean article published --default
|
|
232
|
-
prismic custom-type add-field boolean product available --true-label "In Stock" --false-label "Out of Stock"`);return}if(!
|
|
233
|
-
`),console.error(`Usage: prismic custom-type add-field boolean <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
234
|
-
`),console.error(`Usage: prismic custom-type add-field boolean <type-id> <field-id>`),process.exitCode=1;return}let
|
|
217
|
+
prismic custom-type add-field boolean product available --true-label "In Stock" --false-label "Out of Stock"`);return}if(!d){console.error(`Missing required argument: type-id
|
|
218
|
+
`),console.error(`Usage: prismic custom-type add-field boolean <type-id> <field-id>`),process.exitCode=1;return}if(!f){console.error(`Missing required argument: field-id
|
|
219
|
+
`),console.error(`Usage: prismic custom-type add-field boolean <type-id> <field-id>`),process.exitCode=1;return}let p=await W(`package.json`);if(!p){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let m=new URL(`customtypes/${d}/index.json`,p),h;try{let e=await r(m,`utf8`),t=B(Gn,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${m.href}`),process.exitCode=1;return}h=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${d}\n`),console.error(`Create it first with: prismic custom-type create ${d}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let g=Object.keys(h.json),_=n??g[0]??`Main`;h.json[_]||(h.json[_]={});for(let[e,t]of Object.entries(h.json))if(t[f]){console.error(`Field "${f}" already exists in tab "${e}"`),process.exitCode=1;return}let v={type:`Boolean`,config:{label:i??J(f),...a&&{default_value:!0},...o&&{placeholder_true:o},...c&&{placeholder_false:c}}};h.json[_][f]=v;try{await s(m,q(h))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${f}" (Boolean) to "${_}" tab in ${d}`),!u)try{await K({output:l}),console.info(`Updated types in ${l??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const qn=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Jn(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a color picker field to an existing custom type.
|
|
235
220
|
|
|
236
221
|
USAGE
|
|
237
222
|
prismic custom-type add-field color <type-id> <field-id> [flags]
|
|
@@ -240,18 +225,22 @@ ARGUMENTS
|
|
|
240
225
|
type-id Custom type identifier (required)
|
|
241
226
|
field-id Field identifier (required)
|
|
242
227
|
|
|
228
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
229
|
+
|
|
243
230
|
FLAGS
|
|
244
231
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
245
232
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
246
233
|
-p, --placeholder string Placeholder text
|
|
234
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
235
|
+
--no-types Skip type generation
|
|
247
236
|
-h, --help Show help for command
|
|
248
237
|
|
|
249
238
|
EXAMPLES
|
|
250
239
|
prismic custom-type add-field color homepage bg_color
|
|
251
240
|
prismic custom-type add-field color homepage accent --tab "Design"
|
|
252
|
-
prismic custom-type add-field color homepage text_color --label "Text Color"`);return}if(!
|
|
253
|
-
`),console.error(`Usage: prismic custom-type add-field color <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
254
|
-
`),console.error(`Usage: prismic custom-type add-field color <type-id> <field-id>`),process.exitCode=1;return}let
|
|
241
|
+
prismic custom-type add-field color homepage text_color --label "Text Color"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
242
|
+
`),console.error(`Usage: prismic custom-type add-field color <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
243
|
+
`),console.error(`Usage: prismic custom-type add-field color <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(qn,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${l}\n`),console.error(`Create it first with: prismic custom-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`Color`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (Color) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Yn=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Xn(){let{values:{help:t,tab:n,label:i,placeholder:a,default:o,types:c,"no-types":l},positionals:[u,d]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},default:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a date field to an existing custom type.
|
|
255
244
|
|
|
256
245
|
USAGE
|
|
257
246
|
prismic custom-type add-field date <type-id> <field-id> [flags]
|
|
@@ -260,19 +249,23 @@ ARGUMENTS
|
|
|
260
249
|
type-id Custom type identifier (required)
|
|
261
250
|
field-id Field identifier (required)
|
|
262
251
|
|
|
252
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
253
|
+
|
|
263
254
|
FLAGS
|
|
264
255
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
265
256
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
266
257
|
-p, --placeholder string Placeholder text
|
|
267
258
|
--default string Default date value (YYYY-MM-DD format)
|
|
259
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
260
|
+
--no-types Skip type generation
|
|
268
261
|
-h, --help Show help for command
|
|
269
262
|
|
|
270
263
|
EXAMPLES
|
|
271
264
|
prismic custom-type add-field date homepage publish_date
|
|
272
265
|
prismic custom-type add-field date event start_date --tab "Schedule"
|
|
273
|
-
prismic custom-type add-field date article date --label "Publication Date" --default "2024-01-01"`);return}if(!
|
|
274
|
-
`),console.error(`Usage: prismic custom-type add-field date <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
275
|
-
`),console.error(`Usage: prismic custom-type add-field date <type-id> <field-id>`),process.exitCode=1;return}let
|
|
266
|
+
prismic custom-type add-field date article date --label "Publication Date" --default "2024-01-01"`);return}if(!u){console.error(`Missing required argument: type-id
|
|
267
|
+
`),console.error(`Usage: prismic custom-type add-field date <type-id> <field-id>`),process.exitCode=1;return}if(!d){console.error(`Missing required argument: field-id
|
|
268
|
+
`),console.error(`Usage: prismic custom-type add-field date <type-id> <field-id>`),process.exitCode=1;return}let f=await W(`package.json`);if(!f){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let p=new URL(`customtypes/${u}/index.json`,f),m;try{let e=await r(p,`utf8`),t=B(Yn,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${p.href}`),process.exitCode=1;return}m=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${u}\n`),console.error(`Create it first with: prismic custom-type create ${u}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let h=Object.keys(m.json),g=n??h[0]??`Main`;m.json[g]||(m.json[g]={});for(let[e,t]of Object.entries(m.json))if(t[d]){console.error(`Field "${d}" already exists in tab "${e}"`),process.exitCode=1;return}let _={type:`Date`,config:{label:i??J(d),...a&&{placeholder:a},...o&&{default:o}}};m.json[g][d]=_;try{await s(p,q(m))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${d}" (Date) to "${g}" tab in ${u}`),!l)try{await K({output:c}),console.info(`Updated types in ${c??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Zn=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Qn(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add an embed field to an existing custom type.
|
|
276
269
|
|
|
277
270
|
USAGE
|
|
278
271
|
prismic custom-type add-field embed <type-id> <field-id> [flags]
|
|
@@ -281,18 +274,22 @@ ARGUMENTS
|
|
|
281
274
|
type-id Custom type identifier (required)
|
|
282
275
|
field-id Field identifier (required)
|
|
283
276
|
|
|
277
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
278
|
+
|
|
284
279
|
FLAGS
|
|
285
280
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
286
281
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
287
282
|
-p, --placeholder string Placeholder text
|
|
283
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
284
|
+
--no-types Skip type generation
|
|
288
285
|
-h, --help Show help for command
|
|
289
286
|
|
|
290
287
|
EXAMPLES
|
|
291
288
|
prismic custom-type add-field embed homepage video
|
|
292
289
|
prismic custom-type add-field embed homepage youtube --tab "Media"
|
|
293
|
-
prismic custom-type add-field embed homepage media --label "Media Embed"`);return}if(!
|
|
294
|
-
`),console.error(`Usage: prismic custom-type add-field embed <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
295
|
-
`),console.error(`Usage: prismic custom-type add-field embed <type-id> <field-id>`),process.exitCode=1;return}let
|
|
290
|
+
prismic custom-type add-field embed homepage media --label "Media Embed"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
291
|
+
`),console.error(`Usage: prismic custom-type add-field embed <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
292
|
+
`),console.error(`Usage: prismic custom-type add-field embed <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(Zn,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${l}\n`),console.error(`Create it first with: prismic custom-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`Embed`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (Embed) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const $n=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function er(){let{values:{help:t,tab:n,label:i,types:a,"no-types":o},positionals:[c,l]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a geo-point (location) field to an existing custom type.
|
|
296
293
|
|
|
297
294
|
USAGE
|
|
298
295
|
prismic custom-type add-field geo-point <type-id> <field-id> [flags]
|
|
@@ -301,17 +298,21 @@ ARGUMENTS
|
|
|
301
298
|
type-id Custom type identifier (required)
|
|
302
299
|
field-id Field identifier (required)
|
|
303
300
|
|
|
301
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
302
|
+
|
|
304
303
|
FLAGS
|
|
305
304
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
306
305
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
306
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
307
|
+
--no-types Skip type generation
|
|
307
308
|
-h, --help Show help for command
|
|
308
309
|
|
|
309
310
|
EXAMPLES
|
|
310
311
|
prismic custom-type add-field geo-point homepage location
|
|
311
312
|
prismic custom-type add-field geo-point store address --tab "Details"
|
|
312
|
-
prismic custom-type add-field geo-point event venue --label "Event Venue"`);return}if(!
|
|
313
|
-
`),console.error(`Usage: prismic custom-type add-field geo-point <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
314
|
-
`),console.error(`Usage: prismic custom-type add-field geo-point <type-id> <field-id>`),process.exitCode=1;return}let
|
|
313
|
+
prismic custom-type add-field geo-point event venue --label "Event Venue"`);return}if(!c){console.error(`Missing required argument: type-id
|
|
314
|
+
`),console.error(`Usage: prismic custom-type add-field geo-point <type-id> <field-id>`),process.exitCode=1;return}if(!l){console.error(`Missing required argument: field-id
|
|
315
|
+
`),console.error(`Usage: prismic custom-type add-field geo-point <type-id> <field-id>`),process.exitCode=1;return}let u=await W(`package.json`);if(!u){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let d=new URL(`customtypes/${c}/index.json`,u),f;try{let e=await r(d,`utf8`),t=B($n,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${d.href}`),process.exitCode=1;return}f=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${c}\n`),console.error(`Create it first with: prismic custom-type create ${c}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let p=Object.keys(f.json),m=n??p[0]??`Main`;f.json[m]||(f.json[m]={});for(let[e,t]of Object.entries(f.json))if(t[l]){console.error(`Field "${l}" already exists in tab "${e}"`),process.exitCode=1;return}let h={type:`GeoPoint`,config:{label:i??J(l)}};f.json[m][l]=h;try{await s(d,q(f))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${l}" (GeoPoint) to "${m}" tab in ${c}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const tr=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function nr(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add an image field to an existing custom type.
|
|
315
316
|
|
|
316
317
|
USAGE
|
|
317
318
|
prismic custom-type add-field image <type-id> <field-id> [flags]
|
|
@@ -320,18 +321,22 @@ ARGUMENTS
|
|
|
320
321
|
type-id Custom type identifier (required)
|
|
321
322
|
field-id Field identifier (required)
|
|
322
323
|
|
|
324
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
325
|
+
|
|
323
326
|
FLAGS
|
|
324
327
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
325
328
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
326
329
|
-p, --placeholder string Placeholder text
|
|
330
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
331
|
+
--no-types Skip type generation
|
|
327
332
|
-h, --help Show help for command
|
|
328
333
|
|
|
329
334
|
EXAMPLES
|
|
330
335
|
prismic custom-type add-field image homepage hero
|
|
331
336
|
prismic custom-type add-field image article thumbnail --tab "Media"
|
|
332
|
-
prismic custom-type add-field image product photo --label "Product Photo"`);return}if(!
|
|
333
|
-
`),console.error(`Usage: prismic custom-type add-field image <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
334
|
-
`),console.error(`Usage: prismic custom-type add-field image <type-id> <field-id>`),process.exitCode=1;return}let
|
|
337
|
+
prismic custom-type add-field image product photo --label "Product Photo"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
338
|
+
`),console.error(`Usage: prismic custom-type add-field image <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
339
|
+
`),console.error(`Usage: prismic custom-type add-field image <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(tr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${l}\n`),console.error(`Create it first with: prismic custom-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`Image`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (Image) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const rr=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function ir(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a key-text (single-line text) field to an existing custom type.
|
|
335
340
|
|
|
336
341
|
USAGE
|
|
337
342
|
prismic custom-type add-field key-text <type-id> <field-id> [flags]
|
|
@@ -340,18 +345,22 @@ ARGUMENTS
|
|
|
340
345
|
type-id Custom type identifier (required)
|
|
341
346
|
field-id Field identifier (required)
|
|
342
347
|
|
|
348
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
349
|
+
|
|
343
350
|
FLAGS
|
|
344
351
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
345
352
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
346
353
|
-p, --placeholder string Placeholder text
|
|
354
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
355
|
+
--no-types Skip type generation
|
|
347
356
|
-h, --help Show help for command
|
|
348
357
|
|
|
349
358
|
EXAMPLES
|
|
350
359
|
prismic custom-type add-field key-text homepage title
|
|
351
360
|
prismic custom-type add-field key-text homepage meta_title --tab "SEO"
|
|
352
|
-
prismic custom-type add-field key-text homepage subtitle --label "Subtitle" --placeholder "Enter subtitle"`);return}if(!
|
|
353
|
-
`),console.error(`Usage: prismic custom-type add-field key-text <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
354
|
-
`),console.error(`Usage: prismic custom-type add-field key-text <type-id> <field-id>`),process.exitCode=1;return}let
|
|
361
|
+
prismic custom-type add-field key-text homepage subtitle --label "Subtitle" --placeholder "Enter subtitle"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
362
|
+
`),console.error(`Usage: prismic custom-type add-field key-text <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
363
|
+
`),console.error(`Usage: prismic custom-type add-field key-text <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(rr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${l}\n`),console.error(`Create it first with: prismic custom-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`Text`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (Text) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const ar=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function or(){let{values:{help:t,tab:n,label:i,placeholder:a,variation:o,"allow-text":c,"allow-target-blank":l,repeatable:u,types:d,"no-types":f},positionals:[p,m]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},variation:{type:`string`,multiple:!0},"allow-text":{type:`boolean`},"allow-target-blank":{type:`boolean`},repeatable:{type:`boolean`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a link field to an existing custom type.
|
|
355
364
|
|
|
356
365
|
USAGE
|
|
357
366
|
prismic custom-type add-field link <type-id> <field-id> [flags]
|
|
@@ -360,6 +369,8 @@ ARGUMENTS
|
|
|
360
369
|
type-id Custom type identifier (required)
|
|
361
370
|
field-id Field identifier (required)
|
|
362
371
|
|
|
372
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
373
|
+
|
|
363
374
|
FLAGS
|
|
364
375
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
365
376
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
@@ -368,15 +379,17 @@ FLAGS
|
|
|
368
379
|
--allow-text Allow text with link
|
|
369
380
|
--allow-target-blank Allow opening link in new tab
|
|
370
381
|
--repeatable Allow multiple links
|
|
382
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
383
|
+
--no-types Skip type generation
|
|
371
384
|
-h, --help Show help for command
|
|
372
385
|
|
|
373
386
|
EXAMPLES
|
|
374
387
|
prismic custom-type add-field link homepage button
|
|
375
388
|
prismic custom-type add-field link homepage cta --allow-text
|
|
376
389
|
prismic custom-type add-field link homepage cta --variation Primary --variation Secondary
|
|
377
|
-
prismic custom-type add-field link homepage links --repeatable`);return}if(!
|
|
378
|
-
`),console.error(`Usage: prismic custom-type add-field link <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
379
|
-
`),console.error(`Usage: prismic custom-type add-field link <type-id> <field-id>`),process.exitCode=1;return}let
|
|
390
|
+
prismic custom-type add-field link homepage links --repeatable`);return}if(!p){console.error(`Missing required argument: type-id
|
|
391
|
+
`),console.error(`Usage: prismic custom-type add-field link <type-id> <field-id>`),process.exitCode=1;return}if(!m){console.error(`Missing required argument: field-id
|
|
392
|
+
`),console.error(`Usage: prismic custom-type add-field link <type-id> <field-id>`),process.exitCode=1;return}let h=await W(`package.json`);if(!h){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let g=new URL(`customtypes/${p}/index.json`,h),_;try{let e=await r(g,`utf8`),t=B(ar,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${g.href}`),process.exitCode=1;return}_=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${p}\n`),console.error(`Create it first with: prismic custom-type create ${p}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let v=Object.keys(_.json),y=n??v[0]??`Main`;_.json[y]||(_.json[y]={});for(let[e,t]of Object.entries(_.json))if(t[m]){console.error(`Field "${m}" already exists in tab "${e}"`),process.exitCode=1;return}let b={type:`Link`,config:{label:i??J(m),...a&&{placeholder:a},...o&&o.length>0&&{variants:o},...c&&{allowText:!0},...l&&{allowTargetBlank:!0},...u&&{repeat:!0}}};_.json[y][m]=b;try{await s(g,q(_))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${m}" (Link) to "${y}" tab in ${p}`),!f)try{await K({output:d}),console.info(`Updated types in ${d??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const sr=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function cr(){let{values:{help:t,tab:n,label:i,placeholder:a,min:o,max:c,step:l,types:u,"no-types":d},positionals:[f,p]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},min:{type:`string`},max:{type:`string`},step:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a number field to an existing custom type.
|
|
380
393
|
|
|
381
394
|
USAGE
|
|
382
395
|
prismic custom-type add-field number <type-id> <field-id> [flags]
|
|
@@ -385,6 +398,8 @@ ARGUMENTS
|
|
|
385
398
|
type-id Custom type identifier (required)
|
|
386
399
|
field-id Field identifier (required)
|
|
387
400
|
|
|
401
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
402
|
+
|
|
388
403
|
FLAGS
|
|
389
404
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
390
405
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
@@ -392,14 +407,16 @@ FLAGS
|
|
|
392
407
|
--min number Minimum value
|
|
393
408
|
--max number Maximum value
|
|
394
409
|
--step number Step increment
|
|
410
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
411
|
+
--no-types Skip type generation
|
|
395
412
|
-h, --help Show help for command
|
|
396
413
|
|
|
397
414
|
EXAMPLES
|
|
398
415
|
prismic custom-type add-field number homepage price
|
|
399
416
|
prismic custom-type add-field number product quantity --min 0 --max 100
|
|
400
|
-
prismic custom-type add-field number settings rating --min 1 --max 5 --step 1`);return}if(!
|
|
401
|
-
`),console.error(`Usage: prismic custom-type add-field number <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
402
|
-
`),console.error(`Usage: prismic custom-type add-field number <type-id> <field-id>`),process.exitCode=1;return}let
|
|
417
|
+
prismic custom-type add-field number settings rating --min 1 --max 5 --step 1`);return}if(!f){console.error(`Missing required argument: type-id
|
|
418
|
+
`),console.error(`Usage: prismic custom-type add-field number <type-id> <field-id>`),process.exitCode=1;return}if(!p){console.error(`Missing required argument: field-id
|
|
419
|
+
`),console.error(`Usage: prismic custom-type add-field number <type-id> <field-id>`),process.exitCode=1;return}let m=o===void 0?void 0:Number(o),h=c===void 0?void 0:Number(c),g=l===void 0?void 0:Number(l);if(o!==void 0&&Number.isNaN(m)){console.error(`Invalid --min value: must be a number`),process.exitCode=1;return}if(c!==void 0&&Number.isNaN(h)){console.error(`Invalid --max value: must be a number`),process.exitCode=1;return}if(l!==void 0&&Number.isNaN(g)){console.error(`Invalid --step value: must be a number`),process.exitCode=1;return}let _=await W(`package.json`);if(!_){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let v=new URL(`customtypes/${f}/index.json`,_),y;try{let e=await r(v,`utf8`),t=B(sr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${v.href}`),process.exitCode=1;return}y=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${f}\n`),console.error(`Create it first with: prismic custom-type create ${f}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let b=Object.keys(y.json),x=n??b[0]??`Main`;y.json[x]||(y.json[x]={});for(let[e,t]of Object.entries(y.json))if(t[p]){console.error(`Field "${p}" already exists in tab "${e}"`),process.exitCode=1;return}let ee={type:`Number`,config:{label:i??J(p),...a&&{placeholder:a},...m!==void 0&&{min:m},...h!==void 0&&{max:h},...g!==void 0&&{step:g}}};y.json[x][p]=ee;try{await s(v,q(y))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${p}" (Number) to "${x}" tab in ${f}`),!d)try{await K({output:u}),console.info(`Updated types in ${u??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const lr=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function ur(){let{values:{help:t,tab:n,label:i,placeholder:a,single:o,multi:c,"allow-target-blank":l,types:u,"no-types":d},positionals:[f,p]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},single:{type:`string`},multi:{type:`string`},"allow-target-blank":{type:`boolean`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a rich text field to an existing custom type.
|
|
403
420
|
|
|
404
421
|
USAGE
|
|
405
422
|
prismic custom-type add-field rich-text <type-id> <field-id> [flags]
|
|
@@ -408,6 +425,8 @@ ARGUMENTS
|
|
|
408
425
|
type-id Custom type identifier (required)
|
|
409
426
|
field-id Field identifier (required)
|
|
410
427
|
|
|
428
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
429
|
+
|
|
411
430
|
FLAGS
|
|
412
431
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
413
432
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
@@ -415,6 +434,8 @@ FLAGS
|
|
|
415
434
|
--single string Allowed block types for single-line (comma-separated)
|
|
416
435
|
--multi string Allowed block types for multi-line (comma-separated)
|
|
417
436
|
--allow-target-blank Allow opening links in new tab
|
|
437
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
438
|
+
--no-types Skip type generation
|
|
418
439
|
-h, --help Show help for command
|
|
419
440
|
|
|
420
441
|
BLOCK TYPES
|
|
@@ -426,9 +447,9 @@ EXAMPLES
|
|
|
426
447
|
prismic custom-type add-field rich-text homepage body
|
|
427
448
|
prismic custom-type add-field rich-text article content --multi "paragraph,heading2,heading3,strong,em,hyperlink"
|
|
428
449
|
prismic custom-type add-field rich-text page tagline --single "heading1"
|
|
429
|
-
prismic custom-type add-field rich-text blog post --multi "paragraph,strong,em,hyperlink" --allow-target-blank`);return}if(!
|
|
430
|
-
`),console.error(`Usage: prismic custom-type add-field rich-text <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
431
|
-
`),console.error(`Usage: prismic custom-type add-field rich-text <type-id> <field-id>`),process.exitCode=1;return}let
|
|
450
|
+
prismic custom-type add-field rich-text blog post --multi "paragraph,strong,em,hyperlink" --allow-target-blank`);return}if(!f){console.error(`Missing required argument: type-id
|
|
451
|
+
`),console.error(`Usage: prismic custom-type add-field rich-text <type-id> <field-id>`),process.exitCode=1;return}if(!p){console.error(`Missing required argument: field-id
|
|
452
|
+
`),console.error(`Usage: prismic custom-type add-field rich-text <type-id> <field-id>`),process.exitCode=1;return}let m=await W(`package.json`);if(!m){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let h=new URL(`customtypes/${f}/index.json`,m),g;try{let e=await r(h,`utf8`),t=B(lr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${h.href}`),process.exitCode=1;return}g=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${f}\n`),console.error(`Create it first with: prismic custom-type create ${f}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let _=Object.keys(g.json),v=n??_[0]??`Main`;g.json[v]||(g.json[v]={});for(let[e,t]of Object.entries(g.json))if(t[p]){console.error(`Field "${p}" already exists in tab "${e}"`),process.exitCode=1;return}let y={type:`StructuredText`,config:{label:i??J(p),...a&&{placeholder:a},...o&&{single:o},...c&&{multi:c},...l&&{allowTargetBlank:!0}}};g.json[v][p]=y;try{await s(h,q(g))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${p}" (StructuredText) to "${v}" tab in ${f}`),!d)try{await K({output:u}),console.info(`Updated types in ${u??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const dr=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function fr(){let{values:{help:t,tab:n,label:i,placeholder:a,option:o,default:c,types:l,"no-types":u},positionals:[d,f]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},option:{type:`string`,multiple:!0},default:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a select (dropdown) field to an existing custom type.
|
|
432
453
|
|
|
433
454
|
USAGE
|
|
434
455
|
prismic custom-type add-field select <type-id> <field-id> [flags]
|
|
@@ -437,20 +458,24 @@ ARGUMENTS
|
|
|
437
458
|
type-id Custom type identifier (required)
|
|
438
459
|
field-id Field identifier (required)
|
|
439
460
|
|
|
461
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
462
|
+
|
|
440
463
|
FLAGS
|
|
441
464
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
442
465
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
443
466
|
-p, --placeholder string Placeholder text
|
|
444
467
|
--option string Add an option (can be used multiple times)
|
|
445
468
|
--default string Default selected value
|
|
469
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
470
|
+
--no-types Skip type generation
|
|
446
471
|
-h, --help Show help for command
|
|
447
472
|
|
|
448
473
|
EXAMPLES
|
|
449
474
|
prismic custom-type add-field select homepage layout --option "full" --option "sidebar"
|
|
450
475
|
prismic custom-type add-field select product size --option "small" --option "medium" --option "large" --default "medium"
|
|
451
|
-
prismic custom-type add-field select article status --option "draft" --option "published" --label "Status"`);return}if(!
|
|
452
|
-
`),console.error(`Usage: prismic custom-type add-field select <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
453
|
-
`),console.error(`Usage: prismic custom-type add-field select <type-id> <field-id>`),process.exitCode=1;return}let
|
|
476
|
+
prismic custom-type add-field select article status --option "draft" --option "published" --label "Status"`);return}if(!d){console.error(`Missing required argument: type-id
|
|
477
|
+
`),console.error(`Usage: prismic custom-type add-field select <type-id> <field-id>`),process.exitCode=1;return}if(!f){console.error(`Missing required argument: field-id
|
|
478
|
+
`),console.error(`Usage: prismic custom-type add-field select <type-id> <field-id>`),process.exitCode=1;return}let p=await W(`package.json`);if(!p){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let m=new URL(`customtypes/${d}/index.json`,p),h;try{let e=await r(m,`utf8`),t=B(dr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${m.href}`),process.exitCode=1;return}h=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${d}\n`),console.error(`Create it first with: prismic custom-type create ${d}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let g=Object.keys(h.json),_=n??g[0]??`Main`;h.json[_]||(h.json[_]={});for(let[e,t]of Object.entries(h.json))if(t[f]){console.error(`Field "${f}" already exists in tab "${e}"`),process.exitCode=1;return}let v={type:`Select`,config:{label:i??J(f),...a&&{placeholder:a},...o&&o.length>0&&{options:o},...c&&{default_value:c}}};h.json[_][f]=v;try{await s(m,q(h))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${f}" (Select) to "${_}" tab in ${d}`),!u)try{await K({output:l}),console.info(`Updated types in ${l??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const pr=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function mr(){let{values:{help:t,tab:n,label:i,placeholder:a,default:o,types:c,"no-types":l},positionals:[u,d]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},default:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a timestamp (date and time) field to an existing custom type.
|
|
454
479
|
|
|
455
480
|
USAGE
|
|
456
481
|
prismic custom-type add-field timestamp <type-id> <field-id> [flags]
|
|
@@ -459,19 +484,23 @@ ARGUMENTS
|
|
|
459
484
|
type-id Custom type identifier (required)
|
|
460
485
|
field-id Field identifier (required)
|
|
461
486
|
|
|
487
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
488
|
+
|
|
462
489
|
FLAGS
|
|
463
490
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
464
491
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
465
492
|
-p, --placeholder string Placeholder text
|
|
466
493
|
--default string Default timestamp value (ISO 8601 format)
|
|
494
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
495
|
+
--no-types Skip type generation
|
|
467
496
|
-h, --help Show help for command
|
|
468
497
|
|
|
469
498
|
EXAMPLES
|
|
470
499
|
prismic custom-type add-field timestamp homepage event_time
|
|
471
500
|
prismic custom-type add-field timestamp event start --tab "Schedule"
|
|
472
|
-
prismic custom-type add-field timestamp article published_at --label "Published At"`);return}if(!
|
|
473
|
-
`),console.error(`Usage: prismic custom-type add-field timestamp <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
474
|
-
`),console.error(`Usage: prismic custom-type add-field timestamp <type-id> <field-id>`),process.exitCode=1;return}let
|
|
501
|
+
prismic custom-type add-field timestamp article published_at --label "Published At"`);return}if(!u){console.error(`Missing required argument: type-id
|
|
502
|
+
`),console.error(`Usage: prismic custom-type add-field timestamp <type-id> <field-id>`),process.exitCode=1;return}if(!d){console.error(`Missing required argument: field-id
|
|
503
|
+
`),console.error(`Usage: prismic custom-type add-field timestamp <type-id> <field-id>`),process.exitCode=1;return}let f=await W(`package.json`);if(!f){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let p=new URL(`customtypes/${u}/index.json`,f),m;try{let e=await r(p,`utf8`),t=B(pr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${p.href}`),process.exitCode=1;return}m=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${u}\n`),console.error(`Create it first with: prismic custom-type create ${u}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let h=Object.keys(m.json),g=n??h[0]??`Main`;m.json[g]||(m.json[g]={});for(let[e,t]of Object.entries(m.json))if(t[d]){console.error(`Field "${d}" already exists in tab "${e}"`),process.exitCode=1;return}let _={type:`Timestamp`,config:{label:i??J(d),...a&&{placeholder:a},...o&&{default:o}}};m.json[g][d]=_;try{await s(p,q(m))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${d}" (Timestamp) to "${g}" tab in ${u}`),!l)try{await K({output:c}),console.info(`Updated types in ${c??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const hr=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function gr(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a UID (unique identifier) field to an existing custom type.
|
|
475
504
|
|
|
476
505
|
USAGE
|
|
477
506
|
prismic custom-type add-field uid <type-id> <field-id> [flags]
|
|
@@ -480,18 +509,22 @@ ARGUMENTS
|
|
|
480
509
|
type-id Custom type identifier (required)
|
|
481
510
|
field-id Field identifier (required)
|
|
482
511
|
|
|
512
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
513
|
+
|
|
483
514
|
FLAGS
|
|
484
515
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
485
516
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
486
517
|
-p, --placeholder string Placeholder text
|
|
518
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
519
|
+
--no-types Skip type generation
|
|
487
520
|
-h, --help Show help for command
|
|
488
521
|
|
|
489
522
|
EXAMPLES
|
|
490
523
|
prismic custom-type add-field uid page uid
|
|
491
524
|
prismic custom-type add-field uid article slug --label "URL Slug"
|
|
492
|
-
prismic custom-type add-field uid product sku --placeholder "Enter unique SKU"`);return}if(!
|
|
493
|
-
`),console.error(`Usage: prismic custom-type add-field uid <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
494
|
-
`),console.error(`Usage: prismic custom-type add-field uid <type-id> <field-id>`),process.exitCode=1;return}let
|
|
525
|
+
prismic custom-type add-field uid product sku --placeholder "Enter unique SKU"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
526
|
+
`),console.error(`Usage: prismic custom-type add-field uid <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
527
|
+
`),console.error(`Usage: prismic custom-type add-field uid <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(hr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${l}\n`),console.error(`Create it first with: prismic custom-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`UID`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (UID) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function _r(){let{positionals:[t]}=e({args:process.argv.slice(4),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`boolean`:await Kn();break;case`color`:await Jn();break;case`date`:await Xn();break;case`embed`:await Qn();break;case`geo-point`:await er();break;case`image`:await nr();break;case`key-text`:await ir();break;case`link`:await or();break;case`number`:await cr();break;case`rich-text`:await ur();break;case`select`:await fr();break;case`timestamp`:await mr();break;case`uid`:await gr();break;default:t&&(console.error(`Unknown field type: ${t}\n`),process.exitCode=1),console.info(`Add a field to an existing custom type.
|
|
495
528
|
|
|
496
529
|
USAGE
|
|
497
530
|
prismic custom-type add-field <field-type> <type-id> <field-id> [flags]
|
|
@@ -521,7 +554,7 @@ EXAMPLES
|
|
|
521
554
|
prismic custom-type add-field key-text homepage meta_title --tab "SEO"
|
|
522
555
|
prismic custom-type add-field link homepage button --allow-text
|
|
523
556
|
prismic custom-type add-field rich-text homepage body --multi "paragraph,heading2,strong,em"
|
|
524
|
-
prismic custom-type add-field select homepage layout --option "full" --option "sidebar"`)}}const
|
|
557
|
+
prismic custom-type add-field select homepage layout --option "full" --option "sidebar"`)}}const vr=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function yr(){let{values:{help:t,"slice-zone":n,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(4),options:{"slice-zone":{type:`string`,short:`z`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Connect a shared slice to a custom type's slice zone.
|
|
525
558
|
|
|
526
559
|
USAGE
|
|
527
560
|
prismic custom-type connect-slice <type-id> <slice-id> [flags]
|
|
@@ -530,16 +563,20 @@ ARGUMENTS
|
|
|
530
563
|
type-id Custom type identifier (required)
|
|
531
564
|
slice-id Slice identifier (required)
|
|
532
565
|
|
|
566
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
567
|
+
|
|
533
568
|
FLAGS
|
|
534
569
|
-z, --slice-zone string Target slice zone field ID (default: "slices")
|
|
570
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
571
|
+
--no-types Skip type generation
|
|
535
572
|
-h, --help Show help for command
|
|
536
573
|
|
|
537
574
|
EXAMPLES
|
|
538
575
|
prismic custom-type connect-slice homepage CallToAction
|
|
539
576
|
prismic custom-type connect-slice homepage CallToAction --slice-zone slices
|
|
540
|
-
prismic custom-type connect-slice article HeroSection -z body`);return}if(!
|
|
541
|
-
`),console.error(`Usage: prismic custom-type connect-slice <type-id> <slice-id>`),process.exitCode=1;return}if(!
|
|
542
|
-
`),console.error(`Usage: prismic custom-type connect-slice <type-id> <slice-id>`),process.exitCode=1;return}let
|
|
577
|
+
prismic custom-type connect-slice article HeroSection -z body`);return}if(!o){console.error(`Missing required argument: type-id
|
|
578
|
+
`),console.error(`Usage: prismic custom-type connect-slice <type-id> <slice-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: slice-id
|
|
579
|
+
`),console.error(`Usage: prismic custom-type connect-slice <type-id> <slice-id>`),process.exitCode=1;return}let l=await G(c);if(!l.ok){console.error(l.error),process.exitCode=1;return}let u=await W(`package.json`);if(!u){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let d=new URL(`customtypes/${o}/index.json`,u),f;try{let e=await r(d,`utf8`),t=B(vr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${d.href}`),process.exitCode=1;return}f=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${o}\n`),console.error(`Create it first with: prismic custom-type create ${o}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let p=n??`slices`,m,h;for(let[,e]of Object.entries(f.json)){for(let[t,n]of Object.entries(e))if(n.type===`Slices`&&t===p){m=n,h=t;break}if(m)break}if(!m){if(n){console.error(`Slice zone "${n}" not found in custom type "${o}"`),process.exitCode=1;return}let e=Object.keys(f.json)[0]??`Main`;f.json[e]||(f.json[e]={});let t={type:`Slices`,fieldset:`Slice Zone`,config:{choices:{}}};f.json[e][p]=t,m=t,h=p}if(m.config||={choices:{}},m.config.choices||(m.config.choices={}),c in m.config.choices){console.info(`Slice "${c}" is already connected to slice zone "${h}" in ${o}`);return}let g={type:`SharedSlice`};m.config.choices[c]=g;try{await s(d,q(f))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Connected slice "${c}" to slice zone "${h}" in ${o}`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function br(){let{values:{help:t,name:r,single:i,types:a,"no-types":o},positionals:[c]}=e({args:process.argv.slice(4),options:{name:{type:`string`,short:`n`},single:{type:`boolean`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Create a new custom type in a Prismic repository.
|
|
543
580
|
|
|
544
581
|
USAGE
|
|
545
582
|
prismic custom-type create <id> [flags]
|
|
@@ -547,13 +584,17 @@ USAGE
|
|
|
547
584
|
ARGUMENTS
|
|
548
585
|
id Custom type identifier (required)
|
|
549
586
|
|
|
587
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
588
|
+
|
|
550
589
|
FLAGS
|
|
551
590
|
-n, --name string Display name for the custom type
|
|
552
591
|
--single Create as a singleton (non-repeatable) type
|
|
592
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
593
|
+
--no-types Skip type generation
|
|
553
594
|
-h, --help Show help for command
|
|
554
595
|
|
|
555
596
|
LEARN MORE
|
|
556
|
-
Use \`prismic custom-type <command> --help\` for more information about a command.`);return}if(!
|
|
597
|
+
Use \`prismic custom-type <command> --help\` for more information about a command.`);return}if(!c){console.error(`Missing required argument: id`),process.exitCode=1;return}let l={id:c,label:r??xr(c),repeatable:!i,status:!0,format:`custom`,json:{Main:{}}},u=await W(`package.json`);if(!u){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let d=new URL(`customtypes/`,u),f=new URL(c+`/`,d),p=new URL(`index.json`,f);try{await n(new URL(`.`,p),{recursive:!0}),await s(p,q(l))}catch(e){e instanceof Error?console.error(`Failed to create custom type: ${e.message}`):console.error(`Failed to create custom type`),process.exitCode=1;return}if(console.info(`Created custom type at ${p.href}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}function xr(e){return e.toLowerCase().replace(/(^|[-_\s]+)(.)?/g,(e,t,n)=>n?.toUpperCase()??``)}const Sr=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Cr(){let{values:{help:t,"slice-zone":n,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(4),options:{"slice-zone":{type:`string`,short:`z`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Disconnect a shared slice from a custom type's slice zone.
|
|
557
598
|
|
|
558
599
|
USAGE
|
|
559
600
|
prismic custom-type disconnect-slice <type-id> <slice-id> [flags]
|
|
@@ -562,16 +603,20 @@ ARGUMENTS
|
|
|
562
603
|
type-id Custom type identifier (required)
|
|
563
604
|
slice-id Slice identifier (required)
|
|
564
605
|
|
|
606
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
607
|
+
|
|
565
608
|
FLAGS
|
|
566
609
|
-z, --slice-zone string Target slice zone field ID (default: "slices")
|
|
610
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
611
|
+
--no-types Skip type generation
|
|
567
612
|
-h, --help Show help for command
|
|
568
613
|
|
|
569
614
|
EXAMPLES
|
|
570
615
|
prismic custom-type disconnect-slice homepage CallToAction
|
|
571
616
|
prismic custom-type disconnect-slice homepage CallToAction --slice-zone slices
|
|
572
|
-
prismic custom-type disconnect-slice article HeroSection -z body`);return}if(!
|
|
573
|
-
`),console.error(`Usage: prismic custom-type disconnect-slice <type-id> <slice-id>`),process.exitCode=1;return}if(!
|
|
574
|
-
`),console.error(`Usage: prismic custom-type disconnect-slice <type-id> <slice-id>`),process.exitCode=1;return}let
|
|
617
|
+
prismic custom-type disconnect-slice article HeroSection -z body`);return}if(!o){console.error(`Missing required argument: type-id
|
|
618
|
+
`),console.error(`Usage: prismic custom-type disconnect-slice <type-id> <slice-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: slice-id
|
|
619
|
+
`),console.error(`Usage: prismic custom-type disconnect-slice <type-id> <slice-id>`),process.exitCode=1;return}let l=await W(`package.json`);if(!l){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let u=new URL(`customtypes/${o}/index.json`,l),d;try{let e=await r(u,`utf8`),t=B(Sr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${u.href}`),process.exitCode=1;return}d=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${o}\n`),console.error(`Create it first with: prismic custom-type create ${o}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}let f=n??`slices`,p,m;for(let[,e]of Object.entries(d.json)){for(let[t,n]of Object.entries(e))if(n.type===`Slices`&&t===f){p=n,m=t;break}if(p)break}if(!p){console.error(`Slice zone "${f}" not found in custom type "${o}"`),process.exitCode=1;return}if(!p.config?.choices||!(c in p.config.choices)){console.error(`Slice "${c}" is not connected to slice zone "${m}" in ${o}`),process.exitCode=1;return}delete p.config.choices[c];try{await s(u,q(d))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Disconnected slice "${c}" from slice zone "${m}" in ${o}`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const wr=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function Tr(){let{values:{help:t,json:n}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`List all custom types in a Prismic project.
|
|
575
620
|
|
|
576
621
|
USAGE
|
|
577
622
|
prismic custom-type list [flags]
|
|
@@ -582,7 +627,7 @@ FLAGS
|
|
|
582
627
|
|
|
583
628
|
EXAMPLES
|
|
584
629
|
prismic custom-type list
|
|
585
|
-
prismic custom-type list --json`);return}let a=await
|
|
630
|
+
prismic custom-type list --json`);return}let a=await W(`package.json`);if(!a){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let o=new URL(`customtypes/`,a),s;try{s=await i(o,{withFileTypes:!1})}catch{n?console.info(JSON.stringify([])):console.info(`No custom types found.`);return}let c=[];for(let e of s){let t=new URL(`${e}/index.json`,o);try{let e=await r(t,`utf8`),n=B(wr,JSON.parse(e));n.success&&n.output.format!==`page`&&c.push({id:n.output.id,label:n.output.label,repeatable:n.output.repeatable})}catch{}}if(c.length===0){n?console.info(JSON.stringify([])):console.info(`No custom types found.`);return}if(n)console.info(JSON.stringify(c,null,2));else{console.info(`ID LABEL TYPE`);for(let e of c){let t=e.repeatable?`repeatable`:`singleton`;console.info(`${e.id}\t${e.label}\t${t}`)}}}const Er=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function Dr(){let{values:{help:t,y:n,types:i,"no-types":a},positionals:[s]}=e({args:process.argv.slice(4),options:{y:{type:`boolean`,short:`y`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Remove a custom type from the project.
|
|
586
631
|
|
|
587
632
|
USAGE
|
|
588
633
|
prismic custom-type remove <type-id> [flags]
|
|
@@ -590,14 +635,18 @@ USAGE
|
|
|
590
635
|
ARGUMENTS
|
|
591
636
|
type-id Custom type identifier (required)
|
|
592
637
|
|
|
638
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
639
|
+
|
|
593
640
|
FLAGS
|
|
594
641
|
-y Confirm removal
|
|
642
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
643
|
+
--no-types Skip type generation
|
|
595
644
|
-h, --help Show help for command
|
|
596
645
|
|
|
597
646
|
EXAMPLES
|
|
598
647
|
prismic custom-type remove settings
|
|
599
|
-
prismic custom-type remove settings -y`);return}if(!
|
|
600
|
-
`),console.error(`Usage: prismic custom-type remove <type-id>`),process.exitCode=1;return}let
|
|
648
|
+
prismic custom-type remove settings -y`);return}if(!s){console.error(`Missing required argument: type-id
|
|
649
|
+
`),console.error(`Usage: prismic custom-type remove <type-id>`),process.exitCode=1;return}let c=await W(`package.json`);if(!c){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let l=new URL(`customtypes/${s}/`,c),u=new URL(`index.json`,l),d;try{let e=await r(u,`utf8`),t=B(Er,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${u.href}`),process.exitCode=1;return}d=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${s}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}if(d.format===`page`){console.error(`"${s}" is not a custom type (format: page)`),process.exitCode=1;return}if(!n){console.error(`Refusing to remove custom type "${s}" (this will delete the entire directory).`),console.error(`Re-run with -y to confirm.`),process.exitCode=1;return}try{await o(l,{recursive:!0})}catch(e){e instanceof Error?console.error(`Failed to remove custom type: ${e.message}`):console.error(`Failed to remove custom type`),process.exitCode=1;return}if(console.info(`Removed custom type "${s}"`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Or=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function kr(){let{values:{help:t,tab:n,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(4),options:{tab:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Remove a field from a custom type.
|
|
601
650
|
|
|
602
651
|
USAGE
|
|
603
652
|
prismic custom-type remove-field <type-id> <field-id> [flags]
|
|
@@ -606,15 +655,19 @@ ARGUMENTS
|
|
|
606
655
|
type-id Custom type identifier (required)
|
|
607
656
|
field-id Field identifier (required)
|
|
608
657
|
|
|
658
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
659
|
+
|
|
609
660
|
FLAGS
|
|
610
661
|
--tab string Specific tab (searches all tabs if not specified)
|
|
662
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
663
|
+
--no-types Skip type generation
|
|
611
664
|
-h, --help Show help for command
|
|
612
665
|
|
|
613
666
|
EXAMPLES
|
|
614
667
|
prismic custom-type remove-field settings title
|
|
615
|
-
prismic custom-type remove-field settings description --tab "Content"`);return}if(!
|
|
616
|
-
`),console.error(`Usage: prismic custom-type remove-field <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
617
|
-
`),console.error(`Usage: prismic custom-type remove-field <type-id> <field-id>`),process.exitCode=1;return}let
|
|
668
|
+
prismic custom-type remove-field settings description --tab "Content"`);return}if(!o){console.error(`Missing required argument: type-id
|
|
669
|
+
`),console.error(`Usage: prismic custom-type remove-field <type-id> <field-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: field-id
|
|
670
|
+
`),console.error(`Usage: prismic custom-type remove-field <type-id> <field-id>`),process.exitCode=1;return}let l=await W(`package.json`);if(!l){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let u=new URL(`customtypes/${o}/index.json`,l),d;try{let e=await r(u,`utf8`),t=B(Or,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${u.href}`),process.exitCode=1;return}d=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${o}\n`),console.error(`Create it first with: prismic custom-type create ${o}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}if(d.format===`page`){console.error(`"${o}" is not a custom type (format: page)`),process.exitCode=1;return}let f;if(n){if(!d.json[n]){console.error(`Tab "${n}" not found in custom type "${o}"`),console.error(`Available tabs: ${Object.keys(d.json).join(`, `)}`),process.exitCode=1;return}if(!(c in d.json[n])){console.error(`Field "${c}" not found in tab "${n}"`),process.exitCode=1;return}delete d.json[n][c],f=n}else{for(let[e,t]of Object.entries(d.json))if(c in t){delete t[c],f=e;break}if(!f){console.error(`Field "${c}" not found in any tab of custom type "${o}"`),process.exitCode=1;return}}try{await s(u,q(d))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Removed field "${c}" from tab "${f}" in custom type "${o}"`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Ar=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function jr(){let{values:{help:t,types:n,"no-types":i},positionals:[a,o]}=e({args:process.argv.slice(4),options:{types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Change a custom type's display name (label).
|
|
618
671
|
|
|
619
672
|
USAGE
|
|
620
673
|
prismic custom-type set-name <type-id> <new-name> [flags]
|
|
@@ -623,14 +676,18 @@ ARGUMENTS
|
|
|
623
676
|
type-id Custom type identifier (required)
|
|
624
677
|
new-name New display name (required)
|
|
625
678
|
|
|
679
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
680
|
+
|
|
626
681
|
FLAGS
|
|
682
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
683
|
+
--no-types Skip type generation
|
|
627
684
|
-h, --help Show help for command
|
|
628
685
|
|
|
629
686
|
EXAMPLES
|
|
630
687
|
prismic custom-type set-name settings "Site Settings"
|
|
631
|
-
prismic custom-type set-name menu "Navigation Menu"`);return}if(!
|
|
632
|
-
`),console.error(`Usage: prismic custom-type set-name <type-id> <new-name>`),process.exitCode=1;return}if(!
|
|
633
|
-
`),console.error(`Usage: prismic custom-type set-name <type-id> <new-name>`),process.exitCode=1;return}let
|
|
688
|
+
prismic custom-type set-name menu "Navigation Menu"`);return}if(!a){console.error(`Missing required argument: type-id
|
|
689
|
+
`),console.error(`Usage: prismic custom-type set-name <type-id> <new-name>`),process.exitCode=1;return}if(!o){console.error(`Missing required argument: new-name
|
|
690
|
+
`),console.error(`Usage: prismic custom-type set-name <type-id> <new-name>`),process.exitCode=1;return}let c=await W(`package.json`);if(!c){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let l=new URL(`customtypes/${a}/index.json`,c),u;try{let e=await r(l,`utf8`),t=B(Ar,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${l.href}`),process.exitCode=1;return}u=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${a}\n`),console.error(`Create it first with: prismic custom-type create ${a}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}if(u.format===`page`){console.error(`"${a}" is not a custom type (format: page)`),process.exitCode=1;return}u.label=o;try{await s(l,q(u))}catch(e){e instanceof Error?console.error(`Failed to update custom type: ${e.message}`):console.error(`Failed to update custom type`),process.exitCode=1;return}if(console.info(`Renamed custom type "${a}" to "${o}"`),!i)try{await K({output:n}),console.info(`Updated types in ${n??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Mr=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function Nr(){let{values:{help:t,json:n},positionals:[i]}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`View details of a specific custom type.
|
|
634
691
|
|
|
635
692
|
USAGE
|
|
636
693
|
prismic custom-type view <type-id> [flags]
|
|
@@ -645,7 +702,7 @@ FLAGS
|
|
|
645
702
|
EXAMPLES
|
|
646
703
|
prismic custom-type view settings
|
|
647
704
|
prismic custom-type view settings --json`);return}if(!i){console.error(`Missing required argument: type-id
|
|
648
|
-
`),console.error(`Usage: prismic custom-type view <type-id>`),process.exitCode=1;return}let a=await
|
|
705
|
+
`),console.error(`Usage: prismic custom-type view <type-id>`),process.exitCode=1;return}let a=await W(`package.json`);if(!a){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let o=new URL(`customtypes/${i}/index.json`,a),s;try{let e=await r(o,`utf8`),t=B(Mr,JSON.parse(e));if(!t.success){console.error(`Invalid custom type model: ${o.href}`),process.exitCode=1;return}s=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Custom type not found: ${i}\n`),console.error(`Create it first with: prismic custom-type create ${i}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read custom type: ${e.message}`):console.error(`Failed to read custom type`),process.exitCode=1;return}if(s.format===`page`){console.error(`"${i}" is not a custom type (format: page)`),process.exitCode=1;return}if(n){console.info(JSON.stringify(s,null,2));return}console.info(`ID: ${s.id}`),console.info(`Label: ${s.label}`),console.info(`Repeatable: ${s.repeatable}`);let c=Object.entries(s.json);console.info(`\nTabs (${c.length}):`);for(let[e,t]of c){let n=Object.keys(t).length;console.info(` - ${e}: ${n} fields`)}}async function Pr(){let{positionals:[t]}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`create`:await br();break;case`list`:await Tr();break;case`view`:await Nr();break;case`remove`:await Dr();break;case`set-name`:await jr();break;case`add-field`:await _r();break;case`remove-field`:await kr();break;case`connect-slice`:await yr();break;case`disconnect-slice`:await Cr();break;default:t&&(console.error(`Unknown custom-type subcommand: ${t}\n`),process.exitCode=1),console.info(`Manage custom types in a Prismic repository.
|
|
649
706
|
|
|
650
707
|
USAGE
|
|
651
708
|
prismic custom-type <command> [flags]
|
|
@@ -665,7 +722,7 @@ FLAGS
|
|
|
665
722
|
-h, --help Show help for command
|
|
666
723
|
|
|
667
724
|
LEARN MORE
|
|
668
|
-
Use \`prismic custom-type <command> --help\` for more information about a command.`)}}async function
|
|
725
|
+
Use \`prismic custom-type <command> --help\` for more information about a command.`)}}const Fr=`prismic.config.json`,Ir=F({repositoryName:R(),apiEndpoint:I(hn(R(),cn())),localSliceMachineSimulatorURL:I(hn(R(),cn())),libraries:I(N(R())),adapter:I(R()),labs:I(F({legacySliceUpgrader:I(P())}))});async function Lr(e,t=u(process.cwd())){let n=await Hr(t);return n.ok?(await s(n.path,q(e)),{ok:!0,config:e}):n}async function Y(e=u(process.cwd())){let t=await Rr(e);if(t.ok)return t.config.repositoryName}async function Rr(e=u(process.cwd())){let t=await Vr(e);if(!t.ok)return t;try{let e=await r(t.path,`utf8`),n=B(Ir,JSON.parse(e));return n.success?{ok:!0,config:n.output}:{ok:!1,error:new zr(n.issues)}}catch{return{ok:!1,error:new zr}}}var zr=class extends Error{issues;constructor(e=[]){super(`prismic.config.json is invalid.`),this.issues=e}};async function Br(e,t=u(process.cwd())){let n=await Vr(t);if(!n.ok)return n;let r=await Rr(t);if(!r.ok)return r;let i={...r.config,...e};return await s(n.path,q(i)),{ok:!0,config:i}}async function Vr(e=u(process.cwd())){let t=await W(Fr,{start:e,stop:`package.json`});return t?{ok:!0,path:t}:{ok:!1,error:new Ur}}async function Hr(e=u(process.cwd())){let t=await W(`package.json`,{start:e});return t?{ok:!0,path:new URL(Fr,t)}:{ok:!1,error:new Wr}}var Ur=class extends Error{message=`Could not find a prismic.config.json file.`},Wr=class extends Error{message=`Could not find a package.json file.`};async function Gr(){let{values:t}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`},repo:{type:`string`,short:`r`}}});if(t.help){console.info(`Initialize a Prismic project by creating a prismic.config.json file.
|
|
669
726
|
|
|
670
727
|
Use this command to connect an existing Prismic repository to your project.
|
|
671
728
|
To create a new repository, use \`prismic repo create\` instead.
|
|
@@ -678,7 +735,7 @@ FLAGS
|
|
|
678
735
|
-h, --help Show help for command
|
|
679
736
|
|
|
680
737
|
LEARN MORE
|
|
681
|
-
Use \`prismic <command> --help\` for more information about a command.`);return}if(!t.repo){console.error(`Missing required flag: --repo`),process.exitCode=1;return}if((await
|
|
738
|
+
Use \`prismic <command> --help\` for more information about a command.`);return}if(!t.repo){console.error(`Missing required flag: --repo`),process.exitCode=1;return}if((await Rr()).ok){console.error(`A prismic.config.json file already exists.`),process.exitCode=1;return}let n=await Lr({repositoryName:t.repo});if(!n.ok){n.error instanceof Wr?console.error(`Could not find a package.json file. Run this command from a project directory.`):console.error(`Failed to create config file.`),process.exitCode=1;return}console.info(`Created prismic.config.json for repository "${t.repo}"`)}async function X(e,t={}){let{credentials:n=`include`}=t,r=new Headers(t.headers);if(r.set(`Accept`,`application/json`),n===`include`){let e=await U();e&&r.set(`Cookie`,`SESSION=fake_session; prismic-auth=${e}`)}!r.has(`Content-Type`)&&t.body&&r.set(`Content-Type`,`application/json`),t.body instanceof FormData&&r.delete(`Content-Type`);let i=r.get(`Content-Type`)===`application/json`?JSON.stringify(t.body):t.body,a=await fetch(e,{...t,body:i,headers:r}),o=await a.clone().json().catch(()=>a.clone().text());if(a.ok){if(!t?.schema)return{ok:!0,value:o};try{return{ok:!0,value:mn(t.schema,o)}}catch(e){if(M(e))return{ok:!1,value:o,error:e};throw e}}else if(a.status===401)return{ok:!1,value:o,error:new Q(a)};else if(a.status===403)return{ok:!1,value:o,error:new Z(a)};else return{ok:!1,value:o,error:new Kr(a)}}var Kr=class extends Error{name=`RequestError`;response;constructor(e){super(`fetch failed: ${e.url}`),this.response=e}async text(){return this.response.clone().text()}async json(){return this.response.clone().json()}get status(){return this.response.status}get statusText(){return this.response.statusText}},Z=class extends Kr{},Q=class extends Kr{};async function qr(){let{values:{help:t,name:n,repo:r=await Y()},positionals:[i]}=e({args:process.argv.slice(4),options:{name:{type:`string`,short:`n`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a new locale to a Prismic repository.
|
|
682
739
|
|
|
683
740
|
By default, this command reads the repository from prismic.config.json at the
|
|
684
741
|
project root.
|
|
@@ -695,7 +752,21 @@ FLAGS
|
|
|
695
752
|
-h, --help Show help for command
|
|
696
753
|
|
|
697
754
|
LEARN MORE
|
|
698
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!i){console.error(`Missing required argument: <code>`),process.exitCode=1;return}if(!r){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
755
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!i){console.error(`Missing required argument: <code>`),process.exitCode=1;return}if(!r){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){Xr();return}let a=n?await Yr(r,i,n):await Jr(r,i);if(!a.ok){if(typeof a.value==`string`&&a.value.includes(`already existing languages`))return;a.error instanceof Z?Xr():(console.error(`Failed to add locale: ${q(a.value)}`),process.exitCode=1);return}console.info(`Locale added: ${i}`)}async function Jr(e,t){return await X(new URL(`/app/settings/multilanguages`,await V(e)),{method:`POST`,body:{languages:[t]}})}async function Yr(e,t,n){let[r,i]=t.split(`-`);return await X(new URL(`/app/settings/multilanguages/custom`,await V(e)),{method:`POST`,body:{lang:{label:n,id:r||t},region:{label:n,id:i||r||t}}})}function Xr(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function Zr(){let{values:{help:t,repo:n=await Y(),json:r}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`List all locales in a Prismic repository.
|
|
756
|
+
|
|
757
|
+
By default, this command reads the repository from prismic.config.json at the
|
|
758
|
+
project root.
|
|
759
|
+
|
|
760
|
+
USAGE
|
|
761
|
+
prismic locale list [flags]
|
|
762
|
+
|
|
763
|
+
FLAGS
|
|
764
|
+
--json Output as JSON
|
|
765
|
+
-r, --repo string Repository domain
|
|
766
|
+
-h, --help Show help for command
|
|
767
|
+
|
|
768
|
+
LEARN MORE
|
|
769
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){ei();return}let i=await $r(n);if(!i.ok){i.error instanceof Z?ei():M(i.error)?(console.error(`Failed to list locales: Invalid response: ${q(i.error.issues)}`),process.exitCode=1):(console.error(`Failed to list locales: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.results;if(r)console.info(q(a));else for(let e of a){let t=e.isMaster?` (default)`:``;console.info(`${e.id} ${e.label}${t}`)}}const Qr=F({results:N(F({id:R(),label:R(),customName:fn(R()),isMaster:P()}))});async function $r(e){let t=new URL(`/locale/repository/locales`,await gn());return t.searchParams.set(`repository`,e),await X(t,{schema:Qr})}function ei(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function ti(){let{values:{repo:t=await Y(),help:n},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(n){console.info(`Remove a locale from a Prismic repository.
|
|
699
770
|
|
|
700
771
|
By default, this command reads the repository from prismic.config.json at the
|
|
701
772
|
project root.
|
|
@@ -711,7 +782,7 @@ FLAGS
|
|
|
711
782
|
-h, --help Show help for command
|
|
712
783
|
|
|
713
784
|
LEARN MORE
|
|
714
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <code>`),process.exitCode=1;return}if(!t){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
785
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <code>`),process.exitCode=1;return}if(!t){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){ri();return}let i=await ni(t,r);if(!i.ok){i.error instanceof Z?ri():(console.error(`Failed to remove locale: ${q(i.value)}`),process.exitCode=1);return}console.info(`Removed locale: ${r}`)}async function ni(e,t){let n=new URL(`/locale/repository/locales/${t}`,await gn());return n.searchParams.set(`repository`,e),await X(n,{method:`DELETE`})}function ri(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function ii(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Set the default locale for a Prismic repository.
|
|
715
786
|
|
|
716
787
|
By default, this command reads the repository from prismic.config.json at the
|
|
717
788
|
project root.
|
|
@@ -727,7 +798,7 @@ FLAGS
|
|
|
727
798
|
-h, --help Show help for command
|
|
728
799
|
|
|
729
800
|
LEARN MORE
|
|
730
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <code>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
801
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <code>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){oi();return}let i=await $r(n);if(!i.ok){i.error instanceof Z?oi():M(i.error)?(console.error(`Failed to set default locale: Invalid response: ${q(i.error.issues)}`),process.exitCode=1):(console.error(`Failed to set default locale: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.results,o=a.find(e=>e.id===r);if(!o){console.error(`Locale "${r}" not found in repository. Available locales: ${a.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}if(o.isMaster){console.error(`Locale "${r}" is already the default.`),process.exitCode=1;return}let s=await ai(n,o);if(!s.ok){s.error instanceof Z?oi():(console.error(`Failed to set default locale: ${q(s.value)}`),process.exitCode=1);return}console.info(`Default locale set: ${r}`)}async function ai(e,t){let n=new URL(`/locale/repository/locales`,await gn());return n.searchParams.set(`repository`,e),await X(n,{method:`POST`,body:{id:t.id,label:t.label,customName:t.customName,isMaster:!0}})}function oi(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function si(){let{positionals:[t]}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`add`:await qr();break;case`list`:await Zr();break;case`remove`:await ti();break;case`set-default`:await ii();break;default:t&&(console.error(`Unknown locale subcommand: ${t}\n`),process.exitCode=1),console.info(`Manage locales in a Prismic repository.
|
|
731
802
|
|
|
732
803
|
USAGE
|
|
733
804
|
prismic locale <command> [flags]
|
|
@@ -742,7 +813,7 @@ FLAGS
|
|
|
742
813
|
-h, --help Show help for command
|
|
743
814
|
|
|
744
815
|
LEARN MORE
|
|
745
|
-
Use \`prismic locale <command> --help\` for more information about a command.`)}}async function
|
|
816
|
+
Use \`prismic locale <command> --help\` for more information about a command.`)}}async function ci(){let{values:t}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}}});if(t.help){console.info(`Log in to Prismic via browser.
|
|
746
817
|
|
|
747
818
|
USAGE
|
|
748
819
|
prismic login [flags]
|
|
@@ -751,7 +822,7 @@ FLAGS
|
|
|
751
822
|
-h, --help Show help for command
|
|
752
823
|
|
|
753
824
|
LEARN MORE
|
|
754
|
-
Use \`prismic <command> --help\` for more information about a command.`);return}return new Promise((e,t)=>{let n=f((t,i)=>{if(t.method===`OPTIONS`){i.writeHead(204,{"Access-Control-Allow-Origin":`*`,"Access-Control-Allow-Methods":`POST, OPTIONS`,"Access-Control-Allow-Headers":`Content-Type`}),i.end();return}if(t.method===`POST`){let a=``;t.on(`data`,e=>{a+=e.toString()}),t.on(`end`,async()=>{try{let{cookies:t,email:o}=JSON.parse(a),s=t.find(e=>e.startsWith(`prismic-auth=`))?.split(`;`)[0]?.replace(/^prismic-auth=/,``);if(!s){i.writeHead(400,{"Access-Control-Allow-Origin":`*`,"Content-Type":`application/json`}),i.end(JSON.stringify({error:`Invalid request`}));return}await
|
|
825
|
+
Use \`prismic <command> --help\` for more information about a command.`);return}return new Promise((e,t)=>{let n=f((t,i)=>{if(t.method===`OPTIONS`){i.writeHead(204,{"Access-Control-Allow-Origin":`*`,"Access-Control-Allow-Methods":`POST, OPTIONS`,"Access-Control-Allow-Headers":`Content-Type`}),i.end();return}if(t.method===`POST`){let a=``;t.on(`data`,e=>{a+=e.toString()}),t.on(`end`,async()=>{try{let{cookies:t,email:o}=JSON.parse(a),s=t.find(e=>e.startsWith(`prismic-auth=`))?.split(`;`)[0]?.replace(/^prismic-auth=/,``);if(!s){i.writeHead(400,{"Access-Control-Allow-Origin":`*`,"Content-Type":`application/json`}),i.end(JSON.stringify({error:`Invalid request`}));return}await xn(s),console.info(`Logged in to Prismic as ${o}`),i.writeHead(200,{"Access-Control-Allow-Origin":`*`,"Content-Type":`application/json`}),i.end(JSON.stringify({success:!0})),clearTimeout(r),n.close(),e()}catch{i.writeHead(400,{"Access-Control-Allow-Origin":`*`,"Content-Type":`application/json`}),i.end(JSON.stringify({error:`Invalid request`}))}});return}i.writeHead(404),i.end()}),r=setTimeout(()=>{n.close(),t(Error(`Login timed out. Please try again.`))},18e4);n.listen(0,`127.0.0.1`,()=>{let e=n.address();if(!e||typeof e==`string`){clearTimeout(r),n.close(),t(Error(`Failed to start login server`));return}let i=e.port,a=li(i);console.info(`Opening browser to complete login...`),console.info(`If the browser doesn't open, visit: ${a}`),ui(a)}),n.on(`error`,e=>{clearTimeout(r),t(e)})})}function li(e){let t=new URL(`https://prismic.io/dashboard/cli/login`);return t.searchParams.set(`source`,`slice-machine`),t.searchParams.set(`port`,e.toString()),t}function ui(e){d(`${process.platform===`darwin`?`open`:process.platform===`win32`?`start`:`xdg-open`} "${e.toString()}"`)}async function di(){let{values:t}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}}});if(t.help){console.info(`Log out of Prismic.
|
|
755
826
|
|
|
756
827
|
USAGE
|
|
757
828
|
prismic logout [flags]
|
|
@@ -760,7 +831,7 @@ FLAGS
|
|
|
760
831
|
-h, --help Show help for command
|
|
761
832
|
|
|
762
833
|
LEARN MORE
|
|
763
|
-
Use \`prismic <command> --help\` for more information about a command.`);return}await
|
|
834
|
+
Use \`prismic <command> --help\` for more information about a command.`);return}await wn()?console.info(`Logged out of Prismic`):(console.error(`Logout failed. You can log out manually by deleting the file.`),process.exitCode=1)}const fi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function pi(){let{values:{help:t,tab:n,label:i,default:a,"true-label":o,"false-label":c,types:l,"no-types":u},positionals:[d,f]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},default:{type:`boolean`},"true-label":{type:`string`},"false-label":{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a boolean (toggle) field to an existing page type.
|
|
764
835
|
|
|
765
836
|
USAGE
|
|
766
837
|
prismic page-type add-field boolean <type-id> <field-id> [flags]
|
|
@@ -769,20 +840,24 @@ ARGUMENTS
|
|
|
769
840
|
type-id Page type identifier (required)
|
|
770
841
|
field-id Field identifier (required)
|
|
771
842
|
|
|
843
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
844
|
+
|
|
772
845
|
FLAGS
|
|
773
846
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
774
847
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
775
848
|
--default Set default value to true
|
|
776
849
|
--true-label string Label shown when toggle is on
|
|
777
850
|
--false-label string Label shown when toggle is off
|
|
851
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
852
|
+
--no-types Skip type generation
|
|
778
853
|
-h, --help Show help for command
|
|
779
854
|
|
|
780
855
|
EXAMPLES
|
|
781
856
|
prismic page-type add-field boolean homepage featured
|
|
782
857
|
prismic page-type add-field boolean article published --default
|
|
783
|
-
prismic page-type add-field boolean product available --true-label "In Stock" --false-label "Out of Stock"`);return}if(!
|
|
784
|
-
`),console.error(`Usage: prismic page-type add-field boolean <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
785
|
-
`),console.error(`Usage: prismic page-type add-field boolean <type-id> <field-id>`),process.exitCode=1;return}let
|
|
858
|
+
prismic page-type add-field boolean product available --true-label "In Stock" --false-label "Out of Stock"`);return}if(!d){console.error(`Missing required argument: type-id
|
|
859
|
+
`),console.error(`Usage: prismic page-type add-field boolean <type-id> <field-id>`),process.exitCode=1;return}if(!f){console.error(`Missing required argument: field-id
|
|
860
|
+
`),console.error(`Usage: prismic page-type add-field boolean <type-id> <field-id>`),process.exitCode=1;return}let p=await W(`package.json`);if(!p){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let m=new URL(`customtypes/${d}/index.json`,p),h;try{let e=await r(m,`utf8`),t=B(fi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${m.href}`),process.exitCode=1;return}h=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${d}\n`),console.error(`Create it first with: prismic page-type create ${d}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let g=Object.keys(h.json),_=n??g[0]??`Main`;h.json[_]||(h.json[_]={});for(let[e,t]of Object.entries(h.json))if(t[f]){console.error(`Field "${f}" already exists in tab "${e}"`),process.exitCode=1;return}let v={type:`Boolean`,config:{label:i??J(f),...a&&{default_value:!0},...o&&{placeholder_true:o},...c&&{placeholder_false:c}}};h.json[_][f]=v;try{await s(m,q(h))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${f}" (Boolean) to "${_}" tab in ${d}`),!u)try{await K({output:l}),console.info(`Updated types in ${l??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const mi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function hi(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a color picker field to an existing page type.
|
|
786
861
|
|
|
787
862
|
USAGE
|
|
788
863
|
prismic page-type add-field color <type-id> <field-id> [flags]
|
|
@@ -791,18 +866,22 @@ ARGUMENTS
|
|
|
791
866
|
type-id Page type identifier (required)
|
|
792
867
|
field-id Field identifier (required)
|
|
793
868
|
|
|
869
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
870
|
+
|
|
794
871
|
FLAGS
|
|
795
872
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
796
873
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
797
874
|
-p, --placeholder string Placeholder text
|
|
875
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
876
|
+
--no-types Skip type generation
|
|
798
877
|
-h, --help Show help for command
|
|
799
878
|
|
|
800
879
|
EXAMPLES
|
|
801
880
|
prismic page-type add-field color homepage bg_color
|
|
802
881
|
prismic page-type add-field color homepage accent --tab "Design"
|
|
803
|
-
prismic page-type add-field color homepage text_color --label "Text Color"`);return}if(!
|
|
804
|
-
`),console.error(`Usage: prismic page-type add-field color <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
805
|
-
`),console.error(`Usage: prismic page-type add-field color <type-id> <field-id>`),process.exitCode=1;return}let
|
|
882
|
+
prismic page-type add-field color homepage text_color --label "Text Color"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
883
|
+
`),console.error(`Usage: prismic page-type add-field color <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
884
|
+
`),console.error(`Usage: prismic page-type add-field color <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(mi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${l}\n`),console.error(`Create it first with: prismic page-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`Color`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (Color) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const gi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function _i(){let{values:{help:t,tab:n,label:i,placeholder:a,default:o,types:c,"no-types":l},positionals:[u,d]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},default:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a date field to an existing page type.
|
|
806
885
|
|
|
807
886
|
USAGE
|
|
808
887
|
prismic page-type add-field date <type-id> <field-id> [flags]
|
|
@@ -811,19 +890,23 @@ ARGUMENTS
|
|
|
811
890
|
type-id Page type identifier (required)
|
|
812
891
|
field-id Field identifier (required)
|
|
813
892
|
|
|
893
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
894
|
+
|
|
814
895
|
FLAGS
|
|
815
896
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
816
897
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
817
898
|
-p, --placeholder string Placeholder text
|
|
818
899
|
--default string Default date value (YYYY-MM-DD format)
|
|
900
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
901
|
+
--no-types Skip type generation
|
|
819
902
|
-h, --help Show help for command
|
|
820
903
|
|
|
821
904
|
EXAMPLES
|
|
822
905
|
prismic page-type add-field date homepage publish_date
|
|
823
906
|
prismic page-type add-field date event start_date --tab "Schedule"
|
|
824
|
-
prismic page-type add-field date article date --label "Publication Date" --default "2024-01-01"`);return}if(!
|
|
825
|
-
`),console.error(`Usage: prismic page-type add-field date <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
826
|
-
`),console.error(`Usage: prismic page-type add-field date <type-id> <field-id>`),process.exitCode=1;return}let
|
|
907
|
+
prismic page-type add-field date article date --label "Publication Date" --default "2024-01-01"`);return}if(!u){console.error(`Missing required argument: type-id
|
|
908
|
+
`),console.error(`Usage: prismic page-type add-field date <type-id> <field-id>`),process.exitCode=1;return}if(!d){console.error(`Missing required argument: field-id
|
|
909
|
+
`),console.error(`Usage: prismic page-type add-field date <type-id> <field-id>`),process.exitCode=1;return}let f=await W(`package.json`);if(!f){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let p=new URL(`customtypes/${u}/index.json`,f),m;try{let e=await r(p,`utf8`),t=B(gi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${p.href}`),process.exitCode=1;return}m=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${u}\n`),console.error(`Create it first with: prismic page-type create ${u}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let h=Object.keys(m.json),g=n??h[0]??`Main`;m.json[g]||(m.json[g]={});for(let[e,t]of Object.entries(m.json))if(t[d]){console.error(`Field "${d}" already exists in tab "${e}"`),process.exitCode=1;return}let _={type:`Date`,config:{label:i??J(d),...a&&{placeholder:a},...o&&{default:o}}};m.json[g][d]=_;try{await s(p,q(m))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${d}" (Date) to "${g}" tab in ${u}`),!l)try{await K({output:c}),console.info(`Updated types in ${c??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const vi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function yi(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add an embed field to an existing page type.
|
|
827
910
|
|
|
828
911
|
USAGE
|
|
829
912
|
prismic page-type add-field embed <type-id> <field-id> [flags]
|
|
@@ -832,18 +915,22 @@ ARGUMENTS
|
|
|
832
915
|
type-id Page type identifier (required)
|
|
833
916
|
field-id Field identifier (required)
|
|
834
917
|
|
|
918
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
919
|
+
|
|
835
920
|
FLAGS
|
|
836
921
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
837
922
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
838
923
|
-p, --placeholder string Placeholder text
|
|
924
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
925
|
+
--no-types Skip type generation
|
|
839
926
|
-h, --help Show help for command
|
|
840
927
|
|
|
841
928
|
EXAMPLES
|
|
842
929
|
prismic page-type add-field embed homepage video
|
|
843
930
|
prismic page-type add-field embed homepage youtube --tab "Media"
|
|
844
|
-
prismic page-type add-field embed homepage media --label "Media Embed"`);return}if(!
|
|
845
|
-
`),console.error(`Usage: prismic page-type add-field embed <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
846
|
-
`),console.error(`Usage: prismic page-type add-field embed <type-id> <field-id>`),process.exitCode=1;return}let
|
|
931
|
+
prismic page-type add-field embed homepage media --label "Media Embed"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
932
|
+
`),console.error(`Usage: prismic page-type add-field embed <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
933
|
+
`),console.error(`Usage: prismic page-type add-field embed <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(vi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${l}\n`),console.error(`Create it first with: prismic page-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`Embed`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (Embed) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const bi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function xi(){let{values:{help:t,tab:n,label:i,types:a,"no-types":o},positionals:[c,l]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a geo-point (location) field to an existing page type.
|
|
847
934
|
|
|
848
935
|
USAGE
|
|
849
936
|
prismic page-type add-field geo-point <type-id> <field-id> [flags]
|
|
@@ -852,17 +939,21 @@ ARGUMENTS
|
|
|
852
939
|
type-id Page type identifier (required)
|
|
853
940
|
field-id Field identifier (required)
|
|
854
941
|
|
|
942
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
943
|
+
|
|
855
944
|
FLAGS
|
|
856
945
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
857
946
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
947
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
948
|
+
--no-types Skip type generation
|
|
858
949
|
-h, --help Show help for command
|
|
859
950
|
|
|
860
951
|
EXAMPLES
|
|
861
952
|
prismic page-type add-field geo-point homepage location
|
|
862
953
|
prismic page-type add-field geo-point store address --tab "Details"
|
|
863
|
-
prismic page-type add-field geo-point event venue --label "Event Venue"`);return}if(!
|
|
864
|
-
`),console.error(`Usage: prismic page-type add-field geo-point <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
865
|
-
`),console.error(`Usage: prismic page-type add-field geo-point <type-id> <field-id>`),process.exitCode=1;return}let
|
|
954
|
+
prismic page-type add-field geo-point event venue --label "Event Venue"`);return}if(!c){console.error(`Missing required argument: type-id
|
|
955
|
+
`),console.error(`Usage: prismic page-type add-field geo-point <type-id> <field-id>`),process.exitCode=1;return}if(!l){console.error(`Missing required argument: field-id
|
|
956
|
+
`),console.error(`Usage: prismic page-type add-field geo-point <type-id> <field-id>`),process.exitCode=1;return}let u=await W(`package.json`);if(!u){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let d=new URL(`customtypes/${c}/index.json`,u),f;try{let e=await r(d,`utf8`),t=B(bi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${d.href}`),process.exitCode=1;return}f=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${c}\n`),console.error(`Create it first with: prismic page-type create ${c}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let p=Object.keys(f.json),m=n??p[0]??`Main`;f.json[m]||(f.json[m]={});for(let[e,t]of Object.entries(f.json))if(t[l]){console.error(`Field "${l}" already exists in tab "${e}"`),process.exitCode=1;return}let h={type:`GeoPoint`,config:{label:i??J(l)}};f.json[m][l]=h;try{await s(d,q(f))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${l}" (GeoPoint) to "${m}" tab in ${c}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Si=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Ci(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add an image field to an existing page type.
|
|
866
957
|
|
|
867
958
|
USAGE
|
|
868
959
|
prismic page-type add-field image <type-id> <field-id> [flags]
|
|
@@ -871,18 +962,22 @@ ARGUMENTS
|
|
|
871
962
|
type-id Page type identifier (required)
|
|
872
963
|
field-id Field identifier (required)
|
|
873
964
|
|
|
965
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
966
|
+
|
|
874
967
|
FLAGS
|
|
875
968
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
876
969
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
877
970
|
-p, --placeholder string Placeholder text
|
|
971
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
972
|
+
--no-types Skip type generation
|
|
878
973
|
-h, --help Show help for command
|
|
879
974
|
|
|
880
975
|
EXAMPLES
|
|
881
976
|
prismic page-type add-field image homepage hero
|
|
882
977
|
prismic page-type add-field image article thumbnail --tab "Media"
|
|
883
|
-
prismic page-type add-field image product photo --label "Product Photo"`);return}if(!
|
|
884
|
-
`),console.error(`Usage: prismic page-type add-field image <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
885
|
-
`),console.error(`Usage: prismic page-type add-field image <type-id> <field-id>`),process.exitCode=1;return}let
|
|
978
|
+
prismic page-type add-field image product photo --label "Product Photo"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
979
|
+
`),console.error(`Usage: prismic page-type add-field image <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
980
|
+
`),console.error(`Usage: prismic page-type add-field image <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(Si,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${l}\n`),console.error(`Create it first with: prismic page-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`Image`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (Image) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const wi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Ti(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a key-text (single-line text) field to an existing page type.
|
|
886
981
|
|
|
887
982
|
USAGE
|
|
888
983
|
prismic page-type add-field key-text <type-id> <field-id> [flags]
|
|
@@ -891,18 +986,22 @@ ARGUMENTS
|
|
|
891
986
|
type-id Page type identifier (required)
|
|
892
987
|
field-id Field identifier (required)
|
|
893
988
|
|
|
989
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
990
|
+
|
|
894
991
|
FLAGS
|
|
895
992
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
896
993
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
897
994
|
-p, --placeholder string Placeholder text
|
|
995
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
996
|
+
--no-types Skip type generation
|
|
898
997
|
-h, --help Show help for command
|
|
899
998
|
|
|
900
999
|
EXAMPLES
|
|
901
1000
|
prismic page-type add-field key-text homepage title
|
|
902
1001
|
prismic page-type add-field key-text homepage meta_title --tab "SEO"
|
|
903
|
-
prismic page-type add-field key-text homepage subtitle --label "Subtitle" --placeholder "Enter subtitle"`);return}if(!
|
|
904
|
-
`),console.error(`Usage: prismic page-type add-field key-text <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
905
|
-
`),console.error(`Usage: prismic page-type add-field key-text <type-id> <field-id>`),process.exitCode=1;return}let
|
|
1002
|
+
prismic page-type add-field key-text homepage subtitle --label "Subtitle" --placeholder "Enter subtitle"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
1003
|
+
`),console.error(`Usage: prismic page-type add-field key-text <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
1004
|
+
`),console.error(`Usage: prismic page-type add-field key-text <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(wi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${l}\n`),console.error(`Create it first with: prismic page-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`Text`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (Text) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Ei=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Di(){let{values:{help:t,tab:n,label:i,placeholder:a,variation:o,"allow-text":c,"allow-target-blank":l,repeatable:u,types:d,"no-types":f},positionals:[p,m]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},variation:{type:`string`,multiple:!0},"allow-text":{type:`boolean`},"allow-target-blank":{type:`boolean`},repeatable:{type:`boolean`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a link field to an existing page type.
|
|
906
1005
|
|
|
907
1006
|
USAGE
|
|
908
1007
|
prismic page-type add-field link <type-id> <field-id> [flags]
|
|
@@ -911,6 +1010,8 @@ ARGUMENTS
|
|
|
911
1010
|
type-id Page type identifier (required)
|
|
912
1011
|
field-id Field identifier (required)
|
|
913
1012
|
|
|
1013
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1014
|
+
|
|
914
1015
|
FLAGS
|
|
915
1016
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
916
1017
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
@@ -919,15 +1020,17 @@ FLAGS
|
|
|
919
1020
|
--allow-text Allow text with link
|
|
920
1021
|
--allow-target-blank Allow opening link in new tab
|
|
921
1022
|
--repeatable Allow multiple links
|
|
1023
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1024
|
+
--no-types Skip type generation
|
|
922
1025
|
-h, --help Show help for command
|
|
923
1026
|
|
|
924
1027
|
EXAMPLES
|
|
925
1028
|
prismic page-type add-field link homepage button
|
|
926
1029
|
prismic page-type add-field link homepage cta --allow-text
|
|
927
1030
|
prismic page-type add-field link homepage cta --variation Primary --variation Secondary
|
|
928
|
-
prismic page-type add-field link homepage links --repeatable`);return}if(!
|
|
929
|
-
`),console.error(`Usage: prismic page-type add-field link <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
930
|
-
`),console.error(`Usage: prismic page-type add-field link <type-id> <field-id>`),process.exitCode=1;return}let
|
|
1031
|
+
prismic page-type add-field link homepage links --repeatable`);return}if(!p){console.error(`Missing required argument: type-id
|
|
1032
|
+
`),console.error(`Usage: prismic page-type add-field link <type-id> <field-id>`),process.exitCode=1;return}if(!m){console.error(`Missing required argument: field-id
|
|
1033
|
+
`),console.error(`Usage: prismic page-type add-field link <type-id> <field-id>`),process.exitCode=1;return}let h=await W(`package.json`);if(!h){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let g=new URL(`customtypes/${p}/index.json`,h),_;try{let e=await r(g,`utf8`),t=B(Ei,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${g.href}`),process.exitCode=1;return}_=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${p}\n`),console.error(`Create it first with: prismic page-type create ${p}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let v=Object.keys(_.json),y=n??v[0]??`Main`;_.json[y]||(_.json[y]={});for(let[e,t]of Object.entries(_.json))if(t[m]){console.error(`Field "${m}" already exists in tab "${e}"`),process.exitCode=1;return}let b={type:`Link`,config:{label:i??J(m),...a&&{placeholder:a},...o&&o.length>0&&{variants:o},...c&&{allowText:!0},...l&&{allowTargetBlank:!0},...u&&{repeat:!0}}};_.json[y][m]=b;try{await s(g,q(_))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${m}" (Link) to "${y}" tab in ${p}`),!f)try{await K({output:d}),console.info(`Updated types in ${d??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Oi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function ki(){let{values:{help:t,tab:n,label:i,placeholder:a,min:o,max:c,step:l,types:u,"no-types":d},positionals:[f,p]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},min:{type:`string`},max:{type:`string`},step:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a number field to an existing page type.
|
|
931
1034
|
|
|
932
1035
|
USAGE
|
|
933
1036
|
prismic page-type add-field number <type-id> <field-id> [flags]
|
|
@@ -936,6 +1039,8 @@ ARGUMENTS
|
|
|
936
1039
|
type-id Page type identifier (required)
|
|
937
1040
|
field-id Field identifier (required)
|
|
938
1041
|
|
|
1042
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1043
|
+
|
|
939
1044
|
FLAGS
|
|
940
1045
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
941
1046
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
@@ -943,14 +1048,16 @@ FLAGS
|
|
|
943
1048
|
--min number Minimum value
|
|
944
1049
|
--max number Maximum value
|
|
945
1050
|
--step number Step increment
|
|
1051
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1052
|
+
--no-types Skip type generation
|
|
946
1053
|
-h, --help Show help for command
|
|
947
1054
|
|
|
948
1055
|
EXAMPLES
|
|
949
1056
|
prismic page-type add-field number homepage price
|
|
950
1057
|
prismic page-type add-field number product quantity --min 0 --max 100
|
|
951
|
-
prismic page-type add-field number settings rating --min 1 --max 5 --step 1`);return}if(!
|
|
952
|
-
`),console.error(`Usage: prismic page-type add-field number <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
953
|
-
`),console.error(`Usage: prismic page-type add-field number <type-id> <field-id>`),process.exitCode=1;return}let
|
|
1058
|
+
prismic page-type add-field number settings rating --min 1 --max 5 --step 1`);return}if(!f){console.error(`Missing required argument: type-id
|
|
1059
|
+
`),console.error(`Usage: prismic page-type add-field number <type-id> <field-id>`),process.exitCode=1;return}if(!p){console.error(`Missing required argument: field-id
|
|
1060
|
+
`),console.error(`Usage: prismic page-type add-field number <type-id> <field-id>`),process.exitCode=1;return}let m=o===void 0?void 0:Number(o),h=c===void 0?void 0:Number(c),g=l===void 0?void 0:Number(l);if(o!==void 0&&Number.isNaN(m)){console.error(`Invalid --min value: must be a number`),process.exitCode=1;return}if(c!==void 0&&Number.isNaN(h)){console.error(`Invalid --max value: must be a number`),process.exitCode=1;return}if(l!==void 0&&Number.isNaN(g)){console.error(`Invalid --step value: must be a number`),process.exitCode=1;return}let _=await W(`package.json`);if(!_){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let v=new URL(`customtypes/${f}/index.json`,_),y;try{let e=await r(v,`utf8`),t=B(Oi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${v.href}`),process.exitCode=1;return}y=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${f}\n`),console.error(`Create it first with: prismic page-type create ${f}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let b=Object.keys(y.json),x=n??b[0]??`Main`;y.json[x]||(y.json[x]={});for(let[e,t]of Object.entries(y.json))if(t[p]){console.error(`Field "${p}" already exists in tab "${e}"`),process.exitCode=1;return}let ee={type:`Number`,config:{label:i??J(p),...a&&{placeholder:a},...m!==void 0&&{min:m},...h!==void 0&&{max:h},...g!==void 0&&{step:g}}};y.json[x][p]=ee;try{await s(v,q(y))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${p}" (Number) to "${x}" tab in ${f}`),!d)try{await K({output:u}),console.info(`Updated types in ${u??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Ai=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function ji(){let{values:{help:t,tab:n,label:i,placeholder:a,single:o,multi:c,"allow-target-blank":l,types:u,"no-types":d},positionals:[f,p]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},single:{type:`string`},multi:{type:`string`},"allow-target-blank":{type:`boolean`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a rich text field to an existing page type.
|
|
954
1061
|
|
|
955
1062
|
USAGE
|
|
956
1063
|
prismic page-type add-field rich-text <type-id> <field-id> [flags]
|
|
@@ -959,6 +1066,8 @@ ARGUMENTS
|
|
|
959
1066
|
type-id Page type identifier (required)
|
|
960
1067
|
field-id Field identifier (required)
|
|
961
1068
|
|
|
1069
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1070
|
+
|
|
962
1071
|
FLAGS
|
|
963
1072
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
964
1073
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
@@ -966,6 +1075,8 @@ FLAGS
|
|
|
966
1075
|
--single string Allowed block types for single-line (comma-separated)
|
|
967
1076
|
--multi string Allowed block types for multi-line (comma-separated)
|
|
968
1077
|
--allow-target-blank Allow opening links in new tab
|
|
1078
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1079
|
+
--no-types Skip type generation
|
|
969
1080
|
-h, --help Show help for command
|
|
970
1081
|
|
|
971
1082
|
BLOCK TYPES
|
|
@@ -977,9 +1088,9 @@ EXAMPLES
|
|
|
977
1088
|
prismic page-type add-field rich-text homepage body
|
|
978
1089
|
prismic page-type add-field rich-text article content --multi "paragraph,heading2,heading3,strong,em,hyperlink"
|
|
979
1090
|
prismic page-type add-field rich-text page tagline --single "heading1"
|
|
980
|
-
prismic page-type add-field rich-text blog post --multi "paragraph,strong,em,hyperlink" --allow-target-blank`);return}if(!
|
|
981
|
-
`),console.error(`Usage: prismic page-type add-field rich-text <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
982
|
-
`),console.error(`Usage: prismic page-type add-field rich-text <type-id> <field-id>`),process.exitCode=1;return}let
|
|
1091
|
+
prismic page-type add-field rich-text blog post --multi "paragraph,strong,em,hyperlink" --allow-target-blank`);return}if(!f){console.error(`Missing required argument: type-id
|
|
1092
|
+
`),console.error(`Usage: prismic page-type add-field rich-text <type-id> <field-id>`),process.exitCode=1;return}if(!p){console.error(`Missing required argument: field-id
|
|
1093
|
+
`),console.error(`Usage: prismic page-type add-field rich-text <type-id> <field-id>`),process.exitCode=1;return}let m=await W(`package.json`);if(!m){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let h=new URL(`customtypes/${f}/index.json`,m),g;try{let e=await r(h,`utf8`),t=B(Ai,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${h.href}`),process.exitCode=1;return}g=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${f}\n`),console.error(`Create it first with: prismic page-type create ${f}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let _=Object.keys(g.json),v=n??_[0]??`Main`;g.json[v]||(g.json[v]={});for(let[e,t]of Object.entries(g.json))if(t[p]){console.error(`Field "${p}" already exists in tab "${e}"`),process.exitCode=1;return}let y={type:`StructuredText`,config:{label:i??J(p),...a&&{placeholder:a},...o&&{single:o},...c&&{multi:c},...l&&{allowTargetBlank:!0}}};g.json[v][p]=y;try{await s(h,q(g))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${p}" (StructuredText) to "${v}" tab in ${f}`),!d)try{await K({output:u}),console.info(`Updated types in ${u??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Mi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Ni(){let{values:{help:t,tab:n,label:i,placeholder:a,option:o,default:c,types:l,"no-types":u},positionals:[d,f]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},option:{type:`string`,multiple:!0},default:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a select (dropdown) field to an existing page type.
|
|
983
1094
|
|
|
984
1095
|
USAGE
|
|
985
1096
|
prismic page-type add-field select <type-id> <field-id> [flags]
|
|
@@ -988,20 +1099,24 @@ ARGUMENTS
|
|
|
988
1099
|
type-id Page type identifier (required)
|
|
989
1100
|
field-id Field identifier (required)
|
|
990
1101
|
|
|
1102
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1103
|
+
|
|
991
1104
|
FLAGS
|
|
992
1105
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
993
1106
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
994
1107
|
-p, --placeholder string Placeholder text
|
|
995
1108
|
--option string Add an option (can be used multiple times)
|
|
996
1109
|
--default string Default selected value
|
|
1110
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1111
|
+
--no-types Skip type generation
|
|
997
1112
|
-h, --help Show help for command
|
|
998
1113
|
|
|
999
1114
|
EXAMPLES
|
|
1000
1115
|
prismic page-type add-field select homepage layout --option "full" --option "sidebar"
|
|
1001
1116
|
prismic page-type add-field select product size --option "small" --option "medium" --option "large" --default "medium"
|
|
1002
|
-
prismic page-type add-field select article status --option "draft" --option "published" --label "Status"`);return}if(!
|
|
1003
|
-
`),console.error(`Usage: prismic page-type add-field select <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1004
|
-
`),console.error(`Usage: prismic page-type add-field select <type-id> <field-id>`),process.exitCode=1;return}let
|
|
1117
|
+
prismic page-type add-field select article status --option "draft" --option "published" --label "Status"`);return}if(!d){console.error(`Missing required argument: type-id
|
|
1118
|
+
`),console.error(`Usage: prismic page-type add-field select <type-id> <field-id>`),process.exitCode=1;return}if(!f){console.error(`Missing required argument: field-id
|
|
1119
|
+
`),console.error(`Usage: prismic page-type add-field select <type-id> <field-id>`),process.exitCode=1;return}let p=await W(`package.json`);if(!p){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let m=new URL(`customtypes/${d}/index.json`,p),h;try{let e=await r(m,`utf8`),t=B(Mi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${m.href}`),process.exitCode=1;return}h=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${d}\n`),console.error(`Create it first with: prismic page-type create ${d}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let g=Object.keys(h.json),_=n??g[0]??`Main`;h.json[_]||(h.json[_]={});for(let[e,t]of Object.entries(h.json))if(t[f]){console.error(`Field "${f}" already exists in tab "${e}"`),process.exitCode=1;return}let v={type:`Select`,config:{label:i??J(f),...a&&{placeholder:a},...o&&o.length>0&&{options:o},...c&&{default_value:c}}};h.json[_][f]=v;try{await s(m,q(h))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${f}" (Select) to "${_}" tab in ${d}`),!u)try{await K({output:l}),console.info(`Updated types in ${l??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Pi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Fi(){let{values:{help:t,tab:n,label:i,placeholder:a,default:o,types:c,"no-types":l},positionals:[u,d]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},default:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a timestamp (date and time) field to an existing page type.
|
|
1005
1120
|
|
|
1006
1121
|
USAGE
|
|
1007
1122
|
prismic page-type add-field timestamp <type-id> <field-id> [flags]
|
|
@@ -1010,19 +1125,23 @@ ARGUMENTS
|
|
|
1010
1125
|
type-id Page type identifier (required)
|
|
1011
1126
|
field-id Field identifier (required)
|
|
1012
1127
|
|
|
1128
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1129
|
+
|
|
1013
1130
|
FLAGS
|
|
1014
1131
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
1015
1132
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1016
1133
|
-p, --placeholder string Placeholder text
|
|
1017
1134
|
--default string Default timestamp value (ISO 8601 format)
|
|
1135
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1136
|
+
--no-types Skip type generation
|
|
1018
1137
|
-h, --help Show help for command
|
|
1019
1138
|
|
|
1020
1139
|
EXAMPLES
|
|
1021
1140
|
prismic page-type add-field timestamp homepage event_time
|
|
1022
1141
|
prismic page-type add-field timestamp event start --tab "Schedule"
|
|
1023
|
-
prismic page-type add-field timestamp article published_at --label "Published At"`);return}if(!
|
|
1024
|
-
`),console.error(`Usage: prismic page-type add-field timestamp <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1025
|
-
`),console.error(`Usage: prismic page-type add-field timestamp <type-id> <field-id>`),process.exitCode=1;return}let
|
|
1142
|
+
prismic page-type add-field timestamp article published_at --label "Published At"`);return}if(!u){console.error(`Missing required argument: type-id
|
|
1143
|
+
`),console.error(`Usage: prismic page-type add-field timestamp <type-id> <field-id>`),process.exitCode=1;return}if(!d){console.error(`Missing required argument: field-id
|
|
1144
|
+
`),console.error(`Usage: prismic page-type add-field timestamp <type-id> <field-id>`),process.exitCode=1;return}let f=await W(`package.json`);if(!f){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let p=new URL(`customtypes/${u}/index.json`,f),m;try{let e=await r(p,`utf8`),t=B(Pi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${p.href}`),process.exitCode=1;return}m=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${u}\n`),console.error(`Create it first with: prismic page-type create ${u}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let h=Object.keys(m.json),g=n??h[0]??`Main`;m.json[g]||(m.json[g]={});for(let[e,t]of Object.entries(m.json))if(t[d]){console.error(`Field "${d}" already exists in tab "${e}"`),process.exitCode=1;return}let _={type:`Timestamp`,config:{label:i??J(d),...a&&{placeholder:a},...o&&{default:o}}};m.json[g][d]=_;try{await s(p,q(m))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${d}" (Timestamp) to "${g}" tab in ${u}`),!l)try{await K({output:c}),console.info(`Updated types in ${c??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Ii=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Li(){let{values:{help:t,tab:n,label:i,placeholder:a,types:o,"no-types":c},positionals:[l,u]}=e({args:process.argv.slice(5),options:{tab:{type:`string`,short:`t`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a UID (unique identifier) field to an existing page type.
|
|
1026
1145
|
|
|
1027
1146
|
USAGE
|
|
1028
1147
|
prismic page-type add-field uid <type-id> <field-id> [flags]
|
|
@@ -1031,18 +1150,22 @@ ARGUMENTS
|
|
|
1031
1150
|
type-id Page type identifier (required)
|
|
1032
1151
|
field-id Field identifier (required)
|
|
1033
1152
|
|
|
1153
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1154
|
+
|
|
1034
1155
|
FLAGS
|
|
1035
1156
|
-t, --tab string Target tab (default: first existing tab, or "Main")
|
|
1036
1157
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1037
1158
|
-p, --placeholder string Placeholder text
|
|
1159
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1160
|
+
--no-types Skip type generation
|
|
1038
1161
|
-h, --help Show help for command
|
|
1039
1162
|
|
|
1040
1163
|
EXAMPLES
|
|
1041
1164
|
prismic page-type add-field uid page uid
|
|
1042
1165
|
prismic page-type add-field uid article slug --label "URL Slug"
|
|
1043
|
-
prismic page-type add-field uid product sku --placeholder "Enter unique SKU"`);return}if(!
|
|
1044
|
-
`),console.error(`Usage: prismic page-type add-field uid <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1045
|
-
`),console.error(`Usage: prismic page-type add-field uid <type-id> <field-id>`),process.exitCode=1;return}let
|
|
1166
|
+
prismic page-type add-field uid product sku --placeholder "Enter unique SKU"`);return}if(!l){console.error(`Missing required argument: type-id
|
|
1167
|
+
`),console.error(`Usage: prismic page-type add-field uid <type-id> <field-id>`),process.exitCode=1;return}if(!u){console.error(`Missing required argument: field-id
|
|
1168
|
+
`),console.error(`Usage: prismic page-type add-field uid <type-id> <field-id>`),process.exitCode=1;return}let d=await W(`package.json`);if(!d){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let f=new URL(`customtypes/${l}/index.json`,d),p;try{let e=await r(f,`utf8`),t=B(Ii,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${f.href}`),process.exitCode=1;return}p=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${l}\n`),console.error(`Create it first with: prismic page-type create ${l}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let m=Object.keys(p.json),h=n??m[0]??`Main`;p.json[h]||(p.json[h]={});for(let[e,t]of Object.entries(p.json))if(t[u]){console.error(`Field "${u}" already exists in tab "${e}"`),process.exitCode=1;return}let g={type:`UID`,config:{label:i??J(u),...a&&{placeholder:a}}};p.json[h][u]=g;try{await s(f,q(p))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Added field "${u}" (UID) to "${h}" tab in ${l}`),!c)try{await K({output:o}),console.info(`Updated types in ${o??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function Ri(){let{positionals:[t]}=e({args:process.argv.slice(4),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`boolean`:await pi();break;case`color`:await hi();break;case`date`:await _i();break;case`embed`:await yi();break;case`geo-point`:await xi();break;case`image`:await Ci();break;case`key-text`:await Ti();break;case`link`:await Di();break;case`number`:await ki();break;case`rich-text`:await ji();break;case`select`:await Ni();break;case`timestamp`:await Fi();break;case`uid`:await Li();break;default:t&&(console.error(`Unknown field type: ${t}\n`),process.exitCode=1),console.info(`Add a field to an existing page type.
|
|
1046
1169
|
|
|
1047
1170
|
USAGE
|
|
1048
1171
|
prismic page-type add-field <field-type> <type-id> <field-id> [flags]
|
|
@@ -1072,7 +1195,7 @@ EXAMPLES
|
|
|
1072
1195
|
prismic page-type add-field key-text homepage meta_title --tab "SEO"
|
|
1073
1196
|
prismic page-type add-field link homepage button --allow-text
|
|
1074
1197
|
prismic page-type add-field rich-text homepage body --multi "paragraph,heading2,strong,em"
|
|
1075
|
-
prismic page-type add-field select homepage layout --option "full" --option "sidebar"`)}}const
|
|
1198
|
+
prismic page-type add-field select homepage layout --option "full" --option "sidebar"`)}}const zi=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Bi(){let{values:{help:t,"slice-zone":n,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(4),options:{"slice-zone":{type:`string`,short:`z`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Connect a shared slice to a page type's slice zone.
|
|
1076
1199
|
|
|
1077
1200
|
USAGE
|
|
1078
1201
|
prismic page-type connect-slice <type-id> <slice-id> [flags]
|
|
@@ -1081,16 +1204,20 @@ ARGUMENTS
|
|
|
1081
1204
|
type-id Page type identifier (required)
|
|
1082
1205
|
slice-id Slice identifier (required)
|
|
1083
1206
|
|
|
1207
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1208
|
+
|
|
1084
1209
|
FLAGS
|
|
1085
1210
|
-z, --slice-zone string Target slice zone field ID (default: "slices")
|
|
1211
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1212
|
+
--no-types Skip type generation
|
|
1086
1213
|
-h, --help Show help for command
|
|
1087
1214
|
|
|
1088
1215
|
EXAMPLES
|
|
1089
1216
|
prismic page-type connect-slice homepage CallToAction
|
|
1090
1217
|
prismic page-type connect-slice homepage CallToAction --slice-zone slices
|
|
1091
|
-
prismic page-type connect-slice article HeroSection -z body`);return}if(!
|
|
1092
|
-
`),console.error(`Usage: prismic page-type connect-slice <type-id> <slice-id>`),process.exitCode=1;return}if(!
|
|
1093
|
-
`),console.error(`Usage: prismic page-type connect-slice <type-id> <slice-id>`),process.exitCode=1;return}let
|
|
1218
|
+
prismic page-type connect-slice article HeroSection -z body`);return}if(!o){console.error(`Missing required argument: type-id
|
|
1219
|
+
`),console.error(`Usage: prismic page-type connect-slice <type-id> <slice-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: slice-id
|
|
1220
|
+
`),console.error(`Usage: prismic page-type connect-slice <type-id> <slice-id>`),process.exitCode=1;return}let l=await G(c);if(!l.ok){console.error(l.error),process.exitCode=1;return}let u=await W(`package.json`);if(!u){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let d=new URL(`customtypes/${o}/index.json`,u),f;try{let e=await r(d,`utf8`),t=B(zi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${d.href}`),process.exitCode=1;return}f=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${o}\n`),console.error(`Create it first with: prismic page-type create ${o}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let p=n??`slices`,m,h;for(let[,e]of Object.entries(f.json)){for(let[t,n]of Object.entries(e))if(n.type===`Slices`&&t===p){m=n,h=t;break}if(m)break}if(!m){if(n){console.error(`Slice zone "${n}" not found in page type "${o}"`),process.exitCode=1;return}let e=Object.keys(f.json)[0]??`Main`;f.json[e]||(f.json[e]={});let t={type:`Slices`,fieldset:`Slice Zone`,config:{choices:{}}};f.json[e][p]=t,m=t,h=p}if(m.config||={choices:{}},m.config.choices||(m.config.choices={}),c in m.config.choices){console.info(`Slice "${c}" is already connected to slice zone "${h}" in ${o}`);return}let g={type:`SharedSlice`};m.config.choices[c]=g;try{await s(d,q(f))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Connected slice "${c}" to slice zone "${h}" in ${o}`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function Vi(){let{values:{help:t,name:r,single:i,types:a,"no-types":o},positionals:[c]}=e({args:process.argv.slice(4),options:{name:{type:`string`,short:`n`},single:{type:`boolean`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Create a new page type in a Prismic repository.
|
|
1094
1221
|
|
|
1095
1222
|
USAGE
|
|
1096
1223
|
prismic page-type create <id> [flags]
|
|
@@ -1098,13 +1225,17 @@ USAGE
|
|
|
1098
1225
|
ARGUMENTS
|
|
1099
1226
|
id Page type identifier (required)
|
|
1100
1227
|
|
|
1228
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1229
|
+
|
|
1101
1230
|
FLAGS
|
|
1102
1231
|
-n, --name string Display name for the page type
|
|
1103
1232
|
--single Create as a singleton (non-repeatable) type
|
|
1233
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1234
|
+
--no-types Skip type generation
|
|
1104
1235
|
-h, --help Show help for command
|
|
1105
1236
|
|
|
1106
1237
|
LEARN MORE
|
|
1107
|
-
Use \`prismic page-type <command> --help\` for more information about a command.`);return}if(!
|
|
1238
|
+
Use \`prismic page-type <command> --help\` for more information about a command.`);return}if(!c){console.error(`Missing required argument: id`),process.exitCode=1;return}let l={id:c,label:r??Hi(c),repeatable:!i,status:!0,format:`page`,json:{Main:{},"SEO & Metadata":{}}},u=await W(`package.json`);if(!u){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let d=new URL(`customtypes/`,u),f=new URL(c+`/`,d),p=new URL(`index.json`,f);try{await n(new URL(`.`,p),{recursive:!0}),await s(p,q(l))}catch(e){e instanceof Error?console.error(`Failed to create page type: ${e.message}`):console.error(`Failed to create page type`),process.exitCode=1;return}if(console.info(`Created page type at ${p.href}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}function Hi(e){return e.toLowerCase().replace(/(^|[-_\s]+)(.)?/g,(e,t,n)=>n?.toUpperCase()??``)}const Ui=F({id:R(),label:R(),repeatable:P(),status:P(),format:R(),json:L(R(),L(R(),z()))});async function Wi(){let{values:{help:t,"slice-zone":n,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(4),options:{"slice-zone":{type:`string`,short:`z`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Disconnect a shared slice from a page type's slice zone.
|
|
1108
1239
|
|
|
1109
1240
|
USAGE
|
|
1110
1241
|
prismic page-type disconnect-slice <type-id> <slice-id> [flags]
|
|
@@ -1113,16 +1244,20 @@ ARGUMENTS
|
|
|
1113
1244
|
type-id Page type identifier (required)
|
|
1114
1245
|
slice-id Slice identifier (required)
|
|
1115
1246
|
|
|
1247
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1248
|
+
|
|
1116
1249
|
FLAGS
|
|
1117
1250
|
-z, --slice-zone string Target slice zone field ID (default: "slices")
|
|
1251
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1252
|
+
--no-types Skip type generation
|
|
1118
1253
|
-h, --help Show help for command
|
|
1119
1254
|
|
|
1120
1255
|
EXAMPLES
|
|
1121
1256
|
prismic page-type disconnect-slice homepage CallToAction
|
|
1122
1257
|
prismic page-type disconnect-slice homepage CallToAction --slice-zone slices
|
|
1123
|
-
prismic page-type disconnect-slice article HeroSection -z body`);return}if(!
|
|
1124
|
-
`),console.error(`Usage: prismic page-type disconnect-slice <type-id> <slice-id>`),process.exitCode=1;return}if(!
|
|
1125
|
-
`),console.error(`Usage: prismic page-type disconnect-slice <type-id> <slice-id>`),process.exitCode=1;return}let
|
|
1258
|
+
prismic page-type disconnect-slice article HeroSection -z body`);return}if(!o){console.error(`Missing required argument: type-id
|
|
1259
|
+
`),console.error(`Usage: prismic page-type disconnect-slice <type-id> <slice-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: slice-id
|
|
1260
|
+
`),console.error(`Usage: prismic page-type disconnect-slice <type-id> <slice-id>`),process.exitCode=1;return}let l=await W(`package.json`);if(!l){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let u=new URL(`customtypes/${o}/index.json`,l),d;try{let e=await r(u,`utf8`),t=B(Ui,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${u.href}`),process.exitCode=1;return}d=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${o}\n`),console.error(`Create it first with: prismic page-type create ${o}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}let f=n??`slices`,p,m;for(let[,e]of Object.entries(d.json)){for(let[t,n]of Object.entries(e))if(n.type===`Slices`&&t===f){p=n,m=t;break}if(p)break}if(!p){console.error(`Slice zone "${f}" not found in page type "${o}"`),process.exitCode=1;return}if(!p.config?.choices||!(c in p.config.choices)){console.error(`Slice "${c}" is not connected to slice zone "${m}" in ${o}`),process.exitCode=1;return}delete p.config.choices[c];try{await s(u,q(d))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Disconnected slice "${c}" from slice zone "${m}" in ${o}`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Gi=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function Ki(){let{values:{help:t,json:n}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`List all page types in a Prismic project.
|
|
1126
1261
|
|
|
1127
1262
|
USAGE
|
|
1128
1263
|
prismic page-type list [flags]
|
|
@@ -1133,7 +1268,7 @@ FLAGS
|
|
|
1133
1268
|
|
|
1134
1269
|
EXAMPLES
|
|
1135
1270
|
prismic page-type list
|
|
1136
|
-
prismic page-type list --json`);return}let a=await
|
|
1271
|
+
prismic page-type list --json`);return}let a=await W(`package.json`);if(!a){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let o=new URL(`customtypes/`,a),s;try{s=await i(o,{withFileTypes:!1})}catch{n?console.info(JSON.stringify([])):console.info(`No page types found.`);return}let c=[];for(let e of s){let t=new URL(`${e}/index.json`,o);try{let e=await r(t,`utf8`),n=B(Gi,JSON.parse(e));n.success&&n.output.format===`page`&&c.push({id:n.output.id,label:n.output.label,repeatable:n.output.repeatable})}catch{}}if(c.length===0){n?console.info(JSON.stringify([])):console.info(`No page types found.`);return}if(n)console.info(JSON.stringify(c,null,2));else{console.info(`ID LABEL TYPE`);for(let e of c){let t=e.repeatable?`repeatable`:`singleton`;console.info(`${e.id}\t${e.label}\t${t}`)}}}const qi=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function Ji(){let{values:{help:t,y:n,types:i,"no-types":a},positionals:[s]}=e({args:process.argv.slice(4),options:{y:{type:`boolean`,short:`y`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Remove a page type from the project.
|
|
1137
1272
|
|
|
1138
1273
|
USAGE
|
|
1139
1274
|
prismic page-type remove <type-id> [flags]
|
|
@@ -1141,14 +1276,18 @@ USAGE
|
|
|
1141
1276
|
ARGUMENTS
|
|
1142
1277
|
type-id Page type identifier (required)
|
|
1143
1278
|
|
|
1279
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1280
|
+
|
|
1144
1281
|
FLAGS
|
|
1145
1282
|
-y Confirm removal
|
|
1283
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1284
|
+
--no-types Skip type generation
|
|
1146
1285
|
-h, --help Show help for command
|
|
1147
1286
|
|
|
1148
1287
|
EXAMPLES
|
|
1149
1288
|
prismic page-type remove homepage
|
|
1150
|
-
prismic page-type remove homepage -y`);return}if(!
|
|
1151
|
-
`),console.error(`Usage: prismic page-type remove <type-id>`),process.exitCode=1;return}let
|
|
1289
|
+
prismic page-type remove homepage -y`);return}if(!s){console.error(`Missing required argument: type-id
|
|
1290
|
+
`),console.error(`Usage: prismic page-type remove <type-id>`),process.exitCode=1;return}let c=await W(`package.json`);if(!c){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let l=new URL(`customtypes/${s}/`,c),u=new URL(`index.json`,l),d;try{let e=await r(u,`utf8`),t=B(qi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${u.href}`),process.exitCode=1;return}d=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${s}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}if(d.format!==`page`){console.error(`"${s}" is not a page type (format: ${d.format??`custom`})`),process.exitCode=1;return}if(!n){console.error(`Refusing to remove page type "${s}" (this will delete the entire directory).`),console.error(`Re-run with -y to confirm.`),process.exitCode=1;return}try{await o(l,{recursive:!0})}catch(e){e instanceof Error?console.error(`Failed to remove page type: ${e.message}`):console.error(`Failed to remove page type`),process.exitCode=1;return}if(console.info(`Removed page type "${s}"`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Yi=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function Xi(){let{values:{help:t,tab:n,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(4),options:{tab:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Remove a field from a page type.
|
|
1152
1291
|
|
|
1153
1292
|
USAGE
|
|
1154
1293
|
prismic page-type remove-field <type-id> <field-id> [flags]
|
|
@@ -1157,15 +1296,19 @@ ARGUMENTS
|
|
|
1157
1296
|
type-id Page type identifier (required)
|
|
1158
1297
|
field-id Field identifier (required)
|
|
1159
1298
|
|
|
1299
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1300
|
+
|
|
1160
1301
|
FLAGS
|
|
1161
1302
|
--tab string Specific tab (searches all tabs if not specified)
|
|
1303
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1304
|
+
--no-types Skip type generation
|
|
1162
1305
|
-h, --help Show help for command
|
|
1163
1306
|
|
|
1164
1307
|
EXAMPLES
|
|
1165
1308
|
prismic page-type remove-field homepage title
|
|
1166
|
-
prismic page-type remove-field homepage meta_title --tab "SEO & Metadata"`);return}if(!
|
|
1167
|
-
`),console.error(`Usage: prismic page-type remove-field <type-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1168
|
-
`),console.error(`Usage: prismic page-type remove-field <type-id> <field-id>`),process.exitCode=1;return}let
|
|
1309
|
+
prismic page-type remove-field homepage meta_title --tab "SEO & Metadata"`);return}if(!o){console.error(`Missing required argument: type-id
|
|
1310
|
+
`),console.error(`Usage: prismic page-type remove-field <type-id> <field-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: field-id
|
|
1311
|
+
`),console.error(`Usage: prismic page-type remove-field <type-id> <field-id>`),process.exitCode=1;return}let l=await W(`package.json`);if(!l){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let u=new URL(`customtypes/${o}/index.json`,l),d;try{let e=await r(u,`utf8`),t=B(Yi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${u.href}`),process.exitCode=1;return}d=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${o}\n`),console.error(`Create it first with: prismic page-type create ${o}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}if(d.format!==`page`){console.error(`"${o}" is not a page type (format: ${d.format??`custom`})`),process.exitCode=1;return}let f;if(n){if(!d.json[n]){console.error(`Tab "${n}" not found in page type "${o}"`),console.error(`Available tabs: ${Object.keys(d.json).join(`, `)}`),process.exitCode=1;return}if(!(c in d.json[n])){console.error(`Field "${c}" not found in tab "${n}"`),process.exitCode=1;return}delete d.json[n][c],f=n}else{for(let[e,t]of Object.entries(d.json))if(c in t){delete t[c],f=e;break}if(!f){console.error(`Field "${c}" not found in any tab of page type "${o}"`),process.exitCode=1;return}}try{await s(u,q(d))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Removed field "${c}" from tab "${f}" in page type "${o}"`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const Zi=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function Qi(){let{values:{help:t,types:n,"no-types":i},positionals:[a,o]}=e({args:process.argv.slice(4),options:{types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Change a page type's display name (label).
|
|
1169
1312
|
|
|
1170
1313
|
USAGE
|
|
1171
1314
|
prismic page-type set-name <type-id> <new-name> [flags]
|
|
@@ -1174,14 +1317,18 @@ ARGUMENTS
|
|
|
1174
1317
|
type-id Page type identifier (required)
|
|
1175
1318
|
new-name New display name (required)
|
|
1176
1319
|
|
|
1320
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1321
|
+
|
|
1177
1322
|
FLAGS
|
|
1323
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1324
|
+
--no-types Skip type generation
|
|
1178
1325
|
-h, --help Show help for command
|
|
1179
1326
|
|
|
1180
1327
|
EXAMPLES
|
|
1181
1328
|
prismic page-type set-name homepage "Home Page"
|
|
1182
|
-
prismic page-type set-name blog_post "Blog Post"`);return}if(!
|
|
1183
|
-
`),console.error(`Usage: prismic page-type set-name <type-id> <new-name>`),process.exitCode=1;return}if(!
|
|
1184
|
-
`),console.error(`Usage: prismic page-type set-name <type-id> <new-name>`),process.exitCode=1;return}let
|
|
1329
|
+
prismic page-type set-name blog_post "Blog Post"`);return}if(!a){console.error(`Missing required argument: type-id
|
|
1330
|
+
`),console.error(`Usage: prismic page-type set-name <type-id> <new-name>`),process.exitCode=1;return}if(!o){console.error(`Missing required argument: new-name
|
|
1331
|
+
`),console.error(`Usage: prismic page-type set-name <type-id> <new-name>`),process.exitCode=1;return}let c=await W(`package.json`);if(!c){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let l=new URL(`customtypes/${a}/index.json`,c),u;try{let e=await r(l,`utf8`),t=B(Zi,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${l.href}`),process.exitCode=1;return}u=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${a}\n`),console.error(`Create it first with: prismic page-type create ${a}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}if(u.format!==`page`){console.error(`"${a}" is not a page type (format: ${u.format??`custom`})`),process.exitCode=1;return}u.label=o;try{await s(l,q(u))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}if(console.info(`Renamed page type "${a}" to "${o}"`),!i)try{await K({output:n}),console.info(`Updated types in ${n??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const $i=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function ea(){let{values:{help:t,types:n,"no-types":i},positionals:[a,o]}=e({args:process.argv.slice(4),options:{types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Set whether a page type is repeatable.
|
|
1185
1332
|
|
|
1186
1333
|
USAGE
|
|
1187
1334
|
prismic page-type set-repeatable <type-id> <true|false> [flags]
|
|
@@ -1190,14 +1337,18 @@ ARGUMENTS
|
|
|
1190
1337
|
type-id Page type identifier (required)
|
|
1191
1338
|
true|false Repeatable value (required)
|
|
1192
1339
|
|
|
1340
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1341
|
+
|
|
1193
1342
|
FLAGS
|
|
1343
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1344
|
+
--no-types Skip type generation
|
|
1194
1345
|
-h, --help Show help for command
|
|
1195
1346
|
|
|
1196
1347
|
EXAMPLES
|
|
1197
1348
|
prismic page-type set-repeatable homepage true
|
|
1198
|
-
prismic page-type set-repeatable settings false`);return}if(!
|
|
1199
|
-
`),console.error(`Usage: prismic page-type set-repeatable <type-id> <true|false>`),process.exitCode=1;return}if(!
|
|
1200
|
-
`),console.error(`Usage: prismic page-type set-repeatable <type-id> <true|false>`),process.exitCode=1;return}if(
|
|
1349
|
+
prismic page-type set-repeatable settings false`);return}if(!a){console.error(`Missing required argument: type-id
|
|
1350
|
+
`),console.error(`Usage: prismic page-type set-repeatable <type-id> <true|false>`),process.exitCode=1;return}if(!o){console.error(`Missing required argument: true|false
|
|
1351
|
+
`),console.error(`Usage: prismic page-type set-repeatable <type-id> <true|false>`),process.exitCode=1;return}if(o!==`true`&&o!==`false`){console.error(`Invalid value: "${o}". Must be "true" or "false".`),process.exitCode=1;return}let c=o===`true`,l=await W(`package.json`);if(!l){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let u=new URL(`customtypes/${a}/index.json`,l),d;try{let e=await r(u,`utf8`),t=B($i,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${u.href}`),process.exitCode=1;return}d=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${a}\n`),console.error(`Create it first with: prismic page-type create ${a}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}if(d.format!==`page`){console.error(`"${a}" is not a page type (format: ${d.format??`custom`})`),process.exitCode=1;return}d.repeatable=c;try{await s(u,q(d))}catch(e){e instanceof Error?console.error(`Failed to update page type: ${e.message}`):console.error(`Failed to update page type`),process.exitCode=1;return}let f=c?`repeatable`:`singleton`;if(console.info(`Set page type "${a}" to ${f}`),!i)try{await K({output:n}),console.info(`Updated types in ${n??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}const ta=F({id:R(),label:R(),repeatable:P(),status:P(),format:I(R()),json:L(R(),L(R(),z()))});async function na(){let{values:{help:t,json:n},positionals:[i]}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`View details of a specific page type.
|
|
1201
1352
|
|
|
1202
1353
|
USAGE
|
|
1203
1354
|
prismic page-type view <type-id> [flags]
|
|
@@ -1212,7 +1363,7 @@ FLAGS
|
|
|
1212
1363
|
EXAMPLES
|
|
1213
1364
|
prismic page-type view homepage
|
|
1214
1365
|
prismic page-type view homepage --json`);return}if(!i){console.error(`Missing required argument: type-id
|
|
1215
|
-
`),console.error(`Usage: prismic page-type view <type-id>`),process.exitCode=1;return}let a=await
|
|
1366
|
+
`),console.error(`Usage: prismic page-type view <type-id>`),process.exitCode=1;return}let a=await W(`package.json`);if(!a){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let o=new URL(`customtypes/${i}/index.json`,a),s;try{let e=await r(o,`utf8`),t=B(ta,JSON.parse(e));if(!t.success){console.error(`Invalid page type model: ${o.href}`),process.exitCode=1;return}s=t.output}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`){console.error(`Page type not found: ${i}\n`),console.error(`Create it first with: prismic page-type create ${i}`),process.exitCode=1;return}e instanceof Error?console.error(`Failed to read page type: ${e.message}`):console.error(`Failed to read page type`),process.exitCode=1;return}if(s.format!==`page`){console.error(`"${i}" is not a page type (format: ${s.format??`custom`})`),process.exitCode=1;return}if(n){console.info(JSON.stringify(s,null,2));return}console.info(`ID: ${s.id}`),console.info(`Label: ${s.label}`),console.info(`Repeatable: ${s.repeatable}`);let c=Object.entries(s.json);console.info(`\nTabs (${c.length}):`);for(let[e,t]of c){let n=Object.keys(t).length;console.info(` - ${e}: ${n} fields`)}}async function ra(){let{positionals:[t]}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`create`:await Vi();break;case`list`:await Ki();break;case`view`:await na();break;case`remove`:await Ji();break;case`set-name`:await Qi();break;case`set-repeatable`:await ea();break;case`add-field`:await Ri();break;case`remove-field`:await Xi();break;case`connect-slice`:await Bi();break;case`disconnect-slice`:await Wi();break;default:t&&(console.error(`Unknown page-type subcommand: ${t}\n`),process.exitCode=1),console.info(`Manage page types in a Prismic repository.
|
|
1216
1367
|
|
|
1217
1368
|
USAGE
|
|
1218
1369
|
prismic page-type <command> [flags]
|
|
@@ -1233,7 +1384,7 @@ FLAGS
|
|
|
1233
1384
|
-h, --help Show help for command
|
|
1234
1385
|
|
|
1235
1386
|
LEARN MORE
|
|
1236
|
-
Use \`prismic page-type <command> --help\` for more information about a command.`)}}async function
|
|
1387
|
+
Use \`prismic page-type <command> --help\` for more information about a command.`)}}async function ia(){let{values:{help:t,name:n,repo:r=await Y()},positionals:[i]}=e({args:process.argv.slice(4),options:{name:{type:`string`,short:`n`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a preview configuration to a Prismic repository.
|
|
1237
1388
|
|
|
1238
1389
|
By default, this command reads the repository from prismic.config.json at the
|
|
1239
1390
|
project root.
|
|
@@ -1250,7 +1401,7 @@ FLAGS
|
|
|
1250
1401
|
-h, --help Show help for command
|
|
1251
1402
|
|
|
1252
1403
|
LEARN MORE
|
|
1253
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!i){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!r){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1404
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!i){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!r){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){sa();return}let a=aa(i);if(!a){console.error(`Invalid URL: ${i}`),process.exitCode=1;return}let o=await oa(r,{name:n||a.hostname,websiteURL:a.websiteURL,resolverPath:a.resolverPath});if(!o.ok){o.error instanceof Z?sa():(console.error(`Failed to add preview: ${q(o.value)}`),process.exitCode=1);return}console.info(`Preview added: ${i}`)}function aa(e){try{let t=new URL(e);return{websiteURL:`${t.protocol}//${t.host}`,resolverPath:t.pathname===`/`?void 0:t.pathname,hostname:t.hostname}}catch{return}}async function oa(e,t){return await X(new URL(`/previews/new`,await V(e)),{method:`POST`,body:{name:t.name,websiteURL:t.websiteURL,resolverPath:t.resolverPath}})}function sa(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function ca(){let{values:{help:t,repo:n=await Y(),json:r}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`Show the slice simulator URL for a Prismic repository.
|
|
1254
1405
|
|
|
1255
1406
|
By default, this command reads the repository from prismic.config.json at the
|
|
1256
1407
|
project root.
|
|
@@ -1264,7 +1415,7 @@ FLAGS
|
|
|
1264
1415
|
-h, --help Show help for command
|
|
1265
1416
|
|
|
1266
1417
|
LEARN MORE
|
|
1267
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1418
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){da();return}let i=await ua(n);if(!i.ok){i.error instanceof Z?da():M(i.error)?(console.error(`Failed to get simulator URL: Invalid response: ${q(i.error.issues)}`),process.exitCode=1):(console.error(`Failed to get simulator URL: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.simulator_url;if(!a){r?console.info(q({simulator_url:null})):console.info(`No simulator URL configured.`);return}r?console.info(q({simulator_url:a})):console.info(a)}const la=F({simulator_url:I(R())});async function ua(e){return await X(new URL(`/core/repository`,await V(e)),{schema:la})}function da(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function fa(){let{values:{help:t,repo:n=await Y(),json:r}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`List all preview configurations in a Prismic repository.
|
|
1268
1419
|
|
|
1269
1420
|
By default, this command reads the repository from prismic.config.json at the
|
|
1270
1421
|
project root.
|
|
@@ -1278,7 +1429,7 @@ FLAGS
|
|
|
1278
1429
|
-h, --help Show help for command
|
|
1279
1430
|
|
|
1280
1431
|
LEARN MORE
|
|
1281
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1432
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){ha();return}let i=await ma(n);if(!i.ok){i.error instanceof Z?ha():M(i.error)?(console.error(`Failed to list previews: Invalid response: ${q(i.error.issues)}`),process.exitCode=1):(console.error(`Failed to list previews: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.results;if(r)console.info(q(a));else for(let e of a)console.info(`${e.url} ${e.label}`)}const pa=F({results:N(F({id:R(),label:R(),url:R()}))});async function ma(e){return await X(new URL(`/core/repository/preview_configs`,await V(e)),{schema:pa})}function ha(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function ga(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Remove a preview configuration from a Prismic repository.
|
|
1282
1433
|
|
|
1283
1434
|
By default, this command reads the repository from prismic.config.json at the
|
|
1284
1435
|
project root.
|
|
@@ -1294,7 +1445,7 @@ FLAGS
|
|
|
1294
1445
|
-h, --help Show help for command
|
|
1295
1446
|
|
|
1296
1447
|
LEARN MORE
|
|
1297
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1448
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){va();return}let i=await ma(n);if(!i.ok){i.error instanceof Z?va():(console.error(`Failed to fetch previews: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.results.find(e=>e.url===r);if(!a){console.error(`Preview not found: ${r}`),process.exitCode=1;return}let o=await _a(n,a.id);if(!o.ok){o.error instanceof Z?va():(console.error(`Failed to remove preview: ${q(o.value)}`),process.exitCode=1);return}console.info(`Preview removed: ${r}`)}async function _a(e,t){return await X(new URL(`/previews/delete/${t}`,await V(e)),{method:`POST`,body:{}})}function va(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function ya(){let{values:{help:t,repo:n=await Y()}}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`Remove the slice simulator URL from a Prismic repository.
|
|
1298
1449
|
|
|
1299
1450
|
By default, this command reads the repository from prismic.config.json at the
|
|
1300
1451
|
project root.
|
|
@@ -1307,7 +1458,7 @@ FLAGS
|
|
|
1307
1458
|
-h, --help Show help for command
|
|
1308
1459
|
|
|
1309
1460
|
LEARN MORE
|
|
1310
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1461
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){xa();return}let r=await ba(n);if(!r.ok){r.error instanceof Z?xa():(console.error(`Failed to remove simulator URL: ${q(r.value)}`),process.exitCode=1);return}console.info(`Simulator URL removed.`)}async function ba(e){return await X(new URL(`/core/repository`,await V(e)),{method:`PATCH`,body:{simulator_url:``}})}function xa(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function Sa(){let{values:{help:t,repo:n=await Y()},positionals:[r,i]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Update the name of a preview configuration.
|
|
1311
1462
|
|
|
1312
1463
|
By default, this command reads the repository from prismic.config.json at the
|
|
1313
1464
|
project root.
|
|
@@ -1324,7 +1475,7 @@ FLAGS
|
|
|
1324
1475
|
-h, --help Show help for command
|
|
1325
1476
|
|
|
1326
1477
|
LEARN MORE
|
|
1327
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!i){console.error(`Missing required argument: <name>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1478
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!i){console.error(`Missing required argument: <name>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){wa();return}let a=aa(r);if(!a){console.error(`Invalid URL: ${r}`),process.exitCode=1;return}let o=await ma(n);if(!o.ok){o.error instanceof Z?wa():(console.error(`Failed to fetch previews: ${q(o.value)}`),process.exitCode=1);return}let s=o.value.results.find(e=>e.url===r);if(!s){console.error(`Preview not found: ${r}`),process.exitCode=1;return}let c=await Ca(n,s.id,{name:i,websiteURL:a.websiteURL,resolverPath:a.resolverPath});if(!c.ok){c.error instanceof Z?wa():(console.error(`Failed to update preview: ${q(c.value)}`),process.exitCode=1);return}console.info(`Preview updated: ${r}`)}async function Ca(e,t,n){return await X(new URL(`/previews/save/${t}`,await V(e)),{method:`POST`,body:{name:n.name,websiteURL:n.websiteURL,resolverPath:n.resolverPath}})}function wa(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function Ta(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Set the slice simulator URL for a Prismic repository.
|
|
1328
1479
|
|
|
1329
1480
|
If the URL pathname does not end with /slice-simulator, it is appended
|
|
1330
1481
|
automatically.
|
|
@@ -1347,7 +1498,7 @@ EXAMPLES
|
|
|
1347
1498
|
prismic preview set-simulator http://localhost:3000/slice-simulator
|
|
1348
1499
|
|
|
1349
1500
|
LEARN MORE
|
|
1350
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1501
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){Oa();return}let i=Ea(r);if(!i){console.error(`Invalid URL: ${r}`),process.exitCode=1;return}let a=await Da(n,i);if(!a.ok){a.error instanceof Z?Oa():(console.error(`Failed to set simulator URL: ${q(a.value)}`),process.exitCode=1);return}console.info(`Simulator URL set: ${i}`)}function Ea(e){try{let t=new URL(e);return t.pathname.endsWith(`/slice-simulator`)||(t.pathname=t.pathname.replace(/\/+$/,``)+`/slice-simulator`),t.toString()}catch{return}}async function Da(e,t){return await X(new URL(`/core/repository`,await V(e)),{method:`PATCH`,body:{simulator_url:t}})}function Oa(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function ka(){let{positionals:[t]}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`add`:await ia();break;case`list`:await fa();break;case`remove`:await ga();break;case`set-name`:await Sa();break;case`set-simulator`:await Ta();break;case`get-simulator`:await ca();break;case`remove-simulator`:await ya();break;default:t&&(console.error(`Unknown preview subcommand: ${t}\n`),process.exitCode=1),console.info(`Manage preview configurations in a Prismic repository.
|
|
1351
1502
|
|
|
1352
1503
|
USAGE
|
|
1353
1504
|
prismic preview <command> [flags]
|
|
@@ -1365,7 +1516,7 @@ FLAGS
|
|
|
1365
1516
|
-h, --help Show help for command
|
|
1366
1517
|
|
|
1367
1518
|
LEARN MORE
|
|
1368
|
-
Use \`prismic preview <command> --help\` for more information about a command.`)}}async function
|
|
1519
|
+
Use \`prismic preview <command> --help\` for more information about a command.`)}}async function Aa(){let{values:{help:t,repo:r=await Y(),"dry-run":i,"types-only":a,"slices-only":o,json:c,types:l,"no-types":u}}=e({args:process.argv.slice(3),options:{repo:{type:`string`,short:`r`},"dry-run":{type:`boolean`},"types-only":{type:`boolean`},"slices-only":{type:`boolean`},json:{type:`boolean`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`Pull custom types and slices from Prismic to local files.
|
|
1369
1520
|
|
|
1370
1521
|
By default, this command reads the repository from prismic.config.json at the
|
|
1371
1522
|
project root.
|
|
@@ -1373,21 +1524,25 @@ project root.
|
|
|
1373
1524
|
USAGE
|
|
1374
1525
|
prismic pull [flags]
|
|
1375
1526
|
|
|
1527
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1528
|
+
|
|
1376
1529
|
FLAGS
|
|
1377
1530
|
-r, --repo string Repository domain
|
|
1378
1531
|
--dry-run Show what would be pulled without writing files
|
|
1379
1532
|
--types-only Only pull custom types
|
|
1380
1533
|
--slices-only Only pull slices
|
|
1381
1534
|
--json Output as JSON
|
|
1535
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1536
|
+
--no-types Skip type generation
|
|
1382
1537
|
-h, --help Show help for command
|
|
1383
1538
|
|
|
1384
1539
|
EXAMPLES
|
|
1385
1540
|
prismic pull
|
|
1386
1541
|
prismic pull --repo my-repo
|
|
1387
1542
|
prismic pull --dry-run
|
|
1388
|
-
prismic pull --types-only`);return}if(!r){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1389
|
-
Writing custom types:`);let e=new URL(`customtypes/`,
|
|
1390
|
-
Writing slices:`);let e=await
|
|
1543
|
+
prismic pull --types-only`);return}if(!r){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1;return}c||console.info(`Pulling from repository: ${r}\n`);let d=!o,f=!a,[p,m]=await Promise.all([d?Nn(r):Promise.resolve({ok:!0,value:[]}),f?Pn(r):Promise.resolve({ok:!0,value:[]})]);if(!p.ok){console.error(`Failed to fetch custom types: ${p.error}`),process.exitCode=1;return}if(!m.ok){console.error(`Failed to fetch slices: ${m.error}`),process.exitCode=1;return}let h=p.value,g=m.value;if(c||(d&&console.info(`Fetching custom types... ${h.length} types`),f&&console.info(`Fetching slices... ${g.length} slices`)),i){if(c)console.info(q({customTypes:h,slices:g}));else{if(console.info(``),d&&h.length>0){console.info(`Would write custom types:`);for(let e of h)console.info(` customtypes/${e.id}/index.json`)}if(f&&g.length>0){let e=ja(await Dn());console.info(`Would write slices:`);for(let t of g)console.info(` ${e}${An(t.name)}/model.json`)}console.info(`\nDry run complete: ${h.length} custom types, ${g.length} slices`)}return}let _=await W(`package.json`);if(!_){console.error(`Could not find project root (no package.json found)`),process.exitCode=1;return}let v=new URL(`.`,_),y=[],b=[];if(d&&h.length>0){c||console.info(`
|
|
1544
|
+
Writing custom types:`);let e=new URL(`customtypes/`,v);for(let t of h){let r=new URL(`${t.id}/`,e),i=new URL(`index.json`,r);try{await n(r,{recursive:!0}),await s(i,q(t));let e=`customtypes/${t.id}/index.json`;y.push(e),c||console.info(` ${e}`)}catch(e){console.error(`Failed to write custom type ${t.id}: ${e instanceof Error?e.message:e}`),process.exitCode=1;return}}}if(f&&g.length>0){c||console.info(`
|
|
1545
|
+
Writing slices:`);let e=await Dn();for(let t of g){let r=new URL(`${An(t.name)}/`,e),i=new URL(`model.json`,r);try{await n(r,{recursive:!0}),await s(i,q(t));let a=`${ja(e)}${An(t.name)}/model.json`;b.push(a),c||console.info(` ${a}`)}catch(e){console.error(`Failed to write slice ${t.name}: ${e instanceof Error?e.message:e}`),process.exitCode=1;return}}}if(c?console.info(q({writtenTypes:y,writtenSlices:b})):console.info(`\nPull complete: ${y.length} custom types, ${b.length} slices`),!c&&!u)try{await K({output:l}),console.info(`Updated types in ${l??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}function ja(e){let t=process.cwd(),n=e.pathname;return n.startsWith(t)?n.slice(t.length+1):n}function Ma(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map(t.map(e=>[e.id,e])),i=[],a=[],o=[];for(let t of e){let e=r.get(t.id);e?JSON.stringify(t)!==JSON.stringify(e)&&a.push(t):i.push(t)}for(let e of t)n.has(e.id)||o.push(e.id);return{toInsert:i,toUpdate:a,toDelete:o}}async function Na(){let{values:{help:t,repo:n=await Y(),"dry-run":r,"types-only":i,"slices-only":a,delete:o,json:s}}=e({args:process.argv.slice(3),options:{repo:{type:`string`,short:`r`},"dry-run":{type:`boolean`},"types-only":{type:`boolean`},"slices-only":{type:`boolean`},delete:{type:`boolean`},json:{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`Push custom types and slices to Prismic from local files.
|
|
1391
1546
|
|
|
1392
1547
|
By default, this command reads the repository from prismic.config.json at the
|
|
1393
1548
|
project root.
|
|
@@ -1409,10 +1564,10 @@ EXAMPLES
|
|
|
1409
1564
|
prismic push --repo my-repo
|
|
1410
1565
|
prismic push --dry-run
|
|
1411
1566
|
prismic push --types-only
|
|
1412
|
-
prismic push --delete`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1413
|
-
No changes to push.`);return}if(r){if(s)console.info(
|
|
1414
|
-
Pushing custom types:`);for(let e of v.toInsert){let t=await
|
|
1415
|
-
Pushing slices:`);for(let e of y.toInsert){let t=await
|
|
1567
|
+
prismic push --delete`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1;return}s||console.info(`Pushing to repository: ${n}\n`);let c=!a,l=!i,[u,d,f,p]=await Promise.all([c?Fn():Promise.resolve({ok:!0,value:[]}),l?In():Promise.resolve({ok:!0,value:[]}),c?Nn(n):Promise.resolve({ok:!0,value:[]}),l?Pn(n):Promise.resolve({ok:!0,value:[]})]);if(!u.ok){console.error(`Failed to read local custom types: ${u.error}`),process.exitCode=1;return}if(!d.ok){console.error(`Failed to read local slices: ${d.error}`),process.exitCode=1;return}if(!f.ok){console.error(`Failed to fetch remote custom types: ${f.error}`),process.exitCode=1;return}if(!p.ok){console.error(`Failed to fetch remote slices: ${p.error}`),process.exitCode=1;return}let m=u.value,h=d.value,g=f.value,_=p.value;s||(c&&(console.info(`Local custom types: ${m.length}`),console.info(`Remote custom types: ${g.length}`)),l&&(console.info(`Local slices: ${h.length}`),console.info(`Remote slices: ${_.length}`)));let v=c?Ma([...m],[...g]):{toInsert:[],toUpdate:[],toDelete:[]},y=l?Ma([...h],[..._]):{toInsert:[],toUpdate:[],toDelete:[]};o||(v.toDelete=[],y.toDelete=[]);let b=v.toInsert.length+v.toUpdate.length+v.toDelete.length+y.toInsert.length+y.toUpdate.length+y.toDelete.length;if(b===0){s?console.info(q({customTypes:{inserted:[],updated:[],deleted:[]},slices:{inserted:[],updated:[],deleted:[]}})):console.info(`
|
|
1568
|
+
No changes to push.`);return}if(r){if(s)console.info(q({customTypes:{toInsert:v.toInsert.map(e=>e.id),toUpdate:v.toUpdate.map(e=>e.id),toDelete:v.toDelete},slices:{toInsert:y.toInsert.map(e=>e.id),toUpdate:y.toUpdate.map(e=>e.id),toDelete:y.toDelete}}));else{if(console.info(``),c){if(v.toInsert.length>0){console.info(`Would insert custom types:`);for(let e of v.toInsert)console.info(` + ${e.id}`)}if(v.toUpdate.length>0){console.info(`Would update custom types:`);for(let e of v.toUpdate)console.info(` ~ ${e.id}`)}if(v.toDelete.length>0){console.info(`Would delete custom types:`);for(let e of v.toDelete)console.info(` - ${e}`)}}if(l){if(y.toInsert.length>0){console.info(`Would insert slices:`);for(let e of y.toInsert)console.info(` + ${e.id}`)}if(y.toUpdate.length>0){console.info(`Would update slices:`);for(let e of y.toUpdate)console.info(` ~ ${e.id}`)}if(y.toDelete.length>0){console.info(`Would delete slices:`);for(let e of y.toDelete)console.info(` - ${e}`)}}console.info(`\nDry run complete: ${b} changes would be made`)}return}let x={customTypes:{inserted:[],updated:[],deleted:[]},slices:{inserted:[],updated:[],deleted:[]}};if(c){!s&&(v.toInsert.length>0||v.toUpdate.length>0||v.toDelete.length>0)&&console.info(`
|
|
1569
|
+
Pushing custom types:`);for(let e of v.toInsert){let t=await Ln(n,e);if(!t.ok){console.error(`Failed to insert custom type ${e.id}: ${t.error}`),process.exitCode=1;return}x.customTypes.inserted.push(e.id),s||console.info(` + ${e.id}`)}for(let e of v.toUpdate){let t=await Rn(n,e);if(!t.ok){console.error(`Failed to update custom type ${e.id}: ${t.error}`),process.exitCode=1;return}x.customTypes.updated.push(e.id),s||console.info(` ~ ${e.id}`)}for(let e of v.toDelete){let t=await zn(n,e);if(!t.ok){console.error(`Failed to delete custom type ${e}: ${t.error}`),process.exitCode=1;return}x.customTypes.deleted.push(e),s||console.info(` - ${e}`)}}if(l){!s&&(y.toInsert.length>0||y.toUpdate.length>0||y.toDelete.length>0)&&console.info(`
|
|
1570
|
+
Pushing slices:`);for(let e of y.toInsert){let t=await Bn(n,e);if(!t.ok){console.error(`Failed to insert slice ${e.id}: ${t.error}`),process.exitCode=1;return}x.slices.inserted.push(e.id),s||console.info(` + ${e.id}`)}for(let e of y.toUpdate){let t=await Vn(n,e);if(!t.ok){console.error(`Failed to update slice ${e.id}: ${t.error}`),process.exitCode=1;return}x.slices.updated.push(e.id),s||console.info(` ~ ${e.id}`)}for(let e of y.toDelete){let t=await Hn(n,e);if(!t.ok){console.error(`Failed to delete slice ${e}: ${t.error}`),process.exitCode=1;return}x.slices.deleted.push(e),s||console.info(` - ${e}`)}}if(s)console.info(q(x));else{let e=x.customTypes.inserted.length+x.customTypes.updated.length+x.customTypes.deleted.length+x.slices.inserted.length+x.slices.updated.length+x.slices.deleted.length;console.info(`\nPush complete: ${e} changes`)}}const Pa=/^[a-zA-Z0-9][-a-zA-Z0-9]{2,}[a-zA-Z0-9]$/;async function Fa(){let{values:{help:t,name:n,"no-config":r,replace:i},positionals:[a]}=e({args:process.argv.slice(4),options:{help:{type:`boolean`,short:`h`},name:{type:`string`,short:`n`},"no-config":{type:`boolean`},replace:{type:`boolean`}},allowPositionals:!0});if(t){console.info(`Create a new Prismic repository.
|
|
1416
1571
|
|
|
1417
1572
|
Creates prismic.config.json in the current directory. If a config file already
|
|
1418
1573
|
exists, use --replace to update it with the new repository.
|
|
@@ -1431,7 +1586,7 @@ FLAGS
|
|
|
1431
1586
|
-h, --help Show help for command
|
|
1432
1587
|
|
|
1433
1588
|
LEARN MORE
|
|
1434
|
-
Use \`prismic repo <command> --help\` for more information about a command.`);return}if(!a){console.error(`Missing required argument: domain`),process.exitCode=1;return}if(!
|
|
1589
|
+
Use \`prismic repo <command> --help\` for more information about a command.`);return}if(!a){console.error(`Missing required argument: domain`),process.exitCode=1;return}if(!Pa.test(a)){console.error(`Invalid domain format.`),console.error(`Must be at least 4 characters, start and end with alphanumeric, and contain only alphanumerics and hyphens.`),process.exitCode=1;return}if(!await H()){La();return}let o=await Rr();if(!r&&o.ok&&!i){console.error(`This project already has a repository: ${o.config.repositoryName}`),console.error(`Use --replace to replace it, or --no-config to skip config creation.`),process.exitCode=1;return}let s=await Ia(a,n);if(!s.ok){s.error instanceof Z?La():(console.error(`Failed to create repository: ${q(s.error)}`),process.exitCode=1);return}if(!r)if(o.ok){let e=await Br({repositoryName:a});e.ok?console.info(`Updated prismic.config.json`):console.warn(`Could not update prismic.config.json: `+e.error.message)}else{let e=await Lr({repositoryName:a});e.ok?console.info(`Created prismic.config.json`):console.warn(`Could not create prismic.config.json: `+e.error.message)}console.info(`Repository created: ${a}`),console.info(`URL: ${await V(a)}`)}async function Ia(e,t=e){return await X(new URL(`/app/dashboard/repositories`,await Sn()),{method:`POST`,body:{domain:e,name:t,framework:`next`,plan:`personal`,usageIntent:`Exploring Prismic's features for future projects.`,usageIntentIndex:0}})}function La(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}const Ra=F({repository:F({api_access:R()})});async function za(){let{values:{help:t,repo:n=await Y()}}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Get the Content API access level of a Prismic repository.
|
|
1435
1590
|
|
|
1436
1591
|
By default, this command reads the repository from prismic.config.json at the
|
|
1437
1592
|
project root.
|
|
@@ -1444,7 +1599,7 @@ FLAGS
|
|
|
1444
1599
|
-h, --help Show help for command
|
|
1445
1600
|
|
|
1446
1601
|
LEARN MORE
|
|
1447
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1602
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){Va();return}let r=await Ba(n);if(!r.ok){r.error instanceof Z?Va():(console.error(`Failed to get repository access: ${q(r.value)}`),process.exitCode=1);return}console.info(r.value.repository.api_access)}async function Ba(e){let t=await V(e);return await X(new URL(`syncState`,t),{schema:Ra})}function Va(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}const Ha=F({repositories:N(F({domain:R(),name:I(R()),role:R()}))});async function Ua(){let{values:{help:t,json:n}}=e({args:process.argv.slice(4),options:{help:{type:`boolean`,short:`h`},json:{type:`boolean`}}});if(t){console.info(`List all Prismic repositories.
|
|
1448
1603
|
|
|
1449
1604
|
USAGE
|
|
1450
1605
|
prismic repo list [flags]
|
|
@@ -1454,7 +1609,7 @@ FLAGS
|
|
|
1454
1609
|
-h, --help Show help for command
|
|
1455
1610
|
|
|
1456
1611
|
LEARN MORE
|
|
1457
|
-
Use \`prismic repo <command> --help\` for more information about a command.`);return}if(!await
|
|
1612
|
+
Use \`prismic repo <command> --help\` for more information about a command.`);return}if(!await H()){Ga();return}let r=await Wa();if(!r.ok){r.error instanceof Z?Ga():(console.error(`Failed to fetch repositories: ${q(r.value)}`),process.exitCode=1);return}let i=r.value.repositories;if(n){let e=await Promise.all(i.map(async e=>({domain:e.domain,name:e.name||null,role:e.role,url:(await V(e.domain)).toString()})));console.info(q(e));return}if(i.length===0){console.info(`No repositories found.`);return}for(let e of i){let t=e.name||`(no name)`;console.info(`${e.domain} ${t} ${e.role}`)}}async function Wa(){return await X(new URL(`profile`,await _n()),{schema:Ha})}function Ga(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}const Ka=[`private`,`public`,`open`];async function qa(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Set the Content API access level of a Prismic repository.
|
|
1458
1613
|
|
|
1459
1614
|
By default, this command reads the repository from prismic.config.json at the
|
|
1460
1615
|
project root.
|
|
@@ -1470,7 +1625,7 @@ FLAGS
|
|
|
1470
1625
|
-h, --help Show help for command
|
|
1471
1626
|
|
|
1472
1627
|
LEARN MORE
|
|
1473
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <level>`),process.exitCode=1;return}if(!
|
|
1628
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <level>`),process.exitCode=1;return}if(!Ka.includes(r)){console.error(`Invalid access level: ${r}. Must be one of: ${Ka.join(`, `)}`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){Ya();return}let i=await Ja(n,r);if(!i.ok){i.error instanceof Z?Ya():(console.error(`Failed to set repository access: ${q(i.value)}`),process.exitCode=1);return}console.info(`Repository access set to: ${r}`)}async function Ja(e,t){let n=await V(e);return await X(new URL(`settings/security/apiaccess`,n),{method:`POST`,body:{api_access:t}})}function Ya(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function Xa(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Set the display name of a Prismic repository.
|
|
1474
1629
|
|
|
1475
1630
|
By default, this command reads the repository from prismic.config.json at the
|
|
1476
1631
|
project root.
|
|
@@ -1486,7 +1641,7 @@ FLAGS
|
|
|
1486
1641
|
-h, --help Show help for command
|
|
1487
1642
|
|
|
1488
1643
|
LEARN MORE
|
|
1489
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <name>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
1644
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <name>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){Qa();return}let i=await Za(n,r);if(!i.ok){i.error instanceof Z?Qa():M(i.error)?(console.error(`Failed to set repository name: Invalid response: ${q(i.error.issues)}`),process.exitCode=1):(console.error(`Failed to set repository name: ${q(i.value)}`),process.exitCode=1);return}console.info(`Repository name set to: ${i.value.repository.name}`)}async function Za(e,t){let n=await V(e),r=new URL(`app/settings/repository`,n),i=new FormData;return i.set(`displayname`,t),await X(r,{method:`POST`,body:i,schema:F({repository:F({name:R()})})})}function Qa(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}const $a=F({repositories:N(F({domain:R(),name:I(R())}))});async function eo(){let{values:{help:t,repo:n=await Y(),web:r}}=e({args:process.argv.slice(4),options:{web:{type:`boolean`,short:`w`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}}});if(t){console.info(`View a Prismic repository.
|
|
1490
1645
|
|
|
1491
1646
|
By default, this command reads the repository from prismic.config.json at the
|
|
1492
1647
|
project root.
|
|
@@ -1500,7 +1655,7 @@ FLAGS
|
|
|
1500
1655
|
-h, --help Show help for command
|
|
1501
1656
|
|
|
1502
1657
|
LEARN MORE
|
|
1503
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}let i=await
|
|
1658
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}let i=await V(n);if(r){no(i.toString()),console.info(`Opening ${i}`);return}if(!await H()){ro();return}let a=await to();if(!a.ok){a.error instanceof Z?ro():(console.error(`Failed to fetch repository info: ${q(a.value)}`),process.exitCode=1);return}let o=a.value.repositories.find(e=>e.domain===n);if(!o){console.error(`Repository not found: ${n}`),process.exitCode=1;return}let s=o.name||`(no name)`;console.info(`Name: ${s}`),console.info(`URL: ${i}`)}async function to(){return await X(new URL(`profile`,await _n()),{schema:$a})}function no(e){d(`${process.platform===`darwin`?`open`:process.platform===`win32`?`start`:`xdg-open`} "${e}"`)}function ro(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function io(){let{positionals:[t]}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`create`:await Fa();break;case`list`:await Ua();break;case`view`:await eo();break;case`get-access`:await za();break;case`set-access`:await qa();break;case`set-name`:await Xa();break;default:t&&(console.error(`Unknown repo subcommand: ${t}\n`),process.exitCode=1),console.info(`Manage Prismic repositories.
|
|
1504
1659
|
|
|
1505
1660
|
USAGE
|
|
1506
1661
|
prismic repo <command> [flags]
|
|
@@ -1517,7 +1672,7 @@ FLAGS
|
|
|
1517
1672
|
-h, --help Show help for command
|
|
1518
1673
|
|
|
1519
1674
|
LEARN MORE
|
|
1520
|
-
Use \`prismic repo <command> --help\` for more information about a command.`)}}async function
|
|
1675
|
+
Use \`prismic repo <command> --help\` for more information about a command.`)}}async function ao(){let{values:{help:t,variation:n,label:r,default:i,"true-label":a,"false-label":o,types:c,"no-types":l},positionals:[u,d]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},default:{type:`boolean`},"true-label":{type:`string`},"false-label":{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a boolean (toggle) field to an existing slice.
|
|
1521
1676
|
|
|
1522
1677
|
USAGE
|
|
1523
1678
|
prismic slice add-field boolean <slice-id> <field-id> [flags]
|
|
@@ -1526,20 +1681,24 @@ ARGUMENTS
|
|
|
1526
1681
|
slice-id Slice identifier (required)
|
|
1527
1682
|
field-id Field identifier (required)
|
|
1528
1683
|
|
|
1684
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1685
|
+
|
|
1529
1686
|
FLAGS
|
|
1530
1687
|
-v, --variation string Target variation (default: first variation)
|
|
1531
1688
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1532
1689
|
--default Set default value to true
|
|
1533
1690
|
--true-label string Label shown when toggle is on
|
|
1534
1691
|
--false-label string Label shown when toggle is off
|
|
1692
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1693
|
+
--no-types Skip type generation
|
|
1535
1694
|
-h, --help Show help for command
|
|
1536
1695
|
|
|
1537
1696
|
EXAMPLES
|
|
1538
1697
|
prismic slice add-field boolean my_slice featured
|
|
1539
1698
|
prismic slice add-field boolean hero show_overlay --default
|
|
1540
|
-
prismic slice add-field boolean product available --true-label "In Stock" --false-label "Out of Stock"`);return}if(!
|
|
1541
|
-
`),console.error(`Usage: prismic slice add-field boolean <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1542
|
-
`),console.error(`Usage: prismic slice add-field boolean <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1699
|
+
prismic slice add-field boolean product available --true-label "In Stock" --false-label "Out of Stock"`);return}if(!u){console.error(`Missing required argument: slice-id
|
|
1700
|
+
`),console.error(`Usage: prismic slice add-field boolean <slice-id> <field-id>`),process.exitCode=1;return}if(!d){console.error(`Missing required argument: field-id
|
|
1701
|
+
`),console.error(`Usage: prismic slice add-field boolean <slice-id> <field-id>`),process.exitCode=1;return}let f=await G(u);if(!f.ok){console.error(f.error),process.exitCode=1;return}let{model:p,modelPath:m}=f;if(p.variations.length===0){console.error(`Slice "${u}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let h=n?p.variations.find(e=>e.id===n):p.variations[0];if(!h){console.error(`Variation "${n}" not found in slice "${u}"\n`),console.error(`Available variations: ${p.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}h.primary||={};for(let e of p.variations)if(e.primary?.[d]){console.error(`Field "${d}" already exists in variation "${e.id}"`),process.exitCode=1;return}let g={type:`Boolean`,config:{label:r??J(d),...i&&{default_value:!0},...a&&{placeholder_true:a},...o&&{placeholder_false:o}}};h.primary[d]=g;try{await s(m,q(p))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${d}" (Boolean) to "${h.id}" variation in ${u}`),!l)try{await K({output:c}),console.info(`Updated types in ${c??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function oo(){let{values:{help:t,variation:n,label:r,placeholder:i,types:a,"no-types":o},positionals:[c,l]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a color picker field to an existing slice.
|
|
1543
1702
|
|
|
1544
1703
|
USAGE
|
|
1545
1704
|
prismic slice add-field color <slice-id> <field-id> [flags]
|
|
@@ -1548,18 +1707,22 @@ ARGUMENTS
|
|
|
1548
1707
|
slice-id Slice identifier (required)
|
|
1549
1708
|
field-id Field identifier (required)
|
|
1550
1709
|
|
|
1710
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1711
|
+
|
|
1551
1712
|
FLAGS
|
|
1552
1713
|
-v, --variation string Target variation (default: first variation)
|
|
1553
1714
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1554
1715
|
-p, --placeholder string Placeholder text
|
|
1716
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1717
|
+
--no-types Skip type generation
|
|
1555
1718
|
-h, --help Show help for command
|
|
1556
1719
|
|
|
1557
1720
|
EXAMPLES
|
|
1558
1721
|
prismic slice add-field color my_slice background_color
|
|
1559
1722
|
prismic slice add-field color hero accent --label "Accent Color"
|
|
1560
|
-
prismic slice add-field color banner theme_color --variation "dark"`);return}if(!
|
|
1561
|
-
`),console.error(`Usage: prismic slice add-field color <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1562
|
-
`),console.error(`Usage: prismic slice add-field color <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1723
|
+
prismic slice add-field color banner theme_color --variation "dark"`);return}if(!c){console.error(`Missing required argument: slice-id
|
|
1724
|
+
`),console.error(`Usage: prismic slice add-field color <slice-id> <field-id>`),process.exitCode=1;return}if(!l){console.error(`Missing required argument: field-id
|
|
1725
|
+
`),console.error(`Usage: prismic slice add-field color <slice-id> <field-id>`),process.exitCode=1;return}let u=await G(c);if(!u.ok){console.error(u.error),process.exitCode=1;return}let{model:d,modelPath:f}=u;if(d.variations.length===0){console.error(`Slice "${c}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let p=n?d.variations.find(e=>e.id===n):d.variations[0];if(!p){console.error(`Variation "${n}" not found in slice "${c}"\n`),console.error(`Available variations: ${d.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}p.primary||={};for(let e of d.variations)if(e.primary?.[l]){console.error(`Field "${l}" already exists in variation "${e.id}"`),process.exitCode=1;return}let m={type:`Color`,config:{label:r??J(l),...i&&{placeholder:i}}};p.primary[l]=m;try{await s(f,q(d))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${l}" (Color) to "${p.id}" variation in ${c}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function so(){let{values:{help:t,variation:n,label:r,placeholder:i,types:a,"no-types":o},positionals:[c,l]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a date picker field to an existing slice.
|
|
1563
1726
|
|
|
1564
1727
|
USAGE
|
|
1565
1728
|
prismic slice add-field date <slice-id> <field-id> [flags]
|
|
@@ -1568,18 +1731,22 @@ ARGUMENTS
|
|
|
1568
1731
|
slice-id Slice identifier (required)
|
|
1569
1732
|
field-id Field identifier (required)
|
|
1570
1733
|
|
|
1734
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1735
|
+
|
|
1571
1736
|
FLAGS
|
|
1572
1737
|
-v, --variation string Target variation (default: first variation)
|
|
1573
1738
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1574
1739
|
-p, --placeholder string Placeholder text
|
|
1740
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1741
|
+
--no-types Skip type generation
|
|
1575
1742
|
-h, --help Show help for command
|
|
1576
1743
|
|
|
1577
1744
|
EXAMPLES
|
|
1578
1745
|
prismic slice add-field date my_slice publish_date
|
|
1579
1746
|
prismic slice add-field date event start_date --label "Start Date"
|
|
1580
|
-
prismic slice add-field date promo end_date --variation "countdown"`);return}if(!
|
|
1581
|
-
`),console.error(`Usage: prismic slice add-field date <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1582
|
-
`),console.error(`Usage: prismic slice add-field date <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1747
|
+
prismic slice add-field date promo end_date --variation "countdown"`);return}if(!c){console.error(`Missing required argument: slice-id
|
|
1748
|
+
`),console.error(`Usage: prismic slice add-field date <slice-id> <field-id>`),process.exitCode=1;return}if(!l){console.error(`Missing required argument: field-id
|
|
1749
|
+
`),console.error(`Usage: prismic slice add-field date <slice-id> <field-id>`),process.exitCode=1;return}let u=await G(c);if(!u.ok){console.error(u.error),process.exitCode=1;return}let{model:d,modelPath:f}=u;if(d.variations.length===0){console.error(`Slice "${c}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let p=n?d.variations.find(e=>e.id===n):d.variations[0];if(!p){console.error(`Variation "${n}" not found in slice "${c}"\n`),console.error(`Available variations: ${d.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}p.primary||={};for(let e of d.variations)if(e.primary?.[l]){console.error(`Field "${l}" already exists in variation "${e.id}"`),process.exitCode=1;return}let m={type:`Date`,config:{label:r??J(l),...i&&{placeholder:i}}};p.primary[l]=m;try{await s(f,q(d))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${l}" (Date) to "${p.id}" variation in ${c}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function co(){let{values:{help:t,variation:n,label:r,placeholder:i,types:a,"no-types":o},positionals:[c,l]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add an embed (oEmbed) field to an existing slice.
|
|
1583
1750
|
|
|
1584
1751
|
USAGE
|
|
1585
1752
|
prismic slice add-field embed <slice-id> <field-id> [flags]
|
|
@@ -1588,18 +1755,22 @@ ARGUMENTS
|
|
|
1588
1755
|
slice-id Slice identifier (required)
|
|
1589
1756
|
field-id Field identifier (required)
|
|
1590
1757
|
|
|
1758
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1759
|
+
|
|
1591
1760
|
FLAGS
|
|
1592
1761
|
-v, --variation string Target variation (default: first variation)
|
|
1593
1762
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1594
1763
|
-p, --placeholder string Placeholder text
|
|
1764
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1765
|
+
--no-types Skip type generation
|
|
1595
1766
|
-h, --help Show help for command
|
|
1596
1767
|
|
|
1597
1768
|
EXAMPLES
|
|
1598
1769
|
prismic slice add-field embed my_slice video
|
|
1599
1770
|
prismic slice add-field embed gallery media --label "Media Embed"
|
|
1600
|
-
prismic slice add-field embed social tweet --variation "twitter"`);return}if(!
|
|
1601
|
-
`),console.error(`Usage: prismic slice add-field embed <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1602
|
-
`),console.error(`Usage: prismic slice add-field embed <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1771
|
+
prismic slice add-field embed social tweet --variation "twitter"`);return}if(!c){console.error(`Missing required argument: slice-id
|
|
1772
|
+
`),console.error(`Usage: prismic slice add-field embed <slice-id> <field-id>`),process.exitCode=1;return}if(!l){console.error(`Missing required argument: field-id
|
|
1773
|
+
`),console.error(`Usage: prismic slice add-field embed <slice-id> <field-id>`),process.exitCode=1;return}let u=await G(c);if(!u.ok){console.error(u.error),process.exitCode=1;return}let{model:d,modelPath:f}=u;if(d.variations.length===0){console.error(`Slice "${c}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let p=n?d.variations.find(e=>e.id===n):d.variations[0];if(!p){console.error(`Variation "${n}" not found in slice "${c}"\n`),console.error(`Available variations: ${d.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}p.primary||={};for(let e of d.variations)if(e.primary?.[l]){console.error(`Field "${l}" already exists in variation "${e.id}"`),process.exitCode=1;return}let m={type:`Embed`,config:{label:r??J(l),...i&&{placeholder:i}}};p.primary[l]=m;try{await s(f,q(d))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${l}" (Embed) to "${p.id}" variation in ${c}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function lo(){let{values:{help:t,variation:n,label:r,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a geographic coordinates field to an existing slice.
|
|
1603
1774
|
|
|
1604
1775
|
USAGE
|
|
1605
1776
|
prismic slice add-field geo-point <slice-id> <field-id> [flags]
|
|
@@ -1608,17 +1779,21 @@ ARGUMENTS
|
|
|
1608
1779
|
slice-id Slice identifier (required)
|
|
1609
1780
|
field-id Field identifier (required)
|
|
1610
1781
|
|
|
1782
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1783
|
+
|
|
1611
1784
|
FLAGS
|
|
1612
1785
|
-v, --variation string Target variation (default: first variation)
|
|
1613
1786
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1787
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1788
|
+
--no-types Skip type generation
|
|
1614
1789
|
-h, --help Show help for command
|
|
1615
1790
|
|
|
1616
1791
|
EXAMPLES
|
|
1617
1792
|
prismic slice add-field geo-point my_slice location
|
|
1618
1793
|
prismic slice add-field geo-point store coordinates --label "Store Location"
|
|
1619
|
-
prismic slice add-field geo-point map marker --variation "interactive"`);return}if(!
|
|
1620
|
-
`),console.error(`Usage: prismic slice add-field geo-point <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1621
|
-
`),console.error(`Usage: prismic slice add-field geo-point <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1794
|
+
prismic slice add-field geo-point map marker --variation "interactive"`);return}if(!o){console.error(`Missing required argument: slice-id
|
|
1795
|
+
`),console.error(`Usage: prismic slice add-field geo-point <slice-id> <field-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: field-id
|
|
1796
|
+
`),console.error(`Usage: prismic slice add-field geo-point <slice-id> <field-id>`),process.exitCode=1;return}let l=await G(o);if(!l.ok){console.error(l.error),process.exitCode=1;return}let{model:u,modelPath:d}=l;if(u.variations.length===0){console.error(`Slice "${o}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let f=n?u.variations.find(e=>e.id===n):u.variations[0];if(!f){console.error(`Variation "${n}" not found in slice "${o}"\n`),console.error(`Available variations: ${u.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}f.primary||={};for(let e of u.variations)if(e.primary?.[c]){console.error(`Field "${c}" already exists in variation "${e.id}"`),process.exitCode=1;return}let p={type:`GeoPoint`,config:{label:r??J(c)}};f.primary[c]=p;try{await s(d,q(u))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${c}" (GeoPoint) to "${f.id}" variation in ${o}`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function uo(){let{values:{help:t,variation:n,label:r,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add an image field to an existing slice.
|
|
1622
1797
|
|
|
1623
1798
|
USAGE
|
|
1624
1799
|
prismic slice add-field image <slice-id> <field-id> [flags]
|
|
@@ -1627,17 +1802,21 @@ ARGUMENTS
|
|
|
1627
1802
|
slice-id Slice identifier (required)
|
|
1628
1803
|
field-id Field identifier (required)
|
|
1629
1804
|
|
|
1805
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1806
|
+
|
|
1630
1807
|
FLAGS
|
|
1631
1808
|
-v, --variation string Target variation (default: first variation)
|
|
1632
1809
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1810
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1811
|
+
--no-types Skip type generation
|
|
1633
1812
|
-h, --help Show help for command
|
|
1634
1813
|
|
|
1635
1814
|
EXAMPLES
|
|
1636
1815
|
prismic slice add-field image my_slice background
|
|
1637
1816
|
prismic slice add-field image hero banner --label "Hero Banner"
|
|
1638
|
-
prismic slice add-field image gallery thumbnail --variation "grid"`);return}if(!
|
|
1639
|
-
`),console.error(`Usage: prismic slice add-field image <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1640
|
-
`),console.error(`Usage: prismic slice add-field image <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1817
|
+
prismic slice add-field image gallery thumbnail --variation "grid"`);return}if(!o){console.error(`Missing required argument: slice-id
|
|
1818
|
+
`),console.error(`Usage: prismic slice add-field image <slice-id> <field-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: field-id
|
|
1819
|
+
`),console.error(`Usage: prismic slice add-field image <slice-id> <field-id>`),process.exitCode=1;return}let l=await G(o);if(!l.ok){console.error(l.error),process.exitCode=1;return}let{model:u,modelPath:d}=l;if(u.variations.length===0){console.error(`Slice "${o}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let f=n?u.variations.find(e=>e.id===n):u.variations[0];if(!f){console.error(`Variation "${n}" not found in slice "${o}"\n`),console.error(`Available variations: ${u.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}f.primary||={};for(let e of u.variations)if(e.primary?.[c]){console.error(`Field "${c}" already exists in variation "${e.id}"`),process.exitCode=1;return}let p={type:`Image`,config:{label:r??J(c)}};f.primary[c]=p;try{await s(d,q(u))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${c}" (Image) to "${f.id}" variation in ${o}`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function fo(){let{values:{help:t,variation:n,label:r,placeholder:i,types:a,"no-types":o},positionals:[c,l]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a key-text (single-line text) field to an existing slice.
|
|
1641
1820
|
|
|
1642
1821
|
USAGE
|
|
1643
1822
|
prismic slice add-field key-text <slice-id> <field-id> [flags]
|
|
@@ -1646,18 +1825,22 @@ ARGUMENTS
|
|
|
1646
1825
|
slice-id Slice identifier (required)
|
|
1647
1826
|
field-id Field identifier (required)
|
|
1648
1827
|
|
|
1828
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1829
|
+
|
|
1649
1830
|
FLAGS
|
|
1650
1831
|
-v, --variation string Target variation (default: first variation)
|
|
1651
1832
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1652
1833
|
-p, --placeholder string Placeholder text
|
|
1834
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1835
|
+
--no-types Skip type generation
|
|
1653
1836
|
-h, --help Show help for command
|
|
1654
1837
|
|
|
1655
1838
|
EXAMPLES
|
|
1656
1839
|
prismic slice add-field key-text my_slice title
|
|
1657
1840
|
prismic slice add-field key-text hero heading --label "Heading"
|
|
1658
|
-
prismic slice add-field key-text cta button_text --placeholder "Enter button text"`);return}if(!
|
|
1659
|
-
`),console.error(`Usage: prismic slice add-field key-text <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1660
|
-
`),console.error(`Usage: prismic slice add-field key-text <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1841
|
+
prismic slice add-field key-text cta button_text --placeholder "Enter button text"`);return}if(!c){console.error(`Missing required argument: slice-id
|
|
1842
|
+
`),console.error(`Usage: prismic slice add-field key-text <slice-id> <field-id>`),process.exitCode=1;return}if(!l){console.error(`Missing required argument: field-id
|
|
1843
|
+
`),console.error(`Usage: prismic slice add-field key-text <slice-id> <field-id>`),process.exitCode=1;return}let u=await G(c);if(!u.ok){console.error(u.error),process.exitCode=1;return}let{model:d,modelPath:f}=u;if(d.variations.length===0){console.error(`Slice "${c}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let p=n?d.variations.find(e=>e.id===n):d.variations[0];if(!p){console.error(`Variation "${n}" not found in slice "${c}"\n`),console.error(`Available variations: ${d.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}p.primary||={};for(let e of d.variations)if(e.primary?.[l]){console.error(`Field "${l}" already exists in variation "${e.id}"`),process.exitCode=1;return}let m={type:`Text`,config:{label:r??J(l),...i&&{placeholder:i}}};p.primary[l]=m;try{await s(f,q(d))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${l}" (Text) to "${p.id}" variation in ${c}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function po(){let{values:{help:t,variation:n,label:r,placeholder:i,"allow-text":a,"allow-target-blank":o,repeatable:c,types:l,"no-types":u},positionals:[d,f]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},"allow-text":{type:`boolean`},"allow-target-blank":{type:`boolean`},repeatable:{type:`boolean`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a link field to an existing slice.
|
|
1661
1844
|
|
|
1662
1845
|
USAGE
|
|
1663
1846
|
prismic slice add-field link <slice-id> <field-id> [flags]
|
|
@@ -1666,6 +1849,8 @@ ARGUMENTS
|
|
|
1666
1849
|
slice-id Slice identifier (required)
|
|
1667
1850
|
field-id Field identifier (required)
|
|
1668
1851
|
|
|
1852
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1853
|
+
|
|
1669
1854
|
FLAGS
|
|
1670
1855
|
-v, --variation string Target variation (default: first variation)
|
|
1671
1856
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
@@ -1673,15 +1858,17 @@ FLAGS
|
|
|
1673
1858
|
--allow-text Allow text with link
|
|
1674
1859
|
--allow-target-blank Allow opening link in new tab
|
|
1675
1860
|
--repeatable Allow multiple links
|
|
1861
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1862
|
+
--no-types Skip type generation
|
|
1676
1863
|
-h, --help Show help for command
|
|
1677
1864
|
|
|
1678
1865
|
EXAMPLES
|
|
1679
1866
|
prismic slice add-field link my_slice button
|
|
1680
1867
|
prismic slice add-field link cta primary_link --allow-text
|
|
1681
1868
|
prismic slice add-field link navigation links --repeatable
|
|
1682
|
-
prismic slice add-field link hero cta --allow-text --allow-target-blank`);return}if(!
|
|
1683
|
-
`),console.error(`Usage: prismic slice add-field link <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1684
|
-
`),console.error(`Usage: prismic slice add-field link <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1869
|
+
prismic slice add-field link hero cta --allow-text --allow-target-blank`);return}if(!d){console.error(`Missing required argument: slice-id
|
|
1870
|
+
`),console.error(`Usage: prismic slice add-field link <slice-id> <field-id>`),process.exitCode=1;return}if(!f){console.error(`Missing required argument: field-id
|
|
1871
|
+
`),console.error(`Usage: prismic slice add-field link <slice-id> <field-id>`),process.exitCode=1;return}let p=await G(d);if(!p.ok){console.error(p.error),process.exitCode=1;return}let{model:m,modelPath:h}=p;if(m.variations.length===0){console.error(`Slice "${d}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let g=n?m.variations.find(e=>e.id===n):m.variations[0];if(!g){console.error(`Variation "${n}" not found in slice "${d}"\n`),console.error(`Available variations: ${m.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}g.primary||={};for(let e of m.variations)if(e.primary?.[f]){console.error(`Field "${f}" already exists in variation "${e.id}"`),process.exitCode=1;return}let _={type:`Link`,config:{label:r??J(f),...i&&{placeholder:i},...a&&{allowText:!0},...o&&{allowTargetBlank:!0},...c&&{repeat:!0}}};g.primary[f]=_;try{await s(h,q(m))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${f}" (Link) to "${g.id}" variation in ${d}`),!u)try{await K({output:l}),console.info(`Updated types in ${l??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function mo(){let{values:{help:t,variation:n,label:r,placeholder:i,types:a,"no-types":o},positionals:[c,l]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a number field to an existing slice.
|
|
1685
1872
|
|
|
1686
1873
|
USAGE
|
|
1687
1874
|
prismic slice add-field number <slice-id> <field-id> [flags]
|
|
@@ -1690,18 +1877,22 @@ ARGUMENTS
|
|
|
1690
1877
|
slice-id Slice identifier (required)
|
|
1691
1878
|
field-id Field identifier (required)
|
|
1692
1879
|
|
|
1880
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1881
|
+
|
|
1693
1882
|
FLAGS
|
|
1694
1883
|
-v, --variation string Target variation (default: first variation)
|
|
1695
1884
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1696
1885
|
-p, --placeholder string Placeholder text
|
|
1886
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1887
|
+
--no-types Skip type generation
|
|
1697
1888
|
-h, --help Show help for command
|
|
1698
1889
|
|
|
1699
1890
|
EXAMPLES
|
|
1700
1891
|
prismic slice add-field number my_slice price
|
|
1701
1892
|
prismic slice add-field number product quantity --label "Quantity"
|
|
1702
|
-
prismic slice add-field number stats count --variation "detailed"`);return}if(!
|
|
1703
|
-
`),console.error(`Usage: prismic slice add-field number <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1704
|
-
`),console.error(`Usage: prismic slice add-field number <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1893
|
+
prismic slice add-field number stats count --variation "detailed"`);return}if(!c){console.error(`Missing required argument: slice-id
|
|
1894
|
+
`),console.error(`Usage: prismic slice add-field number <slice-id> <field-id>`),process.exitCode=1;return}if(!l){console.error(`Missing required argument: field-id
|
|
1895
|
+
`),console.error(`Usage: prismic slice add-field number <slice-id> <field-id>`),process.exitCode=1;return}let u=await G(c);if(!u.ok){console.error(u.error),process.exitCode=1;return}let{model:d,modelPath:f}=u;if(d.variations.length===0){console.error(`Slice "${c}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let p=n?d.variations.find(e=>e.id===n):d.variations[0];if(!p){console.error(`Variation "${n}" not found in slice "${c}"\n`),console.error(`Available variations: ${d.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}p.primary||={};for(let e of d.variations)if(e.primary?.[l]){console.error(`Field "${l}" already exists in variation "${e.id}"`),process.exitCode=1;return}let m={type:`Number`,config:{label:r??J(l),...i&&{placeholder:i}}};p.primary[l]=m;try{await s(f,q(d))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${l}" (Number) to "${p.id}" variation in ${c}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function ho(){let{values:{help:t,variation:n,label:r,placeholder:i,single:a,multi:o,"allow-target-blank":c,types:l,"no-types":u},positionals:[d,f]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},single:{type:`string`},multi:{type:`string`},"allow-target-blank":{type:`boolean`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a rich text field to an existing slice.
|
|
1705
1896
|
|
|
1706
1897
|
USAGE
|
|
1707
1898
|
prismic slice add-field rich-text <slice-id> <field-id> [flags]
|
|
@@ -1710,6 +1901,8 @@ ARGUMENTS
|
|
|
1710
1901
|
slice-id Slice identifier (required)
|
|
1711
1902
|
field-id Field identifier (required)
|
|
1712
1903
|
|
|
1904
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1905
|
+
|
|
1713
1906
|
FLAGS
|
|
1714
1907
|
-v, --variation string Target variation (default: first variation)
|
|
1715
1908
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
@@ -1717,6 +1910,8 @@ FLAGS
|
|
|
1717
1910
|
--single string Allowed block types for single-line (comma-separated)
|
|
1718
1911
|
--multi string Allowed block types for multi-line (comma-separated)
|
|
1719
1912
|
--allow-target-blank Allow opening links in new tab
|
|
1913
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1914
|
+
--no-types Skip type generation
|
|
1720
1915
|
-h, --help Show help for command
|
|
1721
1916
|
|
|
1722
1917
|
BLOCK TYPES
|
|
@@ -1728,9 +1923,9 @@ EXAMPLES
|
|
|
1728
1923
|
prismic slice add-field rich-text my_slice body
|
|
1729
1924
|
prismic slice add-field rich-text article content --multi "paragraph,heading2,heading3,strong,em,hyperlink"
|
|
1730
1925
|
prismic slice add-field rich-text hero tagline --single "heading1"
|
|
1731
|
-
prismic slice add-field rich-text blog post --multi "paragraph,strong,em,hyperlink" --allow-target-blank`);return}if(!
|
|
1732
|
-
`),console.error(`Usage: prismic slice add-field rich-text <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1733
|
-
`),console.error(`Usage: prismic slice add-field rich-text <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1926
|
+
prismic slice add-field rich-text blog post --multi "paragraph,strong,em,hyperlink" --allow-target-blank`);return}if(!d){console.error(`Missing required argument: slice-id
|
|
1927
|
+
`),console.error(`Usage: prismic slice add-field rich-text <slice-id> <field-id>`),process.exitCode=1;return}if(!f){console.error(`Missing required argument: field-id
|
|
1928
|
+
`),console.error(`Usage: prismic slice add-field rich-text <slice-id> <field-id>`),process.exitCode=1;return}let p=await G(d);if(!p.ok){console.error(p.error),process.exitCode=1;return}let{model:m,modelPath:h}=p;if(m.variations.length===0){console.error(`Slice "${d}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let g=n?m.variations.find(e=>e.id===n):m.variations[0];if(!g){console.error(`Variation "${n}" not found in slice "${d}"\n`),console.error(`Available variations: ${m.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}g.primary||={};for(let e of m.variations)if(e.primary?.[f]){console.error(`Field "${f}" already exists in variation "${e.id}"`),process.exitCode=1;return}let _={type:`StructuredText`,config:{label:r??J(f),...i&&{placeholder:i},...a&&{single:a},...o&&{multi:o},...c&&{allowTargetBlank:!0}}};g.primary[f]=_;try{await s(h,q(m))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${f}" (StructuredText) to "${g.id}" variation in ${d}`),!u)try{await K({output:l}),console.info(`Updated types in ${l??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function go(){let{values:{help:t,variation:n,label:r,placeholder:i,option:a,default:o,types:c,"no-types":l},positionals:[u,d]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},option:{type:`string`,multiple:!0},default:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a select (dropdown) field to an existing slice.
|
|
1734
1929
|
|
|
1735
1930
|
USAGE
|
|
1736
1931
|
prismic slice add-field select <slice-id> <field-id> [flags]
|
|
@@ -1739,20 +1934,24 @@ ARGUMENTS
|
|
|
1739
1934
|
slice-id Slice identifier (required)
|
|
1740
1935
|
field-id Field identifier (required)
|
|
1741
1936
|
|
|
1937
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1938
|
+
|
|
1742
1939
|
FLAGS
|
|
1743
1940
|
-v, --variation string Target variation (default: first variation)
|
|
1744
1941
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1745
1942
|
-p, --placeholder string Placeholder text
|
|
1746
1943
|
--option string Add an option (can be used multiple times)
|
|
1747
1944
|
--default string Default selected value
|
|
1945
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1946
|
+
--no-types Skip type generation
|
|
1748
1947
|
-h, --help Show help for command
|
|
1749
1948
|
|
|
1750
1949
|
EXAMPLES
|
|
1751
1950
|
prismic slice add-field select my_slice layout --option "full" --option "sidebar"
|
|
1752
1951
|
prismic slice add-field select hero style --option "light" --option "dark" --default "light"
|
|
1753
|
-
prismic slice add-field select product size --option "small" --option "medium" --option "large" --label "Size"`);return}if(!
|
|
1754
|
-
`),console.error(`Usage: prismic slice add-field select <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1755
|
-
`),console.error(`Usage: prismic slice add-field select <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1952
|
+
prismic slice add-field select product size --option "small" --option "medium" --option "large" --label "Size"`);return}if(!u){console.error(`Missing required argument: slice-id
|
|
1953
|
+
`),console.error(`Usage: prismic slice add-field select <slice-id> <field-id>`),process.exitCode=1;return}if(!d){console.error(`Missing required argument: field-id
|
|
1954
|
+
`),console.error(`Usage: prismic slice add-field select <slice-id> <field-id>`),process.exitCode=1;return}let f=await G(u);if(!f.ok){console.error(f.error),process.exitCode=1;return}let{model:p,modelPath:m}=f;if(p.variations.length===0){console.error(`Slice "${u}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let h=n?p.variations.find(e=>e.id===n):p.variations[0];if(!h){console.error(`Variation "${n}" not found in slice "${u}"\n`),console.error(`Available variations: ${p.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}h.primary||={};for(let e of p.variations)if(e.primary?.[d]){console.error(`Field "${d}" already exists in variation "${e.id}"`),process.exitCode=1;return}let g={type:`Select`,config:{label:r??J(d),...i&&{placeholder:i},...a&&a.length>0&&{options:a},...o&&{default_value:o}}};h.primary[d]=g;try{await s(m,q(p))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${d}" (Select) to "${h.id}" variation in ${u}`),!l)try{await K({output:c}),console.info(`Updated types in ${c??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function _o(){let{values:{help:t,variation:n,label:r,placeholder:i,types:a,"no-types":o},positionals:[c,l]}=e({args:process.argv.slice(5),options:{variation:{type:`string`,short:`v`},label:{type:`string`,short:`l`},placeholder:{type:`string`,short:`p`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a timestamp (date and time) field to an existing slice.
|
|
1756
1955
|
|
|
1757
1956
|
USAGE
|
|
1758
1957
|
prismic slice add-field timestamp <slice-id> <field-id> [flags]
|
|
@@ -1761,18 +1960,22 @@ ARGUMENTS
|
|
|
1761
1960
|
slice-id Slice identifier (required)
|
|
1762
1961
|
field-id Field identifier (required)
|
|
1763
1962
|
|
|
1963
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
1964
|
+
|
|
1764
1965
|
FLAGS
|
|
1765
1966
|
-v, --variation string Target variation (default: first variation)
|
|
1766
1967
|
-l, --label string Display label for the field (inferred from field-id if omitted)
|
|
1767
1968
|
-p, --placeholder string Placeholder text
|
|
1969
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
1970
|
+
--no-types Skip type generation
|
|
1768
1971
|
-h, --help Show help for command
|
|
1769
1972
|
|
|
1770
1973
|
EXAMPLES
|
|
1771
1974
|
prismic slice add-field timestamp my_slice created_at
|
|
1772
1975
|
prismic slice add-field timestamp event start_time --label "Event Start"
|
|
1773
|
-
prismic slice add-field timestamp schedule meeting_time --variation "detailed"`);return}if(!
|
|
1774
|
-
`),console.error(`Usage: prismic slice add-field timestamp <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1775
|
-
`),console.error(`Usage: prismic slice add-field timestamp <slice-id> <field-id>`),process.exitCode=1;return}let
|
|
1976
|
+
prismic slice add-field timestamp schedule meeting_time --variation "detailed"`);return}if(!c){console.error(`Missing required argument: slice-id
|
|
1977
|
+
`),console.error(`Usage: prismic slice add-field timestamp <slice-id> <field-id>`),process.exitCode=1;return}if(!l){console.error(`Missing required argument: field-id
|
|
1978
|
+
`),console.error(`Usage: prismic slice add-field timestamp <slice-id> <field-id>`),process.exitCode=1;return}let u=await G(c);if(!u.ok){console.error(u.error),process.exitCode=1;return}let{model:d,modelPath:f}=u;if(d.variations.length===0){console.error(`Slice "${c}" has no variations.\n`),console.error(`Add a variation first before adding fields.`),process.exitCode=1;return}let p=n?d.variations.find(e=>e.id===n):d.variations[0];if(!p){console.error(`Variation "${n}" not found in slice "${c}"\n`),console.error(`Available variations: ${d.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}p.primary||={};for(let e of d.variations)if(e.primary?.[l]){console.error(`Field "${l}" already exists in variation "${e.id}"`),process.exitCode=1;return}let m={type:`Timestamp`,config:{label:r??J(l),...i&&{placeholder:i}}};p.primary[l]=m;try{await s(f,q(d))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added field "${l}" (Timestamp) to "${p.id}" variation in ${c}`),!o)try{await K({output:a}),console.info(`Updated types in ${a??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function vo(){let{positionals:[t]}=e({args:process.argv.slice(4),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`boolean`:await ao();break;case`color`:await oo();break;case`date`:await so();break;case`embed`:await co();break;case`geo-point`:await lo();break;case`image`:await uo();break;case`key-text`:await fo();break;case`link`:await po();break;case`number`:await mo();break;case`rich-text`:await ho();break;case`select`:await go();break;case`timestamp`:await _o();break;default:t&&(console.error(`Unknown field type: ${t}\n`),process.exitCode=1),console.info(`Add a field to an existing slice.
|
|
1776
1979
|
|
|
1777
1980
|
USAGE
|
|
1778
1981
|
prismic slice add-field <field-type> <slice-id> <field-id> [flags]
|
|
@@ -1801,7 +2004,7 @@ EXAMPLES
|
|
|
1801
2004
|
prismic slice add-field key-text my_slice title --label "Title"
|
|
1802
2005
|
prismic slice add-field link my_slice cta --allow-text
|
|
1803
2006
|
prismic slice add-field rich-text my_slice body --multi "paragraph,heading2,strong,em"
|
|
1804
|
-
prismic slice add-field select my_slice layout --option "full" --option "sidebar"`)}}async function
|
|
2007
|
+
prismic slice add-field select my_slice layout --option "full" --option "sidebar"`)}}async function yo(){let{values:{help:t,name:n,"copy-from":r,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(4),options:{name:{type:`string`},"copy-from":{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a new variation to a slice.
|
|
1805
2008
|
|
|
1806
2009
|
USAGE
|
|
1807
2010
|
prismic slice add-variation <slice-id> <variation-id> [flags]
|
|
@@ -1810,17 +2013,21 @@ ARGUMENTS
|
|
|
1810
2013
|
slice-id Slice identifier (required)
|
|
1811
2014
|
variation-id New variation identifier (required)
|
|
1812
2015
|
|
|
2016
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
2017
|
+
|
|
1813
2018
|
FLAGS
|
|
1814
2019
|
--name string Display name for the variation
|
|
1815
2020
|
--copy-from string Copy fields from an existing variation
|
|
2021
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
2022
|
+
--no-types Skip type generation
|
|
1816
2023
|
-h, --help Show help for command
|
|
1817
2024
|
|
|
1818
2025
|
EXAMPLES
|
|
1819
2026
|
prismic slice add-variation MySlice withImage
|
|
1820
2027
|
prismic slice add-variation MySlice withImage --name "With Image"
|
|
1821
|
-
prismic slice add-variation MySlice withImage --copy-from default`);return}if(!
|
|
1822
|
-
`),console.error(`Usage: prismic slice add-variation <slice-id> <variation-id>`),process.exitCode=1;return}if(!
|
|
1823
|
-
`),console.error(`Usage: prismic slice add-variation <slice-id> <variation-id>`),process.exitCode=1;return}let
|
|
2028
|
+
prismic slice add-variation MySlice withImage --copy-from default`);return}if(!o){console.error(`Missing required argument: slice-id
|
|
2029
|
+
`),console.error(`Usage: prismic slice add-variation <slice-id> <variation-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: variation-id
|
|
2030
|
+
`),console.error(`Usage: prismic slice add-variation <slice-id> <variation-id>`),process.exitCode=1;return}let l=await G(o);if(!l.ok){console.error(l.error),process.exitCode=1;return}let{model:u,modelPath:d}=l;if(u.variations.some(e=>e.id===c)){console.error(`Variation "${c}" already exists in slice "${o}"`),process.exitCode=1;return}let f;if(r){let e=u.variations.find(e=>e.id===r);if(!e){console.error(`Source variation not found: ${r}`),console.error(`Available variations: ${u.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}f={...structuredClone(e),id:c,name:n??An(c)}}else f={id:c,name:n??An(c),description:c,imageUrl:``,docURL:``,version:`initial`,primary:{},items:{}};let p={...u,variations:[...u.variations,f]};try{await s(d,q(p))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Added variation "${c}" to slice "${o}"`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function bo(){let{values:{help:t,name:r,types:i,"no-types":a},positionals:[o]}=e({args:process.argv.slice(4),options:{name:{type:`string`,short:`n`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Create a new slice in a Prismic project.
|
|
1824
2031
|
|
|
1825
2032
|
USAGE
|
|
1826
2033
|
prismic slice create <id> [flags]
|
|
@@ -1828,12 +2035,16 @@ USAGE
|
|
|
1828
2035
|
ARGUMENTS
|
|
1829
2036
|
id Slice identifier (required)
|
|
1830
2037
|
|
|
2038
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
2039
|
+
|
|
1831
2040
|
FLAGS
|
|
1832
2041
|
-n, --name string Display name for the slice
|
|
2042
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
2043
|
+
--no-types Skip type generation
|
|
1833
2044
|
-h, --help Show help for command
|
|
1834
2045
|
|
|
1835
2046
|
LEARN MORE
|
|
1836
|
-
Use \`prismic slice <command> --help\` for more information about a command.`);return}if(!
|
|
2047
|
+
Use \`prismic slice <command> --help\` for more information about a command.`);return}if(!o){console.error(`Missing required argument: id`),process.exitCode=1;return}let c={id:o,type:`SharedSlice`,name:r??wo(o),description:``,variations:[{id:`default`,name:`Default`,description:`Default`,imageUrl:``,docURL:``,version:`initial`,primary:{},items:{}}]},l=await xo(),u=new URL(wo(c.name)+`/`,l),d=new URL(`model.json`,u);try{await n(new URL(`.`,d),{recursive:!0}),await s(d,q(c))}catch(e){e instanceof Error?console.error(`Failed to create slice: ${e.message}`):console.error(`Failed to create slice`),process.exitCode=1;return}if(console.info(`Created slice at ${d.href}`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function xo(){let e=await Co(),t=await W(`package.json`);switch(e){case`next`:if(await Tn(new URL(`src`,t)))return new URL(`src/slices/`,t);case`nuxt`:if(await Tn(new URL(`app`,t)))return new URL(`app/slices/`,t);case`sveltekit`:return new URL(`src/slices/`,t)}return new URL(`slices/`,t)}const So=F({dependencies:I(L(R(),R()))});async function Co(){let e=await W(`package.json`);if(e)try{let t=await r(e,`utf8`),{dependencies:n={}}=mn(So,JSON.parse(t));if(`next`in n)return`next`;if(`nuxt`in n)return`nuxt`;if(`@sveltejs/kit`in n)return`sveltekit`}catch{}}function wo(e){return e.toLowerCase().replace(/(^|[-_\s]+)(.)?/g,(e,t,n)=>n?.toUpperCase()??``)}async function To(){let{values:{help:t,json:n}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`List all slices in a Prismic project.
|
|
1837
2048
|
|
|
1838
2049
|
USAGE
|
|
1839
2050
|
prismic slice list [flags]
|
|
@@ -1844,7 +2055,7 @@ FLAGS
|
|
|
1844
2055
|
|
|
1845
2056
|
EXAMPLES
|
|
1846
2057
|
prismic slice list
|
|
1847
|
-
prismic slice list --json`);return}let a=await
|
|
2058
|
+
prismic slice list --json`);return}let a=await Dn(),o;try{o=await i(a,{withFileTypes:!1})}catch{n?console.info(JSON.stringify([])):console.info(`No slices found.`);return}let s=[];for(let e of o){let t=new URL(`${e}/model.json`,a);try{let e=await r(t,`utf8`),n=B(En,JSON.parse(e));n.success&&s.push({id:n.output.id,name:n.output.name})}catch{}}if(s.length===0){n?console.info(JSON.stringify([])):console.info(`No slices found.`);return}if(n)console.info(JSON.stringify(s,null,2));else{console.info(`ID NAME`);for(let e of s)console.info(`${e.id}\t${e.name}`)}}async function Eo(){let{values:{help:t,json:n},positionals:[r]}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`List all variations for a slice.
|
|
1848
2059
|
|
|
1849
2060
|
USAGE
|
|
1850
2061
|
prismic slice list-variations <slice-id> [flags]
|
|
@@ -1859,7 +2070,7 @@ FLAGS
|
|
|
1859
2070
|
EXAMPLES
|
|
1860
2071
|
prismic slice list-variations MySlice
|
|
1861
2072
|
prismic slice list-variations MySlice --json`);return}if(!r){console.error(`Missing required argument: slice-id
|
|
1862
|
-
`),console.error(`Usage: prismic slice list-variations <slice-id>`),process.exitCode=1;return}let i=await
|
|
2073
|
+
`),console.error(`Usage: prismic slice list-variations <slice-id>`),process.exitCode=1;return}let i=await G(r);if(!i.ok){console.error(i.error),process.exitCode=1;return}let{model:a}=i,o=a.variations.map(e=>({id:e.id,name:e.name}));if(n){console.info(JSON.stringify(o,null,2));return}console.info(`ID NAME`);for(let e of o)console.info(`${e.id}\t${e.name}`)}async function Do(){let{values:{help:t,y:n,types:r,"no-types":i},positionals:[a]}=e({args:process.argv.slice(4),options:{y:{type:`boolean`,short:`y`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Remove a slice from the project.
|
|
1863
2074
|
|
|
1864
2075
|
USAGE
|
|
1865
2076
|
prismic slice remove <slice-id> [flags]
|
|
@@ -1867,14 +2078,18 @@ USAGE
|
|
|
1867
2078
|
ARGUMENTS
|
|
1868
2079
|
slice-id Slice identifier (required)
|
|
1869
2080
|
|
|
2081
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
2082
|
+
|
|
1870
2083
|
FLAGS
|
|
1871
2084
|
-y Confirm removal
|
|
2085
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
2086
|
+
--no-types Skip type generation
|
|
1872
2087
|
-h, --help Show help for command
|
|
1873
2088
|
|
|
1874
2089
|
EXAMPLES
|
|
1875
2090
|
prismic slice remove MySlice
|
|
1876
|
-
prismic slice remove MySlice -y`);return}if(!
|
|
1877
|
-
`),console.error(`Usage: prismic slice remove <slice-id>`),process.exitCode=1;return}let
|
|
2091
|
+
prismic slice remove MySlice -y`);return}if(!a){console.error(`Missing required argument: slice-id
|
|
2092
|
+
`),console.error(`Usage: prismic slice remove <slice-id>`),process.exitCode=1;return}let s=await G(a);if(!s.ok){console.error(s.error),process.exitCode=1;return}let{modelPath:c}=s,l=new URL(`.`,c);if(!n){console.error(`Refusing to remove slice "${a}" (this will delete the entire directory).`),console.error(`Re-run with -y to confirm.`),process.exitCode=1;return}try{await o(l,{recursive:!0})}catch(e){e instanceof Error?console.error(`Failed to remove slice: ${e.message}`):console.error(`Failed to remove slice`),process.exitCode=1;return}if(console.info(`Removed slice "${a}"`),!i)try{await K({output:r}),console.info(`Updated types in ${r??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function Oo(){let{values:{help:t,variation:n,zone:r,types:i,"no-types":a},positionals:[o,c]}=e({args:process.argv.slice(4),options:{variation:{type:`string`,default:`default`},zone:{type:`string`,default:`primary`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Remove a field from a slice variation.
|
|
1878
2093
|
|
|
1879
2094
|
USAGE
|
|
1880
2095
|
prismic slice remove-field <slice-id> <field-id> [flags]
|
|
@@ -1883,17 +2098,21 @@ ARGUMENTS
|
|
|
1883
2098
|
slice-id Slice identifier (required)
|
|
1884
2099
|
field-id Field identifier (required)
|
|
1885
2100
|
|
|
2101
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
2102
|
+
|
|
1886
2103
|
FLAGS
|
|
1887
2104
|
--variation string Target variation (default: "default")
|
|
1888
2105
|
--zone string Field zone: "primary" or "items" (default: "primary")
|
|
2106
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
2107
|
+
--no-types Skip type generation
|
|
1889
2108
|
-h, --help Show help for command
|
|
1890
2109
|
|
|
1891
2110
|
EXAMPLES
|
|
1892
2111
|
prismic slice remove-field MySlice title
|
|
1893
2112
|
prismic slice remove-field MySlice title --variation withImage
|
|
1894
|
-
prismic slice remove-field MySlice item_title --zone items`);return}if(!
|
|
1895
|
-
`),console.error(`Usage: prismic slice remove-field <slice-id> <field-id>`),process.exitCode=1;return}if(!
|
|
1896
|
-
`),console.error(`Usage: prismic slice remove-field <slice-id> <field-id>`),process.exitCode=1;return}if(r!==`primary`&&r!==`items`){console.error(`Invalid zone: ${r}. Must be "primary" or "items".`),process.exitCode=1;return}let
|
|
2113
|
+
prismic slice remove-field MySlice item_title --zone items`);return}if(!o){console.error(`Missing required argument: slice-id
|
|
2114
|
+
`),console.error(`Usage: prismic slice remove-field <slice-id> <field-id>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: field-id
|
|
2115
|
+
`),console.error(`Usage: prismic slice remove-field <slice-id> <field-id>`),process.exitCode=1;return}if(r!==`primary`&&r!==`items`){console.error(`Invalid zone: ${r}. Must be "primary" or "items".`),process.exitCode=1;return}let l=await G(o);if(!l.ok){console.error(l.error),process.exitCode=1;return}let{model:u,modelPath:d}=l,f=u.variations.find(e=>e.id===n);if(!f){console.error(`Variation not found: ${n}`),console.error(`Available variations: ${u.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}let p=r===`primary`?f.primary:f.items;if(!p||!(c in p)){console.error(`Field "${c}" not found in ${r} zone of variation "${n}"`),process.exitCode=1;return}delete p[c];try{await s(d,q(u))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Removed field "${c}" from ${r} zone in variation "${n}" of slice "${o}"`),!a)try{await K({output:i}),console.info(`Updated types in ${i??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function ko(){let{values:{help:t,types:n,"no-types":r},positionals:[i,a]}=e({args:process.argv.slice(4),options:{types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Remove a variation from a slice.
|
|
1897
2116
|
|
|
1898
2117
|
USAGE
|
|
1899
2118
|
prismic slice remove-variation <slice-id> <variation-id> [flags]
|
|
@@ -1902,13 +2121,17 @@ ARGUMENTS
|
|
|
1902
2121
|
slice-id Slice identifier (required)
|
|
1903
2122
|
variation-id Variation to remove (required)
|
|
1904
2123
|
|
|
2124
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
2125
|
+
|
|
1905
2126
|
FLAGS
|
|
2127
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
2128
|
+
--no-types Skip type generation
|
|
1906
2129
|
-h, --help Show help for command
|
|
1907
2130
|
|
|
1908
2131
|
EXAMPLES
|
|
1909
|
-
prismic slice remove-variation MySlice withImage`);return}if(!
|
|
1910
|
-
`),console.error(`Usage: prismic slice remove-variation <slice-id> <variation-id>`),process.exitCode=1;return}if(!
|
|
1911
|
-
`),console.error(`Usage: prismic slice remove-variation <slice-id> <variation-id>`),process.exitCode=1;return}let
|
|
2132
|
+
prismic slice remove-variation MySlice withImage`);return}if(!i){console.error(`Missing required argument: slice-id
|
|
2133
|
+
`),console.error(`Usage: prismic slice remove-variation <slice-id> <variation-id>`),process.exitCode=1;return}if(!a){console.error(`Missing required argument: variation-id
|
|
2134
|
+
`),console.error(`Usage: prismic slice remove-variation <slice-id> <variation-id>`),process.exitCode=1;return}let o=await G(i);if(!o.ok){console.error(o.error),process.exitCode=1;return}let{model:c,modelPath:l}=o;if(!c.variations.some(e=>e.id===a)){console.error(`Variation not found: ${a}`),console.error(`Available variations: ${c.variations.map(e=>e.id).join(`, `)}`),process.exitCode=1;return}if(c.variations.length===1){console.error(`Cannot remove the last variation from a slice.`),process.exitCode=1;return}let u={...c,variations:c.variations.filter(e=>e.id!==a)};try{await s(l,q(u))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(console.info(`Removed variation "${a}" from slice "${i}"`),!r)try{await K({output:n}),console.info(`Updated types in ${n??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function Ao(){let{values:{help:t,id:n,types:r,"no-types":i},positionals:[o,c]}=e({args:process.argv.slice(4),options:{id:{type:`string`},types:{type:`string`},"no-types":{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Rename a slice (updates name field, optionally id and directory).
|
|
1912
2135
|
|
|
1913
2136
|
USAGE
|
|
1914
2137
|
prismic slice rename <slice-id> <new-name> [flags]
|
|
@@ -1917,15 +2140,19 @@ ARGUMENTS
|
|
|
1917
2140
|
slice-id Current slice identifier (required)
|
|
1918
2141
|
new-name New display name (required)
|
|
1919
2142
|
|
|
2143
|
+
Types are generated by default after changes. Use --no-types to skip.
|
|
2144
|
+
|
|
1920
2145
|
FLAGS
|
|
1921
2146
|
--id string Also change the slice ID (renames directory)
|
|
2147
|
+
--types string Output file for generated types (default: "prismicio-types.d.ts")
|
|
2148
|
+
--no-types Skip type generation
|
|
1922
2149
|
-h, --help Show help for command
|
|
1923
2150
|
|
|
1924
2151
|
EXAMPLES
|
|
1925
2152
|
prismic slice rename MySlice "My New Name"
|
|
1926
|
-
prismic slice rename MySlice "My New Name" --id NewSliceId`);return}if(!
|
|
1927
|
-
`),console.error(`Usage: prismic slice rename <slice-id> <new-name>`),process.exitCode=1;return}if(!
|
|
1928
|
-
`),console.error(`Usage: prismic slice rename <slice-id> <new-name>`),process.exitCode=1;return}let
|
|
2153
|
+
prismic slice rename MySlice "My New Name" --id NewSliceId`);return}if(!o){console.error(`Missing required argument: slice-id
|
|
2154
|
+
`),console.error(`Usage: prismic slice rename <slice-id> <new-name>`),process.exitCode=1;return}if(!c){console.error(`Missing required argument: new-name
|
|
2155
|
+
`),console.error(`Usage: prismic slice rename <slice-id> <new-name>`),process.exitCode=1;return}let l=await G(o);if(!l.ok){console.error(l.error),process.exitCode=1;return}let{model:u,modelPath:d}=l;u.name=c,n&&(u.id=n);try{await s(d,q(u))}catch(e){e instanceof Error?console.error(`Failed to update slice: ${e.message}`):console.error(`Failed to update slice`),process.exitCode=1;return}if(n){let e=await Dn(),t=new URL(`.`,d),r=new URL(An(c)+`/`,e);if(t.href!==r.href)try{await a(t,r),console.info(`Renamed slice "${o}" to "${n}" (${c})`),console.info(`Moved directory to ${r.href}`)}catch(e){e instanceof Error?console.error(`Failed to rename directory: ${e.message}`):console.error(`Failed to rename directory`),process.exitCode=1;return}else console.info(`Renamed slice "${o}" to "${n}" (${c})`)}else console.info(`Renamed slice "${o}" to "${c}"`);if(!i)try{await K({output:r}),console.info(`Updated types in ${r??`prismicio-types.d.ts`}`)}catch(e){console.warn(`Could not generate types: ${e instanceof Error?e.message:e}`)}}async function jo(){let{values:{help:t,json:n},positionals:[r]}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`View details of a specific slice.
|
|
1929
2156
|
|
|
1930
2157
|
USAGE
|
|
1931
2158
|
prismic slice view <slice-id> [flags]
|
|
@@ -1940,8 +2167,8 @@ FLAGS
|
|
|
1940
2167
|
EXAMPLES
|
|
1941
2168
|
prismic slice view MySlice
|
|
1942
2169
|
prismic slice view MySlice --json`);return}if(!r){console.error(`Missing required argument: slice-id
|
|
1943
|
-
`),console.error(`Usage: prismic slice view <slice-id>`),process.exitCode=1;return}let i=await
|
|
1944
|
-
Variations:`);for(let e of a.variations){let t=Object.keys(e.primary??{}).length,n=Object.keys(e.items??{}).length;console.info(` - ${e.id} (${e.name}): ${t} primary fields, ${n} items fields`)}}async function
|
|
2170
|
+
`),console.error(`Usage: prismic slice view <slice-id>`),process.exitCode=1;return}let i=await G(r);if(!i.ok){console.error(i.error),process.exitCode=1;return}let{model:a}=i;if(n){console.info(JSON.stringify(a,null,2));return}console.info(`ID: ${a.id}`),console.info(`Name: ${a.name}`),a.description&&console.info(`Description: ${a.description}`),console.info(`Variations: ${a.variations.length}`),console.info(`
|
|
2171
|
+
Variations:`);for(let e of a.variations){let t=Object.keys(e.primary??{}).length,n=Object.keys(e.items??{}).length;console.info(` - ${e.id} (${e.name}): ${t} primary fields, ${n} items fields`)}}async function Mo(){let{positionals:[t]}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`create`:await bo();break;case`list`:await To();break;case`view`:await jo();break;case`rename`:await Ao();break;case`remove`:await Do();break;case`add-field`:await vo();break;case`remove-field`:await Oo();break;case`add-variation`:await yo();break;case`remove-variation`:await ko();break;case`list-variations`:await Eo();break;default:t&&(console.error(`Unknown slice subcommand: ${t}\n`),process.exitCode=1),console.info(`Manage slices in a Prismic project.
|
|
1945
2172
|
|
|
1946
2173
|
USAGE
|
|
1947
2174
|
prismic slice <command> [flags]
|
|
@@ -1962,7 +2189,7 @@ FLAGS
|
|
|
1962
2189
|
-h, --help Show help for command
|
|
1963
2190
|
|
|
1964
2191
|
LEARN MORE
|
|
1965
|
-
Use \`prismic slice <command> --help\` for more information about a command.`)}}async function
|
|
2192
|
+
Use \`prismic slice <command> --help\` for more information about a command.`)}}async function No(){let{values:{help:t,repo:n=await Y(),json:r}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`List all API tokens for a Prismic repository.
|
|
1966
2193
|
|
|
1967
2194
|
By default, this command reads the repository from prismic.config.json at the
|
|
1968
2195
|
project root.
|
|
@@ -1976,7 +2203,7 @@ FLAGS
|
|
|
1976
2203
|
-h, --help Show help for command
|
|
1977
2204
|
|
|
1978
2205
|
LEARN MORE
|
|
1979
|
-
Use \`prismic token <command> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2206
|
+
Use \`prismic token <command> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){Wo();return}let[i,a]=await Promise.all([Bo(n),Vo(n)]);if(!i.ok){i.error instanceof Z||i.error instanceof Q?Wo():M(i.error)?(console.error(`Failed to list access tokens: Invalid response: ${q(i.error.issues)}`),process.exitCode=1):(console.error(`Failed to list access tokens: ${q(i.value)}`),process.exitCode=1);return}if(!a.ok){a.error instanceof Z||a.error instanceof Q?Wo():M(a.error)?(console.error(`Failed to list write tokens: Invalid response: ${q(a.error.issues)}`),process.exitCode=1):(console.error(`Failed to list write tokens: ${q(a.value)}`),process.exitCode=1);return}let o=i.value.flatMap(e=>e.wroom_auths.map(t=>({name:e.name,appId:e.id,authId:t.id,scope:t.scope,token:t.token,createdAt:t.created_at.$date}))),s=a.value.tokens;if(r)console.info(q({accessTokens:o,writeTokens:s}));else{if(o.length>0){console.info(`ACCESS TOKENS`);for(let e of o){let t=Ho(e.token),n=Uo(e.createdAt);console.info(` ${e.name} ${e.scope} ${t} ${n}`)}}else console.info(`ACCESS TOKENS (none)`);if(console.info(``),s.length>0){console.info(`WRITE TOKENS`);for(let e of s){let t=Ho(e.token),n=Uo(e.timestamp);console.info(` ${e.app_name} ${t} ${n}`)}}else console.info(`WRITE TOKENS (none)`)}}const Po=F({$date:pn()}),Fo=F({id:R(),origin:R(),domain:R(),app:R(),scope:R(),expired_at:Po,created_at:Po,owner:fn(R()),token:R()}),Io=F({id:R(),secret:R(),name:R(),owner:R(),created_at:Po,authorized_domains:N(R()),wroom_auths:N(Fo)}),Lo=F({app_name:R(),token:R(),timestamp:pn()}),Ro=F({max_tokens:pn(),tokens:N(Lo)}),zo=N(Io);async function Bo(e){return await X(new URL(`settings/security/contentapi`,await V(e)),{schema:zo})}async function Vo(e){return await X(new URL(`settings/security/customtypesapi`,await V(e)),{schema:Ro})}function Ho(e){return e.length<=12?e:`${e.slice(0,8)}...${e.slice(-4)}`}function Uo(e){let t=typeof e==`number`?e*1e3:e.$date;return new Date(t).toISOString().split(`T`)[0]}function Wo(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function Go(){let{values:{help:t,repo:n=await Y(),json:r,write:i,name:a=`Prismic CLI`,"allow-releases":o}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`},write:{type:`boolean`,short:`w`},name:{type:`string`,short:`n`},"allow-releases":{type:`boolean`}},allowPositionals:!1});if(t){console.info(`Create a new API token for a Prismic repository.
|
|
1980
2207
|
|
|
1981
2208
|
By default, this command reads the repository from prismic.config.json at the
|
|
1982
2209
|
project root.
|
|
@@ -1993,7 +2220,7 @@ FLAGS
|
|
|
1993
2220
|
-h, --help Show help for command
|
|
1994
2221
|
|
|
1995
2222
|
LEARN MORE
|
|
1996
|
-
Use \`prismic token <command> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(i&&o){console.error(`--allow-releases is only valid for access tokens (not with --write)`),process.exitCode=1;return}if(!await
|
|
2223
|
+
Use \`prismic token <command> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(i&&o){console.error(`--allow-releases is only valid for access tokens (not with --write)`),process.exitCode=1;return}if(!await H()){Jo();return}if(i){let e=await Ko(n,a);if(!e.ok){e.error instanceof Z||e.error instanceof Q?Jo():M(e.error)?(console.error(`Failed to create write token: Invalid response: ${q(e.error.issues)}`),process.exitCode=1):(console.error(`Failed to create write token: ${q(e.value)}`),process.exitCode=1);return}r?console.info(q(e.value)):console.info(`Token created: ${e.value.token}`)}else{let e=await qo(n,a,o?`master+releases`:`master`);if(!e.ok){e.error instanceof Z||e.error instanceof Q?Jo():M(e.error)?(console.error(`Failed to create access token: Invalid response: ${q(e.error.issues)}`),process.exitCode=1):(console.error(`Failed to create access token: ${q(e.value)}`),process.exitCode=1);return}r?console.info(q(e.value)):console.info(`Token created: ${e.value.token}`)}}async function Ko(e,t){return await X(new URL(`settings/security/token`,await V(e)),{method:`POST`,body:{app_name:t},schema:Lo})}async function qo(e,t,n){let r=await Bo(e);if(!r.ok)return r;let i=r.value.find(e=>e.name===t);if(!i){let n=await X(new URL(`settings/security/oauthapp`,await V(e)),{method:`POST`,body:{app_name:t},schema:Io});if(!n.ok)return n;i=n.value}return await X(new URL(`settings/security/authorizations`,await V(e)),{method:`POST`,body:{app:i.id,scope:n},schema:Fo})}function Jo(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function Yo(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Delete a token from a Prismic repository.
|
|
1997
2224
|
|
|
1998
2225
|
By default, this command reads the repository from prismic.config.json at the
|
|
1999
2226
|
project root.
|
|
@@ -2009,7 +2236,7 @@ FLAGS
|
|
|
2009
2236
|
-h, --help Show help for command
|
|
2010
2237
|
|
|
2011
2238
|
LEARN MORE
|
|
2012
|
-
Use \`prismic token <command> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: token`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2239
|
+
Use \`prismic token <command> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: token`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){Xo();return}let[i,a]=await Promise.all([Bo(n),Vo(n)]);if(!i.ok){i.error instanceof Z||i.error instanceof Q?Xo():M(i.error)?(console.error(`Failed to list access tokens: Invalid response: ${q(i.error.issues)}`),process.exitCode=1):(console.error(`Failed to list access tokens: ${q(i.value)}`),process.exitCode=1);return}if(!a.ok){a.error instanceof Z||a.error instanceof Q?Xo():M(a.error)?(console.error(`Failed to list write tokens: Invalid response: ${q(a.error.issues)}`),process.exitCode=1):(console.error(`Failed to list write tokens: ${q(a.value)}`),process.exitCode=1);return}let o;for(let e of i.value){for(let t of e.wroom_auths)if(t.token===r||t.token.startsWith(r)||t.token.endsWith(r)){o=t;break}if(o)break}if(o){let e=await X(new URL(`settings/security/authorizations/${o.id}`,await V(n)),{method:`DELETE`});if(!e.ok){e.error instanceof Z||e.error instanceof Q?Xo():(console.error(`Failed to delete token: ${q(e.value)}`),process.exitCode=1);return}console.info(`Token deleted`);return}let s=a.value.tokens.find(e=>e.token===r||e.token.startsWith(r)||e.token.endsWith(r));if(s){let e=await X(new URL(`settings/security/token/${s.token}`,await V(n)),{method:`DELETE`});if(!e.ok){e.error instanceof Z||e.error instanceof Q?Xo():(console.error(`Failed to delete token: ${q(e.value)}`),process.exitCode=1);return}console.info(`Token deleted`);return}console.error(`Token not found: ${r}`),process.exitCode=1}function Xo(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function Zo(){let{values:{help:t,repo:n=await Y()},positionals:[r,i]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Set the name of a token in a Prismic repository.
|
|
2013
2240
|
|
|
2014
2241
|
Note: Only access tokens can be renamed. Write tokens cannot be renamed without
|
|
2015
2242
|
changing the token value.
|
|
@@ -2029,7 +2256,7 @@ FLAGS
|
|
|
2029
2256
|
-h, --help Show help for command
|
|
2030
2257
|
|
|
2031
2258
|
LEARN MORE
|
|
2032
|
-
Use \`prismic token <command> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: token`),process.exitCode=1;return}if(!i){console.error(`Missing required argument: name`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2259
|
+
Use \`prismic token <command> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: token`),process.exitCode=1;return}if(!i){console.error(`Missing required argument: name`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){Qo();return}let[a,o]=await Promise.all([Bo(n),Vo(n)]);if(!a.ok){a.error instanceof Z||a.error instanceof Q?Qo():M(a.error)?(console.error(`Failed to list access tokens: Invalid response: ${q(a.error.issues)}`),process.exitCode=1):(console.error(`Failed to list access tokens: ${q(a.value)}`),process.exitCode=1);return}if(!o.ok){o.error instanceof Z||o.error instanceof Q?Qo():M(o.error)?(console.error(`Failed to list write tokens: Invalid response: ${q(o.error.issues)}`),process.exitCode=1):(console.error(`Failed to list write tokens: ${q(o.value)}`),process.exitCode=1);return}let s;for(let e of a.value){for(let t of e.wroom_auths)if(t.token===r||t.token.startsWith(r)||t.token.endsWith(r)){s=e;break}if(s)break}if(s){let e=await X(new URL(`settings/security/oauthapp/${s.id}`,await V(n)),{method:`POST`,body:{name:i},schema:Io});if(!e.ok){e.error instanceof Z||e.error instanceof Q?Qo():M(e.error)?(console.error(`Failed to rename token: Invalid response: ${q(e.error.issues)}`),process.exitCode=1):(console.error(`Failed to rename token: ${q(e.value)}`),process.exitCode=1);return}console.info(`Token renamed to: ${i}`);return}if(o.value.tokens.find(e=>e.token===r||e.token.startsWith(r)||e.token.endsWith(r))){console.error(`Write tokens cannot be renamed. Delete and create a new token with the desired name.`),process.exitCode=1;return}console.error(`Token not found: ${r}`),process.exitCode=1}function Qo(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function $o(){let{positionals:[t]}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`list`:await No();break;case`create`:await Go();break;case`set-name`:await Zo();break;case`delete`:await Yo();break;default:t&&(console.error(`Unknown token subcommand: ${t}\n`),process.exitCode=1),console.info(`Manage API tokens for a Prismic repository.
|
|
2033
2260
|
|
|
2034
2261
|
USAGE
|
|
2035
2262
|
prismic token <command> [flags]
|
|
@@ -2044,7 +2271,7 @@ FLAGS
|
|
|
2044
2271
|
-h, --help Show help for command
|
|
2045
2272
|
|
|
2046
2273
|
LEARN MORE
|
|
2047
|
-
Use \`prismic token <command> --help\` for more information about a command.`)}}const
|
|
2274
|
+
Use \`prismic token <command> --help\` for more information about a command.`)}}const es={documentsPublished:`document.published`,documentsUnpublished:`document.unpublished`,releasesCreated:`release.created`,releasesUpdated:`release.updated`,tagsCreated:`tag.created`,tagsDeleted:`tag.deleted`};async function ts(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`View details of a webhook in a Prismic repository.
|
|
2048
2275
|
|
|
2049
2276
|
By default, this command reads the repository from prismic.config.json at the
|
|
2050
2277
|
project root.
|
|
@@ -2060,7 +2287,7 @@ FLAGS
|
|
|
2060
2287
|
-h, --help Show help for command
|
|
2061
2288
|
|
|
2062
2289
|
LEARN MORE
|
|
2063
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2290
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){ns();return}let i=await $(n);if(!i.ok){i.error instanceof Z?ns():(console.error(`Failed to view webhook: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.find(e=>e.config.url===r);if(!a){console.error(`Webhook not found: ${r}`),process.exitCode=1;return}let{config:o}=a;console.info(`URL: ${o.url}`),console.info(`Name: ${o.name||`(none)`}`),console.info(`Status: ${o.active?`enabled`:`disabled`}`),console.info(`Secret: ${o.secret?`(set)`:`(none)`}`);let s=[];for(let[e,t]of Object.entries(es))o[e]&&s.push(t);if(console.info(`Triggers: ${s.length>0?s.join(`, `):`(none)`}`),Object.keys(o.headers).length>0){console.info(`Headers:`);for(let[e,t]of Object.entries(o.headers))console.info(` ${e}: ${t}`)}else console.info(`Headers: (none)`)}function ns(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}const rs=F({config:F({_id:R(),url:R(),active:P(),name:fn(R()),secret:fn(R()),headers:L(R(),R()),documentsPublished:P(),documentsUnpublished:P(),releasesCreated:P(),releasesUpdated:P(),tagsCreated:P(),tagsDeleted:P()})});async function $(e){return await X(new URL(`/app/settings/webhooks`,await V(e)),{schema:N(rs)})}async function is(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Enable a webhook in a Prismic repository.
|
|
2064
2291
|
|
|
2065
2292
|
By default, this command reads the repository from prismic.config.json at the
|
|
2066
2293
|
project root.
|
|
@@ -2076,7 +2303,7 @@ FLAGS
|
|
|
2076
2303
|
-h, --help Show help for command
|
|
2077
2304
|
|
|
2078
2305
|
LEARN MORE
|
|
2079
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2306
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){os();return}let i=await $(n);if(!i.ok){i.error instanceof Z?os():(console.error(`Failed to enable webhook: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.find(e=>e.config.url===r);if(!a){console.error(`Webhook not found: ${r}`),process.exitCode=1;return}if(a.config.active){console.info(`Webhook already enabled: ${r}`);return}let o=structuredClone(a.config);o.active=!0;let s=await as(n,a.config._id,o);if(!s.ok){s.error instanceof Z?os():(console.error(`Failed to enable webhook: ${q(s.value)}`),process.exitCode=1);return}console.info(`Webhook enabled: ${r}`)}async function as(e,t,n){let r=new URL(`/app/settings/webhooks/${t}`,await V(e)),i=new FormData;return i.set(`url`,n.url),i.set(`name`,n.name??``),i.set(`secret`,n.secret??``),i.set(`headers`,JSON.stringify(n.headers??{})),i.set(`active`,n.active?`on`:`off`),i.set(`documentsPublished`,n.documentsUnpublished.toString()),i.set(`documentsUnpublished`,n.documentsUnpublished.toString()),i.set(`releasesCreated`,n.documentsUnpublished.toString()),i.set(`releasesUpdated`,n.documentsUnpublished.toString()),i.set(`tagsCreated`,n.documentsUnpublished.toString()),i.set(`documentsPublished`,n.documentsUnpublished.toString()),await X(r,{method:`POST`,body:i})}function os(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function ss(){let{values:{help:t,repo:n=await Y()},positionals:[r,i,a]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Add a custom HTTP header to a webhook.
|
|
2080
2307
|
|
|
2081
2308
|
By default, this command reads the repository from prismic.config.json at the
|
|
2082
2309
|
project root.
|
|
@@ -2094,7 +2321,7 @@ FLAGS
|
|
|
2094
2321
|
-h, --help Show help for command
|
|
2095
2322
|
|
|
2096
2323
|
LEARN MORE
|
|
2097
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!i){console.error(`Missing required argument: <key>`),process.exitCode=1;return}if(!a){console.error(`Missing required argument: <value>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2324
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!i){console.error(`Missing required argument: <key>`),process.exitCode=1;return}if(!a){console.error(`Missing required argument: <value>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){cs();return}let o=await $(n);if(!o.ok){o.error instanceof Z?cs():(console.error(`Failed to add header: ${q(o.value)}`),process.exitCode=1);return}let s=o.value.find(e=>e.config.url===r);if(!s){console.error(`Webhook not found: ${r}`),process.exitCode=1;return}let c=structuredClone(s.config);c.headers[i]=a;let l=await as(n,s.config._id,c);if(!l.ok){l.error instanceof Z?cs():(console.error(`Failed to add header: ${q(l.value)}`),process.exitCode=1);return}console.info(`Header added: ${i}`)}function cs(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}const ls=Object.values(es);async function us(){let{values:{help:t,repo:n=await Y(),name:r,secret:i,trigger:a=[]},positionals:[o]}=e({args:process.argv.slice(4),options:{name:{type:`string`,short:`n`},secret:{type:`string`,short:`s`},trigger:{type:`string`,multiple:!0,short:`t`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Create a new webhook in a Prismic repository.
|
|
2098
2325
|
|
|
2099
2326
|
By default, this command reads the repository from prismic.config.json at the
|
|
2100
2327
|
project root.
|
|
@@ -2123,7 +2350,7 @@ TRIGGERS
|
|
|
2123
2350
|
If no triggers specified, all are enabled.
|
|
2124
2351
|
|
|
2125
2352
|
LEARN MORE
|
|
2126
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!o){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}for(let e of a)if(!
|
|
2353
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!o){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}for(let e of a)if(!ls.includes(e)){console.error(`Invalid trigger: ${e}`),console.error(`Valid triggers: ${ls.join(`, `)}`),process.exitCode=1;return}if(!await H()){fs();return}let s=!(a.length>0),c={documentsPublished:s,documentsUnpublished:s,releasesCreated:s,releasesUpdated:s,tagsCreated:s,tagsDeleted:s};for(let e of a){let[t]=Object.entries(es).find(([,t])=>e===t)??[];t&&(c[t]=!0)}let l=await ds(n,{url:o,name:r??null,secret:i??null,...c});if(!l.ok){l.error instanceof Z?fs():(console.error(`Failed to create webhook: ${q(l.value)}`),process.exitCode=1);return}console.info(`Webhook created: ${o}`)}async function ds(e,t){let n=new URL(`/app/settings/webhooks/create`,await V(e)),r=new FormData;return r.set(`url`,t.url),r.set(`name`,t.name??``),r.set(`secret`,t.secret??``),r.set(`headers`,JSON.stringify({})),r.set(`active`,`on`),r.set(`documentsPublished`,t.documentsUnpublished.toString()),r.set(`documentsUnpublished`,t.documentsUnpublished.toString()),r.set(`releasesCreated`,t.documentsUnpublished.toString()),r.set(`releasesUpdated`,t.documentsUnpublished.toString()),r.set(`tagsCreated`,t.documentsUnpublished.toString()),r.set(`documentsPublished`,t.documentsUnpublished.toString()),await X(n,{method:`POST`,body:r})}function fs(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function ps(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Disable a webhook in a Prismic repository.
|
|
2127
2354
|
|
|
2128
2355
|
By default, this command reads the repository from prismic.config.json at the
|
|
2129
2356
|
project root.
|
|
@@ -2139,7 +2366,7 @@ FLAGS
|
|
|
2139
2366
|
-h, --help Show help for command
|
|
2140
2367
|
|
|
2141
2368
|
LEARN MORE
|
|
2142
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2369
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){ms();return}let i=await $(n);if(!i.ok){i.error instanceof Z?ms():(console.error(`Failed to disable webhook: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.find(e=>e.config.url===r);if(!a){console.error(`Webhook not found: ${r}`),process.exitCode=1;return}if(!a.config.active){console.info(`Webhook already disabled: ${r}`);return}let o=structuredClone(a.config);o.active=!1;let s=await as(n,a.config._id,o);if(!s.ok){s.error instanceof Z?ms():(console.error(`Failed to disable webhook: ${q(s.value)}`),process.exitCode=1);return}console.info(`Webhook disabled: ${r}`)}function ms(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function hs(){let{values:{help:t,repo:n=await Y(),json:r}}=e({args:process.argv.slice(4),options:{json:{type:`boolean`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!1});if(t){console.info(`List all webhooks in a Prismic repository.
|
|
2143
2370
|
|
|
2144
2371
|
By default, this command reads the repository from prismic.config.json at the
|
|
2145
2372
|
project root.
|
|
@@ -2153,7 +2380,7 @@ FLAGS
|
|
|
2153
2380
|
-h, --help Show help for command
|
|
2154
2381
|
|
|
2155
2382
|
LEARN MORE
|
|
2156
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2383
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){gs();return}let i=await $(n);if(!i.ok){i.error instanceof Z?gs():M(i.error)?(console.error(`Failed to list webhooks: Invalid response: ${q(i.error.issues)}`),process.exitCode=1):(console.error(`Failed to list webhooks: ${q(i.value)}`),process.exitCode=1);return}let a=i.value;if(r)console.info(q(a.map(e=>e.config)));else{if(a.length===0){console.info(`No webhooks configured.`);return}for(let e of a){let t=e.config.active?`enabled`:`disabled`,n=e.config.name?` (${e.config.name})`:``;console.info(`${e.config.url}${n} [${t}]`)}}}function gs(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function _s(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Delete a webhook from a Prismic repository.
|
|
2157
2384
|
|
|
2158
2385
|
By default, this command reads the repository from prismic.config.json at the
|
|
2159
2386
|
project root.
|
|
@@ -2169,7 +2396,7 @@ FLAGS
|
|
|
2169
2396
|
-h, --help Show help for command
|
|
2170
2397
|
|
|
2171
2398
|
LEARN MORE
|
|
2172
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2399
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){ys();return}let i=await $(n);if(!i.ok){i.error instanceof Z?ys():(console.error(`Failed to remove webhook: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.find(e=>e.config.url===r);if(!a){console.error(`Webhook not found: ${r}`),process.exitCode=1;return}let o=await vs(n,a.config._id);if(!o.ok){o.error instanceof Z?ys():(console.error(`Failed to remove webhook: ${q(o.value)}`),process.exitCode=1);return}console.info(`Webhook removed: ${r}`)}async function vs(e,t){return await X(new URL(`/app/settings/webhooks/${t}/delete`,await V(e)),{method:`POST`})}function ys(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function bs(){let{values:{help:t,repo:n=await Y()},positionals:[r,i]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Remove a custom HTTP header from a webhook.
|
|
2173
2400
|
|
|
2174
2401
|
By default, this command reads the repository from prismic.config.json at the
|
|
2175
2402
|
project root.
|
|
@@ -2186,7 +2413,7 @@ FLAGS
|
|
|
2186
2413
|
-h, --help Show help for command
|
|
2187
2414
|
|
|
2188
2415
|
LEARN MORE
|
|
2189
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!i){console.error(`Missing required argument: <key>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2416
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!i){console.error(`Missing required argument: <key>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){xs();return}let a=await $(n);if(!a.ok){a.error instanceof Z?xs():(console.error(`Failed to remove header: ${q(a.value)}`),process.exitCode=1);return}let o=a.value.find(e=>e.config.url===r);if(!o){console.error(`Webhook not found: ${r}`),process.exitCode=1;return}if(!(i in o.config.headers)){console.error(`Header not found: ${i}`),process.exitCode=1;return}let s=structuredClone(o.config);delete s.headers[i];let c=await as(n,o.config._id,s);if(!c.ok){c.error instanceof Z?xs():(console.error(`Failed to remove header: ${q(c.value)}`),process.exitCode=1);return}console.info(`Header removed: ${i}`)}function xs(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}const Ss=Object.values(es);async function Cs(){let{values:{help:t,repo:n=await Y(),trigger:r},positionals:[i]}=e({args:process.argv.slice(4),options:{trigger:{type:`string`,multiple:!0,short:`t`},repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Update which events trigger a webhook.
|
|
2190
2417
|
|
|
2191
2418
|
By default, this command reads the repository from prismic.config.json at the
|
|
2192
2419
|
project root.
|
|
@@ -2211,7 +2438,7 @@ TRIGGERS
|
|
|
2211
2438
|
tag.deleted When a tag is deleted
|
|
2212
2439
|
|
|
2213
2440
|
LEARN MORE
|
|
2214
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!i){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!r||r.length===0){console.error(`Missing required option: --trigger`),process.exitCode=1;return}for(let e of r)if(!
|
|
2441
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!i){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!r||r.length===0){console.error(`Missing required option: --trigger`),process.exitCode=1;return}for(let e of r)if(!Ss.includes(e)){console.error(`Invalid trigger: ${e}`),console.error(`Valid triggers: ${Ss.join(`, `)}`),process.exitCode=1;return}if(!await H()){ws();return}let a=await $(n);if(!a.ok){a.error instanceof Z?ws():(console.error(`Failed to update webhook triggers: ${q(a.value)}`),process.exitCode=1);return}let o=a.value.find(e=>e.config.url===i);if(!o){console.error(`Webhook not found: ${i}`),process.exitCode=1;return}let s=!(r.length>0),c={documentsPublished:s,documentsUnpublished:s,releasesCreated:s,releasesUpdated:s,tagsCreated:s,tagsDeleted:s};for(let e of r){let[t]=Object.entries(es).find(([,t])=>e===t)??[];t&&(c[t]=!0)}let l=await as(n,o.config._id,{...o.config,...c});if(!l.ok){l.error instanceof Z?ws():(console.error(`Failed to update webhook triggers: ${q(l.value)}`),process.exitCode=1);return}console.info(`Webhook triggers updated: ${r.join(`, `)}`)}function ws(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function Ts(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Show the enabled/disabled status of a webhook.
|
|
2215
2442
|
|
|
2216
2443
|
By default, this command reads the repository from prismic.config.json at the
|
|
2217
2444
|
project root.
|
|
@@ -2227,7 +2454,7 @@ FLAGS
|
|
|
2227
2454
|
-h, --help Show help for command
|
|
2228
2455
|
|
|
2229
2456
|
LEARN MORE
|
|
2230
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2457
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){Es();return}let i=await $(n);if(!i.ok){i.error instanceof Z?Es():(console.error(`Failed to get webhook status: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.find(e=>e.config.url===r);if(!a){console.error(`Webhook not found: ${r}`),process.exitCode=1;return}let o=a.config.active?`enabled`:`disabled`;console.info(o)}function Es(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function Ds(){let{values:{help:t,repo:n=await Y()},positionals:[r]}=e({args:process.argv.slice(4),options:{repo:{type:`string`,short:`r`},help:{type:`boolean`,short:`h`}},allowPositionals:!0});if(t){console.info(`Trigger a test webhook in a Prismic repository.
|
|
2231
2458
|
|
|
2232
2459
|
By default, this command reads the repository from prismic.config.json at the
|
|
2233
2460
|
project root.
|
|
@@ -2243,7 +2470,7 @@ FLAGS
|
|
|
2243
2470
|
-h, --help Show help for command
|
|
2244
2471
|
|
|
2245
2472
|
LEARN MORE
|
|
2246
|
-
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await
|
|
2473
|
+
Use \`prismic <command> <subcommand> --help\` for more information about a command.`);return}if(!r){console.error(`Missing required argument: <url>`),process.exitCode=1;return}if(!n){console.error(`Missing prismic.config.json or --repo option`),process.exitCode=1;return}if(!await H()){ks();return}let i=await $(n);if(!i.ok){i.error instanceof Z?ks():(console.error(`Failed to test webhook: ${q(i.value)}`),process.exitCode=1);return}let a=i.value.find(e=>e.config.url===r);if(!a){console.error(`Webhook not found: ${r}`),process.exitCode=1;return}let o=await Os(n,a.config._id);if(!o.ok){o.error instanceof Z?ks():(console.error(`Failed to test webhook: ${q(o.value)}`),process.exitCode=1);return}console.info(`Test webhook triggered: ${r}`)}async function Os(e,t){return await X(new URL(`/app/settings/webhooks/${t}/trigger`,await V(e)),{method:`POST`})}function ks(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}async function As(){let{positionals:[t]}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(t){case`list`:await hs();break;case`create`:await us();break;case`view`:await ts();break;case`remove`:await _s();break;case`test`:await Ds();break;case`enable`:await is();break;case`disable`:await ps();break;case`status`:await Ts();break;case`add-header`:await ss();break;case`remove-header`:await bs();break;case`set-triggers`:await Cs();break;default:t&&(console.error(`Unknown webhook subcommand: ${t}\n`),process.exitCode=1),console.info(`Manage webhooks in a Prismic repository.
|
|
2247
2474
|
|
|
2248
2475
|
USAGE
|
|
2249
2476
|
prismic webhook <command> [flags]
|
|
@@ -2265,7 +2492,7 @@ FLAGS
|
|
|
2265
2492
|
-h, --help Show help for command
|
|
2266
2493
|
|
|
2267
2494
|
LEARN MORE
|
|
2268
|
-
Use \`prismic webhook <command> --help\` for more information about a command.`)}}async function
|
|
2495
|
+
Use \`prismic webhook <command> --help\` for more information about a command.`)}}async function js(){let{values:{help:t}}=e({args:process.argv.slice(3),options:{help:{type:`boolean`,short:`h`}}});if(t){console.info(`Show the currently logged in user.
|
|
2269
2496
|
|
|
2270
2497
|
USAGE
|
|
2271
2498
|
prismic whoami [flags]
|
|
@@ -2274,7 +2501,7 @@ FLAGS
|
|
|
2274
2501
|
-h, --help Show help for command
|
|
2275
2502
|
|
|
2276
2503
|
LEARN MORE
|
|
2277
|
-
Use \`prismic <command> --help\` for more information about a command.`);return}if(!await
|
|
2504
|
+
Use \`prismic <command> --help\` for more information about a command.`);return}if(!await H()){Ns();return}let n=await Ms();if(!n.ok){n.error instanceof Z?Ns():console.error(`Failed to fetch user profile.`),process.exitCode=1;return}console.info(n.value.email)}async function Ms(){return await X(new URL(`profile`,await _n()),{schema:F({email:R()})})}function Ns(){console.error("Not logged in. Run `prismic login` first."),process.exitCode=1}const{positionals:Ps}=e({options:{help:{type:`boolean`,short:`h`}},allowPositionals:!0,strict:!1});switch(Ps[0]){case`init`:await Gr();break;case`login`:await ci();break;case`logout`:await di();break;case`whoami`:await js();break;case`repo`:await io();break;case`locale`:await si();break;case`page-type`:await ra();break;case`custom-type`:await Pr();break;case`slice`:await Mo();break;case`pull`:await Aa();break;case`push`:await Na();break;case`codegen`:await Wn();break;case`preview`:await ka();break;case`token`:await $o();break;case`webhook`:await As();break;default:Ps[0]&&(console.error(`Unknown command: ${Ps[0]}`),process.exitCode=1),console.info(`Prismic CLI for managing repositories and configurations.
|
|
2278
2505
|
|
|
2279
2506
|
USAGE
|
|
2280
2507
|
prismic <command> [flags]
|