@gadmin2n/prisma-react-generator 0.0.35

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 (37) hide show
  1. package/LICENSE +177 -0
  2. package/README.md +1 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.js +4 -0
  5. package/dist/generator/field-classifiers.d.ts +13 -0
  6. package/dist/generator/field-classifiers.js +45 -0
  7. package/dist/generator/generate-config-props.d.ts +21 -0
  8. package/dist/generator/generate-config-props.js +198 -0
  9. package/dist/generator/generate-create-page.d.ts +13 -0
  10. package/dist/generator/generate-create-page.js +129 -0
  11. package/dist/generator/generate-edit-page.d.ts +13 -0
  12. package/dist/generator/generate-edit-page.js +138 -0
  13. package/dist/generator/generate-index-page.d.ts +13 -0
  14. package/dist/generator/generate-index-page.js +16 -0
  15. package/dist/generator/generate-list-page.d.ts +13 -0
  16. package/dist/generator/generate-list-page.js +262 -0
  17. package/dist/generator/generate-model-props.d.ts +14 -0
  18. package/dist/generator/generate-model-props.js +78 -0
  19. package/dist/generator/generate-models-index.d.ts +9 -0
  20. package/dist/generator/generate-models-index.js +19 -0
  21. package/dist/generator/generate-resources.d.ts +8 -0
  22. package/dist/generator/generate-resources.js +33 -0
  23. package/dist/generator/generate-show-page.d.ts +13 -0
  24. package/dist/generator/generate-show-page.js +71 -0
  25. package/dist/generator/generate-ui-config.d.ts +2 -0
  26. package/dist/generator/generate-ui-config.js +354 -0
  27. package/dist/generator/helpers.d.ts +55 -0
  28. package/dist/generator/helpers.js +356 -0
  29. package/dist/generator/index.d.ts +9 -0
  30. package/dist/generator/index.js +131 -0
  31. package/dist/generator/template-helpers.d.ts +27 -0
  32. package/dist/generator/template-helpers.js +78 -0
  33. package/dist/generator/types.d.ts +27 -0
  34. package/dist/generator/types.js +2 -0
  35. package/dist/index.d.ts +3 -0
  36. package/dist/index.js +53 -0
  37. package/package.json +79 -0
package/dist/index.js ADDED
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generate = exports.stringToBoolean = void 0;
7
+ const promises_1 = __importDefault(require("node:fs/promises"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const make_dir_1 = __importDefault(require("make-dir"));
10
+ const generator_helper_1 = require("@prisma/generator-helper");
11
+ const sdk_1 = require("@prisma/sdk");
12
+ const generator_1 = require("./generator");
13
+ const stringToBoolean = (input, defaultValue = false) => {
14
+ if (input === 'true') {
15
+ return true;
16
+ }
17
+ if (input === 'false') {
18
+ return false;
19
+ }
20
+ return defaultValue;
21
+ };
22
+ exports.stringToBoolean = stringToBoolean;
23
+ const generate = (options) => {
24
+ const output = (0, sdk_1.parseEnvValue)(options.generator.output);
25
+ const { fileNamingStyle = 'camel', } = options.generator.config;
26
+ const supportedFileNamingStyles = ['kebab', 'camel', 'pascal', 'snake'];
27
+ const isSupportedFileNamingStyle = (style) => supportedFileNamingStyles.includes(style);
28
+ if (!isSupportedFileNamingStyle(fileNamingStyle)) {
29
+ throw new Error(`'${fileNamingStyle}' is not a valid file naming style. Valid options are ${supportedFileNamingStyles
30
+ .map((s) => `'${s}'`)
31
+ .join(', ')}.`);
32
+ }
33
+ const results = (0, generator_1.run)({
34
+ output,
35
+ dmmf: options.dmmf,
36
+ fileNamingStyle,
37
+ });
38
+ const indexCollections = {};
39
+ return Promise.all(results
40
+ .concat(Object.values(indexCollections))
41
+ .map(async ({ fileName, content }) => {
42
+ await (0, make_dir_1.default)(node_path_1.default.dirname(fileName));
43
+ return promises_1.default.writeFile(fileName, content);
44
+ }));
45
+ };
46
+ exports.generate = generate;
47
+ (0, generator_helper_1.generatorHandler)({
48
+ onManifest: () => ({
49
+ defaultOutput: '../src/generated/.react/',
50
+ prettyName: 'Gadmin2 react code Generator',
51
+ }),
52
+ onGenerate: exports.generate,
53
+ });
package/package.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "@gadmin2n/prisma-react-generator",
3
+ "description": "Generates react props and components from Prisma Schema for Tea/Antd ui lib.",
4
+ "version": "0.0.35",
5
+ "license": "Apache-2.0",
6
+ "author": {
7
+ "name": "kavenma",
8
+ "email": "kavenma@tencent.com",
9
+ "url": "https://gadmin.com/"
10
+ },
11
+ "main": "dist/index.js",
12
+ "keywords": [
13
+ "prisma",
14
+ "generator",
15
+ "react",
16
+ "props",
17
+ "componets",
18
+ "typescript"
19
+ ],
20
+ "scripts": {
21
+ "prebuild": "npm run cleanup:generated",
22
+ "build": "tsc --project tsconfig.build.json",
23
+ "format": "prettier --write \"{src,test}/**/*.{js,ts}\"",
24
+ "prelint": "npm run format -- --loglevel error",
25
+ "lint": "eslint \"{src,test}/**/*.{js,ts}\" --fix",
26
+ "pretest": "npm run lint",
27
+ "test": "jest",
28
+ "test:watch": "jest --watch",
29
+ "cleanup:generated": "rimraf src/@generated",
30
+ "pregenerate": "npm run cleanup:generated",
31
+ "generate": "npx prisma generate && npm run format -- --loglevel error"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": ""
36
+ },
37
+ "bin": {
38
+ "prisma-react-generator": "dist/cli.js"
39
+ },
40
+ "engines": {
41
+ "node": ">=14.18"
42
+ },
43
+ "files": [
44
+ "dist"
45
+ ],
46
+ "publishConfig": {
47
+ "access": "public"
48
+ },
49
+ "dependencies": {
50
+ "@prisma/generator-helper": "^4.12.0",
51
+ "@prisma/sdk": "^4.0.0",
52
+ "case": "^1.6.3",
53
+ "chalk": "^5.0.1",
54
+ "immer": "^9.0.15",
55
+ "make-dir": "^3.1.0",
56
+ "notation": "^2.0.0",
57
+ "shelljs": "^0.8.5",
58
+ "slash": "^3.0.0",
59
+ "tar": "^6.1.11",
60
+ "ts-morph": "^15.1.0"
61
+ },
62
+ "devDependencies": {
63
+ "@types/jest": "^27.0.2",
64
+ "@types/node": "^17.0.1",
65
+ "@types/shelljs": "^0.8.11",
66
+ "@typescript-eslint/eslint-plugin": "^4.33.0",
67
+ "@typescript-eslint/parser": "^4.33.0",
68
+ "eslint": "^7.32.0",
69
+ "eslint-config-prettier": "^8.3.0",
70
+ "eslint-plugin-prettier": "^4.0.0",
71
+ "jest": "^27.2.4",
72
+ "prettier": "^2.4.1",
73
+ "prisma": "^4.12.0",
74
+ "rimraf": "^3.0.2",
75
+ "ts-jest": "^27.0.5",
76
+ "ts-node": "^10.2.1",
77
+ "typescript": "^4.4.3"
78
+ }
79
+ }