@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 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] = JSON.parse(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) {
@@ -0,0 +1,9 @@
1
+ root = true
2
+
3
+ [*]
4
+ end_of_line = lf
5
+ insert_final_newline = true
6
+ charset = utf-8
7
+ indent_style = space
8
+ indent_size = 2
9
+ max_line_length = 80
@@ -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(targetModel, relationType);
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']) {
@@ -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
- {name: 'vscode', description: g.f('add VSCode config files')},
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.1.1",
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.3.7",
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.0.0",
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.6",
86
+ "@loopback/build": "^11.0.8",
87
87
  "@loopback/eslint-config": "^15.0.4",
88
- "@loopback/testlab": "^7.0.6",
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.101",
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.0.11",
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.7",
101
- "sinon": "^18.0.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.7",
110
- "@types/node": "^16.18.101",
111
- "cross-spawn": "^7.0.3",
112
- "debug": "^4.3.7",
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.6.0",
115
- "nyc": "^17.0.0",
114
+ "mocha": "^10.8.2",
115
+ "nyc": "^17.1.0",
116
116
  "prettier": "^3.3.2",
117
- "rimraf": "^5.0.7",
117
+ "rimraf": "^5.0.10",
118
118
  "source-map-support": "^0.5.21",
119
119
  "typescript": "~5.2.2",
120
- "@loopback/authentication": "^11.0.7",
121
- "@loopback/boot": "^7.0.7",
122
- "@loopback/build": "^11.0.6",
123
- "@loopback/cli": "^6.1.1",
124
- "@loopback/context": "^7.0.7",
125
- "@loopback/core": "^6.1.4",
126
- "@loopback/metadata": "^7.0.7",
127
- "@loopback/openapi-spec-builder": "^7.0.6",
128
- "@loopback/openapi-v3": "^10.0.7",
129
- "@loopback/repository-json-schema": "^8.0.7",
130
- "@loopback/repository": "^7.0.7",
131
- "@loopback/rest": "^14.0.7",
132
- "@loopback/testlab": "^7.0.6",
133
- "@loopback/docs": "^7.0.7",
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.7",
136
- "@loopback/example-log-extension": "^7.0.7",
137
- "@loopback/example-rpc-server": "^7.0.7",
138
- "@loopback/example-todo": "^8.0.7",
139
- "@loopback/example-soap-calculator": "^7.0.7",
140
- "@loopback/service-proxy": "^7.0.7",
141
- "@loopback/http-caching-proxy": "^6.0.7",
142
- "@loopback/http-server": "^6.0.7",
143
- "@loopback/example-todo-list": "^8.0.7",
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.7",
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.7",
149
- "@loopback/example-greeter-extension": "^7.0.7",
150
- "@loopback/booter-lb3app": "^6.0.7",
151
- "@loopback/example-lb3-application": "^7.0.7",
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.7",
155
- "@loopback/example-context": "^7.0.7",
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.7",
161
- "@loopback/health": "^0.14.7",
162
- "@loopback/authorization": "^0.15.7",
163
- "@loopback/rest-crud": "^0.18.7",
164
- "@loopback/security": "^0.11.7",
165
- "@loopback/authentication-passport": "^7.0.7",
166
- "@loopback/example-metrics-prometheus": "^0.13.7",
167
- "@loopback/metrics": "^0.14.7",
168
- "@loopback/model-api-builder": "^6.0.7",
169
- "@loopback/logging": "^0.12.7",
170
- "@loopback/example-access-control-migration": "^7.0.7",
171
- "@loopback/example-file-transfer": "^6.0.7",
172
- "@loopback/example-rest-crud": "^6.0.7",
173
- "@loopback/apiconnect": "^0.13.7",
174
- "@loopback/example-validation-app": "^6.0.7",
175
- "@loopback/cron": "^0.12.7",
176
- "@loopback/example-multi-tenancy": "^0.16.7",
177
- "@loopback/example-passport-login": "^6.0.7",
178
- "@loopback/authentication-jwt": "^0.15.7",
179
- "@loopback/context-explorer": "^0.11.7",
180
- "@loopback/express": "^7.0.7",
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.7",
184
- "@loopback/mock-oauth2-provider": "^0.9.7",
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.7",
187
- "@loopback/typeorm": "^0.10.7",
188
- "@loopback/example-graphql": "^0.10.7",
189
- "@loopback/graphql": "^0.11.7",
190
- "@loopback/filter": "^5.0.6",
191
- "@loopback/rest-msgpack": "^0.11.7",
192
- "@loopback/example-binding-resolution": "^0.10.7",
193
- "@loopback/example-webpack": "^0.11.7",
194
- "@loopback/example-socketio": "^0.9.7",
195
- "@loopback/socketio": "^0.8.7",
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.7",
198
- "@loopback/example-references-many": "^8.0.7",
199
- "@loopback/sequelize": "^0.6.7"
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": "5bca4d1d6af77cd5ea8fdecf55b11b939efbf217"
202
+ "gitHead": "cf286d032ca80729a8c7cb7bf90bb8fac7ddd50b"
203
203
  }