@lenne.tech/cli 1.6.10 → 1.8.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.
- package/build/commands/cli/create.js +7 -6
- package/build/commands/cli/rename.js +2 -2
- package/build/commands/config/validate.js +5 -1
- package/build/commands/directus/typegen.js +4 -4
- package/build/commands/doctor.js +12 -23
- package/build/commands/fullstack/init.js +107 -48
- package/build/commands/git/create.js +2 -2
- package/build/commands/git/get.js +2 -2
- package/build/commands/git/reset.js +2 -2
- package/build/commands/git/update.js +3 -3
- package/build/commands/npm/reinit.js +12 -10
- package/build/commands/server/add-property.js +2 -2
- package/build/commands/server/create.js +64 -64
- package/build/commands/server/module.js +4 -2
- package/build/commands/server/object.js +2 -2
- package/build/commands/starter/chrome-extension.js +5 -5
- package/build/commands/status.js +5 -3
- package/build/commands/tools/install-scripts.js +105 -0
- package/build/commands/typescript/create.js +6 -6
- package/build/extensions/api-mode.js +440 -0
- package/build/extensions/frontend-helper.js +10 -6
- package/build/extensions/package-manager.js +249 -0
- package/build/extensions/server.js +89 -15
- package/build/extensions/tools.js +19 -1
- package/build/lib/nuxt-base-components.js +7 -6
- package/build/templates/bash-scripts/tools/pcf +9 -0
- package/build/templates/nest-server-starter/README.md.ejs +0 -1
- package/docs/commands.md +4 -2
- package/docs/lt.config.md +31 -5
- package/package.json +8 -8
|
@@ -21,6 +21,24 @@ class Tools {
|
|
|
21
21
|
*/
|
|
22
22
|
constructor(toolbox) {
|
|
23
23
|
this.toolbox = toolbox;
|
|
24
|
+
this.hintShown = false;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Show a hint when running in non-interactive mode (no TTY)
|
|
28
|
+
* Suggests using CLI parameters instead of interactive prompts.
|
|
29
|
+
* Only shows once per session.
|
|
30
|
+
*
|
|
31
|
+
* @param usage - Example command with parameters, e.g. "lt fullstack init --name <name> --frontend <nuxt|angular> --noConfirm"
|
|
32
|
+
*/
|
|
33
|
+
nonInteractiveHint(usage) {
|
|
34
|
+
if (this.hintShown || process.stdin.isTTY) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.hintShown = true;
|
|
38
|
+
const { print } = this.toolbox;
|
|
39
|
+
print.info(print.colors.yellow(`Hint: Non-interactive mode detected. Use parameters to skip prompts:`));
|
|
40
|
+
print.info(print.colors.yellow(` ${usage}`));
|
|
41
|
+
print.info('');
|
|
24
42
|
}
|
|
25
43
|
/**
|
|
26
44
|
* Strip and save JSON file
|
|
@@ -134,4 +152,4 @@ exports.Tools = Tools;
|
|
|
134
152
|
exports.default = (toolbox) => {
|
|
135
153
|
toolbox.tools = new Tools(toolbox);
|
|
136
154
|
};
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy90b29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBaUQ7QUFJakQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzlDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUU1QyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUN4QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsTUFBTSxFQUFFLEtBQU0sRUFBRSxHQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFbkcsTUFBTSxTQUFTLEdBQUcsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLEVBQUU7SUFDOUMsSUFBSSxLQUFLLEdBQUcsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUM5QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFFdkIsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbEMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNYLGNBQWMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUM7QUFFRixNQUFhLEtBQUs7SUFHaEI7O09BRUc7SUFDSCxZQUFzQixPQUErQjtRQUEvQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUw3QyxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBSzhCLENBQUM7SUFFekQ7Ozs7OztPQU1HO0lBQ0gsa0JBQWtCLENBQUMsS0FBYTtRQUM5QixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFD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
|
|
@@ -198,17 +198,18 @@ function installPackage(packageName_1, toolbox_1) {
|
|
|
198
198
|
|| (packageJson.devDependencies && packageJson.devDependencies[nameWithoutVersion]);
|
|
199
199
|
if (!isInstalled) {
|
|
200
200
|
if (!noConfirm) {
|
|
201
|
-
const confirmInstall = yield prompt.confirm(`The
|
|
201
|
+
const confirmInstall = yield prompt.confirm(`The package ${nameWithoutVersion} is required. Would you like to install it?`);
|
|
202
202
|
if (!confirmInstall) {
|
|
203
203
|
return;
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
|
-
const
|
|
207
|
-
|
|
208
|
-
|
|
206
|
+
const { pm } = toolbox;
|
|
207
|
+
const installSpinner = print.spin(`Install package ${nameWithoutVersion}...`);
|
|
208
|
+
yield system.run(pm.addPackage(packageName, '--save-exact'));
|
|
209
|
+
installSpinner.succeed(`Package ${nameWithoutVersion} successfully installed`);
|
|
209
210
|
}
|
|
210
211
|
else {
|
|
211
|
-
print.info(`
|
|
212
|
+
print.info(`Package ${nameWithoutVersion} is already installed`);
|
|
212
213
|
}
|
|
213
214
|
});
|
|
214
215
|
}
|
|
@@ -246,4 +247,4 @@ function processConfig(config_1, toolbox_1, type_1) {
|
|
|
246
247
|
}
|
|
247
248
|
});
|
|
248
249
|
}
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4dC1iYXNlLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL251eHQtYmFzZS1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBdUJBLHdDQThDQztBQUtELDRCQXlFQztBQUtELDhCQVNDO0FBS0QsNENBY0M7QUFLRCxrQ0FlQztBQUtELHdDQThCQztBQUtELHNDQW1DQztBQW5SRDs7O0dBR0c7QUFDSCxpQ0FBMEI7QUFDMUIseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixxQ0FBcUM7QUFDckMsNkJBQTZCO0FBSTdCLE1BQU0sZUFBZSxHQUFHLHVFQUF1RSxDQUFDO0FBQ2hHLE1BQU0sY0FBYyxHQUFHLHNFQUFzRSxDQUFDO0FBTzlGOztHQUVHO0FBQ0gsU0FBc0IsY0FBYzt5REFDbEMsVUFBa0IsRUFDbEIsT0FBK0IsRUFDL0IsU0FBUyxHQUFHLEtBQUs7UUFFakIsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsR0FBRyxlQUFlLGdCQUFnQixVQUFVLEtBQUssQ0FBQztRQUNqRSxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzVCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDakMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzFCLElBQUksZUFBdUIsQ0FBQztZQUU1QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUs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
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4dC1iYXNlLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL251eHQtYmFzZS1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBdUJBLHdDQThDQztBQUtELDRCQXlFQztBQUtELDhCQVNDO0FBS0QsNENBY0M7QUFLRCxrQ0FlQztBQUtELHdDQStCQztBQUtELHNDQW1DQztBQXBSRDs7O0dBR0c7QUFDSCxpQ0FBMEI7QUFDMUIseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixxQ0FBcUM7QUFDckMsNkJBQTZCO0FBSTdCLE1BQU0sZUFBZSxHQUFHLHVFQUF1RSxDQUFDO0FBQ2hHLE1BQU0sY0FBYyxHQUFHLHNFQUFzRSxDQUFDO0FBTzlGOztHQUVHO0FBQ0gsU0FBc0IsY0FBYzt5REFDbEMsVUFBa0IsRUFDbEIsT0FBK0IsRUFDL0IsU0FBUyxHQUFHLEtBQUs7UUFFakIsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsR0FBRyxlQUFlLGdCQUFnQixVQUFVLEtBQUssQ0FBQztRQUNqRSxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzVCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDakMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzFCLElBQUksZUFBdUIsQ0FBQztZQUU1QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUs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
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
if node -e "process.exit(Number(!require('./package.json').scripts?.['check:fix']))"; then
|
|
4
|
+
pnpm run check:fix
|
|
5
|
+
elif node -e "process.exit(Number(!require('./package.json').scripts?.['check']))"; then
|
|
6
|
+
pnpm run check
|
|
7
|
+
else
|
|
8
|
+
echo "no checks"
|
|
9
|
+
fi
|
|
@@ -40,7 +40,6 @@ As long as this is not yet available,have a look at the
|
|
|
40
40
|
[source code](https://github.com/lenneTech/nest-server/tree/master/src/core).
|
|
41
41
|
There you will find a lot of things that will help you to extend your server, such as:
|
|
42
42
|
|
|
43
|
-
- [GraphQL scalars](https://github.com/lenneTech/nest-server/tree/master/src/core/common/scalars)
|
|
44
43
|
- [Filter and pagination](https://github.com/lenneTech/nest-server/tree/master/src/core/common/args)
|
|
45
44
|
- [Decorators for restrictions and roles](https://github.com/lenneTech/nest-server/tree/master/src/core/common/decorators)
|
|
46
45
|
- [Authorisation handling](https://github.com/lenneTech/nest-server/tree/master/src/core/modules/auth)
|
package/docs/commands.md
CHANGED
|
@@ -436,10 +436,12 @@ lt fullstack init [options]
|
|
|
436
436
|
| `--frontend-branch <branch>` | Branch of frontend starter to use (ng-base-starter or nuxt-base-starter) |
|
|
437
437
|
| `--frontend-copy <path>` | Copy frontend from local template directory |
|
|
438
438
|
| `--frontend-link <path>` | Symlink frontend to local template (fastest, changes affect original) |
|
|
439
|
-
| `--git` |
|
|
440
|
-
| `--git-link <url>` | Git repository URL |
|
|
439
|
+
| `--git` | Push initial commit to remote repository (git is always initialized) |
|
|
440
|
+
| `--git-link <url>` | Git remote repository URL (required when `--git` is true) |
|
|
441
441
|
| `--noConfirm` | Skip confirmation prompts |
|
|
442
442
|
|
|
443
|
+
**Note:** Git is always initialized with the `dev` branch. The `--git` flag only controls whether the initial commit is pushed to a remote repository.
|
|
444
|
+
|
|
443
445
|
**Note:** For Nuxt frontends with `--frontend-copy` or `--frontend-link`, specify the path to the `nuxt-base-template/` subdirectory, not the repository root.
|
|
444
446
|
|
|
445
447
|
**Configuration:** `commands.fullstack.*`, `defaults.noConfirm`
|
package/docs/lt.config.md
CHANGED
|
@@ -95,11 +95,13 @@ The `defaults` section contains settings that apply across multiple commands. Th
|
|
|
95
95
|
|
|
96
96
|
| Field | Type | Default | Used By |
|
|
97
97
|
|-------|------|---------|---------|
|
|
98
|
+
| `defaults.apiMode` | `'Rest'` \| `'GraphQL'` \| `'Both'` | `'Rest'` | server/create, fullstack/init |
|
|
98
99
|
| `defaults.author` | `string` | - | git/squash, server/create, cli/create |
|
|
99
100
|
| `defaults.baseBranch` | `string` | - | git/create, git/squash, git/rebase |
|
|
100
101
|
| `defaults.controller` | `'Rest'` \| `'GraphQL'` \| `'Both'` \| `'auto'` | `'Both'` | server/module, server/create |
|
|
101
102
|
| `defaults.domain` | `string` | - | deployment/create (use `{name}` as placeholder) |
|
|
102
103
|
| `defaults.noConfirm` | `boolean` | `false` | blocks/add, components/add, config/init, git/*, server/create, server/module, npm/reinit, cli/create, typescript/create, fullstack/init, deployment/create, frontend/angular |
|
|
104
|
+
| `defaults.packageManager` | `'npm'` \| `'pnpm'` \| `'yarn'` | `'npm'` | Fallback when no lockfile is found. Auto-detection from lockfiles takes precedence. Used by: all commands that run package manager operations |
|
|
103
105
|
| `defaults.skipInstall` | `boolean` | `false` | git/update |
|
|
104
106
|
| `defaults.skipLint` | `boolean` | `false` | server/module, server/object, server/addProp |
|
|
105
107
|
|
|
@@ -107,11 +109,13 @@ The `defaults` section contains settings that apply across multiple commands. Th
|
|
|
107
109
|
```json
|
|
108
110
|
{
|
|
109
111
|
"defaults": {
|
|
112
|
+
"apiMode": "Rest",
|
|
110
113
|
"author": "lenne.Tech Team <info@lenne.tech>",
|
|
111
114
|
"baseBranch": "develop",
|
|
112
115
|
"controller": "Both",
|
|
113
116
|
"domain": "{name}.lenne.tech",
|
|
114
117
|
"noConfirm": false,
|
|
118
|
+
"packageManager": "npm",
|
|
115
119
|
"skipInstall": false,
|
|
116
120
|
"skipLint": false
|
|
117
121
|
}
|
|
@@ -121,15 +125,29 @@ The `defaults` section contains settings that apply across multiple commands. Th
|
|
|
121
125
|
**YAML Example:**
|
|
122
126
|
```yaml
|
|
123
127
|
defaults:
|
|
128
|
+
apiMode: Rest
|
|
124
129
|
author: "lenne.Tech Team <info@lenne.tech>"
|
|
125
130
|
baseBranch: develop
|
|
126
131
|
controller: Both
|
|
127
132
|
domain: "{name}.lenne.tech"
|
|
128
133
|
noConfirm: false
|
|
134
|
+
packageManager: npm
|
|
129
135
|
skipInstall: false
|
|
130
136
|
skipLint: false
|
|
131
137
|
```
|
|
132
138
|
|
|
139
|
+
### Package Manager Detection
|
|
140
|
+
|
|
141
|
+
The CLI automatically detects the package manager for your project. The detection order is:
|
|
142
|
+
|
|
143
|
+
1. **Lockfile in current directory**: `pnpm-lock.yaml` -> pnpm, `yarn.lock` -> yarn, `package-lock.json` -> npm
|
|
144
|
+
2. **`packageManager` field in package.json** (Corepack standard): e.g., `"packageManager": "pnpm@8.15.0"`
|
|
145
|
+
3. **Lockfile in parent directories** (monorepo support)
|
|
146
|
+
4. **Config fallback**: `defaults.packageManager` from lt.config
|
|
147
|
+
5. **Default**: `npm`
|
|
148
|
+
|
|
149
|
+
This means all CLI commands (`lt server create`, `lt fullstack init`, `lt npm reinit`, etc.) will use the correct package manager automatically without any configuration needed.
|
|
150
|
+
|
|
133
151
|
### Global vs Command-Specific Settings
|
|
134
152
|
|
|
135
153
|
Global defaults provide a convenient way to set organization-wide preferences. Command-specific settings override these when you need different behavior for a particular command.
|
|
@@ -359,6 +377,7 @@ Creates a new server project.
|
|
|
359
377
|
|
|
360
378
|
| Field | Type | Default | Description |
|
|
361
379
|
|-------|------|---------|-------------|
|
|
380
|
+
| `commands.server.create.apiMode` | `'Rest'` \| `'GraphQL'` \| `'Both'` | `'Rest'` | API mode for the server project. Determines which API endpoints (REST/GraphQL) are included. |
|
|
362
381
|
| `commands.server.create.author` | `string` | - | Default author for new projects |
|
|
363
382
|
| `commands.server.create.branch` | `string` | - | Branch of nest-server-starter to use as template |
|
|
364
383
|
| `commands.server.create.controller` | `'Rest'` \| `'GraphQL'` \| `'Both'` \| `'auto'` | `'Both'` | Default controller type for new projects |
|
|
@@ -388,7 +407,8 @@ Creates a new server project.
|
|
|
388
407
|
|
|
389
408
|
**CLI Override:**
|
|
390
409
|
```bash
|
|
391
|
-
lt server create --name MyServer --git true --author "John Doe" --description "My Server"
|
|
410
|
+
lt server create --name MyServer --api-mode Rest --git true --author "John Doe" --description "My Server"
|
|
411
|
+
lt server create --name MyServer --api-mode GraphQL --branch feature/new-auth
|
|
392
412
|
lt server create --copy /path/to/local/nest-server-starter
|
|
393
413
|
lt server create --link /path/to/local/nest-server-starter # Fastest, but changes affect original
|
|
394
414
|
```
|
|
@@ -512,6 +532,7 @@ Creates a new fullstack workspace with API and frontend.
|
|
|
512
532
|
|
|
513
533
|
| Field | Type | Default | Description |
|
|
514
534
|
|-------|------|---------|-------------|
|
|
535
|
+
| `commands.fullstack.apiMode` | `'Rest'` \| `'GraphQL'` \| `'Both'` | `'Rest'` | API mode for the server project |
|
|
515
536
|
| `commands.fullstack.apiBranch` | `string` | - | Branch of nest-server-starter to use for API |
|
|
516
537
|
| `commands.fullstack.apiCopy` | `string` | - | Path to local API template directory to copy instead of cloning |
|
|
517
538
|
| `commands.fullstack.apiLink` | `string` | - | Path to local API template directory to symlink (fastest, changes affect original) |
|
|
@@ -519,8 +540,8 @@ Creates a new fullstack workspace with API and frontend.
|
|
|
519
540
|
| `commands.fullstack.frontendBranch` | `string` | - | Branch of frontend starter to use (ng-base-starter or nuxt-base-starter) |
|
|
520
541
|
| `commands.fullstack.frontendCopy` | `string` | - | Path to local frontend template directory to copy instead of cloning |
|
|
521
542
|
| `commands.fullstack.frontendLink` | `string` | - | Path to local frontend template directory to symlink (fastest, changes affect original) |
|
|
522
|
-
| `commands.fullstack.git` | `boolean` | - |
|
|
523
|
-
| `commands.fullstack.gitLink` | `string` | - | Git repository URL |
|
|
543
|
+
| `commands.fullstack.git` | `boolean` | - | Push initial commit to remote repository (git is always initialized with `dev` branch) |
|
|
544
|
+
| `commands.fullstack.gitLink` | `string` | - | Git remote repository URL (required when `git` is true) |
|
|
524
545
|
|
|
525
546
|
**Example:**
|
|
526
547
|
```json
|
|
@@ -541,7 +562,8 @@ Creates a new fullstack workspace with API and frontend.
|
|
|
541
562
|
|
|
542
563
|
**CLI Override:**
|
|
543
564
|
```bash
|
|
544
|
-
lt fullstack init --name MyProject --
|
|
565
|
+
lt fullstack init --name MyProject --api-mode Rest --frontend nuxt
|
|
566
|
+
lt fullstack init --name MyProject --api-mode GraphQL --frontend angular --git true --git-link https://...
|
|
545
567
|
lt fullstack init --api-copy /path/to/api --frontend-copy /path/to/frontend
|
|
546
568
|
lt fullstack init --api-link /path/to/api --frontend-link /path/to/frontend # Fastest, changes affect original
|
|
547
569
|
```
|
|
@@ -905,6 +927,7 @@ The `meta` section stores project information.
|
|
|
905
927
|
"controller": "Both",
|
|
906
928
|
"domain": "{name}.lenne.tech",
|
|
907
929
|
"noConfirm": false,
|
|
930
|
+
"packageManager": "npm",
|
|
908
931
|
"skipInstall": false,
|
|
909
932
|
"skipLint": false
|
|
910
933
|
},
|
|
@@ -917,7 +940,8 @@ The `meta` section stores project information.
|
|
|
917
940
|
},
|
|
918
941
|
"fullstack": {
|
|
919
942
|
"frontend": "nuxt",
|
|
920
|
-
"git": false
|
|
943
|
+
"git": false,
|
|
944
|
+
"gitLink": "https://github.com/myorg/myproject.git"
|
|
921
945
|
},
|
|
922
946
|
"git": {
|
|
923
947
|
"defaultBranch": "develop",
|
|
@@ -952,6 +976,7 @@ defaults:
|
|
|
952
976
|
controller: Both
|
|
953
977
|
domain: "{name}.lenne.tech"
|
|
954
978
|
noConfirm: false
|
|
979
|
+
packageManager: npm
|
|
955
980
|
skipInstall: false
|
|
956
981
|
skipLint: false
|
|
957
982
|
|
|
@@ -965,6 +990,7 @@ commands:
|
|
|
965
990
|
fullstack:
|
|
966
991
|
frontend: nuxt
|
|
967
992
|
git: false
|
|
993
|
+
gitLink: "https://github.com/myorg/myproject.git"
|
|
968
994
|
|
|
969
995
|
git:
|
|
970
996
|
defaultBranch: develop
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lenne.tech/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "lenne.Tech CLI: lt",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lenne.Tech",
|
|
@@ -50,12 +50,12 @@
|
|
|
50
50
|
"bin"
|
|
51
51
|
],
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@aws-sdk/client-s3": "3.
|
|
53
|
+
"@aws-sdk/client-s3": "3.986.0",
|
|
54
54
|
"@lenne.tech/cli-plugin-helper": "0.0.14",
|
|
55
|
-
"@types/lodash": "4.17.
|
|
55
|
+
"@types/lodash": "4.17.23",
|
|
56
56
|
"bcrypt": "6.0.0",
|
|
57
57
|
"find-file-up": "2.0.1",
|
|
58
|
-
"glob": "13.0.
|
|
58
|
+
"glob": "13.0.1",
|
|
59
59
|
"gluegun": "5.2.2",
|
|
60
60
|
"js-sha256": "0.11.1",
|
|
61
61
|
"js-yaml": "4.1.1",
|
|
@@ -71,15 +71,15 @@
|
|
|
71
71
|
"@types/ejs": "^3.1.5",
|
|
72
72
|
"@types/jest": "30.0.0",
|
|
73
73
|
"@types/js-yaml": "4.0.9",
|
|
74
|
-
"@types/node": "25.
|
|
75
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
76
|
-
"@typescript-eslint/parser": "8.
|
|
74
|
+
"@types/node": "25.2.2",
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "8.55.0",
|
|
76
|
+
"@typescript-eslint/parser": "8.55.0",
|
|
77
77
|
"eslint": "9.39.2",
|
|
78
78
|
"eslint-config-prettier": "10.1.8",
|
|
79
79
|
"husky": "9.1.7",
|
|
80
80
|
"jest": "30.2.0",
|
|
81
81
|
"path-exists-cli": "2.0.0",
|
|
82
|
-
"prettier": "3.
|
|
82
|
+
"prettier": "3.8.1",
|
|
83
83
|
"pretty-quick": "4.2.2",
|
|
84
84
|
"rimraf": "6.1.2",
|
|
85
85
|
"standard-version": "9.5.0",
|