@loopback/cli 5.1.0 → 5.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/generators/openapi/utils.js +9 -11
- package/lib/utils.js +27 -28
- package/package.json +92 -91
|
@@ -4,20 +4,18 @@
|
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
6
6
|
'use strict';
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const {
|
|
8
|
+
openapiSchemaToJsonSchema,
|
|
9
|
+
} = require('@openapi-contrib/openapi-schema-to-json-schema');
|
|
10
|
+
const fs = require('node:fs');
|
|
11
|
+
const util = require('node:util');
|
|
12
|
+
const url = require('node:url');
|
|
9
13
|
const _ = require('lodash');
|
|
10
14
|
const json5 = require('json5');
|
|
11
|
-
const
|
|
12
|
-
|
|
15
|
+
const debugFactory = require('../../lib/debug');
|
|
13
16
|
const utils = require('../../lib/utils');
|
|
14
|
-
const debug = require('../../lib/debug')('openapi-generator');
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Convert OpenAPI schema to JSON schema draft 4
|
|
18
|
-
*/
|
|
19
|
-
const oasToJsonSchema4 = require('@openapi-contrib/openapi-schema-to-json-schema');
|
|
20
17
|
|
|
18
|
+
const debug = debugFactory('openapi-generator');
|
|
21
19
|
/**
|
|
22
20
|
* Convert a string to title case
|
|
23
21
|
* @param {string} str
|
|
@@ -258,7 +256,7 @@ function restoreSpecObject(specObject) {
|
|
|
258
256
|
*/
|
|
259
257
|
function toJsonSchema(oasSchema) {
|
|
260
258
|
oasSchema = restoreSpecObject(oasSchema);
|
|
261
|
-
let jsonSchema =
|
|
259
|
+
let jsonSchema = openapiSchemaToJsonSchema(oasSchema);
|
|
262
260
|
delete jsonSchema['$schema'];
|
|
263
261
|
// See https://json-schema.org/draft-06/json-schema-release-notes.html
|
|
264
262
|
if (jsonSchema.id) {
|
package/lib/utils.js
CHANGED
|
@@ -5,35 +5,34 @@
|
|
|
5
5
|
|
|
6
6
|
'use strict';
|
|
7
7
|
|
|
8
|
+
const fs = require('node:fs');
|
|
9
|
+
const path = require('node:path');
|
|
10
|
+
const util = require('node:util');
|
|
11
|
+
const stream = require('node:stream');
|
|
12
|
+
const {spawnSync} = require('node:child_process');
|
|
13
|
+
const readline = require('node:readline');
|
|
14
|
+
const _ = require('lodash');
|
|
8
15
|
const chalk = require('chalk');
|
|
9
|
-
const debug = require('../lib/debug')('utils');
|
|
10
|
-
const fs = require('fs');
|
|
11
|
-
const path = require('path');
|
|
12
|
-
const util = require('util');
|
|
13
|
-
const stream = require('stream');
|
|
14
|
-
const {spawnSync} = require('child_process');
|
|
15
|
-
const readline = require('readline');
|
|
16
16
|
const semver = require('semver');
|
|
17
17
|
const regenerate = require('regenerate');
|
|
18
|
-
const
|
|
19
|
-
const pascalCase = require('change-case').pascalCase;
|
|
20
|
-
const lowerCase = require('change-case').lowerCase;
|
|
21
|
-
const promisify = require('util').promisify;
|
|
22
|
-
const toVarName = require('change-case').camelCase;
|
|
18
|
+
const {pascalCase, lowerCase, camelCase: toVarName} = require('change-case');
|
|
23
19
|
const pluralize = require('pluralize');
|
|
24
|
-
const urlSlug = require('url-slug');
|
|
20
|
+
const {convert: urlSlug} = require('url-slug');
|
|
25
21
|
const validate = require('validate-npm-package-name');
|
|
26
22
|
const Conflicter = require('yeoman-environment/conflicter');
|
|
23
|
+
const stringifyObject = require('stringify-object');
|
|
24
|
+
const untildify = require('untildify');
|
|
25
|
+
const tildify = require('tildify');
|
|
27
26
|
const connectors = require('./connectors.json');
|
|
28
27
|
const tsquery = require('./ast-helper');
|
|
29
|
-
const
|
|
28
|
+
const debugFactory = require('../lib/debug');
|
|
29
|
+
|
|
30
|
+
const debug = debugFactory('utils');
|
|
30
31
|
const camelCase = _.camelCase;
|
|
31
32
|
const kebabCase = _.kebabCase;
|
|
32
|
-
|
|
33
|
-
const tildify = require('tildify');
|
|
34
|
-
const readdirAsync = promisify(fs.readdir);
|
|
33
|
+
|
|
35
34
|
const toFileName = name => {
|
|
36
|
-
return kebabCase(name).replace(
|
|
35
|
+
return kebabCase(name).replace(/-(\d+)$/g, '$1');
|
|
37
36
|
};
|
|
38
37
|
|
|
39
38
|
const RESERVED_PROPERTY_NAMES = ['constructor'];
|
|
@@ -42,7 +41,7 @@ const RESERVED_PROPERTY_NAMES = ['constructor'];
|
|
|
42
41
|
* Either a reference to util.promisify or its polyfill, depending on
|
|
43
42
|
* your version of Node.
|
|
44
43
|
*/
|
|
45
|
-
exports.promisify = promisify;
|
|
44
|
+
exports.promisify = util.promisify;
|
|
46
45
|
|
|
47
46
|
/**
|
|
48
47
|
* Returns a valid variable name regex;
|
|
@@ -97,7 +96,7 @@ exports.validateClassName = function (name) {
|
|
|
97
96
|
if (name.includes('-')) {
|
|
98
97
|
return util.format('Class name cannot contain hyphens: %s', name);
|
|
99
98
|
}
|
|
100
|
-
if (name.match(/[\/@\s
|
|
99
|
+
if (name.match(/[\/@\s+%:]/)) {
|
|
101
100
|
return util.format(
|
|
102
101
|
'Class name cannot contain special characters (/@+%: ): %s',
|
|
103
102
|
name,
|
|
@@ -162,7 +161,7 @@ exports.validateKeyName = function (name) {
|
|
|
162
161
|
if (name.includes('-')) {
|
|
163
162
|
return util.format('Key name cannot contain hyphens: %s', name);
|
|
164
163
|
}
|
|
165
|
-
if (name.match(/[\/@\s
|
|
164
|
+
if (name.match(/[\/@\s+%:]/)) {
|
|
166
165
|
return util.format(
|
|
167
166
|
'Key name cannot contain special characters (/@+%: ): %s',
|
|
168
167
|
name,
|
|
@@ -198,7 +197,7 @@ exports.validateKeyToKeyFrom = function (input, comparedTo) {
|
|
|
198
197
|
if (input.includes('-')) {
|
|
199
198
|
return util.format('Key name cannot contain hyphens: %s', input);
|
|
200
199
|
}
|
|
201
|
-
if (input.match(/[\/@\s
|
|
200
|
+
if (input.match(/[\/@\s+%:]/)) {
|
|
202
201
|
return util.format(
|
|
203
202
|
'Key name cannot contain special characters (/@+%: ): %s',
|
|
204
203
|
input,
|
|
@@ -234,7 +233,7 @@ exports.validateRelationName = function (name, type, foreignKeyName) {
|
|
|
234
233
|
if (name.includes('-')) {
|
|
235
234
|
return util.format('Relation name cannot contain hyphens: %s', name);
|
|
236
235
|
}
|
|
237
|
-
if (name.match(/[\/@\s
|
|
236
|
+
if (name.match(/[\/@\s+%:]/)) {
|
|
238
237
|
return util.format(
|
|
239
238
|
'Relation name cannot contain special characters (/@+%: ): %s',
|
|
240
239
|
name,
|
|
@@ -248,7 +247,7 @@ exports.validateRelationName = function (name, type, foreignKeyName) {
|
|
|
248
247
|
*/
|
|
249
248
|
exports.toClassName = function (name) {
|
|
250
249
|
if (name === '') return new Error('no input');
|
|
251
|
-
if (typeof name != 'string'
|
|
250
|
+
if (typeof name != 'string') return new Error('bad input');
|
|
252
251
|
return pascalCase(camelCase(name));
|
|
253
252
|
};
|
|
254
253
|
|
|
@@ -329,7 +328,7 @@ exports.StatusConflicter = class StatusConflicter extends Conflicter {
|
|
|
329
328
|
* filetype.
|
|
330
329
|
* For example, a fileType of "model" will search the target path for matches to
|
|
331
330
|
* "*.model.js"
|
|
332
|
-
* @param {string}
|
|
331
|
+
* @param {string} dir The directory path to search. This search is *not*
|
|
333
332
|
* recursive.
|
|
334
333
|
* @param {string} artifactType The type of the artifact in string form.
|
|
335
334
|
* @param {Function=} reader An optional reader function to retrieve the
|
|
@@ -337,7 +336,7 @@ exports.StatusConflicter = class StatusConflicter extends Conflicter {
|
|
|
337
336
|
* @returns {Promise<string[]>} The filtered list of paths.
|
|
338
337
|
*/
|
|
339
338
|
exports.findArtifactPaths = async function (dir, artifactType, reader) {
|
|
340
|
-
const readdir = reader ||
|
|
339
|
+
const readdir = reader || fs.promises.readdir;
|
|
341
340
|
debug('Finding %j artifact paths at %s', artifactType, dir);
|
|
342
341
|
|
|
343
342
|
try {
|
|
@@ -520,12 +519,12 @@ exports.validateRequiredName = function (name) {
|
|
|
520
519
|
if (!name) {
|
|
521
520
|
return 'Name is required';
|
|
522
521
|
}
|
|
523
|
-
return validateValue(name, /[\/@\s
|
|
522
|
+
return validateValue(name, /[\/@\s+%:.]/);
|
|
524
523
|
};
|
|
525
524
|
|
|
526
525
|
function validateValue(name, unallowedCharacters) {
|
|
527
526
|
if (!unallowedCharacters) {
|
|
528
|
-
unallowedCharacters = /[\/@\s
|
|
527
|
+
unallowedCharacters = /[\/@\s+%:.]/;
|
|
529
528
|
}
|
|
530
529
|
if (name.match(unallowedCharacters)) {
|
|
531
530
|
return `Name cannot contain special characters ${unallowedCharacters}: ${name}`;
|
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": "5.
|
|
4
|
+
"version": "5.2.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"LoopBack",
|
|
7
7
|
"CLI",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
],
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"bin": {
|
|
12
|
+
"lb": "bin/cli-main.js",
|
|
12
13
|
"lb4": "bin/cli-main.js"
|
|
13
14
|
},
|
|
14
15
|
"main": "generators/app/index.js",
|
|
@@ -40,27 +41,27 @@
|
|
|
40
41
|
],
|
|
41
42
|
"dependencies": {
|
|
42
43
|
"@npmcli/map-workspaces": "^3.0.4",
|
|
43
|
-
"@npmcli/package-json": "^
|
|
44
|
-
"@openapi-contrib/openapi-schema-to-json-schema": "^
|
|
45
|
-
"@phenomnomnominal/tsquery": "
|
|
44
|
+
"@npmcli/package-json": "^4.0.0",
|
|
45
|
+
"@openapi-contrib/openapi-schema-to-json-schema": "^4.0.5",
|
|
46
|
+
"@phenomnomnominal/tsquery": "~5.0.1",
|
|
46
47
|
"camelcase-keys": "^7.0.2",
|
|
47
48
|
"chalk": "^4.1.2",
|
|
48
49
|
"change-case": "^4.1.2",
|
|
49
50
|
"debug": "^4.3.4",
|
|
50
51
|
"fs-extra": "^11.1.1",
|
|
51
|
-
"glob": "^10.3.
|
|
52
|
+
"glob": "^10.3.3",
|
|
52
53
|
"inquirer-autocomplete-prompt": "^2.0.0",
|
|
53
54
|
"json5": "^2.2.3",
|
|
54
55
|
"latest-version": "^5.1.0",
|
|
55
56
|
"lodash": "^4.17.21",
|
|
56
|
-
"minimatch": "^9.0.
|
|
57
|
+
"minimatch": "^9.0.3",
|
|
57
58
|
"minimist": "^1.2.8",
|
|
58
59
|
"mkdirp": "^3.0.1",
|
|
59
60
|
"natural-compare": "^1.4.0",
|
|
60
61
|
"pacote": "^15.2.0",
|
|
61
62
|
"pluralize": "^8.0.0",
|
|
62
63
|
"regenerate": "^1.4.2",
|
|
63
|
-
"semver": "^7.5.
|
|
64
|
+
"semver": "^7.5.4",
|
|
64
65
|
"slash": "^3.0.0",
|
|
65
66
|
"spdx-license-list": "^6.6.0",
|
|
66
67
|
"stringify-object": "^3.3.0",
|
|
@@ -70,29 +71,29 @@
|
|
|
70
71
|
"tabtab": "^3.0.2",
|
|
71
72
|
"terminal-link": "^2.1.1",
|
|
72
73
|
"tildify": "^2.0.0",
|
|
73
|
-
"ts-morph": "^
|
|
74
|
-
"typescript": "~5.1.
|
|
74
|
+
"ts-morph": "^19.0.0",
|
|
75
|
+
"typescript": "~5.1.6",
|
|
75
76
|
"unicode-10.0.0": "^0.7.5",
|
|
76
77
|
"untildify": "^4.0.0",
|
|
77
78
|
"update-notifier": "^5.1.0",
|
|
78
|
-
"url-slug": "^
|
|
79
|
+
"url-slug": "^4.0.1",
|
|
79
80
|
"validate-npm-package-name": "^5.0.0",
|
|
80
81
|
"write-file-atomic": "^5.0.1",
|
|
81
82
|
"yeoman-environment": "^3.19.3",
|
|
82
83
|
"yeoman-generator": "^5.9.0"
|
|
83
84
|
},
|
|
84
85
|
"devDependencies": {
|
|
85
|
-
"@loopback/build": "^10.1.
|
|
86
|
-
"@loopback/eslint-config": "^14.0.
|
|
87
|
-
"@loopback/testlab": "^6.1.
|
|
86
|
+
"@loopback/build": "^10.1.1",
|
|
87
|
+
"@loopback/eslint-config": "^14.0.2",
|
|
88
|
+
"@loopback/testlab": "^6.1.1",
|
|
88
89
|
"@types/ejs": "^3.1.2",
|
|
89
90
|
"@types/fs-extra": "^11.0.1",
|
|
90
91
|
"@types/minimatch": "^5.1.2",
|
|
91
|
-
"@types/node": "^16.18.
|
|
92
|
+
"@types/node": "^16.18.38",
|
|
92
93
|
"@types/yeoman-environment": "^2.10.8",
|
|
93
94
|
"@types/yeoman-generator": "^5.2.11",
|
|
94
95
|
"loopback": "^3.28.0",
|
|
95
|
-
"loopback-datasource-juggler": "^4.28.
|
|
96
|
+
"loopback-datasource-juggler": "^4.28.8",
|
|
96
97
|
"mem-fs": "^2.3.0",
|
|
97
98
|
"mem-fs-editor": "^9.7.0",
|
|
98
99
|
"mock-stdin": "^1.0.0",
|
|
@@ -106,97 +107,97 @@
|
|
|
106
107
|
"templateDependencies": {
|
|
107
108
|
"tslib": "^2.0.0",
|
|
108
109
|
"@types/mocha": "^10.0.1",
|
|
109
|
-
"@types/node": "^
|
|
110
|
+
"@types/node": "^16.18.38",
|
|
110
111
|
"cross-spawn": "^7.0.3",
|
|
111
112
|
"debug": "^4.3.4",
|
|
112
113
|
"fs-extra": "^11.1.1",
|
|
113
114
|
"mocha": "^10.2.0",
|
|
114
115
|
"nyc": "^15.1.0",
|
|
115
116
|
"prettier": "^2.8.8",
|
|
116
|
-
"rimraf": "^5.0.
|
|
117
|
+
"rimraf": "^5.0.1",
|
|
117
118
|
"source-map-support": "^0.5.21",
|
|
118
|
-
"typescript": "~
|
|
119
|
-
"@loopback/authentication": "^10.
|
|
120
|
-
"@loopback/boot": "^6.
|
|
121
|
-
"@loopback/build": "^10.
|
|
122
|
-
"@loopback/cli": "^5.
|
|
123
|
-
"@loopback/context": "^6.
|
|
124
|
-
"@loopback/core": "^5.
|
|
125
|
-
"@loopback/metadata": "^6.
|
|
126
|
-
"@loopback/openapi-spec-builder": "^6.
|
|
127
|
-
"@loopback/openapi-v3": "^9.
|
|
128
|
-
"@loopback/repository-json-schema": "^7.
|
|
129
|
-
"@loopback/repository": "^6.
|
|
130
|
-
"@loopback/rest": "^13.
|
|
131
|
-
"@loopback/testlab": "^6.
|
|
132
|
-
"@loopback/docs": "^6.0.
|
|
133
|
-
"glob": "^10.
|
|
134
|
-
"@loopback/example-hello-world": "^6.
|
|
135
|
-
"@loopback/example-log-extension": "^6.
|
|
136
|
-
"@loopback/example-rpc-server": "^6.
|
|
137
|
-
"@loopback/example-todo": "^7.
|
|
138
|
-
"@loopback/example-soap-calculator": "^6.
|
|
139
|
-
"@loopback/service-proxy": "^6.
|
|
140
|
-
"@loopback/http-caching-proxy": "^5.
|
|
141
|
-
"@loopback/http-server": "^5.
|
|
142
|
-
"@loopback/example-todo-list": "^7.
|
|
119
|
+
"typescript": "~5.1.6",
|
|
120
|
+
"@loopback/authentication": "^10.1.1",
|
|
121
|
+
"@loopback/boot": "^6.1.1",
|
|
122
|
+
"@loopback/build": "^10.1.1",
|
|
123
|
+
"@loopback/cli": "^5.2.0",
|
|
124
|
+
"@loopback/context": "^6.1.1",
|
|
125
|
+
"@loopback/core": "^5.1.1",
|
|
126
|
+
"@loopback/metadata": "^6.1.1",
|
|
127
|
+
"@loopback/openapi-spec-builder": "^6.1.1",
|
|
128
|
+
"@loopback/openapi-v3": "^9.1.1",
|
|
129
|
+
"@loopback/repository-json-schema": "^7.1.1",
|
|
130
|
+
"@loopback/repository": "^6.1.1",
|
|
131
|
+
"@loopback/rest": "^13.1.1",
|
|
132
|
+
"@loopback/testlab": "^6.1.1",
|
|
133
|
+
"@loopback/docs": "^6.0.2",
|
|
134
|
+
"glob": "^10.3.3",
|
|
135
|
+
"@loopback/example-hello-world": "^6.1.1",
|
|
136
|
+
"@loopback/example-log-extension": "^6.1.1",
|
|
137
|
+
"@loopback/example-rpc-server": "^6.1.1",
|
|
138
|
+
"@loopback/example-todo": "^7.1.1",
|
|
139
|
+
"@loopback/example-soap-calculator": "^6.1.1",
|
|
140
|
+
"@loopback/service-proxy": "^6.1.1",
|
|
141
|
+
"@loopback/http-caching-proxy": "^5.1.1",
|
|
142
|
+
"@loopback/http-server": "^5.1.1",
|
|
143
|
+
"@loopback/example-todo-list": "^7.1.1",
|
|
143
144
|
"@loopback/dist-util": "^0.4.0",
|
|
144
|
-
"@loopback/rest-explorer": "^6.
|
|
145
|
-
"@loopback/eslint-config": "^14.0.
|
|
145
|
+
"@loopback/rest-explorer": "^6.1.1",
|
|
146
|
+
"@loopback/eslint-config": "^14.0.2",
|
|
146
147
|
"express-composition": "^1.1.0",
|
|
147
|
-
"@loopback/example-express-composition": "^6.
|
|
148
|
-
"@loopback/example-greeter-extension": "^6.
|
|
149
|
-
"@loopback/booter-lb3app": "^5.
|
|
150
|
-
"@loopback/example-lb3-application": "^6.
|
|
151
|
-
"eslint": "^8.
|
|
148
|
+
"@loopback/example-express-composition": "^6.1.1",
|
|
149
|
+
"@loopback/example-greeter-extension": "^6.1.1",
|
|
150
|
+
"@loopback/booter-lb3app": "^5.1.1",
|
|
151
|
+
"@loopback/example-lb3-application": "^6.1.1",
|
|
152
|
+
"eslint": "^8.45.0",
|
|
152
153
|
"eslint-plugin-mocha": "^10.1.0",
|
|
153
|
-
"@loopback/example-greeting-app": "^6.
|
|
154
|
-
"@loopback/example-context": "^6.
|
|
155
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
156
|
-
"@typescript-eslint/parser": "^5.
|
|
157
|
-
"eslint-plugin-eslint-plugin": "^5.0
|
|
154
|
+
"@loopback/example-greeting-app": "^6.1.1",
|
|
155
|
+
"@loopback/example-context": "^6.1.1",
|
|
156
|
+
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
157
|
+
"@typescript-eslint/parser": "^5.62.0",
|
|
158
|
+
"eslint-plugin-eslint-plugin": "^5.1.0",
|
|
158
159
|
"eslint-config-prettier": "^8.8.0",
|
|
159
|
-
"@loopback/repository-tests": "^0.
|
|
160
|
-
"@loopback/health": "^0.
|
|
161
|
-
"@loopback/authorization": "^0.
|
|
162
|
-
"@loopback/rest-crud": "^0.
|
|
163
|
-
"@loopback/security": "^0.
|
|
164
|
-
"@loopback/authentication-passport": "^6.
|
|
165
|
-
"@loopback/example-metrics-prometheus": "^0.
|
|
166
|
-
"@loopback/metrics": "^0.
|
|
167
|
-
"@loopback/model-api-builder": "^5.
|
|
168
|
-
"@loopback/logging": "^0.
|
|
169
|
-
"@loopback/example-access-control-migration": "^6.
|
|
170
|
-
"@loopback/example-file-transfer": "^5.
|
|
171
|
-
"@loopback/example-rest-crud": "^5.
|
|
172
|
-
"@loopback/apiconnect": "^0.
|
|
173
|
-
"@loopback/example-validation-app": "^5.
|
|
174
|
-
"@loopback/cron": "^0.
|
|
175
|
-
"@loopback/example-multi-tenancy": "^0.
|
|
176
|
-
"@loopback/example-passport-login": "^5.
|
|
177
|
-
"@loopback/authentication-jwt": "^0.
|
|
178
|
-
"@loopback/context-explorer": "^0.
|
|
179
|
-
"@loopback/express": "^6.
|
|
160
|
+
"@loopback/repository-tests": "^0.23.1",
|
|
161
|
+
"@loopback/health": "^0.13.1",
|
|
162
|
+
"@loopback/authorization": "^0.14.1",
|
|
163
|
+
"@loopback/rest-crud": "^0.17.1",
|
|
164
|
+
"@loopback/security": "^0.10.1",
|
|
165
|
+
"@loopback/authentication-passport": "^6.1.1",
|
|
166
|
+
"@loopback/example-metrics-prometheus": "^0.12.1",
|
|
167
|
+
"@loopback/metrics": "^0.13.1",
|
|
168
|
+
"@loopback/model-api-builder": "^5.1.1",
|
|
169
|
+
"@loopback/logging": "^0.11.1",
|
|
170
|
+
"@loopback/example-access-control-migration": "^6.1.1",
|
|
171
|
+
"@loopback/example-file-transfer": "^5.1.1",
|
|
172
|
+
"@loopback/example-rest-crud": "^5.1.1",
|
|
173
|
+
"@loopback/apiconnect": "^0.12.1",
|
|
174
|
+
"@loopback/example-validation-app": "^5.1.1",
|
|
175
|
+
"@loopback/cron": "^0.11.1",
|
|
176
|
+
"@loopback/example-multi-tenancy": "^0.15.1",
|
|
177
|
+
"@loopback/example-passport-login": "^5.1.1",
|
|
178
|
+
"@loopback/authentication-jwt": "^0.14.1",
|
|
179
|
+
"@loopback/context-explorer": "^0.10.1",
|
|
180
|
+
"@loopback/express": "^6.1.1",
|
|
180
181
|
"@types/js-yaml": "^3.12.4",
|
|
181
182
|
"js-yaml": "^3.13.1",
|
|
182
|
-
"@loopback/example-todo-jwt": "^5.
|
|
183
|
-
"@loopback/mock-oauth2-provider": "^0.
|
|
183
|
+
"@loopback/example-todo-jwt": "^5.1.1",
|
|
184
|
+
"@loopback/mock-oauth2-provider": "^0.8.1",
|
|
184
185
|
"lodash": "^4.17.21",
|
|
185
|
-
"@loopback/pooling": "^0.
|
|
186
|
-
"@loopback/typeorm": "^0.
|
|
187
|
-
"@loopback/example-graphql": "^0.
|
|
188
|
-
"@loopback/graphql": "^0.
|
|
189
|
-
"@loopback/filter": "^4.
|
|
190
|
-
"@loopback/rest-msgpack": "^0.
|
|
191
|
-
"@loopback/example-binding-resolution": "^0.
|
|
192
|
-
"@loopback/example-webpack": "^0.
|
|
193
|
-
"@loopback/example-socketio": "^0.
|
|
194
|
-
"@loopback/socketio": "^0.7.
|
|
186
|
+
"@loopback/pooling": "^0.10.1",
|
|
187
|
+
"@loopback/typeorm": "^0.9.1",
|
|
188
|
+
"@loopback/example-graphql": "^0.9.1",
|
|
189
|
+
"@loopback/graphql": "^0.10.1",
|
|
190
|
+
"@loopback/filter": "^4.1.1",
|
|
191
|
+
"@loopback/rest-msgpack": "^0.10.1",
|
|
192
|
+
"@loopback/example-binding-resolution": "^0.9.1",
|
|
193
|
+
"@loopback/example-webpack": "^0.10.1",
|
|
194
|
+
"@loopback/example-socketio": "^0.8.1",
|
|
195
|
+
"@loopback/socketio": "^0.7.2",
|
|
195
196
|
"@loopback/monorepo": "^0.6.0",
|
|
196
|
-
"@loopback/tsdocs": "^5.
|
|
197
|
-
"@loopback/example-references-many": "^7.
|
|
198
|
-
"@loopback/sequelize": "^0.
|
|
197
|
+
"@loopback/tsdocs": "^5.1.1",
|
|
198
|
+
"@loopback/example-references-many": "^7.1.1",
|
|
199
|
+
"@loopback/sequelize": "^0.5.0"
|
|
199
200
|
}
|
|
200
201
|
},
|
|
201
|
-
"gitHead": "
|
|
202
|
+
"gitHead": "be0c53e30bbe9edf7753c4fcd7ab3199f7cd3b8c"
|
|
202
203
|
}
|