@forinda/kickjs-cli 6.12.1 → 6.13.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.
- package/dist/{agent-docs-DA2Iw4-x.mjs → agent-docs--YHAWIIm.mjs} +3 -3
- package/dist/{agent-docs-DA2Iw4-x.mjs.map → agent-docs--YHAWIIm.mjs.map} +1 -1
- package/dist/{agent-docs-D0e0mOAm.mjs → agent-docs-0yI3L1Ky.mjs} +2 -2
- package/dist/{build-Dch8tya3.mjs → build-BqNUj7A_.mjs} +3 -3
- package/dist/{build-Dch8tya3.mjs.map → build-BqNUj7A_.mjs.map} +1 -1
- package/dist/{build-CzMO_RDI.mjs → build-CcS6daf-.mjs} +2 -2
- package/dist/{builtins-D-16bo8t.mjs → builtins-C1OmkSrd.mjs} +35 -14
- package/dist/{builtins-3wdDp2ms.mjs → builtins-q3q1QLLh.mjs} +2 -2
- package/dist/cli.mjs +2 -2
- package/dist/{config-JMmjCL3J.mjs → config-CaJIat9M.mjs} +3 -3
- package/dist/{config-JMmjCL3J.mjs.map → config-CaJIat9M.mjs.map} +1 -1
- package/dist/{config-Dfe58WNn.mjs → config-D35jG3kj.mjs} +2 -2
- package/dist/{doctor-CrS2RaJU.mjs → doctor-9yPpCaR7.mjs} +16 -9
- package/dist/doctor-9yPpCaR7.mjs.map +1 -0
- package/dist/{fullstack-7OPvGidl.mjs → fullstack-BDHCqNm_.mjs} +4 -4
- package/dist/{fullstack-7OPvGidl.mjs.map → fullstack-BDHCqNm_.mjs.map} +1 -1
- package/dist/{fullstack-Bz0vT69M.mjs → fullstack-CvfO1yD9.mjs} +3 -3
- package/dist/index.mjs +2 -2
- package/dist/{plugin-BBQnnS3w.mjs → plugin-BvgITdge.mjs} +2 -2
- package/dist/{plugin-BkZ2DDfy.mjs → plugin-nMxvR1Lr.mjs} +3 -3
- package/dist/{plugin-BkZ2DDfy.mjs.map → plugin-nMxvR1Lr.mjs.map} +1 -1
- package/dist/{project-yTQHs87D.mjs → project-BYH9LnTe.mjs} +26 -19
- package/dist/project-BYH9LnTe.mjs.map +1 -0
- package/dist/{project-DJWJQVv8.mjs → project-dE-amvpe.mjs} +24 -17
- package/dist/{project-docs-EG0IL-2C.mjs → project-docs-0gAWhIiP.mjs} +89 -233
- package/dist/project-docs-0gAWhIiP.mjs.map +1 -0
- package/dist/{project-docs--fpUMHCA.mjs → project-docs-DHgCC8-a.mjs} +88 -232
- package/dist/{project-root-BjcNKs61.mjs → project-root-BLGs_jD5.mjs} +2 -2
- package/dist/{project-root-DoCJMm4-.mjs → project-root-a9w4DpIE.mjs} +3 -3
- package/dist/{project-root-DoCJMm4-.mjs.map → project-root-a9w4DpIE.mjs.map} +1 -1
- package/dist/{prompts-ZYP6tl3M.mjs → prompts-CxksOWrb.mjs} +2 -2
- package/dist/{prompts-ZYP6tl3M.mjs.map → prompts-CxksOWrb.mjs.map} +1 -1
- package/dist/{rolldown-runtime-BzeyHBPb.mjs → rolldown-runtime-_yCKTnUY.mjs} +1 -1
- package/dist/{run-plugins-Dvj0O0O8.mjs → run-plugins-BweCMpF_.mjs} +23 -9
- package/dist/run-plugins-BweCMpF_.mjs.map +1 -0
- package/dist/{typegen-Cs46KTaI.mjs → typegen-CqY0NnhZ.mjs} +5 -5
- package/dist/{typegen-Cs46KTaI.mjs.map → typegen-CqY0NnhZ.mjs.map} +1 -1
- package/dist/{typegen-Bw-wYIo7.mjs → typegen-kJNiIRAS.mjs} +4 -4
- package/dist/{types-CH99zNBl.mjs → types-DZBP-FTX.mjs} +1 -1
- package/package.json +2 -2
- package/dist/doctor-CrS2RaJU.mjs.map +0 -1
- package/dist/project-docs-EG0IL-2C.mjs.map +0 -1
- package/dist/project-yTQHs87D.mjs.map +0 -1
- package/dist/run-plugins-Dvj0O0O8.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @forinda/kickjs-cli v6.
|
|
2
|
+
* @forinda/kickjs-cli v6.13.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Felix Orinda
|
|
5
5
|
*
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
|
-
import{r as e,t}from"./config-
|
|
12
|
-
import {
|
|
11
|
+
import{r as e,t}from"./config-D35jG3kj.mjs";import{l as n,o as r}from"./project-docs-DHgCC8-a.mjs";import{existsSync as i,readFileSync as a}from"node:fs";import{dirname as o,join as s,resolve as c}from"node:path";import{fileURLToPath as l}from"node:url";import{execFileSync as u,execSync as d,spawnSync as f}from"node:child_process";const p=/[&|<>^"'`(){}[\];!%\r\n\\]/;function m(e,t,n=process.platform){if(n!==`win32`)return[e,t];if(p.test(e)||t.some(e=>p.test(e)))return null;let r=[e,...t].map(e=>e.includes(` `)?`"${e}"`:e).join(` `);return[process.env.ComSpec||`cmd.exe`,[`/d`,`/s`,`/c`,r]]}function h(e,t,n={}){let r=m(e,t);if(!r)return null;try{return u(r[0],r[1],{encoding:`utf-8`,timeout:n.timeout??5e3,cwd:n.cwd,stdio:[`ignore`,`pipe`,`ignore`],windowsHide:!0}).toString().trim()||null}catch{return null}}function g(e,t,n={}){let r=m(e,t);if(!r)throw Error(`Refusing to run '${e}': unsafe arguments`);u(r[0],r[1],{cwd:n.cwd,stdio:`inherit`,windowsHide:!0})}function _(e,t,n){d(e,{cwd:t,stdio:`inherit`,env:n?{...process.env,...n}:process.env})}function v(e,t,n){let r=f(process.execPath,[e],{cwd:n,stdio:`inherit`,env:{...process.env,...t}});r.status!==0&&process.exit(r.status??1)}const y={swagger:`@forinda/kickjs-swagger`,ws:`@forinda/kickjs-ws`,queue:`@forinda/kickjs-queue`,devtools:`@forinda/kickjs-devtools`},b={zod:{name:`zod`,range:`^4.3.6`},valibot:{name:`valibot`,range:`^1.4.1`},yup:{name:`yup`,range:`^1.7.1`}};function x(e,t){let n=e[t];if(!n)throw Error(`generatePackageJson: missing resolved version for ${t}. Add it to SIBLING_PACKAGES in generators/project.ts.`);return n}function S(e,t,n,r=[],i=`zod`,a=`express`){let o=b[i],s={"@forinda/kickjs":x(n,`@forinda/kickjs`),"@forinda/kickjs-schema":x(n,`@forinda/kickjs-schema`),dotenv:`^17.3.1`,"reflect-metadata":`^0.2.2`,[o.name]:o.range};a===`express`?s.express=`^5.1.0`:a===`fastify`?(s.fastify=`^5.0.0`,s[`@fastify/middie`]=`^9.0.0`,s[`serve-static`]=`^2.2.0`):a===`h3`&&(s.h3=`^1.0.0`,s[`serve-static`]=`^2.2.0`);for(let e of r){let t=y[e];t&&!s[t]&&(s[t]=x(n,t))}return JSON.stringify({name:e,version:`0.0.0`,type:`module`,scripts:{dev:`kick dev`,"dev:debug":`kick dev:debug`,build:`kick build`,start:`kick start`,test:`vitest run`,"test:watch":`vitest`,typecheck:`tsc --noEmit`,typegen:`kick typegen`,lint:`eslint src/`,format:`prettier --write src/`},dependencies:s,devDependencies:{"@forinda/kickjs-cli":x(n,`@forinda/kickjs-cli`),"@forinda/kickjs-testing":x(n,`@forinda/kickjs-testing`),"@forinda/kickjs-vite":x(n,`@forinda/kickjs-vite`),"@types/supertest":`^7.2.1`,"@swc/core":`^1.15.21`,...a===`express`?{"@types/express":`^5.0.6`}:{},"@types/node":`^25.0.0`,"unplugin-swc":`^1.5.9`,vite:`^8.0.3`,supertest:`^7.2.2`,vitest:`^4.1.2`,typescript:`^7.0.2`,prettier:`^3.8.1`}},null,2)}function ee(){return`import { defineConfig } from 'vite'
|
|
12
|
+
import { fileURLToPath } from 'node:url'
|
|
13
13
|
import swc from 'unplugin-swc'
|
|
14
14
|
import { kickjsVitePlugin, envWatchPlugin } from '@forinda/kickjs-vite'
|
|
15
15
|
|
|
@@ -24,7 +24,7 @@ export default defineConfig({
|
|
|
24
24
|
],
|
|
25
25
|
resolve: {
|
|
26
26
|
alias: {
|
|
27
|
-
'@':
|
|
27
|
+
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
|
28
28
|
},
|
|
29
29
|
},
|
|
30
30
|
build: {
|
|
@@ -33,7 +33,7 @@ export default defineConfig({
|
|
|
33
33
|
outDir: 'dist',
|
|
34
34
|
sourcemap: true,
|
|
35
35
|
rollupOptions: {
|
|
36
|
-
input:
|
|
36
|
+
input: fileURLToPath(new URL('./src/index.ts', import.meta.url)),
|
|
37
37
|
output: { format: 'esm' },
|
|
38
38
|
},
|
|
39
39
|
},
|
|
@@ -93,17 +93,24 @@ NODE_ENV=development
|
|
|
93
93
|
NODE_ENV=test
|
|
94
94
|
PORT=0
|
|
95
95
|
LOG_LEVEL=silent
|
|
96
|
-
`}function D(){return`import { defineConfig } from 'vitest/config'
|
|
97
|
-
import
|
|
96
|
+
`}function D(){return`import { defineConfig, mergeConfig } from 'vitest/config'
|
|
97
|
+
import viteConfig from './vite.config.ts'
|
|
98
98
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
99
|
+
// A \`vitest.config.ts\` OVERRIDES \`vite.config.ts\` outright — vitest does not
|
|
100
|
+
// merge the two, and it never reads tsconfig \`paths\`. Restating settings here
|
|
101
|
+
// would mean the \`@\` alias lives in three files and drifts in two of them, so
|
|
102
|
+
// merge the real config instead: the alias, plugins, and ssr externals all come
|
|
103
|
+
// from one place.
|
|
104
|
+
export default mergeConfig(
|
|
105
|
+
viteConfig,
|
|
106
|
+
defineConfig({
|
|
107
|
+
test: {
|
|
108
|
+
globals: true,
|
|
109
|
+
environment: 'node',
|
|
110
|
+
include: ['src/**/*.test.ts'],
|
|
111
|
+
},
|
|
112
|
+
}),
|
|
113
|
+
)
|
|
107
114
|
`}const O={express:{from:`@forinda/kickjs`,name:`expressRuntime`},fastify:{from:`@forinda/kickjs/fastify`,name:`fastifyRuntime`},h3:{from:`@forinda/kickjs/h3`,name:`h3Runtime`}};function k(e,t,n,r=[],i=`express`,a){let o=O[i],s=i===`express`;switch(t){case`minimal`:{let t=[],i=[],c=s?`import { bootstrap, ${o.name} } from '@forinda/kickjs'`:`import { bootstrap } from '@forinda/kickjs'\nimport { ${o.name} } from '${o.from}'`;r.includes(`swagger`)&&(t.push(`import { SwaggerAdapter } from '@forinda/kickjs-swagger'`),i.push(` SwaggerAdapter({ info: { title: '${e}', version: '${n}' } }),`)),r.includes(`devtools`)&&(t.push(`import { DevToolsAdapter } from '@forinda/kickjs-devtools'`),i.push(` DevToolsAdapter(),`)),a&&(t.push(`import { SpaAdapter } from '@forinda/kickjs/spa'`),i.push(` // Serves the built frontend from this origin in production.
|
|
108
115
|
// Inert until the client build exists, so \`kick dev\` (where Vite
|
|
109
116
|
// serves the client and proxies /api here) is unaffected.
|
|
@@ -400,6 +407,6 @@ export default defineConfig({
|
|
|
400
407
|
`);for(let e of i)console.log(a(e))}else console.log(`\n Plus ${i.length} optional packages (auth, swagger, db, queue, …).`),console.log(" Run `kick add --list --all` for the full catalog.");console.log(`
|
|
401
408
|
Usage: kick add ai db swagger`),console.log(` kick add queue:bullmq`),console.log(` kick add upload # installs the multipart driver for your runtime`),console.log()}function q(e,t,n=`express`){let r=new Set,i=new Set,a=[],o=[],s=[];for(let c of e){if(c===`upload`){let e=R[n];s.push(`upload (${n}): ${e.note}`),e.prod&&(t?i:r).add(e.prod),e.dev&&i.add(e.dev);continue}let e=I[c];if(!e){a.push(c);continue}e.deprecated&&o.push(`'${c}' (${e.pkg}) is deprecated — ${e.deprecated}`);let l=t||e.dev?i:r;l.add(e.pkg);for(let t of e.peers)l.add(t)}return{prodDeps:[...r],devDeps:[...i],unknown:a,warnings:o,notices:s}}function J(e){e.command(`list`).alias(`ls`).description(`List KickJS packages (core only; pair with --all for the full catalog)`).option(`--all`,`Include the full optional catalog`).action(e=>{K(!!e.all)})}function Y(e){e.command(`add [packages...]`).description(`Add KickJS packages with their required dependencies`).option(`--pm <manager>`,`Package manager override`).option(`-D, --dev`,`Install as dev dependency`).option(`--list`,`List packages (core only by default; pair with --all)`).option(`--all`,`When listing, include the full optional catalog`).action(async(e,t)=>{if(t.list||e.length===0){K(!!t.all);return}let{pm:n,source:r}=await W(t.pm);console.log(`\n Using ${n} (resolved from ${r})`);let i=await z(process.cwd()),{prodDeps:a,devDeps:o,unknown:s,warnings:c,notices:l}=q(e,!!t.dev,i);for(let e of c)console.warn(`\n WARNING: ${e}`);for(let e of l)console.log(`\n ${e}`);if(!(s.length>0&&(console.log(`\n Unknown packages: ${s.join(`, `)}`),console.log(` Run "kick add --list" to see available packages.
|
|
402
409
|
`),a.length===0&&o.length===0))){if(a.length>0){let e=a,t=`${n} add ${e.join(` `)}`;console.log(`\n Installing ${e.length} dependency(ies):`);for(let t of e)console.log(` + ${t}`);console.log();try{d(t,{stdio:`inherit`})}catch{console.log(`\n Installation failed. Run manually:\n ${t}\n`)}}if(o.length>0){let e=o,t=`${n} add -D ${e.join(` `)}`;console.log(`\n Installing ${e.length} dev dependency(ies):`);for(let t of e)console.log(` + ${t} (dev)`);console.log();try{d(t,{stdio:`inherit`})}catch{console.log(`\n Installation failed. Run manually:\n ${t}\n`)}}console.log(` Done!
|
|
403
|
-
`)}})}const ae=o(l(import.meta.url)),X=JSON.parse(a(s(ae,`..`,`package.json`),`utf-8`)),oe=`^${X.version}`,se=[`@forinda/kickjs`,`@forinda/kickjs-cli`,`@forinda/kickjs-schema`,`@forinda/kickjs-vite`,`@forinda/kickjs-swagger`,`@forinda/kickjs-ws`,`@forinda/kickjs-queue`,`@forinda/kickjs-devtools`,`@forinda/kickjs-testing`,`@forinda/kickjs-client`];async function Z(){let e=await Promise.all(se.map(async e=>{let t=h(`npm`,[`view`,e,`version`]);return t&&/^\d+\.\d+\.\d+/.test(t)?[e,`^${t}`]:[e,oe]}));return Object.fromEntries(e)}function ce(e,t){let n=h(`npm`,[`view`,`${e}@${t}`,`version`]);return n&&/^\d+\.\d+\.\d+/.test(n)?n:null}function Q(e){return(e??``).replace(/^[\^~>=<\s]+/,``)}function le(e,t){let n=e=>Q(e).split(`-`)[0].split(`.`).map(e=>Number.parseInt(e,10)||0),[r=0,i=0,a=0]=n(e),[o=0,s=0,c=0]=n(t);return r===o?i===s?a>=c:i>s:r>o}function $(e,t,n){let r=h(`npm`,[`view`,`${e}@${t}`,`exports`,`--json`]);if(!r)return!1;try{let e=JSON.parse(r);return Object.prototype.hasOwnProperty.call(e,n)}catch{return!1}}async function ue(e){let{name:t,directory:i,packageManager:a=`pnpm`,template:o=`rest`,defaultRepo:c=`inmemory`,packages:l=[],schemaLib:u=`zod`,runtime:f=`express`}=e,p=i,m=e=>console.log(` ${e}`);console.log(`\n Creating KickJS project: ${t}\n`),m(`Resolving package versions...`);let h=await Z();if(f!==`express`)if($(`@forinda/kickjs`,`latest`,`./${f}`))m(`Using @forinda/kickjs@latest (stable ships the ${f} runtime)`);else{let e=[`@forinda/kickjs`,`@forinda/kickjs-cli`,`@forinda/kickjs-vite`],t=[],n=!1;for(let r of e){let e=ce(r,`alpha`);e&&le(e,Q(h[r]))&&(h[r]=`^${e}`,t.push(`${r}@^${e}`),r===`@forinda/kickjs`&&(n=!0))}m(n?`Using the alpha channel for the ${f} runtime: ${t.join(`, `)}`:`WARNING: could not resolve @forinda/kickjs@alpha — the ${f} runtime subpath may be missing. After install, run: ${a} add @forinda/kickjs@alpha`)}await n(s(p,`package.json`),S(t,o,h,l,u,f)),await n(s(p,`vite.config.ts`),ee()),await n(s(p,`tsconfig.json`),C()),await n(s(p,`.prettierrc`),w()),await n(s(p,`.editorconfig`),te()),await n(s(p,`.gitignore`),ne()),await n(s(p,`.gitattributes`),re()),await n(s(p,`.env`),ie()),await n(s(p,`.env.example`),T()),await n(s(p,`.env.test`),E()),await n(s(p,`src/config/index.ts`),j(u)),await n(s(p,`src/index.ts`),k(t,o,X.version,l,f,e.spaClientDir)),await n(s(p,`src/modules/index.ts`),A()),await n(s(p,`src/modules/hello/hello.service.ts`),M()),await n(s(p,`src/modules/hello/hello.controller.ts`),N()),await n(s(p,`src/modules/hello/hello.module.ts`),P()),await n(s(p,`kick.config.ts`),F(o,c,a,f)),await n(s(p,`vitest.config.ts`),D()),await n(s(p,`README.md`),r(t,o,a));let{generateAgentDocs:g}=await import(`./agent-docs-
|
|
404
|
-
Dependencies installed successfully!`)}catch{console.log(`\n Warning: ${a} install failed. Run it manually.`)}}try{let{runTypegen:e}=await import(`./typegen-
|
|
410
|
+
`)}})}const ae=o(l(import.meta.url)),X=JSON.parse(a(s(ae,`..`,`package.json`),`utf-8`)),oe=`^${X.version}`,se=[`@forinda/kickjs`,`@forinda/kickjs-cli`,`@forinda/kickjs-schema`,`@forinda/kickjs-vite`,`@forinda/kickjs-swagger`,`@forinda/kickjs-ws`,`@forinda/kickjs-queue`,`@forinda/kickjs-devtools`,`@forinda/kickjs-testing`,`@forinda/kickjs-client`];async function Z(){let e=await Promise.all(se.map(async e=>{let t=h(`npm`,[`view`,e,`version`]);return t&&/^\d+\.\d+\.\d+/.test(t)?[e,`^${t}`]:[e,oe]}));return Object.fromEntries(e)}function ce(e,t){let n=h(`npm`,[`view`,`${e}@${t}`,`version`]);return n&&/^\d+\.\d+\.\d+/.test(n)?n:null}function Q(e){return(e??``).replace(/^[\^~>=<\s]+/,``)}function le(e,t){let n=e=>Q(e).split(`-`)[0].split(`.`).map(e=>Number.parseInt(e,10)||0),[r=0,i=0,a=0]=n(e),[o=0,s=0,c=0]=n(t);return r===o?i===s?a>=c:i>s:r>o}function $(e,t,n){let r=h(`npm`,[`view`,`${e}@${t}`,`exports`,`--json`]);if(!r)return!1;try{let e=JSON.parse(r);return Object.prototype.hasOwnProperty.call(e,n)}catch{return!1}}async function ue(e){let{name:t,directory:i,packageManager:a=`pnpm`,template:o=`rest`,defaultRepo:c=`inmemory`,packages:l=[],schemaLib:u=`zod`,runtime:f=`express`}=e,p=i,m=e=>console.log(` ${e}`);console.log(`\n Creating KickJS project: ${t}\n`),m(`Resolving package versions...`);let h=await Z();if(f!==`express`)if($(`@forinda/kickjs`,`latest`,`./${f}`))m(`Using @forinda/kickjs@latest (stable ships the ${f} runtime)`);else{let e=[`@forinda/kickjs`,`@forinda/kickjs-cli`,`@forinda/kickjs-vite`],t=[],n=!1;for(let r of e){let e=ce(r,`alpha`);e&&le(e,Q(h[r]))&&(h[r]=`^${e}`,t.push(`${r}@^${e}`),r===`@forinda/kickjs`&&(n=!0))}m(n?`Using the alpha channel for the ${f} runtime: ${t.join(`, `)}`:`WARNING: could not resolve @forinda/kickjs@alpha — the ${f} runtime subpath may be missing. After install, run: ${a} add @forinda/kickjs@alpha`)}await n(s(p,`package.json`),S(t,o,h,l,u,f)),await n(s(p,`vite.config.ts`),ee()),await n(s(p,`tsconfig.json`),C()),await n(s(p,`.prettierrc`),w()),await n(s(p,`.editorconfig`),te()),await n(s(p,`.gitignore`),ne()),await n(s(p,`.gitattributes`),re()),await n(s(p,`.env`),ie()),await n(s(p,`.env.example`),T()),await n(s(p,`.env.test`),E()),await n(s(p,`src/config/index.ts`),j(u)),await n(s(p,`src/index.ts`),k(t,o,X.version,l,f,e.spaClientDir)),await n(s(p,`src/modules/index.ts`),A()),await n(s(p,`src/modules/hello/hello.service.ts`),M()),await n(s(p,`src/modules/hello/hello.controller.ts`),N()),await n(s(p,`src/modules/hello/hello.module.ts`),P()),await n(s(p,`kick.config.ts`),F(o,c,a,f)),await n(s(p,`vitest.config.ts`),D()),await n(s(p,`README.md`),r(t,o,a));let{generateAgentDocs:g}=await import(`./agent-docs-0yI3L1Ky.mjs`).then(e=>e.t);if(await g({outDir:p,name:t,pm:a,template:o,only:`all`,force:!0}),e.installDeps){console.log(`\n Installing dependencies with ${a}...\n`);try{d(`${a} install`,{cwd:p,stdio:`inherit`}),console.log(`
|
|
411
|
+
Dependencies installed successfully!`)}catch{console.log(`\n Warning: ${a} install failed. Run it manually.`)}}try{let{runTypegen:e}=await import(`./typegen-kJNiIRAS.mjs`).then(e=>e.n);await e({cwd:p,allowDuplicates:!0,silent:!0})}catch{}if(e.initGit)try{d(`git init`,{cwd:p,stdio:`pipe`}),d(`git branch -M main`,{cwd:p,stdio:`pipe`}),d(`git add -A`,{cwd:p,stdio:`pipe`}),d(`git commit -m "chore: initial commit from kick new"`,{cwd:p,stdio:`pipe`}),m(`Git repository initialized`)}catch{m(`Warning: git init failed (git may not be installed)`)}console.log(`
|
|
405
412
|
Project scaffolded successfully!`),console.log();let _=p!==process.cwd();m(`Next steps:`),_&&m(` cd ${t}`),e.installDeps||m(` ${a} install`);let v={rest:`kick g module user`,ddd:`kick g module user --repo drizzle`,cqrs:`kick g module user --pattern cqrs`,minimal:`# add your routes to src/index.ts`};m(` ${v[o]??v.rest}`),m(` kick dev`),m(``),m(`Commands:`),m(` kick dev Start dev server with Vite HMR`),m(` kick build Production build via Vite`),m(` kick start Run production build`),m(``),m(`Generators:`),m(` kick g module <name> Full DDD module (controller, DTOs, use-cases, repo)`),m(` kick g scaffold <n> <f..> CRUD module from field definitions`),m(` kick g controller <name> Standalone controller`),m(` kick g service <name> @Service() class`),m(` kick g middleware <name> Express middleware`),m(` kick g guard <name> Route guard (auth, roles, etc.)`),m(` kick g adapter <name> AppAdapter with lifecycle hooks`),m(` kick g dto <name> Zod DTO schema`),m(` kick g config Generate kick.config.ts`),m(``),m(`Add packages:`),m(` kick add <pkg> Install a KickJS package + peers`),m(` kick add --list Show all available packages`),m(``),m(`Available: ${L}`),m(``)}export{Y as a,G as c,_ as d,R as i,g as l,Z as n,J as o,I as r,z as s,ue as t,v as u};
|