@adriankulik/create-fullstack-app 1.5.0 → 1.6.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 (64) hide show
  1. package/package.json +21 -4
  2. package/templates/backend/dotnet/lint.sh +1 -0
  3. package/templates/backend/dotnet/start.sh +1 -0
  4. package/templates/backend/dotnet/test.sh +1 -0
  5. package/templates/backend/fastapi/lint.sh +1 -0
  6. package/templates/backend/fastapi/requirements.txt +1 -1
  7. package/templates/backend/fastapi/start.sh +1 -0
  8. package/templates/backend/fastapi/test.sh +1 -0
  9. package/templates/backend/flask/lint.sh +1 -0
  10. package/templates/backend/flask/requirements.txt +1 -1
  11. package/templates/backend/flask/start.sh +1 -0
  12. package/templates/backend/flask/test.sh +1 -0
  13. package/templates/backend/nodejs/eslint.config.js +15 -0
  14. package/templates/backend/nodejs/lint.sh +1 -0
  15. package/templates/backend/nodejs/package-lock.json +1121 -2112
  16. package/templates/backend/nodejs/package.json +6 -6
  17. package/templates/backend/nodejs/start.sh +1 -0
  18. package/templates/backend/nodejs/test.sh +1 -0
  19. package/templates/base/.editorconfig +18 -0
  20. package/templates/base/.github/workflows/test.yml +26 -10
  21. package/templates/base/gitignore +4 -0
  22. package/templates/frontend/angular/angular.json +6 -0
  23. package/templates/frontend/angular/eslint.config.js +35 -0
  24. package/templates/frontend/angular/lint.sh +1 -0
  25. package/templates/frontend/angular/package-lock.json +1420 -488
  26. package/templates/frontend/angular/package.json +9 -2
  27. package/templates/frontend/angular/src/app/app.component.html +32 -0
  28. package/templates/frontend/angular/src/app/app.component.ts +12 -35
  29. package/templates/frontend/angular/start.sh +1 -0
  30. package/templates/frontend/angular/test.sh +1 -0
  31. package/templates/frontend/nextjs/__tests__/page.test.tsx +4 -4
  32. package/templates/frontend/nextjs/app/page.tsx +8 -2
  33. package/templates/frontend/nextjs/eslint.config.mjs +7 -0
  34. package/templates/frontend/nextjs/lint.sh +1 -0
  35. package/templates/frontend/nextjs/package-lock.json +1336 -872
  36. package/templates/frontend/nextjs/package.json +11 -10
  37. package/templates/frontend/nextjs/start.sh +1 -0
  38. package/templates/frontend/nextjs/test.sh +1 -0
  39. package/templates/frontend/nextjs/tsconfig.json +2 -1
  40. package/templates/frontend/svelte/eslint.config.js +29 -0
  41. package/templates/frontend/svelte/lint.sh +1 -0
  42. package/templates/frontend/svelte/package-lock.json +1676 -3482
  43. package/templates/frontend/svelte/package.json +14 -13
  44. package/templates/frontend/svelte/src/App.spec.ts +7 -7
  45. package/templates/frontend/svelte/src/App.svelte +14 -7
  46. package/templates/frontend/svelte/start.sh +1 -0
  47. package/templates/frontend/svelte/test.sh +1 -0
  48. package/templates/frontend/svelte/vite.config.ts +2 -2
  49. package/templates/frontend/vue/eslint.config.js +26 -0
  50. package/templates/frontend/vue/lint.sh +1 -0
  51. package/templates/frontend/vue/package-lock.json +1598 -2755
  52. package/templates/frontend/vue/package.json +13 -13
  53. package/templates/frontend/vue/src/App.vue +30 -9
  54. package/templates/frontend/vue/src/__tests__/App.spec.ts +4 -4
  55. package/templates/frontend/vue/start.sh +1 -0
  56. package/templates/frontend/vue/test.sh +1 -0
  57. package/templates/frontend/vue/tsconfig.json +13 -5
  58. package/templates/frontend/vue/vite.config.ts +0 -1
  59. package/cli/package-lock.json +0 -1338
  60. package/cli/package.json +0 -23
  61. package/templates/backend/nodejs/.eslintrc.json +0 -15
  62. package/templates/frontend/nextjs/.eslintrc.json +0 -3
  63. package/templates/frontend/svelte/.eslintrc.cjs +0 -27
  64. package/templates/frontend/vue/.eslintrc.cjs +0 -18
@@ -5,23 +5,23 @@
5
5
  "scripts": {
6
6
  "start": "tsx src/index.ts",
7
7
  "test": "vitest run",
8
- "lint": "eslint . --ext .ts --fix"
8
+ "lint": "eslint . --fix"
9
9
  },
10
10
  "dependencies": {
11
11
  "cors": "^2.8.5",
12
12
  "express": "^4.22.2"
13
13
  },
14
14
  "devDependencies": {
15
+ "@eslint/js": "^10.0.1",
15
16
  "@types/cors": "^2.8.17",
16
17
  "@types/express": "^4.17.21",
17
18
  "@types/node": "^20.12.7",
18
19
  "@types/supertest": "^6.0.2",
19
- "@typescript-eslint/eslint-plugin": "^7.7.1",
20
- "@typescript-eslint/parser": "^7.7.1",
21
- "eslint": "^8.57.0",
20
+ "eslint": "^10.4.0",
22
21
  "supertest": "^7.0.0",
23
22
  "tsx": "^4.7.2",
24
- "typescript": "^5.4.5",
25
- "vitest": "^1.6.0"
23
+ "typescript": "^5.9.0",
24
+ "typescript-eslint": "^8.59.3",
25
+ "vitest": "^4.1.6"
26
26
  }
27
27
  }
@@ -1,2 +1,3 @@
1
1
  #!/usr/bin/env bash
2
+ set -e
2
3
  npm start
@@ -1,2 +1,3 @@
1
1
  #!/usr/bin/env bash
2
+ set -e
2
3
  npm test
@@ -0,0 +1,18 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 2
6
+ end_of_line = lf
7
+ charset = utf-8
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+
11
+ [*.md]
12
+ trim_trailing_whitespace = false
13
+
14
+ [*.{cs,csproj,sln}]
15
+ indent_size = 4
16
+
17
+ [Makefile]
18
+ indent_style = tab
@@ -12,25 +12,41 @@ jobs:
12
12
  steps:
13
13
  - uses: actions/checkout@v4
14
14
 
15
+ # --- Language Runtimes (conditional) ---
16
+ - name: Set up Node.js
17
+ uses: actions/setup-node@v4
18
+ with:
19
+ node-version: '20'
20
+
15
21
  - name: Set up Python
22
+ if: hashFiles('backend/requirements.txt') != ''
16
23
  uses: actions/setup-python@v5
17
24
  with:
18
25
  python-version: '3.11'
19
26
 
20
- - name: Set up Node.js
21
- uses: actions/setup-node@v4
27
+ - name: Set up .NET
28
+ if: hashFiles('backend/*.sln') != ''
29
+ uses: actions/setup-dotnet@v4
22
30
  with:
23
- node-version: '20'
31
+ dotnet-version: '9.0.x'
32
+
33
+ # --- Backend Dependencies (conditional) ---
34
+ - name: Install Python backend dependencies
35
+ if: hashFiles('backend/requirements.txt') != ''
36
+ run: pip install -r backend/requirements.txt
37
+
38
+ - name: Install Node.js backend dependencies
39
+ if: hashFiles('backend/package.json') != ''
40
+ run: cd backend && npm ci
24
41
 
25
- - name: Install backend dependencies
26
- run: |
27
- cd backend
28
- pip install -r requirements.txt
42
+ - name: Restore .NET backend dependencies
43
+ if: hashFiles('backend/*.sln') != ''
44
+ run: cd backend && dotnet restore backend.sln
29
45
 
46
+ # --- Frontend Dependencies ---
30
47
  - name: Install frontend dependencies
31
- run: |
32
- cd frontend
33
- npm install
48
+ run: cd frontend && npm ci
34
49
 
50
+ # --- Run Tests ---
35
51
  - name: Run tests
36
52
  run: ./test.sh
@@ -11,3 +11,7 @@ venv/
11
11
  __pycache__/
12
12
  .pytest_cache/
13
13
  .ruff_cache/
14
+ bin/
15
+ obj/
16
+ *.user
17
+ *.suo
@@ -77,6 +77,12 @@
77
77
  "styles": ["src/styles.css"],
78
78
  "scripts": []
79
79
  }
80
+ },
81
+ "lint": {
82
+ "builder": "@angular-eslint/builder:lint",
83
+ "options": {
84
+ "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
85
+ }
80
86
  }
81
87
  }
82
88
  }
@@ -0,0 +1,35 @@
1
+ // @ts-check
2
+ const eslint = require("@eslint/js");
3
+ const tseslint = require("typescript-eslint");
4
+ const angular = require("@angular-eslint/eslint-plugin");
5
+ const angularTemplate = require("@angular-eslint/eslint-plugin-template");
6
+ const angularTemplateParser = require("@angular-eslint/template-parser");
7
+
8
+ module.exports = tseslint.config(
9
+ {
10
+ files: ["**/*.ts"],
11
+ extends: [
12
+ eslint.configs.recommended,
13
+ ...tseslint.configs.recommended,
14
+ ],
15
+ plugins: {
16
+ "@angular-eslint": angular,
17
+ },
18
+ rules: {
19
+ "@angular-eslint/component-selector": [
20
+ "error",
21
+ { type: "element", prefix: "app", style: "kebab-case" },
22
+ ],
23
+ },
24
+ },
25
+ {
26
+ files: ["**/*.html"],
27
+ plugins: {
28
+ "@angular-eslint/template": angularTemplate,
29
+ },
30
+ languageOptions: {
31
+ parser: angularTemplateParser,
32
+ },
33
+ rules: /** @type {any} */ (angularTemplate.configs["recommended"].rules),
34
+ }
35
+ );
@@ -1,2 +1,3 @@
1
1
  #!/usr/bin/env bash
2
+ set -e
2
3
  npm run lint