@nest-arch/tui 0.2.0 → 0.2.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 (48) hide show
  1. package/README.md +7 -0
  2. package/dist/cli.js +1 -1
  3. package/dist/{constants-BbJ71cex.js → constants-LZTzRAoQ.js} +1 -1
  4. package/dist/index.js +97 -79
  5. package/dist/templates/base/.env.example.hbs +36 -0
  6. package/dist/templates/base/.env.hbs +7 -0
  7. package/dist/templates/base/README.md.hbs +1 -1
  8. package/dist/templates/base/pnpm-workspace.yaml.hbs +6 -0
  9. package/dist/templates/base/src/app.module.ts.hbs +15 -1
  10. package/dist/templates/base/src/main.ts.hbs +5 -1
  11. package/dist/templates/extras/swagger/create-docs.ts.hbs +80 -36
  12. package/dist/templates/feature/graphql/src/graphql/dto/create-todo.input.ts.hbs +13 -0
  13. package/dist/templates/feature/graphql/src/graphql/dto/update-todo.input.ts.hbs +8 -0
  14. package/dist/templates/feature/graphql/src/graphql/graphql.module.ts.hbs +33 -0
  15. package/dist/templates/feature/graphql/src/graphql/models/base.model.ts.hbs +13 -0
  16. package/dist/templates/feature/graphql/src/graphql/models/pagination.model.ts.hbs +27 -0
  17. package/dist/templates/feature/graphql/src/graphql/models/todo.model.ts.hbs +23 -0
  18. package/dist/templates/feature/graphql/src/graphql/models/user.model.ts.hbs +34 -0
  19. package/dist/templates/feature/graphql/src/graphql/orm/drizzle/drizzle-graphql.module.ts.hbs +42 -0
  20. package/dist/templates/feature/graphql/src/graphql/orm/typeorm/typeorm-graphql-relations.helper.ts.hbs +23 -0
  21. package/dist/templates/feature/graphql/src/graphql/resolvers/base.resolver.ts.hbs +50 -0
  22. package/dist/templates/feature/graphql/src/graphql/resolvers/todo.resolver.ts.hbs +126 -0
  23. package/dist/templates/feature/rest/todo-example/src/api/todo/dto/create-todo.dto.ts.hbs +13 -0
  24. package/dist/templates/feature/rest/todo-example/src/api/todo/dto/update-todo.dto.ts.hbs +13 -0
  25. package/dist/templates/feature/rest/todo-example/src/api/todo/todo.controller.ts.hbs +346 -0
  26. package/dist/templates/monorepo/apps/api-gateway/src/app.module.ts.hbs +15 -1
  27. package/dist/templates/monorepo/apps/api-gateway/src/main.ts.hbs +56 -54
  28. package/dist/templates/monorepo/feature/graphql/src/graphql/dto/create-todo.input.ts.hbs +13 -0
  29. package/dist/templates/monorepo/feature/graphql/src/graphql/dto/update-todo.input.ts.hbs +8 -0
  30. package/dist/templates/monorepo/feature/graphql/src/graphql/graphql.module.ts.hbs +33 -0
  31. package/dist/templates/monorepo/feature/graphql/src/graphql/models/base.model.ts.hbs +13 -0
  32. package/dist/templates/monorepo/feature/graphql/src/graphql/models/todo.model.ts.hbs +23 -0
  33. package/dist/templates/monorepo/feature/graphql/src/graphql/models/user.model.ts.hbs +34 -0
  34. package/dist/templates/monorepo/feature/graphql/src/graphql/orm/drizzle/drizzle-graphql.module.ts.hbs +16 -0
  35. package/dist/templates/monorepo/feature/graphql/src/graphql/orm/prisma/prisma-graphql.service.ts.hbs +9 -0
  36. package/dist/templates/monorepo/feature/graphql/src/graphql/orm/typeorm/typeorm-graphql-relations.helper.ts.hbs +23 -0
  37. package/dist/templates/monorepo/feature/graphql/src/graphql/resolvers/todo.resolver.ts.hbs +122 -0
  38. package/dist/templates/monorepo/packages/env/src/api-gateway.ts.hbs +10 -0
  39. package/dist/templates/monorepo/root/README.md.hbs +1 -1
  40. package/dist/templates/monorepo/root/pnpm-workspace.yaml.hbs +6 -0
  41. package/dist/templates/single-project/architecture/nest-api/.env.hbs +25 -1
  42. package/dist/templates/single-project/architecture/nest-api/pnpm-workspace.yaml.hbs +6 -0
  43. package/dist/templates/single-project/architecture/nest-api/src/main.ts.hbs +61 -55
  44. package/dist/templates/single-project/architecture/nest-gateway/src/main.ts.hbs +56 -54
  45. package/dist/templates/single-project/architecture/nest-microservice/.env.hbs +3 -0
  46. package/dist/templates/single-project/architecture/nest-microservice/src/main.ts.hbs +56 -54
  47. package/dist/templates/single-project/shared/config/env.ts.hbs +10 -0
  48. package/package.json +2 -2
@@ -32,63 +32,65 @@ async function bootstrap() {
32
32
  });
33
33
 
34
34
  {{#if swagger}}
35
- const docsPath = "/docs";
36
- {{#if useSwaggerScalar}}
37
- app.use(
38
- docsPath,
39
- apiReference({
40
- content: await createDocs(app, {
41
- title: "{{projectNamePascalCase}} API",
42
- description: "{{description}}",
43
- version: "1.0.0",
44
- integrations: {
45
- {{#if (or (eq auth "better-auth") (eq auth "better-auth:stateless"))}}
46
- betterAuth: {
47
- auth,
48
- pathPrefix: "/api/auth",
35
+ if (env.NODE_ENV === "development") {
36
+ const docsPath = "/docs";
37
+ {{#if useSwaggerScalar}}
38
+ app.use(
39
+ docsPath,
40
+ apiReference({
41
+ content: await createDocs(app, {
42
+ title: "{{projectNamePascalCase}} API",
43
+ description: "{{description}}",
44
+ version: "1.0.0",
45
+ integrations: {
46
+ {{#if (or (eq auth "better-auth") (eq auth "better-auth:stateless"))}}
47
+ betterAuth: {
48
+ auth,
49
+ pathPrefix: "/api/auth",
50
+ },
51
+ {{/if}}
52
+ {{#if (includes apis "trpc")}}
53
+ trpc: {
54
+ routerFilePath: "./src/trpc/router.ts",
55
+ pathPrefix: "/trpc",
56
+ },
57
+ {{/if}}
58
+ zod: {
59
+ withFastify: {{#if (eq httpProvider "fastify")}}true{{else}}false{{/if}},
60
+ },
49
61
  },
50
- {{/if}}
51
- {{#if (includes apis "trpc")}}
52
- trpc: {
53
- routerFilePath: "./src/trpc/router.ts",
54
- pathPrefix: "/trpc",
55
- },
56
- {{/if}}
57
- zod: {
58
- withFastify: {{#if (eq httpProvider "fastify")}}true{{else}}false{{/if}},
59
- },
60
- },
62
+ }),
63
+ pageTitle: "{{projectNamePascalCase}} API Docs",
64
+ theme: "default",
61
65
  }),
62
- pageTitle: "{{projectNamePascalCase}} API Docs",
63
- theme: "default",
64
- }),
65
- );
66
- {{else}}
67
- const document = await createDocs(app, {
68
- title: "{{projectNamePascalCase}} API",
69
- description: "{{description}}",
70
- version: "1.0.0",
71
- integrations: {
72
- {{#if (or (eq auth "better-auth") (eq auth "better-auth:stateless"))}}
73
- betterAuth: {
74
- auth,
75
- pathPrefix: "/api/auth",
76
- },
77
- {{/if}}
78
- {{#if (includes apis "trpc")}}
79
- trpc: {
80
- routerFilePath: "./src/trpc/router.ts",
81
- pathPrefix: "/trpc",
82
- },
83
- {{/if}}
84
- zod: {
85
- withFastify: {{#if (eq httpProvider "fastify")}}true{{else}}false{{/if}},
66
+ );
67
+ {{else}}
68
+ const document = await createDocs(app, {
69
+ title: "{{projectNamePascalCase}} API",
70
+ description: "{{description}}",
71
+ version: "1.0.0",
72
+ integrations: {
73
+ {{#if (or (eq auth "better-auth") (eq auth "better-auth:stateless"))}}
74
+ betterAuth: {
75
+ auth,
76
+ pathPrefix: "/api/auth",
77
+ },
78
+ {{/if}}
79
+ {{#if (includes apis "trpc")}}
80
+ trpc: {
81
+ routerFilePath: "./src/trpc/router.ts",
82
+ pathPrefix: "/trpc",
83
+ },
84
+ {{/if}}
85
+ zod: {
86
+ withFastify: {{#if (eq httpProvider "fastify")}}true{{else}}false{{/if}},
87
+ },
86
88
  },
87
- },
88
- });
89
- SwaggerModule.setup(docsPath, app, document);
90
- {{/if}}
91
- Logger.log(`Swagger documentation available at http://localhost:${env.PORT ?? 3000}${docsPath}`, "SwaggerDocs");
89
+ });
90
+ SwaggerModule.setup(docsPath, app, document);
91
+ {{/if}}
92
+ Logger.log(`Swagger documentation available at http://localhost:${env.PORT ?? 3000}${docsPath}`, "SwaggerDocs");
93
+ }
92
94
  {{/if}}
93
95
 
94
96
  await app.startAllMicroservices();
@@ -45,6 +45,16 @@ export const env = createEnv({
45
45
  {{#if hasMongodb}}
46
46
  MONGODB_URL: z.url(),
47
47
  {{/if}}
48
+ {{#if hasGraphql}}
49
+ GRAPHQL_PLAYGROUND: z
50
+ .string()
51
+ .transform((val) => val === "true")
52
+ .default(true),
53
+ {{/if}}
54
+ {{#if (and (eq auth "passport") hasDatabase)}}
55
+ JWT_ACCESS_SECRET: z.string().min(32),
56
+ JWT_REFRESH_SECRET: z.string().min(32),
57
+ {{/if}}
48
58
  {{#if (or (eq auth "better-auth") (eq auth "better-auth:stateless"))}}
49
59
  BETTER_AUTH_SECRET: z.string().min(32),
50
60
  BETTER_AUTH_URL: z.url(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nest-arch/tui",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "private": false,
5
5
  "description": "Interactive terminal UI for generating NestJS projects",
6
6
  "keywords": [
@@ -48,8 +48,8 @@
48
48
  "pkgroll": "^2.5.2",
49
49
  "tsx": "^4.19.2",
50
50
  "vitest": "^4.1.7",
51
+ "@nest-arch/core": "0.2.1",
51
52
  "@nest-arch/env": "0.0.0",
52
- "@nest-arch/core": "0.2.0",
53
53
  "@nest-arch/shared": "0.0.0"
54
54
  },
55
55
  "peerDependencies": {