@loopback/cli 4.1.8 → 4.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
@@ -1278,6 +1278,12 @@
1278
1278
  "name": "outDir",
1279
1279
  "hide": false
1280
1280
  },
1281
+ "models": {
1282
+ "type": "String",
1283
+ "description": "Discover specific models without prompting users to select e.g:--models=table1,table2",
1284
+ "name": "models",
1285
+ "hide": false
1286
+ },
1281
1287
  "optionalId": {
1282
1288
  "type": "Boolean",
1283
1289
  "description": "Boolean to mark id property as optional field",
@@ -57,6 +57,14 @@ module.exports = class DiscoveryGenerator extends ArtifactGenerator {
57
57
  default: undefined,
58
58
  });
59
59
 
60
+ this.option('models', {
61
+ type: String,
62
+ description: g.f(
63
+ 'Discover specific models without prompting users to select e.g:--models=table1,table2',
64
+ ),
65
+ default: undefined,
66
+ });
67
+
60
68
  this.option('optionalId', {
61
69
  type: Boolean,
62
70
  description: g.f('Boolean to mark id property as optional field'),
@@ -201,6 +209,16 @@ module.exports = class DiscoveryGenerator extends ArtifactGenerator {
201
209
  this.discoveringModels = this.modelChoices;
202
210
  }
203
211
 
212
+ if (this.options.models) {
213
+ const answers = {discoveringModels: this.options.models.split(',')};
214
+ debug(`Models specified: ${JSON.stringify(answers)}`);
215
+ this.discoveringModels = [];
216
+ answers.discoveringModels.forEach(m => {
217
+ this.discoveringModels.push(this.modelChoices.find(c => c.name === m));
218
+ });
219
+ return;
220
+ }
221
+
204
222
  const prompts = [
205
223
  {
206
224
  name: 'discoveringModels',
@@ -38,6 +38,8 @@ function createPropertyTemplateData(val) {
38
38
  }
39
39
  } else if (val.type === 'buffer') {
40
40
  val.tsType = 'Buffer';
41
+ } else if (val.type === 'Binary') {
42
+ val.tsType = 'Buffer';
41
43
  }
42
44
 
43
45
  if (NON_TS_TYPES.includes(val.tsType)) {
@@ -24,7 +24,7 @@ export class <%= controllerClassName %> {
24
24
  description: '<%= targetModelClassName %> belonging to <%= sourceModelClassName %>',
25
25
  content: {
26
26
  'application/json': {
27
- schema: {type: 'array', items: getModelSchemaRef(<%= targetModelClassName %>)},
27
+ schema: getModelSchemaRef(<%= targetModelClassName %>),
28
28
  },
29
29
  },
30
30
  },
@@ -424,7 +424,9 @@ module.exports = class RepositoryGenerator extends ArtifactGenerator {
424
424
  name: 'repositoryBaseClass',
425
425
  message: PROMPT_BASE_REPOSITORY_CLASS,
426
426
  choices: availableRepositoryList,
427
- when: this.artifactInfo.repositoryBaseClass === undefined,
427
+ when:
428
+ this.artifactInfo.repositoryBaseClass === undefined ||
429
+ availableRepositoryList.length > 2,
428
430
  default:
429
431
  this.artifactInfo.repositoryBaseClass === undefined
430
432
  ? availableRepositoryList[0]
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": "4.1.8",
4
+ "version": "4.2.0",
5
5
  "keywords": [
6
6
  "LoopBack",
7
7
  "CLI",
@@ -52,9 +52,9 @@
52
52
  "json5": "^2.2.3",
53
53
  "latest-version": "^5.1.0",
54
54
  "lodash": "^4.17.21",
55
- "minimatch": "^6.1.6",
56
- "minimist": "^1.2.7",
57
- "mkdirp": "^2.1.3",
55
+ "minimatch": "^6.2.0",
56
+ "minimist": "^1.2.8",
57
+ "mkdirp": "^2.1.5",
58
58
  "natural-compare": "^1.4.0",
59
59
  "pacote": "^15.0.8",
60
60
  "pluralize": "^8.0.0",
@@ -77,14 +77,15 @@
77
77
  "url-slug": "^3.0.4",
78
78
  "validate-npm-package-name": "^5.0.0",
79
79
  "write-file-atomic": "^5.0.0",
80
- "yeoman-environment": "^3.13.0",
81
- "yeoman-generator": "^5.7.0"
80
+ "yeoman-environment": "^3.15.1",
81
+ "yeoman-generator": "^5.8.0"
82
82
  },
83
83
  "devDependencies": {
84
- "@loopback/build": "^9.0.8",
85
- "@loopback/eslint-config": "^13.0.8",
86
- "@loopback/testlab": "^5.0.8",
87
- "@types/ejs": "^3.1.1",
84
+ "@lerna/bootstrap": "^6.5.1",
85
+ "@loopback/build": "^9.0.9",
86
+ "@loopback/eslint-config": "^13.0.9",
87
+ "@loopback/testlab": "^5.0.9",
88
+ "@types/ejs": "^3.1.2",
88
89
  "@types/fs-extra": "^9.0.13",
89
90
  "@types/minimatch": "^5.1.2",
90
91
  "@types/node": "^14.18.36",
@@ -93,7 +94,7 @@
93
94
  "loopback": "^3.28.0",
94
95
  "loopback-datasource-juggler": "^4.28.2",
95
96
  "mem-fs": "^2.2.1",
96
- "mem-fs-editor": "^9.6.0",
97
+ "mem-fs-editor": "^9.7.0",
97
98
  "mock-stdin": "^1.0.0",
98
99
  "rimraf": "^3.0.2",
99
100
  "sinon": "^15.0.1",
@@ -111,90 +112,91 @@
111
112
  "fs-extra": "^10.1.0",
112
113
  "mocha": "^10.2.0",
113
114
  "nyc": "^15.1.0",
114
- "prettier": "^2.8.3",
115
+ "prettier": "^2.8.4",
115
116
  "rimraf": "^3.0.2",
116
117
  "source-map-support": "^0.5.21",
117
118
  "typescript": "~4.9.4",
118
- "@loopback/authentication": "^9.0.8",
119
- "@loopback/boot": "^5.0.8",
120
- "@loopback/build": "^9.0.8",
121
- "@loopback/cli": "^4.1.8",
122
- "@loopback/context": "^5.0.8",
123
- "@loopback/core": "^4.0.8",
124
- "@loopback/metadata": "^5.0.8",
125
- "@loopback/openapi-spec-builder": "^5.0.8",
126
- "@loopback/openapi-v3": "^8.0.8",
127
- "@loopback/repository-json-schema": "^6.1.2",
128
- "@loopback/repository": "^5.1.3",
129
- "@loopback/rest": "^12.0.8",
130
- "@loopback/testlab": "^5.0.8",
131
- "@loopback/docs": "^5.1.7",
119
+ "@loopback/authentication": "^9.0.9",
120
+ "@loopback/boot": "^5.0.9",
121
+ "@loopback/build": "^9.0.9",
122
+ "@loopback/cli": "^4.2.0",
123
+ "@loopback/context": "^5.0.9",
124
+ "@loopback/core": "^4.0.9",
125
+ "@loopback/metadata": "^5.0.9",
126
+ "@loopback/openapi-spec-builder": "^5.0.9",
127
+ "@loopback/openapi-v3": "^8.0.9",
128
+ "@loopback/repository-json-schema": "^6.1.3",
129
+ "@loopback/repository": "^5.1.4",
130
+ "@loopback/rest": "^12.0.9",
131
+ "@loopback/testlab": "^5.0.9",
132
+ "@loopback/docs": "^5.2.0",
132
133
  "glob": "^8.1.0",
133
- "@loopback/example-hello-world": "^5.0.8",
134
- "@loopback/example-log-extension": "^5.0.8",
135
- "@loopback/example-rpc-server": "^5.0.8",
136
- "@loopback/example-todo": "^6.0.8",
137
- "@loopback/example-soap-calculator": "^5.0.8",
138
- "@loopback/service-proxy": "^5.0.8",
139
- "@loopback/http-caching-proxy": "^4.0.8",
140
- "@loopback/http-server": "^4.0.8",
141
- "@loopback/example-todo-list": "^6.0.8",
134
+ "@loopback/example-hello-world": "^5.0.9",
135
+ "@loopback/example-log-extension": "^5.0.9",
136
+ "@loopback/example-rpc-server": "^5.0.9",
137
+ "@loopback/example-todo": "^6.0.9",
138
+ "@loopback/example-soap-calculator": "^5.0.9",
139
+ "@loopback/service-proxy": "^5.0.9",
140
+ "@loopback/http-caching-proxy": "^4.0.9",
141
+ "@loopback/http-server": "^4.0.9",
142
+ "@loopback/example-todo-list": "^6.0.9",
142
143
  "@loopback/dist-util": "^0.4.0",
143
- "@loopback/rest-explorer": "^5.0.8",
144
- "@loopback/eslint-config": "^13.0.8",
144
+ "@loopback/rest-explorer": "^5.0.9",
145
+ "@loopback/eslint-config": "^13.0.9",
145
146
  "express-composition": "^1.1.0",
146
- "@loopback/example-express-composition": "^5.0.8",
147
- "@loopback/example-greeter-extension": "^5.0.8",
148
- "@loopback/booter-lb3app": "^4.0.8",
149
- "@loopback/example-lb3-application": "^5.0.8",
150
- "eslint": "^8.33.0",
147
+ "@loopback/example-express-composition": "^5.0.9",
148
+ "@loopback/example-greeter-extension": "^5.0.9",
149
+ "@loopback/booter-lb3app": "^4.0.9",
150
+ "@loopback/example-lb3-application": "^5.0.9",
151
+ "eslint": "^8.35.0",
151
152
  "eslint-plugin-mocha": "^10.1.0",
152
- "@loopback/example-greeting-app": "^5.0.8",
153
- "@loopback/example-context": "^5.0.8",
154
- "@typescript-eslint/eslint-plugin": "^5.51.0",
155
- "@typescript-eslint/parser": "^5.51.0",
153
+ "@loopback/example-greeting-app": "^5.0.9",
154
+ "@loopback/example-context": "^5.0.9",
155
+ "@typescript-eslint/eslint-plugin": "^5.54.0",
156
+ "@typescript-eslint/parser": "^5.54.0",
156
157
  "eslint-plugin-eslint-plugin": "^5.0.8",
157
- "eslint-config-prettier": "^8.6.0",
158
- "@loopback/repository-tests": "^0.21.8",
159
- "@loopback/health": "^0.11.8",
160
- "@loopback/authorization": "^0.12.8",
161
- "@loopback/rest-crud": "^0.15.7",
162
- "@loopback/security": "^0.8.8",
163
- "@loopback/authentication-passport": "^5.0.8",
164
- "@loopback/example-metrics-prometheus": "^0.10.8",
165
- "@loopback/metrics": "^0.11.8",
166
- "@loopback/model-api-builder": "^4.0.8",
167
- "@loopback/logging": "^0.9.8",
168
- "@loopback/example-access-control-migration": "^5.0.8",
169
- "@loopback/example-file-transfer": "^4.0.8",
170
- "@loopback/example-rest-crud": "^4.0.8",
171
- "@loopback/apiconnect": "^0.10.8",
172
- "@loopback/example-validation-app": "^4.0.8",
173
- "@loopback/cron": "^0.9.8",
174
- "@loopback/example-multi-tenancy": "^0.13.8",
175
- "@loopback/example-passport-login": "^4.0.8",
176
- "@loopback/authentication-jwt": "^0.12.8",
177
- "@loopback/context-explorer": "^0.8.8",
178
- "@loopback/express": "^5.0.8",
158
+ "eslint-config-prettier": "^8.7.0",
159
+ "@loopback/repository-tests": "^0.21.9",
160
+ "@loopback/health": "^0.11.9",
161
+ "@loopback/authorization": "^0.12.9",
162
+ "@loopback/rest-crud": "^0.15.8",
163
+ "@loopback/security": "^0.8.9",
164
+ "@loopback/authentication-passport": "^5.0.9",
165
+ "@loopback/example-metrics-prometheus": "^0.10.9",
166
+ "@loopback/metrics": "^0.11.9",
167
+ "@loopback/model-api-builder": "^4.0.9",
168
+ "@loopback/logging": "^0.9.9",
169
+ "@loopback/example-access-control-migration": "^5.0.9",
170
+ "@loopback/example-file-transfer": "^4.0.9",
171
+ "@loopback/example-rest-crud": "^4.0.9",
172
+ "@loopback/apiconnect": "^0.10.9",
173
+ "@loopback/example-validation-app": "^4.0.9",
174
+ "@loopback/cron": "^0.9.9",
175
+ "@loopback/example-multi-tenancy": "^0.13.9",
176
+ "@loopback/example-passport-login": "^4.0.9",
177
+ "@loopback/authentication-jwt": "^0.12.9",
178
+ "@loopback/context-explorer": "^0.8.9",
179
+ "@loopback/express": "^5.0.9",
179
180
  "@types/js-yaml": "^3.12.4",
180
181
  "js-yaml": "^3.13.1",
181
- "@loopback/example-todo-jwt": "^4.0.8",
182
- "@loopback/mock-oauth2-provider": "^0.6.8",
182
+ "@loopback/example-todo-jwt": "^4.0.9",
183
+ "@loopback/mock-oauth2-provider": "^0.6.9",
183
184
  "lodash": "^4.17.21",
184
- "@loopback/pooling": "^0.8.8",
185
- "@loopback/typeorm": "^0.7.8",
186
- "@loopback/example-graphql": "^0.7.8",
187
- "@loopback/graphql": "^0.8.8",
188
- "@loopback/filter": "^3.0.8",
189
- "@loopback/rest-msgpack": "^0.8.8",
190
- "@loopback/example-binding-resolution": "^0.7.8",
191
- "@loopback/example-webpack": "^0.8.8",
192
- "@loopback/example-socketio": "^0.6.8",
193
- "@loopback/socketio": "^0.6.8",
194
- "@loopback/monorepo": "^0.5.8",
195
- "@loopback/tsdocs": "^4.0.8",
196
- "@loopback/example-references-many": "^6.0.8"
185
+ "@loopback/pooling": "^0.8.9",
186
+ "@loopback/typeorm": "^0.7.9",
187
+ "@loopback/example-graphql": "^0.7.9",
188
+ "@loopback/graphql": "^0.8.9",
189
+ "@loopback/filter": "^3.0.9",
190
+ "@loopback/rest-msgpack": "^0.8.9",
191
+ "@loopback/example-binding-resolution": "^0.7.9",
192
+ "@loopback/example-webpack": "^0.8.9",
193
+ "@loopback/example-socketio": "^0.6.9",
194
+ "@loopback/socketio": "^0.6.9",
195
+ "@loopback/monorepo": "^0.5.9",
196
+ "@loopback/tsdocs": "^4.0.9",
197
+ "@loopback/example-references-many": "^6.0.9",
198
+ "@loopback/sequelize": "^0.1.0"
197
199
  }
198
200
  },
199
- "gitHead": "3025b353fa04f6918cd7b435ae7c5864ba2eb9f9"
201
+ "gitHead": "6bee26c2dad33cc4668cd0a4a127c9e7596dfef9"
200
202
  }