everything-dev 1.42.1 → 1.42.2

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.
@@ -59,7 +59,8 @@ async function promptInitBasic(input) {
59
59
  const resolvedAccount = account || accountDefault;
60
60
  const extendsInput = input.extends ?? await _clack_prompts.text({
61
61
  message: "Extending an existing app?",
62
- placeholder: "bos://dev.everything.near/everything.dev"
62
+ placeholder: "bos://dev.everything.near/dev.everything.dev",
63
+ defaultValue: "bos://dev.everything.near/dev.everything.dev"
63
64
  });
64
65
  if (_clack_prompts.isCancel(extendsInput)) node_process.default.exit(0);
65
66
  if (extendsInput) {
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.cjs","names":["p"],"sources":["../../src/cli/prompts.ts"],"sourcesContent":["import process from \"node:process\";\nimport * as p from \"@clack/prompts\";\nimport type { OverrideSection } from \"../contract\";\n\nfunction parseExtendsRef(ref: string): { account: string; gateway: string } | null {\n const normalized = ref.startsWith(\"bos://\") ? ref : `bos://${ref}`;\n const match = normalized.match(/^bos:\\/\\/([^/]+)\\/(.+)$/);\n if (!match) return null;\n return { account: match[1], gateway: match[2] };\n}\n\nfunction deriveAccountFromExtends(domain: string, extendsAccount: string): string {\n const firstSegment = domain.split(\".\")[0];\n if (!firstSegment) return \"\";\n const suffix = extendsAccount.includes(\".\")\n ? extendsAccount.substring(extendsAccount.indexOf(\".\") + 1)\n : extendsAccount;\n return `${firstSegment}.${suffix}`;\n}\n\nconst OVERRIDE_OPTIONS: { value: OverrideSection; label: string; hint: string }[] = [\n { value: \"ui\", label: \"ui\", hint: \"Override UI with local source\" },\n { value: \"api\", label: \"api\", hint: \"Override API with local source\" },\n { value: \"host\", label: \"host\", hint: \"Override host with local source\" },\n { value: \"plugins\", label: \"plugins\", hint: \"Override selected plugins with local source\" },\n];\n\nexport async function promptInitBasic(input: {\n domain?: string;\n account?: string;\n extends?: string;\n}): Promise<{\n extendsAccount: string;\n extendsGateway: string;\n domain: string;\n account?: string;\n}> {\n p.intro(\"Let's build an app...\");\n\n const domain =\n input.domain ??\n ((await p.text({\n message: \"Starting with a domain?\",\n placeholder: \"no\",\n })) as string);\n\n if (p.isCancel(domain)) process.exit(0);\n\n let extendsAccount = \"dev.everything.near\";\n let extendsGateway = \"everything.dev\";\n\n const accountDefault = domain ? deriveAccountFromExtends(domain, extendsAccount) : \"\";\n const account =\n input.account ??\n ((await p.text({\n message: \"What NEAR account will you publish from?\",\n placeholder: accountDefault || \"skip\",\n defaultValue: accountDefault,\n })) as string);\n\n if (p.isCancel(account)) process.exit(0);\n\n const resolvedAccount = account || accountDefault;\n const extendsInput =\n input.extends ??\n ((await p.text({\n message: \"Extending an existing app?\",\n placeholder: \"bos://dev.everything.near/everything.dev\",\n })) as string);\n\n if (p.isCancel(extendsInput)) process.exit(0);\n\n if (extendsInput) {\n const parsed = parseExtendsRef(extendsInput);\n if (parsed) {\n extendsAccount = parsed.account;\n extendsGateway = parsed.gateway;\n }\n }\n\n return {\n extendsAccount,\n extendsGateway,\n domain: domain || \"\",\n account: resolvedAccount || undefined,\n };\n}\n\nexport async function promptInitOverrides(input: {\n parentPluginKeys?: string[];\n overrides?: OverrideSection[];\n plugins?: string[];\n}): Promise<{\n overrides: OverrideSection[];\n plugins: string[];\n}> {\n const overrides =\n input.overrides ??\n ((await p.multiselect({\n message: \"What do you want to customize?\",\n options: OVERRIDE_OPTIONS,\n initialValues: [\"ui\", \"api\"] as OverrideSection[],\n required: false,\n })) as OverrideSection[]);\n\n if (p.isCancel(overrides)) process.exit(0);\n\n let plugins: string[] = [];\n if (overrides.includes(\"plugins\")) {\n const parentPlugins = input.parentPluginKeys ?? [];\n const pluginOptions =\n parentPlugins.length > 0 ? parentPlugins.map((key) => ({ value: key, label: key })) : [];\n\n plugins =\n input.plugins ??\n (pluginOptions.length > 0\n ? ((await p.multiselect({\n message: \"Select plugins to include:\",\n options: pluginOptions,\n required: false,\n })) as string[])\n : []);\n\n if (p.isCancel(plugins)) process.exit(0);\n }\n\n const go = await p.confirm({\n message: \"GO!\",\n initialValue: true,\n });\n\n if (p.isCancel(go) || !go) process.exit(0);\n\n return { overrides, plugins };\n}\n"],"mappings":";;;;;;;AAIA,SAAS,gBAAgB,KAA0D;CAEjF,MAAM,SADa,IAAI,WAAW,SAAS,GAAG,MAAM,SAAS,OACpC,MAAM,0BAA0B;AACzD,KAAI,CAAC,MAAO,QAAO;AACnB,QAAO;EAAE,SAAS,MAAM;EAAI,SAAS,MAAM;EAAI;;AAGjD,SAAS,yBAAyB,QAAgB,gBAAgC;CAChF,MAAM,eAAe,OAAO,MAAM,IAAI,CAAC;AACvC,KAAI,CAAC,aAAc,QAAO;AAI1B,QAAO,GAAG,aAAa,GAHR,eAAe,SAAS,IAAI,GACvC,eAAe,UAAU,eAAe,QAAQ,IAAI,GAAG,EAAE,GACzD;;AAIN,MAAM,mBAA8E;CAClF;EAAE,OAAO;EAAM,OAAO;EAAM,MAAM;EAAiC;CACnE;EAAE,OAAO;EAAO,OAAO;EAAO,MAAM;EAAkC;CACtE;EAAE,OAAO;EAAQ,OAAO;EAAQ,MAAM;EAAmC;CACzE;EAAE,OAAO;EAAW,OAAO;EAAW,MAAM;EAA+C;CAC5F;AAED,eAAsB,gBAAgB,OASnC;AACD,gBAAE,MAAM,wBAAwB;CAEhC,MAAM,SACJ,MAAM,UACJ,MAAMA,eAAE,KAAK;EACb,SAAS;EACT,aAAa;EACd,CAAC;AAEJ,KAAIA,eAAE,SAAS,OAAO,CAAE,sBAAQ,KAAK,EAAE;CAEvC,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CAErB,MAAM,iBAAiB,SAAS,yBAAyB,QAAQ,eAAe,GAAG;CACnF,MAAM,UACJ,MAAM,WACJ,MAAMA,eAAE,KAAK;EACb,SAAS;EACT,aAAa,kBAAkB;EAC/B,cAAc;EACf,CAAC;AAEJ,KAAIA,eAAE,SAAS,QAAQ,CAAE,sBAAQ,KAAK,EAAE;CAExC,MAAM,kBAAkB,WAAW;CACnC,MAAM,eACJ,MAAM,WACJ,MAAMA,eAAE,KAAK;EACb,SAAS;EACT,aAAa;EACd,CAAC;AAEJ,KAAIA,eAAE,SAAS,aAAa,CAAE,sBAAQ,KAAK,EAAE;AAE7C,KAAI,cAAc;EAChB,MAAM,SAAS,gBAAgB,aAAa;AAC5C,MAAI,QAAQ;AACV,oBAAiB,OAAO;AACxB,oBAAiB,OAAO;;;AAI5B,QAAO;EACL;EACA;EACA,QAAQ,UAAU;EAClB,SAAS,mBAAmB;EAC7B;;AAGH,eAAsB,oBAAoB,OAOvC;CACD,MAAM,YACJ,MAAM,aACJ,MAAMA,eAAE,YAAY;EACpB,SAAS;EACT,SAAS;EACT,eAAe,CAAC,MAAM,MAAM;EAC5B,UAAU;EACX,CAAC;AAEJ,KAAIA,eAAE,SAAS,UAAU,CAAE,sBAAQ,KAAK,EAAE;CAE1C,IAAI,UAAoB,EAAE;AAC1B,KAAI,UAAU,SAAS,UAAU,EAAE;EACjC,MAAM,gBAAgB,MAAM,oBAAoB,EAAE;EAClD,MAAM,gBACJ,cAAc,SAAS,IAAI,cAAc,KAAK,SAAS;GAAE,OAAO;GAAK,OAAO;GAAK,EAAE,GAAG,EAAE;AAE1F,YACE,MAAM,YACL,cAAc,SAAS,IAClB,MAAMA,eAAE,YAAY;GACpB,SAAS;GACT,SAAS;GACT,UAAU;GACX,CAAC,GACF,EAAE;AAER,MAAIA,eAAE,SAAS,QAAQ,CAAE,sBAAQ,KAAK,EAAE;;CAG1C,MAAM,KAAK,MAAMA,eAAE,QAAQ;EACzB,SAAS;EACT,cAAc;EACf,CAAC;AAEF,KAAIA,eAAE,SAAS,GAAG,IAAI,CAAC,GAAI,sBAAQ,KAAK,EAAE;AAE1C,QAAO;EAAE;EAAW;EAAS"}
1
+ {"version":3,"file":"prompts.cjs","names":["p"],"sources":["../../src/cli/prompts.ts"],"sourcesContent":["import process from \"node:process\";\nimport * as p from \"@clack/prompts\";\nimport type { OverrideSection } from \"../contract\";\n\nfunction parseExtendsRef(ref: string): { account: string; gateway: string } | null {\n const normalized = ref.startsWith(\"bos://\") ? ref : `bos://${ref}`;\n const match = normalized.match(/^bos:\\/\\/([^/]+)\\/(.+)$/);\n if (!match) return null;\n return { account: match[1], gateway: match[2] };\n}\n\nfunction deriveAccountFromExtends(domain: string, extendsAccount: string): string {\n const firstSegment = domain.split(\".\")[0];\n if (!firstSegment) return \"\";\n const suffix = extendsAccount.includes(\".\")\n ? extendsAccount.substring(extendsAccount.indexOf(\".\") + 1)\n : extendsAccount;\n return `${firstSegment}.${suffix}`;\n}\n\nconst OVERRIDE_OPTIONS: { value: OverrideSection; label: string; hint: string }[] = [\n { value: \"ui\", label: \"ui\", hint: \"Override UI with local source\" },\n { value: \"api\", label: \"api\", hint: \"Override API with local source\" },\n { value: \"host\", label: \"host\", hint: \"Override host with local source\" },\n { value: \"plugins\", label: \"plugins\", hint: \"Override selected plugins with local source\" },\n];\n\nexport async function promptInitBasic(input: {\n domain?: string;\n account?: string;\n extends?: string;\n}): Promise<{\n extendsAccount: string;\n extendsGateway: string;\n domain: string;\n account?: string;\n}> {\n p.intro(\"Let's build an app...\");\n\n const domain =\n input.domain ??\n ((await p.text({\n message: \"Starting with a domain?\",\n placeholder: \"no\",\n })) as string);\n\n if (p.isCancel(domain)) process.exit(0);\n\n let extendsAccount = \"dev.everything.near\";\n let extendsGateway = \"everything.dev\";\n\n const accountDefault = domain ? deriveAccountFromExtends(domain, extendsAccount) : \"\";\n const account =\n input.account ??\n ((await p.text({\n message: \"What NEAR account will you publish from?\",\n placeholder: accountDefault || \"skip\",\n defaultValue: accountDefault,\n })) as string);\n\n if (p.isCancel(account)) process.exit(0);\n\n const resolvedAccount = account || accountDefault;\n const extendsInput =\n input.extends ??\n ((await p.text({\n message: \"Extending an existing app?\",\n placeholder: \"bos://dev.everything.near/dev.everything.dev\",\n defaultValue: \"bos://dev.everything.near/dev.everything.dev\",\n })) as string);\n\n if (p.isCancel(extendsInput)) process.exit(0);\n\n if (extendsInput) {\n const parsed = parseExtendsRef(extendsInput);\n if (parsed) {\n extendsAccount = parsed.account;\n extendsGateway = parsed.gateway;\n }\n }\n\n return {\n extendsAccount,\n extendsGateway,\n domain: domain || \"\",\n account: resolvedAccount || undefined,\n };\n}\n\nexport async function promptInitOverrides(input: {\n parentPluginKeys?: string[];\n overrides?: OverrideSection[];\n plugins?: string[];\n}): Promise<{\n overrides: OverrideSection[];\n plugins: string[];\n}> {\n const overrides =\n input.overrides ??\n ((await p.multiselect({\n message: \"What do you want to customize?\",\n options: OVERRIDE_OPTIONS,\n initialValues: [\"ui\", \"api\"] as OverrideSection[],\n required: false,\n })) as OverrideSection[]);\n\n if (p.isCancel(overrides)) process.exit(0);\n\n let plugins: string[] = [];\n if (overrides.includes(\"plugins\")) {\n const parentPlugins = input.parentPluginKeys ?? [];\n const pluginOptions =\n parentPlugins.length > 0 ? parentPlugins.map((key) => ({ value: key, label: key })) : [];\n\n plugins =\n input.plugins ??\n (pluginOptions.length > 0\n ? ((await p.multiselect({\n message: \"Select plugins to include:\",\n options: pluginOptions,\n required: false,\n })) as string[])\n : []);\n\n if (p.isCancel(plugins)) process.exit(0);\n }\n\n const go = await p.confirm({\n message: \"GO!\",\n initialValue: true,\n });\n\n if (p.isCancel(go) || !go) process.exit(0);\n\n return { overrides, plugins };\n}\n"],"mappings":";;;;;;;AAIA,SAAS,gBAAgB,KAA0D;CAEjF,MAAM,SADa,IAAI,WAAW,SAAS,GAAG,MAAM,SAAS,OACpC,MAAM,0BAA0B;AACzD,KAAI,CAAC,MAAO,QAAO;AACnB,QAAO;EAAE,SAAS,MAAM;EAAI,SAAS,MAAM;EAAI;;AAGjD,SAAS,yBAAyB,QAAgB,gBAAgC;CAChF,MAAM,eAAe,OAAO,MAAM,IAAI,CAAC;AACvC,KAAI,CAAC,aAAc,QAAO;AAI1B,QAAO,GAAG,aAAa,GAHR,eAAe,SAAS,IAAI,GACvC,eAAe,UAAU,eAAe,QAAQ,IAAI,GAAG,EAAE,GACzD;;AAIN,MAAM,mBAA8E;CAClF;EAAE,OAAO;EAAM,OAAO;EAAM,MAAM;EAAiC;CACnE;EAAE,OAAO;EAAO,OAAO;EAAO,MAAM;EAAkC;CACtE;EAAE,OAAO;EAAQ,OAAO;EAAQ,MAAM;EAAmC;CACzE;EAAE,OAAO;EAAW,OAAO;EAAW,MAAM;EAA+C;CAC5F;AAED,eAAsB,gBAAgB,OASnC;AACD,gBAAE,MAAM,wBAAwB;CAEhC,MAAM,SACJ,MAAM,UACJ,MAAMA,eAAE,KAAK;EACb,SAAS;EACT,aAAa;EACd,CAAC;AAEJ,KAAIA,eAAE,SAAS,OAAO,CAAE,sBAAQ,KAAK,EAAE;CAEvC,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CAErB,MAAM,iBAAiB,SAAS,yBAAyB,QAAQ,eAAe,GAAG;CACnF,MAAM,UACJ,MAAM,WACJ,MAAMA,eAAE,KAAK;EACb,SAAS;EACT,aAAa,kBAAkB;EAC/B,cAAc;EACf,CAAC;AAEJ,KAAIA,eAAE,SAAS,QAAQ,CAAE,sBAAQ,KAAK,EAAE;CAExC,MAAM,kBAAkB,WAAW;CACnC,MAAM,eACJ,MAAM,WACJ,MAAMA,eAAE,KAAK;EACb,SAAS;EACT,aAAa;EACb,cAAc;EACf,CAAC;AAEJ,KAAIA,eAAE,SAAS,aAAa,CAAE,sBAAQ,KAAK,EAAE;AAE7C,KAAI,cAAc;EAChB,MAAM,SAAS,gBAAgB,aAAa;AAC5C,MAAI,QAAQ;AACV,oBAAiB,OAAO;AACxB,oBAAiB,OAAO;;;AAI5B,QAAO;EACL;EACA;EACA,QAAQ,UAAU;EAClB,SAAS,mBAAmB;EAC7B;;AAGH,eAAsB,oBAAoB,OAOvC;CACD,MAAM,YACJ,MAAM,aACJ,MAAMA,eAAE,YAAY;EACpB,SAAS;EACT,SAAS;EACT,eAAe,CAAC,MAAM,MAAM;EAC5B,UAAU;EACX,CAAC;AAEJ,KAAIA,eAAE,SAAS,UAAU,CAAE,sBAAQ,KAAK,EAAE;CAE1C,IAAI,UAAoB,EAAE;AAC1B,KAAI,UAAU,SAAS,UAAU,EAAE;EACjC,MAAM,gBAAgB,MAAM,oBAAoB,EAAE;EAClD,MAAM,gBACJ,cAAc,SAAS,IAAI,cAAc,KAAK,SAAS;GAAE,OAAO;GAAK,OAAO;GAAK,EAAE,GAAG,EAAE;AAE1F,YACE,MAAM,YACL,cAAc,SAAS,IAClB,MAAMA,eAAE,YAAY;GACpB,SAAS;GACT,SAAS;GACT,UAAU;GACX,CAAC,GACF,EAAE;AAER,MAAIA,eAAE,SAAS,QAAQ,CAAE,sBAAQ,KAAK,EAAE;;CAG1C,MAAM,KAAK,MAAMA,eAAE,QAAQ;EACzB,SAAS;EACT,cAAc;EACf,CAAC;AAEF,KAAIA,eAAE,SAAS,GAAG,IAAI,CAAC,GAAI,sBAAQ,KAAK,EAAE;AAE1C,QAAO;EAAE;EAAW;EAAS"}
@@ -56,7 +56,8 @@ async function promptInitBasic(input) {
56
56
  const resolvedAccount = account || accountDefault;
57
57
  const extendsInput = input.extends ?? await p.text({
58
58
  message: "Extending an existing app?",
59
- placeholder: "bos://dev.everything.near/everything.dev"
59
+ placeholder: "bos://dev.everything.near/dev.everything.dev",
60
+ defaultValue: "bos://dev.everything.near/dev.everything.dev"
60
61
  });
61
62
  if (p.isCancel(extendsInput)) process.exit(0);
62
63
  if (extendsInput) {
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.mjs","names":[],"sources":["../../src/cli/prompts.ts"],"sourcesContent":["import process from \"node:process\";\nimport * as p from \"@clack/prompts\";\nimport type { OverrideSection } from \"../contract\";\n\nfunction parseExtendsRef(ref: string): { account: string; gateway: string } | null {\n const normalized = ref.startsWith(\"bos://\") ? ref : `bos://${ref}`;\n const match = normalized.match(/^bos:\\/\\/([^/]+)\\/(.+)$/);\n if (!match) return null;\n return { account: match[1], gateway: match[2] };\n}\n\nfunction deriveAccountFromExtends(domain: string, extendsAccount: string): string {\n const firstSegment = domain.split(\".\")[0];\n if (!firstSegment) return \"\";\n const suffix = extendsAccount.includes(\".\")\n ? extendsAccount.substring(extendsAccount.indexOf(\".\") + 1)\n : extendsAccount;\n return `${firstSegment}.${suffix}`;\n}\n\nconst OVERRIDE_OPTIONS: { value: OverrideSection; label: string; hint: string }[] = [\n { value: \"ui\", label: \"ui\", hint: \"Override UI with local source\" },\n { value: \"api\", label: \"api\", hint: \"Override API with local source\" },\n { value: \"host\", label: \"host\", hint: \"Override host with local source\" },\n { value: \"plugins\", label: \"plugins\", hint: \"Override selected plugins with local source\" },\n];\n\nexport async function promptInitBasic(input: {\n domain?: string;\n account?: string;\n extends?: string;\n}): Promise<{\n extendsAccount: string;\n extendsGateway: string;\n domain: string;\n account?: string;\n}> {\n p.intro(\"Let's build an app...\");\n\n const domain =\n input.domain ??\n ((await p.text({\n message: \"Starting with a domain?\",\n placeholder: \"no\",\n })) as string);\n\n if (p.isCancel(domain)) process.exit(0);\n\n let extendsAccount = \"dev.everything.near\";\n let extendsGateway = \"everything.dev\";\n\n const accountDefault = domain ? deriveAccountFromExtends(domain, extendsAccount) : \"\";\n const account =\n input.account ??\n ((await p.text({\n message: \"What NEAR account will you publish from?\",\n placeholder: accountDefault || \"skip\",\n defaultValue: accountDefault,\n })) as string);\n\n if (p.isCancel(account)) process.exit(0);\n\n const resolvedAccount = account || accountDefault;\n const extendsInput =\n input.extends ??\n ((await p.text({\n message: \"Extending an existing app?\",\n placeholder: \"bos://dev.everything.near/everything.dev\",\n })) as string);\n\n if (p.isCancel(extendsInput)) process.exit(0);\n\n if (extendsInput) {\n const parsed = parseExtendsRef(extendsInput);\n if (parsed) {\n extendsAccount = parsed.account;\n extendsGateway = parsed.gateway;\n }\n }\n\n return {\n extendsAccount,\n extendsGateway,\n domain: domain || \"\",\n account: resolvedAccount || undefined,\n };\n}\n\nexport async function promptInitOverrides(input: {\n parentPluginKeys?: string[];\n overrides?: OverrideSection[];\n plugins?: string[];\n}): Promise<{\n overrides: OverrideSection[];\n plugins: string[];\n}> {\n const overrides =\n input.overrides ??\n ((await p.multiselect({\n message: \"What do you want to customize?\",\n options: OVERRIDE_OPTIONS,\n initialValues: [\"ui\", \"api\"] as OverrideSection[],\n required: false,\n })) as OverrideSection[]);\n\n if (p.isCancel(overrides)) process.exit(0);\n\n let plugins: string[] = [];\n if (overrides.includes(\"plugins\")) {\n const parentPlugins = input.parentPluginKeys ?? [];\n const pluginOptions =\n parentPlugins.length > 0 ? parentPlugins.map((key) => ({ value: key, label: key })) : [];\n\n plugins =\n input.plugins ??\n (pluginOptions.length > 0\n ? ((await p.multiselect({\n message: \"Select plugins to include:\",\n options: pluginOptions,\n required: false,\n })) as string[])\n : []);\n\n if (p.isCancel(plugins)) process.exit(0);\n }\n\n const go = await p.confirm({\n message: \"GO!\",\n initialValue: true,\n });\n\n if (p.isCancel(go) || !go) process.exit(0);\n\n return { overrides, plugins };\n}\n"],"mappings":";;;;AAIA,SAAS,gBAAgB,KAA0D;CAEjF,MAAM,SADa,IAAI,WAAW,SAAS,GAAG,MAAM,SAAS,OACpC,MAAM,0BAA0B;AACzD,KAAI,CAAC,MAAO,QAAO;AACnB,QAAO;EAAE,SAAS,MAAM;EAAI,SAAS,MAAM;EAAI;;AAGjD,SAAS,yBAAyB,QAAgB,gBAAgC;CAChF,MAAM,eAAe,OAAO,MAAM,IAAI,CAAC;AACvC,KAAI,CAAC,aAAc,QAAO;AAI1B,QAAO,GAAG,aAAa,GAHR,eAAe,SAAS,IAAI,GACvC,eAAe,UAAU,eAAe,QAAQ,IAAI,GAAG,EAAE,GACzD;;AAIN,MAAM,mBAA8E;CAClF;EAAE,OAAO;EAAM,OAAO;EAAM,MAAM;EAAiC;CACnE;EAAE,OAAO;EAAO,OAAO;EAAO,MAAM;EAAkC;CACtE;EAAE,OAAO;EAAQ,OAAO;EAAQ,MAAM;EAAmC;CACzE;EAAE,OAAO;EAAW,OAAO;EAAW,MAAM;EAA+C;CAC5F;AAED,eAAsB,gBAAgB,OASnC;AACD,GAAE,MAAM,wBAAwB;CAEhC,MAAM,SACJ,MAAM,UACJ,MAAM,EAAE,KAAK;EACb,SAAS;EACT,aAAa;EACd,CAAC;AAEJ,KAAI,EAAE,SAAS,OAAO,CAAE,SAAQ,KAAK,EAAE;CAEvC,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CAErB,MAAM,iBAAiB,SAAS,yBAAyB,QAAQ,eAAe,GAAG;CACnF,MAAM,UACJ,MAAM,WACJ,MAAM,EAAE,KAAK;EACb,SAAS;EACT,aAAa,kBAAkB;EAC/B,cAAc;EACf,CAAC;AAEJ,KAAI,EAAE,SAAS,QAAQ,CAAE,SAAQ,KAAK,EAAE;CAExC,MAAM,kBAAkB,WAAW;CACnC,MAAM,eACJ,MAAM,WACJ,MAAM,EAAE,KAAK;EACb,SAAS;EACT,aAAa;EACd,CAAC;AAEJ,KAAI,EAAE,SAAS,aAAa,CAAE,SAAQ,KAAK,EAAE;AAE7C,KAAI,cAAc;EAChB,MAAM,SAAS,gBAAgB,aAAa;AAC5C,MAAI,QAAQ;AACV,oBAAiB,OAAO;AACxB,oBAAiB,OAAO;;;AAI5B,QAAO;EACL;EACA;EACA,QAAQ,UAAU;EAClB,SAAS,mBAAmB;EAC7B;;AAGH,eAAsB,oBAAoB,OAOvC;CACD,MAAM,YACJ,MAAM,aACJ,MAAM,EAAE,YAAY;EACpB,SAAS;EACT,SAAS;EACT,eAAe,CAAC,MAAM,MAAM;EAC5B,UAAU;EACX,CAAC;AAEJ,KAAI,EAAE,SAAS,UAAU,CAAE,SAAQ,KAAK,EAAE;CAE1C,IAAI,UAAoB,EAAE;AAC1B,KAAI,UAAU,SAAS,UAAU,EAAE;EACjC,MAAM,gBAAgB,MAAM,oBAAoB,EAAE;EAClD,MAAM,gBACJ,cAAc,SAAS,IAAI,cAAc,KAAK,SAAS;GAAE,OAAO;GAAK,OAAO;GAAK,EAAE,GAAG,EAAE;AAE1F,YACE,MAAM,YACL,cAAc,SAAS,IAClB,MAAM,EAAE,YAAY;GACpB,SAAS;GACT,SAAS;GACT,UAAU;GACX,CAAC,GACF,EAAE;AAER,MAAI,EAAE,SAAS,QAAQ,CAAE,SAAQ,KAAK,EAAE;;CAG1C,MAAM,KAAK,MAAM,EAAE,QAAQ;EACzB,SAAS;EACT,cAAc;EACf,CAAC;AAEF,KAAI,EAAE,SAAS,GAAG,IAAI,CAAC,GAAI,SAAQ,KAAK,EAAE;AAE1C,QAAO;EAAE;EAAW;EAAS"}
1
+ {"version":3,"file":"prompts.mjs","names":[],"sources":["../../src/cli/prompts.ts"],"sourcesContent":["import process from \"node:process\";\nimport * as p from \"@clack/prompts\";\nimport type { OverrideSection } from \"../contract\";\n\nfunction parseExtendsRef(ref: string): { account: string; gateway: string } | null {\n const normalized = ref.startsWith(\"bos://\") ? ref : `bos://${ref}`;\n const match = normalized.match(/^bos:\\/\\/([^/]+)\\/(.+)$/);\n if (!match) return null;\n return { account: match[1], gateway: match[2] };\n}\n\nfunction deriveAccountFromExtends(domain: string, extendsAccount: string): string {\n const firstSegment = domain.split(\".\")[0];\n if (!firstSegment) return \"\";\n const suffix = extendsAccount.includes(\".\")\n ? extendsAccount.substring(extendsAccount.indexOf(\".\") + 1)\n : extendsAccount;\n return `${firstSegment}.${suffix}`;\n}\n\nconst OVERRIDE_OPTIONS: { value: OverrideSection; label: string; hint: string }[] = [\n { value: \"ui\", label: \"ui\", hint: \"Override UI with local source\" },\n { value: \"api\", label: \"api\", hint: \"Override API with local source\" },\n { value: \"host\", label: \"host\", hint: \"Override host with local source\" },\n { value: \"plugins\", label: \"plugins\", hint: \"Override selected plugins with local source\" },\n];\n\nexport async function promptInitBasic(input: {\n domain?: string;\n account?: string;\n extends?: string;\n}): Promise<{\n extendsAccount: string;\n extendsGateway: string;\n domain: string;\n account?: string;\n}> {\n p.intro(\"Let's build an app...\");\n\n const domain =\n input.domain ??\n ((await p.text({\n message: \"Starting with a domain?\",\n placeholder: \"no\",\n })) as string);\n\n if (p.isCancel(domain)) process.exit(0);\n\n let extendsAccount = \"dev.everything.near\";\n let extendsGateway = \"everything.dev\";\n\n const accountDefault = domain ? deriveAccountFromExtends(domain, extendsAccount) : \"\";\n const account =\n input.account ??\n ((await p.text({\n message: \"What NEAR account will you publish from?\",\n placeholder: accountDefault || \"skip\",\n defaultValue: accountDefault,\n })) as string);\n\n if (p.isCancel(account)) process.exit(0);\n\n const resolvedAccount = account || accountDefault;\n const extendsInput =\n input.extends ??\n ((await p.text({\n message: \"Extending an existing app?\",\n placeholder: \"bos://dev.everything.near/dev.everything.dev\",\n defaultValue: \"bos://dev.everything.near/dev.everything.dev\",\n })) as string);\n\n if (p.isCancel(extendsInput)) process.exit(0);\n\n if (extendsInput) {\n const parsed = parseExtendsRef(extendsInput);\n if (parsed) {\n extendsAccount = parsed.account;\n extendsGateway = parsed.gateway;\n }\n }\n\n return {\n extendsAccount,\n extendsGateway,\n domain: domain || \"\",\n account: resolvedAccount || undefined,\n };\n}\n\nexport async function promptInitOverrides(input: {\n parentPluginKeys?: string[];\n overrides?: OverrideSection[];\n plugins?: string[];\n}): Promise<{\n overrides: OverrideSection[];\n plugins: string[];\n}> {\n const overrides =\n input.overrides ??\n ((await p.multiselect({\n message: \"What do you want to customize?\",\n options: OVERRIDE_OPTIONS,\n initialValues: [\"ui\", \"api\"] as OverrideSection[],\n required: false,\n })) as OverrideSection[]);\n\n if (p.isCancel(overrides)) process.exit(0);\n\n let plugins: string[] = [];\n if (overrides.includes(\"plugins\")) {\n const parentPlugins = input.parentPluginKeys ?? [];\n const pluginOptions =\n parentPlugins.length > 0 ? parentPlugins.map((key) => ({ value: key, label: key })) : [];\n\n plugins =\n input.plugins ??\n (pluginOptions.length > 0\n ? ((await p.multiselect({\n message: \"Select plugins to include:\",\n options: pluginOptions,\n required: false,\n })) as string[])\n : []);\n\n if (p.isCancel(plugins)) process.exit(0);\n }\n\n const go = await p.confirm({\n message: \"GO!\",\n initialValue: true,\n });\n\n if (p.isCancel(go) || !go) process.exit(0);\n\n return { overrides, plugins };\n}\n"],"mappings":";;;;AAIA,SAAS,gBAAgB,KAA0D;CAEjF,MAAM,SADa,IAAI,WAAW,SAAS,GAAG,MAAM,SAAS,OACpC,MAAM,0BAA0B;AACzD,KAAI,CAAC,MAAO,QAAO;AACnB,QAAO;EAAE,SAAS,MAAM;EAAI,SAAS,MAAM;EAAI;;AAGjD,SAAS,yBAAyB,QAAgB,gBAAgC;CAChF,MAAM,eAAe,OAAO,MAAM,IAAI,CAAC;AACvC,KAAI,CAAC,aAAc,QAAO;AAI1B,QAAO,GAAG,aAAa,GAHR,eAAe,SAAS,IAAI,GACvC,eAAe,UAAU,eAAe,QAAQ,IAAI,GAAG,EAAE,GACzD;;AAIN,MAAM,mBAA8E;CAClF;EAAE,OAAO;EAAM,OAAO;EAAM,MAAM;EAAiC;CACnE;EAAE,OAAO;EAAO,OAAO;EAAO,MAAM;EAAkC;CACtE;EAAE,OAAO;EAAQ,OAAO;EAAQ,MAAM;EAAmC;CACzE;EAAE,OAAO;EAAW,OAAO;EAAW,MAAM;EAA+C;CAC5F;AAED,eAAsB,gBAAgB,OASnC;AACD,GAAE,MAAM,wBAAwB;CAEhC,MAAM,SACJ,MAAM,UACJ,MAAM,EAAE,KAAK;EACb,SAAS;EACT,aAAa;EACd,CAAC;AAEJ,KAAI,EAAE,SAAS,OAAO,CAAE,SAAQ,KAAK,EAAE;CAEvC,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CAErB,MAAM,iBAAiB,SAAS,yBAAyB,QAAQ,eAAe,GAAG;CACnF,MAAM,UACJ,MAAM,WACJ,MAAM,EAAE,KAAK;EACb,SAAS;EACT,aAAa,kBAAkB;EAC/B,cAAc;EACf,CAAC;AAEJ,KAAI,EAAE,SAAS,QAAQ,CAAE,SAAQ,KAAK,EAAE;CAExC,MAAM,kBAAkB,WAAW;CACnC,MAAM,eACJ,MAAM,WACJ,MAAM,EAAE,KAAK;EACb,SAAS;EACT,aAAa;EACb,cAAc;EACf,CAAC;AAEJ,KAAI,EAAE,SAAS,aAAa,CAAE,SAAQ,KAAK,EAAE;AAE7C,KAAI,cAAc;EAChB,MAAM,SAAS,gBAAgB,aAAa;AAC5C,MAAI,QAAQ;AACV,oBAAiB,OAAO;AACxB,oBAAiB,OAAO;;;AAI5B,QAAO;EACL;EACA;EACA,QAAQ,UAAU;EAClB,SAAS,mBAAmB;EAC7B;;AAGH,eAAsB,oBAAoB,OAOvC;CACD,MAAM,YACJ,MAAM,aACJ,MAAM,EAAE,YAAY;EACpB,SAAS;EACT,SAAS;EACT,eAAe,CAAC,MAAM,MAAM;EAC5B,UAAU;EACX,CAAC;AAEJ,KAAI,EAAE,SAAS,UAAU,CAAE,SAAQ,KAAK,EAAE;CAE1C,IAAI,UAAoB,EAAE;AAC1B,KAAI,UAAU,SAAS,UAAU,EAAE;EACjC,MAAM,gBAAgB,MAAM,oBAAoB,EAAE;EAClD,MAAM,gBACJ,cAAc,SAAS,IAAI,cAAc,KAAK,SAAS;GAAE,OAAO;GAAK,OAAO;GAAK,EAAE,GAAG,EAAE;AAE1F,YACE,MAAM,YACL,cAAc,SAAS,IAClB,MAAM,EAAE,YAAY;GACpB,SAAS;GACT,SAAS;GACT,UAAU;GACX,CAAC,GACF,EAAE;AAER,MAAI,EAAE,SAAS,QAAQ,CAAE,SAAQ,KAAK,EAAE;;CAG1C,MAAM,KAAK,MAAM,EAAE,QAAQ;EACzB,SAAS;EACT,cAAc;EACf,CAAC;AAEF,KAAI,EAAE,SAAS,GAAG,IAAI,CAAC,GAAI,SAAQ,KAAK,EAAE;AAE1C,QAAO;EAAE;EAAW;EAAS"}
package/dist/plugin.cjs CHANGED
@@ -1321,6 +1321,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
1321
1321
  error: "No bos.config.json found in current directory"
1322
1322
  };
1323
1323
  const projectDir = (0, node_path.resolve)((0, node_path.dirname)(configPath));
1324
+ require_infra.loadProjectEnv(projectDir);
1324
1325
  const refreshed = await require_config.loadResolvedConfig({ cwd: projectDir });
1325
1326
  if (!refreshed) return {
1326
1327
  status: "error",