@loopback/cli 4.1.7 → 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.7",
4
+ "version": "4.2.0",
5
5
  "keywords": [
6
6
  "LoopBack",
7
7
  "CLI",
@@ -39,7 +39,7 @@
39
39
  ".yo-rc.json"
40
40
  ],
41
41
  "dependencies": {
42
- "@lerna/project": "^6.4.0",
42
+ "@lerna/project": "^6.4.1",
43
43
  "@openapi-contrib/openapi-schema-to-json-schema": "^3.2.0",
44
44
  "@phenomnomnominal/tsquery": "^5.0.0",
45
45
  "camelcase-keys": "^7.0.2",
@@ -47,14 +47,14 @@
47
47
  "change-case": "^4.1.2",
48
48
  "debug": "^4.3.4",
49
49
  "fs-extra": "^10.1.0",
50
- "glob": "^8.0.3",
50
+ "glob": "^8.1.0",
51
51
  "inquirer-autocomplete-prompt": "^2.0.0",
52
52
  "json5": "^2.2.3",
53
53
  "latest-version": "^5.1.0",
54
54
  "lodash": "^4.17.21",
55
- "minimatch": "^5.1.2",
56
- "minimist": "^1.2.7",
57
- "mkdirp": "^1.0.4",
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,23 +77,24 @@
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.7",
85
- "@loopback/eslint-config": "^13.0.7",
86
- "@loopback/testlab": "^5.0.7",
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",
91
92
  "@types/yeoman-environment": "^2.10.8",
92
93
  "@types/yeoman-generator": "^5.2.11",
93
94
  "loopback": "^3.28.0",
94
- "loopback-datasource-juggler": "^4.28.0",
95
+ "loopback-datasource-juggler": "^4.28.2",
95
96
  "mem-fs": "^2.2.1",
96
- "mem-fs-editor": "^9.5.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.1",
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.7",
119
- "@loopback/boot": "^5.0.7",
120
- "@loopback/build": "^9.0.7",
121
- "@loopback/cli": "^4.1.7",
122
- "@loopback/context": "^5.0.7",
123
- "@loopback/core": "^4.0.7",
124
- "@loopback/metadata": "^5.0.7",
125
- "@loopback/openapi-spec-builder": "^5.0.7",
126
- "@loopback/openapi-v3": "^8.0.7",
127
- "@loopback/repository-json-schema": "^6.1.1",
128
- "@loopback/repository": "^5.1.2",
129
- "@loopback/rest": "^12.0.7",
130
- "@loopback/testlab": "^5.0.7",
131
- "@loopback/docs": "^5.1.6",
132
- "glob": "^8.0.3",
133
- "@loopback/example-hello-world": "^5.0.7",
134
- "@loopback/example-log-extension": "^5.0.7",
135
- "@loopback/example-rpc-server": "^5.0.7",
136
- "@loopback/example-todo": "^6.0.7",
137
- "@loopback/example-soap-calculator": "^5.0.7",
138
- "@loopback/service-proxy": "^5.0.7",
139
- "@loopback/http-caching-proxy": "^4.0.7",
140
- "@loopback/http-server": "^4.0.7",
141
- "@loopback/example-todo-list": "^6.0.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",
133
+ "glob": "^8.1.0",
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.7",
144
- "@loopback/eslint-config": "^13.0.7",
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.7",
147
- "@loopback/example-greeter-extension": "^5.0.7",
148
- "@loopback/booter-lb3app": "^4.0.7",
149
- "@loopback/example-lb3-application": "^5.0.7",
150
- "eslint": "^8.30.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.7",
153
- "@loopback/example-context": "^5.0.7",
154
- "@typescript-eslint/eslint-plugin": "^5.44.0",
155
- "@typescript-eslint/parser": "^5.44.0",
156
- "eslint-plugin-eslint-plugin": "^5.0.7",
157
- "eslint-config-prettier": "^8.5.0",
158
- "@loopback/repository-tests": "^0.21.7",
159
- "@loopback/health": "^0.11.7",
160
- "@loopback/authorization": "^0.12.7",
161
- "@loopback/rest-crud": "^0.15.6",
162
- "@loopback/security": "^0.8.7",
163
- "@loopback/authentication-passport": "^5.0.7",
164
- "@loopback/example-metrics-prometheus": "^0.10.7",
165
- "@loopback/metrics": "^0.11.7",
166
- "@loopback/model-api-builder": "^4.0.7",
167
- "@loopback/logging": "^0.9.7",
168
- "@loopback/example-access-control-migration": "^5.0.7",
169
- "@loopback/example-file-transfer": "^4.0.7",
170
- "@loopback/example-rest-crud": "^4.0.7",
171
- "@loopback/apiconnect": "^0.10.7",
172
- "@loopback/example-validation-app": "^4.0.7",
173
- "@loopback/cron": "^0.9.7",
174
- "@loopback/example-multi-tenancy": "^0.13.7",
175
- "@loopback/example-passport-login": "^4.0.7",
176
- "@loopback/authentication-jwt": "^0.12.7",
177
- "@loopback/context-explorer": "^0.8.7",
178
- "@loopback/express": "^5.0.7",
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",
157
+ "eslint-plugin-eslint-plugin": "^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.7",
182
- "@loopback/mock-oauth2-provider": "^0.6.7",
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.7",
185
- "@loopback/typeorm": "^0.7.7",
186
- "@loopback/example-graphql": "^0.7.7",
187
- "@loopback/graphql": "^0.8.7",
188
- "@loopback/filter": "^3.0.7",
189
- "@loopback/rest-msgpack": "^0.8.7",
190
- "@loopback/example-binding-resolution": "^0.7.7",
191
- "@loopback/example-webpack": "^0.8.7",
192
- "@loopback/example-socketio": "^0.6.7",
193
- "@loopback/socketio": "^0.6.7",
194
- "@loopback/monorepo": "^0.5.7",
195
- "@loopback/tsdocs": "^4.0.7",
196
- "@loopback/example-references-many": "^6.0.7"
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": "06cbcba72ceb28ab5033bae80cc5504c80ac53c2"
201
+ "gitHead": "6bee26c2dad33cc4668cd0a4a127c9e7596dfef9"
200
202
  }