@forinda/kickjs-cli 1.3.2 → 1.4.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/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1195 -2392
- package/dist/commands/add.d.ts +5 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/custom.d.ts +56 -0
- package/dist/commands/custom.d.ts.map +1 -0
- package/dist/commands/generate.d.ts +3 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/info.d.ts +3 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/inspect.d.ts +3 -0
- package/dist/commands/inspect.d.ts.map +1 -0
- package/dist/commands/remove.d.ts +3 -0
- package/dist/commands/remove.d.ts.map +1 -0
- package/dist/commands/run.d.ts +3 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/tinker.d.ts +3 -0
- package/dist/commands/tinker.d.ts.map +1 -0
- package/dist/config-11ag0rJc.js +3097 -0
- package/dist/config.d.ts +131 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/generators/adapter.d.ts +7 -0
- package/dist/generators/adapter.d.ts.map +1 -0
- package/dist/generators/config.d.ts +9 -0
- package/dist/generators/config.d.ts.map +1 -0
- package/dist/generators/controller.d.ts +11 -0
- package/dist/generators/controller.d.ts.map +1 -0
- package/dist/generators/dto.d.ts +11 -0
- package/dist/generators/dto.d.ts.map +1 -0
- package/dist/generators/guard.d.ts +11 -0
- package/dist/generators/guard.d.ts.map +1 -0
- package/dist/generators/job.d.ts +8 -0
- package/dist/generators/job.d.ts.map +1 -0
- package/dist/generators/middleware.d.ts +11 -0
- package/dist/generators/middleware.d.ts.map +1 -0
- package/dist/generators/module.d.ts +33 -0
- package/dist/generators/module.d.ts.map +1 -0
- package/dist/generators/patterns/cqrs.d.ts +3 -0
- package/dist/generators/patterns/cqrs.d.ts.map +1 -0
- package/dist/generators/patterns/ddd.d.ts +3 -0
- package/dist/generators/patterns/ddd.d.ts.map +1 -0
- package/dist/generators/patterns/index.d.ts +6 -0
- package/dist/generators/patterns/index.d.ts.map +1 -0
- package/dist/generators/patterns/minimal.d.ts +3 -0
- package/dist/generators/patterns/minimal.d.ts.map +1 -0
- package/dist/generators/patterns/rest.d.ts +3 -0
- package/dist/generators/patterns/rest.d.ts.map +1 -0
- package/dist/generators/patterns/types.d.ts +15 -0
- package/dist/generators/patterns/types.d.ts.map +1 -0
- package/dist/generators/project.d.ts +14 -0
- package/dist/generators/project.d.ts.map +1 -0
- package/dist/generators/remove-module.d.ts +12 -0
- package/dist/generators/remove-module.d.ts.map +1 -0
- package/dist/generators/resolver.d.ts +7 -0
- package/dist/generators/resolver.d.ts.map +1 -0
- package/dist/generators/scaffold.d.ts +20 -0
- package/dist/generators/scaffold.d.ts.map +1 -0
- package/dist/generators/service.d.ts +11 -0
- package/dist/generators/service.d.ts.map +1 -0
- package/dist/generators/templates/constants.d.ts +3 -0
- package/dist/generators/templates/constants.d.ts.map +1 -0
- package/dist/generators/templates/controller.d.ts +6 -0
- package/dist/generators/templates/controller.d.ts.map +1 -0
- package/dist/generators/templates/cqrs.d.ts +23 -0
- package/dist/generators/templates/cqrs.d.ts.map +1 -0
- package/dist/generators/templates/domain.d.ts +5 -0
- package/dist/generators/templates/domain.d.ts.map +1 -0
- package/dist/generators/templates/drizzle/index.d.ts +4 -0
- package/dist/generators/templates/drizzle/index.d.ts.map +1 -0
- package/dist/generators/templates/dtos.d.ts +5 -0
- package/dist/generators/templates/dtos.d.ts.map +1 -0
- package/dist/generators/templates/index.d.ts +14 -0
- package/dist/generators/templates/index.d.ts.map +1 -0
- package/dist/generators/templates/module-index.d.ts +13 -0
- package/dist/generators/templates/module-index.d.ts.map +1 -0
- package/dist/generators/templates/prisma/index.d.ts +3 -0
- package/dist/generators/templates/prisma/index.d.ts.map +1 -0
- package/dist/generators/templates/project-app.d.ts +9 -0
- package/dist/generators/templates/project-app.d.ts.map +1 -0
- package/dist/generators/templates/project-config.d.ts +23 -0
- package/dist/generators/templates/project-config.d.ts.map +1 -0
- package/dist/generators/templates/project-docs.d.ts +9 -0
- package/dist/generators/templates/project-docs.d.ts.map +1 -0
- package/dist/generators/templates/repository.d.ts +5 -0
- package/dist/generators/templates/repository.d.ts.map +1 -0
- package/dist/generators/templates/rest-service.d.ts +6 -0
- package/dist/generators/templates/rest-service.d.ts.map +1 -0
- package/dist/generators/templates/tests.d.ts +4 -0
- package/dist/generators/templates/tests.d.ts.map +1 -0
- package/dist/generators/templates/types.d.ts +20 -0
- package/dist/generators/templates/types.d.ts.map +1 -0
- package/dist/generators/templates/use-cases.d.ts +6 -0
- package/dist/generators/templates/use-cases.d.ts.map +1 -0
- package/dist/generators/test.d.ts +9 -0
- package/dist/generators/test.d.ts.map +1 -0
- package/dist/index.d.ts +12 -234
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -2184
- package/dist/utils/fs.d.ts +11 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/naming.d.ts +18 -0
- package/dist/utils/naming.d.ts.map +1 -0
- package/dist/utils/resolve-out-dir.d.ts +25 -0
- package/dist/utils/resolve-out-dir.d.ts.map +1 -0
- package/dist/utils/shell.d.ts +3 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/package.json +6 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/project-config.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;AAEtE,6DAA6D;AAC7D,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,GACpB,MAAM,CA8DR;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB,IAAI,MAAM,CAkC3C;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,IAAI,MAAM,CAyBzC;AAED,yDAAyD;AACzD,wBAAgB,sBAAsB,IAAI,MAAM,CAY/C;AAED,4DAA4D;AAC5D,wBAAgB,oBAAoB,IAAI,MAAM,CAe7C;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED,0DAA0D;AAC1D,wBAAgB,qBAAqB,IAAI,MAAM,CAoB9C;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,IAAI,MAAM,CAIpC;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AAED,uDAAuD;AACvD,wBAAgB,oBAAoB,IAAI,MAAM,CAa7C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type ProjectTemplate = 'rest' | 'graphql' | 'ddd' | 'cqrs' | 'minimal';
|
|
2
|
+
/** Generate README.md with project documentation */
|
|
3
|
+
export declare function generateReadme(name: string, template: ProjectTemplate, pm: string): string;
|
|
4
|
+
/** Generate CLAUDE.md with AI development guide */
|
|
5
|
+
export declare function generateClaude(name: string, template: ProjectTemplate, pm: string): string;
|
|
6
|
+
/** Generate AGENTS.md with AI agent guide */
|
|
7
|
+
export declare function generateAgents(name: string, template: ProjectTemplate, pm: string): string;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=project-docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-docs.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/project-docs.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;AAEtE,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAiF1F;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAkR1F;AAED,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CA0V1F"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TemplateContext } from './types';
|
|
2
|
+
export declare function generateRepositoryInterface(ctx: TemplateContext): string;
|
|
3
|
+
export declare function generateInMemoryRepository(ctx: TemplateContext): string;
|
|
4
|
+
export declare function generateCustomRepository(ctx: TemplateContext): string;
|
|
5
|
+
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA2BxE;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAoEvE;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAiFrE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TemplateContext } from './types';
|
|
2
|
+
/** REST service — wraps repository with CRUD methods, replaces use-cases for flat pattern */
|
|
3
|
+
export declare function generateRestService(ctx: TemplateContext): string;
|
|
4
|
+
/** REST constants — query config for flat pattern */
|
|
5
|
+
export declare function generateRestConstants(ctx: TemplateContext): string;
|
|
6
|
+
//# sourceMappingURL=rest-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-service.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/rest-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAwChE;AAED,qDAAqD;AACrD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAUlE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAuDnE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAsEnE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Shared context for all template generator functions */
|
|
2
|
+
export interface TemplateContext {
|
|
3
|
+
/** PascalCase name (e.g. 'User', 'TaskAssignee') */
|
|
4
|
+
pascal: string;
|
|
5
|
+
/** kebab-case name (e.g. 'user', 'task-assignee') */
|
|
6
|
+
kebab: string;
|
|
7
|
+
/** Pluralized kebab-case (e.g. 'users', 'task-assignees') */
|
|
8
|
+
plural?: string;
|
|
9
|
+
/** Pluralized PascalCase (e.g. 'Users', 'TaskAssignees') */
|
|
10
|
+
pluralPascal?: string;
|
|
11
|
+
/** Repository interface import prefix (default: '../../domain/repositories') */
|
|
12
|
+
repoPrefix?: string;
|
|
13
|
+
/** DTO import prefix (default: '../../application/dtos') */
|
|
14
|
+
dtoPrefix?: string;
|
|
15
|
+
/** Prisma client import path (default: '@prisma/client') */
|
|
16
|
+
prismaClientPath?: string;
|
|
17
|
+
/** Custom repo type name (e.g. 'typeorm') — only for generateCustomRepository */
|
|
18
|
+
repoType?: string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/types.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-cases.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/use-cases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAsG1F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/generators/test.ts"],"names":[],"mappings":"AAIA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkDlF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,234 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* ['npx drizzle-kit generate', 'npx drizzle-kit migrate']
|
|
14
|
-
*/
|
|
15
|
-
steps: string | string[];
|
|
16
|
-
/** Optional aliases (e.g. ['migrate'] for 'db:migrate') */
|
|
17
|
-
aliases?: string[];
|
|
18
|
-
}
|
|
19
|
-
/** Project pattern — controls what generators produce and which deps are installed */
|
|
20
|
-
type ProjectPattern = 'rest' | 'graphql' | 'ddd' | 'cqrs' | 'minimal';
|
|
21
|
-
/** Built-in repository types with first-class code generation support */
|
|
22
|
-
type BuiltinRepoType$1 = 'drizzle' | 'inmemory' | 'prisma';
|
|
23
|
-
/** Custom repository type — generates a stub with TODO markers */
|
|
24
|
-
interface CustomRepoType {
|
|
25
|
-
name: string;
|
|
26
|
-
}
|
|
27
|
-
/** Repository type — built-in string or custom object */
|
|
28
|
-
type RepoTypeConfig = BuiltinRepoType$1 | CustomRepoType;
|
|
29
|
-
/** Module generation settings — controls how `kick g module` produces code */
|
|
30
|
-
interface ModuleConfig {
|
|
31
|
-
/** Where modules live (default: 'src/modules') */
|
|
32
|
-
dir?: string;
|
|
33
|
-
/**
|
|
34
|
-
* Default repository implementation for generators.
|
|
35
|
-
*
|
|
36
|
-
* Built-in types (string): `'drizzle'`, `'inmemory'`, `'prisma'`
|
|
37
|
-
* — generate fully working repository code.
|
|
38
|
-
*
|
|
39
|
-
* Custom types (object): `{ name: 'typeorm' }`
|
|
40
|
-
* — generate a stub repository with TODO markers.
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* repo: 'prisma' // built-in
|
|
44
|
-
* repo: { name: 'typeorm' } // custom
|
|
45
|
-
*/
|
|
46
|
-
repo?: RepoTypeConfig;
|
|
47
|
-
/** Schema output directory (e.g. 'src/db/schema' for Drizzle, 'prisma/' for Prisma) */
|
|
48
|
-
schemaDir?: string;
|
|
49
|
-
/**
|
|
50
|
-
* Whether to pluralize module names in generated code.
|
|
51
|
-
* When true (default), `kick g module user` creates `src/modules/users/`.
|
|
52
|
-
* When false, it creates `src/modules/user/` and uses singular names throughout.
|
|
53
|
-
*/
|
|
54
|
-
pluralize?: boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Import path for the Prisma generated client in `--repo prisma` templates.
|
|
57
|
-
* Must resolve within `src/` for path alias compatibility.
|
|
58
|
-
*
|
|
59
|
-
* @default '@prisma/client' (Prisma 5/6)
|
|
60
|
-
* @example
|
|
61
|
-
* prismaClientPath: '@/generated/prisma/client' // Prisma 7+
|
|
62
|
-
* prismaClientPath: './generated/prisma/client' // relative
|
|
63
|
-
*/
|
|
64
|
-
prismaClientPath?: string;
|
|
65
|
-
}
|
|
66
|
-
/** Configuration for the kick.config.ts file */
|
|
67
|
-
interface KickConfig {
|
|
68
|
-
/**
|
|
69
|
-
* Project pattern — controls default generator behavior.
|
|
70
|
-
* - 'rest' — Express + Swagger (default)
|
|
71
|
-
* - 'graphql' — GraphQL + GraphiQL
|
|
72
|
-
* - 'ddd' — Full DDD modules with use cases, entities, value objects
|
|
73
|
-
* - 'cqrs' — CQRS with commands, queries, events, WebSocket + queue
|
|
74
|
-
* - 'minimal' — Bare Express with no scaffolding
|
|
75
|
-
*/
|
|
76
|
-
pattern?: ProjectPattern;
|
|
77
|
-
/**
|
|
78
|
-
* Module generation settings — directory, repo type, pluralization, schema dir.
|
|
79
|
-
*
|
|
80
|
-
* @example
|
|
81
|
-
* modules: {
|
|
82
|
-
* dir: 'src/modules',
|
|
83
|
-
* repo: 'prisma',
|
|
84
|
-
* pluralize: false,
|
|
85
|
-
* schemaDir: 'prisma/',
|
|
86
|
-
* }
|
|
87
|
-
*/
|
|
88
|
-
modules?: ModuleConfig;
|
|
89
|
-
/** @deprecated Use `modules.dir` instead */
|
|
90
|
-
modulesDir?: string;
|
|
91
|
-
/** @deprecated Use `modules.repo` instead */
|
|
92
|
-
defaultRepo?: RepoTypeConfig;
|
|
93
|
-
/** @deprecated Use `modules.schemaDir` instead */
|
|
94
|
-
schemaDir?: string;
|
|
95
|
-
/** @deprecated Use `modules.pluralize` instead */
|
|
96
|
-
pluralize?: boolean;
|
|
97
|
-
/**
|
|
98
|
-
* Directories to copy to dist/ after build.
|
|
99
|
-
* Useful for EJS templates, email templates, static assets, etc.
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
* ```ts
|
|
103
|
-
* copyDirs: [
|
|
104
|
-
* 'src/views', // copies to dist/src/views
|
|
105
|
-
* { src: 'src/views', dest: 'dist/views' }, // custom dest
|
|
106
|
-
* 'src/emails',
|
|
107
|
-
* ]
|
|
108
|
-
* ```
|
|
109
|
-
*/
|
|
110
|
-
copyDirs?: Array<string | {
|
|
111
|
-
src: string;
|
|
112
|
-
dest?: string;
|
|
113
|
-
}>;
|
|
114
|
-
/** Custom commands that extend the CLI */
|
|
115
|
-
commands?: KickCommandDefinition[];
|
|
116
|
-
/** Code style overrides (auto-detected from prettier when possible) */
|
|
117
|
-
style?: {
|
|
118
|
-
semicolons?: boolean;
|
|
119
|
-
quotes?: 'single' | 'double';
|
|
120
|
-
trailingComma?: 'all' | 'es5' | 'none';
|
|
121
|
-
indent?: number;
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
/** Helper to define a type-safe kick.config.ts */
|
|
125
|
-
declare function defineConfig(config: KickConfig): KickConfig;
|
|
126
|
-
/** Load kick.config.* from the project root */
|
|
127
|
-
declare function loadKickConfig(cwd: string): Promise<KickConfig | null>;
|
|
128
|
-
|
|
129
|
-
type BuiltinRepoType = 'drizzle' | 'inmemory' | 'prisma';
|
|
130
|
-
type RepoType = BuiltinRepoType | (string & {});
|
|
131
|
-
interface GenerateModuleOptions {
|
|
132
|
-
name: string;
|
|
133
|
-
modulesDir: string;
|
|
134
|
-
noEntity?: boolean;
|
|
135
|
-
noTests?: boolean;
|
|
136
|
-
repo?: RepoType;
|
|
137
|
-
minimal?: boolean;
|
|
138
|
-
force?: boolean;
|
|
139
|
-
pattern?: ProjectPattern;
|
|
140
|
-
dryRun?: boolean;
|
|
141
|
-
/** When false, skip pluralization — use singular names for folders, routes, and classes */
|
|
142
|
-
pluralize?: boolean;
|
|
143
|
-
/** Prisma client import path (default: '@prisma/client', Prisma 7+: '@/generated/prisma/client') */
|
|
144
|
-
prismaClientPath?: string;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Generate a module — structure depends on the project pattern.
|
|
148
|
-
*
|
|
149
|
-
* Patterns:
|
|
150
|
-
* rest — flat folder: controller + service + DTOs + repo
|
|
151
|
-
* ddd — nested DDD: presentation/ application/ domain/ infrastructure/
|
|
152
|
-
* graphql — flat folder: resolver + service + DTOs + repo (future)
|
|
153
|
-
* cqrs — commands, queries, events with WS/queue integration
|
|
154
|
-
* minimal — just controller + module index
|
|
155
|
-
*/
|
|
156
|
-
declare function generateModule(options: GenerateModuleOptions): Promise<string[]>;
|
|
157
|
-
|
|
158
|
-
interface GenerateAdapterOptions {
|
|
159
|
-
name: string;
|
|
160
|
-
outDir: string;
|
|
161
|
-
}
|
|
162
|
-
declare function generateAdapter(options: GenerateAdapterOptions): Promise<string[]>;
|
|
163
|
-
|
|
164
|
-
interface GenerateMiddlewareOptions {
|
|
165
|
-
name: string;
|
|
166
|
-
outDir?: string;
|
|
167
|
-
moduleName?: string;
|
|
168
|
-
modulesDir?: string;
|
|
169
|
-
pattern?: ProjectPattern;
|
|
170
|
-
}
|
|
171
|
-
declare function generateMiddleware(options: GenerateMiddlewareOptions): Promise<string[]>;
|
|
172
|
-
|
|
173
|
-
interface GenerateGuardOptions {
|
|
174
|
-
name: string;
|
|
175
|
-
outDir?: string;
|
|
176
|
-
moduleName?: string;
|
|
177
|
-
modulesDir?: string;
|
|
178
|
-
pattern?: ProjectPattern;
|
|
179
|
-
}
|
|
180
|
-
declare function generateGuard(options: GenerateGuardOptions): Promise<string[]>;
|
|
181
|
-
|
|
182
|
-
interface GenerateServiceOptions {
|
|
183
|
-
name: string;
|
|
184
|
-
outDir?: string;
|
|
185
|
-
moduleName?: string;
|
|
186
|
-
modulesDir?: string;
|
|
187
|
-
pattern?: ProjectPattern;
|
|
188
|
-
}
|
|
189
|
-
declare function generateService(options: GenerateServiceOptions): Promise<string[]>;
|
|
190
|
-
|
|
191
|
-
interface GenerateControllerOptions {
|
|
192
|
-
name: string;
|
|
193
|
-
outDir?: string;
|
|
194
|
-
moduleName?: string;
|
|
195
|
-
modulesDir?: string;
|
|
196
|
-
pattern?: ProjectPattern;
|
|
197
|
-
}
|
|
198
|
-
declare function generateController(options: GenerateControllerOptions): Promise<string[]>;
|
|
199
|
-
|
|
200
|
-
interface GenerateDtoOptions {
|
|
201
|
-
name: string;
|
|
202
|
-
outDir?: string;
|
|
203
|
-
moduleName?: string;
|
|
204
|
-
modulesDir?: string;
|
|
205
|
-
pattern?: ProjectPattern;
|
|
206
|
-
}
|
|
207
|
-
declare function generateDto(options: GenerateDtoOptions): Promise<string[]>;
|
|
208
|
-
|
|
209
|
-
type ProjectTemplate = 'rest' | 'graphql' | 'ddd' | 'cqrs' | 'minimal';
|
|
210
|
-
interface InitProjectOptions {
|
|
211
|
-
name: string;
|
|
212
|
-
directory: string;
|
|
213
|
-
packageManager?: 'pnpm' | 'npm' | 'yarn';
|
|
214
|
-
initGit?: boolean;
|
|
215
|
-
installDeps?: boolean;
|
|
216
|
-
template?: ProjectTemplate;
|
|
217
|
-
defaultRepo?: string;
|
|
218
|
-
}
|
|
219
|
-
/** Scaffold a new KickJS project */
|
|
220
|
-
declare function initProject(options: InitProjectOptions): Promise<void>;
|
|
221
|
-
|
|
222
|
-
/** Convert a name to PascalCase */
|
|
223
|
-
declare function toPascalCase(name: string): string;
|
|
224
|
-
/** Convert a name to camelCase */
|
|
225
|
-
declare function toCamelCase(name: string): string;
|
|
226
|
-
/** Convert a name to kebab-case */
|
|
227
|
-
declare function toKebabCase(name: string): string;
|
|
228
|
-
/**
|
|
229
|
-
* Pluralize a kebab-case name for directory/file names.
|
|
230
|
-
* If already plural (ends in 's'), returns as-is.
|
|
231
|
-
*/
|
|
232
|
-
declare function pluralize(name: string): string;
|
|
233
|
-
|
|
234
|
-
export { type KickCommandDefinition, type KickConfig, defineConfig, generateAdapter, generateController, generateDto, generateGuard, generateMiddleware, generateModule, generateService, initProject, loadKickConfig, pluralize, toCamelCase, toKebabCase, toPascalCase };
|
|
1
|
+
export { generateModule } from './generators/module';
|
|
2
|
+
export { generateAdapter } from './generators/adapter';
|
|
3
|
+
export { generateMiddleware } from './generators/middleware';
|
|
4
|
+
export { generateGuard } from './generators/guard';
|
|
5
|
+
export { generateService } from './generators/service';
|
|
6
|
+
export { generateController } from './generators/controller';
|
|
7
|
+
export { generateDto } from './generators/dto';
|
|
8
|
+
export { initProject } from './generators/project';
|
|
9
|
+
export { defineConfig, loadKickConfig } from './config';
|
|
10
|
+
export type { KickConfig, KickCommandDefinition } from './config';
|
|
11
|
+
export { toPascalCase, toCamelCase, toKebabCase, pluralize } from './utils/naming';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGlD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACvD,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
|