@exanderal/stackcraft 0.4.0 → 0.4.2

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.
@@ -80,7 +80,7 @@ async function writeBackendEnv(config) {
80
80
  `DB_NAME=${dbName}`,
81
81
  '',
82
82
  '# App',
83
- 'PORT=3000',
83
+ 'PORT=3001',
84
84
  'NODE_ENV=development',
85
85
  '',
86
86
  ].join('\n');
@@ -92,7 +92,7 @@ async function writeFrontendEnv(config) {
92
92
  const apiVar = FRONTEND_API_VAR[config.frontend];
93
93
  const lines = [
94
94
  '# API',
95
- `${apiVar}=http://localhost:3000`,
95
+ `${apiVar}=http://localhost:3001`,
96
96
  '',
97
97
  ].join('\n');
98
98
  await writeFile(join(webDir, '.env'), lines, 'utf-8');
@@ -108,7 +108,13 @@ async function addDbScripts(config) {
108
108
  }
109
109
  async function updateGitignore(config) {
110
110
  const gitignorePath = join(config.targetDir, '.gitignore');
111
- const content = await readFile(gitignorePath, 'utf-8');
111
+ let content = '';
112
+ try {
113
+ content = await readFile(gitignorePath, 'utf-8');
114
+ }
115
+ catch {
116
+ // file may not exist yet — we'll create it
117
+ }
112
118
  if (!content.includes('.env')) {
113
119
  await writeFile(gitignorePath, content + '\n# environment\n**/.env\n', 'utf-8');
114
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-docker.js","sourceRoot":"","sources":["../../../src/create/scaffolders/setup-docker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-docker.js","sourceRoot":"","sources":["../../../src/create/scaffolders/setup-docker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../../src/create/scaffolders/utils/copy.ts"],"names":[],"mappings":"AAmCA,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAI7B"}
1
+ {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../../src/create/scaffolders/utils/copy.ts"],"names":[],"mappings":"AAmCA,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAK7B"}
@@ -1,4 +1,4 @@
1
- import { cp, readFile, readdir, writeFile } from 'node:fs/promises';
1
+ import { cp, readFile, readdir, rename, writeFile } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
3
  const TEXT_EXTENSIONS = new Set([
4
4
  '.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
@@ -29,6 +29,19 @@ async function substituteVars(dir, vars) {
29
29
  }
30
30
  export async function copyTemplate(src, dest, vars) {
31
31
  await cp(src, dest, { recursive: true });
32
+ await renameGitignores(dest);
32
33
  await substituteVars(dest, vars);
33
34
  }
35
+ async function renameGitignores(dir) {
36
+ const entries = await readdir(dir, { withFileTypes: true });
37
+ await Promise.all(entries.map(async (entry) => {
38
+ const fullPath = join(dir, entry.name);
39
+ if (entry.isDirectory()) {
40
+ await renameGitignores(fullPath);
41
+ }
42
+ else if (entry.isFile() && entry.name === 'gitignore') {
43
+ await rename(fullPath, join(dir, '.gitignore'));
44
+ }
45
+ }));
46
+ }
34
47
  //# sourceMappingURL=copy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../src/create/scaffolders/utils/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;IAC/B,OAAO,EAAE,MAAM,EAAE,MAAM;IACvB,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM;CACjD,CAAC,CAAA;AAEF,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACzD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,IAA4B;IACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3D,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,CAAA;YACnD,CAAC;YACD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,IAAY,EACZ,IAA4B;IAE5B,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../src/create/scaffolders/utils/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;IAC/B,OAAO,EAAE,MAAM,EAAE,MAAM;IACvB,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM;CACjD,CAAC,CAAA;AAEF,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACzD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,IAA4B;IACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3D,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,CAAA;YACnD,CAAC;YACD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,IAAY,EACZ,IAA4B;IAE5B,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACzC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACxD,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAA;QACjD,CAAC;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
@@ -60,19 +60,19 @@ async function patchNextLayout(webDir) {
60
60
  await writeFile(layoutPath, patched, 'utf-8');
61
61
  }
62
62
  function apolloViteClient() {
63
- return `import { ApolloClient, InMemoryCache } from '@apollo/client'
63
+ return `import { ApolloClient, HttpLink, InMemoryCache } from '@apollo/client'
64
64
 
65
65
  export const client = new ApolloClient({
66
- uri: import.meta.env.VITE_API_URL ?? 'http://localhost:3000/graphql',
66
+ link: new HttpLink({ uri: import.meta.env.VITE_API_URL ?? 'http://localhost:3001/graphql' }),
67
67
  cache: new InMemoryCache(),
68
68
  })
69
69
  `;
70
70
  }
71
71
  function apolloNextClient() {
72
- return `import { ApolloClient, InMemoryCache } from '@apollo/client'
72
+ return `import { ApolloClient, HttpLink, InMemoryCache } from '@apollo/client'
73
73
 
74
74
  export const client = new ApolloClient({
75
- uri: process.env.NEXT_PUBLIC_API_URL ?? 'http://localhost:3000/graphql',
75
+ link: new HttpLink({ uri: process.env.NEXT_PUBLIC_API_URL ?? 'http://localhost:3001/graphql' }),
76
76
  cache: new InMemoryCache(),
77
77
  })
78
78
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exanderal/stackcraft",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Opinionated full-stack project scaffolding CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -22,6 +22,7 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@apollo/server": "^4.0.0",
25
+ "@as-integrations/express5": "^1.1.2",
25
26
  "@nestjs/apollo": "^13.0.0",
26
27
  "@nestjs/common": "^11.0.1",
27
28
  "@nestjs/config": "^3.0.0",
@@ -1,9 +1,10 @@
1
1
  import { Module } from '@nestjs/common';
2
2
  import { HealthController } from './health.controller';
3
+ import { HealthResolver } from './health.resolver';
3
4
  import { HealthService } from './health.service';
4
5
 
5
6
  @Module({
6
7
  controllers: [HealthController],
7
- providers: [HealthService],
8
+ providers: [HealthService, HealthResolver],
8
9
  })
9
10
  export class HealthModule {}
@@ -0,0 +1,12 @@
1
+ import { Query, Resolver } from '@nestjs/graphql';
2
+ import { HealthService } from './health.service';
3
+
4
+ @Resolver()
5
+ export class HealthResolver {
6
+ constructor(private readonly healthService: HealthService) {}
7
+
8
+ @Query(() => String)
9
+ health(): string {
10
+ return this.healthService.check().status;
11
+ }
12
+ }
@@ -0,0 +1,3 @@
1
+ dist/
2
+ node_modules/
3
+ swagger.json
@@ -0,0 +1,4 @@
1
+ node_modules/
2
+ dist/
3
+ .nx/cache
4
+ *.tsbuildinfo
@@ -0,0 +1,41 @@
1
+ # Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
2
+
3
+ # dependencies
4
+ node_modules/
5
+
6
+ # Expo
7
+ .expo/
8
+ dist/
9
+ web-build/
10
+ expo-env.d.ts
11
+
12
+ # Native
13
+ .kotlin/
14
+ *.orig.*
15
+ *.jks
16
+ *.p8
17
+ *.p12
18
+ *.key
19
+ *.mobileprovision
20
+
21
+ # Metro
22
+ .metro-health-check*
23
+
24
+ # debug
25
+ npm-debug.*
26
+ yarn-debug.*
27
+ yarn-error.*
28
+
29
+ # macOS
30
+ .DS_Store
31
+ *.pem
32
+
33
+ # local env files
34
+ .env*.local
35
+
36
+ # typescript
37
+ *.tsbuildinfo
38
+
39
+ # generated native folders
40
+ /ios
41
+ /android
@@ -0,0 +1,41 @@
1
+ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2
+
3
+ # dependencies
4
+ /node_modules
5
+ /.pnp
6
+ .pnp.*
7
+ .yarn/*
8
+ !.yarn/patches
9
+ !.yarn/plugins
10
+ !.yarn/releases
11
+ !.yarn/versions
12
+
13
+ # testing
14
+ /coverage
15
+
16
+ # next.js
17
+ /.next/
18
+ /out/
19
+
20
+ # production
21
+ /build
22
+
23
+ # misc
24
+ .DS_Store
25
+ *.pem
26
+
27
+ # debug
28
+ npm-debug.log*
29
+ yarn-debug.log*
30
+ yarn-error.log*
31
+ .pnpm-debug.log*
32
+
33
+ # env files (can opt-in for committing if needed)
34
+ .env*
35
+
36
+ # vercel
37
+ .vercel
38
+
39
+ # typescript
40
+ *.tsbuildinfo
41
+ next-env.d.ts
@@ -0,0 +1,6 @@
1
+ /// <reference types="next" />
2
+ /// <reference types="next/image-types/global" />
3
+ import "./.next/types/routes.d.ts";
4
+
5
+ // NOTE: This file should not be edited
6
+ // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
@@ -0,0 +1,24 @@
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ dist
12
+ dist-ssr
13
+ *.local
14
+
15
+ # Editor directories and files
16
+ .vscode/*
17
+ !.vscode/extensions.json
18
+ .idea
19
+ .DS_Store
20
+ *.suo
21
+ *.ntvs*
22
+ *.njsproj
23
+ *.sln
24
+ *.sw?