@postxl/generator 0.38.0 → 0.38.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/dist/generator.js
CHANGED
|
@@ -34,20 +34,36 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
34
|
};
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.generate = void 0;
|
|
37
|
-
const lock_1 = require("@postxl/lock");
|
|
38
37
|
const generator_helper_1 = require("@prisma/generator-helper");
|
|
39
38
|
const internals_1 = require("@prisma/internals");
|
|
40
39
|
const prettier = __importStar(require("prettier"));
|
|
41
40
|
const zod_1 = require("zod");
|
|
41
|
+
const lock_1 = require("@postxl/lock");
|
|
42
42
|
const react_generator_1 = require("./generators/enums/react.generator");
|
|
43
43
|
const types_generator_1 = require("./generators/enums/types.generator");
|
|
44
|
+
const businesslogic_actiontypes_generator_1 = require("./generators/indices/businesslogic-actiontypes.generator");
|
|
45
|
+
const businesslogic_update_index_generator_1 = require("./generators/indices/businesslogic-update-index.generator");
|
|
46
|
+
const businesslogic_update_module_generator_1 = require("./generators/indices/businesslogic-update-module.generator");
|
|
47
|
+
const businesslogic_update_service_generator_1 = require("./generators/indices/businesslogic-update-service.generator");
|
|
48
|
+
const businesslogic_view_index_generator_1 = require("./generators/indices/businesslogic-view-index.generator");
|
|
49
|
+
const businesslogic_view_module_generator_1 = require("./generators/indices/businesslogic-view-module.generator");
|
|
50
|
+
const businesslogic_view_service_generator_1 = require("./generators/indices/businesslogic-view-service.generator");
|
|
44
51
|
const datamock_module_generator_1 = require("./generators/indices/datamock-module.generator");
|
|
52
|
+
const datamocker_generator_1 = require("./generators/indices/datamocker.generator");
|
|
45
53
|
const datamodule_generator_1 = require("./generators/indices/datamodule.generator");
|
|
46
54
|
const dataservice_generator_1 = require("./generators/indices/dataservice.generator");
|
|
55
|
+
const dispatcher_service_generator_1 = require("./generators/indices/dispatcher-service.generator");
|
|
47
56
|
const emptydatabasemigration_generator_1 = require("./generators/indices/emptydatabasemigration.generator");
|
|
48
57
|
const repositories_generator_1 = require("./generators/indices/repositories.generator");
|
|
58
|
+
const seed_migration_generator_1 = require("./generators/indices/seed-migration.generator");
|
|
59
|
+
const seed_service_generator_1 = require("./generators/indices/seed-service.generator");
|
|
60
|
+
const seed_template_generator_1 = require("./generators/indices/seed-template.generator");
|
|
61
|
+
const seed_template_decoder_generator_1 = require("./generators/indices/seed-template-decoder.generator");
|
|
62
|
+
const seeddata_type_generator_1 = require("./generators/indices/seeddata-type.generator");
|
|
49
63
|
const stubs_generator_1 = require("./generators/indices/stubs.generator");
|
|
50
64
|
const types_generator_2 = require("./generators/indices/types.generator");
|
|
65
|
+
const businesslogic_update_generator_1 = require("./generators/models/businesslogic-update.generator");
|
|
66
|
+
const businesslogic_view_generator_1 = require("./generators/models/businesslogic-view.generator");
|
|
51
67
|
const react_generator_2 = require("./generators/models/react.generator");
|
|
52
68
|
const repository_generator_1 = require("./generators/models/repository.generator");
|
|
53
69
|
const route_generator_1 = require("./generators/models/route.generator");
|
|
@@ -57,22 +73,6 @@ const types_generator_3 = require("./generators/models/types.generator");
|
|
|
57
73
|
const meta_1 = require("./lib/meta");
|
|
58
74
|
const types_1 = require("./lib/schema/types");
|
|
59
75
|
const vfs_1 = require("./lib/vfs");
|
|
60
|
-
const businesslogic_actiontypes_generator_1 = require("./generators/indices/businesslogic-actiontypes.generator");
|
|
61
|
-
const businesslogic_update_index_generator_1 = require("./generators/indices/businesslogic-update-index.generator");
|
|
62
|
-
const businesslogic_update_module_generator_1 = require("./generators/indices/businesslogic-update-module.generator");
|
|
63
|
-
const businesslogic_update_service_generator_1 = require("./generators/indices/businesslogic-update-service.generator");
|
|
64
|
-
const businesslogic_view_index_generator_1 = require("./generators/indices/businesslogic-view-index.generator");
|
|
65
|
-
const businesslogic_view_module_generator_1 = require("./generators/indices/businesslogic-view-module.generator");
|
|
66
|
-
const businesslogic_view_service_generator_1 = require("./generators/indices/businesslogic-view-service.generator");
|
|
67
|
-
const datamocker_generator_1 = require("./generators/indices/datamocker.generator");
|
|
68
|
-
const dispatcher_service_generator_1 = require("./generators/indices/dispatcher-service.generator");
|
|
69
|
-
const seed_migration_generator_1 = require("./generators/indices/seed-migration.generator");
|
|
70
|
-
const seed_service_generator_1 = require("./generators/indices/seed-service.generator");
|
|
71
|
-
const seed_template_decoder_generator_1 = require("./generators/indices/seed-template-decoder.generator");
|
|
72
|
-
const seed_template_generator_1 = require("./generators/indices/seed-template.generator");
|
|
73
|
-
const seeddata_type_generator_1 = require("./generators/indices/seeddata-type.generator");
|
|
74
|
-
const businesslogic_update_generator_1 = require("./generators/models/businesslogic-update.generator");
|
|
75
|
-
const businesslogic_view_generator_1 = require("./generators/models/businesslogic-view.generator");
|
|
76
76
|
const client_path_1 = require("./prisma/client-path");
|
|
77
77
|
const parse_1 = require("./prisma/parse");
|
|
78
78
|
const CONFIG_SCHEMA = zod_1.z
|
|
@@ -249,9 +249,7 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
|
|
|
249
249
|
}
|
|
250
250
|
// -------------------------------------------------------------------------
|
|
251
251
|
// Add disclaimer and format.
|
|
252
|
-
const prettierConfig = yield prettier.resolveConfig(process.cwd());
|
|
253
252
|
yield generated.transformUTF8Files((path, content) => `${DISCLAIMER}\n${content}`);
|
|
254
|
-
yield generated.formatUTF8Files(prettierConfig);
|
|
255
253
|
const lintResult = yield generated.lintUTF8Files({
|
|
256
254
|
fix: true,
|
|
257
255
|
useEslintrc: false,
|
|
@@ -260,7 +258,7 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
|
|
|
260
258
|
overrideConfig: {
|
|
261
259
|
parser: '@typescript-eslint/parser',
|
|
262
260
|
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
|
|
263
|
-
plugins: ['@typescript-eslint'],
|
|
261
|
+
plugins: ['@typescript-eslint', 'simple-import-sort'],
|
|
264
262
|
parserOptions: {
|
|
265
263
|
sourceType: 'module',
|
|
266
264
|
ecmaVersion: 'latest',
|
|
@@ -273,6 +271,31 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
|
|
|
273
271
|
// The "curly" rule ensures that all if, else if, else, for, while, or do blocks are followed by a block in braces, even if it is only a single line.
|
|
274
272
|
// This will flag `if(condition) return x` and expect it to be written as `if (condition) { return x }`
|
|
275
273
|
curly: ['error', 'all'],
|
|
274
|
+
// NOTE: Make sure this matches the definition in the template root .eslintrc.cjs file!
|
|
275
|
+
'simple-import-sort/imports': [
|
|
276
|
+
'error',
|
|
277
|
+
{
|
|
278
|
+
groups: [
|
|
279
|
+
// Node.js builtins. You could also generate this regex if you use a `.js` config
|
|
280
|
+
// (e.g. `^(${require("module").builtinModules.join("|")})(/|$)`)
|
|
281
|
+
[
|
|
282
|
+
'^(assert|buffer|child_process|cluster|console|constants|crypto|dgram|dns|domain|events|fs|http|https|module|net|os|path|punycode|querystring|readline|repl|stream|string_decoder|sys|timers|tls|tty|url|util|vm|zlib|freelist|v8|process|async_hooks|http2|perf_hooks)(/.*|$)',
|
|
283
|
+
],
|
|
284
|
+
// Side effect imports.
|
|
285
|
+
['^\\u0000'],
|
|
286
|
+
// Any packages that starts with an @ but not libraries we defined in tsconfig.json:
|
|
287
|
+
['^@(?!(pxl|postxl|assets|hooks|components|i18n|lib))'],
|
|
288
|
+
// Any other package.
|
|
289
|
+
['^'],
|
|
290
|
+
// Internal PXL packages.
|
|
291
|
+
['^(@pxl|@postxl|@assets|@hooks|@components|@i18n|@lib)(/.*|$)'],
|
|
292
|
+
// Parent imports. Put `..` last.
|
|
293
|
+
['^\\.\\.(?!/?$)', '^\\.\\./?$'],
|
|
294
|
+
// Other relative imports. Put same-folder imports and `.` last.
|
|
295
|
+
['^\\./(?=.*/)(?!/?$)', '^\\.(?!/?$)', '^\\./?$'],
|
|
296
|
+
],
|
|
297
|
+
},
|
|
298
|
+
],
|
|
276
299
|
},
|
|
277
300
|
},
|
|
278
301
|
});
|
|
@@ -292,6 +315,8 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
|
|
|
292
315
|
if (unfixedWarningCount === 0 && unfixableErrorCount === 0) {
|
|
293
316
|
console.log(`LINT: All files linted successfully without warnings and errors!`);
|
|
294
317
|
}
|
|
318
|
+
const prettierConfig = yield prettier.resolveConfig(process.cwd());
|
|
319
|
+
yield generated.formatUTF8Files(prettierConfig);
|
|
295
320
|
// -------------------------------------------------------------------------
|
|
296
321
|
// Merge with existing files.
|
|
297
322
|
yield vfs.copy(generated, './');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateDataMocker = void 0;
|
|
4
|
+
const imports_1 = require("../../lib/imports");
|
|
4
5
|
const meta_1 = require("../../lib/meta");
|
|
5
6
|
const schema_1 = require("../../lib/schema/schema");
|
|
6
|
-
const imports_1 = require("../../lib/imports");
|
|
7
7
|
/**
|
|
8
8
|
* Generates a generic data mocker class.
|
|
9
9
|
*/
|
|
@@ -25,6 +25,7 @@ function generateDataService({ models, meta }) {
|
|
|
25
25
|
const isEmptyChecks = mm.map(({ meta }) => `(await this.${meta.data.dataServiceName}.count()) === 0`).join(' &&');
|
|
26
26
|
return `
|
|
27
27
|
import { Injectable } from '@nestjs/common'
|
|
28
|
+
|
|
28
29
|
import { mapValues } from '@pxl/common'
|
|
29
30
|
|
|
30
31
|
${imports.generate()}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateRoutesIndex = exports.generateRoute = void 0;
|
|
4
|
-
const meta_1 = require("../../lib/meta");
|
|
5
4
|
const imports_1 = require("../../lib/imports");
|
|
5
|
+
const meta_1 = require("../../lib/meta");
|
|
6
6
|
/**
|
|
7
7
|
* Generates TRPC route for a given model.
|
|
8
8
|
*/
|
package/dist/lib/vfs.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ESLint } from 'eslint';
|
|
2
2
|
import * as prettier from 'prettier';
|
|
3
|
-
import { VirtualFS as BaseVirtualFS
|
|
3
|
+
import { PathUtils, VirtualFS as BaseVirtualFS } from '@postxl/lock';
|
|
4
4
|
type FileLintResult = {
|
|
5
5
|
fixableErrorCount: number;
|
|
6
6
|
errorCount: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@postxl/generator",
|
|
3
|
-
"version": "0.38.
|
|
3
|
+
"version": "0.38.2",
|
|
4
4
|
"main": "./dist/generator.js",
|
|
5
5
|
"typings": "./dist/generator.d.ts",
|
|
6
6
|
"bin": {
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"@typescript-eslint/parser": "^6.10.0",
|
|
22
22
|
"@typescript-eslint/utils": "^6.10.0",
|
|
23
23
|
"eslint": "^8.53.0",
|
|
24
|
+
"eslint-plugin-simple-import-sort": "^10.0.0",
|
|
24
25
|
"exceljs": "^4.3.0",
|
|
25
26
|
"fast-glob": "^3.2.12",
|
|
26
27
|
"prettier": "^3.0.3",
|