@loopback/cli 6.1.1 → 6.2.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/.yo-rc.json +12 -0
- package/generators/datasource/index.js +4 -2
- package/generators/openapi/index.js +1 -1
- package/generators/project/templates/.editorconfig +9 -0
- package/generators/relation/has-one-relation.generator.js +6 -1
- package/generators/rest-crud/index.js +1 -1
- package/generators/service/index.js +1 -1
- package/lib/project-generator.js +17 -1
- package/package.json +83 -83
package/.yo-rc.json
CHANGED
|
@@ -132,6 +132,12 @@
|
|
|
132
132
|
"name": "loopbackBuild",
|
|
133
133
|
"hide": false
|
|
134
134
|
},
|
|
135
|
+
"editorconfig": {
|
|
136
|
+
"type": "Boolean",
|
|
137
|
+
"description": "Use preconfigured EditorConfig settings",
|
|
138
|
+
"name": "editorconfig",
|
|
139
|
+
"hide": false
|
|
140
|
+
},
|
|
135
141
|
"vscode": {
|
|
136
142
|
"type": "Boolean",
|
|
137
143
|
"description": "Use preconfigured VSCode settings",
|
|
@@ -257,6 +263,12 @@
|
|
|
257
263
|
"name": "loopbackBuild",
|
|
258
264
|
"hide": false
|
|
259
265
|
},
|
|
266
|
+
"editorconfig": {
|
|
267
|
+
"type": "Boolean",
|
|
268
|
+
"description": "Use preconfigured EditorConfig settings",
|
|
269
|
+
"name": "editorconfig",
|
|
270
|
+
"hide": false
|
|
271
|
+
},
|
|
260
272
|
"vscode": {
|
|
261
273
|
"type": "Boolean",
|
|
262
274
|
"description": "Use preconfigured VSCode settings",
|
|
@@ -235,7 +235,9 @@ module.exports = class DataSourceGenerator extends ArtifactGenerator {
|
|
|
235
235
|
if (props[key] == null || props[key] === '') {
|
|
236
236
|
delete props[key];
|
|
237
237
|
} else {
|
|
238
|
-
props[key]
|
|
238
|
+
if (typeof props[key] === 'string') {
|
|
239
|
+
props[key] = JSON.parse(props[key]);
|
|
240
|
+
}
|
|
239
241
|
}
|
|
240
242
|
break;
|
|
241
243
|
}
|
|
@@ -303,7 +305,7 @@ module.exports = class DataSourceGenerator extends ArtifactGenerator {
|
|
|
303
305
|
if (this.shouldExit()) return false;
|
|
304
306
|
debug('install npm dependencies');
|
|
305
307
|
const pkgJson = this.packageJson || {};
|
|
306
|
-
const deps = pkgJson.dependencies || {};
|
|
308
|
+
const deps = pkgJson.get('dependencies') || {};
|
|
307
309
|
const pkgs = [];
|
|
308
310
|
|
|
309
311
|
// Connector package.
|
|
@@ -496,7 +496,7 @@ module.exports = class OpenApiGenerator extends BaseGenerator {
|
|
|
496
496
|
if (this.shouldExit()) return false;
|
|
497
497
|
debug('install npm dependencies');
|
|
498
498
|
const pkgJson = this.packageJson || {};
|
|
499
|
-
const deps = pkgJson.dependencies || {};
|
|
499
|
+
const deps = pkgJson.get('dependencies') || {};
|
|
500
500
|
const pkgs = [];
|
|
501
501
|
const connectorVersionRange = deps['loopback-connector-openapi'];
|
|
502
502
|
if (!connectorVersionRange) {
|
|
@@ -106,7 +106,11 @@ module.exports = class HasOneRelationGenerator extends BaseRelationGenerator {
|
|
|
106
106
|
);
|
|
107
107
|
|
|
108
108
|
relationUtils.addProperty(sourceClass, modelProperty);
|
|
109
|
-
const imports = relationUtils.getRequiredImports(
|
|
109
|
+
const imports = relationUtils.getRequiredImports(
|
|
110
|
+
targetModel,
|
|
111
|
+
relationType,
|
|
112
|
+
sourceModel,
|
|
113
|
+
);
|
|
110
114
|
|
|
111
115
|
relationUtils.addRequiredImports(sourceFile, imports);
|
|
112
116
|
await sourceFile.save();
|
|
@@ -159,6 +163,7 @@ module.exports = class HasOneRelationGenerator extends BaseRelationGenerator {
|
|
|
159
163
|
const importsArray = super._getRepositoryRequiredImports(
|
|
160
164
|
dstModelClassName,
|
|
161
165
|
dstRepositoryClassName,
|
|
166
|
+
this.artifactInfo.srcModelClass,
|
|
162
167
|
);
|
|
163
168
|
importsArray.push({
|
|
164
169
|
name: 'HasOneRepositoryFactory',
|
|
@@ -382,7 +382,7 @@ module.exports = class RestCrudGenerator extends ArtifactGenerator {
|
|
|
382
382
|
if (this.shouldExit()) return false;
|
|
383
383
|
debug('install npm dependencies');
|
|
384
384
|
const pkgJson = this.packageJson || {};
|
|
385
|
-
const deps = pkgJson.dependencies || {};
|
|
385
|
+
const deps = pkgJson.get('dependencies') || {};
|
|
386
386
|
const pkgs = [];
|
|
387
387
|
|
|
388
388
|
const version = cliPkg.config.templateDependencies['@loopback/rest-crud'];
|
|
@@ -329,7 +329,7 @@ module.exports = class ServiceGenerator extends ArtifactGenerator {
|
|
|
329
329
|
utils.toClassName(this.artifactInfo.dataSourceName) + 'DataSource';
|
|
330
330
|
debug('install npm dependencies');
|
|
331
331
|
const pkgJson = this.packageJson || {};
|
|
332
|
-
const deps = pkgJson.dependencies || {};
|
|
332
|
+
const deps = pkgJson.get('dependencies') || {};
|
|
333
333
|
const pkgs = [];
|
|
334
334
|
|
|
335
335
|
if (!deps['@loopback/service-proxy']) {
|
package/lib/project-generator.js
CHANGED
|
@@ -36,7 +36,14 @@ module.exports = class ProjectGenerator extends BaseGenerator {
|
|
|
36
36
|
name: 'loopbackBuild',
|
|
37
37
|
description: g.f('use @loopback/build helpers (e.g. lb-eslint)'),
|
|
38
38
|
},
|
|
39
|
-
{
|
|
39
|
+
{
|
|
40
|
+
name: 'editorconfig',
|
|
41
|
+
description: g.f('add EditorConfig files'),
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'vscode',
|
|
45
|
+
description: g.f('add VSCode config files'),
|
|
46
|
+
},
|
|
40
47
|
];
|
|
41
48
|
}
|
|
42
49
|
|
|
@@ -77,6 +84,11 @@ module.exports = class ProjectGenerator extends BaseGenerator {
|
|
|
77
84
|
description: g.f('Use @loopback/build'),
|
|
78
85
|
});
|
|
79
86
|
|
|
87
|
+
this.option('editorconfig', {
|
|
88
|
+
type: Boolean,
|
|
89
|
+
description: g.f('Use preconfigured EditorConfig settings'),
|
|
90
|
+
});
|
|
91
|
+
|
|
80
92
|
this.option('vscode', {
|
|
81
93
|
type: Boolean,
|
|
82
94
|
description: g.f('Use preconfigured VSCode settings'),
|
|
@@ -301,6 +313,10 @@ module.exports = class ProjectGenerator extends BaseGenerator {
|
|
|
301
313
|
this.fs.delete(this.destinationPath('.mocharc.json'));
|
|
302
314
|
}
|
|
303
315
|
|
|
316
|
+
if (!this.projectInfo.editorconfig) {
|
|
317
|
+
this.fs.delete(this.destinationPath('.editorconfig'));
|
|
318
|
+
}
|
|
319
|
+
|
|
304
320
|
if (!this.projectInfo.vscode) {
|
|
305
321
|
this.fs.delete(this.destinationPath('.vscode'));
|
|
306
322
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/cli",
|
|
3
3
|
"description": "Yeoman generator for LoopBack 4",
|
|
4
|
-
"version": "6.
|
|
4
|
+
"version": "6.2.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"LoopBack",
|
|
7
7
|
"CLI",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"camelcase-keys": "^7.0.2",
|
|
48
48
|
"chalk": "^4.1.2",
|
|
49
49
|
"change-case": "^4.1.2",
|
|
50
|
-
"debug": "^4.
|
|
50
|
+
"debug": "^4.4.0",
|
|
51
51
|
"fs-extra": "^11.2.0",
|
|
52
52
|
"glob": "^10.4.5",
|
|
53
53
|
"inquirer-autocomplete-prompt": "^2.0.1",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"typescript": "~5.2.2",
|
|
76
76
|
"unicode-10.0.0": "^0.7.5",
|
|
77
77
|
"untildify": "^4.0.0",
|
|
78
|
-
"update-notifier": "^7.
|
|
78
|
+
"update-notifier": "^7.3.1",
|
|
79
79
|
"url-slug": "^4.0.1",
|
|
80
80
|
"validate-npm-package-name": "^5.0.1",
|
|
81
81
|
"write-file-atomic": "^5.0.1",
|
|
@@ -83,22 +83,22 @@
|
|
|
83
83
|
"yeoman-generator": "^5.10.0"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
|
-
"@loopback/build": "^11.0.
|
|
86
|
+
"@loopback/build": "^11.0.8",
|
|
87
87
|
"@loopback/eslint-config": "^15.0.4",
|
|
88
|
-
"@loopback/testlab": "^7.0.
|
|
88
|
+
"@loopback/testlab": "^7.0.8",
|
|
89
89
|
"@types/ejs": "^3.1.5",
|
|
90
90
|
"@types/fs-extra": "^11.0.4",
|
|
91
91
|
"@types/minimatch": "^5.1.2",
|
|
92
|
-
"@types/node": "^16.18.
|
|
92
|
+
"@types/node": "^16.18.119",
|
|
93
93
|
"@types/yeoman-environment": "^2.10.11",
|
|
94
94
|
"@types/yeoman-generator": "^5.2.14",
|
|
95
95
|
"loopback": "^3.28.0",
|
|
96
|
-
"loopback-datasource-juggler": "^5.
|
|
96
|
+
"loopback-datasource-juggler": "^5.1.3",
|
|
97
97
|
"mem-fs": "^2.3.0",
|
|
98
98
|
"mem-fs-editor": "^9.7.0",
|
|
99
99
|
"mock-stdin": "^1.0.0",
|
|
100
|
-
"rimraf": "^5.0.
|
|
101
|
-
"sinon": "^18.0.
|
|
100
|
+
"rimraf": "^5.0.10",
|
|
101
|
+
"sinon": "^18.0.1",
|
|
102
102
|
"strong-globalize-cli": "7.1.1",
|
|
103
103
|
"yeoman-assert": "^3.1.1",
|
|
104
104
|
"yeoman-test": "^6.3.0"
|
|
@@ -106,98 +106,98 @@
|
|
|
106
106
|
"config": {
|
|
107
107
|
"templateDependencies": {
|
|
108
108
|
"tslib": "^2.0.0",
|
|
109
|
-
"@types/mocha": "^10.0.
|
|
110
|
-
"@types/node": "^16.18.
|
|
111
|
-
"cross-spawn": "^7.0.
|
|
112
|
-
"debug": "^4.
|
|
109
|
+
"@types/mocha": "^10.0.10",
|
|
110
|
+
"@types/node": "^16.18.119",
|
|
111
|
+
"cross-spawn": "^7.0.6",
|
|
112
|
+
"debug": "^4.4.0",
|
|
113
113
|
"fs-extra": "^11.2.0",
|
|
114
|
-
"mocha": "^10.
|
|
115
|
-
"nyc": "^17.
|
|
114
|
+
"mocha": "^10.8.2",
|
|
115
|
+
"nyc": "^17.1.0",
|
|
116
116
|
"prettier": "^3.3.2",
|
|
117
|
-
"rimraf": "^5.0.
|
|
117
|
+
"rimraf": "^5.0.10",
|
|
118
118
|
"source-map-support": "^0.5.21",
|
|
119
119
|
"typescript": "~5.2.2",
|
|
120
|
-
"@loopback/authentication": "^11.0.
|
|
121
|
-
"@loopback/boot": "^7.0.
|
|
122
|
-
"@loopback/build": "^11.0.
|
|
123
|
-
"@loopback/cli": "^6.
|
|
124
|
-
"@loopback/context": "^7.0.
|
|
125
|
-
"@loopback/core": "^6.1.
|
|
126
|
-
"@loopback/metadata": "^7.0.
|
|
127
|
-
"@loopback/openapi-spec-builder": "^7.0.
|
|
128
|
-
"@loopback/openapi-v3": "^10.0.
|
|
129
|
-
"@loopback/repository-json-schema": "^8.0.
|
|
130
|
-
"@loopback/repository": "^7.0.
|
|
131
|
-
"@loopback/rest": "^14.0.
|
|
132
|
-
"@loopback/testlab": "^7.0.
|
|
133
|
-
"@loopback/docs": "^7.0
|
|
120
|
+
"@loopback/authentication": "^11.0.9",
|
|
121
|
+
"@loopback/boot": "^7.0.9",
|
|
122
|
+
"@loopback/build": "^11.0.8",
|
|
123
|
+
"@loopback/cli": "^6.2.0",
|
|
124
|
+
"@loopback/context": "^7.0.9",
|
|
125
|
+
"@loopback/core": "^6.1.6",
|
|
126
|
+
"@loopback/metadata": "^7.0.9",
|
|
127
|
+
"@loopback/openapi-spec-builder": "^7.0.8",
|
|
128
|
+
"@loopback/openapi-v3": "^10.0.9",
|
|
129
|
+
"@loopback/repository-json-schema": "^8.0.9",
|
|
130
|
+
"@loopback/repository": "^7.0.9",
|
|
131
|
+
"@loopback/rest": "^14.0.9",
|
|
132
|
+
"@loopback/testlab": "^7.0.8",
|
|
133
|
+
"@loopback/docs": "^7.1.0",
|
|
134
134
|
"glob": "^10.4.5",
|
|
135
|
-
"@loopback/example-hello-world": "^7.0
|
|
136
|
-
"@loopback/example-log-extension": "^7.0
|
|
137
|
-
"@loopback/example-rpc-server": "^7.0
|
|
138
|
-
"@loopback/example-todo": "^8.0
|
|
139
|
-
"@loopback/example-soap-calculator": "^7.0
|
|
140
|
-
"@loopback/service-proxy": "^7.0.
|
|
141
|
-
"@loopback/http-caching-proxy": "^6.0.
|
|
142
|
-
"@loopback/http-server": "^6.0.
|
|
143
|
-
"@loopback/example-todo-list": "^8.0
|
|
135
|
+
"@loopback/example-hello-world": "^7.1.0",
|
|
136
|
+
"@loopback/example-log-extension": "^7.1.0",
|
|
137
|
+
"@loopback/example-rpc-server": "^7.1.0",
|
|
138
|
+
"@loopback/example-todo": "^8.1.0",
|
|
139
|
+
"@loopback/example-soap-calculator": "^7.1.0",
|
|
140
|
+
"@loopback/service-proxy": "^7.0.9",
|
|
141
|
+
"@loopback/http-caching-proxy": "^6.0.9",
|
|
142
|
+
"@loopback/http-server": "^6.0.9",
|
|
143
|
+
"@loopback/example-todo-list": "^8.1.0",
|
|
144
144
|
"@loopback/dist-util": "^0.4.0",
|
|
145
|
-
"@loopback/rest-explorer": "^7.0.
|
|
145
|
+
"@loopback/rest-explorer": "^7.0.9",
|
|
146
146
|
"@loopback/eslint-config": "^15.0.4",
|
|
147
147
|
"express-composition": "^1.1.0",
|
|
148
|
-
"@loopback/example-express-composition": "^7.0
|
|
149
|
-
"@loopback/example-greeter-extension": "^7.0
|
|
150
|
-
"@loopback/booter-lb3app": "^6.0.
|
|
151
|
-
"@loopback/example-lb3-application": "^7.0
|
|
148
|
+
"@loopback/example-express-composition": "^7.1.0",
|
|
149
|
+
"@loopback/example-greeter-extension": "^7.1.0",
|
|
150
|
+
"@loopback/booter-lb3app": "^6.0.9",
|
|
151
|
+
"@loopback/example-lb3-application": "^7.1.0",
|
|
152
152
|
"eslint": "^8.57.0",
|
|
153
153
|
"eslint-plugin-mocha": "^10.4.3",
|
|
154
|
-
"@loopback/example-greeting-app": "^7.0
|
|
155
|
-
"@loopback/example-context": "^7.0
|
|
154
|
+
"@loopback/example-greeting-app": "^7.1.0",
|
|
155
|
+
"@loopback/example-context": "^7.1.0",
|
|
156
156
|
"@typescript-eslint/eslint-plugin": "^7.16.0",
|
|
157
157
|
"@typescript-eslint/parser": "^7.16.0",
|
|
158
158
|
"eslint-plugin-eslint-plugin": "^5.5.1",
|
|
159
159
|
"eslint-config-prettier": "^9.1.0",
|
|
160
|
-
"@loopback/repository-tests": "^0.24.
|
|
161
|
-
"@loopback/health": "^0.14.
|
|
162
|
-
"@loopback/authorization": "^0.15.
|
|
163
|
-
"@loopback/rest-crud": "^0.18.
|
|
164
|
-
"@loopback/security": "^0.11.
|
|
165
|
-
"@loopback/authentication-passport": "^7.0.
|
|
166
|
-
"@loopback/example-metrics-prometheus": "^0.
|
|
167
|
-
"@loopback/metrics": "^0.14.
|
|
168
|
-
"@loopback/model-api-builder": "^6.0.
|
|
169
|
-
"@loopback/logging": "^0.12.
|
|
170
|
-
"@loopback/example-access-control-migration": "^7.0
|
|
171
|
-
"@loopback/example-file-transfer": "^6.0
|
|
172
|
-
"@loopback/example-rest-crud": "^6.0
|
|
173
|
-
"@loopback/apiconnect": "^0.13.
|
|
174
|
-
"@loopback/example-validation-app": "^6.0
|
|
175
|
-
"@loopback/cron": "^0.12.
|
|
176
|
-
"@loopback/example-multi-tenancy": "^0.
|
|
177
|
-
"@loopback/example-passport-login": "^6.0
|
|
178
|
-
"@loopback/authentication-jwt": "^0.15.
|
|
179
|
-
"@loopback/context-explorer": "^0.11.
|
|
180
|
-
"@loopback/express": "^7.0.
|
|
160
|
+
"@loopback/repository-tests": "^0.24.9",
|
|
161
|
+
"@loopback/health": "^0.14.9",
|
|
162
|
+
"@loopback/authorization": "^0.15.9",
|
|
163
|
+
"@loopback/rest-crud": "^0.18.9",
|
|
164
|
+
"@loopback/security": "^0.11.9",
|
|
165
|
+
"@loopback/authentication-passport": "^7.0.9",
|
|
166
|
+
"@loopback/example-metrics-prometheus": "^0.14.0",
|
|
167
|
+
"@loopback/metrics": "^0.14.9",
|
|
168
|
+
"@loopback/model-api-builder": "^6.0.9",
|
|
169
|
+
"@loopback/logging": "^0.12.9",
|
|
170
|
+
"@loopback/example-access-control-migration": "^7.1.0",
|
|
171
|
+
"@loopback/example-file-transfer": "^6.1.0",
|
|
172
|
+
"@loopback/example-rest-crud": "^6.1.0",
|
|
173
|
+
"@loopback/apiconnect": "^0.13.9",
|
|
174
|
+
"@loopback/example-validation-app": "^6.1.0",
|
|
175
|
+
"@loopback/cron": "^0.12.9",
|
|
176
|
+
"@loopback/example-multi-tenancy": "^0.17.0",
|
|
177
|
+
"@loopback/example-passport-login": "^6.1.0",
|
|
178
|
+
"@loopback/authentication-jwt": "^0.15.9",
|
|
179
|
+
"@loopback/context-explorer": "^0.11.9",
|
|
180
|
+
"@loopback/express": "^7.0.9",
|
|
181
181
|
"@types/js-yaml": "^3.12.4",
|
|
182
182
|
"js-yaml": "^3.13.1",
|
|
183
|
-
"@loopback/example-todo-jwt": "^6.0
|
|
184
|
-
"@loopback/mock-oauth2-provider": "^0.9.
|
|
183
|
+
"@loopback/example-todo-jwt": "^6.1.0",
|
|
184
|
+
"@loopback/mock-oauth2-provider": "^0.9.9",
|
|
185
185
|
"lodash": "^4.17.21",
|
|
186
|
-
"@loopback/pooling": "^0.11.
|
|
187
|
-
"@loopback/typeorm": "^0.10.
|
|
188
|
-
"@loopback/example-graphql": "^0.
|
|
189
|
-
"@loopback/graphql": "^0.11.
|
|
190
|
-
"@loopback/filter": "^5.0.
|
|
191
|
-
"@loopback/rest-msgpack": "^0.11.
|
|
192
|
-
"@loopback/example-binding-resolution": "^0.
|
|
193
|
-
"@loopback/example-webpack": "^0.
|
|
194
|
-
"@loopback/example-socketio": "^0.
|
|
195
|
-
"@loopback/socketio": "^0.8.
|
|
186
|
+
"@loopback/pooling": "^0.11.9",
|
|
187
|
+
"@loopback/typeorm": "^0.10.9",
|
|
188
|
+
"@loopback/example-graphql": "^0.11.0",
|
|
189
|
+
"@loopback/graphql": "^0.11.9",
|
|
190
|
+
"@loopback/filter": "^5.0.8",
|
|
191
|
+
"@loopback/rest-msgpack": "^0.11.9",
|
|
192
|
+
"@loopback/example-binding-resolution": "^0.11.0",
|
|
193
|
+
"@loopback/example-webpack": "^0.12.0",
|
|
194
|
+
"@loopback/example-socketio": "^0.10.0",
|
|
195
|
+
"@loopback/socketio": "^0.8.9",
|
|
196
196
|
"@loopback/monorepo": "^0.6.0",
|
|
197
|
-
"@loopback/tsdocs": "^6.0.
|
|
198
|
-
"@loopback/example-references-many": "^8.0
|
|
199
|
-
"@loopback/sequelize": "^0.6.
|
|
197
|
+
"@loopback/tsdocs": "^6.0.9",
|
|
198
|
+
"@loopback/example-references-many": "^8.1.0",
|
|
199
|
+
"@loopback/sequelize": "^0.6.9"
|
|
200
200
|
}
|
|
201
201
|
},
|
|
202
|
-
"gitHead": "
|
|
202
|
+
"gitHead": "cf286d032ca80729a8c7cb7bf90bb8fac7ddd50b"
|
|
203
203
|
}
|