@postxl/generator 0.74.2 → 1.0.3

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 (189) hide show
  1. package/LICENSE +50 -0
  2. package/README.md +79 -1
  3. package/dist/generator-manager.class.d.ts +59 -0
  4. package/dist/generator-manager.class.js +221 -0
  5. package/dist/generator.class.d.ts +90 -0
  6. package/dist/generator.class.js +32 -0
  7. package/dist/generator.context.d.ts +174 -0
  8. package/dist/generator.context.js +125 -0
  9. package/dist/helpers/branded.types.d.ts +149 -0
  10. package/dist/helpers/branded.types.js +111 -0
  11. package/dist/helpers/config-builder.class.d.ts +27 -0
  12. package/dist/helpers/config-builder.class.js +54 -0
  13. package/dist/helpers/import-generator.class.d.ts +70 -0
  14. package/dist/helpers/import-generator.class.js +166 -0
  15. package/dist/helpers/importable.types.d.ts +52 -0
  16. package/dist/helpers/importable.types.js +15 -0
  17. package/dist/helpers/index-generator.class.d.ts +10 -0
  18. package/dist/helpers/index-generator.class.js +46 -0
  19. package/dist/helpers/index.d.ts +8 -0
  20. package/dist/helpers/index.js +24 -0
  21. package/dist/helpers/package-json.generator.d.ts +56 -0
  22. package/dist/helpers/package-json.generator.js +36 -0
  23. package/dist/helpers/tsconfig.generator.d.ts +1 -0
  24. package/dist/helpers/tsconfig.generator.js +14 -0
  25. package/dist/helpers/verify-context.d.ts +4 -0
  26. package/dist/helpers/verify-context.js +23 -0
  27. package/dist/index.d.ts +5 -0
  28. package/dist/index.js +21 -0
  29. package/dist/utils/checksum.d.ts +10 -0
  30. package/dist/utils/checksum.js +132 -0
  31. package/dist/utils/fs-utils.d.ts +34 -0
  32. package/dist/utils/fs-utils.js +126 -0
  33. package/dist/utils/index.d.ts +10 -0
  34. package/dist/utils/index.js +26 -0
  35. package/dist/utils/jsdoc.d.ts +12 -0
  36. package/dist/utils/jsdoc.js +37 -0
  37. package/dist/utils/lint.d.ts +46 -0
  38. package/dist/utils/lint.js +154 -0
  39. package/dist/utils/lockfile.d.ts +7 -0
  40. package/dist/utils/lockfile.js +80 -0
  41. package/dist/utils/logger.class.d.ts +25 -0
  42. package/dist/utils/logger.class.js +55 -0
  43. package/dist/utils/merge-conflict.d.ts +55 -0
  44. package/dist/utils/merge-conflict.js +264 -0
  45. package/dist/utils/path.d.ts +52 -0
  46. package/dist/utils/path.js +183 -0
  47. package/dist/utils/prettier-config.d.ts +2 -0
  48. package/dist/utils/prettier-config.js +13 -0
  49. package/dist/utils/prettier.d.ts +5 -0
  50. package/dist/utils/prettier.js +67 -0
  51. package/dist/utils/prettier.skiptest.d.ts +1 -0
  52. package/dist/utils/prettier.skiptest.js +22 -0
  53. package/dist/utils/promise.d.ts +2 -0
  54. package/dist/utils/promise.js +10 -0
  55. package/dist/utils/string-functions.d.ts +9 -0
  56. package/dist/utils/string-functions.js +23 -0
  57. package/dist/utils/sync-log-result.d.ts +9 -0
  58. package/dist/utils/sync-log-result.js +90 -0
  59. package/dist/utils/sync.d.ts +143 -0
  60. package/dist/utils/sync.js +325 -0
  61. package/dist/utils/template.d.ts +66 -0
  62. package/dist/utils/template.js +159 -0
  63. package/dist/utils/vfs.class.d.ts +115 -0
  64. package/dist/utils/vfs.class.js +239 -0
  65. package/dist/utils/zip.d.ts +13 -0
  66. package/dist/utils/zip.js +40 -0
  67. package/package.json +53 -31
  68. package/dist/generator.d.ts +0 -13
  69. package/dist/generator.js +0 -455
  70. package/dist/generators/enums/react.generator.d.ts +0 -10
  71. package/dist/generators/enums/react.generator.js +0 -110
  72. package/dist/generators/enums/types.generator.d.ts +0 -10
  73. package/dist/generators/enums/types.generator.js +0 -39
  74. package/dist/generators/indices/data/module.generator.d.ts +0 -9
  75. package/dist/generators/indices/data/module.generator.js +0 -60
  76. package/dist/generators/indices/data/service.generator.d.ts +0 -9
  77. package/dist/generators/indices/data/service.generator.js +0 -249
  78. package/dist/generators/indices/data/types.generator.d.ts +0 -9
  79. package/dist/generators/indices/data/types.generator.js +0 -49
  80. package/dist/generators/indices/dispatcher-service.generator.d.ts +0 -9
  81. package/dist/generators/indices/dispatcher-service.generator.js +0 -107
  82. package/dist/generators/indices/export/class.generator.d.ts +0 -9
  83. package/dist/generators/indices/export/class.generator.js +0 -140
  84. package/dist/generators/indices/export/encoder.generator.d.ts +0 -9
  85. package/dist/generators/indices/export/encoder.generator.js +0 -50
  86. package/dist/generators/indices/import/convert-functions.generator.d.ts +0 -9
  87. package/dist/generators/indices/import/convert-functions.generator.js +0 -509
  88. package/dist/generators/indices/import/decoder.generator.d.ts +0 -9
  89. package/dist/generators/indices/import/decoder.generator.js +0 -40
  90. package/dist/generators/indices/import/service.generator.d.ts +0 -9
  91. package/dist/generators/indices/import/service.generator.js +0 -573
  92. package/dist/generators/indices/import/types.generator.d.ts +0 -9
  93. package/dist/generators/indices/import/types.generator.js +0 -242
  94. package/dist/generators/indices/repositories.generator.d.ts +0 -9
  95. package/dist/generators/indices/repositories.generator.js +0 -25
  96. package/dist/generators/indices/routes.generator.d.ts +0 -9
  97. package/dist/generators/indices/routes.generator.js +0 -29
  98. package/dist/generators/indices/seed-migration.generator.d.ts +0 -9
  99. package/dist/generators/indices/seed-migration.generator.js +0 -36
  100. package/dist/generators/indices/seed-template.generator.d.ts +0 -9
  101. package/dist/generators/indices/seed-template.generator.js +0 -80
  102. package/dist/generators/indices/testids.generator.d.ts +0 -7
  103. package/dist/generators/indices/testids.generator.js +0 -71
  104. package/dist/generators/indices/types.generator.d.ts +0 -10
  105. package/dist/generators/indices/types.generator.js +0 -35
  106. package/dist/generators/indices/update/actiontypes.generator.d.ts +0 -9
  107. package/dist/generators/indices/update/actiontypes.generator.js +0 -49
  108. package/dist/generators/indices/update/module.generator.d.ts +0 -9
  109. package/dist/generators/indices/update/module.generator.js +0 -41
  110. package/dist/generators/indices/update/service.generator.d.ts +0 -9
  111. package/dist/generators/indices/update/service.generator.js +0 -34
  112. package/dist/generators/indices/view/module.generator.d.ts +0 -9
  113. package/dist/generators/indices/view/module.generator.js +0 -39
  114. package/dist/generators/indices/view/service.generator.d.ts +0 -9
  115. package/dist/generators/indices/view/service.generator.js +0 -34
  116. package/dist/generators/models/admin.page.generator.d.ts +0 -7
  117. package/dist/generators/models/admin.page.generator.js +0 -74
  118. package/dist/generators/models/export/encoder.generator.d.ts +0 -9
  119. package/dist/generators/models/export/encoder.generator.js +0 -51
  120. package/dist/generators/models/import/decoder.generator.d.ts +0 -9
  121. package/dist/generators/models/import/decoder.generator.js +0 -148
  122. package/dist/generators/models/react/context.generator.d.ts +0 -9
  123. package/dist/generators/models/react/context.generator.js +0 -71
  124. package/dist/generators/models/react/index.d.ts +0 -10
  125. package/dist/generators/models/react/index.js +0 -31
  126. package/dist/generators/models/react/library.generator.d.ts +0 -10
  127. package/dist/generators/models/react/library.generator.js +0 -94
  128. package/dist/generators/models/react/lookup.generator.d.ts +0 -9
  129. package/dist/generators/models/react/lookup.generator.js +0 -175
  130. package/dist/generators/models/react/modals.generator.d.ts +0 -23
  131. package/dist/generators/models/react/modals.generator.js +0 -710
  132. package/dist/generators/models/repository.generator.d.ts +0 -9
  133. package/dist/generators/models/repository.generator.js +0 -955
  134. package/dist/generators/models/route.generator.d.ts +0 -9
  135. package/dist/generators/models/route.generator.js +0 -92
  136. package/dist/generators/models/seed.generator.d.ts +0 -21
  137. package/dist/generators/models/seed.generator.js +0 -285
  138. package/dist/generators/models/stub.generator.d.ts +0 -9
  139. package/dist/generators/models/stub.generator.js +0 -92
  140. package/dist/generators/models/types.generator.d.ts +0 -9
  141. package/dist/generators/models/types.generator.js +0 -125
  142. package/dist/generators/models/update/service.generator.d.ts +0 -10
  143. package/dist/generators/models/update/service.generator.js +0 -302
  144. package/dist/generators/models/view/service.generator.d.ts +0 -10
  145. package/dist/generators/models/view/service.generator.js +0 -239
  146. package/dist/lib/attributes.d.ts +0 -114
  147. package/dist/lib/attributes.js +0 -2
  148. package/dist/lib/exports.d.ts +0 -45
  149. package/dist/lib/exports.js +0 -90
  150. package/dist/lib/imports.d.ts +0 -65
  151. package/dist/lib/imports.js +0 -114
  152. package/dist/lib/meta.d.ts +0 -1191
  153. package/dist/lib/meta.js +0 -434
  154. package/dist/lib/schema/fields.d.ts +0 -46
  155. package/dist/lib/schema/fields.js +0 -62
  156. package/dist/lib/schema/schema.d.ts +0 -466
  157. package/dist/lib/schema/schema.js +0 -18
  158. package/dist/lib/schema/types.d.ts +0 -201
  159. package/dist/lib/schema/types.js +0 -112
  160. package/dist/lib/serializer.d.ts +0 -15
  161. package/dist/lib/serializer.js +0 -24
  162. package/dist/lib/test-id-collector.d.ts +0 -42
  163. package/dist/lib/test-id-collector.js +0 -53
  164. package/dist/lib/types.d.ts +0 -7
  165. package/dist/lib/types.js +0 -13
  166. package/dist/lib/typescript.d.ts +0 -5
  167. package/dist/lib/typescript.js +0 -22
  168. package/dist/lib/utils/ast.d.ts +0 -29
  169. package/dist/lib/utils/ast.js +0 -23
  170. package/dist/lib/utils/error.d.ts +0 -17
  171. package/dist/lib/utils/error.js +0 -52
  172. package/dist/lib/utils/file.d.ts +0 -10
  173. package/dist/lib/utils/file.js +0 -56
  174. package/dist/lib/utils/jsdoc.d.ts +0 -9
  175. package/dist/lib/utils/jsdoc.js +0 -37
  176. package/dist/lib/utils/logger.d.ts +0 -17
  177. package/dist/lib/utils/logger.js +0 -12
  178. package/dist/lib/utils/string.d.ts +0 -40
  179. package/dist/lib/utils/string.js +0 -187
  180. package/dist/lib/utils/types.d.ts +0 -12
  181. package/dist/lib/utils/types.js +0 -2
  182. package/dist/lib/zod.d.ts +0 -8
  183. package/dist/lib/zod.js +0 -60
  184. package/dist/prisma/attributes.d.ts +0 -21
  185. package/dist/prisma/attributes.js +0 -175
  186. package/dist/prisma/client-path.d.ts +0 -7
  187. package/dist/prisma/client-path.js +0 -29
  188. package/dist/prisma/parse.d.ts +0 -12
  189. package/dist/prisma/parse.js +0 -452
@@ -1,45 +0,0 @@
1
- import * as Types from './schema/types';
2
- /**
3
- * A utility component that lets you generate TypeScript export statements that export all items from a given file.
4
- */
5
- export declare class ExportsGenerator {
6
- private _exports;
7
- /**
8
- * Path of the file we're generating exports for.
9
- */
10
- private _path;
11
- /**
12
- * Tells whether this generator acts as a root.
13
- */
14
- private isRoot;
15
- constructor({ path, isRoot }: {
16
- path: string;
17
- isRoot?: boolean;
18
- });
19
- /**
20
- * Creates a new instance of the exports generator.
21
- */
22
- static from(path: Types.FilePath): ExportsGenerator;
23
- /**
24
- * Creates a new instance of the exports generator from this folder (i.e. every path is relative to this folder).
25
- */
26
- static fromRoot(): ExportsGenerator;
27
- /**
28
- * Adds a given file to the collection of files we're exporting everything from.
29
- */
30
- exportEverythingFromPath(from: Types.FilePath): ExportsGenerator;
31
- /**
32
- * Adds a given file to the collection of files we're exporting everything from.
33
- *
34
- * NOTE: This should only be used when the generator is a root generator.
35
- */
36
- exportEverythingFromFile(file: string): ExportsGenerator;
37
- /**
38
- * Adds a given file to the collection of files we're exporting a selection from.
39
- */
40
- exportSelectionFromPath(from: Types.FilePath, elements: Types.ImportableTypes[]): ExportsGenerator;
41
- /**
42
- * Returns the TypeScript export statements.
43
- */
44
- generate(): string;
45
- }
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExportsGenerator = void 0;
4
- const file_1 = require("./utils/file");
5
- /**
6
- * A utility component that lets you generate TypeScript export statements that export all items from a given file.
7
- */
8
- class ExportsGenerator {
9
- constructor({ path, isRoot }) {
10
- this._path = path;
11
- this._exports = new Map();
12
- this.isRoot = isRoot !== null && isRoot !== void 0 ? isRoot : false;
13
- }
14
- /**
15
- * Creates a new instance of the exports generator.
16
- */
17
- static from(path) {
18
- return new ExportsGenerator({ path });
19
- }
20
- /**
21
- * Creates a new instance of the exports generator from this folder (i.e. every path is relative to this folder).
22
- */
23
- static fromRoot() {
24
- return new ExportsGenerator({ path: './', isRoot: true });
25
- }
26
- /**
27
- * Adds a given file to the collection of files we're exporting everything from.
28
- */
29
- exportEverythingFromPath(from) {
30
- if (this.isRoot) {
31
- throw new Error(`Cannot use "exportEverythingFromPath" on a root generator.`);
32
- }
33
- const resolvedPath = (0, file_1.getRelativePath)({ from: this._path, to: from });
34
- this._exports.set(resolvedPath, { kind: 'wildcard' });
35
- return this;
36
- }
37
- /**
38
- * Adds a given file to the collection of files we're exporting everything from.
39
- *
40
- * NOTE: This should only be used when the generator is a root generator.
41
- */
42
- exportEverythingFromFile(file) {
43
- if (!this.isRoot) {
44
- throw new Error(`Cannot use "exportEverythingFromFile" on a non-root generator.`);
45
- }
46
- this._exports.set(file, { kind: 'wildcard' });
47
- return this;
48
- }
49
- /**
50
- * Adds a given file to the collection of files we're exporting a selection from.
51
- */
52
- exportSelectionFromPath(from, elements) {
53
- if (this.isRoot) {
54
- throw new Error(`Cannot use "exportSelectionFromPath" on a root generator.`);
55
- }
56
- const resolvedPath = (0, file_1.getRelativePath)({ from: this._path, to: from });
57
- const _existing = this._exports.get(resolvedPath);
58
- // NOTE: If we already export everything, we don't need to do anything.
59
- if ((_existing === null || _existing === void 0 ? void 0 : _existing.kind) === 'wildcard') {
60
- return this;
61
- }
62
- if ((_existing === null || _existing === void 0 ? void 0 : _existing.kind) === 'selection') {
63
- for (const element of elements) {
64
- _existing.elements.add(element);
65
- }
66
- return this;
67
- }
68
- this._exports.set(resolvedPath, { kind: 'selection', elements: new Set(elements) });
69
- return this;
70
- }
71
- /**
72
- * Returns the TypeScript export statements.
73
- */
74
- generate() {
75
- const statements = [];
76
- const exports = Array.from(this._exports.entries()).sort((a, b) => a[0].localeCompare(b[0]));
77
- for (const [_path, _export] of exports) {
78
- switch (_export.kind) {
79
- case 'wildcard':
80
- statements.push(`export * from '${_path}'`);
81
- break;
82
- case 'selection':
83
- statements.push(`export { ${Array.from(_export.elements).join(', ')} } from '${_path}'`);
84
- break;
85
- }
86
- }
87
- return statements.join('\n');
88
- }
89
- }
90
- exports.ExportsGenerator = ExportsGenerator;
@@ -1,65 +0,0 @@
1
- import * as Types from './schema/types';
2
- /**
3
- * A structured definition of multiple imports: The key of the object is the "from" path,
4
- * the value is a list (or single item) of items to import.
5
- *
6
- * Example:
7
- * ```
8
- * {
9
- * [meta.data.importPath]: meta.data.repository.className,
10
- * [meta.types.importPath]: [model.brandedIdType, meta.types.typeName],
11
- * }
12
- * ```
13
- */
14
- export type BulkImportDefinition = Record<Types.ImportPaths, Types.ImportableTypes[] | Types.ImportableTypes>;
15
- /**
16
- * A utility component that lets you generate TypeScript import statements
17
- * and makes sure every import is only added once.
18
- */
19
- export declare class ImportsGenerator {
20
- /**
21
- * Lists of values and types we import from a given path indexed by the path.
22
- */
23
- private _imports;
24
- /**
25
- * Path of the file we're generating imports for.
26
- */
27
- private _path;
28
- constructor({ path }: {
29
- path: string;
30
- });
31
- /**
32
- * Creates a new instance of the imports generator.
33
- */
34
- static from(path: Types.FilePath): ImportsGenerator;
35
- /**
36
- * Adds a given import statement to the imports list.
37
- *
38
- * NOTE: You should never add no items from a given path.
39
- */
40
- addImport({ items, from }: {
41
- items: Types.ImportableTypes[];
42
- from: Types.ImportPaths;
43
- }): ImportsGenerator;
44
- /**
45
- * Adds a given type import statement to the imports list.
46
- *
47
- * NOTE: You should never add no items from a given path.
48
- */
49
- addTypeImport({ items, from }: {
50
- items: Types.TypeName[];
51
- from: Types.ImportPaths;
52
- }): ImportsGenerator;
53
- /**
54
- * Adds a multiple import statements to the imports list.
55
- *
56
- * @param entries - A record of items to import indexed by the path.
57
- *
58
- * NOTE: You should never add no items from a given path.
59
- */
60
- addImports(entries: BulkImportDefinition): ImportsGenerator;
61
- /**
62
- * Returns the TypeScript import statement.
63
- */
64
- generate(): string;
65
- }
@@ -1,114 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ImportsGenerator = void 0;
27
- const Types = __importStar(require("./schema/types"));
28
- const file_1 = require("./utils/file");
29
- /**
30
- * A utility component that lets you generate TypeScript import statements
31
- * and makes sure every import is only added once.
32
- */
33
- class ImportsGenerator {
34
- constructor({ path }) {
35
- /**
36
- * Lists of values and types we import from a given path indexed by the path.
37
- */
38
- this._imports = {};
39
- this._path = path;
40
- }
41
- /**
42
- * Creates a new instance of the imports generator.
43
- */
44
- static from(path) {
45
- return new ImportsGenerator({ path });
46
- }
47
- /**
48
- * Adds a given import statement to the imports list.
49
- *
50
- * NOTE: You should never add no items from a given path.
51
- */
52
- addImport({ items, from }) {
53
- // NOTE: Generator relies that there's at least one import statement from a given path.
54
- if (items.length === 0) {
55
- throw new Error(`You cannot add an import statement without any items from ${from}.`);
56
- }
57
- const resolvedPath = (0, file_1.getRelativePath)({ from: this._path, to: from });
58
- if (!this._imports[resolvedPath]) {
59
- this._imports[resolvedPath] = { types: new Set(), nonTypes: new Set() };
60
- }
61
- items.forEach((item) => {
62
- if (Types.isAnnotatedTypeName(item)) {
63
- this._imports[resolvedPath].types.add(item.typeName);
64
- }
65
- else {
66
- this._imports[resolvedPath].nonTypes.add(item);
67
- }
68
- });
69
- return this;
70
- }
71
- /**
72
- * Adds a given type import statement to the imports list.
73
- *
74
- * NOTE: You should never add no items from a given path.
75
- */
76
- addTypeImport({ items, from }) {
77
- return this.addImport({ items: items.map((i) => Types.toAnnotatedTypeName(i)), from });
78
- }
79
- /**
80
- * Adds a multiple import statements to the imports list.
81
- *
82
- * @param entries - A record of items to import indexed by the path.
83
- *
84
- * NOTE: You should never add no items from a given path.
85
- */
86
- addImports(entries) {
87
- for (const [key, items] of Object.entries(entries)) {
88
- if (Array.isArray(items)) {
89
- this.addImport({ items, from: key });
90
- }
91
- else {
92
- this.addImport({ items: [items], from: key });
93
- }
94
- }
95
- return this;
96
- }
97
- /**
98
- * Returns the TypeScript import statement.
99
- */
100
- generate() {
101
- const statements = Object.entries(this._imports)
102
- .sort(([a], [b]) => a.localeCompare(b))
103
- .map(([path, items]) => {
104
- const nonTypes = Array.from(items.nonTypes).sort((a, b) => a.localeCompare(b));
105
- const nonTypesImportStatement = nonTypes.length > 0 ? `import { ${nonTypes.join(', ')} } from '${path}'\n` : '';
106
- const types = Array.from(items.types).sort((a, b) => a.localeCompare(b));
107
- const typesImportStatement = types.length > 0 ? `import type { ${types.join(', ')} } from '${path}'` : '';
108
- return `${nonTypesImportStatement}${typesImportStatement}`;
109
- })
110
- .join('\n');
111
- return statements;
112
- }
113
- }
114
- exports.ImportsGenerator = ImportsGenerator;