@veloxts/cli 0.4.0 → 0.4.2
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/README.md +23 -144
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/generate.d.ts +17 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +219 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/migrate.d.ts +8 -3
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +17 -123
- package/dist/commands/migrate.js.map +1 -1
- package/dist/generators/base.d.ts +76 -0
- package/dist/generators/base.d.ts.map +1 -0
- package/dist/generators/base.js +271 -0
- package/dist/generators/base.js.map +1 -0
- package/dist/generators/generators/index.d.ts +17 -0
- package/dist/generators/generators/index.d.ts.map +1 -0
- package/dist/generators/generators/index.js +43 -0
- package/dist/generators/generators/index.js.map +1 -0
- package/dist/generators/generators/migration.d.ts +43 -0
- package/dist/generators/generators/migration.d.ts.map +1 -0
- package/dist/generators/generators/migration.js +121 -0
- package/dist/generators/generators/migration.js.map +1 -0
- package/dist/generators/generators/model.d.ts +38 -0
- package/dist/generators/generators/model.d.ts.map +1 -0
- package/dist/generators/generators/model.js +108 -0
- package/dist/generators/generators/model.js.map +1 -0
- package/dist/generators/generators/procedure.d.ts +37 -0
- package/dist/generators/generators/procedure.d.ts.map +1 -0
- package/dist/generators/generators/procedure.js +99 -0
- package/dist/generators/generators/procedure.js.map +1 -0
- package/dist/generators/generators/resource.d.ts +29 -0
- package/dist/generators/generators/resource.d.ts.map +1 -0
- package/dist/generators/generators/resource.js +124 -0
- package/dist/generators/generators/resource.js.map +1 -0
- package/dist/generators/generators/schema.d.ts +28 -0
- package/dist/generators/generators/schema.d.ts.map +1 -0
- package/dist/generators/generators/schema.js +83 -0
- package/dist/generators/generators/schema.js.map +1 -0
- package/dist/generators/generators/test.d.ts +28 -0
- package/dist/generators/generators/test.d.ts.map +1 -0
- package/dist/generators/generators/test.js +96 -0
- package/dist/generators/generators/test.js.map +1 -0
- package/dist/generators/index.d.ts +16 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +16 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/registry.d.ts +97 -0
- package/dist/generators/registry.d.ts.map +1 -0
- package/dist/generators/registry.js +253 -0
- package/dist/generators/registry.js.map +1 -0
- package/dist/generators/templates/migration.d.ts +23 -0
- package/dist/generators/templates/migration.d.ts.map +1 -0
- package/dist/generators/templates/migration.js +389 -0
- package/dist/generators/templates/migration.js.map +1 -0
- package/dist/generators/templates/model.d.ts +37 -0
- package/dist/generators/templates/model.d.ts.map +1 -0
- package/dist/generators/templates/model.js +374 -0
- package/dist/generators/templates/model.js.map +1 -0
- package/dist/generators/templates/procedure.d.ts +25 -0
- package/dist/generators/templates/procedure.d.ts.map +1 -0
- package/dist/generators/templates/procedure.js +274 -0
- package/dist/generators/templates/procedure.js.map +1 -0
- package/dist/generators/templates/resource.d.ts +34 -0
- package/dist/generators/templates/resource.d.ts.map +1 -0
- package/dist/generators/templates/resource.js +550 -0
- package/dist/generators/templates/resource.js.map +1 -0
- package/dist/generators/templates/schema.d.ts +33 -0
- package/dist/generators/templates/schema.d.ts.map +1 -0
- package/dist/generators/templates/schema.js +248 -0
- package/dist/generators/templates/schema.js.map +1 -0
- package/dist/generators/templates/test.d.ts +31 -0
- package/dist/generators/templates/test.d.ts.map +1 -0
- package/dist/generators/templates/test.js +882 -0
- package/dist/generators/templates/test.js.map +1 -0
- package/dist/generators/types.d.ts +211 -0
- package/dist/generators/types.d.ts.map +1 -0
- package/dist/generators/types.js +54 -0
- package/dist/generators/types.js.map +1 -0
- package/dist/generators/utils/filesystem.d.ts +68 -0
- package/dist/generators/utils/filesystem.d.ts.map +1 -0
- package/dist/generators/utils/filesystem.js +217 -0
- package/dist/generators/utils/filesystem.js.map +1 -0
- package/dist/generators/utils/naming.d.ts +122 -0
- package/dist/generators/utils/naming.d.ts.map +1 -0
- package/dist/generators/utils/naming.js +198 -0
- package/dist/generators/utils/naming.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/migrations/commands/fresh.d.ts +11 -0
- package/dist/migrations/commands/fresh.d.ts.map +1 -0
- package/dist/migrations/commands/fresh.js +164 -0
- package/dist/migrations/commands/fresh.js.map +1 -0
- package/dist/migrations/commands/index.d.ts +11 -0
- package/dist/migrations/commands/index.d.ts.map +1 -0
- package/dist/migrations/commands/index.js +11 -0
- package/dist/migrations/commands/index.js.map +1 -0
- package/dist/migrations/commands/reset.d.ts +11 -0
- package/dist/migrations/commands/reset.d.ts.map +1 -0
- package/dist/migrations/commands/reset.js +258 -0
- package/dist/migrations/commands/reset.js.map +1 -0
- package/dist/migrations/commands/rollback.d.ts +11 -0
- package/dist/migrations/commands/rollback.d.ts.map +1 -0
- package/dist/migrations/commands/rollback.js +241 -0
- package/dist/migrations/commands/rollback.js.map +1 -0
- package/dist/migrations/commands/run.d.ts +11 -0
- package/dist/migrations/commands/run.d.ts.map +1 -0
- package/dist/migrations/commands/run.js +183 -0
- package/dist/migrations/commands/run.js.map +1 -0
- package/dist/migrations/commands/status.d.ts +11 -0
- package/dist/migrations/commands/status.d.ts.map +1 -0
- package/dist/migrations/commands/status.js +154 -0
- package/dist/migrations/commands/status.js.map +1 -0
- package/dist/migrations/errors.d.ts +74 -0
- package/dist/migrations/errors.d.ts.map +1 -0
- package/dist/migrations/errors.js +155 -0
- package/dist/migrations/errors.js.map +1 -0
- package/dist/migrations/index.d.ts +13 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +17 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/loader.d.ts +44 -0
- package/dist/migrations/loader.d.ts.map +1 -0
- package/dist/migrations/loader.js +181 -0
- package/dist/migrations/loader.js.map +1 -0
- package/dist/migrations/prisma-wrapper.d.ts +60 -0
- package/dist/migrations/prisma-wrapper.d.ts.map +1 -0
- package/dist/migrations/prisma-wrapper.js +184 -0
- package/dist/migrations/prisma-wrapper.js.map +1 -0
- package/dist/migrations/rollback-runner.d.ts +40 -0
- package/dist/migrations/rollback-runner.d.ts.map +1 -0
- package/dist/migrations/rollback-runner.js +203 -0
- package/dist/migrations/rollback-runner.js.map +1 -0
- package/dist/migrations/types.d.ts +214 -0
- package/dist/migrations/types.d.ts.map +1 -0
- package/dist/migrations/types.js +19 -0
- package/dist/migrations/types.js.map +1 -0
- package/package.json +29 -8
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Naming Utilities
|
|
3
|
+
*
|
|
4
|
+
* Functions for converting entity names between different cases
|
|
5
|
+
* and handling pluralization for English words.
|
|
6
|
+
*/
|
|
7
|
+
import type { EntityNames } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Convert string to PascalCase
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* toPascalCase('user') // 'User'
|
|
13
|
+
* toPascalCase('blog-post') // 'BlogPost'
|
|
14
|
+
* toPascalCase('user_profile') // 'UserProfile'
|
|
15
|
+
*/
|
|
16
|
+
export declare function toPascalCase(str: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Convert string to camelCase
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* toCamelCase('User') // 'user'
|
|
22
|
+
* toCamelCase('blog-post') // 'blogPost'
|
|
23
|
+
* toCamelCase('UserProfile') // 'userProfile'
|
|
24
|
+
*/
|
|
25
|
+
export declare function toCamelCase(str: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Convert string to kebab-case
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* toKebabCase('User') // 'user'
|
|
31
|
+
* toKebabCase('BlogPost') // 'blog-post'
|
|
32
|
+
* toKebabCase('user_profile') // 'user-profile'
|
|
33
|
+
*/
|
|
34
|
+
export declare function toKebabCase(str: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Convert string to snake_case
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* toSnakeCase('User') // 'user'
|
|
40
|
+
* toSnakeCase('BlogPost') // 'blog_post'
|
|
41
|
+
* toSnakeCase('user-profile') // 'user_profile'
|
|
42
|
+
*/
|
|
43
|
+
export declare function toSnakeCase(str: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Convert string to SCREAMING_SNAKE_CASE
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* toScreamingSnakeCase('User') // 'USER'
|
|
49
|
+
* toScreamingSnakeCase('BlogPost') // 'BLOG_POST'
|
|
50
|
+
*/
|
|
51
|
+
export declare function toScreamingSnakeCase(str: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Convert camelCase/PascalCase to human readable format
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* toHumanReadable('BlogPost') // 'Blog Post'
|
|
57
|
+
* toHumanReadable('userProfile') // 'User Profile'
|
|
58
|
+
*/
|
|
59
|
+
export declare function toHumanReadable(str: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* Pluralize an English word
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* pluralize('user') // 'users'
|
|
65
|
+
* pluralize('person') // 'people'
|
|
66
|
+
* pluralize('category') // 'categories'
|
|
67
|
+
* pluralize('bus') // 'buses'
|
|
68
|
+
*/
|
|
69
|
+
export declare function pluralize(word: string): string;
|
|
70
|
+
/**
|
|
71
|
+
* Singularize an English word (reverse pluralization)
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* singularize('users') // 'user'
|
|
75
|
+
* singularize('people') // 'person'
|
|
76
|
+
* singularize('categories') // 'category'
|
|
77
|
+
*/
|
|
78
|
+
export declare function singularize(word: string): string;
|
|
79
|
+
/**
|
|
80
|
+
* Check if a word is likely plural
|
|
81
|
+
*/
|
|
82
|
+
export declare function isPlural(word: string): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Derive all naming variations from an input string.
|
|
85
|
+
*
|
|
86
|
+
* The input is normalized to PascalCase singular form, then all
|
|
87
|
+
* variations are derived from that.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* deriveEntityNames('User')
|
|
91
|
+
* // {
|
|
92
|
+
* // raw: 'User',
|
|
93
|
+
* // pascal: 'User',
|
|
94
|
+
* // camel: 'user',
|
|
95
|
+
* // kebab: 'user',
|
|
96
|
+
* // snake: 'user',
|
|
97
|
+
* // screamingSnake: 'USER',
|
|
98
|
+
* // singular: 'user',
|
|
99
|
+
* // plural: 'users',
|
|
100
|
+
* // pascalPlural: 'Users',
|
|
101
|
+
* // humanReadable: 'User',
|
|
102
|
+
* // humanReadablePlural: 'Users',
|
|
103
|
+
* // }
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* deriveEntityNames('blog-posts')
|
|
107
|
+
* // {
|
|
108
|
+
* // raw: 'blog-posts',
|
|
109
|
+
* // pascal: 'BlogPost',
|
|
110
|
+
* // camel: 'blogPost',
|
|
111
|
+
* // kebab: 'blog-post',
|
|
112
|
+
* // snake: 'blog_post',
|
|
113
|
+
* // screamingSnake: 'BLOG_POST',
|
|
114
|
+
* // singular: 'blogPost',
|
|
115
|
+
* // plural: 'blogPosts',
|
|
116
|
+
* // pascalPlural: 'BlogPosts',
|
|
117
|
+
* // humanReadable: 'Blog Post',
|
|
118
|
+
* // humanReadablePlural: 'Blog Posts',
|
|
119
|
+
* // }
|
|
120
|
+
*/
|
|
121
|
+
export declare function deriveEntityNames(input: string): EntityNames;
|
|
122
|
+
//# sourceMappingURL=naming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../../src/generators/utils/naming.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAa/C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOnD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9C;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA6B5D"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Naming Utilities
|
|
3
|
+
*
|
|
4
|
+
* Functions for converting entity names between different cases
|
|
5
|
+
* and handling pluralization for English words.
|
|
6
|
+
*/
|
|
7
|
+
import pluralizeLib from 'pluralize';
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Case Conversion
|
|
10
|
+
// ============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Convert string to PascalCase
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* toPascalCase('user') // 'User'
|
|
16
|
+
* toPascalCase('blog-post') // 'BlogPost'
|
|
17
|
+
* toPascalCase('user_profile') // 'UserProfile'
|
|
18
|
+
*/
|
|
19
|
+
export function toPascalCase(str) {
|
|
20
|
+
return str
|
|
21
|
+
.replace(/[-_\s]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))
|
|
22
|
+
.replace(/^./, (c) => c.toUpperCase());
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Convert string to camelCase
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* toCamelCase('User') // 'user'
|
|
29
|
+
* toCamelCase('blog-post') // 'blogPost'
|
|
30
|
+
* toCamelCase('UserProfile') // 'userProfile'
|
|
31
|
+
*/
|
|
32
|
+
export function toCamelCase(str) {
|
|
33
|
+
// Handle single word (no separators)
|
|
34
|
+
if (!/[-_\s]/.test(str)) {
|
|
35
|
+
// Check if all uppercase - convert to lowercase
|
|
36
|
+
if (str === str.toUpperCase()) {
|
|
37
|
+
return str.toLowerCase();
|
|
38
|
+
}
|
|
39
|
+
// Mixed case or PascalCase - just lowercase first char
|
|
40
|
+
return str.charAt(0).toLowerCase() + str.slice(1);
|
|
41
|
+
}
|
|
42
|
+
// Has separators - convert through PascalCase
|
|
43
|
+
const pascal = toPascalCase(str);
|
|
44
|
+
return pascal.charAt(0).toLowerCase() + pascal.slice(1);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Convert string to kebab-case
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* toKebabCase('User') // 'user'
|
|
51
|
+
* toKebabCase('BlogPost') // 'blog-post'
|
|
52
|
+
* toKebabCase('user_profile') // 'user-profile'
|
|
53
|
+
*/
|
|
54
|
+
export function toKebabCase(str) {
|
|
55
|
+
return str
|
|
56
|
+
.replace(/([a-z])([A-Z])/g, '$1-$2')
|
|
57
|
+
.replace(/[\s_]+/g, '-')
|
|
58
|
+
.toLowerCase();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Convert string to snake_case
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* toSnakeCase('User') // 'user'
|
|
65
|
+
* toSnakeCase('BlogPost') // 'blog_post'
|
|
66
|
+
* toSnakeCase('user-profile') // 'user_profile'
|
|
67
|
+
*/
|
|
68
|
+
export function toSnakeCase(str) {
|
|
69
|
+
return str
|
|
70
|
+
.replace(/([a-z])([A-Z])/g, '$1_$2')
|
|
71
|
+
.replace(/[\s-]+/g, '_')
|
|
72
|
+
.toLowerCase();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Convert string to SCREAMING_SNAKE_CASE
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* toScreamingSnakeCase('User') // 'USER'
|
|
79
|
+
* toScreamingSnakeCase('BlogPost') // 'BLOG_POST'
|
|
80
|
+
*/
|
|
81
|
+
export function toScreamingSnakeCase(str) {
|
|
82
|
+
return toSnakeCase(str).toUpperCase();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Convert camelCase/PascalCase to human readable format
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* toHumanReadable('BlogPost') // 'Blog Post'
|
|
89
|
+
* toHumanReadable('userProfile') // 'User Profile'
|
|
90
|
+
*/
|
|
91
|
+
export function toHumanReadable(str) {
|
|
92
|
+
return str
|
|
93
|
+
.replace(/([a-z])([A-Z])/g, '$1 $2')
|
|
94
|
+
.replace(/[-_]+/g, ' ')
|
|
95
|
+
.split(' ')
|
|
96
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
97
|
+
.join(' ');
|
|
98
|
+
}
|
|
99
|
+
// ============================================================================
|
|
100
|
+
// Pluralization
|
|
101
|
+
// ============================================================================
|
|
102
|
+
/**
|
|
103
|
+
* Pluralize an English word
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* pluralize('user') // 'users'
|
|
107
|
+
* pluralize('person') // 'people'
|
|
108
|
+
* pluralize('category') // 'categories'
|
|
109
|
+
* pluralize('bus') // 'buses'
|
|
110
|
+
*/
|
|
111
|
+
export function pluralize(word) {
|
|
112
|
+
return pluralizeLib(word);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Singularize an English word (reverse pluralization)
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* singularize('users') // 'user'
|
|
119
|
+
* singularize('people') // 'person'
|
|
120
|
+
* singularize('categories') // 'category'
|
|
121
|
+
*/
|
|
122
|
+
export function singularize(word) {
|
|
123
|
+
return pluralizeLib.singular(word);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Check if a word is likely plural
|
|
127
|
+
*/
|
|
128
|
+
export function isPlural(word) {
|
|
129
|
+
return pluralizeLib.isPlural(word);
|
|
130
|
+
}
|
|
131
|
+
// ============================================================================
|
|
132
|
+
// Entity Name Derivation
|
|
133
|
+
// ============================================================================
|
|
134
|
+
/**
|
|
135
|
+
* Derive all naming variations from an input string.
|
|
136
|
+
*
|
|
137
|
+
* The input is normalized to PascalCase singular form, then all
|
|
138
|
+
* variations are derived from that.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* deriveEntityNames('User')
|
|
142
|
+
* // {
|
|
143
|
+
* // raw: 'User',
|
|
144
|
+
* // pascal: 'User',
|
|
145
|
+
* // camel: 'user',
|
|
146
|
+
* // kebab: 'user',
|
|
147
|
+
* // snake: 'user',
|
|
148
|
+
* // screamingSnake: 'USER',
|
|
149
|
+
* // singular: 'user',
|
|
150
|
+
* // plural: 'users',
|
|
151
|
+
* // pascalPlural: 'Users',
|
|
152
|
+
* // humanReadable: 'User',
|
|
153
|
+
* // humanReadablePlural: 'Users',
|
|
154
|
+
* // }
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* deriveEntityNames('blog-posts')
|
|
158
|
+
* // {
|
|
159
|
+
* // raw: 'blog-posts',
|
|
160
|
+
* // pascal: 'BlogPost',
|
|
161
|
+
* // camel: 'blogPost',
|
|
162
|
+
* // kebab: 'blog-post',
|
|
163
|
+
* // snake: 'blog_post',
|
|
164
|
+
* // screamingSnake: 'BLOG_POST',
|
|
165
|
+
* // singular: 'blogPost',
|
|
166
|
+
* // plural: 'blogPosts',
|
|
167
|
+
* // pascalPlural: 'BlogPosts',
|
|
168
|
+
* // humanReadable: 'Blog Post',
|
|
169
|
+
* // humanReadablePlural: 'Blog Posts',
|
|
170
|
+
* // }
|
|
171
|
+
*/
|
|
172
|
+
export function deriveEntityNames(input) {
|
|
173
|
+
// Normalize input: convert to PascalCase, then singularize
|
|
174
|
+
const pascalInput = toPascalCase(input);
|
|
175
|
+
const pascal = toPascalCase(singularize(pascalInput));
|
|
176
|
+
const camel = toCamelCase(pascal);
|
|
177
|
+
const kebab = toKebabCase(pascal);
|
|
178
|
+
const snake = toSnakeCase(pascal);
|
|
179
|
+
const screamingSnake = toScreamingSnakeCase(pascal);
|
|
180
|
+
const pluralPascal = pluralize(pascal);
|
|
181
|
+
const pluralCamel = pluralize(camel);
|
|
182
|
+
const humanReadable = toHumanReadable(pascal);
|
|
183
|
+
const humanReadablePlural = toHumanReadable(pluralPascal);
|
|
184
|
+
return {
|
|
185
|
+
raw: input,
|
|
186
|
+
pascal,
|
|
187
|
+
camel,
|
|
188
|
+
kebab,
|
|
189
|
+
snake,
|
|
190
|
+
screamingSnake,
|
|
191
|
+
singular: camel,
|
|
192
|
+
plural: pluralCamel,
|
|
193
|
+
pascalPlural: pluralPascal,
|
|
194
|
+
humanReadable,
|
|
195
|
+
humanReadablePlural,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=naming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../../src/generators/utils/naming.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,10 @@ export declare const CLI_VERSION: string;
|
|
|
23
23
|
*/
|
|
24
24
|
export { createDevCommand } from './commands/dev.js';
|
|
25
25
|
export { createMigrateCommand } from './commands/migrate.js';
|
|
26
|
+
/**
|
|
27
|
+
* Export migration runner
|
|
28
|
+
*/
|
|
29
|
+
export * from './migrations/index.js';
|
|
26
30
|
/**
|
|
27
31
|
* Export utilities for reuse in other packages
|
|
28
32
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,0BAA0B;AAC1B,eAAO,MAAM,WAAW,EAAE,MAA+C,CAAC;AAE1E;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D;;GAEG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,0BAA0B;AAC1B,eAAO,MAAM,WAAW,EAAE,MAA+C,CAAC;AAE1E;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D;;GAEG;AACH,cAAc,uBAAuB,CAAC;AACtC;;GAEG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -27,6 +27,10 @@ export const CLI_VERSION = packageJson.version ?? '0.0.0-unknown';
|
|
|
27
27
|
*/
|
|
28
28
|
export { createDevCommand } from './commands/dev.js';
|
|
29
29
|
export { createMigrateCommand } from './commands/migrate.js';
|
|
30
|
+
/**
|
|
31
|
+
* Export migration runner
|
|
32
|
+
*/
|
|
33
|
+
export * from './migrations/index.js';
|
|
30
34
|
/**
|
|
31
35
|
* Export utilities for reuse in other packages
|
|
32
36
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;AAE1E;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D;;GAEG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;AAE1E;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D;;GAEG;AACH,cAAc,uBAAuB,CAAC;AACtC;;GAEG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* migrate:fresh Command
|
|
3
|
+
*
|
|
4
|
+
* Drop all tables and re-run all migrations.
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
/**
|
|
8
|
+
* Create the migrate:fresh command
|
|
9
|
+
*/
|
|
10
|
+
export declare function createMigrateFreshCommand(): Command;
|
|
11
|
+
//# sourceMappingURL=fresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fresh.d.ts","sourceRoot":"","sources":["../../../src/migrations/commands/fresh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CASnD"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* migrate:fresh Command
|
|
3
|
+
*
|
|
4
|
+
* Drop all tables and re-run all migrations.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'node:path';
|
|
7
|
+
import * as p from '@clack/prompts';
|
|
8
|
+
import { Command } from 'commander';
|
|
9
|
+
import pc from 'picocolors';
|
|
10
|
+
import { error, info, success, warning } from '../../utils/output.js';
|
|
11
|
+
import { fileExists } from '../../utils/paths.js';
|
|
12
|
+
import { MigrationError } from '../errors.js';
|
|
13
|
+
import { prismaDbSeed, prismaMigrateReset } from '../prisma-wrapper.js';
|
|
14
|
+
/**
|
|
15
|
+
* Create the migrate:fresh command
|
|
16
|
+
*/
|
|
17
|
+
export function createMigrateFreshCommand() {
|
|
18
|
+
return new Command('fresh')
|
|
19
|
+
.description('Drop all tables and re-run all migrations')
|
|
20
|
+
.option('--seed', 'Run seeders after migrations')
|
|
21
|
+
.option('--force', 'Skip confirmation prompt')
|
|
22
|
+
.option('--json', 'Output as JSON')
|
|
23
|
+
.action(async (options) => {
|
|
24
|
+
await runMigrateFresh(options);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Run migrate:fresh
|
|
29
|
+
*/
|
|
30
|
+
async function runMigrateFresh(options) {
|
|
31
|
+
const cwd = process.cwd();
|
|
32
|
+
const s = p.spinner();
|
|
33
|
+
try {
|
|
34
|
+
// Check if Prisma schema exists
|
|
35
|
+
const schemaPath = path.join(cwd, 'prisma', 'schema.prisma');
|
|
36
|
+
if (!fileExists(schemaPath)) {
|
|
37
|
+
if (options.json) {
|
|
38
|
+
console.log(JSON.stringify({ error: 'Prisma schema not found' }));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
error('Prisma schema not found.');
|
|
42
|
+
console.log(` ${pc.dim('Expected: prisma/schema.prisma')}`);
|
|
43
|
+
}
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
// Show warning
|
|
47
|
+
if (!options.json) {
|
|
48
|
+
console.log('');
|
|
49
|
+
warning('This will DROP ALL TABLES and re-run all migrations.');
|
|
50
|
+
warning('All data in the database will be lost!');
|
|
51
|
+
console.log('');
|
|
52
|
+
}
|
|
53
|
+
// Confirm unless --force
|
|
54
|
+
if (!options.force && !options.json) {
|
|
55
|
+
const confirm = await p.confirm({
|
|
56
|
+
message: 'Are you sure you want to drop all tables and re-run migrations?',
|
|
57
|
+
});
|
|
58
|
+
if (p.isCancel(confirm) || !confirm) {
|
|
59
|
+
console.log('');
|
|
60
|
+
info('Operation cancelled.');
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Execute fresh
|
|
65
|
+
if (!options.json) {
|
|
66
|
+
console.log('');
|
|
67
|
+
s.start('Dropping all tables and re-running migrations...');
|
|
68
|
+
}
|
|
69
|
+
// Run prisma migrate reset --force (force to skip Prisma's own confirmation)
|
|
70
|
+
const result = await prismaMigrateReset(cwd, true);
|
|
71
|
+
if (!result.success) {
|
|
72
|
+
if (!options.json) {
|
|
73
|
+
s.stop('Migration reset failed');
|
|
74
|
+
}
|
|
75
|
+
if (options.json) {
|
|
76
|
+
console.log(JSON.stringify({ success: false, error: result.error }));
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
console.log('');
|
|
80
|
+
error('Migration reset failed.');
|
|
81
|
+
if (result.error) {
|
|
82
|
+
console.log(` ${pc.dim(result.error)}`);
|
|
83
|
+
}
|
|
84
|
+
console.log('');
|
|
85
|
+
}
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
if (!options.json) {
|
|
89
|
+
s.stop('Database reset complete');
|
|
90
|
+
}
|
|
91
|
+
// Run seeders if requested
|
|
92
|
+
if (options.seed) {
|
|
93
|
+
if (!options.json) {
|
|
94
|
+
console.log('');
|
|
95
|
+
s.start('Running seeders...');
|
|
96
|
+
}
|
|
97
|
+
const seedResult = await prismaDbSeed(cwd);
|
|
98
|
+
if (!seedResult.success) {
|
|
99
|
+
if (!options.json) {
|
|
100
|
+
s.stop('Seeding failed');
|
|
101
|
+
}
|
|
102
|
+
if (options.json) {
|
|
103
|
+
console.log(JSON.stringify({
|
|
104
|
+
success: true,
|
|
105
|
+
message: 'Database reset complete but seeding failed',
|
|
106
|
+
seedError: seedResult.error,
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
console.log('');
|
|
111
|
+
warning('Database reset complete but seeding failed.');
|
|
112
|
+
if (seedResult.error) {
|
|
113
|
+
console.log(` ${pc.dim(seedResult.error)}`);
|
|
114
|
+
}
|
|
115
|
+
console.log('');
|
|
116
|
+
}
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (!options.json) {
|
|
120
|
+
s.stop('Seeding complete');
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Success output
|
|
124
|
+
if (options.json) {
|
|
125
|
+
console.log(JSON.stringify({
|
|
126
|
+
success: true,
|
|
127
|
+
message: options.seed
|
|
128
|
+
? 'Database reset and seeded successfully'
|
|
129
|
+
: 'Database reset successfully',
|
|
130
|
+
}));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
console.log('');
|
|
134
|
+
success(options.seed ? 'Database reset and seeded successfully!' : 'Database reset successfully!');
|
|
135
|
+
console.log('');
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch (err) {
|
|
139
|
+
s.stop('Operation failed');
|
|
140
|
+
if (options.json) {
|
|
141
|
+
if (err instanceof MigrationError) {
|
|
142
|
+
console.log(JSON.stringify({ error: err.toJSON() }));
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
console.log(JSON.stringify({ error: err instanceof Error ? err.message : String(err) }));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
console.log('');
|
|
150
|
+
if (err instanceof MigrationError) {
|
|
151
|
+
error(err.message);
|
|
152
|
+
if (err.fix) {
|
|
153
|
+
console.log(` ${pc.dim('Fix:')} ${err.fix}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
error(err instanceof Error ? err.message : String(err));
|
|
158
|
+
}
|
|
159
|
+
console.log('');
|
|
160
|
+
}
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=fresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fresh.js","sourceRoot":"","sources":["../../../src/migrations/commands/fresh.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration Commands Index
|
|
3
|
+
*
|
|
4
|
+
* Exports all migration subcommands.
|
|
5
|
+
*/
|
|
6
|
+
export { createMigrateFreshCommand } from './fresh.js';
|
|
7
|
+
export { createMigrateResetCommand } from './reset.js';
|
|
8
|
+
export { createMigrateRollbackCommand } from './rollback.js';
|
|
9
|
+
export { createMigrateRunCommand } from './run.js';
|
|
10
|
+
export { createMigrateStatusCommand } from './status.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrations/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration Commands Index
|
|
3
|
+
*
|
|
4
|
+
* Exports all migration subcommands.
|
|
5
|
+
*/
|
|
6
|
+
export { createMigrateFreshCommand } from './fresh.js';
|
|
7
|
+
export { createMigrateResetCommand } from './reset.js';
|
|
8
|
+
export { createMigrateRollbackCommand } from './rollback.js';
|
|
9
|
+
export { createMigrateRunCommand } from './run.js';
|
|
10
|
+
export { createMigrateStatusCommand } from './status.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* migrate:reset Command
|
|
3
|
+
*
|
|
4
|
+
* Rollback all migrations then re-run them using our down.sql files.
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
/**
|
|
8
|
+
* Create the migrate:reset command
|
|
9
|
+
*/
|
|
10
|
+
export declare function createMigrateResetCommand(): Command;
|
|
11
|
+
//# sourceMappingURL=reset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../src/migrations/commands/reset.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CASnD"}
|