create-turbo-mono 1.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.
Files changed (54) hide show
  1. package/.claude/settings.local.json +14 -0
  2. package/README.md +182 -0
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +118 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/scaffold.d.ts +8 -0
  8. package/dist/scaffold.d.ts.map +1 -0
  9. package/dist/scaffold.js +42 -0
  10. package/dist/scaffold.js.map +1 -0
  11. package/dist/templates/backend.d.ts +2 -0
  12. package/dist/templates/backend.d.ts.map +1 -0
  13. package/dist/templates/backend.js +424 -0
  14. package/dist/templates/backend.js.map +1 -0
  15. package/dist/templates/cicd.d.ts +3 -0
  16. package/dist/templates/cicd.d.ts.map +1 -0
  17. package/dist/templates/cicd.js +307 -0
  18. package/dist/templates/cicd.js.map +1 -0
  19. package/dist/templates/docker.d.ts +3 -0
  20. package/dist/templates/docker.d.ts.map +1 -0
  21. package/dist/templates/docker.js +458 -0
  22. package/dist/templates/docker.js.map +1 -0
  23. package/dist/templates/docs.d.ts +3 -0
  24. package/dist/templates/docs.d.ts.map +1 -0
  25. package/dist/templates/docs.js +71 -0
  26. package/dist/templates/docs.js.map +1 -0
  27. package/dist/templates/frontend.d.ts +2 -0
  28. package/dist/templates/frontend.d.ts.map +1 -0
  29. package/dist/templates/frontend.js +441 -0
  30. package/dist/templates/frontend.js.map +1 -0
  31. package/dist/templates/root.d.ts +3 -0
  32. package/dist/templates/root.d.ts.map +1 -0
  33. package/dist/templates/root.js +210 -0
  34. package/dist/templates/root.js.map +1 -0
  35. package/dist/templates/shared.d.ts +2 -0
  36. package/dist/templates/shared.d.ts.map +1 -0
  37. package/dist/templates/shared.js +696 -0
  38. package/dist/templates/shared.js.map +1 -0
  39. package/dist/utils.d.ts +5 -0
  40. package/dist/utils.d.ts.map +1 -0
  41. package/dist/utils.js +34 -0
  42. package/dist/utils.js.map +1 -0
  43. package/package.json +40 -0
  44. package/src/index.ts +138 -0
  45. package/src/scaffold.ts +51 -0
  46. package/src/templates/backend.ts +460 -0
  47. package/src/templates/cicd.ts +334 -0
  48. package/src/templates/docker.ts +503 -0
  49. package/src/templates/docs.ts +74 -0
  50. package/src/templates/frontend.ts +469 -0
  51. package/src/templates/root.ts +216 -0
  52. package/src/templates/shared.ts +820 -0
  53. package/src/utils.ts +31 -0
  54. package/tsconfig.json +20 -0
@@ -0,0 +1,424 @@
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.createBackendApp = createBackendApp;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const utils_1 = require("../utils");
10
+ async function createBackendApp(targetDir, appName) {
11
+ const kebabName = (0, utils_1.toKebabCase)(appName);
12
+ const pascalName = (0, utils_1.toPascalCase)(appName);
13
+ const appDir = path_1.default.join(targetDir, 'apps', 'backend', kebabName);
14
+ // Create full NestJS structure (matching 'nest new')
15
+ await fs_extra_1.default.ensureDir(path_1.default.join(appDir, 'src'));
16
+ await fs_extra_1.default.ensureDir(path_1.default.join(appDir, 'test'));
17
+ // package.json (matching nest new)
18
+ const packageJson = {
19
+ name: `@repo/${kebabName}`,
20
+ version: '0.0.1',
21
+ description: '',
22
+ author: '',
23
+ private: true,
24
+ license: 'UNLICENSED',
25
+ scripts: {
26
+ build: 'nest build',
27
+ format: 'prettier --write "src/**/*.ts" "test/**/*.ts"',
28
+ dev: 'nest start --watch',
29
+ 'start:dev': 'nest start --watch',
30
+ 'start:debug': 'nest start --debug --watch',
31
+ start: 'node dist/main',
32
+ 'start:prod': 'node dist/main',
33
+ lint: 'eslint "{src,apps,libs,test}/**/*.ts" --fix',
34
+ test: 'jest',
35
+ 'test:watch': 'jest --watch',
36
+ 'test:cov': 'jest --coverage',
37
+ 'test:debug': 'node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInWorker',
38
+ 'test:e2e': 'jest --config ./test/jest-e2e.json',
39
+ 'type-check': 'tsc --noEmit',
40
+ clean: 'rm -rf dist',
41
+ 'db:generate': 'pnpm --filter @repo/database db:generate',
42
+ },
43
+ dependencies: {
44
+ '@nestjs/common': '^10.0.0',
45
+ '@nestjs/core': '^10.0.0',
46
+ '@nestjs/platform-express': '^10.0.0',
47
+ '@nestjs/config': '^3.1.1',
48
+ '@repo/database': 'workspace:*',
49
+ '@repo/shared-backend': 'workspace:*',
50
+ '@repo/shared-common': 'workspace:*',
51
+ 'class-validator': '^0.14.0',
52
+ 'class-transformer': '^0.5.1',
53
+ 'reflect-metadata': '^0.2.0',
54
+ rxjs: '^7.8.1',
55
+ },
56
+ devDependencies: {
57
+ '@nestjs/cli': '^10.0.0',
58
+ '@nestjs/schematics': '^10.0.0',
59
+ '@nestjs/testing': '^10.0.0',
60
+ '@repo/tsconfig': 'workspace:*',
61
+ '@types/express': '^4.17.17',
62
+ '@types/jest': '^29.5.2',
63
+ '@types/node': '^20.3.1',
64
+ '@types/supertest': '^2.0.12',
65
+ '@typescript-eslint/eslint-plugin': '^6.0.0',
66
+ '@typescript-eslint/parser': '^6.0.0',
67
+ eslint: '^8.42.0',
68
+ 'eslint-config-prettier': '^9.0.0',
69
+ 'eslint-plugin-prettier': '^5.0.0',
70
+ jest: '^29.5.0',
71
+ prettier: '^3.0.0',
72
+ 'source-map-support': '^0.5.21',
73
+ supertest: '^6.3.3',
74
+ 'ts-jest': '^29.1.0',
75
+ 'ts-loader': '^9.4.3',
76
+ 'ts-node': '^10.9.1',
77
+ 'tsconfig-paths': '^4.2.0',
78
+ typescript: '^5.1.3',
79
+ },
80
+ jest: {
81
+ moduleFileExtensions: ['js', 'json', 'ts'],
82
+ rootDir: 'src',
83
+ testRegex: '.*\\.spec\\.ts$',
84
+ transform: {
85
+ '^.+\\.(t|j)s$': 'ts-jest',
86
+ },
87
+ collectCoverageFrom: ['**/*.(t|j)s'],
88
+ coverageDirectory: '../coverage',
89
+ testEnvironment: 'node',
90
+ },
91
+ };
92
+ await fs_extra_1.default.writeJson(path_1.default.join(appDir, 'package.json'), packageJson, {
93
+ spaces: 2,
94
+ });
95
+ // tsconfig.json
96
+ const tsConfig = {
97
+ extends: '@repo/tsconfig/nestjs.json',
98
+ compilerOptions: {
99
+ module: 'commonjs',
100
+ declaration: true,
101
+ removeComments: true,
102
+ emitDecoratorMetadata: true,
103
+ experimentalDecorators: true,
104
+ allowSyntheticDefaultImports: true,
105
+ target: 'ES2021',
106
+ sourceMap: true,
107
+ outDir: './dist',
108
+ baseUrl: './',
109
+ incremental: true,
110
+ skipLibCheck: true,
111
+ strictNullChecks: false,
112
+ noImplicitAny: false,
113
+ strictBindCallApply: false,
114
+ forceConsistentCasingInFileNames: false,
115
+ noFallthroughCasesInSwitch: false,
116
+ },
117
+ };
118
+ await fs_extra_1.default.writeJson(path_1.default.join(appDir, 'tsconfig.json'), tsConfig, {
119
+ spaces: 2,
120
+ });
121
+ // tsconfig.build.json
122
+ const tsBuildConfig = {
123
+ extends: './tsconfig.json',
124
+ exclude: ['node_modules', 'test', 'dist', '**/*spec.ts'],
125
+ };
126
+ await fs_extra_1.default.writeJson(path_1.default.join(appDir, 'tsconfig.build.json'), tsBuildConfig, {
127
+ spaces: 2,
128
+ });
129
+ // nest-cli.json
130
+ const nestCliConfig = {
131
+ $schema: 'https://json.schemastore.org/nest-cli',
132
+ collection: '@nestjs/schematics',
133
+ sourceRoot: 'src',
134
+ compilerOptions: {
135
+ deleteOutDir: true,
136
+ },
137
+ };
138
+ await fs_extra_1.default.writeJson(path_1.default.join(appDir, 'nest-cli.json'), nestCliConfig, {
139
+ spaces: 2,
140
+ });
141
+ // .eslintrc.js
142
+ const eslintConfig = `module.exports = {
143
+ parser: '@typescript-eslint/parser',
144
+ parserOptions: {
145
+ project: 'tsconfig.json',
146
+ tsconfigRootDir: __dirname,
147
+ sourceType: 'module',
148
+ },
149
+ plugins: ['@typescript-eslint/eslint-plugin'],
150
+ extends: [
151
+ 'plugin:@typescript-eslint/recommended',
152
+ 'plugin:prettier/recommended',
153
+ ],
154
+ root: true,
155
+ env: {
156
+ node: true,
157
+ jest: true,
158
+ },
159
+ ignorePatterns: ['.eslintrc.js'],
160
+ rules: {
161
+ '@typescript-eslint/interface-name-prefix': 'off',
162
+ '@typescript-eslint/explicit-function-return-type': 'off',
163
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
164
+ '@typescript-eslint/no-explicit-any': 'off',
165
+ },
166
+ };
167
+ `;
168
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, '.eslintrc.js'), eslintConfig);
169
+ // .prettierrc
170
+ const prettierConfig = {
171
+ singleQuote: true,
172
+ trailingComma: 'all',
173
+ };
174
+ await fs_extra_1.default.writeJson(path_1.default.join(appDir, '.prettierrc'), prettierConfig, {
175
+ spaces: 2,
176
+ });
177
+ // src/main.ts
178
+ const mainTs = `import { NestFactory } from '@nestjs/core';
179
+ import { ValidationPipe } from '@nestjs/common';
180
+ import { AppModule } from './app.module';
181
+
182
+ async function bootstrap() {
183
+ const app = await NestFactory.create(AppModule);
184
+
185
+ app.useGlobalPipes(
186
+ new ValidationPipe({
187
+ whitelist: true,
188
+ transform: true,
189
+ }),
190
+ );
191
+
192
+ app.enableCors();
193
+
194
+ const port = process.env.PORT || 3000;
195
+ await app.listen(port);
196
+
197
+ console.log(\`Application is running on: \${await app.getUrl()}\`);
198
+ }
199
+ bootstrap();
200
+ `;
201
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, 'src', 'main.ts'), mainTs);
202
+ // src/app.module.ts
203
+ const appModuleTs = `import { Module } from '@nestjs/common';
204
+ import { ConfigModule } from '@nestjs/config';
205
+ import { AppController } from './app.controller';
206
+ import { AppService } from './app.service';
207
+
208
+ @Module({
209
+ imports: [
210
+ ConfigModule.forRoot({
211
+ isGlobal: true,
212
+ }),
213
+ ],
214
+ controllers: [AppController],
215
+ providers: [AppService],
216
+ })
217
+ export class AppModule {}
218
+ `;
219
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, 'src', 'app.module.ts'), appModuleTs);
220
+ // src/app.controller.ts
221
+ const appControllerTs = `import { Controller, Get } from '@nestjs/common';
222
+ import { AppService } from './app.service';
223
+
224
+ @Controller()
225
+ export class AppController {
226
+ constructor(private readonly appService: AppService) {}
227
+
228
+ @Get()
229
+ getHello(): string {
230
+ return this.appService.getHello();
231
+ }
232
+ }
233
+ `;
234
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, 'src', 'app.controller.ts'), appControllerTs);
235
+ // src/app.controller.spec.ts
236
+ const appControllerSpecTs = `import { Test, TestingModule } from '@nestjs/testing';
237
+ import { AppController } from './app.controller';
238
+ import { AppService } from './app.service';
239
+
240
+ describe('AppController', () => {
241
+ let appController: AppController;
242
+
243
+ beforeEach(async () => {
244
+ const app: TestingModule = await Test.createTestingModule({
245
+ controllers: [AppController],
246
+ providers: [AppService],
247
+ }).compile();
248
+
249
+ appController = app.get<AppController>(AppController);
250
+ });
251
+
252
+ describe('root', () => {
253
+ it('should return "Hello World!"', () => {
254
+ expect(appController.getHello()).toBe('Hello World!');
255
+ });
256
+ });
257
+ });
258
+ `;
259
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, 'src', 'app.controller.spec.ts'), appControllerSpecTs);
260
+ // src/app.service.ts
261
+ const appServiceTs = `import { Injectable } from '@nestjs/common';
262
+
263
+ @Injectable()
264
+ export class AppService {
265
+ getHello(): string {
266
+ return 'Hello World!';
267
+ }
268
+ }
269
+ `;
270
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, 'src', 'app.service.ts'), appServiceTs);
271
+ // test/app.e2e-spec.ts
272
+ const appE2eSpecTs = `import { Test, TestingModule } from '@nestjs/testing';
273
+ import { INestApplication } from '@nestjs/common';
274
+ import * as request from 'supertest';
275
+ import { AppModule } from './../src/app.module';
276
+
277
+ describe('AppController (e2e)', () => {
278
+ let app: INestApplication;
279
+
280
+ beforeEach(async () => {
281
+ const moduleFixture: TestingModule = await Test.createTestingModule({
282
+ imports: [AppModule],
283
+ }).compile();
284
+
285
+ app = moduleFixture.createNestApplication();
286
+ await app.init();
287
+ });
288
+
289
+ it('/ (GET)', () => {
290
+ return request(app.getHttpServer())
291
+ .get('/')
292
+ .expect(200)
293
+ .expect('Hello World!');
294
+ });
295
+ });
296
+ `;
297
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, 'test', 'app.e2e-spec.ts'), appE2eSpecTs);
298
+ // test/jest-e2e.json
299
+ const jestE2eConfig = {
300
+ moduleFileExtensions: ['js', 'json', 'ts'],
301
+ rootDir: '.',
302
+ testEnvironment: 'node',
303
+ testRegex: '.e2e-spec.ts$',
304
+ transform: {
305
+ '^.+\\.(t|j)s$': 'ts-jest',
306
+ },
307
+ };
308
+ await fs_extra_1.default.writeJson(path_1.default.join(appDir, 'test', 'jest-e2e.json'), jestE2eConfig, {
309
+ spaces: 2,
310
+ });
311
+ // .gitignore
312
+ const gitignore = `# compiled output
313
+ /dist
314
+ /node_modules
315
+
316
+ # Logs
317
+ logs
318
+ *.log
319
+ npm-debug.log*
320
+ pnpm-debug.log*
321
+ yarn-debug.log*
322
+ yarn-error.log*
323
+ lerna-debug.log*
324
+
325
+ # OS
326
+ .DS_Store
327
+
328
+ # Tests
329
+ /coverage
330
+ /.nyc_output
331
+
332
+ # IDEs and editors
333
+ /.idea
334
+ .project
335
+ .classpath
336
+ .c9/
337
+ *.launch
338
+ .settings/
339
+ *.sublime-workspace
340
+
341
+ # IDE - VSCode
342
+ .vscode/*
343
+ !.vscode/settings.json
344
+ !.vscode/tasks.json
345
+ !.vscode/launch.json
346
+ !.vscode/extensions.json
347
+
348
+ # dotenv environment variable files
349
+ .env
350
+ .env.development.local
351
+ .env.test.local
352
+ .env.production.local
353
+ .env.local
354
+
355
+ # temp directory
356
+ .temp
357
+ .tmp
358
+
359
+ # Runtime data
360
+ pids
361
+ *.pid
362
+ *.seed
363
+ *.pid.lock
364
+
365
+ # Diagnostic reports (https://nodejs.org/api/report.html)
366
+ report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
367
+ `;
368
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, '.gitignore'), gitignore);
369
+ // .env.example
370
+ const envExample = `PORT=3000
371
+ DATABASE_URL="postgresql://user:password@localhost:5432/${kebabName}?schema=public"
372
+ `;
373
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, '.env.example'), envExample);
374
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, '.env'), envExample);
375
+ // README.md
376
+ const readme = `# ${pascalName}
377
+
378
+ ## Description
379
+
380
+ [Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
381
+
382
+ ## Installation
383
+
384
+ \`\`\`bash
385
+ $ pnpm install
386
+ \`\`\`
387
+
388
+ ## Running the app
389
+
390
+ \`\`\`bash
391
+ # development
392
+ $ pnpm run dev
393
+
394
+ # watch mode
395
+ $ pnpm run start:dev
396
+
397
+ # production mode
398
+ $ pnpm run start:prod
399
+ \`\`\`
400
+
401
+ ## Test
402
+
403
+ \`\`\`bash
404
+ # unit tests
405
+ $ pnpm run test
406
+
407
+ # e2e tests
408
+ $ pnpm run test:e2e
409
+
410
+ # test coverage
411
+ $ pnpm run test:cov
412
+ \`\`\`
413
+
414
+ ## Support
415
+
416
+ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
417
+
418
+ ## License
419
+
420
+ Nest is [MIT licensed](LICENSE).
421
+ `;
422
+ await fs_extra_1.default.writeFile(path_1.default.join(appDir, 'README.md'), readme);
423
+ }
424
+ //# sourceMappingURL=backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/templates/backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ProjectConfig } from '../scaffold';
2
+ export declare function createCICDFiles(config: ProjectConfig): Promise<void>;
3
+ //# sourceMappingURL=cicd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cicd.d.ts","sourceRoot":"","sources":["../../src/templates/cicd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1E"}