rapidkit 1.0.0-beta.7 → 1.0.0-beta.8
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 +5 -0
- package/dist/create.js +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/validation.js +1 -1
- package/dist/validation.js.map +1 -1
- package/package.json +4 -3
- package/dist/generator.d.ts +0 -12
- package/dist/generator.d.ts.map +0 -1
- package/dist/generator.js +0 -877
- package/dist/generator.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# rapidkit
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/rapidkit)
|
|
4
|
+
[](https://www.npmjs.com/package/rapidkit)
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
[](https://github.com/getrapidkit/rapidkit-npm/stargazers)
|
|
7
|
+
|
|
3
8
|
> ⚠️ **BETA VERSION** - This is a companion tool for RapidKit Python framework.
|
|
4
9
|
> The stable production version of RapidKit will be released soon on PyPI.
|
|
5
10
|
> Until then, use `--demo` mode to create demo workspaces with bundled templates, or `--test-mode` to try the full RapidKit installation locally.
|
package/dist/create.js
CHANGED
|
@@ -387,7 +387,7 @@ if (!projectName) {
|
|
|
387
387
|
process.exit(1);
|
|
388
388
|
}
|
|
389
389
|
|
|
390
|
-
// Use npx to run
|
|
390
|
+
// Use npx to run rapidkit in demo mode, targeting the current directory
|
|
391
391
|
const targetPath = path.join(process.cwd(), projectName);
|
|
392
392
|
|
|
393
393
|
try {
|
|
@@ -494,7 +494,7 @@ ${name}/
|
|
|
494
494
|
|
|
495
495
|
---
|
|
496
496
|
|
|
497
|
-
**Generated with
|
|
497
|
+
**Generated with RapidKit** | [GitHub](https://github.com/getrapidkit/rapidkit-npm)
|
|
498
498
|
`;
|
|
499
499
|
await fsPromises.writeFile(path.join(projectPath, 'README.md'), readmeContent, 'utf-8');
|
|
500
500
|
spinner.succeed('Demo workspace setup complete');
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ let currentProjectPath = null;
|
|
|
15
15
|
let cleanupInProgress = false;
|
|
16
16
|
const program = new Command();
|
|
17
17
|
program
|
|
18
|
-
.name('
|
|
18
|
+
.name('rapidkit')
|
|
19
19
|
.description('Create a RapidKit development environment or workspace')
|
|
20
20
|
.version(getVersion())
|
|
21
21
|
.argument('[directory-name]', 'Name of the workspace or project directory')
|
|
@@ -37,7 +37,7 @@ program
|
|
|
37
37
|
if (options.updateCheck !== false) {
|
|
38
38
|
await checkForUpdates();
|
|
39
39
|
}
|
|
40
|
-
console.log(chalk.blue.bold('\n🚀 Welcome to
|
|
40
|
+
console.log(chalk.blue.bold('\n🚀 Welcome to RapidKit!\n'));
|
|
41
41
|
if (options.demoOnly) {
|
|
42
42
|
const projectName = directoryName || 'my-fastapi-project';
|
|
43
43
|
try {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAGpC,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAC7C,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/validation.js
CHANGED
|
@@ -24,7 +24,7 @@ export function validateProjectName(name) {
|
|
|
24
24
|
'node',
|
|
25
25
|
'npm',
|
|
26
26
|
'rapidkit',
|
|
27
|
-
'
|
|
27
|
+
'rapidkit',
|
|
28
28
|
];
|
|
29
29
|
if (reservedNames.includes(name.toLowerCase())) {
|
|
30
30
|
throw new InvalidProjectNameError(name, `"${name}" is a reserved name. Please choose a different name.`);
|
package/dist/validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAE9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAID,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAGD,MAAM,aAAa,GAAG;QACpB,MAAM;QACN,OAAO;QACP,KAAK;QACL,MAAM;QACN,OAAO;QACP,KAAK;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,MAAM;QACN,KAAK;QACL,UAAU;QACV,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAE9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAID,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAGD,MAAM,aAAa,GAAG;QACpB,MAAM;QACN,OAAO;QACP,KAAK;QACL,MAAM;QACN,OAAO;QACP,KAAK;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,MAAM;QACN,KAAK;QACL,UAAU;QACV,UAAU;KACX,CAAC;IAEF,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,IAAI,IAAI,uDAAuD,CAChE,CAAC;IACJ,CAAC;IAGD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,yCAAyC,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rapidkit",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Create RapidKit projects with a single command - The official CLI for RapidKit framework",
|
|
6
6
|
"keywords": [
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"url": "git+https://github.com/getrapidkit/rapidkit-npm.git"
|
|
22
22
|
},
|
|
23
23
|
"bin": {
|
|
24
|
-
"
|
|
24
|
+
"rapidkit": "dist/index.js"
|
|
25
25
|
},
|
|
26
26
|
"files": [
|
|
27
27
|
"dist",
|
|
@@ -76,5 +76,6 @@
|
|
|
76
76
|
"eslint --fix",
|
|
77
77
|
"prettier --write"
|
|
78
78
|
]
|
|
79
|
-
}
|
|
79
|
+
},
|
|
80
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
80
81
|
}
|
package/dist/generator.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface ProjectConfig {
|
|
2
|
-
projectName: string;
|
|
3
|
-
framework: 'fastapi-standard' | 'fastapi-advanced' | 'nestjs-standard' | 'nestjs-advanced';
|
|
4
|
-
pythonVersion: '3.10' | '3.11' | '3.12';
|
|
5
|
-
packageManager: 'poetry' | 'pip' | 'npm';
|
|
6
|
-
selectedModules: string[];
|
|
7
|
-
includeDocker: boolean;
|
|
8
|
-
includeTesting: boolean;
|
|
9
|
-
includeCI: boolean;
|
|
10
|
-
}
|
|
11
|
-
export declare function generateProjectFiles(config: ProjectConfig): Record<string, string>;
|
|
12
|
-
//# sourceMappingURL=generator.d.ts.map
|
package/dist/generator.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IAC3F,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,cAAc,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IACzC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgFlF"}
|
package/dist/generator.js
DELETED
|
@@ -1,877 +0,0 @@
|
|
|
1
|
-
export function generateProjectFiles(config) {
|
|
2
|
-
const files = {};
|
|
3
|
-
const isFastAPI = config.framework.startsWith('fastapi');
|
|
4
|
-
files['README.md'] = generateReadme(config);
|
|
5
|
-
files['.gitignore'] = generateGitignore();
|
|
6
|
-
files['.env.example'] = generateEnvExample(config);
|
|
7
|
-
if (isFastAPI) {
|
|
8
|
-
if (config.packageManager === 'poetry') {
|
|
9
|
-
files['pyproject.toml'] = generatePyProjectToml(config);
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
files['requirements.txt'] = generateRequirementsTxt(config);
|
|
13
|
-
files['setup.py'] = generateSetupPy(config);
|
|
14
|
-
}
|
|
15
|
-
files['src/__init__.py'] = '';
|
|
16
|
-
files['src/main.py'] = generateMainPy(config);
|
|
17
|
-
files['src/config.py'] = generateConfigPy(config);
|
|
18
|
-
files['src/core/__init__.py'] = '';
|
|
19
|
-
files['src/core/database.py'] = generateDatabasePy(config);
|
|
20
|
-
files['src/core/dependencies.py'] = generateDependenciesPy(config);
|
|
21
|
-
files['src/api/__init__.py'] = '';
|
|
22
|
-
files['src/api/routes.py'] = generateRoutesPy(config);
|
|
23
|
-
config.selectedModules.forEach((moduleSlug) => {
|
|
24
|
-
const moduleFiles = generateModuleFiles(moduleSlug, config);
|
|
25
|
-
Object.entries(moduleFiles).forEach(([path, content]) => {
|
|
26
|
-
files[path] = content;
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
files['package.json'] = generatePackageJson(config);
|
|
32
|
-
files['tsconfig.json'] = generateTsConfig();
|
|
33
|
-
files['nest-cli.json'] = generateNestCliJson();
|
|
34
|
-
files['src/main.ts'] = generateMainTs(config);
|
|
35
|
-
files['src/app.module.ts'] = generateAppModule(config);
|
|
36
|
-
files['src/app.controller.ts'] = generateAppController();
|
|
37
|
-
files['src/app.service.ts'] = generateAppService();
|
|
38
|
-
}
|
|
39
|
-
if (config.includeDocker) {
|
|
40
|
-
files['Dockerfile'] = generateDockerfile(config);
|
|
41
|
-
files['docker-compose.yml'] = generateDockerCompose(config);
|
|
42
|
-
files['.dockerignore'] = generateDockerignore();
|
|
43
|
-
}
|
|
44
|
-
if (config.includeTesting) {
|
|
45
|
-
if (isFastAPI) {
|
|
46
|
-
files['tests/__init__.py'] = '';
|
|
47
|
-
files['tests/conftest.py'] = generateConftestPy(config);
|
|
48
|
-
files['tests/test_main.py'] = generateTestMainPy(config);
|
|
49
|
-
files['pytest.ini'] = generatePytestIni();
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
files['test/app.e2e-spec.ts'] = generateE2ETest();
|
|
53
|
-
files['test/jest-e2e.json'] = generateJestE2EConfig();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
if (config.includeCI) {
|
|
57
|
-
files['.github/workflows/ci.yml'] = generateGitHubActions(config);
|
|
58
|
-
}
|
|
59
|
-
return files;
|
|
60
|
-
}
|
|
61
|
-
function generateReadme(config) {
|
|
62
|
-
return `# ${config.projectName}
|
|
63
|
-
|
|
64
|
-
Generated by [RapidKit](https://rapidkit.dev)
|
|
65
|
-
|
|
66
|
-
## Description
|
|
67
|
-
|
|
68
|
-
A production-ready ${config.framework} project with Clean Architecture patterns.
|
|
69
|
-
|
|
70
|
-
## Features
|
|
71
|
-
|
|
72
|
-
${config.selectedModules.map((m) => `- ${m}`).join('\n')}
|
|
73
|
-
|
|
74
|
-
## Prerequisites
|
|
75
|
-
|
|
76
|
-
${config.framework.startsWith('fastapi')
|
|
77
|
-
? `- Python ${config.pythonVersion}+
|
|
78
|
-
- ${config.packageManager === 'poetry' ? 'Poetry' : 'pip'}`
|
|
79
|
-
: '- Node.js 18+\n- npm or yarn'}
|
|
80
|
-
|
|
81
|
-
## Installation
|
|
82
|
-
|
|
83
|
-
\`\`\`bash
|
|
84
|
-
${config.framework.startsWith('fastapi')
|
|
85
|
-
? config.packageManager === 'poetry'
|
|
86
|
-
? 'poetry install'
|
|
87
|
-
: 'pip install -r requirements.txt'
|
|
88
|
-
: 'npm install'}
|
|
89
|
-
\`\`\`
|
|
90
|
-
|
|
91
|
-
## Configuration
|
|
92
|
-
|
|
93
|
-
Copy \`.env.example\` to \`.env\` and update the values:
|
|
94
|
-
|
|
95
|
-
\`\`\`bash
|
|
96
|
-
cp .env.example .env
|
|
97
|
-
\`\`\`
|
|
98
|
-
|
|
99
|
-
## Running the Application
|
|
100
|
-
|
|
101
|
-
### Development Mode
|
|
102
|
-
|
|
103
|
-
\`\`\`bash
|
|
104
|
-
${config.framework.startsWith('fastapi')
|
|
105
|
-
? config.packageManager === 'poetry'
|
|
106
|
-
? 'poetry run uvicorn src.main:app --reload'
|
|
107
|
-
: 'uvicorn src.main:app --reload'
|
|
108
|
-
: 'npm run start:dev'}
|
|
109
|
-
\`\`\`
|
|
110
|
-
|
|
111
|
-
${config.includeDocker
|
|
112
|
-
? `### Using Docker
|
|
113
|
-
|
|
114
|
-
\`\`\`bash
|
|
115
|
-
docker-compose up
|
|
116
|
-
\`\`\`
|
|
117
|
-
`
|
|
118
|
-
: ''}
|
|
119
|
-
|
|
120
|
-
## API Documentation
|
|
121
|
-
|
|
122
|
-
Once running, visit:
|
|
123
|
-
- Swagger UI: http://localhost:8000/docs
|
|
124
|
-
- ReDoc: http://localhost:8000/redoc
|
|
125
|
-
|
|
126
|
-
## Testing
|
|
127
|
-
|
|
128
|
-
\`\`\`bash
|
|
129
|
-
${config.framework.startsWith('fastapi')
|
|
130
|
-
? config.packageManager === 'poetry'
|
|
131
|
-
? 'poetry run pytest'
|
|
132
|
-
: 'pytest'
|
|
133
|
-
: 'npm run test'}
|
|
134
|
-
\`\`\`
|
|
135
|
-
|
|
136
|
-
## Project Structure
|
|
137
|
-
|
|
138
|
-
\`\`\`
|
|
139
|
-
${config.projectName}/
|
|
140
|
-
├── src/
|
|
141
|
-
│ ├── main.${config.framework.startsWith('fastapi') ? 'py' : 'ts'}
|
|
142
|
-
│ ├── api/
|
|
143
|
-
│ ├── core/
|
|
144
|
-
${config.selectedModules.map((m) => `│ ├── ${m}/`).join('\n')}
|
|
145
|
-
│ └── ...
|
|
146
|
-
${config.includeTesting ? '├── tests/\n' : ''}${config.includeDocker ? '├── Dockerfile\n├── docker-compose.yml\n' : ''}└── README.md
|
|
147
|
-
\`\`\`
|
|
148
|
-
|
|
149
|
-
## License
|
|
150
|
-
|
|
151
|
-
MIT
|
|
152
|
-
|
|
153
|
-
## Support
|
|
154
|
-
|
|
155
|
-
For issues and questions, visit [RapidKit GitHub](https://github.com/getrapidkit/community)
|
|
156
|
-
`;
|
|
157
|
-
}
|
|
158
|
-
function generateGitignore() {
|
|
159
|
-
return `# Python
|
|
160
|
-
__pycache__/
|
|
161
|
-
*.py[cod]
|
|
162
|
-
*$py.class
|
|
163
|
-
*.so
|
|
164
|
-
.Python
|
|
165
|
-
build/
|
|
166
|
-
develop-eggs/
|
|
167
|
-
dist/
|
|
168
|
-
downloads/
|
|
169
|
-
eggs/
|
|
170
|
-
.eggs/
|
|
171
|
-
lib/
|
|
172
|
-
lib64/
|
|
173
|
-
parts/
|
|
174
|
-
sdist/
|
|
175
|
-
var/
|
|
176
|
-
wheels/
|
|
177
|
-
*.egg-info/
|
|
178
|
-
.installed.cfg
|
|
179
|
-
*.egg
|
|
180
|
-
|
|
181
|
-
# Virtual environments
|
|
182
|
-
venv/
|
|
183
|
-
ENV/
|
|
184
|
-
env/
|
|
185
|
-
.venv
|
|
186
|
-
|
|
187
|
-
# IDEs
|
|
188
|
-
.vscode/
|
|
189
|
-
.idea/
|
|
190
|
-
*.swp
|
|
191
|
-
*.swo
|
|
192
|
-
*~
|
|
193
|
-
|
|
194
|
-
# Environment variables
|
|
195
|
-
.env
|
|
196
|
-
.env.local
|
|
197
|
-
.env.*.local
|
|
198
|
-
|
|
199
|
-
# Testing
|
|
200
|
-
.coverage
|
|
201
|
-
.pytest_cache/
|
|
202
|
-
htmlcov/
|
|
203
|
-
.tox/
|
|
204
|
-
|
|
205
|
-
# Node
|
|
206
|
-
node_modules/
|
|
207
|
-
npm-debug.log*
|
|
208
|
-
yarn-debug.log*
|
|
209
|
-
yarn-error.log*
|
|
210
|
-
|
|
211
|
-
# OS
|
|
212
|
-
.DS_Store
|
|
213
|
-
Thumbs.db
|
|
214
|
-
|
|
215
|
-
# Logs
|
|
216
|
-
*.log
|
|
217
|
-
logs/
|
|
218
|
-
`;
|
|
219
|
-
}
|
|
220
|
-
function generateEnvExample(config) {
|
|
221
|
-
return `# Application
|
|
222
|
-
APP_NAME="${config.projectName}"
|
|
223
|
-
APP_ENV=development
|
|
224
|
-
DEBUG=True
|
|
225
|
-
${config.framework.startsWith('fastapi') ? 'HOST=0.0.0.0\nPORT=8000' : 'PORT=3000'}
|
|
226
|
-
|
|
227
|
-
# Database${config.selectedModules.includes('database') ||
|
|
228
|
-
config.selectedModules.includes('database-orm-pro')
|
|
229
|
-
? `
|
|
230
|
-
DATABASE_URL=postgresql://user:password@localhost:5432/${config.projectName}
|
|
231
|
-
# or for SQLite:
|
|
232
|
-
# DATABASE_URL=sqlite:///./database.db`
|
|
233
|
-
: `
|
|
234
|
-
# DATABASE_URL=postgresql://user:password@localhost:5432/${config.projectName}`}
|
|
235
|
-
|
|
236
|
-
# Authentication${config.selectedModules.includes('auth')
|
|
237
|
-
? `
|
|
238
|
-
JWT_SECRET=your-secret-key-here-change-in-production
|
|
239
|
-
JWT_ALGORITHM=HS256
|
|
240
|
-
JWT_EXPIRATION=3600`
|
|
241
|
-
: `
|
|
242
|
-
# JWT_SECRET=your-secret-key-here`}
|
|
243
|
-
|
|
244
|
-
# Redis${config.selectedModules.includes('cache')
|
|
245
|
-
? `
|
|
246
|
-
REDIS_URL=redis://localhost:6379/0`
|
|
247
|
-
: `
|
|
248
|
-
# REDIS_URL=redis://localhost:6379/0`}
|
|
249
|
-
|
|
250
|
-
# Email${config.selectedModules.includes('email')
|
|
251
|
-
? `
|
|
252
|
-
SMTP_HOST=smtp.gmail.com
|
|
253
|
-
SMTP_PORT=587
|
|
254
|
-
SMTP_USER=your-email@gmail.com
|
|
255
|
-
SMTP_PASSWORD=your-app-password
|
|
256
|
-
EMAIL_FROM=noreply@${config.projectName}.com`
|
|
257
|
-
: `
|
|
258
|
-
# SMTP_HOST=smtp.gmail.com
|
|
259
|
-
# SMTP_PORT=587`}
|
|
260
|
-
|
|
261
|
-
# AWS S3${config.selectedModules.includes('storage')
|
|
262
|
-
? `
|
|
263
|
-
AWS_ACCESS_KEY_ID=your-access-key
|
|
264
|
-
AWS_SECRET_ACCESS_KEY=your-secret-key
|
|
265
|
-
AWS_REGION=us-east-1
|
|
266
|
-
S3_BUCKET_NAME=your-bucket-name`
|
|
267
|
-
: `
|
|
268
|
-
# AWS_ACCESS_KEY_ID=your-access-key
|
|
269
|
-
# AWS_SECRET_ACCESS_KEY=your-secret-key`}
|
|
270
|
-
`;
|
|
271
|
-
}
|
|
272
|
-
function generatePyProjectToml(config) {
|
|
273
|
-
const dependencies = [
|
|
274
|
-
'fastapi = "^0.115.0"',
|
|
275
|
-
'uvicorn = { extras = ["standard"], version = "^0.32.0" }',
|
|
276
|
-
'pydantic = "^2.9.0"',
|
|
277
|
-
'pydantic-settings = "^2.5.0"',
|
|
278
|
-
];
|
|
279
|
-
if (config.selectedModules.includes('database') ||
|
|
280
|
-
config.selectedModules.includes('database-orm-pro')) {
|
|
281
|
-
dependencies.push('sqlalchemy = "^2.0.0"', 'alembic = "^1.13.0"');
|
|
282
|
-
}
|
|
283
|
-
if (config.selectedModules.includes('auth')) {
|
|
284
|
-
dependencies.push('python-jose = { extras = ["cryptography"], version = "^3.3.0" }', 'passlib = { extras = ["bcrypt"], version = "^1.7.4" }');
|
|
285
|
-
}
|
|
286
|
-
if (config.selectedModules.includes('cache')) {
|
|
287
|
-
dependencies.push('redis = "^5.0.0"');
|
|
288
|
-
}
|
|
289
|
-
return `[tool.poetry]
|
|
290
|
-
name = "${config.projectName}"
|
|
291
|
-
version = "0.1.0"
|
|
292
|
-
description = "Generated by RapidKit"
|
|
293
|
-
authors = ["Your Name <you@example.com>"]
|
|
294
|
-
readme = "README.md"
|
|
295
|
-
|
|
296
|
-
[tool.poetry.dependencies]
|
|
297
|
-
python = "^${config.pythonVersion}"
|
|
298
|
-
${dependencies.join('\n')}
|
|
299
|
-
|
|
300
|
-
[tool.poetry.group.dev.dependencies]
|
|
301
|
-
pytest = "^8.3.0"
|
|
302
|
-
pytest-asyncio = "^0.24.0"
|
|
303
|
-
httpx = "^0.27.0"
|
|
304
|
-
black = "^24.8.0"
|
|
305
|
-
flake8 = "^7.1.0"
|
|
306
|
-
mypy = "^1.11.0"
|
|
307
|
-
|
|
308
|
-
[build-system]
|
|
309
|
-
requires = ["poetry-core"]
|
|
310
|
-
build-backend = "poetry.core.masonry.api"
|
|
311
|
-
|
|
312
|
-
[tool.black]
|
|
313
|
-
line-length = 100
|
|
314
|
-
target-version = ["py${config.pythonVersion.replace('.', '')}"]
|
|
315
|
-
|
|
316
|
-
[tool.mypy]
|
|
317
|
-
python_version = "${config.pythonVersion}"
|
|
318
|
-
warn_return_any = true
|
|
319
|
-
warn_unused_configs = true
|
|
320
|
-
disallow_untyped_defs = true
|
|
321
|
-
`;
|
|
322
|
-
}
|
|
323
|
-
function generateRequirementsTxt(config) {
|
|
324
|
-
const deps = [
|
|
325
|
-
'fastapi>=0.115.0',
|
|
326
|
-
'uvicorn[standard]>=0.32.0',
|
|
327
|
-
'pydantic>=2.9.0',
|
|
328
|
-
'pydantic-settings>=2.5.0',
|
|
329
|
-
];
|
|
330
|
-
if (config.selectedModules.includes('database') ||
|
|
331
|
-
config.selectedModules.includes('database-orm-pro')) {
|
|
332
|
-
deps.push('sqlalchemy>=2.0.0', 'alembic>=1.13.0');
|
|
333
|
-
}
|
|
334
|
-
if (config.selectedModules.includes('auth')) {
|
|
335
|
-
deps.push('python-jose[cryptography]>=3.3.0', 'passlib[bcrypt]>=1.7.4');
|
|
336
|
-
}
|
|
337
|
-
if (config.selectedModules.includes('cache')) {
|
|
338
|
-
deps.push('redis>=5.0.0');
|
|
339
|
-
}
|
|
340
|
-
return deps.join('\n') + '\n';
|
|
341
|
-
}
|
|
342
|
-
function generateSetupPy(config) {
|
|
343
|
-
return `from setuptools import setup, find_packages
|
|
344
|
-
|
|
345
|
-
setup(
|
|
346
|
-
name="${config.projectName}",
|
|
347
|
-
version="0.1.0",
|
|
348
|
-
description="Generated by RapidKit",
|
|
349
|
-
packages=find_packages(),
|
|
350
|
-
python_requires=">=${config.pythonVersion}",
|
|
351
|
-
)
|
|
352
|
-
`;
|
|
353
|
-
}
|
|
354
|
-
function generateMainPy(config) {
|
|
355
|
-
return `from fastapi import FastAPI
|
|
356
|
-
from fastapi.middleware.cors import CORSMiddleware
|
|
357
|
-
from src.config import settings
|
|
358
|
-
from src.api.routes import api_router
|
|
359
|
-
|
|
360
|
-
app = FastAPI(
|
|
361
|
-
title=settings.APP_NAME,
|
|
362
|
-
description="Generated by RapidKit",
|
|
363
|
-
version="0.1.0",
|
|
364
|
-
docs_url="/docs",
|
|
365
|
-
redoc_url="/redoc",
|
|
366
|
-
)
|
|
367
|
-
|
|
368
|
-
# CORS middleware
|
|
369
|
-
app.add_middleware(
|
|
370
|
-
CORSMiddleware,
|
|
371
|
-
allow_origins=["*"], # Update in production
|
|
372
|
-
allow_credentials=True,
|
|
373
|
-
allow_methods=["*"],
|
|
374
|
-
allow_headers=["*"],
|
|
375
|
-
)
|
|
376
|
-
|
|
377
|
-
# Include routers
|
|
378
|
-
app.include_router(api_router, prefix="/api")
|
|
379
|
-
|
|
380
|
-
@app.get("/")
|
|
381
|
-
async def root():
|
|
382
|
-
return {
|
|
383
|
-
"message": "Welcome to ${config.projectName}",
|
|
384
|
-
"status": "running",
|
|
385
|
-
"docs": "/docs",
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
@app.get("/health")
|
|
389
|
-
async def health_check():
|
|
390
|
-
return {"status": "healthy"}
|
|
391
|
-
|
|
392
|
-
if __name__ == "__main__":
|
|
393
|
-
import uvicorn
|
|
394
|
-
uvicorn.run(app, host="0.0.0.0", port=8000)
|
|
395
|
-
`;
|
|
396
|
-
}
|
|
397
|
-
function generateConfigPy(config) {
|
|
398
|
-
return `from pydantic_settings import BaseSettings
|
|
399
|
-
|
|
400
|
-
class Settings(BaseSettings):
|
|
401
|
-
APP_NAME: str = "${config.projectName}"
|
|
402
|
-
APP_ENV: str = "development"
|
|
403
|
-
DEBUG: bool = True
|
|
404
|
-
HOST: str = "0.0.0.0"
|
|
405
|
-
PORT: int = 8000
|
|
406
|
-
|
|
407
|
-
${config.selectedModules.includes('database') ||
|
|
408
|
-
config.selectedModules.includes('database-orm-pro')
|
|
409
|
-
? 'DATABASE_URL: str = "sqlite:///./database.db"'
|
|
410
|
-
: '# DATABASE_URL: str = ""'}
|
|
411
|
-
|
|
412
|
-
${config.selectedModules.includes('auth')
|
|
413
|
-
? `JWT_SECRET: str = "your-secret-key"
|
|
414
|
-
JWT_ALGORITHM: str = "HS256"
|
|
415
|
-
JWT_EXPIRATION: int = 3600`
|
|
416
|
-
: '# JWT_SECRET: str = ""'}
|
|
417
|
-
|
|
418
|
-
class Config:
|
|
419
|
-
env_file = ".env"
|
|
420
|
-
case_sensitive = True
|
|
421
|
-
|
|
422
|
-
settings = Settings()
|
|
423
|
-
`;
|
|
424
|
-
}
|
|
425
|
-
function generateDatabasePy(config) {
|
|
426
|
-
if (!config.selectedModules.includes('database') &&
|
|
427
|
-
!config.selectedModules.includes('database-orm-pro')) {
|
|
428
|
-
return '# Database configuration will be added when database module is included\n';
|
|
429
|
-
}
|
|
430
|
-
return `from sqlalchemy import create_engine
|
|
431
|
-
from sqlalchemy.ext.declarative import declarative_base
|
|
432
|
-
from sqlalchemy.orm import sessionmaker
|
|
433
|
-
from src.config import settings
|
|
434
|
-
|
|
435
|
-
engine = create_engine(
|
|
436
|
-
settings.DATABASE_URL,
|
|
437
|
-
connect_args={"check_same_thread": False} if "sqlite" in settings.DATABASE_URL else {},
|
|
438
|
-
)
|
|
439
|
-
|
|
440
|
-
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
|
441
|
-
|
|
442
|
-
Base = declarative_base()
|
|
443
|
-
|
|
444
|
-
def get_db():
|
|
445
|
-
db = SessionLocal()
|
|
446
|
-
try:
|
|
447
|
-
yield db
|
|
448
|
-
finally:
|
|
449
|
-
db.close()
|
|
450
|
-
`;
|
|
451
|
-
}
|
|
452
|
-
function generateDependenciesPy(config) {
|
|
453
|
-
return `from typing import Generator
|
|
454
|
-
from fastapi import Depends, HTTPException, status
|
|
455
|
-
${config.selectedModules.includes('database') || config.selectedModules.includes('database-orm-pro')
|
|
456
|
-
? 'from sqlalchemy.orm import Session\nfrom src.core.database import get_db'
|
|
457
|
-
: ''}
|
|
458
|
-
|
|
459
|
-
# Add your dependencies here
|
|
460
|
-
`;
|
|
461
|
-
}
|
|
462
|
-
function generateRoutesPy(config) {
|
|
463
|
-
return `from fastapi import APIRouter
|
|
464
|
-
|
|
465
|
-
api_router = APIRouter()
|
|
466
|
-
|
|
467
|
-
@api_router.get("/status")
|
|
468
|
-
async def status():
|
|
469
|
-
return {"status": "ok", "message": "API is running"}
|
|
470
|
-
|
|
471
|
-
# Import and include module routers here
|
|
472
|
-
${config.selectedModules.map((m) => `# from src.${m}.routes import router as ${m}_router\n# api_router.include_router(${m}_router, prefix="/${m}", tags=["${m}"])`).join('\n')}
|
|
473
|
-
`;
|
|
474
|
-
}
|
|
475
|
-
function generateModuleFiles(moduleSlug, _config) {
|
|
476
|
-
const files = {};
|
|
477
|
-
const moduleName = moduleSlug.replace(/-/g, '_');
|
|
478
|
-
files[`src/${moduleName}/__init__.py`] = '';
|
|
479
|
-
files[`src/${moduleName}/models.py`] = `# ${moduleSlug} models\n`;
|
|
480
|
-
files[`src/${moduleName}/schemas.py`] =
|
|
481
|
-
`# ${moduleSlug} schemas\nfrom pydantic import BaseModel\n`;
|
|
482
|
-
files[`src/${moduleName}/routes.py`] =
|
|
483
|
-
`# ${moduleSlug} routes\nfrom fastapi import APIRouter\n\nrouter = APIRouter()\n`;
|
|
484
|
-
files[`src/${moduleName}/services.py`] = `# ${moduleSlug} services\n`;
|
|
485
|
-
return files;
|
|
486
|
-
}
|
|
487
|
-
function generatePackageJson(config) {
|
|
488
|
-
return `{
|
|
489
|
-
"name": "${config.projectName}",
|
|
490
|
-
"version": "0.1.0",
|
|
491
|
-
"description": "Generated by RapidKit",
|
|
492
|
-
"author": "",
|
|
493
|
-
"private": true,
|
|
494
|
-
"license": "MIT",
|
|
495
|
-
"scripts": {
|
|
496
|
-
"build": "nest build",
|
|
497
|
-
"format": "prettier --write \\"src/**/*.ts\\"",
|
|
498
|
-
"start": "nest start",
|
|
499
|
-
"start:dev": "nest start --watch",
|
|
500
|
-
"start:debug": "nest start --debug --watch",
|
|
501
|
-
"start:prod": "node dist/main",
|
|
502
|
-
"lint": "eslint \\"{src,apps,libs,test}/**/*.ts\\" --fix",
|
|
503
|
-
"test": "jest",
|
|
504
|
-
"test:watch": "jest --watch",
|
|
505
|
-
"test:cov": "jest --coverage",
|
|
506
|
-
"test:e2e": "jest --config ./test/jest-e2e.json"
|
|
507
|
-
},
|
|
508
|
-
"dependencies": {
|
|
509
|
-
"@nestjs/common": "^10.0.0",
|
|
510
|
-
"@nestjs/core": "^10.0.0",
|
|
511
|
-
"@nestjs/platform-express": "^10.0.0",
|
|
512
|
-
"reflect-metadata": "^0.2.0",
|
|
513
|
-
"rxjs": "^7.8.1"
|
|
514
|
-
},
|
|
515
|
-
"devDependencies": {
|
|
516
|
-
"@nestjs/cli": "^10.0.0",
|
|
517
|
-
"@nestjs/schematics": "^10.0.0",
|
|
518
|
-
"@nestjs/testing": "^10.0.0",
|
|
519
|
-
"@types/express": "^4.17.17",
|
|
520
|
-
"@types/jest": "^29.5.2",
|
|
521
|
-
"@types/node": "^20.3.1",
|
|
522
|
-
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
523
|
-
"@typescript-eslint/parser": "^6.0.0",
|
|
524
|
-
"eslint": "^8.42.0",
|
|
525
|
-
"jest": "^29.5.0",
|
|
526
|
-
"prettier": "^3.0.0",
|
|
527
|
-
"ts-jest": "^29.1.0",
|
|
528
|
-
"ts-loader": "^9.4.3",
|
|
529
|
-
"ts-node": "^10.9.1",
|
|
530
|
-
"tsconfig-paths": "^4.2.0",
|
|
531
|
-
"typescript": "^5.1.3"
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
`;
|
|
535
|
-
}
|
|
536
|
-
function generateTsConfig() {
|
|
537
|
-
return `{
|
|
538
|
-
"compilerOptions": {
|
|
539
|
-
"module": "commonjs",
|
|
540
|
-
"declaration": true,
|
|
541
|
-
"removeComments": true,
|
|
542
|
-
"emitDecoratorMetadata": true,
|
|
543
|
-
"experimentalDecorators": true,
|
|
544
|
-
"allowSyntheticDefaultImports": true,
|
|
545
|
-
"target": "ES2021",
|
|
546
|
-
"sourceMap": true,
|
|
547
|
-
"outDir": "./dist",
|
|
548
|
-
"baseUrl": "./",
|
|
549
|
-
"incremental": true,
|
|
550
|
-
"skipLibCheck": true,
|
|
551
|
-
"strictNullChecks": false,
|
|
552
|
-
"noImplicitAny": false,
|
|
553
|
-
"strictBindCallApply": false,
|
|
554
|
-
"forceConsistentCasingInFileNames": false,
|
|
555
|
-
"noFallthroughCasesInSwitch": false
|
|
556
|
-
}
|
|
557
|
-
}
|
|
558
|
-
`;
|
|
559
|
-
}
|
|
560
|
-
function generateNestCliJson() {
|
|
561
|
-
return `{
|
|
562
|
-
"$schema": "https://json.schemastore.org/nest-cli",
|
|
563
|
-
"collection": "@nestjs/schematics",
|
|
564
|
-
"sourceRoot": "src",
|
|
565
|
-
"compilerOptions": {
|
|
566
|
-
"deleteOutDir": true
|
|
567
|
-
}
|
|
568
|
-
}
|
|
569
|
-
`;
|
|
570
|
-
}
|
|
571
|
-
function generateMainTs(_config) {
|
|
572
|
-
return `import { NestFactory } from '@nestjs/core';
|
|
573
|
-
import { AppModule } from './app.module';
|
|
574
|
-
|
|
575
|
-
async function bootstrap() {
|
|
576
|
-
const app = await NestFactory.create(AppModule);
|
|
577
|
-
app.enableCors();
|
|
578
|
-
await app.listen(3000);
|
|
579
|
-
console.log(\`Application is running on: \${await app.getUrl()}\`);
|
|
580
|
-
}
|
|
581
|
-
bootstrap();
|
|
582
|
-
`;
|
|
583
|
-
}
|
|
584
|
-
function generateAppModule(_config) {
|
|
585
|
-
return `import { Module } from '@nestjs/common';
|
|
586
|
-
import { AppController } from './app.controller';
|
|
587
|
-
import { AppService } from './app.service';
|
|
588
|
-
|
|
589
|
-
@Module({
|
|
590
|
-
imports: [],
|
|
591
|
-
controllers: [AppController],
|
|
592
|
-
providers: [AppService],
|
|
593
|
-
})
|
|
594
|
-
export class AppModule {}
|
|
595
|
-
`;
|
|
596
|
-
}
|
|
597
|
-
function generateAppController() {
|
|
598
|
-
return `import { Controller, Get } from '@nestjs/common';
|
|
599
|
-
import { AppService } from './app.service';
|
|
600
|
-
|
|
601
|
-
@Controller()
|
|
602
|
-
export class AppController {
|
|
603
|
-
constructor(private readonly appService: AppService) {}
|
|
604
|
-
|
|
605
|
-
@Get()
|
|
606
|
-
getHello(): string {
|
|
607
|
-
return this.appService.getHello();
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
@Get('health')
|
|
611
|
-
healthCheck() {
|
|
612
|
-
return { status: 'healthy' };
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
`;
|
|
616
|
-
}
|
|
617
|
-
function generateAppService() {
|
|
618
|
-
return `import { Injectable } from '@nestjs/common';
|
|
619
|
-
|
|
620
|
-
@Injectable()
|
|
621
|
-
export class AppService {
|
|
622
|
-
getHello(): string {
|
|
623
|
-
return 'Welcome to your NestJS application!';
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
`;
|
|
627
|
-
}
|
|
628
|
-
function generateDockerfile(config) {
|
|
629
|
-
if (config.framework.startsWith('fastapi')) {
|
|
630
|
-
return `FROM python:${config.pythonVersion}-slim
|
|
631
|
-
|
|
632
|
-
WORKDIR /app
|
|
633
|
-
|
|
634
|
-
# Install dependencies
|
|
635
|
-
${config.packageManager === 'poetry'
|
|
636
|
-
? `RUN pip install poetry
|
|
637
|
-
COPY pyproject.toml poetry.lock* ./
|
|
638
|
-
RUN poetry config virtualenvs.create false && poetry install --no-dev --no-interaction --no-ansi`
|
|
639
|
-
: `COPY requirements.txt .
|
|
640
|
-
RUN pip install --no-cache-dir -r requirements.txt`}
|
|
641
|
-
|
|
642
|
-
# Copy application
|
|
643
|
-
COPY . .
|
|
644
|
-
|
|
645
|
-
EXPOSE 8000
|
|
646
|
-
|
|
647
|
-
CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
|
648
|
-
`;
|
|
649
|
-
}
|
|
650
|
-
else {
|
|
651
|
-
return `FROM node:18-alpine
|
|
652
|
-
|
|
653
|
-
WORKDIR /app
|
|
654
|
-
|
|
655
|
-
COPY package*.json ./
|
|
656
|
-
RUN npm ci --only=production
|
|
657
|
-
|
|
658
|
-
COPY . .
|
|
659
|
-
RUN npm run build
|
|
660
|
-
|
|
661
|
-
EXPOSE 3000
|
|
662
|
-
|
|
663
|
-
CMD ["node", "dist/main"]
|
|
664
|
-
`;
|
|
665
|
-
}
|
|
666
|
-
}
|
|
667
|
-
function generateDockerCompose(config) {
|
|
668
|
-
const hasDatabase = config.selectedModules.includes('database') ||
|
|
669
|
-
config.selectedModules.includes('database-orm-pro');
|
|
670
|
-
const hasCache = config.selectedModules.includes('cache');
|
|
671
|
-
return `version: '3.8'
|
|
672
|
-
|
|
673
|
-
services:
|
|
674
|
-
app:
|
|
675
|
-
build: .
|
|
676
|
-
ports:
|
|
677
|
-
- "${config.framework.startsWith('fastapi') ? '8000:8000' : '3000:3000'}"
|
|
678
|
-
environment:
|
|
679
|
-
- APP_ENV=production
|
|
680
|
-
${hasDatabase ? ` - DATABASE_URL=postgresql://postgres:postgres@db:5432/${config.projectName}` : ''}
|
|
681
|
-
${hasCache ? ' - REDIS_URL=redis://redis:6379/0' : ''}
|
|
682
|
-
depends_on:
|
|
683
|
-
${hasDatabase ? ' - db' : ''}
|
|
684
|
-
${hasCache ? ' - redis' : ''}
|
|
685
|
-
volumes:
|
|
686
|
-
- .:/app
|
|
687
|
-
${hasDatabase
|
|
688
|
-
? `
|
|
689
|
-
db:
|
|
690
|
-
image: postgres:15-alpine
|
|
691
|
-
environment:
|
|
692
|
-
- POSTGRES_USER=postgres
|
|
693
|
-
- POSTGRES_PASSWORD=postgres
|
|
694
|
-
- POSTGRES_DB=${config.projectName}
|
|
695
|
-
ports:
|
|
696
|
-
- "5432:5432"
|
|
697
|
-
volumes:
|
|
698
|
-
- postgres_data:/var/lib/postgresql/data`
|
|
699
|
-
: ''}
|
|
700
|
-
${hasCache
|
|
701
|
-
? `
|
|
702
|
-
redis:
|
|
703
|
-
image: redis:7-alpine
|
|
704
|
-
ports:
|
|
705
|
-
- "6379:6379"`
|
|
706
|
-
: ''}
|
|
707
|
-
|
|
708
|
-
${hasDatabase || hasCache
|
|
709
|
-
? `volumes:${hasDatabase ? '\n postgres_data:' : ''}${hasCache ? '\n redis_data:' : ''}`
|
|
710
|
-
: ''}
|
|
711
|
-
`;
|
|
712
|
-
}
|
|
713
|
-
function generateDockerignore() {
|
|
714
|
-
return `__pycache__
|
|
715
|
-
*.pyc
|
|
716
|
-
*.pyo
|
|
717
|
-
*.pyd
|
|
718
|
-
.Python
|
|
719
|
-
env
|
|
720
|
-
venv
|
|
721
|
-
.venv
|
|
722
|
-
node_modules
|
|
723
|
-
.git
|
|
724
|
-
.gitignore
|
|
725
|
-
.dockerignore
|
|
726
|
-
.env
|
|
727
|
-
.env.local
|
|
728
|
-
*.log
|
|
729
|
-
.pytest_cache
|
|
730
|
-
.coverage
|
|
731
|
-
htmlcov
|
|
732
|
-
dist
|
|
733
|
-
build
|
|
734
|
-
*.egg-info
|
|
735
|
-
`;
|
|
736
|
-
}
|
|
737
|
-
function generateConftestPy(_config) {
|
|
738
|
-
return `import pytest
|
|
739
|
-
from fastapi.testclient import TestClient
|
|
740
|
-
from src.main import app
|
|
741
|
-
|
|
742
|
-
@pytest.fixture
|
|
743
|
-
def client():
|
|
744
|
-
with TestClient(app) as c:
|
|
745
|
-
yield c
|
|
746
|
-
`;
|
|
747
|
-
}
|
|
748
|
-
function generateTestMainPy(_config) {
|
|
749
|
-
return `def test_root(client):
|
|
750
|
-
response = client.get("/")
|
|
751
|
-
assert response.status_code == 200
|
|
752
|
-
assert "message" in response.json()
|
|
753
|
-
|
|
754
|
-
def test_health_check(client):
|
|
755
|
-
response = client.get("/health")
|
|
756
|
-
assert response.status_code == 200
|
|
757
|
-
assert response.json() == {"status": "healthy"}
|
|
758
|
-
`;
|
|
759
|
-
}
|
|
760
|
-
function generatePytestIni() {
|
|
761
|
-
return `[pytest]
|
|
762
|
-
testpaths = tests
|
|
763
|
-
python_files = test_*.py
|
|
764
|
-
python_classes = Test*
|
|
765
|
-
python_functions = test_*
|
|
766
|
-
addopts = -v --tb=short
|
|
767
|
-
`;
|
|
768
|
-
}
|
|
769
|
-
function generateE2ETest() {
|
|
770
|
-
return `import { Test, TestingModule } from '@nestjs/testing';
|
|
771
|
-
import { INestApplication } from '@nestjs/common';
|
|
772
|
-
import * as request from 'supertest';
|
|
773
|
-
import { AppModule } from './../src/app.module';
|
|
774
|
-
|
|
775
|
-
describe('AppController (e2e)', () => {
|
|
776
|
-
let app: INestApplication;
|
|
777
|
-
|
|
778
|
-
beforeEach(async () => {
|
|
779
|
-
const moduleFixture: TestingModule = await Test.createTestingModule({
|
|
780
|
-
imports: [AppModule],
|
|
781
|
-
}).compile();
|
|
782
|
-
|
|
783
|
-
app = moduleFixture.createNestApplication();
|
|
784
|
-
await app.init();
|
|
785
|
-
});
|
|
786
|
-
|
|
787
|
-
it('/ (GET)', () => {
|
|
788
|
-
return request(app.getHttpServer())
|
|
789
|
-
.get('/')
|
|
790
|
-
.expect(200)
|
|
791
|
-
.expect('Welcome to your NestJS application!');
|
|
792
|
-
});
|
|
793
|
-
});
|
|
794
|
-
`;
|
|
795
|
-
}
|
|
796
|
-
function generateJestE2EConfig() {
|
|
797
|
-
return `{
|
|
798
|
-
"moduleFileExtensions": ["js", "json", "ts"],
|
|
799
|
-
"rootDir": ".",
|
|
800
|
-
"testEnvironment": "node",
|
|
801
|
-
"testRegex": ".e2e-spec.ts$",
|
|
802
|
-
"transform": {
|
|
803
|
-
"^.+\\\\.(t|j)s$": "ts-jest"
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
`;
|
|
807
|
-
}
|
|
808
|
-
function generateGitHubActions(config) {
|
|
809
|
-
if (config.framework.startsWith('fastapi')) {
|
|
810
|
-
return `name: CI
|
|
811
|
-
|
|
812
|
-
on:
|
|
813
|
-
push:
|
|
814
|
-
branches: [ main, develop ]
|
|
815
|
-
pull_request:
|
|
816
|
-
branches: [ main, develop ]
|
|
817
|
-
|
|
818
|
-
jobs:
|
|
819
|
-
test:
|
|
820
|
-
runs-on: ubuntu-latest
|
|
821
|
-
|
|
822
|
-
steps:
|
|
823
|
-
- uses: actions/checkout@v3
|
|
824
|
-
|
|
825
|
-
- name: Set up Python ${config.pythonVersion}
|
|
826
|
-
uses: actions/setup-python@v4
|
|
827
|
-
with:
|
|
828
|
-
python-version: ${config.pythonVersion}
|
|
829
|
-
|
|
830
|
-
- name: Install dependencies
|
|
831
|
-
run: |
|
|
832
|
-
${config.packageManager === 'poetry'
|
|
833
|
-
? 'pip install poetry\npoetry install'
|
|
834
|
-
: 'pip install -r requirements.txt'}
|
|
835
|
-
|
|
836
|
-
- name: Run tests
|
|
837
|
-
run: |
|
|
838
|
-
${config.packageManager === 'poetry' ? 'poetry run pytest' : 'pytest'}
|
|
839
|
-
|
|
840
|
-
- name: Lint with flake8
|
|
841
|
-
run: |
|
|
842
|
-
${config.packageManager === 'poetry' ? 'poetry run flake8 src' : 'flake8 src'}
|
|
843
|
-
`;
|
|
844
|
-
}
|
|
845
|
-
else {
|
|
846
|
-
return `name: CI
|
|
847
|
-
|
|
848
|
-
on:
|
|
849
|
-
push:
|
|
850
|
-
branches: [ main, develop ]
|
|
851
|
-
pull_request:
|
|
852
|
-
branches: [ main, develop ]
|
|
853
|
-
|
|
854
|
-
jobs:
|
|
855
|
-
test:
|
|
856
|
-
runs-on: ubuntu-latest
|
|
857
|
-
|
|
858
|
-
steps:
|
|
859
|
-
- uses: actions/checkout@v3
|
|
860
|
-
|
|
861
|
-
- name: Set up Node.js
|
|
862
|
-
uses: actions/setup-node@v3
|
|
863
|
-
with:
|
|
864
|
-
node-version: '18'
|
|
865
|
-
|
|
866
|
-
- name: Install dependencies
|
|
867
|
-
run: npm ci
|
|
868
|
-
|
|
869
|
-
- name: Run tests
|
|
870
|
-
run: npm test
|
|
871
|
-
|
|
872
|
-
- name: Build
|
|
873
|
-
run: npm run build
|
|
874
|
-
`;
|
|
875
|
-
}
|
|
876
|
-
}
|
|
877
|
-
//# sourceMappingURL=generator.js.map
|
package/dist/generator.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|