@lenne.tech/cli 1.9.6 → 1.11.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 (38) hide show
  1. package/README.md +88 -3
  2. package/build/commands/config/validate.js +2 -0
  3. package/build/commands/frontend/convert-mode.js +198 -0
  4. package/build/commands/fullstack/convert-mode.js +368 -0
  5. package/build/commands/fullstack/init.js +150 -4
  6. package/build/commands/fullstack/update.js +177 -0
  7. package/build/commands/server/add-property.js +29 -2
  8. package/build/commands/server/convert-mode.js +197 -0
  9. package/build/commands/server/create.js +41 -3
  10. package/build/commands/server/module.js +58 -25
  11. package/build/commands/server/object.js +26 -5
  12. package/build/commands/server/permissions.js +20 -6
  13. package/build/commands/server/test.js +7 -1
  14. package/build/commands/status.js +94 -3
  15. package/build/config/vendor-frontend-runtime-deps.json +4 -0
  16. package/build/config/vendor-runtime-deps.json +9 -0
  17. package/build/extensions/api-mode.js +19 -3
  18. package/build/extensions/frontend-helper.js +652 -0
  19. package/build/extensions/server.js +1475 -3
  20. package/build/lib/framework-detection.js +167 -0
  21. package/build/lib/frontend-framework-detection.js +129 -0
  22. package/build/templates/nest-server-module/inputs/template-create.input.ts.ejs +1 -1
  23. package/build/templates/nest-server-module/inputs/template.input.ts.ejs +1 -1
  24. package/build/templates/nest-server-module/outputs/template-fac-result.output.ts.ejs +1 -1
  25. package/build/templates/nest-server-module/template.controller.ts.ejs +1 -1
  26. package/build/templates/nest-server-module/template.model.ts.ejs +1 -1
  27. package/build/templates/nest-server-module/template.module.ts.ejs +1 -1
  28. package/build/templates/nest-server-module/template.resolver.ts.ejs +1 -1
  29. package/build/templates/nest-server-module/template.service.ts.ejs +1 -1
  30. package/build/templates/nest-server-object/template-create.input.ts.ejs +1 -1
  31. package/build/templates/nest-server-object/template.input.ts.ejs +1 -1
  32. package/build/templates/nest-server-object/template.object.ts.ejs +1 -1
  33. package/build/templates/nest-server-tests/tests.e2e-spec.ts.ejs +1 -1
  34. package/docs/LT-ECOSYSTEM-GUIDE.md +973 -0
  35. package/docs/VENDOR-MODE-WORKFLOW.md +471 -0
  36. package/docs/commands.md +196 -0
  37. package/docs/lt.config.md +9 -7
  38. package/package.json +17 -8
package/docs/lt.config.md CHANGED
@@ -52,7 +52,7 @@ Configuration files are searched from the **current directory up to the root** (
52
52
  ### Example: Monorepo Structure
53
53
 
54
54
  ```
55
- /home/user/
55
+ $HOME/
56
56
  ├── lt.config.json # Global defaults
57
57
  └── projects/
58
58
  └── my-monorepo/
@@ -64,10 +64,10 @@ Configuration files are searched from the **current directory up to the root** (
64
64
  └── lt.config.yaml # App-specific settings
65
65
  ```
66
66
 
67
- When running `lt server module` in `/home/user/projects/my-monorepo/projects/api/`:
68
- 1. `/home/user/lt.config.json` is loaded first
69
- 2. `/home/user/projects/my-monorepo/lt.config.json` is merged (overrides parent)
70
- 3. `/home/user/projects/my-monorepo/projects/api/lt.config.json` is merged (overrides all)
67
+ When running `lt server module` in `$HOME/projects/my-monorepo/projects/api/`:
68
+ 1. `$HOME/lt.config.json` is loaded first
69
+ 2. `$HOME/projects/my-monorepo/lt.config.json` is merged (overrides parent)
70
+ 3. `$HOME/projects/my-monorepo/projects/api/lt.config.json` is merged (overrides all)
71
71
 
72
72
  ## Configuration Structure
73
73
 
@@ -571,6 +571,8 @@ Creates a new fullstack workspace with API and frontend.
571
571
  | `commands.fullstack.frontendBranch` | `string` | - | Branch of frontend starter to use (ng-base-starter or nuxt-base-starter) |
572
572
  | `commands.fullstack.frontendCopy` | `string` | - | Path to local frontend template directory to copy instead of cloning |
573
573
  | `commands.fullstack.frontendLink` | `string` | - | Path to local frontend template directory to symlink (fastest, changes affect original) |
574
+ | `commands.fullstack.frameworkMode` | `'npm'` \| `'vendor'` | `'npm'` | Backend framework consumption mode (npm dependency vs. vendored core in `src/core/`) |
575
+ | `commands.fullstack.frontendFrameworkMode` | `'npm'` \| `'vendor'` | `'npm'` | Frontend framework consumption mode (npm dependency vs. vendored module in `app/core/`) |
574
576
  | `commands.fullstack.git` | `boolean` | - | Push initial commit to remote repository (git is always initialized with `dev` branch) |
575
577
  | `commands.fullstack.gitLink` | `string` | - | Git remote repository URL (required when `git` is true) |
576
578
 
@@ -1075,7 +1077,7 @@ meta:
1075
1077
 
1076
1078
  Set a value to `null` to remove it from parent configurations and use the default:
1077
1079
 
1078
- **Parent config (`/home/user/lt.config.json`):**
1080
+ **Parent config (`$HOME/lt.config.json`):**
1079
1081
  ```json
1080
1082
  {
1081
1083
  "commands": {
@@ -1088,7 +1090,7 @@ Set a value to `null` to remove it from parent configurations and use the defaul
1088
1090
  }
1089
1091
  ```
1090
1092
 
1091
- **Child config (`/home/user/project/lt.config.json`):**
1093
+ **Child config (`$HOME/project/lt.config.json`):**
1092
1094
  ```json
1093
1095
  {
1094
1096
  "commands": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lenne.tech/cli",
3
- "version": "1.9.6",
3
+ "version": "1.11.0",
4
4
  "description": "lenne.Tech CLI: lt",
5
5
  "keywords": [
6
6
  "lenne.Tech",
@@ -23,8 +23,10 @@
23
23
  "build": "npm run lint && npm run test && npm run clean-build && npm run compile && npm run copy-templates",
24
24
  "clean-build": "npx rimraf ./build",
25
25
  "compile": "tsc -p .",
26
- "copy-templates": "npx shx cp -R ./src/templates ./build/templates",
26
+ "copy-templates": "npx shx cp -R ./src/templates ./build/templates && npx shx cp -R ./src/config ./build/config",
27
27
  "coverage": "jest --coverage",
28
+ "test:vendor-init": "bash scripts/test-vendor-init.sh",
29
+ "test:frontend-vendor-init": "bash scripts/test-frontend-vendor-init.sh",
28
30
  "format": "prettier --write 'src/**/*.{js,ts,tsx,json}' '!src/templates/**/*'",
29
31
  "lint": "eslint './src/**/*.{ts,js,vue}'",
30
32
  "lint:fix": "eslint './src/**/*.{ts,js,vue}' --fix",
@@ -51,9 +53,11 @@
51
53
  "bin"
52
54
  ],
53
55
  "dependencies": {
54
- "@aws-sdk/client-s3": "3.1024.0",
56
+ "@aws-sdk/client-s3": "3.1029.0",
55
57
  "@lenne.tech/cli-plugin-helper": "0.0.14",
58
+ "axios": "1.15.0",
56
59
  "bcrypt": "6.0.0",
60
+ "ejs": "5.0.1",
57
61
  "glob": "13.0.6",
58
62
  "gluegun": "5.2.2",
59
63
  "js-sha256": "0.11.1",
@@ -71,14 +75,14 @@
71
75
  "@types/jest": "30.0.0",
72
76
  "@types/js-yaml": "4.0.9",
73
77
  "@types/lodash": "4.17.24",
74
- "@types/node": "25.5.2",
75
- "@typescript-eslint/eslint-plugin": "8.58.0",
76
- "@typescript-eslint/parser": "8.58.0",
78
+ "@types/node": "25.6.0",
79
+ "@typescript-eslint/eslint-plugin": "8.58.1",
80
+ "@typescript-eslint/parser": "8.58.1",
77
81
  "eslint": "9.39.4",
78
82
  "eslint-config-prettier": "10.1.8",
79
83
  "husky": "9.1.7",
80
84
  "jest": "30.3.0",
81
- "prettier": "3.8.1",
85
+ "prettier": "3.8.2",
82
86
  "rimraf": "6.1.3",
83
87
  "standard-version": "9.5.0",
84
88
  "ts-jest": "29.4.9"
@@ -90,7 +94,12 @@
90
94
  "testEnvironment": "node",
91
95
  "rootDir": "__tests__",
92
96
  "transform": {
93
- "^.+\\.tsx?$": ["ts-jest", {"tsconfig": "tsconfig.test.json"}]
97
+ "^.+\\.tsx?$": [
98
+ "ts-jest",
99
+ {
100
+ "tsconfig": "tsconfig.test.json"
101
+ }
102
+ ]
94
103
  }
95
104
  }
96
105
  }