@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.
Files changed (110) hide show
  1. package/dist/cli.d.ts +2 -0
  2. package/dist/cli.d.ts.map +1 -0
  3. package/dist/cli.js +1195 -2392
  4. package/dist/commands/add.d.ts +5 -0
  5. package/dist/commands/add.d.ts.map +1 -0
  6. package/dist/commands/custom.d.ts +56 -0
  7. package/dist/commands/custom.d.ts.map +1 -0
  8. package/dist/commands/generate.d.ts +3 -0
  9. package/dist/commands/generate.d.ts.map +1 -0
  10. package/dist/commands/info.d.ts +3 -0
  11. package/dist/commands/info.d.ts.map +1 -0
  12. package/dist/commands/init.d.ts +3 -0
  13. package/dist/commands/init.d.ts.map +1 -0
  14. package/dist/commands/inspect.d.ts +3 -0
  15. package/dist/commands/inspect.d.ts.map +1 -0
  16. package/dist/commands/remove.d.ts +3 -0
  17. package/dist/commands/remove.d.ts.map +1 -0
  18. package/dist/commands/run.d.ts +3 -0
  19. package/dist/commands/run.d.ts.map +1 -0
  20. package/dist/commands/tinker.d.ts +3 -0
  21. package/dist/commands/tinker.d.ts.map +1 -0
  22. package/dist/config-11ag0rJc.js +3097 -0
  23. package/dist/config.d.ts +131 -0
  24. package/dist/config.d.ts.map +1 -0
  25. package/dist/generators/adapter.d.ts +7 -0
  26. package/dist/generators/adapter.d.ts.map +1 -0
  27. package/dist/generators/config.d.ts +9 -0
  28. package/dist/generators/config.d.ts.map +1 -0
  29. package/dist/generators/controller.d.ts +11 -0
  30. package/dist/generators/controller.d.ts.map +1 -0
  31. package/dist/generators/dto.d.ts +11 -0
  32. package/dist/generators/dto.d.ts.map +1 -0
  33. package/dist/generators/guard.d.ts +11 -0
  34. package/dist/generators/guard.d.ts.map +1 -0
  35. package/dist/generators/job.d.ts +8 -0
  36. package/dist/generators/job.d.ts.map +1 -0
  37. package/dist/generators/middleware.d.ts +11 -0
  38. package/dist/generators/middleware.d.ts.map +1 -0
  39. package/dist/generators/module.d.ts +33 -0
  40. package/dist/generators/module.d.ts.map +1 -0
  41. package/dist/generators/patterns/cqrs.d.ts +3 -0
  42. package/dist/generators/patterns/cqrs.d.ts.map +1 -0
  43. package/dist/generators/patterns/ddd.d.ts +3 -0
  44. package/dist/generators/patterns/ddd.d.ts.map +1 -0
  45. package/dist/generators/patterns/index.d.ts +6 -0
  46. package/dist/generators/patterns/index.d.ts.map +1 -0
  47. package/dist/generators/patterns/minimal.d.ts +3 -0
  48. package/dist/generators/patterns/minimal.d.ts.map +1 -0
  49. package/dist/generators/patterns/rest.d.ts +3 -0
  50. package/dist/generators/patterns/rest.d.ts.map +1 -0
  51. package/dist/generators/patterns/types.d.ts +15 -0
  52. package/dist/generators/patterns/types.d.ts.map +1 -0
  53. package/dist/generators/project.d.ts +14 -0
  54. package/dist/generators/project.d.ts.map +1 -0
  55. package/dist/generators/remove-module.d.ts +12 -0
  56. package/dist/generators/remove-module.d.ts.map +1 -0
  57. package/dist/generators/resolver.d.ts +7 -0
  58. package/dist/generators/resolver.d.ts.map +1 -0
  59. package/dist/generators/scaffold.d.ts +20 -0
  60. package/dist/generators/scaffold.d.ts.map +1 -0
  61. package/dist/generators/service.d.ts +11 -0
  62. package/dist/generators/service.d.ts.map +1 -0
  63. package/dist/generators/templates/constants.d.ts +3 -0
  64. package/dist/generators/templates/constants.d.ts.map +1 -0
  65. package/dist/generators/templates/controller.d.ts +6 -0
  66. package/dist/generators/templates/controller.d.ts.map +1 -0
  67. package/dist/generators/templates/cqrs.d.ts +23 -0
  68. package/dist/generators/templates/cqrs.d.ts.map +1 -0
  69. package/dist/generators/templates/domain.d.ts +5 -0
  70. package/dist/generators/templates/domain.d.ts.map +1 -0
  71. package/dist/generators/templates/drizzle/index.d.ts +4 -0
  72. package/dist/generators/templates/drizzle/index.d.ts.map +1 -0
  73. package/dist/generators/templates/dtos.d.ts +5 -0
  74. package/dist/generators/templates/dtos.d.ts.map +1 -0
  75. package/dist/generators/templates/index.d.ts +14 -0
  76. package/dist/generators/templates/index.d.ts.map +1 -0
  77. package/dist/generators/templates/module-index.d.ts +13 -0
  78. package/dist/generators/templates/module-index.d.ts.map +1 -0
  79. package/dist/generators/templates/prisma/index.d.ts +3 -0
  80. package/dist/generators/templates/prisma/index.d.ts.map +1 -0
  81. package/dist/generators/templates/project-app.d.ts +9 -0
  82. package/dist/generators/templates/project-app.d.ts.map +1 -0
  83. package/dist/generators/templates/project-config.d.ts +23 -0
  84. package/dist/generators/templates/project-config.d.ts.map +1 -0
  85. package/dist/generators/templates/project-docs.d.ts +9 -0
  86. package/dist/generators/templates/project-docs.d.ts.map +1 -0
  87. package/dist/generators/templates/repository.d.ts +5 -0
  88. package/dist/generators/templates/repository.d.ts.map +1 -0
  89. package/dist/generators/templates/rest-service.d.ts +6 -0
  90. package/dist/generators/templates/rest-service.d.ts.map +1 -0
  91. package/dist/generators/templates/tests.d.ts +4 -0
  92. package/dist/generators/templates/tests.d.ts.map +1 -0
  93. package/dist/generators/templates/types.d.ts +20 -0
  94. package/dist/generators/templates/types.d.ts.map +1 -0
  95. package/dist/generators/templates/use-cases.d.ts +6 -0
  96. package/dist/generators/templates/use-cases.d.ts.map +1 -0
  97. package/dist/generators/test.d.ts +9 -0
  98. package/dist/generators/test.d.ts.map +1 -0
  99. package/dist/index.d.ts +12 -234
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +17 -2184
  102. package/dist/utils/fs.d.ts +11 -0
  103. package/dist/utils/fs.d.ts.map +1 -0
  104. package/dist/utils/naming.d.ts +18 -0
  105. package/dist/utils/naming.d.ts.map +1 -0
  106. package/dist/utils/resolve-out-dir.d.ts +25 -0
  107. package/dist/utils/resolve-out-dir.d.ts.map +1 -0
  108. package/dist/utils/shell.d.ts +3 -0
  109. package/dist/utils/shell.d.ts.map +1 -0
  110. 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,4 @@
1
+ import type { TemplateContext } from './types';
2
+ export declare function generateControllerTest(ctx: TemplateContext): string;
3
+ export declare function generateRepositoryTest(ctx: TemplateContext): string;
4
+ //# sourceMappingURL=tests.d.ts.map
@@ -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,6 @@
1
+ import type { TemplateContext } from './types';
2
+ export declare function generateUseCases(ctx: TemplateContext): {
3
+ file: string;
4
+ content: string;
5
+ }[];
6
+ //# sourceMappingURL=use-cases.d.ts.map
@@ -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,9 @@
1
+ interface GenerateTestOptions {
2
+ name: string;
3
+ outDir?: string;
4
+ moduleName?: string;
5
+ modulesDir?: string;
6
+ }
7
+ export declare function generateTest(options: GenerateTestOptions): Promise<string[]>;
8
+ export {};
9
+ //# sourceMappingURL=test.d.ts.map
@@ -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
- /** A custom command that developers can register via kick.config.ts */
2
- interface KickCommandDefinition {
3
- /** The command name (e.g. 'db:migrate', 'seed', 'proto:gen') */
4
- name: string;
5
- /** Description shown in --help */
6
- description: string;
7
- /**
8
- * Shell command(s) to run. Can be a single string or an array of
9
- * sequential steps. Use {args} as a placeholder for CLI arguments.
10
- *
11
- * @example
12
- * 'npx drizzle-kit migrate'
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"}