@rapidd/build 1.2.3 → 2.0.1

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 (71) hide show
  1. package/README.md +219 -68
  2. package/dist/bin/cli.d.ts +3 -0
  3. package/dist/bin/cli.d.ts.map +1 -0
  4. package/dist/bin/cli.js +31 -0
  5. package/dist/bin/cli.js.map +1 -0
  6. package/dist/index.d.ts +18 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +32 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/src/commands/build.d.ts +17 -0
  11. package/dist/src/commands/build.d.ts.map +1 -0
  12. package/dist/src/commands/build.js +236 -0
  13. package/dist/src/commands/build.js.map +1 -0
  14. package/dist/src/generators/aclGenerator.d.ts +6 -0
  15. package/dist/src/generators/aclGenerator.d.ts.map +1 -0
  16. package/dist/src/generators/aclGenerator.js +384 -0
  17. package/dist/src/generators/aclGenerator.js.map +1 -0
  18. package/dist/src/generators/index.d.ts +4 -0
  19. package/dist/src/generators/index.d.ts.map +1 -0
  20. package/dist/src/generators/index.js +13 -0
  21. package/dist/src/generators/index.js.map +1 -0
  22. package/dist/src/generators/modelGenerator.d.ts +10 -0
  23. package/dist/src/generators/modelGenerator.d.ts.map +1 -0
  24. package/dist/src/generators/modelGenerator.js +143 -0
  25. package/dist/src/generators/modelGenerator.js.map +1 -0
  26. package/dist/src/generators/routeGenerator.d.ts +10 -0
  27. package/dist/src/generators/routeGenerator.d.ts.map +1 -0
  28. package/dist/src/generators/routeGenerator.js +148 -0
  29. package/dist/src/generators/routeGenerator.js.map +1 -0
  30. package/dist/src/parsers/datasourceParser.d.ts +11 -0
  31. package/dist/src/parsers/datasourceParser.d.ts.map +1 -0
  32. package/dist/src/parsers/datasourceParser.js +131 -0
  33. package/dist/src/parsers/datasourceParser.js.map +1 -0
  34. package/dist/src/parsers/deepSQLAnalyzer.d.ts +85 -0
  35. package/dist/src/parsers/deepSQLAnalyzer.d.ts.map +1 -0
  36. package/dist/src/parsers/deepSQLAnalyzer.js +482 -0
  37. package/dist/src/parsers/deepSQLAnalyzer.js.map +1 -0
  38. package/dist/src/parsers/enhancedRLSConverter.d.ts +14 -0
  39. package/dist/src/parsers/enhancedRLSConverter.d.ts.map +1 -0
  40. package/dist/src/parsers/enhancedRLSConverter.js +168 -0
  41. package/dist/src/parsers/enhancedRLSConverter.js.map +1 -0
  42. package/dist/src/parsers/functionAnalyzer.d.ts +55 -0
  43. package/dist/src/parsers/functionAnalyzer.d.ts.map +1 -0
  44. package/dist/src/parsers/functionAnalyzer.js +274 -0
  45. package/dist/src/parsers/functionAnalyzer.js.map +1 -0
  46. package/dist/src/parsers/index.d.ts +13 -0
  47. package/dist/src/parsers/index.d.ts.map +1 -0
  48. package/dist/src/parsers/index.js +20 -0
  49. package/dist/src/parsers/index.js.map +1 -0
  50. package/dist/src/parsers/prismaFilterBuilder.d.ts +79 -0
  51. package/dist/src/parsers/prismaFilterBuilder.d.ts.map +1 -0
  52. package/dist/src/parsers/prismaFilterBuilder.js +322 -0
  53. package/dist/src/parsers/prismaFilterBuilder.js.map +1 -0
  54. package/dist/src/parsers/prismaParser.d.ts +14 -0
  55. package/dist/src/parsers/prismaParser.d.ts.map +1 -0
  56. package/dist/src/parsers/prismaParser.js +263 -0
  57. package/dist/src/parsers/prismaParser.js.map +1 -0
  58. package/package.json +21 -13
  59. package/bin/cli.js +0 -33
  60. package/index.js +0 -11
  61. package/src/commands/build.js +0 -638
  62. package/src/generators/aclGenerator.js +0 -394
  63. package/src/generators/modelGenerator.js +0 -174
  64. package/src/generators/relationshipsGenerator.js +0 -200
  65. package/src/generators/routeGenerator.js +0 -119
  66. package/src/parsers/datasourceParser.js +0 -121
  67. package/src/parsers/deepSQLAnalyzer.js +0 -554
  68. package/src/parsers/enhancedRLSConverter.js +0 -181
  69. package/src/parsers/functionAnalyzer.js +0 -302
  70. package/src/parsers/prismaFilterBuilder.js +0 -422
  71. package/src/parsers/prismaParser.js +0 -287
package/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "@rapidd/build",
3
- "version": "1.2.3",
4
- "description": "Dynamic code generator that transforms Prisma schemas into Express.js CRUD APIs with PostgreSQL RLS-to-JavaScript translation",
5
- "main": "index.js",
3
+ "version": "2.0.1",
4
+ "description": "Dynamic code generator that transforms Prisma schemas into Fastify CRUD APIs with PostgreSQL RLS-to-TypeScript translation",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
6
7
  "bin": {
7
- "rapidd": "./bin/cli.js"
8
+ "rapidd": "./dist/bin/cli.js"
8
9
  },
9
10
  "scripts": {
10
- "test": "echo \"Error: no test specified\" && exit 1",
11
- "prepublishOnly": "echo 'Ready to publish'"
11
+ "build": "tsc",
12
+ "clean": "rm -rf dist/ output/ routes/ acl-mappings.json",
13
+ "dev": "tsx bin/cli.ts",
14
+ "prepublishOnly": "npm run clean && npm run build",
15
+ "test": "echo \"Error: no test specified\" && exit 1"
12
16
  },
13
17
  "repository": {
14
18
  "type": "git",
@@ -23,7 +27,8 @@
23
27
  "prisma",
24
28
  "code-generation",
25
29
  "orm",
26
- "express",
30
+ "fastify",
31
+ "typescript",
27
32
  "routes",
28
33
  "rls",
29
34
  "row-level-security",
@@ -40,13 +45,12 @@
40
45
  "author": "Rapidd Team",
41
46
  "license": "MIT",
42
47
  "engines": {
43
- "node": ">=14.0.0"
48
+ "node": ">=18.0.0"
44
49
  },
45
50
  "files": [
46
- "bin/",
47
- "src/",
48
- "index.js",
49
- "README.md"
51
+ "dist/",
52
+ "README.md",
53
+ "LICENSE"
50
54
  ],
51
55
  "dependencies": {
52
56
  "@prisma/adapter-mariadb": "^7.0.1",
@@ -58,7 +62,11 @@
58
62
  "pg": "^8.16.3"
59
63
  },
60
64
  "devDependencies": {
61
- "prisma": "^7.0.0"
65
+ "@types/node": "^20.0.0",
66
+ "@types/pg": "^8.0.0",
67
+ "prisma": "^7.0.0",
68
+ "tsx": "^4.0.0",
69
+ "typescript": "^5.5.0"
62
70
  },
63
71
  "peerDependencies": {
64
72
  "@prisma/client": "^7.0.0"
package/bin/cli.js DELETED
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const { Command } = require('commander');
4
- const path = require('path');
5
- const { buildModels } = require('../src/commands/build');
6
-
7
- const program = new Command();
8
-
9
- program
10
- .name('rapidd')
11
- .description('Rapidd build tool for generating model files from Prisma schema')
12
- .version('0.1.0');
13
-
14
- program
15
- .command('build')
16
- .description('Build model files from Prisma schema')
17
- .option('-s, --schema <path>', 'Path to Prisma schema file', process.env.PRISMA_SCHEMA_PATH || './prisma/schema.prisma')
18
- .option('-o, --output <path>', 'Output base directory', './')
19
- .option('-m, --model <name>', 'Generate/update only specific model (e.g., "account", "user")')
20
- .option('--only <component>', 'Generate only specific component: "model", "route", "acl", or "relationship"')
21
- .option('--user-table <name>', 'Name of the user table for ACL (default: auto-detect from user/users)')
22
- .option('--debug', 'Enable debug mode (generates acl-mappings.json)')
23
- .action(async (options) => {
24
- try {
25
- await buildModels(options);
26
- console.log('\n✓ Build completed successfully');
27
- } catch (error) {
28
- console.error('Error building models:', error.message);
29
- process.exit(1);
30
- }
31
- });
32
-
33
- program.parse(process.argv);
package/index.js DELETED
@@ -1,11 +0,0 @@
1
- const { buildModels } = require('./src/commands/build');
2
- const { parsePrismaSchema, parsePrismaDMMF } = require('./src/parsers/prismaParser');
3
- const { generateModelFile, generateAllModels } = require('./src/generators/modelGenerator');
4
-
5
- module.exports = {
6
- buildModels,
7
- parsePrismaSchema,
8
- parsePrismaDMMF,
9
- generateModelFile,
10
- generateAllModels
11
- };