@coreframe/scripts 0.1.11 → 0.1.12
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/assets.d.ts +3 -2
- package/dist/assets.js +2 -2
- package/dist/coreframe.js +1 -1
- package/package.json +1 -1
package/dist/assets.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ type AssetVariant = {
|
|
|
16
16
|
hash: string;
|
|
17
17
|
};
|
|
18
18
|
type AssetProblem = {
|
|
19
|
-
code: "GENERATED_VARIANT_MISSING" | "INVALID_ALT" | "INVALID_ASSET_ID" | "INVALID_MANIFEST" | "INVALID_REFERENCE" | "INVALID_SOURCE_PATH" | "LFS_NOT_TRACKED" | "MANIFEST_MISSING" | "REFERENCE_MISSING" | "SOURCE_MISSING" | "SOURCE_POINTER_MISSING_OBJECT";
|
|
19
|
+
code: "GENERATED_VARIANT_MISSING" | "INVALID_ALT" | "INVALID_ASSET_ID" | "INVALID_MANIFEST" | "INVALID_REFERENCE" | "INVALID_SOURCE_PATH" | "INVALID_VARIANT_PATH" | "LFS_NOT_TRACKED" | "MANIFEST_MISSING" | "REFERENCE_MISSING" | "SOURCE_MISSING" | "SOURCE_POINTER_MISSING_OBJECT";
|
|
20
20
|
message: string;
|
|
21
21
|
assetId?: string;
|
|
22
22
|
file?: string;
|
|
@@ -109,6 +109,7 @@ declare function publishAssets({
|
|
|
109
109
|
declare function materializeAsset(assetId: string, options?: BuildAssetsOptions): Promise<AssetBuildResult>;
|
|
110
110
|
declare function printAssetResult(result: unknown, json?: boolean): void;
|
|
111
111
|
declare function readAssetManifest(cwd?: string): Promise<LoadedAssetManifest>;
|
|
112
|
+
declare function resolveAssetVariantFile(cwd: string, variantPath: string): string;
|
|
112
113
|
declare function formatAssetProblems(problems: AssetProblem[]): string;
|
|
113
114
|
//#endregion
|
|
114
|
-
export { AddAssetOptions, AssetBuildEntry, AssetBuildResult, AssetManifest, AssetManifestEntry, AssetProblem, AssetPublishResult, AssetStatus, AssetStatusEntry, AssetVariant, AssetVariantStatus, AssetWorkflowOptions, BuildAssetsOptions, CheckAssetsOptions, LoadedAssetManifest, PublishAssetsOptions, PublishedAsset, addAsset, buildAssets, checkAssets, formatAssetProblems, materializeAsset, printAssetResult, publishAssets, readAssetManifest };
|
|
115
|
+
export { AddAssetOptions, AssetBuildEntry, AssetBuildResult, AssetManifest, AssetManifestEntry, AssetProblem, AssetPublishResult, AssetStatus, AssetStatusEntry, AssetVariant, AssetVariantStatus, AssetWorkflowOptions, BuildAssetsOptions, CheckAssetsOptions, LoadedAssetManifest, PublishAssetsOptions, PublishedAsset, addAsset, buildAssets, checkAssets, formatAssetProblems, materializeAsset, printAssetResult, publishAssets, readAssetManifest, resolveAssetVariantFile };
|
package/dist/assets.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{createHash as e}from"node:crypto";import{copyFile as t,mkdir as n,readFile as r,stat as i,writeFile as a}from"node:fs/promises";import{dirname as o,extname as s,join as c,relative as l,resolve as u,sep as d}from"node:path";import f from"nano-spawn";const p=`assets-src`,m=c(`assets`,`manifest.json`),
|
|
1
|
+
import{createHash as e}from"node:crypto";import{copyFile as t,mkdir as n,readFile as r,stat as i,writeFile as a}from"node:fs/promises";import{dirname as o,extname as s,join as c,relative as l,resolve as u,sep as d}from"node:path";import f from"nano-spawn";const p=`assets-src`,m=`assets`,h=[320,640,960,1280,1920,2560],g=h.at(-1),_=c(`assets`,`manifest.json`),v=/^[a-z0-9]+(?:[/-][a-z0-9]+)*$/,y=/@asset\s+([a-z0-9][a-z0-9/-]*)/g,b=/^version https:\/\/git-lfs.github.com\/spec\/v1\n/m;async function x({alt:e,cwd:r=process.cwd(),file:i,id:a}){D(a);let s=j(a,i),c=u(r,s),l=u(r,i);await n(o(c),{recursive:!0}),await t(l,c),await z(r,s);let d=await O(r),f=await L(c);return d.manifest[a]={source:s,alt:e,width:f.width,height:f.height,variants:[]},await k(r,d.manifest),S({cwd:r,id:a,pull:!1})}async function S({cwd:e=process.cwd(),id:t,pull:n=!0,updateManifest:r=!0}={}){let{manifest:i,problems:a}=await O(e),o=[],s=[];for(let[r,c]of Object.entries(i)){if(t&&r!==t)continue;let l=u(e,c.source);if(!await G(l)){a.push(K(r,c.source));continue}if(await H(l)&&(n&&(await B(e,c.source),o.push(c.source)),await H(l))){a.push({code:`SOURCE_POINTER_MISSING_OBJECT`,message:`Source asset "${c.source}" is still a Git LFS pointer after a targeted pull.`,assetId:r,file:c.source,fix:`Run: git lfs pull --include="${c.source}"`});continue}let d=await M(e,r,c);i[r]={...c,variants:d},s.push({assetId:r,variants:d})}return t&&!i[t]&&a.push({code:`REFERENCE_MISSING`,message:`Asset "${t}" is not present in ${_}.`,assetId:t,fix:`Run: coreframe assets add <file> --id ${t} --alt "..."`}),r&&a.length===0&&s.length>0&&await k(e,i),{ok:a.length===0,assets:s,fetched:o,problems:a}}async function C({cwd:e=process.cwd(),fix:t=!1}={}){if(t){let t=await S({cwd:e}),n=await C({cwd:e,fix:!1});return{...n,ok:n.ok&&t.ok,problems:[...n.problems,...t.problems]}}let n=await O(e),r=[...n.problems],i=[],a=await U(e);for(let[a,o]of Object.entries(n.manifest)){v.test(a)||r.push({code:`INVALID_ASSET_ID`,message:`Asset ID "${a}" must use lowercase path segments.`,assetId:a}),o.alt.trim()||r.push({code:`INVALID_ALT`,message:`Asset "${a}" is missing alt text.`,assetId:a,file:o.source,fix:`Run: coreframe assets add ${o.source} --id ${a} --alt "..."`}),o.source.startsWith(`${p}/`)||r.push({code:`INVALID_SOURCE_PATH`,message:`Asset "${a}" source must be under ${p}/.`,assetId:a,file:o.source});let n=await G(u(e,o.source)),s=n?await V(e,o.source):!1;n?s||r.push({code:`LFS_NOT_TRACKED`,message:`Source asset "${o.source}" is not tracked by Git LFS.`,assetId:a,file:o.source,fix:`Run: git lfs track "${o.source}" && git add .gitattributes ${o.source}`}):r.push(K(a,o.source));let c=await Promise.all(o.variants.map(async n=>{let i=I(n.path);return i||r.push({code:`INVALID_VARIANT_PATH`,message:`Asset "${a}" variant path must be under ${m}/.`,assetId:a,file:n.path,fix:t?void 0:`Run: coreframe assets build --id ${a}`}),{...n,exists:i&&await G(P(e,n.path))}})),l=N(o.width),d=o.variants.map(e=>e.width);(!(l.length===d.length&&l.every((e,t)=>e===d[t]))||c.some(e=>!e.exists))&&r.push({code:`GENERATED_VARIANT_MISSING`,message:`Asset "${a}" is missing its expected responsive variants.`,assetId:a,file:o.source,fix:t?void 0:`Run: coreframe assets build --id ${a}`}),i.push({assetId:a,source:o.source,sourceExists:n,lfsTracked:s,variants:c})}for(let e of a)n.manifest[e.assetId]||r.push({code:`INVALID_REFERENCE`,message:`Asset reference "${e.assetId}" is not present in ${_}.`,assetId:e.assetId,file:e.file,fix:`Run: coreframe assets add <file> --id ${e.assetId} --alt "..."`});return{ok:r.length===0,assets:i,problems:r}}async function w({cwd:e=process.cwd(),env:r=process.env,outputDir:i}={}){let s=[...(await C({cwd:e})).problems],f=[],p=[],m=u(e,i??r.COREFRAME_ASSETS_PUBLISH_DIR??`release-upload`),h=c(m,`asset-publish-report.json`);if(s.length===0){let{manifest:r}=await O(e);for(let[i,a]of Object.entries(r))for(let r of a.variants){let a=P(e,r.path),s=F(m,r.path),c={assetId:i,source:l(e,a).split(d).join(`/`),target:s,size:r.size};if(await G(s)){p.push(c);continue}await n(o(s),{recursive:!0}),await t(a,s),f.push(c)}}let g={ok:s.length===0,uploaded:f,skipped:p,reportPath:h,problems:s};return await n(o(h),{recursive:!0}),await a(h,`${JSON.stringify(g,null,2)}\n`),g}async function T(e,t={}){return S({...t,id:e})}function E(e,t=!1){if(t){console.log(JSON.stringify(e,null,2));return}let n=e;n.problems&&n.problems.length>0&&console.error(q(n.problems)),console.log(n.ok===!1?`Asset workflow has problems.`:`Asset workflow complete.`)}function D(e){if(!v.test(e))throw Error(`Asset ID "${e}" must use lowercase path segments.`)}async function O(e=process.cwd()){let t=u(e,_);if(!await G(t))return{manifest:{},problems:[{code:`MANIFEST_MISSING`,message:`${_} does not exist.`,file:_,fix:`Run: coreframe assets add <file> --id <asset-id> --alt "..."`}]};try{return{manifest:JSON.parse(await r(t,`utf8`)),problems:[]}}catch(e){return{manifest:{},problems:[{code:`INVALID_MANIFEST`,message:`${_} is not valid JSON: ${e.message}`,file:_}]}}}async function k(e,t){let r=u(e,_);await n(o(r),{recursive:!0}),await a(r,`${JSON.stringify(A(t),null,2)}\n`)}function A(e){return Object.fromEntries(Object.entries(e).sort(([e],[t])=>e.localeCompare(t)))}function j(e,t){return c(p,`${e}${s(t).toLowerCase()}`).split(d).join(`/`)}async function M(t,r,i){let s=await R(),c=u(t,i.source);return Promise.all(N(i.width).map(async l=>{let u=await s(c).resize({width:l,withoutEnlargement:!0}).webp().toBuffer(),d=e(`sha256`).update(u).digest(`hex`).slice(0,12),f=`${m}/${r}.${d}.${l}.webp`,p=P(t,f);await n(o(p),{recursive:!0}),await a(p,u);let h=await s(u).metadata();return{format:`webp`,width:h.width??l,height:h.height??Math.round(i.height/i.width*l),path:f,size:u.byteLength,hash:d}}))}function N(e){if(!Number.isFinite(e)||e<=0)return[];let t=Math.min(Math.round(e),g);return[...h.filter(e=>e<=t),t].filter((e,t,n)=>t===0||e!==n[t-1])}function P(e,t){return F(u(e,`.coreframe`),t)}function F(e,t){if(!I(t))throw Error(`Asset variant path must be under ${m}/: ${t}`);return u(e,t)}function I(e){let t=e.split(`/`);return t[0]===m&&t.length>1&&!e.includes(`\\`)&&t.every(e=>e!==``&&e!==`.`&&e!==`..`)}async function L(e){let t=await(await R())(e).metadata();if(!t.width||!t.height)throw Error(`Could not read dimensions for ${e}.`);return{width:t.width,height:t.height}}async function R(){try{return(await import(`sharp`)).default}catch{throw Error(`The assets workflow requires the optional sharp dependency.`)}}async function z(e,t){await f(`git`,[`lfs`,`track`,t],{cwd:e})}async function B(e,t){await f(`git`,[`lfs`,`pull`,`--include=${t}`],{cwd:e})}async function V(e,t){try{return(await f(`git`,[`check-attr`,`filter`,`--`,t],{cwd:e})).stdout.includes(`filter: lfs`)}catch{return!1}}async function H(e){try{let t=await r(e,`utf8`);return b.test(t)}catch{return!1}}async function U(e){let t=await W(e),n=[];for(let i of t){let t=u(e,i);if(!await G(t))continue;let a=await r(t,`utf8`);for(let e of a.matchAll(y))n.push({assetId:e[1],file:i})}return n}async function W(e){return(await f(`git`,[`ls-files`,`*.md`,`*.mdx`,`*.ts`,`*.tsx`],{cwd:e})).stdout.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).filter(e=>e.startsWith(`content/`)||e.startsWith(`src/`))}async function G(e){try{return await i(e),!0}catch{return!1}}function K(e,t){return{code:`SOURCE_MISSING`,message:`Source asset "${t}" does not exist.`,assetId:e,file:t,fix:`Run: coreframe assets add <file> --id ${e} --alt "..."`}}function q(e){return e.map(e=>[`${e.code}: ${e.message}`,e.file?` file: ${l(process.cwd(),u(e.file))}`:void 0,e.fix?` fix: ${e.fix}`:void 0].filter(Boolean).join(`
|
|
2
2
|
`)).join(`
|
|
3
|
-
`)}export{
|
|
3
|
+
`)}export{x as addAsset,S as buildAssets,C as checkAssets,q as formatAssetProblems,T as materializeAsset,E as printAssetResult,w as publishAssets,O as readAssetManifest,P as resolveAssetVariantFile};
|
package/dist/coreframe.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{addAsset as e,buildAssets as t,checkAssets as n,printAssetResult as r,publishAssets as i}from"./assets.js";import{runDrizzleKitCommand as a}from"./db/drizzle-kit.js";import{seedLocalDb as o}from"./db/seed.js";import{migrateLocalDb as s}from"./db/migrate.js";import{resetLocalDb as c}from"./db/reset.js";import{setupLocalDb as l}from"./db/setup.js";import{ensureLocalDb as u}from"./db/ensure.js";import{migrateHeldMigrations as d}from"./db/migrate-held.js";import{checkSchemaPush as f}from"./db/schema-check.js";import{tauriReleasePlatforms as p}from"./deploy/config.js";import{deployProject as m}from"./deploy.js";import{checkDeployMigrations as h}from"./deploy/check-migrations.js";import{devPlatforms as g,runDevServer as _}from"./dev.js";import{typecheckProject as v}from"./typecheck.js";import{checkUpgradeSkillCurrent as y}from"./upgrade/check-skill-current.js";import{ensureTemplateRemote as b}from"./upgrade/ensure-template-remote.js";import{fastForwardTemplateFiles as x}from"./upgrade/fast-forward-template-files.js";import{array as S,binary as C,command as w,flag as T,multioption as E,oneOf as D,option as O,optional as k,positional as A,rest as j,run as M,string as N,subcommands as P}from"cmd-ts";const F=P({name:`coreframe`,cmds:{assets:P({name:`assets`,cmds:{add:w({name:`add`,args:{file:A({type:N,displayName:`file`,description:`Source image to add to the asset library.`}),id:O({long:`id`,type:N,description:`Logical asset ID, such as blog/my-post/hero.`}),alt:O({long:`alt`,type:N,description:`Required alt text for the asset.`}),json:T({long:`json`,description:`Print machine-readable JSON.`,defaultValue:()=>!1})},handler:async({alt:t,file:n,id:i,json:a})=>r(await e({alt:t,file:n,id:i,json:a}),a)}),build:w({name:`build`,args:{id:O({long:`id`,type:k(N),description:`Build only one logical asset ID.`}),noPull:T({long:`no-pull`,description:`Do not perform targeted Git LFS pulls for missing source objects.`,defaultValue:()=>!1}),json:T({long:`json`,description:`Print machine-readable JSON.`,defaultValue:()=>!1})},handler:async({id:e,json:n,noPull:i})=>r(await t({id:e,json:n,pull:!i}),n)}),check:w({name:`check`,args:{fix:T({long:`fix`,description:`Build missing generated variants when possible.`,defaultValue:()=>!1}),json:T({long:`json`,description:`Print machine-readable JSON.`,defaultValue:()=>!1})},handler:async({fix:e,json:t})=>{let i=await n({fix:e,json:t});r(i,t),i.ok||(process.exitCode=1)}}),publish:w({name:`publish`,args:{outputDir:O({long:`output-dir`,type:k(N),description:`
|
|
2
|
+
import{addAsset as e,buildAssets as t,checkAssets as n,printAssetResult as r,publishAssets as i}from"./assets.js";import{runDrizzleKitCommand as a}from"./db/drizzle-kit.js";import{seedLocalDb as o}from"./db/seed.js";import{migrateLocalDb as s}from"./db/migrate.js";import{resetLocalDb as c}from"./db/reset.js";import{setupLocalDb as l}from"./db/setup.js";import{ensureLocalDb as u}from"./db/ensure.js";import{migrateHeldMigrations as d}from"./db/migrate-held.js";import{checkSchemaPush as f}from"./db/schema-check.js";import{tauriReleasePlatforms as p}from"./deploy/config.js";import{deployProject as m}from"./deploy.js";import{checkDeployMigrations as h}from"./deploy/check-migrations.js";import{devPlatforms as g,runDevServer as _}from"./dev.js";import{typecheckProject as v}from"./typecheck.js";import{checkUpgradeSkillCurrent as y}from"./upgrade/check-skill-current.js";import{ensureTemplateRemote as b}from"./upgrade/ensure-template-remote.js";import{fastForwardTemplateFiles as x}from"./upgrade/fast-forward-template-files.js";import{array as S,binary as C,command as w,flag as T,multioption as E,oneOf as D,option as O,optional as k,positional as A,rest as j,run as M,string as N,subcommands as P}from"cmd-ts";const F=P({name:`coreframe`,cmds:{assets:P({name:`assets`,cmds:{add:w({name:`add`,args:{file:A({type:N,displayName:`file`,description:`Source image to add to the asset library.`}),id:O({long:`id`,type:N,description:`Logical asset ID, such as blog/my-post/hero.`}),alt:O({long:`alt`,type:N,description:`Required alt text for the asset.`}),json:T({long:`json`,description:`Print machine-readable JSON.`,defaultValue:()=>!1})},handler:async({alt:t,file:n,id:i,json:a})=>r(await e({alt:t,file:n,id:i,json:a}),a)}),build:w({name:`build`,args:{id:O({long:`id`,type:k(N),description:`Build only one logical asset ID.`}),noPull:T({long:`no-pull`,description:`Do not perform targeted Git LFS pulls for missing source objects.`,defaultValue:()=>!1}),json:T({long:`json`,description:`Print machine-readable JSON.`,defaultValue:()=>!1})},handler:async({id:e,json:n,noPull:i})=>r(await t({id:e,json:n,pull:!i}),n)}),check:w({name:`check`,args:{fix:T({long:`fix`,description:`Build missing generated variants when possible.`,defaultValue:()=>!1}),json:T({long:`json`,description:`Print machine-readable JSON.`,defaultValue:()=>!1})},handler:async({fix:e,json:t})=>{let i=await n({fix:e,json:t});r(i,t),i.ok||(process.exitCode=1)}}),publish:w({name:`publish`,args:{outputDir:O({long:`output-dir`,type:k(N),description:`Root directory for additive local publish output. Defaults to COREFRAME_ASSETS_PUBLISH_DIR or release-upload.`}),json:T({long:`json`,description:`Print machine-readable JSON.`,defaultValue:()=>!1})},handler:async({json:e,outputDir:t})=>{let n=await i({json:e,outputDir:t});r(n,e),n.ok||(process.exitCode=1)}}),status:w({name:`status`,args:{json:T({long:`json`,description:`Print machine-readable JSON.`,defaultValue:()=>!1})},handler:async({json:e})=>{let t=await n({json:e});r(t,e),t.ok||(process.exitCode=1)}})}}),deploy:w({name:`deploy`,args:{runMigrations:T({long:`run-migrations`,description:`Run pending deploy-safe database migrations before deploying.`,defaultValue:()=>!1}),skipMigrations:T({long:`skip-migrations`,description:`Deploy without running pending deploy-safe database migrations.`,defaultValue:()=>!1}),skipPostDeployChecks:T({long:`skip-post-deploy-checks`,description:`Skip post-deploy checks after Cloudflare deployment.`,defaultValue:()=>!1}),tauriLocalPlatforms:E({long:`tauri-local-platform`,type:S(D(p)),description:`Build one Tauri release platform locally. Repeat for multiple platforms.`,defaultValue:()=>[]}),tauriWorkflowName:O({long:`tauri-workflow-name`,type:k(N),description:`GitHub Actions workflow file or name for remote Tauri release builds.`}),tauriWorkflowPlatforms:E({long:`tauri-workflow-platform`,type:S(D(p)),description:`Build one Tauri release platform with GitHub Actions. Repeat for multiple platforms.`,defaultValue:()=>[]}),tauriWorkflowRef:O({long:`tauri-workflow-ref`,type:k(N),description:`Git ref used when dispatching remote Tauri release builds.`}),yes:T({long:`yes`,short:`y`,description:`Approve noninteractive deploy prompts.`,defaultValue:()=>!1})},handler:({runMigrations:e,skipMigrations:t,skipPostDeployChecks:n,tauriLocalPlatforms:r,tauriWorkflowName:i,tauriWorkflowPlatforms:a,tauriWorkflowRef:o,yes:s})=>m([...e?[`--run-migrations`]:[],...t?[`--skip-migrations`]:[],...n?[`--skip-post-deploy-checks`]:[],...r.flatMap(e=>[`--tauri-local-platform`,e]),...i?[`--tauri-workflow-name`,i]:[],...a.flatMap(e=>[`--tauri-workflow-platform`,e]),...o?[`--tauri-workflow-ref`,o]:[],...s?[`--yes`]:[]])}),typecheck:w({name:`typecheck`,args:{},handler:v}),dev:w({name:`dev`,args:{https:T({long:`https`,description:`Serve the web app over locally trusted HTTPS.`,defaultValue:()=>!1}),platform:A({type:k(D(g)),displayName:`platform`,description:`Development target platform. Defaults to web.`})},handler:({https:e,platform:t})=>_({https:e,platform:t??`web`})}),upgrade:P({name:`upgrade`,cmds:{"ensure-template-remote":w({name:`ensure-template-remote`,args:{remote:O({long:`remote`,type:N,defaultValue:()=>`template`,description:`Remote name to ensure.`}),noFetch:T({long:`no-fetch`,description:`Do not fetch the remote after ensuring it exists.`,defaultValue:()=>!1})},handler:({noFetch:e,remote:t})=>b({fetch:!e,remote:t})}),"check-skill-current":w({name:`check-skill-current`,args:{target:O({long:`target`,type:N,description:`Target Coreframe template git ref.`}),apply:T({long:`apply`,description:`Replace the local upgrade skill with the target version when it differs.`,defaultValue:()=>!1})},handler:({apply:e,target:t})=>{process.exitCode=y({apply:e,target:t})}}),"fast-forward-template-files":w({name:`fast-forward-template-files`,args:{target:O({long:`target`,type:N,description:`Target Coreframe template git ref.`}),base:O({long:`base`,type:k(N),description:`Previous Coreframe template git ref. Defaults to package.json engines.coreframe.`}),apply:T({long:`apply`,description:`Write clean fast-forwards to the worktree.`,defaultValue:()=>!1})},handler:({apply:e,base:t,target:n})=>x({apply:e,base:t,target:n})})}}),db:P({name:`db`,cmds:{ensure:w({name:`ensure`,args:{},handler:u}),generate:w({name:`generate`,args:{args:j({displayName:`drizzle-kit args`,description:`Additional arguments passed to drizzle-kit generate.`})},handler:({args:e})=>a(`generate`,e)}),migrate:w({name:`migrate`,args:{args:j({displayName:`drizzle-kit args`,description:`Additional arguments passed to drizzle-kit migrate.`})},handler:({args:e})=>a(`migrate`,e)}),"migrate-held":w({name:`migrate-held`,args:{confirm:O({long:`confirm`,type:k(D([`run-held-migrations`])),description:`Required confirmation value for held migrations.`})},handler:({confirm:e})=>d({argv:e?[`--confirm=${e}`]:[]})}),"migrate-local":w({name:`migrate-local`,args:{},handler:s}),"migrations-check":w({name:`migrations-check`,args:{},handler:h}),reset:w({name:`reset`,args:{},handler:c}),seed:w({name:`seed`,args:{},handler:()=>o()}),"schema-check":w({name:`schema-check`,args:{seed:T({long:`seed`,description:`Run the configured project seed against the throwaway database.`,defaultValue:()=>!1})},handler:({seed:e})=>f({seed:e})}),setup:w({name:`setup`,args:{},handler:()=>l()}),studio:w({name:`studio`,args:{args:j({displayName:`drizzle-kit args`,description:`Additional arguments passed to drizzle-kit studio.`})},handler:({args:e})=>a(`studio`,e)})}})}});import.meta.main&&M(C(F),process.argv);export{F as coreframeCli};
|