@rapidd/build 1.2.3 → 2.0.0
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 +219 -68
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +31 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/src/commands/build.d.ts +17 -0
- package/dist/src/commands/build.d.ts.map +1 -0
- package/dist/src/commands/build.js +236 -0
- package/dist/src/commands/build.js.map +1 -0
- package/dist/src/generators/aclGenerator.d.ts +6 -0
- package/dist/src/generators/aclGenerator.d.ts.map +1 -0
- package/dist/src/generators/aclGenerator.js +384 -0
- package/dist/src/generators/aclGenerator.js.map +1 -0
- package/dist/src/generators/index.d.ts +4 -0
- package/dist/src/generators/index.d.ts.map +1 -0
- package/dist/src/generators/index.js +13 -0
- package/dist/src/generators/index.js.map +1 -0
- package/dist/src/generators/modelGenerator.d.ts +10 -0
- package/dist/src/generators/modelGenerator.d.ts.map +1 -0
- package/dist/src/generators/modelGenerator.js +143 -0
- package/dist/src/generators/modelGenerator.js.map +1 -0
- package/dist/src/generators/routeGenerator.d.ts +10 -0
- package/dist/src/generators/routeGenerator.d.ts.map +1 -0
- package/dist/src/generators/routeGenerator.js +172 -0
- package/dist/src/generators/routeGenerator.js.map +1 -0
- package/dist/src/parsers/datasourceParser.d.ts +11 -0
- package/dist/src/parsers/datasourceParser.d.ts.map +1 -0
- package/dist/src/parsers/datasourceParser.js +131 -0
- package/dist/src/parsers/datasourceParser.js.map +1 -0
- package/dist/src/parsers/deepSQLAnalyzer.d.ts +85 -0
- package/dist/src/parsers/deepSQLAnalyzer.d.ts.map +1 -0
- package/dist/src/parsers/deepSQLAnalyzer.js +482 -0
- package/dist/src/parsers/deepSQLAnalyzer.js.map +1 -0
- package/dist/src/parsers/enhancedRLSConverter.d.ts +14 -0
- package/dist/src/parsers/enhancedRLSConverter.d.ts.map +1 -0
- package/dist/src/parsers/enhancedRLSConverter.js +168 -0
- package/dist/src/parsers/enhancedRLSConverter.js.map +1 -0
- package/dist/src/parsers/functionAnalyzer.d.ts +55 -0
- package/dist/src/parsers/functionAnalyzer.d.ts.map +1 -0
- package/dist/src/parsers/functionAnalyzer.js +274 -0
- package/dist/src/parsers/functionAnalyzer.js.map +1 -0
- package/dist/src/parsers/index.d.ts +13 -0
- package/dist/src/parsers/index.d.ts.map +1 -0
- package/dist/src/parsers/index.js +20 -0
- package/dist/src/parsers/index.js.map +1 -0
- package/dist/src/parsers/prismaFilterBuilder.d.ts +79 -0
- package/dist/src/parsers/prismaFilterBuilder.d.ts.map +1 -0
- package/dist/src/parsers/prismaFilterBuilder.js +322 -0
- package/dist/src/parsers/prismaFilterBuilder.js.map +1 -0
- package/dist/src/parsers/prismaParser.d.ts +14 -0
- package/dist/src/parsers/prismaParser.d.ts.map +1 -0
- package/dist/src/parsers/prismaParser.js +263 -0
- package/dist/src/parsers/prismaParser.js.map +1 -0
- package/package.json +21 -13
- package/bin/cli.js +0 -33
- package/index.js +0 -11
- package/src/commands/build.js +0 -638
- package/src/generators/aclGenerator.js +0 -394
- package/src/generators/modelGenerator.js +0 -174
- package/src/generators/relationshipsGenerator.js +0 -200
- package/src/generators/routeGenerator.js +0 -119
- package/src/parsers/datasourceParser.js +0 -121
- package/src/parsers/deepSQLAnalyzer.js +0 -554
- package/src/parsers/enhancedRLSConverter.js +0 -181
- package/src/parsers/functionAnalyzer.js +0 -302
- package/src/parsers/prismaFilterBuilder.js +0 -422
- package/src/parsers/prismaParser.js +0 -287
package/package.json
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rapidd/build",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Dynamic code generator that transforms Prisma schemas into
|
|
5
|
-
"main": "index.js",
|
|
3
|
+
"version": "2.0.0",
|
|
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
|
-
"
|
|
11
|
-
"
|
|
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
|
-
"
|
|
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": ">=
|
|
48
|
+
"node": ">=18.0.0"
|
|
44
49
|
},
|
|
45
50
|
"files": [
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
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
|
-
"
|
|
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
|
-
};
|