@coreframe/scripts 0.1.49 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/coreframe.d.ts +233 -41
  2. package/dist/coreframe.js +13 -2
  3. package/package.json +17 -30
  4. package/dist/_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/usingCtx.js +0 -1
  5. package/dist/assets/contracts.d.ts +0 -187
  6. package/dist/assets/contracts.js +0 -1
  7. package/dist/assets/credentials.d.ts +0 -35
  8. package/dist/assets/credentials.js +0 -1
  9. package/dist/assets/images.d.ts +0 -32
  10. package/dist/assets/images.js +0 -1
  11. package/dist/assets/media.d.ts +0 -42
  12. package/dist/assets/media.js +0 -1
  13. package/dist/assets/project.d.ts +0 -54
  14. package/dist/assets/project.js +0 -3
  15. package/dist/assets/storage.d.ts +0 -60
  16. package/dist/assets/storage.js +0 -1
  17. package/dist/assets/workflows.d.ts +0 -69
  18. package/dist/assets/workflows.js +0 -1
  19. package/dist/assets.d.ts +0 -4
  20. package/dist/assets.js +0 -1
  21. package/dist/config.d.ts +0 -49
  22. package/dist/config.js +0 -1
  23. package/dist/db/apply-seed.d.ts +0 -8
  24. package/dist/db/apply-seed.js +0 -1
  25. package/dist/db/client.d.ts +0 -30
  26. package/dist/db/client.js +0 -1
  27. package/dist/db/config.d.ts +0 -24
  28. package/dist/db/config.js +0 -1
  29. package/dist/db/drizzle-kit.d.ts +0 -10
  30. package/dist/db/drizzle-kit.js +0 -2
  31. package/dist/db/ensure.d.ts +0 -9
  32. package/dist/db/ensure.js +0 -2
  33. package/dist/db/error.d.ts +0 -4
  34. package/dist/db/error.js +0 -1
  35. package/dist/db/local-postgres.d.ts +0 -65
  36. package/dist/db/local-postgres.js +0 -1
  37. package/dist/db/migrate-held.d.ts +0 -16
  38. package/dist/db/migrate-held.js +0 -10
  39. package/dist/db/migrate.d.ts +0 -9
  40. package/dist/db/migrate.js +0 -2
  41. package/dist/db/project.d.ts +0 -23
  42. package/dist/db/project.js +0 -1
  43. package/dist/db/reset.d.ts +0 -9
  44. package/dist/db/reset.js +0 -2
  45. package/dist/db/schema-check.d.ts +0 -11
  46. package/dist/db/schema-check.js +0 -2
  47. package/dist/db/schema-push.d.ts +0 -22
  48. package/dist/db/schema-push.js +0 -1
  49. package/dist/db/seed.d.ts +0 -19
  50. package/dist/db/seed.js +0 -2
  51. package/dist/db/setup.d.ts +0 -11
  52. package/dist/db/setup.js +0 -2
  53. package/dist/deploy/access-token-secret.d.ts +0 -39
  54. package/dist/deploy/access-token-secret.js +0 -1
  55. package/dist/deploy/check-migrations.d.ts +0 -4
  56. package/dist/deploy/check-migrations.js +0 -2
  57. package/dist/deploy/checks.d.ts +0 -8
  58. package/dist/deploy/checks.js +0 -1
  59. package/dist/deploy/config.d.ts +0 -68
  60. package/dist/deploy/config.js +0 -1
  61. package/dist/deploy/migrations.d.ts +0 -24
  62. package/dist/deploy/migrations.js +0 -4
  63. package/dist/deploy/pending-migrations.d.ts +0 -9
  64. package/dist/deploy/pending-migrations.js +0 -1
  65. package/dist/deploy/tauri-release.d.ts +0 -106
  66. package/dist/deploy/tauri-release.js +0 -1
  67. package/dist/deploy/version.d.ts +0 -24
  68. package/dist/deploy/version.js +0 -1
  69. package/dist/deploy.d.ts +0 -21
  70. package/dist/deploy.js +0 -3
  71. package/dist/dev-device.d.ts +0 -34
  72. package/dist/dev-device.js +0 -1
  73. package/dist/dev-https.d.ts +0 -17
  74. package/dist/dev-https.js +0 -1
  75. package/dist/dev-lock.d.ts +0 -28
  76. package/dist/dev-lock.js +0 -1
  77. package/dist/dev-timing.d.ts +0 -25
  78. package/dist/dev-timing.js +0 -1
  79. package/dist/dev.d.ts +0 -39
  80. package/dist/dev.js +0 -3
  81. package/dist/environment.d.ts +0 -27
  82. package/dist/environment.js +0 -1
  83. package/dist/i18n/catalogs.d.ts +0 -60
  84. package/dist/i18n/catalogs.js +0 -1
  85. package/dist/i18n/contracts.d.ts +0 -60
  86. package/dist/i18n/contracts.js +0 -1
  87. package/dist/i18n/paths.d.ts +0 -12
  88. package/dist/i18n/paths.js +0 -1
  89. package/dist/i18n/storage.d.ts +0 -117
  90. package/dist/i18n/storage.js +0 -1
  91. package/dist/i18n/workflows.d.ts +0 -46
  92. package/dist/i18n/workflows.js +0 -1
  93. package/dist/managed-dev-protocol.d.ts +0 -135
  94. package/dist/managed-dev-protocol.js +0 -1
  95. package/dist/managed-dev.d.ts +0 -48
  96. package/dist/managed-dev.js +0 -5
  97. package/dist/private-object-store.d.ts +0 -28
  98. package/dist/private-object-store.js +0 -1
  99. package/dist/project.d.ts +0 -5
  100. package/dist/project.js +0 -1
  101. package/dist/recipes/apply.d.ts +0 -26
  102. package/dist/recipes/apply.js +0 -2
  103. package/dist/recipes/list.d.ts +0 -14
  104. package/dist/recipes/list.js +0 -1
  105. package/dist/recipes/manifest.d.ts +0 -14
  106. package/dist/recipes/manifest.js +0 -1
  107. package/dist/recipes/source.d.ts +0 -22
  108. package/dist/recipes/source.js +0 -1
  109. package/dist/runner.d.ts +0 -20
  110. package/dist/runner.js +0 -1
  111. package/dist/staging.d.ts +0 -33
  112. package/dist/staging.js +0 -3
  113. package/dist/tauri-dev-output.d.ts +0 -21
  114. package/dist/tauri-dev-output.js +0 -2
  115. package/dist/typecheck.d.ts +0 -4
  116. package/dist/typecheck.js +0 -2
  117. package/dist/upgrade/check-skill-current.d.ts +0 -11
  118. package/dist/upgrade/check-skill-current.js +0 -2
  119. package/dist/upgrade/ensure-template-remote.d.ts +0 -13
  120. package/dist/upgrade/ensure-template-remote.js +0 -2
  121. package/dist/upgrade/fast-forward-template-files.d.ts +0 -9
  122. package/dist/upgrade/fast-forward-template-files.js +0 -2
  123. package/dist/upgrade/sync-coreframe-packages.d.ts +0 -8
  124. package/dist/upgrade/sync-coreframe-packages.js +0 -4
  125. package/dist/upgrade/template-ref.d.ts +0 -6
  126. package/dist/upgrade/template-ref.js +0 -1
  127. package/dist/user-preferences.d.ts +0 -8
  128. package/dist/user-preferences.js +0 -1
  129. package/dist/worker-environment.d.ts +0 -95
  130. package/dist/worker-environment.js +0 -1
@@ -1 +0,0 @@
1
- const e=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/u;function t(t){return e.test(t)?`v${t}`:t}function n(e){return`${t(e)}:template`}function r(e,t){return`${n(e)}/${t}`}export{t as coreframeGitRef,r as coreframeTemplateFile,n as coreframeTemplateTree};
@@ -1,8 +0,0 @@
1
- //#region user-preferences.d.ts
2
- type UserPreferences = {
3
- mobileDevHost?: string;
4
- };
5
- declare function readUserPreferences(): Promise<UserPreferences>;
6
- declare function updateUserPreferences(updates: Partial<UserPreferences>): Promise<void>;
7
- //#endregion
8
- export { UserPreferences, readUserPreferences, updateUserPreferences };
@@ -1 +0,0 @@
1
- import{fs as e,os as t}from"./environment.js";import n from"node:path";async function r(){let e=await a();return typeof e.mobileDevHost==`string`?{mobileDevHost:e.mobileDevHost}:{}}async function i(t){let r=await a(),i=o();await e.mkdir(n.dirname(i),{recursive:!0}),await e.writeFile(i,`${JSON.stringify({...r,...t},void 0,2)}\n`)}async function a(){try{let t=await e.readFile(o(),`utf8`),n=JSON.parse(t);return s(n)?n:{}}catch{return{}}}function o(){return n.join(t.homedir(),`.coreframe`,`preferences.json`)}function s(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{r as readUserPreferences,i as updateUserPreferences};
@@ -1,95 +0,0 @@
1
- import { DeployEnvironment } from "./deploy/config.js";
2
-
3
- //#region worker-environment.d.ts
4
- declare const workerEnvironmentKinds: readonly ["secret", "variable", "generated"];
5
- type WorkerEnvironmentKind = (typeof workerEnvironmentKinds)[number];
6
- type WorkerEnvironmentVariableConfig = {
7
- description: string;
8
- kind: WorkerEnvironmentKind;
9
- requiredIn?: DeployEnvironment[];
10
- };
11
- type WorkerConfig = {
12
- environment?: Record<string, WorkerEnvironmentVariableConfig>;
13
- };
14
- type LocalWorkerEnvironmentState = "default" | "override";
15
- type DeployedWorkerEnvironmentState = "configured" | "declared" | "generated" | "missing" | "not_configured" | "pending_addition" | "pending_replacement" | "pending_update" | "unknown";
16
- type WorkerEnvironmentEntryStatus = WorkerEnvironmentVariableConfig & {
17
- name: string;
18
- local: LocalWorkerEnvironmentState;
19
- deployed: Record<DeployEnvironment, DeployedWorkerEnvironmentState>;
20
- };
21
- type DeclaredWorkerSecret = WorkerEnvironmentVariableConfig & {
22
- name: string;
23
- requiredIn: DeployEnvironment[];
24
- };
25
- type WorkerEnvironmentProviderStatus = {
26
- state: "available" | "not_checked" | "unavailable";
27
- message?: string;
28
- };
29
- type WorkerEnvironmentStatus = {
30
- entries: WorkerEnvironmentEntryStatus[];
31
- providers: Record<DeployEnvironment, WorkerEnvironmentProviderStatus>;
32
- undeclaredSecrets: Record<DeployEnvironment, string[]>;
33
- };
34
- type PendingWorkerSecretSnapshot = {
35
- environment: DeployEnvironment;
36
- values: Readonly<Record<string, string>>;
37
- };
38
- type InspectWorkerEnvironmentOptions = {
39
- cwd?: string;
40
- environment?: DeployEnvironment;
41
- listSecrets?: (environment: DeployEnvironment, cwd: string) => Promise<string[]>;
42
- };
43
- type QueueWorkerSecretOptions = {
44
- cwd?: string;
45
- environment: DeployEnvironment;
46
- name: string;
47
- value: string;
48
- ensureIgnored?: (environment: DeployEnvironment, cwd: string) => Promise<void>;
49
- };
50
- type QueueWorkerSecretsOptions = {
51
- cwd?: string;
52
- environment: DeployEnvironment;
53
- values: Readonly<Record<string, string>>;
54
- ensureIgnored?: (environment: DeployEnvironment, cwd: string) => Promise<void>;
55
- };
56
- declare function inspectWorkerEnvironment({
57
- cwd,
58
- environment,
59
- listSecrets
60
- }?: InspectWorkerEnvironmentOptions): Promise<WorkerEnvironmentStatus>;
61
- declare function queueWorkerSecret({
62
- cwd,
63
- environment,
64
- name,
65
- value,
66
- ensureIgnored
67
- }: QueueWorkerSecretOptions): Promise<void>;
68
- declare function queueWorkerSecrets({
69
- cwd,
70
- environment,
71
- values,
72
- ensureIgnored
73
- }: QueueWorkerSecretsOptions): Promise<void>;
74
- declare function readDeclaredWorkerSecrets(cwd?: string): Promise<DeclaredWorkerSecret[]>;
75
- declare function parseDeclaredWorkerSecretEnv(contents: string, declarations: DeclaredWorkerSecret[]): {
76
- ignoredNames: string[];
77
- values: {
78
- [k: string]: string;
79
- };
80
- };
81
- declare function discardPendingWorkerSecret({
82
- cwd,
83
- environment,
84
- name
85
- }: Omit<QueueWorkerSecretOptions, "value" | "ensureIgnored">): Promise<boolean>;
86
- declare function readPendingWorkerSecretSnapshot({
87
- cwd,
88
- environment
89
- }: {
90
- cwd?: string;
91
- environment: DeployEnvironment;
92
- }): Promise<PendingWorkerSecretSnapshot>;
93
- declare function clearAppliedPendingWorkerSecrets(snapshot: PendingWorkerSecretSnapshot, cwd?: string): Promise<void>;
94
- //#endregion
95
- export { DeclaredWorkerSecret, DeployedWorkerEnvironmentState, LocalWorkerEnvironmentState, PendingWorkerSecretSnapshot, WorkerConfig, WorkerEnvironmentEntryStatus, WorkerEnvironmentKind, WorkerEnvironmentProviderStatus, WorkerEnvironmentStatus, WorkerEnvironmentVariableConfig, clearAppliedPendingWorkerSecrets, discardPendingWorkerSecret, inspectWorkerEnvironment, parseDeclaredWorkerSecretEnv, queueWorkerSecret, queueWorkerSecrets, readDeclaredWorkerSecrets, readPendingWorkerSecretSnapshot, workerEnvironmentKinds };
@@ -1 +0,0 @@
1
- import{readProjectConfig as e}from"./config.js";import{accessTokenSigningSecretName as t}from"./deploy/access-token-secret.js";import{deployEnvironments as n}from"./deploy/config.js";import{randomUUID as r}from"node:crypto";import{chmod as i,mkdir as a,readFile as o,rename as s,rm as c,stat as l,writeFile as u}from"node:fs/promises";import{resolve as d}from"node:path";import f from"nano-spawn";import{parseEnv as p}from"node:util";const m=[`secret`,`variable`,`generated`],h=/^[A-Z][A-Z0-9_]*$/,g=`.coreframe/deploy-secrets`;async function _({cwd:r=process.cwd(),environment:i,listSecrets:a=P}={}){let o=T((await e({cwd:r})).worker?.environment),s=await D(r),c=i?[i]:n,l=new Map,u=new Map,d=Object.fromEntries(n.map(e=>[e,{state:`not_checked`}]));await Promise.all(c.map(async e=>{if(u.set(e,new Set(Object.keys((await C({cwd:r,environment:e})).values))),o.some(e=>e.kind===`secret`))try{l.set(e,new Set(await a(e,r))),d[e]={state:`available`}}catch{d[e]={state:`unavailable`,message:`Could not read ${e} Worker secrets. Check Wrangler authentication and whether the Worker exists.`}}}));let f=new Set([t,...o.filter(e=>e.kind===`secret`).map(e=>e.name)]),p=Object.fromEntries(n.map(e=>[e,[...l.get(e)??[]].filter(e=>!f.has(e)).sort()]));return{entries:o.map(e=>({...e,local:s.has(e.name)?`override`:`default`,deployed:Object.fromEntries(n.map(t=>[t,O(e,t,d[t],l.get(t),u.get(t))]))})),providers:d,undeclaredSecrets:p}}async function v({cwd:e=process.cwd(),environment:t,name:n,value:r,ensureIgnored:i=j}){await y({cwd:e,environment:t,values:{[n]:r},ensureIgnored:i})}async function y({cwd:e=process.cwd(),environment:t,values:n,ensureIgnored:r=j}){let i=new Map((await b(e)).map(e=>[e.name,e]));for(let[t,r]of Object.entries(n))if(i.has(t)||await E(e,t),!r.trim())throw Error(`Worker secret ${t} cannot be empty.`);Object.keys(n).length!==0&&(await r(t,e),await A(e,t,{...(await C({cwd:e,environment:t})).values,...n}))}async function b(t=process.cwd()){return T((await e({cwd:t})).worker?.environment).filter(e=>e.kind===`secret`)}function x(e,t){let n;try{n=p(e)}catch{throw Error(`Could not parse the pasted dotenv contents.`)}let r=new Set(t.map(({name:e})=>e)),i=Object.fromEntries(Object.entries(n).filter(e=>r.has(e[0])&&typeof e[1]==`string`)),a=Object.entries(i).filter(([,e])=>!e.trim()).map(([e])=>e);if(a.length>0)throw Error(`Worker secrets cannot be empty: ${a.join(`, `)}.`);if(Object.keys(i).length===0)throw Error(`The dotenv contents do not contain any declared Worker secrets.`);return{ignoredNames:Object.keys(n).filter(e=>!r.has(e)).sort(),values:i}}async function S({cwd:e=process.cwd(),environment:t,name:n}){await E(e,n);let r=await C({cwd:e,environment:t});if(!(n in r.values))return!1;let i={...r.values};return delete i[n],await A(e,t,i),!0}async function C({cwd:t=process.cwd(),environment:n}){let r=await k(t,n),i=T((await e({cwd:t})).worker?.environment),a=new Set(i.filter(e=>e.kind===`secret`).map(e=>e.name)),o=Object.keys(r).filter(e=>!a.has(e));if(o.length>0)throw Error(`Pending ${n} Worker secrets are not declared as secrets in coreframe.config.ts: ${o.join(`, `)}.`);return{environment:n,values:r}}async function w(e,t=process.cwd()){let n=await k(t,e.environment),r=Object.fromEntries(Object.entries(n).filter(([t,n])=>e.values[t]!==n));await A(t,e.environment,r)}function T(e){return Object.entries(e??{}).map(([e,t])=>{if(!h.test(e))throw Error(`Invalid Worker environment name ${JSON.stringify(e)} in coreframe.config.ts. Use uppercase letters, numbers, and underscores.`);return{...t,name:e,requiredIn:[...new Set(t.requiredIn??[])]}}).sort((e,t)=>e.name.localeCompare(t.name))}async function E(t,n){let r=T((await e({cwd:t})).worker?.environment).find(e=>e.name===n);if(!r)throw Error(`${n} is not declared in coreframe.config.ts.`);if(r.kind!==`secret`)throw Error(`${n} is declared as ${r.kind}, not a Worker secret.`)}async function D(e){try{let t=p(await o(d(e,`.env`),`utf8`));return new Set(Object.entries(t).filter(([,e])=>!!e?.trim()).map(([e])=>e))}catch(e){if(F(e)&&e.code===`ENOENT`)return new Set;throw e}}function O(e,t,n,r,i){return e.kind===`generated`?`generated`:e.kind===`variable`?`declared`:i?.has(e.name)?n.state!==`available`||!r?`pending_update`:r.has(e.name)?`pending_replacement`:`pending_addition`:n.state!==`available`||!r?`unknown`:r.has(e.name)?`configured`:e.requiredIn.includes(t)?`missing`:`not_configured`}async function k(e,t){let n=M(e,t);try{let e=await l(n);if(process.platform!==`win32`&&e.mode&63)throw Error(`Pending Worker secret file ${n} must use mode 0600.`);let t=JSON.parse(await o(n,`utf8`));if(!N(t))throw Error(`Pending Worker secret file ${n} must contain a JSON object of strings.`);return t}catch(e){if(F(e)&&e.code===`ENOENT`)return{};throw e}}async function A(e,t,n){let o=M(e,t);if(Object.keys(n).length===0){await c(o,{force:!0});return}let l=d(e,g);await a(l,{mode:448,recursive:!0}),process.platform!==`win32`&&await i(l,448);let f=`${o}.${process.pid}.${r()}.tmp`;try{await u(f,`${JSON.stringify(n,null,2)}\n`,{flag:`wx`,mode:384}),await s(f,o)}finally{await c(f,{force:!0})}process.platform!==`win32`&&await i(o,384)}async function j(e,t){let n=`${g}/${e}.json`,r=`${g}/.coreframe-ignore-check`;try{await f(`git`,[`check-ignore`,`--quiet`,r],{cwd:t,stdin:`ignore`,stdout:`ignore`,stderr:`ignore`})}catch{throw Error(`Refusing to store plaintext Worker secrets because ${n} is not git-ignored. Add .coreframe/ to .gitignore.`)}}function M(e,t){return d(e,g,`${t}.json`)}function N(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.entries(e).every(([e,t])=>h.test(e)&&typeof t==`string`&&t.length>0)}async function P(e,t){let{stdout:n}=await f(`pnpm`,[`exec`,`wrangler`,`secret`,`list`,`--env`,e,`--format`,`json`],{cwd:t,env:{CI:`true`},stdin:`ignore`,timeout:5e3}),r=JSON.parse(n);if(!Array.isArray(r))throw Error(`Wrangler returned an invalid secret list.`);return r.flatMap(e=>e&&typeof e==`object`&&`name`in e&&typeof e.name==`string`?[e.name]:[])}function F(e){return e instanceof Error&&`code`in e}export{w as clearAppliedPendingWorkerSecrets,S as discardPendingWorkerSecret,_ as inspectWorkerEnvironment,x as parseDeclaredWorkerSecretEnv,v as queueWorkerSecret,y as queueWorkerSecrets,b as readDeclaredWorkerSecrets,C as readPendingWorkerSecretSnapshot,m as workerEnvironmentKinds};