@stacksjs/actions 0.70.58 → 0.70.60

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/actions.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{db as a,eb as e,fb as f,gb as o}from"./chunk-rzhs51h1.js";import"./chunk-4qzb8g3z.js";export{e as runActions,a as runAction,f as hasAction,o as actions};
2
+ import{db as a,eb as e,fb as f,gb as o}from"./chunk-xhznkfad.js";import"./chunk-4qzb8g3z.js";export{e as runActions,a as runAction,f as hasAction,o as actions};
package/dist/build.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Va as B}from"./chunk-9x17v4x2.js";import"./chunk-e8505qz8.js";import"./chunk-ag4fy7cx.js";import"./chunk-s735m9mg.js";import"./chunk-rzhs51h1.js";import"./chunk-4qzb8g3z.js";import{NpmScript as z}from"@stacksjs/enums";import{log as x}from"@stacksjs/logging";import{hasComponents as D,hasFunctions as G}from"@stacksjs/storage";import{runNpmScript as A}from"@stacksjs/utils";async function H(q){if(q.components)await I(q);else if(q.webComponents||q.elements)await E(q);else if(q.functions)await O(q);else if(q.docs)await K(q);else if(q.stacks)await M(q);await B()}async function W(q){return await H(q)}async function I(q){await A(z.GenerateEntries,q),await J(q),await E(q)}async function J(q){if(D())x.info("Building your component library..."),await A(z.BuildComponents,q),x.success("Your component library was built successfully");else x.warn("No components found."),x.info("Before you can build components,"),x.info("you need to have created some in the ./components folder.")}async function E(q){if(x.info("Building your component library for production use & npm/CDN distribution..."),D())await A(z.BuildWebComponents,q),x.success("Your Web Component library was built successfully");else x.info("No components found.")}async function K(q){x.info("Building the documentation site..."),await A(z.BuildDocs,q),x.success("Docs built successfully")}async function M(q){x.info("Building the Stacks Framework..."),await A(z.BuildStacks,q),x.success("Stacks built successfully")}async function O(q){if(G())x.info("Building your functions library for production usages..."),x.info("Production usages include: manual npm distribution and/or CDN distribution"),await A(z.BuildFunctions,q),x.success("Functions library built successfully");else x.info("No functions found")}export{E as webComponentLibrary,J as vueComponentLibrary,M as stacks,H as invoke,O as functionsLibrary,K as docs,I as componentLibraries,W as build};
2
+ import{Va as B}from"./chunk-zehw6yk8.js";import"./chunk-e8505qz8.js";import"./chunk-ag4fy7cx.js";import"./chunk-s735m9mg.js";import"./chunk-xhznkfad.js";import"./chunk-4qzb8g3z.js";import{NpmScript as z}from"@stacksjs/enums";import{log as x}from"@stacksjs/logging";import{hasComponents as D,hasFunctions as G}from"@stacksjs/storage";import{runNpmScript as A}from"@stacksjs/utils";async function H(q){if(q.components)await I(q);else if(q.webComponents||q.elements)await E(q);else if(q.functions)await O(q);else if(q.docs)await K(q);else if(q.stacks)await M(q);await B()}async function W(q){return await H(q)}async function I(q){await A(z.GenerateEntries,q),await J(q),await E(q)}async function J(q){if(D())x.info("Building your component library..."),await A(z.BuildComponents,q),x.success("Your component library was built successfully");else x.warn("No components found."),x.info("Before you can build components,"),x.info("you need to have created some in the ./components folder.")}async function E(q){if(x.info("Building your component library for production use & npm/CDN distribution..."),D())await A(z.BuildWebComponents,q),x.success("Your Web Component library was built successfully");else x.info("No components found.")}async function K(q){x.info("Building the documentation site..."),await A(z.BuildDocs,q),x.success("Docs built successfully")}async function M(q){x.info("Building the Stacks Framework..."),await A(z.BuildStacks,q),x.success("Stacks built successfully")}async function O(q){if(G())x.info("Building your functions library for production usages..."),x.info("Production usages include: manual npm distribution and/or CDN distribution"),await A(z.BuildFunctions,q),x.success("Functions library built successfully");else x.info("No functions found")}export{E as webComponentLibrary,J as vueComponentLibrary,M as stacks,H as invoke,O as functionsLibrary,K as docs,I as componentLibraries,W as build};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{ea as O}from"./chunk-mcwfmqzb.js";import{db as A}from"./chunk-rzhs51h1.js";import{pb as w}from"./chunk-4qzb8g3z.js";import Y from"process";import{existsSync as S}from"fs";import{italic as X,runCommand as K}from"@stacksjs/cli";import{ExitCode as Z}from"@stacksjs/types";import{localUrl as T}from"@stacksjs/config";import{Action as P}from"@stacksjs/enums";import{handleError as v}from"@stacksjs/error-handling";import{log as B}from"@stacksjs/logging";import{frameworkPath as b,path as J,resolve as V}from"@stacksjs/path";import{createFolder as U,doesFolderExist as _,writeTextFile as x}from"@stacksjs/storage";import{kebabCase as j,pascalCase as D,template as y}from"@stacksjs/strings";var L=!1;function Zq(z){L=Boolean(z)}function $q(){return L}function E(z,...q){return y(O[z],...q)}async function W(z,q){if(L){let G=q.split(`
2
+ import{ea as O}from"./chunk-mcwfmqzb.js";import{db as A}from"./chunk-xhznkfad.js";import{pb as w}from"./chunk-4qzb8g3z.js";import Y from"process";import{existsSync as S}from"fs";import{italic as X,runCommand as K}from"@stacksjs/cli";import{ExitCode as Z}from"@stacksjs/types";import{localUrl as T}from"@stacksjs/config";import{Action as P}from"@stacksjs/enums";import{handleError as v}from"@stacksjs/error-handling";import{log as B}from"@stacksjs/logging";import{frameworkPath as b,path as J,resolve as V}from"@stacksjs/path";import{createFolder as U,doesFolderExist as _,writeTextFile as x}from"@stacksjs/storage";import{kebabCase as j,pascalCase as D,template as y}from"@stacksjs/strings";var L=!1;function Zq(z){L=Boolean(z)}function $q(){return L}function E(z,...q){return y(O[z],...q)}async function W(z,q){if(L){let G=q.split(`
3
3
  `),H=G.slice(0,60).map((I)=>` ${I}`).join(`
4
4
  `),Q=G.length>60?`
5
5
  ${X(`\u2026 ${G.length-60} more lines elided`)}`:"";B.info(`[dry-run] would write ${z} (${G.length} lines)`),Y.stdout.write(`${H}${Q}
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{F as x}from"./chunk-rj1cbghx.js";import{italic as I}from"@stacksjs/cli";import{log as W}from"@stacksjs/logging";import{path as Z}from"@stacksjs/path";import{writeTextFile as L}from"@stacksjs/storage";var P={str:"string",string:"string",varchar:"string",text:"text",longtext:"text",int:"number",integer:"number",number:"number",num:"number",bool:"boolean",boolean:"boolean",date:"date",datetime:"date",json:"json"};function U(G){if(!G)return[];let H=G.split(",").map((q)=>q.trim()).filter(Boolean),J=[];for(let q of H){let[K,O="string"]=q.split(":"),Q=K?.trim();if(!Q)continue;let B=P[O.trim().toLowerCase()]??"string";J.push({name:Q,type:B})}return J}function V(G){if(!G)return G;let H=G.toLowerCase();if(H.endsWith("s")||H.endsWith("x")||H.endsWith("z")||H.endsWith("ch")||H.endsWith("sh"))return`${G}es`;if(H.endsWith("y")&&!/[aeiou]y$/.test(H))return`${G.slice(0,-1)}ies`;return`${G}s`}function v(G){return G.replace(/(^|[-_\s])(\w)/g,(H,J,q)=>String(q).toUpperCase())}function X(G){return G.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()}function Y(G){if(G.length===0)return" title: { type: 'string', fillable: true, validation: { rule: schema.string().required() } },";return G.map((H)=>{let J=H.type,q=J==="number"?"schema.number()":J==="boolean"?"schema.boolean()":J==="date"?"schema.date()":J==="json"?"schema.object({})":"schema.string()",K=J==="number"?"number":J==="boolean"?"boolean":J==="date"?"date":J==="json"?"json":"string";return` ${H.name}: { type: '${K}', fillable: true, validation: { rule: ${q} } },`}).join(`
2
+ import{F as x}from"./chunk-9a8838dc.js";import{italic as I}from"@stacksjs/cli";import{log as W}from"@stacksjs/logging";import{path as Z}from"@stacksjs/path";import{writeTextFile as L}from"@stacksjs/storage";var P={str:"string",string:"string",varchar:"string",text:"text",longtext:"text",int:"number",integer:"number",number:"number",num:"number",bool:"boolean",boolean:"boolean",date:"date",datetime:"date",json:"json"};function U(G){if(!G)return[];let H=G.split(",").map((q)=>q.trim()).filter(Boolean),J=[];for(let q of H){let[K,O="string"]=q.split(":"),Q=K?.trim();if(!Q)continue;let B=P[O.trim().toLowerCase()]??"string";J.push({name:Q,type:B})}return J}function V(G){if(!G)return G;let H=G.toLowerCase();if(H.endsWith("s")||H.endsWith("x")||H.endsWith("z")||H.endsWith("ch")||H.endsWith("sh"))return`${G}es`;if(H.endsWith("y")&&!/[aeiou]y$/.test(H))return`${G.slice(0,-1)}ies`;return`${G}s`}function v(G){return G.replace(/(^|[-_\s])(\w)/g,(H,J,q)=>String(q).toUpperCase())}function X(G){return G.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()}function Y(G){if(G.length===0)return" title: { type: 'string', fillable: true, validation: { rule: schema.string().required() } },";return G.map((H)=>{let J=H.type,q=J==="number"?"schema.number()":J==="boolean"?"schema.boolean()":J==="date"?"schema.date()":J==="json"?"schema.object({})":"schema.string()",K=J==="number"?"number":J==="boolean"?"boolean":J==="date"?"date":J==="json"?"json":"string";return` ${H.name}: { type: '${K}', fillable: true, validation: { rule: ${q} } },`}).join(`
3
3
  `)}function _(G){if(G.length===0)return" .addColumn('title', 'varchar(255)', col => col.notNull())";return G.map((H)=>{switch(H.type){case"number":return` .addColumn('${H.name}', 'integer')`;case"boolean":return` .addColumn('${H.name}', 'boolean', col => col.defaultTo(false))`;case"text":return` .addColumn('${H.name}', 'text')`;case"date":return` .addColumn('${H.name}', 'timestamp')`;case"json":return` .addColumn('${H.name}', 'text')`;default:return` .addColumn('${H.name}', 'varchar(255)')`}}).join(`
4
4
  `)}function D(G,H,J){let q=v(G);switch(H){case"Index":return`import { Action } from '@stacksjs/actions'
5
5
  import ${q} from '~/app/Models/${q}'
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{db as o}from"./chunk-rzhs51h1.js";import{Action as r}from"@stacksjs/enums";async function v(e){await o(r.Dev,e)}async function s(e){await o(r.Dev,e)}async function a(e){await n(e)}async function n(e){await o(r.DevApi,e)}async function D(e){await o(r.DevComponents,e)}async function p(e){await o(r.DevDashboard,e)}async function c(e){await o(r.DevSystemTray,e)}async function m(e){await o(r.DevDesktop,e)}async function u(e){await o(r.DevDocs,e)}
2
+ import{db as o}from"./chunk-xhznkfad.js";import{Action as r}from"@stacksjs/enums";async function v(e){await o(r.Dev,e)}async function s(e){await o(r.Dev,e)}async function a(e){await n(e)}async function n(e){await o(r.DevApi,e)}async function D(e){await o(r.DevComponents,e)}async function p(e){await o(r.DevDashboard,e)}async function c(e){await o(r.DevSystemTray,e)}async function m(e){await o(r.DevDesktop,e)}async function u(e){await o(r.DevDocs,e)}
3
3
  export{v as Da,s as Ea,a as Fa,n as Ga,D as Ha,p as Ia,c as Ja,m as Ka,u as La};
@@ -0,0 +1,3 @@
1
+ // @bun
2
+ import{ob as j,pb as D}from"./chunk-4qzb8g3z.js";var u={};j(u,{runActions:()=>A,runAction:()=>v,hasAction:()=>S});import{existsSync as W}from"fs";import T from"process";import{buddyOptions as I,runCommand as F,runCommands as N}from"@stacksjs/cli";import{err as X}from"@stacksjs/error-handling";import{log as V}from"@stacksjs/logging";import*as B from"@stacksjs/path";async function x(q){let z=[];z.push(B.actionsPath(`src/${q}.ts`));try{let H=import.meta.resolve("@stacksjs/actions/package.json");if(H){let J=new URL(H).pathname,G=J.slice(0,J.lastIndexOf("/"));z.push(`${G}/dist/${q}.js`),z.push(`${G}/dist/src/${q}.js`),z.push(`${G}/src/${q}.ts`)}}catch{}for(let H of z)if(await Bun.file(H).exists())return H;return null}async function v(q,z){if(V.debug(`[action] Running: ${q}`),q==="dev/views")try{let K=B.projectPath("pantry");if(!T.env.NODE_PATH?.includes(K))T.env.NODE_PATH=T.env.NODE_PATH?`${K}:${T.env.NODE_PATH}`:K,D("module").Module._initPaths?.();let Z=[B.projectPath("storage/framework/core/actions/src/dev/views.ts"),B.frameworkPath("actions/src/dev/views.ts")];for(let Q of Z)if(W(Q))return await import(Q),{ok:!0,value:{}};return X("dev/views entry not found")}catch(K){return X(`Failed to start dev server: ${K}`)}if(!(q.includes("/")||["dev","build","install","upgrade","migrate"].some((K)=>q.startsWith(K)))){let K=new Bun.Glob("**/*.{ts,js}"),Z={cwd:B.userActionsPath(),onlyFiles:!0,absolute:!0},Q=[],b=B.userActionsPath();for await(let L of K.scan(Z)){if(L.replace(`${b}/`,"").replace(/\.(ts|js)$/,"")===q||L.endsWith(`${q}.ts`)||L.endsWith(`${q}.js`))return V.debug(`[action] Resolved: ${q} \u2192 ${L}`),await(await import(L)).default.handle(void 0);Q.push(L)}for(let L of Q)try{let Y=await import(L);if(Y.name===q)return V.debug(`[action] Resolved: ${q} \u2192 ${L}`),await Y.handle()}catch(Y){}}let J=await x(q);if(!J)return X(`Action '${q}' not found in storage/framework/core/actions/src or @stacksjs/actions`);V.debug(`[action] Resolved: ${q} \u2192 ${J}`);let G=q.startsWith("dev/"),M=G?"--watch":"",U=G?"":I(z)||"",w=`bun ${M} ${J} ${U}`.trimEnd(),_=B.projectPath("pantry"),$=T.env.NODE_PATH,C=$?`${_}:${$}`:_,E=z?.verbose||G&&!z?.quiet,O={cwd:z?.cwd||B.projectPath(),...z,stdout:E?"inherit":void 0,stderr:E?"inherit":void 0,env:{...z?.env,NODE_PATH:C,...G?{STACKS_DEV_SERVER:"1"}:{}}},R=await F(w,O);return V.debug(`[action] Completed: ${q}`),R}async function A(q,z){if(!q.length)return X("No actions were specified");for(let M of q)if(!S(M))return X(`The specified action "${M}" does not exist`);let H=I(z)||"",J={cwd:z?.cwd||B.projectPath(),...z},G=q.map((M)=>`bun ${B.relativeActionsPath(`src/${M}.ts`)} ${H}`);return await N(G,J)}function S(q){let z=[`${q}.ts`,`${q}`,`Dashboard/${q}.ts`,`Dashboard/${q}`,`Buddy/${q}.ts`,`Buddy/${q}`],H=[`src/${q}.ts`,`src/${q}`,`${q}.ts`,`${q}`];return[...z.map((G)=>B.userActionsPath(G)),...H.map((G)=>B.actionsPath(G))].some((G)=>W(G))}
3
+ export{v as db,A as eb,S as fb,u as gb};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{$a as z}from"./chunk-e8505qz8.js";import{db as U}from"./chunk-rzhs51h1.js";import{pb as O}from"./chunk-4qzb8g3z.js";import*as Q from"fs";import R from"process";import{runCommand as b}from"@stacksjs/cli";import{Action as Y,NpmScript as H}from"@stacksjs/enums";import{log as B}from"@stacksjs/logging";import{frameworkPath as I,projectPath as K,storagePath as D}from"@stacksjs/path";import{ExitCode as X}from"@stacksjs/types";import{runNpmScript as M}from"@stacksjs/utils";async function T(q){if(q?.types)await W(q);else if(q?.entries)await V(q);else if(q?.webTypes)await v(q);else if(q?.customData)await y();else if(q?.ideHelpers)await E(q);else if(q?.componentMeta)await N();else if(q?.coreSymlink)await x();else if(q?.openApiSpec)await S()}function u(q){return T(q)}async function V(q){let F=await U(Y.GenerateLibraryEntries,{...q,cwd:K()});if(F.isErr)B.error("There was an error generating your library entry points",F.error),R.exit(X.FatalError);B.success("Library entry points generated successfully")}async function v(q){let F=await M(H.GenerateWebTypes,q);if(F.isErr)B.error("There was an error generating the web-types.json file.",F.error),R.exit(X.FatalError);B.success("Successfully generated the web-types.json file")}async function y(){let q=await z();if(q.isErr)B.error("There was an error generating the custom-elements.json file.",q.error),R.exit(X.FatalError);await U(Y.LintFix,{verbose:!0,cwd:K()}),B.success("Successfully generated the custom-elements.json file")}async function E(q){let F=await M(H.GenerateIdeHelpers,q);if(F.isErr)B.error("There was an error generating IDE helpers.",F.error),R.exit(X.FatalError);await U(Y.LintFix,{verbose:!0,cwd:K()}),B.success("Successfully generated IDE helpers")}async function N(){let q=await z();if(q.isErr)B.error("There was an error generating your component meta information.",q.error),R.exit(X.FatalError);await U(Y.LintFix,{verbose:!0,cwd:K()}),B.success("Successfully generated component meta information")}async function W(q){let F=await M(H.GenerateTypes,{cwd:I(),...q});if(F.isErr)throw B.error("There was an error generating your types.",F.error),F.error instanceof Error?F.error:Error(String(F.error));B.success("Types were generated successfully")}async function c(q){try{let G=`${I()}/package.json`,J=Q.existsSync(G)?Q.readFileSync(G,"utf-8"):"";if(!(J?JSON.parse(J):{})?.scripts?.["generate:types"]){B.warn("[generate:types --watch] no `generate:types` script in framework package.json \u2014 type regeneration disabled. dev:api will keep running, but type definitions won't auto-refresh on model/config changes.");return}}catch{}let F=[K("app/Models"),D("framework/defaults/app/Models"),K("config"),K("database/migrations")];B.info(`[generate:types --watch] watching ${F.length} directories`);let Z=null,_=!1,L=()=>{if(Z)clearTimeout(Z);Z=setTimeout(async()=>{if(_)return;_=!0;try{B.info("[generate:types --watch] change detected, regenerating\u2026"),await W(q),B.success("[generate:types --watch] types up to date")}catch(G){B.error("[generate:types --watch] regeneration failed:",G)}finally{_=!1}},200)},$=[];for(let G of F)try{if(!Q.existsSync(G))continue;let J=Q.watch(G,{recursive:!0},()=>L());$.push(J)}catch(J){B.warn(`[generate:types --watch] cannot watch ${G}: ${J}`)}if($.length===0){B.warn("[generate:types --watch] no directories to watch \u2014 exiting");return}await new Promise((G)=>{R.once("SIGINT",()=>{B.info("[generate:types --watch] stopping");for(let J of $)try{J.close()}catch{}G()})})}function g(){B.success("Successfully generated `./pantry.yaml` based on your config")}async function l(){}async function x(){await b(`ln -s ${I()} ${K(".stacks")}`)}async function S(){let{generateOpenApi:q}=await import("@stacksjs/api");await q(),B.success("Successfully generated Open API Spec")}
2
+ import{$a as z}from"./chunk-e8505qz8.js";import{db as U}from"./chunk-xhznkfad.js";import{pb as O}from"./chunk-4qzb8g3z.js";import*as Q from"fs";import R from"process";import{runCommand as b}from"@stacksjs/cli";import{Action as Y,NpmScript as H}from"@stacksjs/enums";import{log as B}from"@stacksjs/logging";import{frameworkPath as I,projectPath as K,storagePath as D}from"@stacksjs/path";import{ExitCode as X}from"@stacksjs/types";import{runNpmScript as M}from"@stacksjs/utils";async function T(q){if(q?.types)await W(q);else if(q?.entries)await V(q);else if(q?.webTypes)await v(q);else if(q?.customData)await y();else if(q?.ideHelpers)await E(q);else if(q?.componentMeta)await N();else if(q?.coreSymlink)await x();else if(q?.openApiSpec)await S()}function u(q){return T(q)}async function V(q){let F=await U(Y.GenerateLibraryEntries,{...q,cwd:K()});if(F.isErr)B.error("There was an error generating your library entry points",F.error),R.exit(X.FatalError);B.success("Library entry points generated successfully")}async function v(q){let F=await M(H.GenerateWebTypes,q);if(F.isErr)B.error("There was an error generating the web-types.json file.",F.error),R.exit(X.FatalError);B.success("Successfully generated the web-types.json file")}async function y(){let q=await z();if(q.isErr)B.error("There was an error generating the custom-elements.json file.",q.error),R.exit(X.FatalError);await U(Y.LintFix,{verbose:!0,cwd:K()}),B.success("Successfully generated the custom-elements.json file")}async function E(q){let F=await M(H.GenerateIdeHelpers,q);if(F.isErr)B.error("There was an error generating IDE helpers.",F.error),R.exit(X.FatalError);await U(Y.LintFix,{verbose:!0,cwd:K()}),B.success("Successfully generated IDE helpers")}async function N(){let q=await z();if(q.isErr)B.error("There was an error generating your component meta information.",q.error),R.exit(X.FatalError);await U(Y.LintFix,{verbose:!0,cwd:K()}),B.success("Successfully generated component meta information")}async function W(q){let F=await M(H.GenerateTypes,{cwd:I(),...q});if(F.isErr)throw B.error("There was an error generating your types.",F.error),F.error instanceof Error?F.error:Error(String(F.error));B.success("Types were generated successfully")}async function c(q){try{let G=`${I()}/package.json`,J=Q.existsSync(G)?Q.readFileSync(G,"utf-8"):"";if(!(J?JSON.parse(J):{})?.scripts?.["generate:types"]){B.warn("[generate:types --watch] no `generate:types` script in framework package.json \u2014 type regeneration disabled. dev:api will keep running, but type definitions won't auto-refresh on model/config changes.");return}}catch{}let F=[K("app/Models"),D("framework/defaults/app/Models"),K("config"),K("database/migrations")];B.info(`[generate:types --watch] watching ${F.length} directories`);let Z=null,_=!1,L=()=>{if(Z)clearTimeout(Z);Z=setTimeout(async()=>{if(_)return;_=!0;try{B.info("[generate:types --watch] change detected, regenerating\u2026"),await W(q),B.success("[generate:types --watch] types up to date")}catch(G){B.error("[generate:types --watch] regeneration failed:",G)}finally{_=!1}},200)},$=[];for(let G of F)try{if(!Q.existsSync(G))continue;let J=Q.watch(G,{recursive:!0},()=>L());$.push(J)}catch(J){B.warn(`[generate:types --watch] cannot watch ${G}: ${J}`)}if($.length===0){B.warn("[generate:types --watch] no directories to watch \u2014 exiting");return}await new Promise((G)=>{R.once("SIGINT",()=>{B.info("[generate:types --watch] stopping");for(let J of $)try{J.close()}catch{}G()})})}function g(){B.success("Successfully generated `./pantry.yaml` based on your config")}async function l(){}async function x(){await b(`ln -s ${I()} ${K(".stacks")}`)}async function S(){let{generateOpenApi:q}=await import("@stacksjs/api");await q(),B.success("Successfully generated Open API Spec")}
3
3
  export{T as Oa,u as Pa,V as Qa,v as Ra,y as Sa,E as Ta,N as Ua,W as Va,c as Wa,g as Xa,l as Ya,x as Za,S as _a};
package/dist/dev/api.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import{pb as J}from"../chunk-4qzb8g3z.js";import{existsSync as Y}from"fs";import Z from"process";import{parseOptions as Q}from"@stacksjs/cli";import{config as T,overridesReady as U}from"@stacksjs/config";import{path as K}from"@stacksjs/path";import{route as L}from"@stacksjs/router";import{generateAutoImportFiles as W,injectGlobalAutoImports as F}from"@stacksjs/server";var v=Q();await U;var X=Number(Z.env.PORT_API)||T.ports?.api||3008,P=K.storagePath("framework/auto-imports/models.ts");if(!Y(P))await W();await F();try{let z=K.appPath("Lib/typesense-dev.ts");if(Y(z)){let B=await import(z);if(typeof B.ensureTypesenseRunning==="function")await B.ensureTypesenseRunning()}}catch(z){let{log:B}=await import("@stacksjs/cli");B.warn(`[api:dev] search engine bootstrap skipped: ${z.message}`)}try{let z=K.appPath("Listener.ts");if(Y(z)){let B=await import(z);if(typeof B.handleEvents==="function")await B.handleEvents()}}catch(z){let{log:B}=await import("@stacksjs/cli");B.warn(`[api:dev] failed to bootstrap event listeners \u2014 dispatched events will be ignored: ${z.message}`)}try{let{startModelMigrationWatcher:z}=await import("./migrate-watcher.js");z()}catch(z){let{log:B}=await import("@stacksjs/cli");B.debug(`[api:dev] auto-migrate watcher not started: ${z.message}`)}var R=await import(K.frameworkPath("defaults/app/Middleware/Cors.ts")),_=R.default;L.use(_.toRouterHandler());var f=/^[a-zA-Z0-9._-]{8,128}$/;L.use(async(z,B)=>{let N=z?.headers?.get?.("x-request-id")||z?.headers?.get?.("X-Request-ID")||"",V=typeof N==="string"&&f.test(N)?N:crypto.randomUUID();z._requestId=V,z._startNs=Z.hrtime.bigint();let C=await B();if(C&&C.status===404&&(C.headers.get("content-type")||"").includes("json"))try{let H=await C.clone().json();if(H&&(H.message==="Not Found"||H.error==="Not Found")){let G=new URL(z.url),O={...H,path:G.pathname,method:z.method,request_id:V},$=new Headers(C.headers);return $.set("X-Request-ID",V),new Response(JSON.stringify(O),{status:404,headers:$})}}catch{}return C});await L.importRoutes();try{await L.serve({port:X,hostname:"127.0.0.1"}),console.log(`
3
- \u279C API server ready: http://localhost:${X}
2
+ import{pb as K}from"../chunk-4qzb8g3z.js";import{existsSync as L}from"fs";import N from"process";import{parseOptions as Q}from"@stacksjs/cli";import{config as T,overridesReady as U}from"@stacksjs/config";import{path as V}from"@stacksjs/path";import{route as X}from"@stacksjs/router";import{generateAutoImportFiles as W,injectGlobalAutoImports as F}from"@stacksjs/server";var x=Q();await U;var $=Number(N.env.PORT_API)||T.ports?.api||3008,R=V.storagePath("framework/auto-imports/models.ts");if(!L(R))await W();await F();try{let z=V.appPath("Lib/typesense-dev.ts");if(L(z)){let B=await import(z);if(typeof B.ensureTypesenseRunning==="function")await B.ensureTypesenseRunning()}}catch(z){let{log:B}=await import("@stacksjs/cli");B.warn(`[api:dev] search engine bootstrap skipped: ${z.message}`)}try{let z=V.appPath("Listener.ts");if(L(z)){let B=await import(z);if(typeof B.handleEvents==="function")await B.handleEvents()}}catch(z){let{log:B}=await import("@stacksjs/cli");B.warn(`[api:dev] failed to bootstrap event listeners \u2014 dispatched events will be ignored: ${z.message}`)}try{let{startModelMigrationWatcher:z}=await import("./migrate-watcher.js");z()}catch(z){let{log:B}=await import("@stacksjs/cli");B.debug(`[api:dev] auto-migrate watcher not started: ${z.message}`)}function _(){let z=V.frameworkPath("defaults/app/Middleware/Cors.ts");if(L(z))return z;try{return`${Bun.resolveSync("@stacksjs/defaults/package.json",N.cwd()).replace(/package\.json$/,"")}app/Middleware/Cors.ts`}catch{return z}}var w=await import(_()),A=w.default;X.use(A.toRouterHandler());var E=/^[a-zA-Z0-9._-]{8,128}$/;X.use(async(z,B)=>{let Y=z?.headers?.get?.("x-request-id")||z?.headers?.get?.("X-Request-ID")||"",Z=typeof Y==="string"&&E.test(Y)?Y:crypto.randomUUID();z._requestId=Z,z._startNs=N.hrtime.bigint();let H=await B();if(H&&H.status===404&&(H.headers.get("content-type")||"").includes("json"))try{let J=await H.clone().json();if(J&&(J.message==="Not Found"||J.error==="Not Found")){let G=new URL(z.url),O={...J,path:G.pathname,method:z.method,request_id:Z},C=new Headers(H.headers);return C.set("X-Request-ID",Z),new Response(JSON.stringify(O),{status:404,headers:C})}}catch{}return H});await X.importRoutes();try{await X.serve({port:$,hostname:"127.0.0.1"}),console.log(`
3
+ \u279C API server ready: http://localhost:${$}
4
4
  `)}catch(z){if((z?.code||z?.errno)==="EADDRINUSE"||String(z?.message||"").includes("EADDRINUSE"))console.error(`
5
- [dev/api] Port ${X} is already in use. Kill the other process and re-run \`./buddy dev\`, or set PORT_API to another port.
6
- `),Z.exit(1);throw z}
5
+ [dev/api] Port ${$} is already in use. Kill the other process and re-run \`./buddy dev\`, or set PORT_API to another port.
6
+ `),N.exit(1);throw z}
package/dist/dev/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Da as a,Ea as b,Fa as c,Ga as d,Ha as e,Ia as f,Ja as g,Ka as h,La as i}from"../chunk-ny1racy0.js";import"../chunk-s735m9mg.js";import"../chunk-rzhs51h1.js";import"../chunk-4qzb8g3z.js";export{g as runSystemTrayDevServer,b as runFrontendDevServer,i as runDocsDevServer,a as runDevServer,h as runDesktopDevServer,f as runDashboardDevServer,e as runComponentsDevServer,c as runBackendDevServer,d as runApiDevServer};
2
+ import{Da as a,Ea as b,Fa as c,Ga as d,Ha as e,Ia as f,Ja as g,Ka as h,La as i}from"../chunk-ryz8etwk.js";import"../chunk-s735m9mg.js";import"../chunk-xhznkfad.js";import"../chunk-4qzb8g3z.js";export{g as runSystemTrayDevServer,b as runFrontendDevServer,i as runDocsDevServer,a as runDevServer,h as runDesktopDevServer,f as runDashboardDevServer,e as runComponentsDevServer,c as runBackendDevServer,d as runApiDevServer};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Oa as a,Pa as b,Qa as c,Ra as d,Sa as e,Ta as f,Ua as g,Va as h,Wa as i,Xa as j,Ya as k,Za as l,_a as m}from"../chunk-9x17v4x2.js";import"../chunk-e8505qz8.js";import"../chunk-ag4fy7cx.js";import"../chunk-s735m9mg.js";import"../chunk-rzhs51h1.js";import"../chunk-4qzb8g3z.js";export{i as watchTypes,a as invoke,d as generateWebTypes,e as generateVsCodeCustomData,h as generateTypes,k as generateSeeder,j as generatePantryConfig,m as generateOpenApiSpec,c as generateLibEntries,f as generateIdeHelpers,l as generateCoreSymlink,g as generateComponentMeta,b as generate};
2
+ import{Oa as a,Pa as b,Qa as c,Ra as d,Sa as e,Ta as f,Ua as g,Va as h,Wa as i,Xa as j,Ya as k,Za as l,_a as m}from"../chunk-zehw6yk8.js";import"../chunk-e8505qz8.js";import"../chunk-ag4fy7cx.js";import"../chunk-s735m9mg.js";import"../chunk-xhznkfad.js";import"../chunk-4qzb8g3z.js";export{i as watchTypes,a as invoke,d as generateWebTypes,e as generateVsCodeCustomData,h as generateTypes,k as generateSeeder,j as generatePantryConfig,m as generateOpenApiSpec,c as generateLibEntries,f as generateIdeHelpers,l as generateCoreSymlink,g as generateComponentMeta,b as generate};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import"../chunk-s735m9mg.js";import{db as a,eb as b,fb as c}from"../chunk-rzhs51h1.js";import"../chunk-4qzb8g3z.js";export{b as runActions,a as runAction,c as hasAction};
2
+ import"../chunk-s735m9mg.js";import{db as a,eb as b,fb as c}from"../chunk-xhznkfad.js";import"../chunk-4qzb8g3z.js";export{b as runActions,a as runAction,c as hasAction};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{db as a,eb as b,fb as c}from"../chunk-rzhs51h1.js";import"../chunk-4qzb8g3z.js";export{b as runActions,a as runAction,c as hasAction};
2
+ import{db as a,eb as b,fb as c}from"../chunk-xhznkfad.js";import"../chunk-4qzb8g3z.js";export{b as runActions,a as runAction,c as hasAction};
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import"./chunk-e9tcbk71.js";import"./chunk-cdk2r2jd.js";import{q as D,r as E,s as F,t as G,u as H,v as I,w as J,x as K}from"./chunk-pqnzp7x8.js";import{A as ma,y as ka,z as la}from"./chunk-badehrwa.js";import{B as ia,C as ja}from"./chunk-x8nrbsk1.js";import{D as qa}from"./chunk-63swek9d.js";import{$ as da,E as L,F as M,H as N,I as O,J as P,L as Q,M as R,N as S,P as T,Q as U,R as V,S as W,T as X,U as Y,V as Z,W as _,X as $,Y as aa,Z as ba,_ as ca,aa as ea,ba as fa,ca as ga,da as ha}from"./chunk-rj1cbghx.js";import"./chunk-mcwfmqzb.js";import{fa as oa}from"./chunk-8gbewxns.js";import{ga as na}from"./chunk-5hwp0frq.js";import{ha as pa}from"./chunk-nm9h5rye.js";import{pa as C}from"./chunk-vsj8ns4p.js";import{Da as t,Ea as u,Fa as v,Ga as w,Ha as x,Ia as y,Ja as z,Ka as A,La as B}from"./chunk-ny1racy0.js";import{Na as s}from"./chunk-p601xr03.js";import{Oa as f,Pa as g,Qa as h,Ra as i,Sa as j,Ta as k,Ua as l,Va as m,Wa as n,Xa as o,Ya as p,Za as q,_a as r}from"./chunk-9x17v4x2.js";import"./chunk-e8505qz8.js";import"./chunk-ag4fy7cx.js";import"./chunk-s735m9mg.js";import{cb as a}from"./chunk-aazd6qpv.js";import{db as b,eb as c,fb as d}from"./chunk-rzhs51h1.js";import{ib as e}from"./chunk-23thftnv.js";import"./chunk-4qzb8g3z.js";export{n as watchTypes,la as uninstallStack,H as trustCertificate,F as sslCertificatesExist,J as setupSSL,L as setDryRun,ja as scaffoldCrud,z as runSystemTrayDevServer,N as runMake,u as runFrontendDevServer,B as runDocsDevServer,t as runDevServer,A as runDesktopDevServer,y as runDashboardDevServer,x as runComponentsDevServer,s as runCommit,v as runBackendDevServer,w as runApiDevServer,e as runAdd,c as runActions,b as runAction,ia as parseFields,ba as makeStack,qa as makeResource,ea as makeQueueTable,pa as makePolicy,X as makePage,U as makeNotification,W as makeMail,$ as makeLanguage,na as makeJob,Z as makeFunction,R as makeDatabase,P as makeComponent,oa as makeCommand,fa as makeCertificate,O as makeAction,ma as listStacks,K as isSSLSetupComplete,M as isDryRunActive,D as isDomainInHosts,G as isCertificateTrusted,f as invoke,ka as installStack,d as hasAction,i as generateWebTypes,j as generateVsCodeCustomData,m as generateTypes,p as generateSeeder,o as generatePantryConfig,r as generateOpenApiSpec,h as generateLibEntries,k as generateIdeHelpers,q as generateCoreSymlink,l as generateComponentMeta,I as generateCertificates,g as generate,C as discoverPackages,Y as createPage,ca as createNotification,ga as createModel,da as createMigration,ha as createMiddleware,V as createMail,aa as createLanguage,_ as createFunction,T as createFactory,S as createDatabase,Q as createComponent,E as addDomainToHosts,a as Action};
2
+ import"./chunk-e9tcbk71.js";import"./chunk-cdk2r2jd.js";import{q as D,r as E,s as F,t as G,u as H,v as I,w as J,x as K}from"./chunk-pqnzp7x8.js";import{A as ma,y as ka,z as la}from"./chunk-badehrwa.js";import{B as ia,C as ja}from"./chunk-az3bb5fg.js";import{D as qa}from"./chunk-63swek9d.js";import{$ as da,E as L,F as M,H as N,I as O,J as P,L as Q,M as R,N as S,P as T,Q as U,R as V,S as W,T as X,U as Y,V as Z,W as _,X as $,Y as aa,Z as ba,_ as ca,aa as ea,ba as fa,ca as ga,da as ha}from"./chunk-9a8838dc.js";import"./chunk-mcwfmqzb.js";import{fa as oa}from"./chunk-8gbewxns.js";import{ga as na}from"./chunk-5hwp0frq.js";import{ha as pa}from"./chunk-nm9h5rye.js";import{pa as C}from"./chunk-vsj8ns4p.js";import{Da as t,Ea as u,Fa as v,Ga as w,Ha as x,Ia as y,Ja as z,Ka as A,La as B}from"./chunk-ryz8etwk.js";import{Na as s}from"./chunk-p601xr03.js";import{Oa as f,Pa as g,Qa as h,Ra as i,Sa as j,Ta as k,Ua as l,Va as m,Wa as n,Xa as o,Ya as p,Za as q,_a as r}from"./chunk-zehw6yk8.js";import"./chunk-e8505qz8.js";import"./chunk-ag4fy7cx.js";import"./chunk-s735m9mg.js";import{cb as a}from"./chunk-aazd6qpv.js";import{db as b,eb as c,fb as d}from"./chunk-xhznkfad.js";import{ib as e}from"./chunk-23thftnv.js";import"./chunk-4qzb8g3z.js";export{n as watchTypes,la as uninstallStack,H as trustCertificate,F as sslCertificatesExist,J as setupSSL,L as setDryRun,ja as scaffoldCrud,z as runSystemTrayDevServer,N as runMake,u as runFrontendDevServer,B as runDocsDevServer,t as runDevServer,A as runDesktopDevServer,y as runDashboardDevServer,x as runComponentsDevServer,s as runCommit,v as runBackendDevServer,w as runApiDevServer,e as runAdd,c as runActions,b as runAction,ia as parseFields,ba as makeStack,qa as makeResource,ea as makeQueueTable,pa as makePolicy,X as makePage,U as makeNotification,W as makeMail,$ as makeLanguage,na as makeJob,Z as makeFunction,R as makeDatabase,P as makeComponent,oa as makeCommand,fa as makeCertificate,O as makeAction,ma as listStacks,K as isSSLSetupComplete,M as isDryRunActive,D as isDomainInHosts,G as isCertificateTrusted,f as invoke,ka as installStack,d as hasAction,i as generateWebTypes,j as generateVsCodeCustomData,m as generateTypes,p as generateSeeder,o as generatePantryConfig,r as generateOpenApiSpec,h as generateLibEntries,k as generateIdeHelpers,q as generateCoreSymlink,l as generateComponentMeta,I as generateCertificates,g as generate,C as discoverPackages,Y as createPage,ca as createNotification,ga as createModel,da as createMigration,ha as createMiddleware,V as createMail,aa as createLanguage,_ as createFunction,T as createFactory,S as createDatabase,Q as createComponent,E as addDomainToHosts,a as Action};
package/dist/make.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{$ as x,E as a,F as b,G as c,H as d,I as e,J as f,K as g,L as h,M as i,N as j,O as k,P as l,Q as m,R as n,S as o,T as p,U as q,V as r,W as s,X as t,Y as u,Z as v,_ as w,aa as y,ba as z,ca as A,da as B}from"./chunk-rj1cbghx.js";import"./chunk-mcwfmqzb.js";import"./chunk-s735m9mg.js";import"./chunk-rzhs51h1.js";import"./chunk-4qzb8g3z.js";export{a as setDryRun,v as makeStack,y as makeQueueTable,p as makePage,m as makeNotification,o as makeMail,t as makeLanguage,r as makeFunction,i as makeDatabase,f as makeComponent,z as makeCertificate,e as makeAction,d as make,b as isDryRunActive,c as invoke,k as factory,q as createPage,w as createNotification,A as createModel,x as createMigration,B as createMiddleware,n as createMail,u as createLanguage,s as createFunction,l as createFactory,j as createDatabase,h as createComponent,g as createAction};
2
+ import{$ as x,E as a,F as b,G as c,H as d,I as e,J as f,K as g,L as h,M as i,N as j,O as k,P as l,Q as m,R as n,S as o,T as p,U as q,V as r,W as s,X as t,Y as u,Z as v,_ as w,aa as y,ba as z,ca as A,da as B}from"./chunk-9a8838dc.js";import"./chunk-mcwfmqzb.js";import"./chunk-s735m9mg.js";import"./chunk-xhznkfad.js";import"./chunk-4qzb8g3z.js";export{a as setDryRun,v as makeStack,y as makeQueueTable,p as makePage,m as makeNotification,o as makeMail,t as makeLanguage,r as makeFunction,i as makeDatabase,f as makeComponent,z as makeCertificate,e as makeAction,d as make,b as isDryRunActive,c as invoke,k as factory,q as createPage,w as createNotification,A as createModel,x as createMigration,B as createMiddleware,n as createMail,u as createLanguage,s as createFunction,l as createFactory,j as createDatabase,h as createComponent,g as createAction};
package/dist/release.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- import"./chunk-e9tcbk71.js";import"./chunk-cdk2r2jd.js";import"./chunk-pqnzp7x8.js";import"./chunk-badehrwa.js";import"./chunk-x8nrbsk1.js";import"./chunk-63swek9d.js";import"./chunk-rj1cbghx.js";import"./chunk-mcwfmqzb.js";import"./chunk-8gbewxns.js";import"./chunk-5hwp0frq.js";import"./chunk-nm9h5rye.js";import"./chunk-vsj8ns4p.js";import"./chunk-ny1racy0.js";import"./chunk-p601xr03.js";import"./chunk-9x17v4x2.js";import"./chunk-e8505qz8.js";import"./chunk-ag4fy7cx.js";import"./chunk-s735m9mg.js";import"./chunk-aazd6qpv.js";import{eb as C}from"./chunk-rzhs51h1.js";import"./chunk-23thftnv.js";import"./chunk-4qzb8g3z.js";import{parseOptions as G}from"@stacksjs/cli";import{app as H}from"@stacksjs/config";import{Action as q}from"@stacksjs/enums";import{log as E}from"@stacksjs/logging";import{projectPath as I}from"@stacksjs/path";var J=G()??{},z={};for(let[B,F]of Object.entries(J)){if(B==="--"||B==="_")continue;z[B]=F}var K=z.dryRun===!0||z.dryRun==="true",L=K?[q.GenerateLibraryEntries,q.Bump]:[q.GenerateLibraryEntries,q.LintFix,q.Bump],x=await C(L,{cwd:I(),...z});if(x&&x.isErr)E.error(`Release failed: ${x.error?.message??String(x.error)}`),process.exit(1);E.success(`Successfully released ${H.name}`);
3
+ import"./chunk-e9tcbk71.js";import"./chunk-cdk2r2jd.js";import"./chunk-pqnzp7x8.js";import"./chunk-badehrwa.js";import"./chunk-az3bb5fg.js";import"./chunk-63swek9d.js";import"./chunk-9a8838dc.js";import"./chunk-mcwfmqzb.js";import"./chunk-8gbewxns.js";import"./chunk-5hwp0frq.js";import"./chunk-nm9h5rye.js";import"./chunk-vsj8ns4p.js";import"./chunk-ryz8etwk.js";import"./chunk-p601xr03.js";import"./chunk-zehw6yk8.js";import"./chunk-e8505qz8.js";import"./chunk-ag4fy7cx.js";import"./chunk-s735m9mg.js";import"./chunk-aazd6qpv.js";import{eb as C}from"./chunk-xhznkfad.js";import"./chunk-23thftnv.js";import"./chunk-4qzb8g3z.js";import{parseOptions as G}from"@stacksjs/cli";import{app as H}from"@stacksjs/config";import{Action as q}from"@stacksjs/enums";import{log as E}from"@stacksjs/logging";import{projectPath as I}from"@stacksjs/path";var J=G()??{},z={};for(let[B,F]of Object.entries(J)){if(B==="--"||B==="_")continue;z[B]=F}var K=z.dryRun===!0||z.dryRun==="true",L=K?[q.GenerateLibraryEntries,q.Bump]:[q.GenerateLibraryEntries,q.LintFix,q.Bump],x=await C(L,{cwd:I(),...z});if(x&&x.isErr)E.error(`Release failed: ${x.error?.message??String(x.error)}`),process.exit(1);E.success(`Successfully released ${H.name}`);
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{db as o}from"./chunk-rzhs51h1.js";import"./chunk-4qzb8g3z.js";export{o as runAction};
2
+ import{db as o}from"./chunk-xhznkfad.js";import"./chunk-4qzb8g3z.js";export{o as runAction};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{B as a,C as b}from"./chunk-x8nrbsk1.js";import"./chunk-rj1cbghx.js";import"./chunk-mcwfmqzb.js";import"./chunk-s735m9mg.js";import"./chunk-rzhs51h1.js";import"./chunk-4qzb8g3z.js";export{b as scaffoldCrud,a as parseFields};
2
+ import{B as a,C as b}from"./chunk-az3bb5fg.js";import"./chunk-9a8838dc.js";import"./chunk-mcwfmqzb.js";import"./chunk-s735m9mg.js";import"./chunk-xhznkfad.js";import"./chunk-4qzb8g3z.js";export{b as scaffoldCrud,a as parseFields};
package/dist/serve/api.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import b from"process";import{config as E}from"@stacksjs/config";import{log as x}from"@stacksjs/logging";import{frameworkPath as F}from"@stacksjs/path";import{route as z}from"@stacksjs/router";var H=b.env.APP_ENV==="production"||b.env.NODE_ENV==="production",A=Number(b.env.PORT)||E.ports?.api||3008,B=b.env.HOST||(H?"0.0.0.0":"127.0.0.1");x.info("[Stacks API] Starting server...");x.info(`[Stacks API] Environment: ${b.env.APP_ENV||"development"}`);var J=await import(F("defaults/app/Middleware/Cors.ts")),N=J.default;z.use(N.toRouterHandler());await z.importRoutes();var O=["production","staging","development"].includes((b.env.APP_ENV||"").toLowerCase()),Q=await z.serve({port:A,hostname:B,reusePort:O});b.on("SIGTERM",()=>{let C=Number(b.env.SHUTDOWN_GRACE_MS)||15000;setTimeout(()=>b.exit(0),C).unref(),Promise.resolve(Q?.stop()).then(()=>b.exit(0))});x.info(`[Stacks API] Server running at http://${B}:${A}`);
2
+ import{existsSync as O}from"fs";import{dirname as Q,join as R}from"path";import b from"process";import{config as T}from"@stacksjs/config";import{log as B}from"@stacksjs/logging";import{frameworkPath as U}from"@stacksjs/path";import{route as C}from"@stacksjs/router";function V(z){let A=U(`defaults/${z}`);if(O(A))return A;try{let N=Bun.resolveSync("@stacksjs/defaults/package.json",b.cwd());return R(Q(N),z)}catch{return A}}var W=b.env.APP_ENV==="production"||b.env.NODE_ENV==="production",E=Number(b.env.PORT)||T.ports?.api||3008,H=b.env.HOST||(W?"0.0.0.0":"127.0.0.1");B.info("[Stacks API] Starting server...");B.info(`[Stacks API] Environment: ${b.env.APP_ENV||"development"}`);var X=await import(V("app/Middleware/Cors.ts")),Y=X.default;C.use(Y.toRouterHandler());await C.importRoutes();var Z=["production","staging","development"].includes((b.env.APP_ENV||"").toLowerCase()),_=await C.serve({port:E,hostname:H,reusePort:Z});b.on("SIGTERM",()=>{let z=Number(b.env.SHUTDOWN_GRACE_MS)||15000;setTimeout(()=>b.exit(0),z).unref(),Promise.resolve(_?.stop()).then(()=>b.exit(0))});B.info(`[Stacks API] Server running at http://${H}:${E}`);
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import"../chunk-s735m9mg.js";import{db as r}from"../chunk-rzhs51h1.js";import"../chunk-4qzb8g3z.js";import e from"process";import{parseArgs as o}from"@stacksjs/cli";import{Action as i}from"@stacksjs/enums";import{ExitCode as t}from"@stacksjs/types";var a=o();if(a?.framework||a?.all)await r(i.UpgradeFramework,a);if(a?.dependencies||a?.all)await r(i.UpgradeDeps,a);if(a?.bun||a?.all)await r(i.UpgradeBun,a);if(a?.shell||a?.all)await r(i.UpgradeShell,a);if(a?.binary||a?.all)await r(i.UpgradeBinary,a);e.exit(t.Success);
2
+ import"../chunk-s735m9mg.js";import{db as r}from"../chunk-xhznkfad.js";import"../chunk-4qzb8g3z.js";import e from"process";import{parseArgs as o}from"@stacksjs/cli";import{Action as i}from"@stacksjs/enums";import{ExitCode as t}from"@stacksjs/types";var a=o();if(a?.framework||a?.all)await r(i.UpgradeFramework,a);if(a?.dependencies||a?.all)await r(i.UpgradeDeps,a);if(a?.bun||a?.all)await r(i.UpgradeBun,a);if(a?.shell||a?.all)await r(i.UpgradeShell,a);if(a?.binary||a?.all)await r(i.UpgradeBinary,a);e.exit(t.Success);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/actions",
3
3
  "type": "module",
4
- "version": "0.70.58",
4
+ "version": "0.70.60",
5
5
  "description": "The Stacks actions.",
6
6
  "author": "Chris Breuer",
7
7
  "contributors": [
@@ -65,22 +65,22 @@
65
65
  "@stacksjs/ts-md": "^0.1.1"
66
66
  },
67
67
  "devDependencies": {
68
- "@stacksjs/api": "0.70.58",
69
- "@stacksjs/cli": "0.70.58",
70
- "@stacksjs/config": "0.70.58",
71
- "@stacksjs/database": "0.70.58",
68
+ "@stacksjs/api": "0.70.60",
69
+ "@stacksjs/cli": "0.70.60",
70
+ "@stacksjs/config": "0.70.60",
71
+ "@stacksjs/database": "0.70.60",
72
72
  "@stacksjs/tlsx": "^0.13.2",
73
73
  "better-dx": "^0.2.12",
74
- "@stacksjs/dns": "0.70.58",
75
- "@stacksjs/enums": "0.70.58",
76
- "@stacksjs/env": "0.70.58",
77
- "@stacksjs/error-handling": "0.70.58",
78
- "@stacksjs/logging": "0.70.58",
79
- "@stacksjs/path": "0.70.58",
80
- "@stacksjs/security": "0.70.58",
81
- "@stacksjs/storage": "0.70.58",
82
- "@stacksjs/strings": "0.70.58",
83
- "@stacksjs/utils": "0.70.58",
84
- "@stacksjs/validation": "0.70.58"
74
+ "@stacksjs/dns": "0.70.60",
75
+ "@stacksjs/enums": "0.70.60",
76
+ "@stacksjs/env": "0.70.60",
77
+ "@stacksjs/error-handling": "0.70.60",
78
+ "@stacksjs/logging": "0.70.60",
79
+ "@stacksjs/path": "0.70.60",
80
+ "@stacksjs/security": "0.70.60",
81
+ "@stacksjs/storage": "0.70.60",
82
+ "@stacksjs/strings": "0.70.60",
83
+ "@stacksjs/utils": "0.70.60",
84
+ "@stacksjs/validation": "0.70.60"
85
85
  }
86
86
  }
@@ -1,3 +0,0 @@
1
- // @bun
2
- import{ob as j,pb as D}from"./chunk-4qzb8g3z.js";var k={};j(k,{runActions:()=>A,runAction:()=>v,hasAction:()=>R});import{existsSync as W}from"fs";import T from"process";import{buddyOptions as I,runCommand as F,runCommands as N}from"@stacksjs/cli";import{err as X}from"@stacksjs/error-handling";import{log as V}from"@stacksjs/logging";import*as B from"@stacksjs/path";async function x(q){let z=[];z.push(B.actionsPath(`src/${q}.ts`));try{let H=import.meta.resolve("@stacksjs/actions/package.json");if(H){let J=new URL(H).pathname,G=J.slice(0,J.lastIndexOf("/"));z.push(`${G}/dist/src/${q}.js`),z.push(`${G}/src/${q}.ts`)}}catch{}for(let H of z)if(await Bun.file(H).exists())return H;return null}async function v(q,z){if(V.debug(`[action] Running: ${q}`),q==="dev/views")try{let K=B.projectPath("pantry");if(!T.env.NODE_PATH?.includes(K))T.env.NODE_PATH=T.env.NODE_PATH?`${K}:${T.env.NODE_PATH}`:K,D("module").Module._initPaths?.();let Z=[B.projectPath("storage/framework/core/actions/src/dev/views.ts"),B.frameworkPath("actions/src/dev/views.ts")];for(let Q of Z)if(W(Q))return await import(Q),{ok:!0,value:{}};return X("dev/views entry not found")}catch(K){return X(`Failed to start dev server: ${K}`)}if(!(q.includes("/")||["dev","build","install","upgrade","migrate"].some((K)=>q.startsWith(K)))){let K=new Bun.Glob("**/*.{ts,js}"),Z={cwd:B.userActionsPath(),onlyFiles:!0,absolute:!0},Q=[],b=B.userActionsPath();for await(let L of K.scan(Z)){if(L.replace(`${b}/`,"").replace(/\.(ts|js)$/,"")===q||L.endsWith(`${q}.ts`)||L.endsWith(`${q}.js`))return V.debug(`[action] Resolved: ${q} \u2192 ${L}`),await(await import(L)).default.handle(void 0);Q.push(L)}for(let L of Q)try{let Y=await import(L);if(Y.name===q)return V.debug(`[action] Resolved: ${q} \u2192 ${L}`),await Y.handle()}catch(Y){}}let J=await x(q);if(!J)return X(`Action '${q}' not found in storage/framework/core/actions/src or @stacksjs/actions`);V.debug(`[action] Resolved: ${q} \u2192 ${J}`);let G=q.startsWith("dev/"),M=G?"--watch":"",S=G?"":I(z)||"",U=`bun ${M} ${J} ${S}`.trimEnd(),_=B.projectPath("pantry"),$=T.env.NODE_PATH,w=$?`${_}:${$}`:_,E=z?.verbose||G&&!z?.quiet,C={cwd:z?.cwd||B.projectPath(),...z,stdout:E?"inherit":void 0,stderr:E?"inherit":void 0,env:{...z?.env,NODE_PATH:w,...G?{STACKS_DEV_SERVER:"1"}:{}}},O=await F(U,C);return V.debug(`[action] Completed: ${q}`),O}async function A(q,z){if(!q.length)return X("No actions were specified");for(let M of q)if(!R(M))return X(`The specified action "${M}" does not exist`);let H=I(z)||"",J={cwd:z?.cwd||B.projectPath(),...z},G=q.map((M)=>`bun ${B.relativeActionsPath(`src/${M}.ts`)} ${H}`);return await N(G,J)}function R(q){let z=[`${q}.ts`,`${q}`,`Dashboard/${q}.ts`,`Dashboard/${q}`,`Buddy/${q}.ts`,`Buddy/${q}`],H=[`src/${q}.ts`,`src/${q}`,`${q}.ts`,`${q}`];return[...z.map((G)=>B.userActionsPath(G)),...H.map((G)=>B.actionsPath(G))].some((G)=>W(G))}
3
- export{v as db,A as eb,R as fb,k as gb};