` - Name of the model to reference the source model and target
@@ -147,6 +175,9 @@ The tool will prompt you for:
the `belongsTo` relation. E.g. when the foreign key is the default name,
`categoryId` for example, the default relation name is `category`.
+It might also prompt for names and types of the source/destination models if
+they cannot be detected from model files.
+
{% include warning.html content="Based on your input, the default foreign key name might be the same as the default relation name, especially for belongsTo relation. Please name them differently to avoid a known issue [Navigational Property Error](https://github.com/strongloop/loopback-next/issues/4392)
" lang=page.lang %}
diff --git a/docs/site/Setting-debug-strings.md b/docs/site/Setting-debug-strings.md
index 994d7c8e02f3..cdc7d5d05879 100644
--- a/docs/site/Setting-debug-strings.md
+++ b/docs/site/Setting-debug-strings.md
@@ -197,18 +197,53 @@ of the `@loopback/cli` module.
| @loopback/repository |
- src/relations/belongs-to/belongs-to-accessor.ts |
- loopback:repository:belongs-to-accessor |
+ src/relations/belongs-to/belongs-to.accessor.ts |
+ loopback:repository:relations:belongs-to:accessor |
|
- src/relations/has-many/has-many-repository-factory.ts |
- loopback:repository:has-many-repository-factory |
+ src/relations/belongs-to/belongs-to.accessor.ts |
+ loopback:repository:relations:belongs-to:accessor |
|
- src/relations/has-one/has-one-repository-factory.ts |
- loopback:repository:has-one-repository-factory |
+ src/relations/belongs-to/belongs-to.helpers.ts |
+ loopback:repository:relations:belongs-to:helpers |
+
+
+ |
+ src/relations/has-many/has-many.helpers.ts |
+ loopback:repository:relations:has-many:helpers |
+
+
+ |
+ src/relations/has-many/has-many.inclusion-resolver.ts |
+ loopback:repository:relations:has-many:inclusion-resolver |
+
+
+ |
+ src/relations/has-many/has-many.repository-factory.ts |
+ loopback:repository:relations:has-many:repository-factory |
+
+
+ |
+ src/relations/has-many/has-many-through.helpers.ts |
+ loopback:repository:relations:has-many-through:helpers |
+
+
+ |
+ src/relations/has-many/has-many-through.inclusion-resolver.ts |
+ loopback:repository:relations:has-many-through:inclusion-resolver |
+
+
+ |
+ src/relations/has-one/has-one.helpers.ts |
+ loopback:repository:relations:has-one:helpers |
+
+
+ |
+ src/relations/has-one/has-one.repository-factory.ts |
+ loopback:repository:relations:has-one:repository-factory |
| @loopback/repository-json-schema |
diff --git a/docs/site/Validation-REST-layer.md b/docs/site/Validation-REST-layer.md
index 0b3e711ba666..35a82e6b3d51 100644
--- a/docs/site/Validation-REST-layer.md
+++ b/docs/site/Validation-REST-layer.md
@@ -178,6 +178,11 @@ of 10 digits separated by `-` after the 3rd and 6th digits.
## Customize validation errors
+{% include note.html content="This section describes customization for legacy
+[Action-based sequences](./REST-Action-sequence.md). Most LoopBack 4
+applications utilize the new
+[Middleware-based sequences](./REST-Middleware-sequence.md)." %}
+
Since the error is being caught at the REST layer, the simplest way to customize
the errors is to customize the
[sequence](https://loopback.io/doc/en/lb4/Sequence.html). It exists in all
diff --git a/docs/site/migration/models/operation-hooks.md b/docs/site/migration/models/operation-hooks.md
index 972a1b86d275..d868f5c1aa4a 100644
--- a/docs/site/migration/models/operation-hooks.md
+++ b/docs/site/migration/models/operation-hooks.md
@@ -48,6 +48,11 @@ class ProductRepository extends DefaultCrudRepository<
}
```
+{% include warning.html content="Do not use `this` inside of the observer
+callback function. The `this` keyword will only reference the repository state
+of the first request and may result in unexpected behaviour. See GitHub issue
+[#6962](https://github.com/strongloop/loopback-next/issues/6962)." %}
+
Although possible, we are not providing an API which directly exposes the
`observe` method of the model class. The current API makes the registration of
operation hooks a process that is possible only at the time when the model class
diff --git a/docs/site/sidebars/lb4_sidebar.yml b/docs/site/sidebars/lb4_sidebar.yml
index a17b1951a63b..ca48df68c1a5 100644
--- a/docs/site/sidebars/lb4_sidebar.yml
+++ b/docs/site/sidebars/lb4_sidebar.yml
@@ -386,6 +386,14 @@ children:
url: Validation-ORM-layer.html
output: 'web, pdf'
+ - title: 'Configuring Applications'
+ url: Configuring-applications.html
+ output: 'web, pdf'
+ children:
+ - title: 'Tips for Application Setup'
+ url: Application-setup-tips.html
+ output: 'web, pdf'
+
- title: 'Securing Applications'
output: 'web, pdf'
children:
diff --git a/docs/site/tutorials/todo-list/todo-list-tutorial-sqldb.md b/docs/site/tutorials/todo-list/todo-list-tutorial-sqldb.md
index 32fffaefc3d8..67f41d56d405 100644
--- a/docs/site/tutorials/todo-list/todo-list-tutorial-sqldb.md
+++ b/docs/site/tutorials/todo-list/todo-list-tutorial-sqldb.md
@@ -66,7 +66,7 @@ decorator.
name: 'fk_todo_todoListId',
entity: 'TodoList',
entityKey: 'id',
- foreignKey: 'todolistid',
+ foreignKey: 'todoListId',
},
},
},
@@ -95,7 +95,7 @@ Similar to the `Todo` model, we will specify the constraints in the `settings`.
name: 'fk_todoListImage_todoListId',
entity: 'TodoList',
entityKey: 'id',
- foreignKey: 'todolistid',
+ foreignKey: 'todoListId',
},
},
},
diff --git a/examples/access-control-migration/CHANGELOG.md b/examples/access-control-migration/CHANGELOG.md
index 62aa47f2b2b8..5db8d39bcbe2 100644
--- a/examples/access-control-migration/CHANGELOG.md
+++ b/examples/access-control-migration/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.3.4](https://github.com/strongloop/loopback-next/compare/@loopback/example-access-control-migration@2.3.3...@loopback/example-access-control-migration@2.3.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-access-control-migration
+
+
+
+
+
## [2.3.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-access-control-migration@2.3.2...@loopback/example-access-control-migration@2.3.3) (2020-12-07)
**Note:** Version bump only for package @loopback/example-access-control-migration
diff --git a/examples/access-control-migration/package-lock.json b/examples/access-control-migration/package-lock.json
index 24172515613e..342786043b3c 100644
--- a/examples/access-control-migration/package-lock.json
+++ b/examples/access-control-migration/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-access-control-migration",
- "version": "2.3.3",
+ "version": "2.3.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -67,9 +67,9 @@
"integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ=="
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/node": {
@@ -153,9 +153,9 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"asynckit": {
@@ -230,9 +230,9 @@
"dev": true
},
"casbin": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/casbin/-/casbin-5.2.2.tgz",
- "integrity": "sha512-NY+y3eGf+t/QYjRibaQnOAPFVZEL7VeR7fKirgxbGvC1hJPOF5vxBUKAr7Z/solD1V2F1GEvlOiBUbDJb3dgOA==",
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/casbin/-/casbin-5.2.3.tgz",
+ "integrity": "sha512-bPtx61LbQflFyrTME/DpshBSfHhc/JBiykL4P6Z79m7KjlF6LVHkVsJhJQw7D55OXnzvPp2S2JixibMki2Dqxg==",
"requires": {
"await-lock": "^2.0.1",
"expression-eval": "^2.0.0",
@@ -408,9 +408,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"end-of-stream": {
@@ -437,13 +437,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -467,7 +467,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -476,7 +476,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
@@ -674,9 +674,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"forever-agent": {
@@ -802,9 +802,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -853,9 +853,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -899,9 +899,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1336,6 +1336,12 @@
}
}
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1385,14 +1391,40 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -1422,31 +1454,14 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1494,15 +1509,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1562,9 +1597,9 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
diff --git a/examples/access-control-migration/package.json b/examples/access-control-migration/package.json
index ed61add8e7e1..565e2aad577a 100644
--- a/examples/access-control-migration/package.json
+++ b/examples/access-control-migration/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-access-control-migration",
- "version": "2.3.3",
+ "version": "2.3.4",
"description": "Tutorial example on how to migrate the access control example with LoopBack 4.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,31 +14,31 @@
"access": "public"
},
"dependencies": {
- "@loopback/authentication": "^7.0.5",
- "@loopback/authorization": "^0.7.5",
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/security": "^0.3.5",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/authentication": "^7.0.6",
+ "@loopback/authorization": "^0.7.6",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/security": "^0.3.6",
+ "@loopback/service-proxy": "^3.0.6",
"@types/bcryptjs": "2.4.2",
"bcryptjs": "^2.4.3",
- "casbin": "^5.2.2",
+ "casbin": "^5.2.3",
"jsonwebtoken": "^8.5.1",
"loopback-connector-rest": "^4.0.1"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/http-caching-proxy": "^2.1.19",
- "@loopback/testlab": "^3.2.10",
- "@types/lodash": "^4.14.165",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/http-caching-proxy": "^2.1.20",
+ "@loopback/testlab": "^3.2.11",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"lodash": "^4.17.20",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"scripts": {
"build": "lb-tsc",
diff --git a/examples/binding-resolution/CHANGELOG.md b/examples/binding-resolution/CHANGELOG.md
index f264c6f64ea6..cebc53fc0806 100644
--- a/examples/binding-resolution/CHANGELOG.md
+++ b/examples/binding-resolution/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.1.4](https://github.com/strongloop/loopback-next/compare/@loopback/example-binding-resolution@0.1.3...@loopback/example-binding-resolution@0.1.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-binding-resolution
+
+
+
+
+
## [0.1.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-binding-resolution@0.1.2...@loopback/example-binding-resolution@0.1.3) (2020-12-07)
**Note:** Version bump only for package @loopback/example-binding-resolution
diff --git a/examples/binding-resolution/package-lock.json b/examples/binding-resolution/package-lock.json
index 9849fbec99f7..2df85b2c4183 100644
--- a/examples/binding-resolution/package-lock.json
+++ b/examples/binding-resolution/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-binding-resolution",
- "version": "0.1.3",
+ "version": "0.1.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -128,9 +128,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -268,9 +268,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -289,13 +289,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -319,7 +319,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -328,7 +328,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -475,9 +475,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -537,9 +537,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -575,9 +575,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -602,9 +602,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -736,6 +736,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -776,14 +782,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"source-map": {
@@ -809,31 +841,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -861,15 +876,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -899,15 +934,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/binding-resolution/package.json b/examples/binding-resolution/package.json
index 77b0e3d76709..e5dfc5f8974b 100644
--- a/examples/binding-resolution/package.json
+++ b/examples/binding-resolution/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/example-binding-resolution",
- "version": "0.1.3",
+ "version": "0.1.4",
"description": "An example application to demonstrate binding resolution and dependency injection within a context hierarchy",
"keywords": [
"loopback-application",
@@ -13,7 +13,7 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -37,21 +37,21 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.34",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"source-map-support": "^0.5.19",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"files": [
"README.md",
diff --git a/examples/context/CHANGELOG.md b/examples/context/CHANGELOG.md
index 28489a8de9e4..345f4aefb65c 100644
--- a/examples/context/CHANGELOG.md
+++ b/examples/context/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.16](https://github.com/strongloop/loopback-next/compare/@loopback/example-context@2.1.15...@loopback/example-context@2.1.16) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-context
+
+
+
+
+
## [2.1.15](https://github.com/strongloop/loopback-next/compare/@loopback/example-context@2.1.14...@loopback/example-context@2.1.15) (2020-12-07)
**Note:** Version bump only for package @loopback/example-context
diff --git a/examples/context/package-lock.json b/examples/context/package-lock.json
index b38fcb79ee48..514a1015856a 100644
--- a/examples/context/package-lock.json
+++ b/examples/context/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-context",
- "version": "2.1.15",
+ "version": "2.1.16",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -122,9 +122,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -257,9 +257,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -278,13 +278,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -308,7 +308,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -317,7 +317,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -464,9 +464,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -526,9 +526,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -564,9 +564,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -591,9 +591,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -726,6 +726,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -766,14 +772,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -783,31 +815,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -835,15 +850,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -873,15 +908,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/context/package.json b/examples/context/package.json
index 7da96184cfb4..91f16a6d0510 100644
--- a/examples/context/package.json
+++ b/examples/context/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-context",
- "version": "2.1.15",
+ "version": "2.1.16",
"description": "Standalone examples to illustrate features provided by @loopback/context",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,16 +14,16 @@
"access": "public"
},
"dependencies": {
- "@loopback/context": "^3.13.2",
+ "@loopback/context": "^3.14.0",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
- "typescript": "~4.1.2"
+ "eslint": "^7.18.0",
+ "typescript": "~4.1.3"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
diff --git a/examples/express-composition/CHANGELOG.md b/examples/express-composition/CHANGELOG.md
index f2a9a9b8eaf7..f88f8d26ae0e 100644
--- a/examples/express-composition/CHANGELOG.md
+++ b/examples/express-composition/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.5.4](https://github.com/strongloop/loopback-next/compare/@loopback/example-express-composition@2.5.3...@loopback/example-express-composition@2.5.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-express-composition
+
+
+
+
+
## [2.5.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-express-composition@2.5.2...@loopback/example-express-composition@2.5.3) (2020-12-07)
**Note:** Version bump only for package @loopback/example-express-composition
diff --git a/examples/express-composition/package-lock.json b/examples/express-composition/package-lock.json
index b66a8e689f34..16aef1e03a15 100644
--- a/examples/express-composition/package-lock.json
+++ b/examples/express-composition/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-express-composition",
- "version": "2.5.3",
+ "version": "2.5.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
},
@@ -89,30 +89,30 @@
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"dev": true,
"requires": {
"@types/node": "*"
}
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"dev": true,
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -121,9 +121,9 @@
}
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
"dev": true
},
"@types/node": {
@@ -145,12 +145,12 @@
"dev": true
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"dev": true,
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
}
},
@@ -223,9 +223,9 @@
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -417,9 +417,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"encodeurl": {
@@ -448,13 +448,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -478,7 +478,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -487,7 +487,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
@@ -707,9 +707,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"forwarded": {
@@ -799,9 +799,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -841,9 +841,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -868,9 +868,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1088,6 +1088,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1181,14 +1187,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -1203,31 +1235,14 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1255,15 +1270,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1307,9 +1342,9 @@
}
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"unpipe": {
@@ -1318,9 +1353,9 @@
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/express-composition/package.json b/examples/express-composition/package.json
index 5892cab5ab59..a8c946b8052f 100644
--- a/examples/express-composition/package.json
+++ b/examples/express-composition/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/example-express-composition",
- "version": "2.5.3",
+ "version": "2.5.4",
"description": "LoopBack 4 REST API on Express",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -12,7 +12,7 @@
"express"
],
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -47,22 +47,22 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/service-proxy": "^3.0.6",
"express": "^4.17.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
- "@types/express": "^4.17.9",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
+ "@types/express": "^4.17.11",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
- "typescript": "~4.1.2"
+ "eslint": "^7.18.0",
+ "typescript": "~4.1.3"
}
}
diff --git a/examples/file-transfer/CHANGELOG.md b/examples/file-transfer/CHANGELOG.md
index 1aefa02cf176..df523845568d 100644
--- a/examples/file-transfer/CHANGELOG.md
+++ b/examples/file-transfer/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.5.9](https://github.com/strongloop/loopback-next/compare/@loopback/example-file-transfer@1.5.8...@loopback/example-file-transfer@1.5.9) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-file-transfer
+
+
+
+
+
## [1.5.8](https://github.com/strongloop/loopback-next/compare/@loopback/example-file-transfer@1.5.7...@loopback/example-file-transfer@1.5.8) (2020-12-07)
**Note:** Version bump only for package @loopback/example-file-transfer
diff --git a/examples/file-transfer/package-lock.json b/examples/file-transfer/package-lock.json
index d9cc6bb42384..a58d2780dc32 100644
--- a/examples/file-transfer/package-lock.json
+++ b/examples/file-transfer/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-file-transfer",
- "version": "1.5.8",
+ "version": "1.5.9",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -72,9 +72,9 @@
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -93,9 +93,9 @@
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -110,9 +110,9 @@
"dev": true
},
"@types/multer": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.4.tgz",
- "integrity": "sha512-wdfkiKBBEMTODNbuF3J+qDDSqJxt50yB9pgDiTcFew7f97Gcc7/sM4HR66ofGgpJPOALWOqKAch4gPyqEXSkeQ==",
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.5.tgz",
+ "integrity": "sha512-9b/0a8JyrR0r2nQhL73JR86obWL7cogfX12augvlrvcpciCo/hkvEsgu80Z4S2g2DHGVXHr8pUIi1VhqFJ8Ufw==",
"dev": true,
"requires": {
"@types/express": "*"
@@ -206,9 +206,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -414,9 +414,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -435,13 +435,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -465,7 +465,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -474,7 +474,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -621,9 +621,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -683,9 +683,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -720,9 +720,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -752,9 +752,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -962,6 +962,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1007,14 +1013,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -1029,31 +1061,14 @@
"integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"string_decoder": {
@@ -1086,15 +1101,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1138,15 +1173,15 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/file-transfer/package.json b/examples/file-transfer/package.json
index edf6158d446f..3789b4879454 100644
--- a/examples/file-transfer/package.json
+++ b/examples/file-transfer/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-file-transfer",
- "version": "1.5.8",
+ "version": "1.5.9",
"description": "Example application for file upload/download with LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,22 +14,22 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
"multer": "^1.4.2",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
- "@types/express-serve-static-core": "^4.17.14",
- "@types/multer": "^1.4.4",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
+ "@types/express-serve-static-core": "^4.17.18",
+ "@types/multer": "^1.4.5",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
- "typescript": "~4.1.2"
+ "eslint": "^7.18.0",
+ "typescript": "~4.1.3"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
diff --git a/examples/graphql/CHANGELOG.md b/examples/graphql/CHANGELOG.md
index 1c606faee56f..a24c12869851 100644
--- a/examples/graphql/CHANGELOG.md
+++ b/examples/graphql/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.1.6](https://github.com/strongloop/loopback-next/compare/@loopback/example-graphql@0.1.5...@loopback/example-graphql@0.1.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-graphql
+
+
+
+
+
## [0.1.5](https://github.com/strongloop/loopback-next/compare/@loopback/example-graphql@0.1.4...@loopback/example-graphql@0.1.5) (2020-12-07)
**Note:** Version bump only for package @loopback/example-graphql
diff --git a/examples/graphql/package-lock.json b/examples/graphql/package-lock.json
index bfe0c76d9267..f2790663cb65 100644
--- a/examples/graphql/package-lock.json
+++ b/examples/graphql/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-graphql",
- "version": "0.1.5",
+ "version": "0.1.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -72,9 +72,9 @@
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -93,9 +93,9 @@
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.15.tgz",
+ "integrity": "sha512-pb71P0BrBAx7cQE+/7QnA1HTQUkdBKMlkPY7lHUMn0YvPJkL2UA+KW3BdWQ309IT+i9En/qm45ZxpjIcpgEhNQ==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -110,9 +110,9 @@
"dev": true
},
"@types/multer": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.4.tgz",
- "integrity": "sha512-wdfkiKBBEMTODNbuF3J+qDDSqJxt50yB9pgDiTcFew7f97Gcc7/sM4HR66ofGgpJPOALWOqKAch4gPyqEXSkeQ==",
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.5.tgz",
+ "integrity": "sha512-9b/0a8JyrR0r2nQhL73JR86obWL7cogfX12augvlrvcpciCo/hkvEsgu80Z4S2g2DHGVXHr8pUIi1VhqFJ8Ufw==",
"dev": true,
"requires": {
"@types/express": "*"
@@ -201,9 +201,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -286,9 +286,9 @@
}
},
"class-transformer": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.3.1.tgz",
- "integrity": "sha512-cKFwohpJbuMovS8xVLmn8N2AUbAuc8pVo4zEfsUVo8qgECOogns1WVk/FkOZoxhOPTyTYFckuoH+13FO+MQ8GA=="
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.3.2.tgz",
+ "integrity": "sha512-9QY6QXBH/+Gt1C3HBmJCrgY6+EFpIa6aLjfDnlXFx0zQl/HjrCE7qoaI0srNrxpMIfsobCpgUdDG5JYtJOpVsw=="
},
"color-convert": {
"version": "1.9.3",
@@ -347,9 +347,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -368,13 +368,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -398,7 +398,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -407,7 +407,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -554,9 +554,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -616,9 +616,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -654,9 +654,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -681,9 +681,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -816,6 +816,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -856,14 +862,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"source-map": {
@@ -889,31 +921,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -941,15 +956,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -979,15 +1014,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/graphql/package.json b/examples/graphql/package.json
index 400104a06327..966cc85119f0 100644
--- a/examples/graphql/package.json
+++ b/examples/graphql/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/example-graphql",
- "version": "0.1.5",
+ "version": "0.1.6",
"description": "GraphQL Example Application",
"keywords": [
"loopback-application",
@@ -9,30 +9,30 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"publishConfig": {
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/graphql": "^0.2.3",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "class-transformer": "^0.3.1",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/graphql": "^0.2.4",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "class-transformer": "^0.3.2",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
- "@types/multer": "^1.4.3",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
+ "@types/multer": "^1.4.5",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"rimraf": "^3.0.2",
"source-map-support": "^0.5.19",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
diff --git a/examples/greeter-extension/CHANGELOG.md b/examples/greeter-extension/CHANGELOG.md
index cdb8b7c0430d..1fe57e800b3b 100644
--- a/examples/greeter-extension/CHANGELOG.md
+++ b/examples/greeter-extension/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.16](https://github.com/strongloop/loopback-next/compare/@loopback/example-greeter-extension@2.1.15...@loopback/example-greeter-extension@2.1.16) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-greeter-extension
+
+
+
+
+
## [2.1.15](https://github.com/strongloop/loopback-next/compare/@loopback/example-greeter-extension@2.1.14...@loopback/example-greeter-extension@2.1.15) (2020-12-07)
**Note:** Version bump only for package @loopback/example-greeter-extension
diff --git a/examples/greeter-extension/package-lock.json b/examples/greeter-extension/package-lock.json
index 9da1c62a38cb..59b304443647 100644
--- a/examples/greeter-extension/package-lock.json
+++ b/examples/greeter-extension/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-greeter-extension",
- "version": "2.1.15",
+ "version": "2.1.16",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -83,9 +83,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -95,7 +95,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -166,9 +166,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -256,9 +256,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -277,13 +277,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -307,7 +307,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -316,7 +316,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -463,9 +463,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -524,9 +524,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -562,9 +562,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -589,9 +589,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -723,6 +723,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -763,40 +769,14 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- }
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
}
},
"sprintf-js": {
@@ -806,31 +786,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -857,15 +820,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -895,15 +878,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/greeter-extension/package.json b/examples/greeter-extension/package.json
index 503189dbb489..0d9cd29baf56 100644
--- a/examples/greeter-extension/package.json
+++ b/examples/greeter-extension/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-greeter-extension",
- "version": "2.1.15",
+ "version": "2.1.16",
"description": "An example showing how to implement the extension point/extension pattern using LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -43,19 +43,19 @@
"access": "public"
},
"dependencies": {
- "@loopback/core": "^2.13.1",
+ "@loopback/core": "^2.14.0",
"chalk": "^4.1.0",
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "4.1.5",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
- "typescript": "~4.1.2"
+ "eslint": "^7.18.0",
+ "typescript": "~4.1.3"
},
"bugs": {
"url": "https://github.com/strongloop/loopback-next/issues"
diff --git a/examples/greeting-app/CHANGELOG.md b/examples/greeting-app/CHANGELOG.md
index 878f4ee419bb..8b610e520e16 100644
--- a/examples/greeting-app/CHANGELOG.md
+++ b/examples/greeting-app/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.2.14](https://github.com/strongloop/loopback-next/compare/@loopback/example-greeting-app@2.2.13...@loopback/example-greeting-app@2.2.14) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-greeting-app
+
+
+
+
+
## [2.2.13](https://github.com/strongloop/loopback-next/compare/@loopback/example-greeting-app@2.2.12...@loopback/example-greeting-app@2.2.13) (2020-12-07)
**Note:** Version bump only for package @loopback/example-greeting-app
diff --git a/examples/greeting-app/package-lock.json b/examples/greeting-app/package-lock.json
index b32ea4a273ed..58438429ffac 100644
--- a/examples/greeting-app/package-lock.json
+++ b/examples/greeting-app/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-greeting-app",
- "version": "2.2.13",
+ "version": "2.2.14",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -83,9 +83,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -95,7 +95,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -166,9 +166,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -256,9 +256,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -277,13 +277,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -307,7 +307,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -316,7 +316,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -463,9 +463,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -524,9 +524,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -562,9 +562,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -589,9 +589,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -723,6 +723,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -763,40 +769,14 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- }
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
}
},
"sprintf-js": {
@@ -806,31 +786,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -857,15 +820,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -895,15 +878,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/greeting-app/package.json b/examples/greeting-app/package.json
index 124f956dbf30..1b88c41553d6 100644
--- a/examples/greeting-app/package.json
+++ b/examples/greeting-app/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-greeting-app",
- "version": "2.2.13",
+ "version": "2.2.14",
"description": "An example greeting application for LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -44,22 +44,22 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/example-greeter-extension": "^2.1.15",
- "@loopback/rest": "^9.1.1",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/example-greeter-extension": "^2.1.16",
+ "@loopback/rest": "^9.1.2",
"chalk": "^4.1.0",
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "4.1.5",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
- "typescript": "~4.1.2"
+ "eslint": "^7.18.0",
+ "typescript": "~4.1.3"
},
"bugs": {
"url": "https://github.com/strongloop/loopback-next/issues"
diff --git a/examples/hello-world/CHANGELOG.md b/examples/hello-world/CHANGELOG.md
index 32b38e3bab7c..15c9a46b324e 100644
--- a/examples/hello-world/CHANGELOG.md
+++ b/examples/hello-world/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.16](https://github.com/strongloop/loopback-next/compare/@loopback/example-hello-world@2.1.15...@loopback/example-hello-world@2.1.16) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-hello-world
+
+
+
+
+
## [2.1.15](https://github.com/strongloop/loopback-next/compare/@loopback/example-hello-world@2.1.14...@loopback/example-hello-world@2.1.15) (2020-12-07)
**Note:** Version bump only for package @loopback/example-hello-world
diff --git a/examples/hello-world/package-lock.json b/examples/hello-world/package-lock.json
index d4bef1273790..79378e249d38 100644
--- a/examples/hello-world/package-lock.json
+++ b/examples/hello-world/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-hello-world",
- "version": "2.1.15",
+ "version": "2.1.16",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -122,9 +122,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -257,9 +257,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -278,13 +278,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -308,7 +308,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -317,7 +317,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -464,9 +464,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -526,9 +526,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -564,9 +564,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -591,9 +591,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -726,6 +726,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -766,14 +772,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -783,31 +815,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -835,15 +850,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -873,15 +908,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/hello-world/package.json b/examples/hello-world/package.json
index c0f2b83ff87a..6b5f4e709cac 100644
--- a/examples/hello-world/package.json
+++ b/examples/hello-world/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-hello-world",
- "version": "2.1.15",
+ "version": "2.1.16",
"description": "A simple hello-world Application using LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,17 +14,17 @@
"access": "public"
},
"dependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1",
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
- "typescript": "~4.1.2"
+ "eslint": "^7.18.0",
+ "typescript": "~4.1.3"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
diff --git a/examples/lb3-application/CHANGELOG.md b/examples/lb3-application/CHANGELOG.md
index b86125465135..17f0eec42e6d 100644
--- a/examples/lb3-application/CHANGELOG.md
+++ b/examples/lb3-application/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.5.4](https://github.com/strongloop/loopback-next/compare/@loopback/example-lb3-application@2.5.3...@loopback/example-lb3-application@2.5.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-lb3-application
+
+
+
+
+
## [2.5.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-lb3-application@2.5.2...@loopback/example-lb3-application@2.5.3) (2020-12-07)
**Note:** Version bump only for package @loopback/example-lb3-application
diff --git a/examples/lb3-application/README.md b/examples/lb3-application/README.md
index d57b4dd8ce7b..10bc5af489bc 100644
--- a/examples/lb3-application/README.md
+++ b/examples/lb3-application/README.md
@@ -95,10 +95,10 @@ applications can use them.
Start the new LB4 application
- ```sh
- $ npm start
- Server is running at http://127.0.0.1:3000
- ```
+```sh
+$ npm start
+Server is running at http://127.0.0.1:3000
+```
Open the URL printed to console to view your front-end served from `public`
directory or go to `http://127.0.0.1:3000/explorer` to explore the REST API.
diff --git a/examples/lb3-application/package-lock.json b/examples/lb3-application/package-lock.json
index 9e681141a75d..e2c67e12a1d1 100644
--- a/examples/lb3-application/package-lock.json
+++ b/examples/lb3-application/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-lb3-application",
- "version": "2.5.3",
+ "version": "2.5.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -31,9 +31,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -43,7 +43,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -87,9 +87,9 @@
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/mime": {
@@ -218,9 +218,9 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"async": {
@@ -589,9 +589,9 @@
"integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA=="
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"encodeurl": {
@@ -640,13 +640,13 @@
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -670,7 +670,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -679,7 +679,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
@@ -1009,9 +1009,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"forever-agent": {
@@ -1125,9 +1125,9 @@
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"helmet": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.2.0.tgz",
- "integrity": "sha512-aoiSxXMd0ks1ojYpSCFoCRzgv4rY/uB9jKStaw8PkXwsdLYa/Gq+Nc5l0soH0cwBIsLAlujPnx4HLQs+LaXCrQ=="
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.4.1.tgz",
+ "integrity": "sha512-G8tp0wUMI7i8wkMk2xLcEvESg5PiCitFMYgGRc/PwULB0RVhTP5GFdxOwvJwp9XVha8CuS8mnhmE8I/8dx/pbw=="
},
"http-errors": {
"version": "1.7.2",
@@ -1190,9 +1190,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -1246,9 +1246,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -1333,9 +1333,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -2090,6 +2090,12 @@
}
}
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -2288,14 +2294,40 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"smtp-connection": {
@@ -2360,31 +2392,14 @@
"integrity": "sha1-wfl9FdolH1lK4n1B7IraCahG408="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"string_decoder": {
@@ -2664,15 +2679,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -2758,9 +2793,9 @@
}
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uid2": {
diff --git a/examples/lb3-application/package.json b/examples/lb3-application/package.json
index 689d6a578cf8..ceec6ce7fda6 100644
--- a/examples/lb3-application/package.json
+++ b/examples/lb3-application/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-lb3-application",
- "version": "2.5.3",
+ "version": "2.5.4",
"description": "Tutorial example on how to add existing an LB3 application to a LB4 project",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,32 +14,32 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/booter-lb3app": "^2.2.15",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/booter-lb3app": "^2.2.16",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
"compression": "^1.7.4",
"cors": "^2.8.5",
"debug": "^4.3.1",
"express": "^4.17.1",
- "helmet": "^4.2.0",
+ "helmet": "^4.4.1",
"loopback": "^3.28.0",
"loopback-boot": "^3.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
- "@types/lodash": "^4.14.165",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"lodash": "^4.17.20",
"should": "^13.2.3",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"scripts": {
"build": "lb-tsc",
diff --git a/examples/log-extension/CHANGELOG.md b/examples/log-extension/CHANGELOG.md
index 69d4f9194105..43f695d6dc74 100644
--- a/examples/log-extension/CHANGELOG.md
+++ b/examples/log-extension/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.16](https://github.com/strongloop/loopback-next/compare/@loopback/example-log-extension@2.1.15...@loopback/example-log-extension@2.1.16) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-log-extension
+
+
+
+
+
## [2.1.15](https://github.com/strongloop/loopback-next/compare/@loopback/example-log-extension@2.1.14...@loopback/example-log-extension@2.1.15) (2020-12-07)
**Note:** Version bump only for package @loopback/example-log-extension
diff --git a/examples/log-extension/package-lock.json b/examples/log-extension/package-lock.json
index ae3c0ea7ad05..002b7df9c2ee 100644
--- a/examples/log-extension/package-lock.json
+++ b/examples/log-extension/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-log-extension",
- "version": "2.1.15",
+ "version": "2.1.16",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -83,9 +83,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -95,7 +95,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -166,9 +166,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -256,9 +256,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -277,13 +277,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -307,7 +307,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -316,7 +316,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -463,9 +463,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -524,9 +524,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -562,9 +562,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -589,9 +589,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -723,6 +723,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -763,40 +769,14 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- }
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
}
},
"sprintf-js": {
@@ -806,31 +786,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -857,15 +820,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -895,15 +878,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/log-extension/package.json b/examples/log-extension/package.json
index 574ace2af6f1..3b9cf22f047d 100644
--- a/examples/log-extension/package.json
+++ b/examples/log-extension/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-log-extension",
- "version": "2.1.15",
+ "version": "2.1.16",
"description": "An example showing how to write a complex log extension for LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,20 +14,20 @@
"access": "public"
},
"dependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1",
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2",
"chalk": "^4.1.0",
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
- "typescript": "~4.1.2"
+ "eslint": "^7.18.0",
+ "typescript": "~4.1.3"
},
"scripts": {
"build": "lb-tsc",
diff --git a/examples/metrics-prometheus/CHANGELOG.md b/examples/metrics-prometheus/CHANGELOG.md
index dec4dcc384bf..f32e017233fc 100644
--- a/examples/metrics-prometheus/CHANGELOG.md
+++ b/examples/metrics-prometheus/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.4.6](https://github.com/strongloop/loopback-next/compare/@loopback/example-metrics-prometheus@0.4.5...@loopback/example-metrics-prometheus@0.4.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-metrics-prometheus
+
+
+
+
+
## [0.4.5](https://github.com/strongloop/loopback-next/compare/@loopback/example-metrics-prometheus@0.4.4...@loopback/example-metrics-prometheus@0.4.5) (2020-12-07)
**Note:** Version bump only for package @loopback/example-metrics-prometheus
diff --git a/examples/metrics-prometheus/package-lock.json b/examples/metrics-prometheus/package-lock.json
index 95967b1bcac3..7efbacdac482 100644
--- a/examples/metrics-prometheus/package-lock.json
+++ b/examples/metrics-prometheus/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-metrics-prometheus",
- "version": "0.4.5",
+ "version": "0.4.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -122,9 +122,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -257,9 +257,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -278,13 +278,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -308,7 +308,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -317,7 +317,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -464,9 +464,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -526,9 +526,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -564,9 +564,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -591,9 +591,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -726,6 +726,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -766,14 +772,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -783,31 +815,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -835,15 +850,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -873,15 +908,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/metrics-prometheus/package.json b/examples/metrics-prometheus/package.json
index cceb39a67c78..1c6d7b4a9160 100644
--- a/examples/metrics-prometheus/package.json
+++ b/examples/metrics-prometheus/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-metrics-prometheus",
- "version": "0.4.5",
+ "version": "0.4.6",
"description": "An example to illustrate metrics provided by @loopback/metrics and Prometheus",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,19 +14,19 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/metrics": "^0.5.2",
- "@loopback/rest": "^9.1.1",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/metrics": "^0.6.0",
+ "@loopback/rest": "^9.1.2",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
- "typescript": "~4.1.2"
+ "eslint": "^7.18.0",
+ "typescript": "~4.1.3"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
diff --git a/examples/multi-tenancy/CHANGELOG.md b/examples/multi-tenancy/CHANGELOG.md
index 63ac1efd3df1..2ff857d6b01c 100644
--- a/examples/multi-tenancy/CHANGELOG.md
+++ b/examples/multi-tenancy/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.7.4](https://github.com/strongloop/loopback-next/compare/@loopback/example-multi-tenancy@0.7.3...@loopback/example-multi-tenancy@0.7.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-multi-tenancy
+
+
+
+
+
## [0.7.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-multi-tenancy@0.7.2...@loopback/example-multi-tenancy@0.7.3) (2020-12-07)
**Note:** Version bump only for package @loopback/example-multi-tenancy
diff --git a/examples/multi-tenancy/package-lock.json b/examples/multi-tenancy/package-lock.json
index b833af0e963f..63716c91f311 100644
--- a/examples/multi-tenancy/package-lock.json
+++ b/examples/multi-tenancy/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-multi-tenancy",
- "version": "0.7.3",
+ "version": "0.7.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -131,9 +131,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -285,9 +285,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"enquirer": {
@@ -306,13 +306,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -336,7 +336,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -345,7 +345,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
@@ -503,9 +503,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -565,9 +565,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -603,9 +603,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -630,9 +630,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -835,6 +835,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -876,14 +882,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"source-map": {
@@ -909,31 +941,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -961,15 +976,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -999,15 +1034,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/multi-tenancy/package.json b/examples/multi-tenancy/package.json
index fcfae3be383a..f3bee13f6b8e 100644
--- a/examples/multi-tenancy/package.json
+++ b/examples/multi-tenancy/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/example-multi-tenancy",
- "version": "0.7.3",
+ "version": "0.7.4",
"description": "An example to illustrate how to enable multi-tenancy with LoopBack's IoC and DI container",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -10,7 +10,7 @@
"multi-tenancy"
],
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -48,24 +48,24 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/service-proxy": "^3.0.6",
"jsonwebtoken": "^8.5.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/jsonwebtoken": "^8.5.0",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"source-map-support": "^0.5.19",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"files": [
"README.md",
diff --git a/examples/passport-login/CHANGELOG.md b/examples/passport-login/CHANGELOG.md
index 27cf80fc76f6..a8585ed94bc8 100644
--- a/examples/passport-login/CHANGELOG.md
+++ b/examples/passport-login/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.9.1](https://github.com/strongloop/loopback-next/compare/@loopback/example-passport-login@1.9.0...@loopback/example-passport-login@1.9.1) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-passport-login
+
+
+
+
+
# [1.9.0](https://github.com/strongloop/loopback-next/compare/@loopback/example-passport-login@1.8.1...@loopback/example-passport-login@1.9.0) (2020-12-07)
diff --git a/examples/passport-login/package-lock.json b/examples/passport-login/package-lock.json
index 6a268bf1c4de..229952b582ce 100644
--- a/examples/passport-login/package-lock.json
+++ b/examples/passport-login/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-passport-login",
- "version": "1.9.0",
+ "version": "1.9.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -68,56 +68,35 @@
"requires": {
"@types/connect": "*",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"requires": {
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
"@types/range-parser": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/jsonwebtoken": {
@@ -136,20 +115,19 @@
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg=="
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q=="
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/node": {
"version": "10.17.48",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.48.tgz",
- "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag==",
- "dev": true
+ "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag=="
},
"@types/oauth": {
"version": "0.9.1",
@@ -167,9 +145,9 @@
}
},
"@types/passport": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.4.tgz",
- "integrity": "sha512-h5OfAbfBBYSzjeU0GTuuqYEk9McTgWeGQql9g3gUw2/NNCfD7VgExVRYJVVeU13Twn202Mvk9BT0bUrl30sEgA==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.5.tgz",
+ "integrity": "sha512-wNL4kT/5rnZgyGkqX7V2qH/R/te+bklv+nXcvHzyX99vNggx9DGN+F8CEOW3P/gRi7Cjm991uidRgTHsYkSuMg==",
"requires": {
"@types/express": "*"
}
@@ -220,9 +198,9 @@
}
},
"@types/passport-oauth2": {
- "version": "1.4.9",
- "resolved": "https://registry.npmjs.org/@types/passport-oauth2/-/passport-oauth2-1.4.9.tgz",
- "integrity": "sha512-QP0q+NVQOaIu2r0e10QWkiUA0Ya5mOBHRJN0UrI+LolMLOP1/VN4EVIpJ3xVwFo+xqNFRoFvFwJhBvKnk7kpUA==",
+ "version": "1.4.10",
+ "resolved": "https://registry.npmjs.org/@types/passport-oauth2/-/passport-oauth2-1.4.10.tgz",
+ "integrity": "sha512-klShWm9xAqjM3rU31KyMMiB9M8jmJPkStUvCJ/kIv73/Vh3OVnfeTExrkMCM2wA+94MliExqwHVL3J0WD2kbnQ==",
"requires": {
"@types/express": "*",
"@types/oauth": "*",
@@ -258,19 +236,12 @@
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"accepts": {
@@ -369,9 +340,9 @@
"integrity": "sha1-sqRdpf36ILBJb8N2jMJ8EvqRan0="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"axios": {
@@ -703,9 +674,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"encodeurl": {
@@ -734,13 +705,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -764,7 +735,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -773,7 +744,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -1037,9 +1008,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"follow-redirects": {
@@ -1140,9 +1111,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -1187,9 +1158,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -1236,9 +1207,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1672,6 +1643,12 @@
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1788,14 +1765,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"source-map": {
@@ -1818,31 +1821,14 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1870,15 +1856,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1964,9 +1970,9 @@
}
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uglify-js": {
@@ -2011,9 +2017,9 @@
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/passport-login/package.json b/examples/passport-login/package.json
index 3bacf1c5bbc5..4c530f0334c7 100644
--- a/examples/passport-login/package.json
+++ b/examples/passport-login/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-passport-login",
- "version": "1.9.0",
+ "version": "1.9.1",
"description": "An example to demonstrate authentication with passport strategies",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -39,26 +39,26 @@
"access": "public"
},
"dependencies": {
- "@loopback/authentication": "^7.0.5",
- "@loopback/authentication-passport": "^3.0.5",
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/mock-oauth2-provider": "^0.1.13",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-crud": "^0.8.19",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/security": "^0.3.5",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/authentication": "^7.0.6",
+ "@loopback/authentication-passport": "^3.0.6",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/mock-oauth2-provider": "^0.1.14",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-crud": "^0.8.20",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/security": "^0.3.6",
+ "@loopback/service-proxy": "^3.0.6",
"@types/jsonwebtoken": "8.5.0",
- "@types/lodash": "^4.14.165",
- "@types/passport": "^1.0.4",
+ "@types/lodash": "^4.14.168",
+ "@types/passport": "^1.0.5",
"@types/passport-facebook": "^2.1.10",
"@types/passport-google-oauth": "^1.0.41",
"@types/passport-google-oauth2": "^0.1.3",
"@types/passport-http": "^0.3.8",
"@types/passport-local": "^1.0.33",
- "@types/passport-oauth2": "^1.4.9",
+ "@types/passport-oauth2": "^1.4.10",
"@types/passport-twitter": "1.0.36",
"body-parser": "^1.19.0",
"client-sessions": "^0.8.0",
@@ -79,17 +79,17 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/http-caching-proxy": "^2.1.19",
- "@loopback/testlab": "^3.2.10",
- "@types/express": "^4.17.9",
- "@types/lodash": "^4.14.165",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/http-caching-proxy": "^2.1.20",
+ "@loopback/testlab": "^3.2.11",
+ "@types/express": "^4.17.11",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
"axios": "^0.21.0",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"lodash": "^4.17.20",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"keywords": [
"loopback",
diff --git a/examples/rest-crud/CHANGELOG.md b/examples/rest-crud/CHANGELOG.md
index d07f6d6e69c3..570caa053ae1 100644
--- a/examples/rest-crud/CHANGELOG.md
+++ b/examples/rest-crud/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.7.4](https://github.com/strongloop/loopback-next/compare/@loopback/example-rest-crud@1.7.3...@loopback/example-rest-crud@1.7.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-rest-crud
+
+
+
+
+
## [1.7.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-rest-crud@1.7.2...@loopback/example-rest-crud@1.7.3) (2020-12-07)
**Note:** Version bump only for package @loopback/example-rest-crud
diff --git a/examples/rest-crud/package-lock.json b/examples/rest-crud/package-lock.json
index b16d2c2a3036..640da9c90c0f 100644
--- a/examples/rest-crud/package-lock.json
+++ b/examples/rest-crud/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-rest-crud",
- "version": "1.7.3",
+ "version": "1.7.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,15 +56,15 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/node": {
@@ -148,9 +148,9 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"asynckit": {
@@ -361,9 +361,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"end-of-stream": {
@@ -390,13 +390,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -420,7 +420,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -429,7 +429,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -600,9 +600,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"forever-agent": {
@@ -728,9 +728,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -774,9 +774,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -815,9 +815,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1162,6 +1162,12 @@
}
}
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1215,14 +1221,40 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -1252,31 +1284,14 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1324,15 +1339,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1389,9 +1424,9 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
diff --git a/examples/rest-crud/package.json b/examples/rest-crud/package.json
index ab461666477f..8aacf964f85d 100644
--- a/examples/rest-crud/package.json
+++ b/examples/rest-crud/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-rest-crud",
- "version": "1.7.3",
+ "version": "1.7.4",
"description": "An example showing how to use @loopback/rest-crud to define default repository and controller classes",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,25 +14,25 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-crud": "^0.8.19",
- "@loopback/rest-explorer": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-crud": "^0.8.20",
+ "@loopback/rest-explorer": "^3.0.6",
"loopback-connector-rest": "^4.0.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/http-caching-proxy": "^2.1.19",
- "@loopback/testlab": "^3.2.10",
- "@types/lodash": "^4.14.165",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/http-caching-proxy": "^2.1.20",
+ "@loopback/testlab": "^3.2.11",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"lodash": "^4.17.20",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"scripts": {
"build": "lb-tsc",
diff --git a/examples/rpc-server/CHANGELOG.md b/examples/rpc-server/CHANGELOG.md
index 3968fc8d97c9..5e478a1c1d8b 100644
--- a/examples/rpc-server/CHANGELOG.md
+++ b/examples/rpc-server/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.16](https://github.com/strongloop/loopback-next/compare/@loopback/example-rpc-server@2.1.15...@loopback/example-rpc-server@2.1.16) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-rpc-server
+
+
+
+
+
## [2.1.15](https://github.com/strongloop/loopback-next/compare/@loopback/example-rpc-server@2.1.14...@loopback/example-rpc-server@2.1.15) (2020-12-07)
**Note:** Version bump only for package @loopback/example-rpc-server
diff --git a/examples/rpc-server/package-lock.json b/examples/rpc-server/package-lock.json
index 1fe19b94a1c2..35c318bd2e2f 100644
--- a/examples/rpc-server/package-lock.json
+++ b/examples/rpc-server/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-rpc-server",
- "version": "2.1.15",
+ "version": "2.1.16",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
},
@@ -89,30 +89,30 @@
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"dev": true,
"requires": {
"@types/node": "*"
}
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"dev": true,
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -121,9 +121,9 @@
}
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
"dev": true
},
"@types/node": {
@@ -145,12 +145,12 @@
"dev": true
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"dev": true,
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
}
},
@@ -223,9 +223,9 @@
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"balanced-match": {
@@ -417,9 +417,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"encodeurl": {
@@ -448,13 +448,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -478,7 +478,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -487,7 +487,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
@@ -707,9 +707,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"forwarded": {
@@ -799,9 +799,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -841,9 +841,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -868,9 +868,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1088,6 +1088,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1181,14 +1187,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -1203,31 +1235,14 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1255,15 +1270,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1307,9 +1342,9 @@
}
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"unpipe": {
@@ -1318,9 +1353,9 @@
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/rpc-server/package.json b/examples/rpc-server/package.json
index db7776e6cd75..61e96b1cee32 100644
--- a/examples/rpc-server/package.json
+++ b/examples/rpc-server/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/example-rpc-server",
- "version": "2.1.15",
+ "version": "2.1.16",
"description": "An example RPC server and application to demonstrate the creation of your own custom server",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -9,7 +9,7 @@
"loopback"
],
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -42,17 +42,17 @@
"access": "public"
},
"dependencies": {
- "@loopback/core": "^2.13.1",
+ "@loopback/core": "^2.14.0",
"express": "^4.17.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
- "@types/express": "^4.17.9",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
+ "@types/express": "^4.17.11",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
- "typescript": "~4.1.2"
+ "eslint": "^7.18.0",
+ "typescript": "~4.1.3"
}
}
diff --git a/examples/soap-calculator/CHANGELOG.md b/examples/soap-calculator/CHANGELOG.md
index 4b1b21e9c825..eb43500771d3 100644
--- a/examples/soap-calculator/CHANGELOG.md
+++ b/examples/soap-calculator/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.4.9](https://github.com/strongloop/loopback-next/compare/@loopback/example-soap-calculator@2.4.8...@loopback/example-soap-calculator@2.4.9) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-soap-calculator
+
+
+
+
+
## [2.4.8](https://github.com/strongloop/loopback-next/compare/@loopback/example-soap-calculator@2.4.7...@loopback/example-soap-calculator@2.4.8) (2020-12-07)
**Note:** Version bump only for package @loopback/example-soap-calculator
diff --git a/examples/soap-calculator/package-lock.json b/examples/soap-calculator/package-lock.json
index 879ccfe346f1..9603e1d3644f 100644
--- a/examples/soap-calculator/package-lock.json
+++ b/examples/soap-calculator/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-soap-calculator",
- "version": "2.4.8",
+ "version": "2.4.9",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,15 +56,15 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
},
"@types/mocha": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.4.tgz",
- "integrity": "sha512-M4BwiTJjHmLq6kjON7ZoI2JMlBvpY3BYSdiP6s/qCT3jb1s9/DeJF0JELpAxiVSIxXDzfNKe+r7yedMIoLbknQ==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.0.tgz",
+ "integrity": "sha512-/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ==",
"dev": true
},
"@types/node": {
@@ -164,9 +164,9 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"asynckit": {
@@ -518,13 +518,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -548,7 +548,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -557,7 +557,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -758,9 +758,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"forever-agent": {
@@ -925,9 +925,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -1516,6 +1516,12 @@
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
@@ -1621,14 +1627,46 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ }
}
},
"source-map": {
@@ -1772,15 +1810,58 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ }
}
},
"text-table": {
@@ -1841,9 +1922,9 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"underscore": {
diff --git a/examples/soap-calculator/package.json b/examples/soap-calculator/package.json
index d7e0e487c7cc..6d8c979e3092 100644
--- a/examples/soap-calculator/package.json
+++ b/examples/soap-calculator/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/example-soap-calculator",
- "version": "2.4.8",
+ "version": "2.4.9",
"description": "A tutorial demonstrating integration SOAP webservice with LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -12,7 +12,7 @@
"soap"
],
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -21,25 +21,25 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/service-proxy": "^3.0.6",
"loopback-connector-soap": "^6.0.0",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
- "@types/mocha": "^8.0.4",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
+ "@types/mocha": "^8.2.0",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"mocha": "^8.2.1",
"source-map-support": "^0.5.19",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"scripts": {
"build": "lb-tsc",
diff --git a/examples/socketio/CHANGELOG.md b/examples/socketio/CHANGELOG.md
index 577df3fc9beb..637603336024 100644
--- a/examples/socketio/CHANGELOG.md
+++ b/examples/socketio/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.1.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-socketio@0.1.2...@loopback/example-socketio@0.1.3) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-socketio
+
+
+
+
+
## [0.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/example-socketio@0.1.1...@loopback/example-socketio@0.1.2) (2020-12-07)
**Note:** Version bump only for package @loopback/example-socketio
diff --git a/examples/socketio/package-lock.json b/examples/socketio/package-lock.json
index 0eceadd2ea93..3cd9c10f8760 100644
--- a/examples/socketio/package-lock.json
+++ b/examples/socketio/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-socketio",
- "version": "0.1.2",
+ "version": "0.1.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -85,9 +85,9 @@
}
},
"@types/socket.io-client": {
- "version": "1.4.34",
- "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.34.tgz",
- "integrity": "sha512-Lzia5OTQFJZJ5R4HsEEldywiiqT9+W2rDbyHJiiTGqOcju89sCsQ8aUXDljY6Ls33wKZZGC0bfMhr/VpOyjtXg=="
+ "version": "1.4.35",
+ "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.35.tgz",
+ "integrity": "sha512-MI8YmxFS+jMkIziycT5ickBWK1sZwDwy16mgH/j99Mcom6zRG/NimNGQ3vJV0uX5G6g/hEw0FG3w3b3sT5OUGw=="
},
"@types/socket.io-parser": {
"version": "2.2.1",
@@ -171,9 +171,9 @@
"integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog=="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"async-limiter": {
@@ -369,9 +369,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"engine.io": {
@@ -471,13 +471,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -501,7 +501,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -510,7 +510,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -657,9 +657,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -732,9 +732,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -775,9 +775,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -807,9 +807,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1001,6 +1001,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1041,14 +1047,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"socket.io": {
@@ -1220,31 +1252,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1272,15 +1287,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1315,15 +1350,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/socketio/package.json b/examples/socketio/package.json
index 38b18a2f328e..eedc9a5a9241 100644
--- a/examples/socketio/package.json
+++ b/examples/socketio/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/example-socketio",
- "version": "0.1.2",
+ "version": "0.1.3",
"description": "This is an example for spinning up socket server.",
"keywords": [
"loopback-application",
@@ -9,7 +9,7 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -50,26 +50,26 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/socketio": "^0.1.2",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/socketio": "^0.1.3",
"@types/socket.io": "^2.1.12",
- "@types/socket.io-client": "^1.4.34",
+ "@types/socket.io-client": "^1.4.35",
"p-event": "^4.2.0",
"socket.io": "^2.3.0",
"socket.io-client": "^2.3.1",
"tslib": "^2.0.0"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"source-map-support": "^0.5.19",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"copyright.owner": "IBM Corp."
}
diff --git a/examples/todo-jwt/CHANGELOG.md b/examples/todo-jwt/CHANGELOG.md
index 7582c166783d..283f09fa58fa 100644
--- a/examples/todo-jwt/CHANGELOG.md
+++ b/examples/todo-jwt/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.4.4](https://github.com/strongloop/loopback-next/compare/@loopback/example-todo-jwt@1.4.3...@loopback/example-todo-jwt@1.4.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-todo-jwt
+
+
+
+
+
## [1.4.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-todo-jwt@1.4.2...@loopback/example-todo-jwt@1.4.3) (2020-12-07)
**Note:** Version bump only for package @loopback/example-todo-jwt
diff --git a/examples/todo-jwt/package-lock.json b/examples/todo-jwt/package-lock.json
index adfaf38821a0..103af9983a24 100644
--- a/examples/todo-jwt/package-lock.json
+++ b/examples/todo-jwt/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-todo-jwt",
- "version": "1.4.3",
+ "version": "1.4.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -67,9 +67,9 @@
"integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ=="
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/node": {
@@ -153,9 +153,9 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"asynckit": {
@@ -371,9 +371,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"end-of-stream": {
@@ -400,13 +400,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -430,7 +430,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -439,7 +439,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -610,9 +610,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"forever-agent": {
@@ -738,9 +738,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -784,9 +784,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -825,9 +825,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1172,6 +1172,12 @@
}
}
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1225,14 +1231,40 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -1262,31 +1294,14 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1334,15 +1349,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1399,9 +1434,9 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
diff --git a/examples/todo-jwt/package.json b/examples/todo-jwt/package.json
index 2c5c5ae16ce4..ae3cf014da49 100644
--- a/examples/todo-jwt/package.json
+++ b/examples/todo-jwt/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-todo-jwt",
- "version": "1.4.3",
+ "version": "1.4.4",
"description": "A modified Todo tutorial how to build an application with JWT authentication and LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,30 +14,30 @@
"access": "public"
},
"dependencies": {
- "@loopback/authentication": "^7.0.5",
- "@loopback/authentication-jwt": "^0.7.5",
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/security": "^0.3.5",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/authentication": "^7.0.6",
+ "@loopback/authentication-jwt": "^0.7.6",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/security": "^0.3.6",
+ "@loopback/service-proxy": "^3.0.6",
"@types/bcryptjs": "^2.4.2",
"bcryptjs": "^2.4.3",
"loopback-connector-rest": "^4.0.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/http-caching-proxy": "^2.1.19",
- "@loopback/testlab": "^3.2.10",
- "@types/lodash": "^4.14.165",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/http-caching-proxy": "^2.1.20",
+ "@loopback/testlab": "^3.2.11",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"lodash": "^4.17.20",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"repository": {
"type": "git",
diff --git a/examples/todo-list/CHANGELOG.md b/examples/todo-list/CHANGELOG.md
index 8cf789665a96..7b115f0bfa9c 100644
--- a/examples/todo-list/CHANGELOG.md
+++ b/examples/todo-list/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.7.1](https://github.com/strongloop/loopback-next/compare/@loopback/example-todo-list@3.7.0...@loopback/example-todo-list@3.7.1) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-todo-list
+
+
+
+
+
# [3.7.0](https://github.com/strongloop/loopback-next/compare/@loopback/example-todo-list@3.6.2...@loopback/example-todo-list@3.7.0) (2020-12-07)
diff --git a/examples/todo-list/package-lock.json b/examples/todo-list/package-lock.json
index a432b4a9821e..d47a89a89b1c 100644
--- a/examples/todo-list/package-lock.json
+++ b/examples/todo-list/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-todo-list",
- "version": "3.7.0",
+ "version": "3.7.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,15 +56,15 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/node": {
@@ -148,9 +148,9 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"asynckit": {
@@ -361,9 +361,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"end-of-stream": {
@@ -390,13 +390,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -420,7 +420,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -429,7 +429,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -600,9 +600,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"forever-agent": {
@@ -728,9 +728,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -774,9 +774,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -815,9 +815,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1162,6 +1162,12 @@
}
}
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1215,14 +1221,40 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -1252,31 +1284,14 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1324,15 +1339,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1389,9 +1424,9 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
diff --git a/examples/todo-list/package.json b/examples/todo-list/package.json
index 7a7a577e66af..4ef4baf0122a 100644
--- a/examples/todo-list/package.json
+++ b/examples/todo-list/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-todo-list",
- "version": "3.7.0",
+ "version": "3.7.1",
"description": "Continuation of the todo example using relations in LoopBack 4.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,26 +14,26 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/service-proxy": "^3.0.6",
"loopback-connector-rest": "^4.0.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/http-caching-proxy": "^2.1.19",
- "@loopback/repository": "^3.3.0",
- "@loopback/testlab": "^3.2.10",
- "@types/lodash": "^4.14.165",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/http-caching-proxy": "^2.1.20",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/testlab": "^3.2.11",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"lodash": "^4.17.20",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"scripts": {
"build": "lb-tsc",
diff --git a/examples/todo/CHANGELOG.md b/examples/todo/CHANGELOG.md
index 9a016ad2eb90..b7be604e263b 100644
--- a/examples/todo/CHANGELOG.md
+++ b/examples/todo/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.9.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-todo@3.9.2...@loopback/example-todo@3.9.3) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-todo
+
+
+
+
+
## [3.9.2](https://github.com/strongloop/loopback-next/compare/@loopback/example-todo@3.9.1...@loopback/example-todo@3.9.2) (2020-12-07)
**Note:** Version bump only for package @loopback/example-todo
diff --git a/examples/todo/package-lock.json b/examples/todo/package-lock.json
index 8b8b812a88f3..8a99a4191551 100644
--- a/examples/todo/package-lock.json
+++ b/examples/todo/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-todo",
- "version": "3.9.2",
+ "version": "3.9.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,15 +56,15 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/morgan": {
@@ -157,9 +157,9 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"asynckit": {
@@ -395,9 +395,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"end-of-stream": {
@@ -424,13 +424,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -454,7 +454,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -463,7 +463,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -634,9 +634,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"forever-agent": {
@@ -762,9 +762,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -808,9 +808,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -849,9 +849,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1236,6 +1236,12 @@
}
}
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1289,14 +1295,40 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"sprintf-js": {
@@ -1326,31 +1358,14 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1398,15 +1413,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1463,9 +1498,9 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
diff --git a/examples/todo/package.json b/examples/todo/package.json
index 6069011b3de6..4eddfb7d6c7d 100644
--- a/examples/todo/package.json
+++ b/examples/todo/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-todo",
- "version": "3.9.2",
+ "version": "3.9.3",
"description": "Tutorial example on how to build an application with LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,27 +14,27 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/service-proxy": "^3.0.6",
"loopback-connector-rest": "^4.0.1",
"morgan": "^1.10.0",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/http-caching-proxy": "^2.1.19",
- "@loopback/testlab": "^3.2.10",
- "@types/lodash": "^4.14.165",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/http-caching-proxy": "^2.1.20",
+ "@loopback/testlab": "^3.2.11",
+ "@types/lodash": "^4.14.168",
"@types/morgan": "^1.9.2",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"lodash": "^4.17.20",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"scripts": {
"build": "lb-tsc",
diff --git a/examples/validation-app/CHANGELOG.md b/examples/validation-app/CHANGELOG.md
index 70ae455de98b..5d27dcf6ac9a 100644
--- a/examples/validation-app/CHANGELOG.md
+++ b/examples/validation-app/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.8.4](https://github.com/strongloop/loopback-next/compare/@loopback/example-validation-app@1.8.3...@loopback/example-validation-app@1.8.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-validation-app
+
+
+
+
+
## [1.8.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-validation-app@1.8.2...@loopback/example-validation-app@1.8.3) (2020-12-07)
**Note:** Version bump only for package @loopback/example-validation-app
diff --git a/examples/validation-app/package-lock.json b/examples/validation-app/package-lock.json
index 9e93ffc8524c..931636120cba 100644
--- a/examples/validation-app/package-lock.json
+++ b/examples/validation-app/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-validation-app",
- "version": "1.8.3",
+ "version": "1.8.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -31,9 +31,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -43,7 +43,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -215,9 +215,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"async": {
@@ -341,9 +341,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"end-of-stream": {
@@ -369,13 +369,13 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -399,7 +399,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -408,7 +408,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
@@ -635,9 +635,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"fs.realpath": {
@@ -720,9 +720,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -766,9 +766,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -808,9 +808,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -1059,6 +1059,12 @@
"integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -1102,14 +1108,40 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"source-map": {
@@ -1139,31 +1171,14 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
@@ -1225,15 +1240,35 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"text-table": {
@@ -1263,15 +1298,15 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
diff --git a/examples/validation-app/package.json b/examples/validation-app/package.json
index a4cc76b8b76a..72a7f1277158 100644
--- a/examples/validation-app/package.json
+++ b/examples/validation-app/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/example-validation-app",
- "version": "1.8.3",
+ "version": "1.8.4",
"description": "An example demonstrating how to add validation in a LoopBack 4 application",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -14,23 +14,23 @@
"access": "public"
},
"dependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/service-proxy": "^3.0.6",
"strong-error-handler": "^4.0.0",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"source-map-support": "^0.5.19",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"scripts": {
"build": "lb-tsc",
diff --git a/examples/webpack/CHANGELOG.md b/examples/webpack/CHANGELOG.md
index c21ad6fd5a2e..030c495f00a8 100644
--- a/examples/webpack/CHANGELOG.md
+++ b/examples/webpack/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.2.3](https://github.com/strongloop/loopback-next/compare/@loopback/example-webpack@0.2.2...@loopback/example-webpack@0.2.3) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/example-webpack
+
+
+
+
+
## [0.2.2](https://github.com/strongloop/loopback-next/compare/@loopback/example-webpack@0.2.1...@loopback/example-webpack@0.2.2) (2020-12-07)
**Note:** Version bump only for package @loopback/example-webpack
diff --git a/examples/webpack/package-lock.json b/examples/webpack/package-lock.json
index 7662b8b9c786..a10873df0a4b 100644
--- a/examples/webpack/package-lock.json
+++ b/examples/webpack/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "@loopback/example-webpack",
- "version": "0.2.2",
+ "version": "0.2.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/highlight": {
@@ -44,9 +44,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -56,7 +56,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -100,177 +100,177 @@
"dev": true
},
"@webassemblyjs/ast": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
- "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.1.tgz",
+ "integrity": "sha512-uMu1nCWn2Wxyy126LlGqRVlhdTOsO/bsBRI4dNq3+6SiSuRKRQX6ejjKgh82LoGAPSq72lDUiQ4FWVaf0PecYw==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/wast-parser": "1.9.0"
+ "@webassemblyjs/helper-module-context": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/wast-parser": "1.9.1"
}
},
"@webassemblyjs/floating-point-hex-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
- "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.1.tgz",
+ "integrity": "sha512-5VEKu024RySmLKTTBl9q1eO/2K5jk9ZS+2HXDBLA9s9p5IjkaXxWiDb/+b7wSQp6FRdLaH1IVGIfOex58Na2pg==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
- "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.1.tgz",
+ "integrity": "sha512-y1lGmfm38djrScwpeL37rRR9f1D6sM8RhMpvM7CYLzOlHVboouZokXK/G88BpzW0NQBSvCCOnW5BFhten4FPfA==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
- "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.1.tgz",
+ "integrity": "sha512-uS6VSgieHbk/m4GSkMU5cqe/5TekdCzQso4revCIEQ3vpGZgqSSExi4jWpTWwDpAHOIAb1Jfrs0gUB9AA4n71w==",
"dev": true
},
"@webassemblyjs/helper-code-frame": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
- "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.1.tgz",
+ "integrity": "sha512-ZQ2ZT6Evk4DPIfD+92AraGYaFIqGm4U20e7FpXwl7WUo2Pn1mZ1v8VGH8i+Y++IQpxPbQo/UyG0Khs7eInskzA==",
"dev": true,
"requires": {
- "@webassemblyjs/wast-printer": "1.9.0"
+ "@webassemblyjs/wast-printer": "1.9.1"
}
},
"@webassemblyjs/helper-fsm": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
- "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.1.tgz",
+ "integrity": "sha512-J32HGpveEqqcKFS0YbgicB0zAlpfIxJa5MjxDxhu3i5ltPcVfY5EPvKQ1suRguFPehxiUs+/hfkwPEXom/l0lw==",
"dev": true
},
"@webassemblyjs/helper-module-context": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
- "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.1.tgz",
+ "integrity": "sha512-IEH2cMmEQKt7fqelLWB5e/cMdZXf2rST1JIrzWmf4XBt3QTxGdnnLvV4DYoN8pJjOx0VYXsWg+yF16MmJtolZg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0"
+ "@webassemblyjs/ast": "1.9.1"
}
},
"@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
- "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.1.tgz",
+ "integrity": "sha512-i2rGTBqFUcSXxyjt2K4vm/3kkHwyzG6o427iCjcIKjOqpWH8SEem+xe82jUk1iydJO250/CvE5o7hzNAMZf0dQ==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
- "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.1.tgz",
+ "integrity": "sha512-FetqzjtXZr2d57IECK+aId3D0IcGweeM0CbAnJHkYJkcRTHP+YcMb7Wmc0j21h5UWBpwYGb9dSkK/93SRCTrGg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0"
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-buffer": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/wasm-gen": "1.9.1"
}
},
"@webassemblyjs/ieee754": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
- "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.1.tgz",
+ "integrity": "sha512-EvTG9M78zP1MmkBpUjGQHZc26DzPGZSLIPxYHCjQsBMo60Qy2W34qf8z0exRDtxBbRIoiKa5dFyWer/7r1aaSQ==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
},
"@webassemblyjs/leb128": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
- "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.1.tgz",
+ "integrity": "sha512-Oc04ub0vFfLnF+2/+ki3AE+anmW4sv9uNBqb+79fgTaPv6xJsOT0dhphNfL3FrME84CbX/D1T9XT8tjFo0IIiw==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.2"
}
},
"@webassemblyjs/utf8": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
- "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.1.tgz",
+ "integrity": "sha512-llkYtppagjCodFjo0alWOUhAkfOiQPQDIc5oA6C9sFAXz7vC9QhZf/f8ijQIX+A9ToM3c9Pq85X0EX7nx9gVhg==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
- "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.1.tgz",
+ "integrity": "sha512-S2IaD6+x9B2Xi8BCT0eGsrXXd8UxAh2LVJpg1ZMtHXnrDcsTtIX2bDjHi40Hio6Lc62dWHmKdvksI+MClCYbbw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/helper-wasm-section": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0",
- "@webassemblyjs/wasm-opt": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "@webassemblyjs/wast-printer": "1.9.0"
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-buffer": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/helper-wasm-section": "1.9.1",
+ "@webassemblyjs/wasm-gen": "1.9.1",
+ "@webassemblyjs/wasm-opt": "1.9.1",
+ "@webassemblyjs/wasm-parser": "1.9.1",
+ "@webassemblyjs/wast-printer": "1.9.1"
}
},
"@webassemblyjs/wasm-gen": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
- "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.1.tgz",
+ "integrity": "sha512-bqWI0S4lBQsEN5FTZ35vYzfKUJvtjNnBobB1agCALH30xNk1LToZ7Z8eiaR/Z5iVECTlBndoRQV3F6mbEqE/fg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/ieee754": "1.9.0",
- "@webassemblyjs/leb128": "1.9.0",
- "@webassemblyjs/utf8": "1.9.0"
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/ieee754": "1.9.1",
+ "@webassemblyjs/leb128": "1.9.1",
+ "@webassemblyjs/utf8": "1.9.1"
}
},
"@webassemblyjs/wasm-opt": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
- "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.1.tgz",
+ "integrity": "sha512-gSf7I7YWVXZ5c6XqTEqkZjVs8K1kc1k57vsB6KBQscSagDNbAdxt6MwuJoMjsE1yWY1tsuL+pga268A6u+Fdkg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0"
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-buffer": "1.9.1",
+ "@webassemblyjs/wasm-gen": "1.9.1",
+ "@webassemblyjs/wasm-parser": "1.9.1"
}
},
"@webassemblyjs/wasm-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
- "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.1.tgz",
+ "integrity": "sha512-ImM4N2T1MEIond0MyE3rXvStVxEmivQrDKf/ggfh5pP6EHu3lL/YTAoSrR7shrbKNPpeKpGesW1LIK/L4kqduw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-api-error": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/ieee754": "1.9.0",
- "@webassemblyjs/leb128": "1.9.0",
- "@webassemblyjs/utf8": "1.9.0"
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-api-error": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/ieee754": "1.9.1",
+ "@webassemblyjs/leb128": "1.9.1",
+ "@webassemblyjs/utf8": "1.9.1"
}
},
"@webassemblyjs/wast-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
- "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.1.tgz",
+ "integrity": "sha512-2xVxejXSvj3ls/o2TR/zI6p28qsGupjHhnHL6URULQRcXmryn3w7G83jQMcT7PHqUfyle65fZtWLukfdLdE7qw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/floating-point-hex-parser": "1.9.0",
- "@webassemblyjs/helper-api-error": "1.9.0",
- "@webassemblyjs/helper-code-frame": "1.9.0",
- "@webassemblyjs/helper-fsm": "1.9.0",
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/floating-point-hex-parser": "1.9.1",
+ "@webassemblyjs/helper-api-error": "1.9.1",
+ "@webassemblyjs/helper-code-frame": "1.9.1",
+ "@webassemblyjs/helper-fsm": "1.9.1",
"@xtuc/long": "4.2.2"
}
},
"@webassemblyjs/wast-printer": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
- "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.1.tgz",
+ "integrity": "sha512-tDV8V15wm7mmbAH6XvQRU1X+oPGmeOzYsd6h7hlRLz6QpV4Ec/KKxM8OpLtFmQPLCreGxTp+HuxtH4pRIZyL9w==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/wast-parser": "1.9.0",
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/wast-parser": "1.9.1",
"@xtuc/long": "4.2.2"
}
},
@@ -437,9 +437,9 @@
"dev": true
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"async-limiter": {
@@ -529,14 +529,14 @@
"dev": true
},
"browserslist": {
- "version": "4.15.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.15.0.tgz",
- "integrity": "sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ==",
+ "version": "4.16.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz",
+ "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001164",
+ "caniuse-lite": "^1.0.30001165",
"colorette": "^1.2.1",
- "electron-to-chromium": "^1.3.612",
+ "electron-to-chromium": "^1.3.621",
"escalade": "^3.1.1",
"node-releases": "^1.1.67"
}
@@ -574,9 +574,9 @@
"dev": true
},
"caniuse-lite": {
- "version": "1.0.30001165",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz",
- "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==",
+ "version": "1.0.30001170",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz",
+ "integrity": "sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA==",
"dev": true
},
"caseless": {
@@ -856,15 +856,15 @@
}
},
"electron-to-chromium": {
- "version": "1.3.616",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.616.tgz",
- "integrity": "sha512-CI8L38UN2BEnqXw3/oRIQTmde0LiSeqWSRlPA42ZTYgJQ8fYenzAM2Z3ni+jtILTcrs5aiXZCGJ96Pm+3/yGyQ==",
+ "version": "1.3.632",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.632.tgz",
+ "integrity": "sha512-LkaEH9HHr9fodmm3txF4nFMyHN3Yr50HcpD/DBHpLCxzM9doV8AV0er6aBWva4IDs2aA9kGguces0rp+WKL7rg==",
"dev": true
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"end-of-stream": {
@@ -877,13 +877,13 @@
}
},
"enhanced-resolve": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.4.0.tgz",
- "integrity": "sha512-ZmqfWURB2lConOBM1JdCVfPyMRv5RdKWktLXO6123p97ovVm2CLBgw9t5MBj3jJWA6eHyOeIws9iJQoGFR4euQ==",
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.4.1.tgz",
+ "integrity": "sha512-4GbyIMzYktTFoRSmkbgZ1LU+RXwf4AQ8Z+rSuuh1dC8plp0PPeaWvx6+G4hh4KnUJ48VoxKbNyA1QQQIUpXjYA==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.4",
- "tapable": "^2.0.0"
+ "tapable": "^2.2.0"
}
},
"enquirer": {
@@ -1005,13 +1005,13 @@
}
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -1035,7 +1035,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -1044,7 +1044,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -1245,9 +1245,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"foreach": {
@@ -1449,9 +1449,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -1581,9 +1581,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-generator-function": {
@@ -1706,9 +1706,9 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -2254,6 +2254,12 @@
"tough-cookie": "^2.3.3"
}
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -2371,14 +2377,40 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"source-list-map": {
@@ -2433,31 +2465,14 @@
"dev": true
},
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"string.prototype.trimend": {
@@ -2517,15 +2532,35 @@
"dev": true
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"table-layout": {
@@ -2640,9 +2675,9 @@
"dev": true
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"typical": {
@@ -2717,9 +2752,9 @@
}
},
"watchpack": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.0.1.tgz",
- "integrity": "sha512-vO8AKGX22ZRo6PiOFM9dC0re8IcKh8Kd/aH2zeqUc6w4/jBGlTy2P7fTC6ekT0NjVeGjgU2dGC5rNstKkeLEQg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz",
+ "integrity": "sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==",
"dev": true,
"requires": {
"glob-to-regexp": "^0.4.1",
@@ -2733,17 +2768,17 @@
"dev": true
},
"webpack": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.10.0.tgz",
- "integrity": "sha512-P0bHAXmIz0zsNcHNLqFmLY1ZtrT+jtBr7FqpuDtA2o7GiHC+zBsfhgK7SmJ1HG7BAEb3G9JoMdSVi7mEDvG3Zg==",
+ "version": "5.11.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.11.0.tgz",
+ "integrity": "sha512-ubWv7iP54RqAC/VjixgpnLLogCFbAfSOREcSWnnOlZEU8GICC5eKmJSu6YEnph2N2amKqY9rvxSwgyHxVqpaRw==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.0",
"@types/estree": "^0.0.45",
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-module-context": "1.9.1",
+ "@webassemblyjs/wasm-edit": "1.9.1",
+ "@webassemblyjs/wasm-parser": "1.9.1",
"acorn": "^8.0.4",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
diff --git a/examples/webpack/package.json b/examples/webpack/package.json
index 9310de7c3ba0..4ddc81e83804 100644
--- a/examples/webpack/package.json
+++ b/examples/webpack/package.json
@@ -1,12 +1,12 @@
{
"name": "@loopback/example-webpack",
- "version": "0.2.2",
+ "version": "0.2.3",
"description": "An example to bundle @loopback/core using webpack",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"unpkg": "dist/bundle-web.js",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
@@ -15,22 +15,22 @@
"access": "public"
},
"dependencies": {
- "@loopback/core": "^2.13.1",
+ "@loopback/core": "^2.14.0",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.34",
"assert": "^2.0.0",
"buffer": "^6.0.3",
- "eslint": "^7.15.0",
+ "eslint": "^7.18.0",
"events": "^3.2.0",
"process": "^0.11.10",
- "typescript": "~4.1.2",
+ "typescript": "~4.1.3",
"util": "^0.12.3",
- "webpack": "^5.10.0",
+ "webpack": "^5.11.0",
"webpack-cli": "^4.2.0",
"zombie": "^6.1.4"
},
diff --git a/extensions/apiconnect/CHANGELOG.md b/extensions/apiconnect/CHANGELOG.md
index a90a43252aad..27c0a538a888 100644
--- a/extensions/apiconnect/CHANGELOG.md
+++ b/extensions/apiconnect/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.5.6](https://github.com/strongloop/loopback-next/compare/@loopback/apiconnect@0.5.5...@loopback/apiconnect@0.5.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/apiconnect
+
+
+
+
+
## [0.5.5](https://github.com/strongloop/loopback-next/compare/@loopback/apiconnect@0.5.4...@loopback/apiconnect@0.5.5) (2020-12-07)
**Note:** Version bump only for package @loopback/apiconnect
diff --git a/extensions/apiconnect/package-lock.json b/extensions/apiconnect/package-lock.json
index 4c6fabf62418..e9fb33260c82 100644
--- a/extensions/apiconnect/package-lock.json
+++ b/extensions/apiconnect/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/apiconnect",
- "version": "0.5.5",
+ "version": "0.5.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/extensions/apiconnect/package.json b/extensions/apiconnect/package.json
index 7b62ca2e6b29..f602d13aa288 100644
--- a/extensions/apiconnect/package.json
+++ b/extensions/apiconnect/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/apiconnect",
- "version": "0.5.5",
+ "version": "0.5.6",
"description": "An extension for IBM API Connect",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -24,18 +24,18 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35"
},
"keywords": [
diff --git a/extensions/authentication-jwt/CHANGELOG.md b/extensions/authentication-jwt/CHANGELOG.md
index a5d92a36a068..24504fc14a24 100644
--- a/extensions/authentication-jwt/CHANGELOG.md
+++ b/extensions/authentication-jwt/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.7.6](https://github.com/strongloop/loopback-next/compare/@loopback/authentication-jwt@0.7.5...@loopback/authentication-jwt@0.7.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/authentication-jwt
+
+
+
+
+
## [0.7.5](https://github.com/strongloop/loopback-next/compare/@loopback/authentication-jwt@0.7.4...@loopback/authentication-jwt@0.7.5) (2020-12-07)
**Note:** Version bump only for package @loopback/authentication-jwt
diff --git a/extensions/authentication-jwt/README.md b/extensions/authentication-jwt/README.md
index 28d1b0d8eec8..c48c8243c76c 100644
--- a/extensions/authentication-jwt/README.md
+++ b/extensions/authentication-jwt/README.md
@@ -125,7 +125,7 @@ export class TestApplication extends BootMixin(
// Bind datasource for user
this.dataSource(DbDataSource, UserServiceBindings.DATASOURCE_NAME);
// Bind datasource for refresh token
- this.dataSource(DbDataSource, RefreshTokenBindings.DATASOURCE_NAME);
+ this.dataSource(DbDataSource, RefreshTokenServiceBindings.DATASOURCE_NAME);
this.component(RestExplorerComponent);
this.projectRoot = __dirname;
diff --git a/extensions/authentication-jwt/package-lock.json b/extensions/authentication-jwt/package-lock.json
index 96e4edabd023..1edfce70c392 100644
--- a/extensions/authentication-jwt/package-lock.json
+++ b/extensions/authentication-jwt/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/authentication-jwt",
- "version": "0.7.5",
+ "version": "0.7.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -10,9 +10,9 @@
"integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ=="
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/node": {
@@ -132,9 +132,9 @@
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
}
}
diff --git a/extensions/authentication-jwt/package.json b/extensions/authentication-jwt/package.json
index 831051718624..6c7480b8c2bf 100644
--- a/extensions/authentication-jwt/package.json
+++ b/extensions/authentication-jwt/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/authentication-jwt",
- "version": "0.7.5",
+ "version": "0.7.6",
"description": "Extension for the prototype of JWT authentication",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,31 +21,31 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/authentication": "^7.0.5",
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/authentication": "^7.0.6",
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
- "@loopback/security": "^0.3.5",
+ "@loopback/security": "^0.3.6",
"@types/bcryptjs": "2.4.2",
"bcryptjs": "^2.4.3",
"jsonwebtoken": "^8.5.1"
},
"devDependencies": {
- "@loopback/authentication": "^7.0.5",
- "@loopback/boot": "^3.1.2",
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/service-proxy": "^3.0.5",
- "@loopback/testlab": "^3.2.10",
- "@types/lodash": "^4.14.165",
+ "@loopback/authentication": "^7.0.6",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/service-proxy": "^3.0.6",
+ "@loopback/testlab": "^3.2.11",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
"lodash": "^4.17.20",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"keywords": [
"LoopBack",
diff --git a/extensions/authentication-passport/CHANGELOG.md b/extensions/authentication-passport/CHANGELOG.md
index 5df1c4159d68..b8db59fe3d25 100644
--- a/extensions/authentication-passport/CHANGELOG.md
+++ b/extensions/authentication-passport/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.0.6](https://github.com/strongloop/loopback-next/compare/@loopback/authentication-passport@3.0.5...@loopback/authentication-passport@3.0.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/authentication-passport
+
+
+
+
+
## [3.0.5](https://github.com/strongloop/loopback-next/compare/@loopback/authentication-passport@3.0.4...@loopback/authentication-passport@3.0.5) (2020-12-07)
**Note:** Version bump only for package @loopback/authentication-passport
diff --git a/extensions/authentication-passport/package-lock.json b/extensions/authentication-passport/package-lock.json
index 314a2f9e3e1b..1500aa6c0782 100644
--- a/extensions/authentication-passport/package-lock.json
+++ b/extensions/authentication-passport/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/authentication-passport",
- "version": "3.0.5",
+ "version": "3.0.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -56,9 +56,9 @@
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/mime": {
@@ -83,9 +83,9 @@
}
},
"@types/passport": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.4.tgz",
- "integrity": "sha512-h5OfAbfBBYSzjeU0GTuuqYEk9McTgWeGQql9g3gUw2/NNCfD7VgExVRYJVVeU13Twn202Mvk9BT0bUrl30sEgA==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.5.tgz",
+ "integrity": "sha512-wNL4kT/5rnZgyGkqX7V2qH/R/te+bklv+nXcvHzyX99vNggx9DGN+F8CEOW3P/gRi7Cjm991uidRgTHsYkSuMg==",
"dev": true,
"requires": {
"@types/express": "*"
@@ -102,9 +102,9 @@
}
},
"@types/passport-oauth2": {
- "version": "1.4.9",
- "resolved": "https://registry.npmjs.org/@types/passport-oauth2/-/passport-oauth2-1.4.9.tgz",
- "integrity": "sha512-QP0q+NVQOaIu2r0e10QWkiUA0Ya5mOBHRJN0UrI+LolMLOP1/VN4EVIpJ3xVwFo+xqNFRoFvFwJhBvKnk7kpUA==",
+ "version": "1.4.10",
+ "resolved": "https://registry.npmjs.org/@types/passport-oauth2/-/passport-oauth2-1.4.10.tgz",
+ "integrity": "sha512-klShWm9xAqjM3rU31KyMMiB9M8jmJPkStUvCJ/kIv73/Vh3OVnfeTExrkMCM2wA+94MliExqwHVL3J0WD2kbnQ==",
"dev": true,
"requires": {
"@types/express": "*",
@@ -687,9 +687,9 @@
}
},
"qs": {
- "version": "6.9.4",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz",
- "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==",
+ "version": "6.9.6",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
+ "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
"dev": true
},
"range-parser": {
diff --git a/extensions/authentication-passport/package.json b/extensions/authentication-passport/package.json
index e728963d8768..c08dfbf15a41 100644
--- a/extensions/authentication-passport/package.json
+++ b/extensions/authentication-passport/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/authentication-passport",
- "version": "3.0.5",
+ "version": "3.0.6",
"description": "A package creating adapters between the passport module and @loopback/authentication",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -24,31 +24,31 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/authentication": "^7.0.5",
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/authentication": "^7.0.6",
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
- "@loopback/security": "^0.3.5",
+ "@loopback/security": "^0.3.6",
"passport": "^0.4.1",
"tslib": "^2.0.3",
"util-promisifyall": "^1.0.6"
},
"devDependencies": {
- "@loopback/authentication": "^7.0.5",
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/mock-oauth2-provider": "^0.1.13",
- "@loopback/openapi-spec-builder": "^3.0.3",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/authentication": "^7.0.6",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/mock-oauth2-provider": "^0.1.14",
+ "@loopback/openapi-spec-builder": "^3.0.4",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/jsonwebtoken": "^8.5.0",
- "@types/lodash": "^4.14.165",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
- "@types/passport": "^1.0.4",
+ "@types/passport": "^1.0.5",
"@types/passport-http": "^0.3.8",
- "@types/passport-oauth2": "^1.4.9",
+ "@types/passport-oauth2": "^1.4.10",
"@types/qs": "^6.9.5",
"axios": "^0.21.0",
"body-parser": "^1.19.0",
@@ -58,7 +58,7 @@
"lodash": "^4.17.20",
"passport-http": "^0.3.0",
"passport-oauth2": "^1.5.0",
- "qs": "^6.9.4",
+ "qs": "^6.9.6",
"supertest": "^6.0.1"
},
"keywords": [
diff --git a/extensions/context-explorer/CHANGELOG.md b/extensions/context-explorer/CHANGELOG.md
index 17a48c966caf..e2c318d58014 100644
--- a/extensions/context-explorer/CHANGELOG.md
+++ b/extensions/context-explorer/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [0.3.0](https://github.com/strongloop/loopback-next/compare/@loopback/context-explorer@0.2.5...@loopback/context-explorer@0.3.0) (2021-01-21)
+
+
+### Features
+
+* fix eslint violations ([062de9c](https://github.com/strongloop/loopback-next/commit/062de9c5f908332f58f54ddf13798a22ca21f1e7))
+
+
+
+
+
## [0.2.5](https://github.com/strongloop/loopback-next/compare/@loopback/context-explorer@0.2.4...@loopback/context-explorer@0.2.5) (2020-12-07)
**Note:** Version bump only for package @loopback/context-explorer
diff --git a/extensions/context-explorer/package-lock.json b/extensions/context-explorer/package-lock.json
index 0cf6eebdf150..5a581e8aa8fb 100644
--- a/extensions/context-explorer/package-lock.json
+++ b/extensions/context-explorer/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/context-explorer",
- "version": "0.2.5",
+ "version": "0.3.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/extensions/context-explorer/package.json b/extensions/context-explorer/package.json
index f9e99a5b6c76..99493685cfa3 100644
--- a/extensions/context-explorer/package.json
+++ b/extensions/context-explorer/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/context-explorer",
- "version": "0.2.5",
+ "version": "0.3.0",
"description": "Visualize context hierarchy, bindings, configurations, and dependencies",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,19 +21,19 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
"ts-graphviz": "^0.13.2",
"viz.js": "^2.1.2"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35"
},
"keywords": [
diff --git a/extensions/context-explorer/src/__tests__/acceptance/context-explorer.acceptance.ts b/extensions/context-explorer/src/__tests__/acceptance/context-explorer.acceptance.ts
index c034221a802b..086837d871b0 100644
--- a/extensions/context-explorer/src/__tests__/acceptance/context-explorer.acceptance.ts
+++ b/extensions/context-explorer/src/__tests__/acceptance/context-explorer.acceptance.ts
@@ -67,7 +67,8 @@ describe('Context Explorer (acceptance)', function (this: Mocha.Suite) {
);
});
- it('invokes GET /graph', async () => {
+ it('invokes GET /graph', async function (this: Mocha.Context) {
+ if ((process.platform as string) === 'os390') return this.skip();
const res = await request.get('/context-explorer/graph').expect(200);
expect(res.get('content-type')).to.match(/^image\/svg\+xml/);
});
diff --git a/extensions/context-explorer/src/__tests__/integration/visualizer.integration.ts b/extensions/context-explorer/src/__tests__/integration/visualizer.integration.ts
index 87f2721f693a..f73264444128 100644
--- a/extensions/context-explorer/src/__tests__/integration/visualizer.integration.ts
+++ b/extensions/context-explorer/src/__tests__/integration/visualizer.integration.ts
@@ -14,7 +14,8 @@ describe('Visualizer', () => {
beforeEach(givenContexts);
- it('creates a dot graph with bindings', async () => {
+ it('creates a dot graph with bindings', async function (this: Mocha.Context) {
+ if ((process.platform as string) === 'os390') return this.skip();
server.bind('port').to(3000);
app.bind('now').toDynamicValue(() => new Date());
const json = server.inspect();
diff --git a/extensions/context-explorer/src/visualizer.ts b/extensions/context-explorer/src/visualizer.ts
index 3a43f046da9b..f3962bc2477c 100644
--- a/extensions/context-explorer/src/visualizer.ts
+++ b/extensions/context-explorer/src/visualizer.ts
@@ -4,7 +4,6 @@
// License text available at https://opensource.org/licenses/MIT
const Viz = require('viz.js');
-// eslint-disable-next-line @typescript-eslint/naming-convention
let vizOptions: {Module: Function; render: Function};
/**
diff --git a/extensions/cron/CHANGELOG.md b/extensions/cron/CHANGELOG.md
index b6e3aa484263..c848774479dd 100644
--- a/extensions/cron/CHANGELOG.md
+++ b/extensions/cron/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.3.6](https://github.com/strongloop/loopback-next/compare/@loopback/cron@0.3.5...@loopback/cron@0.3.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/cron
+
+
+
+
+
## [0.3.5](https://github.com/strongloop/loopback-next/compare/@loopback/cron@0.3.4...@loopback/cron@0.3.5) (2020-12-07)
**Note:** Version bump only for package @loopback/cron
diff --git a/extensions/cron/package-lock.json b/extensions/cron/package-lock.json
index 267de60a9331..ff44270414c1 100644
--- a/extensions/cron/package-lock.json
+++ b/extensions/cron/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/cron",
- "version": "0.3.5",
+ "version": "0.3.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/extensions/cron/package.json b/extensions/cron/package.json
index 708482f86536..ebc294a61223 100644
--- a/extensions/cron/package.json
+++ b/extensions/cron/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/cron",
- "version": "0.3.5",
+ "version": "0.3.6",
"description": "Schedule tasks using cron-like syntax",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,7 +21,7 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
"@types/cron": "^1.7.2",
@@ -31,10 +31,10 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35"
},
"keywords": [
diff --git a/extensions/graphql/CHANGELOG.md b/extensions/graphql/CHANGELOG.md
index 6e5ef73d5328..5af181b71d23 100644
--- a/extensions/graphql/CHANGELOG.md
+++ b/extensions/graphql/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.2.4](https://github.com/strongloop/loopback-next/compare/@loopback/graphql@0.2.3...@loopback/graphql@0.2.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/graphql
+
+
+
+
+
## [0.2.3](https://github.com/strongloop/loopback-next/compare/@loopback/graphql@0.2.2...@loopback/graphql@0.2.3) (2020-12-07)
**Note:** Version bump only for package @loopback/graphql
diff --git a/extensions/graphql/package-lock.json b/extensions/graphql/package-lock.json
index 0bbcb9f88bad..25f1160a34ab 100644
--- a/extensions/graphql/package-lock.json
+++ b/extensions/graphql/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/graphql",
- "version": "0.2.3",
+ "version": "0.2.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -100,13 +100,6 @@
"integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==",
"requires": {
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/body-parser": {
@@ -116,28 +109,14 @@
"requires": {
"@types/connect": "*",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"requires": {
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/content-disposition": {
@@ -146,21 +125,14 @@
"integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg=="
},
"@types/cookies": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.5.tgz",
- "integrity": "sha512-3+TAFSm78O7/bAeYdB8FoYGntuT87vVP9JKuQRL8sRhv9313LP2SpHHL50VeFtnyjIcb3UELddMk5Yt0eOSOkg==",
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.6.tgz",
+ "integrity": "sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==",
"requires": {
"@types/connect": "*",
"@types/express": "*",
"@types/keygrip": "*",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/cors": {
@@ -189,20 +161,13 @@
}
},
"@types/express-serve-static-core": {
- "version": "4.17.13",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.13.tgz",
- "integrity": "sha512-RgDi5a4nuzam073lRGKTUIaL3eF2+H7LJvJ8eUnCI0wA6SNjXc44DCmWNiTLs/AZ7QlsFWZiw/gTG3nSQGL0fA==",
+ "version": "4.17.17",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz",
+ "integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
"@types/range-parser": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/fs-capacitor": {
@@ -211,13 +176,6 @@
"integrity": "sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==",
"requires": {
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/glob": {
@@ -268,13 +226,6 @@
"@types/keygrip": "*",
"@types/koa-compose": "*",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/koa-compose": {
@@ -291,9 +242,9 @@
"integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w=="
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/minimatch": {
"version": "3.0.3",
@@ -312,13 +263,6 @@
"requires": {
"@types/node": "*",
"form-data": "^3.0.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/qs": {
@@ -337,19 +281,12 @@
"integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ=="
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/ws": {
@@ -358,13 +295,6 @@
"integrity": "sha512-Y29uQ3Uy+58bZrFLhX36hcI3Np37nqWE7ky5tjiDoy1GDZnIwVxS0CgF+s+1bXMzjKBFy+fqaRfb708iNzdinw==",
"requires": {
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@wry/equality": {
@@ -385,21 +315,21 @@
}
},
"apollo-cache-control": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.11.4.tgz",
- "integrity": "sha512-FUKE8ASr8GxVq5rmky/tY8bsf++cleGT591lfLiqnPsP1fo3kAfgRfWA2QRHTCKFNlQxzUhVOEDv+PaysqiOjw==",
+ "version": "0.11.6",
+ "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.11.6.tgz",
+ "integrity": "sha512-YZ+uuIG+fPy+mkpBS2qKF0v1qlzZ3PW6xZVaDukeK3ed3iAs4L/2YnkTqau3OmoF/VPzX2FmSkocX/OVd59YSw==",
"requires": {
- "apollo-server-env": "^2.4.5",
- "apollo-server-plugin-base": "^0.10.2"
+ "apollo-server-env": "^3.0.0",
+ "apollo-server-plugin-base": "^0.10.4"
}
},
"apollo-datasource": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.7.2.tgz",
- "integrity": "sha512-ibnW+s4BMp4K2AgzLEtvzkjg7dJgCaw9M5b5N0YKNmeRZRnl/I/qBTQae648FsRKgMwTbRQIvBhQ0URUFAqFOw==",
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.7.3.tgz",
+ "integrity": "sha512-PE0ucdZYjHjUyXrFWRwT02yLcx2DACsZ0jm1Mp/0m/I9nZu/fEkvJxfsryXB6JndpmQO77gQHixf/xGCN976kA==",
"requires": {
- "apollo-server-caching": "^0.5.2",
- "apollo-server-env": "^2.4.5"
+ "apollo-server-caching": "^0.5.3",
+ "apollo-server-env": "^3.0.0"
}
},
"apollo-env": {
@@ -434,48 +364,48 @@
}
},
"apollo-reporting-protobuf": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-0.6.1.tgz",
- "integrity": "sha512-qr4DheFP154PGZsd93SSIS9RkqHnR5b6vT+eCloWjy3UIpY+yZ3cVLlttlIjYvOG4xTJ25XEwcHiAExatQo/7g==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-0.6.2.tgz",
+ "integrity": "sha512-WJTJxLM+MRHNUxt1RTl4zD0HrLdH44F2mDzMweBj1yHL0kSt8I1WwoiF/wiGVSpnG48LZrBegCaOJeuVbJTbtw==",
"requires": {
"@apollo/protobufjs": "^1.0.3"
}
},
"apollo-server-caching": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.5.2.tgz",
- "integrity": "sha512-HUcP3TlgRsuGgeTOn8QMbkdx0hLPXyEJehZIPrcof0ATz7j7aTPA4at7gaiFHCo8gk07DaWYGB3PFgjboXRcWQ==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.5.3.tgz",
+ "integrity": "sha512-iMi3087iphDAI0U2iSBE9qtx9kQoMMEWr6w+LwXruBD95ek9DWyj7OeC2U/ngLjRsXM43DoBDXlu7R+uMjahrQ==",
"requires": {
- "lru-cache": "^5.0.0"
+ "lru-cache": "^6.0.0"
}
},
"apollo-server-core": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.19.0.tgz",
- "integrity": "sha512-2aMKUVPyNbomJQaG2tkpfqvp1Tfgxgkdr7nX5zHudYNSzsPrHw+CcYlCbIVFFI/mTZsjoK9czNq1qerFRxZbJw==",
+ "version": "2.19.2",
+ "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.19.2.tgz",
+ "integrity": "sha512-liLgLhTIGWZtdQbxuxo3/Yv8j+faKQcI60kOL+uwfByGhoKLZEQp5nqi2IdMK6JXt1VuyKwKu7lTzj02a9S3jA==",
"requires": {
"@apollographql/apollo-tools": "^0.4.3",
"@apollographql/graphql-playground-html": "1.6.26",
"@types/graphql-upload": "^8.0.0",
"@types/ws": "^7.0.0",
- "apollo-cache-control": "^0.11.4",
- "apollo-datasource": "^0.7.2",
+ "apollo-cache-control": "^0.11.6",
+ "apollo-datasource": "^0.7.3",
"apollo-graphql": "^0.6.0",
- "apollo-reporting-protobuf": "^0.6.1",
- "apollo-server-caching": "^0.5.2",
- "apollo-server-env": "^2.4.5",
+ "apollo-reporting-protobuf": "^0.6.2",
+ "apollo-server-caching": "^0.5.3",
+ "apollo-server-env": "^3.0.0",
"apollo-server-errors": "^2.4.2",
- "apollo-server-plugin-base": "^0.10.2",
- "apollo-server-types": "^0.6.1",
- "apollo-tracing": "^0.12.0",
+ "apollo-server-plugin-base": "^0.10.4",
+ "apollo-server-types": "^0.6.3",
+ "apollo-tracing": "^0.12.2",
"async-retry": "^1.2.1",
"fast-json-stable-stringify": "^2.0.0",
- "graphql-extensions": "^0.12.6",
- "graphql-tag": "^2.9.2",
+ "graphql-extensions": "^0.12.8",
+ "graphql-tag": "^2.11.0",
"graphql-tools": "^4.0.0",
"graphql-upload": "^8.0.2",
"loglevel": "^1.6.7",
- "lru-cache": "^5.0.0",
+ "lru-cache": "^6.0.0",
"sha.js": "^2.4.11",
"subscriptions-transport-ws": "^0.9.11",
"uuid": "^8.0.0",
@@ -483,9 +413,9 @@
}
},
"apollo-server-env": {
- "version": "2.4.5",
- "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.4.5.tgz",
- "integrity": "sha512-nfNhmGPzbq3xCEWT8eRpoHXIPNcNy3QcEoBlzVMjeglrBGryLG2LXwBSPnVmTRRrzUYugX0ULBtgE3rBFNoUgA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-3.0.0.tgz",
+ "integrity": "sha512-tPSN+VttnPsoQAl/SBVUpGbLA97MXG990XIwq6YUnJyAixrrsjW1xYG7RlaOqetxm80y5mBZKLrRDiiSsW/vog==",
"requires": {
"node-fetch": "^2.1.2",
"util.promisify": "^1.0.0"
@@ -497,19 +427,19 @@
"integrity": "sha512-FeGxW3Batn6sUtX3OVVUm7o56EgjxDlmgpTLNyWcLb0j6P8mw9oLNyAm3B+deHA4KNdNHO5BmHS2g1SJYjqPCQ=="
},
"apollo-server-express": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.19.0.tgz",
- "integrity": "sha512-3rgSrTme1SlLoecAYtSa8ThH6vYvz29QecgZCigq5Vdc6bFP2SZrCk0ls6BAdD8OZbVKUtizzRxd0yd/uREPAw==",
+ "version": "2.19.2",
+ "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.19.2.tgz",
+ "integrity": "sha512-1v2H6BgDkS4QzRbJ9djn2o0yv5m/filbpiupxAsCG9f+sAoSlY3eYSj84Sbex2r5+4itAvT9y84WI7d9RBYs/Q==",
"requires": {
"@apollographql/graphql-playground-html": "1.6.26",
"@types/accepts": "^1.3.5",
"@types/body-parser": "1.19.0",
"@types/cors": "2.8.8",
"@types/express": "4.17.7",
- "@types/express-serve-static-core": "4.17.13",
+ "@types/express-serve-static-core": "4.17.17",
"accepts": "^1.3.5",
- "apollo-server-core": "^2.19.0",
- "apollo-server-types": "^0.6.1",
+ "apollo-server-core": "^2.19.2",
+ "apollo-server-types": "^0.6.3",
"body-parser": "^1.18.3",
"cors": "^2.8.4",
"express": "^4.17.1",
@@ -521,30 +451,30 @@
}
},
"apollo-server-plugin-base": {
- "version": "0.10.2",
- "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.10.2.tgz",
- "integrity": "sha512-uM5uL1lOxbXdgvt/aEIbgs40fV9xA45Y3Mmh0VtQ/ddqq0MXR5aG92nnf8rM+URarBCUfxKJKaYzJJ/CXAnEdA==",
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.10.4.tgz",
+ "integrity": "sha512-HRhbyHgHFTLP0ImubQObYhSgpmVH4Rk1BinnceZmwudIVLKrqayIVOELdyext/QnSmmzg5W7vF3NLGBcVGMqDg==",
"requires": {
- "apollo-server-types": "^0.6.1"
+ "apollo-server-types": "^0.6.3"
}
},
"apollo-server-types": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.6.1.tgz",
- "integrity": "sha512-IEQ37aYvMLiTUzsySVLOSuvvhxuyYdhI05f3cnH6u2aN1HgGp7vX6bg+U3Ue8wbHfdcifcGIk5UEU+Q+QO6InA==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.6.3.tgz",
+ "integrity": "sha512-aVR7SlSGGY41E1f11YYz5bvwA89uGmkVUtzMiklDhZ7IgRJhysT5Dflt5IuwDxp+NdQkIhVCErUXakopocFLAg==",
"requires": {
- "apollo-reporting-protobuf": "^0.6.1",
- "apollo-server-caching": "^0.5.2",
- "apollo-server-env": "^2.4.5"
+ "apollo-reporting-protobuf": "^0.6.2",
+ "apollo-server-caching": "^0.5.3",
+ "apollo-server-env": "^3.0.0"
}
},
"apollo-tracing": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.12.0.tgz",
- "integrity": "sha512-cMUYGE6mOEwb9HDqhf4fiPEo2JMhjPIqEprAQEC57El76avRpRig5NM0bnqMZcYJZR5QmLlNcttNccOwf9WrNg==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.12.2.tgz",
+ "integrity": "sha512-SYN4o0C0wR1fyS3+P0FthyvsQVHFopdmN3IU64IaspR/RZScPxZ3Ae8uu++fTvkQflAkglnFM0aX6DkZERBp6w==",
"requires": {
- "apollo-server-env": "^2.4.5",
- "apollo-server-plugin-base": "^0.10.2"
+ "apollo-server-env": "^3.0.0",
+ "apollo-server-plugin-base": "^0.10.4"
}
},
"apollo-utilities": {
@@ -663,18 +593,18 @@
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
},
"call-bind": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
- "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"requires": {
"function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.0"
+ "get-intrinsic": "^1.0.2"
}
},
"class-transformer": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.3.1.tgz",
- "integrity": "sha512-cKFwohpJbuMovS8xVLmn8N2AUbAuc8pVo4zEfsUVo8qgECOogns1WVk/FkOZoxhOPTyTYFckuoH+13FO+MQ8GA==",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.3.2.tgz",
+ "integrity": "sha512-9QY6QXBH/+Gt1C3HBmJCrgY6+EFpIa6aLjfDnlXFx0zQl/HjrCE7qoaI0srNrxpMIfsobCpgUdDG5JYtJOpVsw==",
"dev": true
},
"combined-stream": {
@@ -726,9 +656,9 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"core-js": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz",
- "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg=="
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz",
+ "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q=="
},
"cors": {
"version": "2.8.5",
@@ -806,21 +736,24 @@
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"es-abstract": {
- "version": "1.17.7",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
+ "version": "1.18.0-next.2",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz",
+ "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==",
"requires": {
+ "call-bind": "^1.0.2",
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
"is-callable": "^1.2.2",
+ "is-negative-zero": "^2.0.1",
"is-regex": "^1.1.1",
- "object-inspect": "^1.8.0",
+ "object-inspect": "^1.9.0",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.1",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
+ "object.assign": "^4.1.2",
+ "string.prototype.trimend": "^1.0.3",
+ "string.prototype.trimstart": "^1.0.3"
}
},
"es-to-primitive": {
@@ -934,6 +867,14 @@
}
}
},
+ "for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "requires": {
+ "is-callable": "^1.1.3"
+ }
+ },
"form-data": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz",
@@ -970,9 +911,9 @@
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"get-intrinsic": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
- "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz",
+ "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==",
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
@@ -998,13 +939,13 @@
"integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA=="
},
"graphql-extensions": {
- "version": "0.12.6",
- "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.12.6.tgz",
- "integrity": "sha512-EUNw+OIRXYTPxToSoJjhJvS5aGa94KkdkZnL1I9DCZT64/+rzQNeLeGj+goj2RYuYvoQe1Bmcx0CNZ1GqwBhng==",
+ "version": "0.12.8",
+ "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.12.8.tgz",
+ "integrity": "sha512-xjsSaB6yKt9jarFNNdivl2VOx52WySYhxPgf8Y16g6GKZyAzBoIFiwyGw5PJDlOSUa6cpmzn6o7z8fVMbSAbkg==",
"requires": {
"@apollographql/apollo-tools": "^0.4.3",
- "apollo-server-env": "^2.4.5",
- "apollo-server-types": "^0.6.1"
+ "apollo-server-env": "^3.0.0",
+ "apollo-server-types": "^0.6.3"
}
},
"graphql-query-complexity": {
@@ -1167,11 +1108,11 @@
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
},
"lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"requires": {
- "yallist": "^3.0.2"
+ "yallist": "^4.0.0"
}
},
"media-typer": {
@@ -1269,27 +1210,6 @@
"call-bind": "^1.0.0",
"define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.1"
- },
- "dependencies": {
- "es-abstract": {
- "version": "1.18.0-next.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
- "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.2.2",
- "is-negative-zero": "^2.0.0",
- "is-regex": "^1.1.1",
- "object-inspect": "^1.8.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.1",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
- }
- }
}
},
"on-finished": {
@@ -1609,14 +1529,15 @@
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"util.promisify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
- "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz",
+ "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==",
"requires": {
+ "call-bind": "^1.0.0",
"define-properties": "^1.1.3",
- "es-abstract": "^1.17.2",
+ "for-each": "^0.3.3",
"has-symbols": "^1.0.1",
- "object.getownpropertydescriptors": "^2.1.0"
+ "object.getownpropertydescriptors": "^2.1.1"
}
},
"utils-merge": {
@@ -1625,9 +1546,9 @@
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"uuid": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz",
- "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg=="
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
},
"vary": {
"version": "1.1.2",
@@ -1657,9 +1578,9 @@
}
},
"yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"zen-observable": {
"version": "0.8.15",
diff --git a/extensions/graphql/package.json b/extensions/graphql/package.json
index 8a0b605767ab..67b4df9ebfd0 100644
--- a/extensions/graphql/package.json
+++ b/extensions/graphql/package.json
@@ -1,9 +1,9 @@
{
"name": "@loopback/graphql",
- "version": "0.2.3",
+ "version": "0.2.4",
"description": "LoopBack's graphql integration",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -34,28 +34,28 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1"
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
- "@loopback/http-server": "^2.3.3",
- "apollo-server-express": "^2.19.0",
+ "@loopback/http-server": "^2.3.4",
+ "apollo-server-express": "^2.19.2",
"debug": "^4.3.1",
"express": "^4.17.1",
"graphql": "^15.4.0",
"type-graphql": "^1.1.1"
},
"devDependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.35",
- "class-transformer": "^0.3.1"
+ "class-transformer": "^0.3.2"
},
"repository": {
"type": "git",
diff --git a/extensions/health/CHANGELOG.md b/extensions/health/CHANGELOG.md
index 356d241b6506..62384afe3b9d 100644
--- a/extensions/health/CHANGELOG.md
+++ b/extensions/health/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.6.3](https://github.com/strongloop/loopback-next/compare/@loopback/health@0.6.2...@loopback/health@0.6.3) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/health
+
+
+
+
+
## [0.6.2](https://github.com/strongloop/loopback-next/compare/@loopback/health@0.6.1...@loopback/health@0.6.2) (2020-12-07)
**Note:** Version bump only for package @loopback/health
diff --git a/extensions/health/README.md b/extensions/health/README.md
index 40c2773260c3..2bb08d7ad2ac 100644
--- a/extensions/health/README.md
+++ b/extensions/health/README.md
@@ -11,8 +11,6 @@ npm install --save @loopback/health
## Basic use
-{% include note.html content="*this.configure()* must be called before *this.component()* to take effect. This is a [known limitation](https://github.com/strongloop/loopback-next/issues/4289#issuecomment-564617263)." %}
-
The component should be loaded in the constructor of your custom Application
class.
@@ -44,6 +42,11 @@ this.configure(HealthBindings.COMPONENT).to({
});
```
+{% include note.html content="*this.configure()* must be called before
+*this.component()* to take effect. This is a
+[known limitation](https://github.com/strongloop/loopback-next/issues/4289#issuecomment-564617263)
+." %}
+
http://localhost:3000/health returns health in JSON format, such as:
```json
diff --git a/extensions/health/package-lock.json b/extensions/health/package-lock.json
index 7b65098cafa8..5ffb9501956d 100644
--- a/extensions/health/package-lock.json
+++ b/extensions/health/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/health",
- "version": "0.6.2",
+ "version": "0.6.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/extensions/health/package.json b/extensions/health/package.json
index 7946105d9561..c240d1958945 100644
--- a/extensions/health/package.json
+++ b/extensions/health/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/health",
- "version": "0.6.2",
+ "version": "0.6.3",
"description": "An extension exposes health check related endpoints with LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -22,19 +22,19 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
"@cloudnative/health": "^2.1.2",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35"
},
"keywords": [
diff --git a/extensions/health/src/controllers/health.controller.ts b/extensions/health/src/controllers/health.controller.ts
index 0731d8d95b81..3719a6f799b1 100644
--- a/extensions/health/src/controllers/health.controller.ts
+++ b/extensions/health/src/controllers/health.controller.ts
@@ -20,7 +20,7 @@ function getHealthResponseObject() {
/**
* OpenAPI definition of health response schema
*/
- const healthResponseSchema: SchemaObject = {
+ const HEALTH_RESPONSE_SCHEMA: SchemaObject = {
type: 'object',
properties: {
status: {type: 'string'},
@@ -46,22 +46,22 @@ function getHealthResponseObject() {
/**
* OpenAPI definition of health response
*/
- const healthResponse: ResponseObject = {
+ const HEALTH_RESPONSE: ResponseObject = {
description: 'Health Response',
content: {
'application/json': {
- schema: healthResponseSchema,
+ schema: HEALTH_RESPONSE_SCHEMA,
},
},
};
- return healthResponse;
+ return HEALTH_RESPONSE;
}
/**
* OpenAPI spec for health endpoints
*/
-const healthSpec: OperationObject = {
+const HEALTH_SPEC: OperationObject = {
// response object needs to be cloned because the oas-validator throws an
// error if the same object is referenced twice
responses: {
@@ -74,7 +74,7 @@ const healthSpec: OperationObject = {
/**
* OpenAPI spec to hide endpoints
*/
-const hiddenSpec: OperationObject = {
+const HIDDEN_SPEC: OperationObject = {
responses: {},
'x-visibility': 'undocumented',
};
@@ -89,7 +89,7 @@ const hiddenSpec: OperationObject = {
export function createHealthController(
options: HealthOptions = DEFAULT_HEALTH_OPTIONS,
): Constructor {
- const spec = options.openApiSpec ? healthSpec : hiddenSpec;
+ const spec = options.openApiSpec ? HEALTH_SPEC : HIDDEN_SPEC;
/**
* Controller for health endpoints
diff --git a/extensions/logging/CHANGELOG.md b/extensions/logging/CHANGELOG.md
index b5d761d14d8a..776b6ab10841 100644
--- a/extensions/logging/CHANGELOG.md
+++ b/extensions/logging/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.4.6](https://github.com/strongloop/loopback-next/compare/@loopback/logging@0.4.5...@loopback/logging@0.4.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/logging
+
+
+
+
+
## [0.4.5](https://github.com/strongloop/loopback-next/compare/@loopback/logging@0.4.4...@loopback/logging@0.4.5) (2020-12-07)
**Note:** Version bump only for package @loopback/logging
diff --git a/extensions/logging/README.md b/extensions/logging/README.md
index 564b85a072fa..846efcb16a4e 100644
--- a/extensions/logging/README.md
+++ b/extensions/logging/README.md
@@ -79,6 +79,9 @@ app.configure(LoggingBindings.COMPONENT).to({
});
```
+{% include note.html content="this.configure() must be called before
+this.component() to take effect." %}
+
- `enableFluent`: Enable logs to be sent to Fluentd
- `enableHttpAccessLog`: Enable all http requests to be logged via a global
interceptor
diff --git a/extensions/logging/package-lock.json b/extensions/logging/package-lock.json
index cfc3cfa619bf..29c6ad956518 100644
--- a/extensions/logging/package-lock.json
+++ b/extensions/logging/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/logging",
- "version": "0.4.5",
+ "version": "0.4.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/extensions/logging/package.json b/extensions/logging/package.json
index aeb5ceb986a9..80bb274db091 100644
--- a/extensions/logging/package.json
+++ b/extensions/logging/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/logging",
- "version": "0.4.5",
+ "version": "0.4.6",
"description": "An extension exposes logging for Winston and Fluentd with LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,8 +21,8 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
"fluent-logger": "^3.4.1",
@@ -32,11 +32,11 @@
"winston-transport": "^4.4.0"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/morgan": "^1.9.2",
"@types/node": "^10.17.35"
},
diff --git a/extensions/metrics/CHANGELOG.md b/extensions/metrics/CHANGELOG.md
index 45c51d293cb3..2fcf9cbd87ad 100644
--- a/extensions/metrics/CHANGELOG.md
+++ b/extensions/metrics/CHANGELOG.md
@@ -3,6 +3,25 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [0.6.0](https://github.com/strongloop/loopback-next/compare/@loopback/metrics@0.5.2...@loopback/metrics@0.6.0) (2021-01-21)
+
+
+### Bug Fixes
+
+* **metrics:** fix error thrown by interceptor if invoked by proxy ([2fd2da2](https://github.com/strongloop/loopback-next/commit/2fd2da2a5664651675a7510910a674706d04d5f8))
+* **metrics:** use path pattern instead of raw path in path labels ([80a07bc](https://github.com/strongloop/loopback-next/commit/80a07bcb624fd60a72b7537d285723de3a7c04f8))
+
+
+### Features
+
+* **metrics:** add new Pushgateway options ([6d73fff](https://github.com/strongloop/loopback-next/commit/6d73fff0e19eb1d5646878d77c38463422607c22))
+* **metrics:** add option to configure static default labels ([8bce9e8](https://github.com/strongloop/loopback-next/commit/8bce9e81c916051633486dff2f4aa1af643ca15c))
+* **metrics:** additional method invocation labels ([cb3b9a5](https://github.com/strongloop/loopback-next/commit/cb3b9a58683a5cd9c707e77b6896eb5bb4de4db2))
+
+
+
+
+
## [0.5.2](https://github.com/strongloop/loopback-next/compare/@loopback/metrics@0.5.1...@loopback/metrics@0.5.2) (2020-12-07)
**Note:** Version bump only for package @loopback/metrics
diff --git a/extensions/metrics/README.md b/extensions/metrics/README.md
index ebe2bfcae805..ca41485ce724 100644
--- a/extensions/metrics/README.md
+++ b/extensions/metrics/README.md
@@ -44,9 +44,16 @@ this.configure(MetricsBindings.COMPONENT).to({
defaultMetrics: {
timeout: 5000,
},
+ defaultLabels: {
+ service: 'api',
+ version: '1.0.0',
+ },
});
```
+{% include note.html content="this.configure() must be called before
+this.component() to take effect." %}
+
It also has to be noted, that by default the OpenAPI spec is disabled and
therefore the metrics endpoint will not be visible in the API explorer. The spec
can be enabled by setting `openApiSpec` to `true`.
@@ -70,12 +77,12 @@ There are three types of metrics being collected by this component:
Prometheus supports two modes to collect metrics:
-- pull - scraping from metrics http endpoint exposed by the system being
- monitored
-- push - pushing metrics from the system being monitored to a push gateway
-
-See
-https://prometheus.io/docs/introduction/faq/#why-do-you-pull-rather-than-push
+- **pull** - scraping from metrics http endpoint exposed by the system being
+ monitored. This is the usual mode of operation. See
+ [Why do you pull rather than push?](https://prometheus.io/docs/introduction/faq/#why-do-you-pull-rather-than-push)
+- **push** - pushing metrics from the system being monitored to a push gateway.
+ Generally used for ephemeral jobs - see
+ [When to use the Pushgateway](https://prometheus.io/docs/practices/pushing/)
## Try it out
@@ -172,13 +179,37 @@ nodejs_heap_space_size_available_bytes{space="new_large_object"} 1047952 1564508
nodejs_version_info{version="v12.4.0",major="12",minor="4",patch="0"} 1
# HELP loopback_invocation_duration_seconds method invocation
# TYPE loopback_invocation_duration_seconds gauge
+loopback_invocation_duration_seconds{targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002056
# HELP loopback_invocation_duration_histogram method invocation histogram
# TYPE loopback_invocation_duration_histogram histogram
-# HELP loopback_invocation_total method invocation counts
+loopback_invocation_duration_histogram_bucket{le="0.005",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="0.01",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="0.025",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="0.05",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="0.1",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="0.25",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="0.5",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="1",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="2.5",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="5",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="10",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_bucket{le="+Inf",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+loopback_invocation_duration_histogram_sum{targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002112
+loopback_invocation_duration_histogram_count{targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
+# HELP loopback_invocation_total method invocation count
# TYPE loopback_invocation_total counter
-loopback_invocation_total 1
+loopback_invocation_total{targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
# HELP loopback_invocation_duration_summary method invocation summary
# TYPE loopback_invocation_duration_summary summary
+loopback_invocation_duration_summary{quantile="0.01",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002363
+loopback_invocation_duration_summary{quantile="0.05",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002363
+loopback_invocation_duration_summary{quantile="0.5",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002363
+loopback_invocation_duration_summary{quantile="0.9",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002363
+loopback_invocation_duration_summary{quantile="0.95",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002363
+loopback_invocation_duration_summary{quantile="0.99",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002363
+loopback_invocation_duration_summary{quantile="0.999",targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002363
+loopback_invocation_duration_summary_sum{targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 0.0002363
+loopback_invocation_duration_summary_count{targetName="MockController.prototype.success",method="GET",path="/success",statusCode="204"} 1
diff --git a/extensions/metrics/package-lock.json b/extensions/metrics/package-lock.json
index ab30f99b106a..268157416cfa 100644
--- a/extensions/metrics/package-lock.json
+++ b/extensions/metrics/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/metrics",
- "version": "0.5.2",
+ "version": "0.6.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -15,30 +15,30 @@
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"dev": true,
"requires": {
"@types/node": "*"
}
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"dev": true,
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -47,9 +47,9 @@
}
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
"dev": true
},
"@types/node": {
@@ -71,12 +71,12 @@
"dev": true
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"dev": true,
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
}
},
diff --git a/extensions/metrics/package.json b/extensions/metrics/package.json
index b745b0eb9d15..d4b878e2673d 100644
--- a/extensions/metrics/package.json
+++ b/extensions/metrics/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/metrics",
- "version": "0.5.2",
+ "version": "0.6.0",
"description": "An extension exposes metrics for Prometheus with LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,20 +21,20 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
"prom-client": "^12.0.0",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
- "@types/express": "^4.17.9",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
+ "@types/express": "^4.17.11",
"@types/node": "^10.17.35",
"express": "^4.17.1"
},
diff --git a/extensions/metrics/src/__tests__/acceptance/metrics-push.acceptance.ts b/extensions/metrics/src/__tests__/acceptance/metrics-push.acceptance.ts
index ec9c8009db45..1ef8c81ec6f6 100644
--- a/extensions/metrics/src/__tests__/acceptance/metrics-push.acceptance.ts
+++ b/extensions/metrics/src/__tests__/acceptance/metrics-push.acceptance.ts
@@ -31,24 +31,65 @@ describe('Metrics (with push gateway)', function () {
afterEach(async () => {
if (app) await app.stop();
(app as unknown) = undefined;
+ await promisify(setTimeout)(10);
+ gateway.reset();
});
- beforeEach(async () => {
+ it('pushes metrics to gateway', async () => {
await givenAppWithCustomConfig({
// Push metrics each 10 ms
pushGateway: {url: gwUrl, interval: 10},
});
- });
- it('pushes metrics to gateway', async () => {
- // Wait for 100 ms
+ // Wait for 50 ms
await promisify(setTimeout)(50);
const request = supertest(gwUrl);
// Now we expect to get LoopBack metrics from the push gateway
await request.get('/metrics').expect(200, /job="loopback"/);
+ expect(gateway.puts).to.equal(0);
+ expect(gateway.posts).to.be.greaterThanOrEqual(1);
+ });
+
+ it('pushes metrics to gateway with grouping key', async () => {
+ await givenAppWithCustomConfig({
+ pushGateway: {
+ url: gwUrl,
+ interval: 10,
+ jobName: 'my_job',
+ groupingKey: {env: 'test'},
+ },
+ });
+
+ await promisify(setTimeout)(50);
+ const request = supertest(gwUrl);
+ await request.get('/metrics').expect(200, /job="my_job",env="test"/);
+ expect(gateway.puts).to.equal(0);
+ expect(gateway.posts).to.be.greaterThanOrEqual(1);
});
- it('adds MetricsPushObserver to the application', () => {
+ it('pushes metrics to gateway with replacement', async () => {
+ await givenAppWithCustomConfig({
+ pushGateway: {
+ url: gwUrl,
+ interval: 10,
+ jobName: 'my_other_job',
+ groupingKey: {env: 'poc'},
+ replaceAll: true,
+ },
+ });
+
+ await promisify(setTimeout)(50);
+ const request = supertest(gwUrl);
+ await request.get('/metrics').expect(200, /job="my_other_job",env="poc"/);
+ expect(gateway.puts).to.be.greaterThanOrEqual(1);
+ expect(gateway.posts).to.equal(0);
+ });
+
+ it('adds MetricsPushObserver to the application', async () => {
+ await givenAppWithCustomConfig({
+ pushGateway: {url: gwUrl},
+ });
+
expect(
app.isBound(
`${CoreBindings.LIFE_CYCLE_OBSERVERS}.${MetricsPushObserver.name}`,
diff --git a/extensions/metrics/src/__tests__/acceptance/metrics.acceptance.ts b/extensions/metrics/src/__tests__/acceptance/metrics.acceptance.ts
index 128721349d97..70c7add06276 100644
--- a/extensions/metrics/src/__tests__/acceptance/metrics.acceptance.ts
+++ b/extensions/metrics/src/__tests__/acceptance/metrics.acceptance.ts
@@ -3,8 +3,17 @@
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
-import {CoreBindings, GLOBAL_INTERCEPTOR_NAMESPACE} from '@loopback/core';
-import {RestApplication, RestServer, RestServerConfig} from '@loopback/rest';
+import {
+ CoreBindings,
+ createProxyWithInterceptors,
+ GLOBAL_INTERCEPTOR_NAMESPACE,
+} from '@loopback/core';
+import {
+ RestApplication,
+ RestServer,
+ RestServerConfig,
+ SequenceActions,
+} from '@loopback/rest';
import {
Client,
createRestAppClient,
@@ -16,6 +25,7 @@ import {MetricsBindings, MetricsComponent, MetricsOptions} from '../..';
import {metricsControllerFactory} from '../../controllers';
import {MetricsInterceptor} from '../../interceptors';
import {MetricsObserver, MetricsPushObserver} from '../../observers';
+import {MockController} from './mock.controller';
describe('Metrics (acceptance)', () => {
let app: RestApplication;
@@ -169,6 +179,152 @@ describe('Metrics (acceptance)', () => {
});
});
+ context('with collected method invocation metrics', () => {
+ beforeEach(async () => {
+ await givenAppForMetricsCollection();
+ });
+
+ it('reports metrics with targetName label', async () => {
+ await request.get('/success');
+
+ const res = await request
+ .get('/metrics')
+ .expect(200)
+ .expect('content-type', /text/);
+
+ expect(res.text).to.match(
+ /targetName="MockController.prototype.success"/,
+ );
+ });
+
+ it('reports metrics with method and path label', async () => {
+ await request.get('/success');
+ await request.post('/success');
+ await request.put('/success');
+ await request.patch('/success');
+ await request.delete('/success');
+
+ const res = await request
+ .get('/metrics')
+ .expect(200)
+ .expect('content-type', /text/);
+
+ expect(res.text).to.match(/method="GET",path="\/success"/);
+ expect(res.text).to.match(/method="POST",path="\/success"/);
+ expect(res.text).to.match(/method="PUT",path="\/success"/);
+ expect(res.text).to.match(/method="PATCH",path="\/success"/);
+ expect(res.text).to.match(/method="DELETE",path="\/success"/);
+ });
+
+ it('reports metrics with status code label', async () => {
+ await request.get('/success-with-data').expect(200);
+ await request.get('/success').expect(204);
+ await request.get('/redirect').expect(302);
+ await request.get('/bad-request').expect(400);
+ await request.get('/entity-not-found').expect(404);
+ await request.get('/server-error').expect(500);
+
+ const res = await request
+ .get('/metrics')
+ .expect(200)
+ .expect('content-type', /text/);
+
+ expect(res.text).to.match(/path="\/success-with-data",statusCode="200"/);
+ expect(res.text).to.match(/path="\/success",statusCode="204"/);
+ expect(res.text).to.match(/path="\/redirect",statusCode="302"/);
+ expect(res.text).to.match(/path="\/bad-request",statusCode="400"/);
+ expect(res.text).to.match(/path="\/entity-not-found",statusCode="404"/);
+ expect(res.text).to.match(/path="\/server-error",statusCode="500"/);
+ });
+
+ it('adds the labels to all metric types', async () => {
+ await request.get('/success').expect(204);
+
+ const res = await request
+ .get('/metrics')
+ .expect(200)
+ .expect('content-type', /text/);
+
+ expect(res.text).to.match(
+ /loopback_invocation_duration_seconds{targetName="MockController.prototype.success",method="GET",path="\/success",statusCode="204"}/,
+ );
+ expect(res.text).to.match(
+ /loopback_invocation_duration_histogram_bucket{le="0.01",targetName="MockController.prototype.success",method="GET",path="\/success",statusCode="204"}/,
+ );
+ expect(res.text).to.match(
+ /loopback_invocation_total{targetName="MockController.prototype.success",method="GET",path="\/success",statusCode="204"}/,
+ );
+ expect(res.text).to.match(
+ /loopback_invocation_duration_summary{quantile="0.01",targetName="MockController.prototype.success",method="GET",path="\/success",statusCode="204"}/,
+ );
+ });
+
+ it('uses the path pattern instead of the raw path in path labels', async () => {
+ await request.get('/path/1');
+ await request.get('/path/1/2');
+
+ const res = await request
+ .get('/metrics')
+ .expect(200)
+ .expect('content-type', /text/);
+
+ expect(res.text).to.match(/path="\/path\/{param}"/);
+ expect(res.text).to.match(/path="\/path\/{firstParam}\/{secondParam}"/);
+ });
+
+ it('only adds targetName label if the invocation source is an interception proxy', async () => {
+ const proxy = createProxyWithInterceptors(new MockController(), app);
+ await proxy.success();
+
+ const res = await request
+ .get('/metrics')
+ .expect(200)
+ .expect('content-type', /text/);
+
+ expect(res.text).to.match(
+ /targetName="MockController.prototype.success"/,
+ );
+ expect(res.text).to.not.match(/method=/);
+ expect(res.text).to.not.match(/path=/);
+ expect(res.text).to.not.match(/statusCode=/);
+ });
+ });
+
+ context('with configured default labels', () => {
+ beforeEach(async () => {
+ await givenAppForMetricsCollection({
+ defaultLabels: {
+ service: 'api',
+ version: '1.0.0',
+ },
+ });
+ });
+
+ it('adds static labels to default metrics', async () => {
+ const res = await request
+ .get('/metrics')
+ .expect(200)
+ .expect('content-type', /text/);
+
+ expect(res.text).to.match(
+ /process_cpu_user_seconds_total{service="api",version="1.0.0"}/,
+ );
+ });
+
+ it('adds static labels to method invocation metrics', async () => {
+ await request.get('/success').expect(204);
+
+ const res = await request
+ .get('/metrics')
+ .expect(200)
+ .expect('content-type', /text/);
+
+ expect(res.text).to.match(
+ /loopback_invocation_total{targetName="MockController.prototype.success",method="GET",path="\/success",statusCode="204",service="api",version="1.0.0"}/,
+ );
+ });
+ });
+
async function givenAppWithCustomConfig(config: MetricsOptions) {
app = givenRestApplication();
app.configure(MetricsBindings.COMPONENT).to(config);
@@ -177,6 +333,16 @@ describe('Metrics (acceptance)', () => {
request = createRestAppClient(app);
}
+ async function givenAppForMetricsCollection(config?: MetricsOptions) {
+ app = givenRestApplication();
+ app.configure(MetricsBindings.COMPONENT).to(config);
+ app.component(MetricsComponent);
+ app.controller(MockController);
+ app.bind(SequenceActions.LOG_ERROR).to(() => {});
+ await app.start();
+ request = createRestAppClient(app);
+ }
+
function givenRestApplication(config?: RestServerConfig) {
const rest = Object.assign({}, givenHttpServerConfig(), config);
return new RestApplication({rest});
diff --git a/extensions/metrics/src/__tests__/acceptance/mock-pushgateway.ts b/extensions/metrics/src/__tests__/acceptance/mock-pushgateway.ts
index 30f28face4ee..1973bfdb5e72 100644
--- a/extensions/metrics/src/__tests__/acceptance/mock-pushgateway.ts
+++ b/extensions/metrics/src/__tests__/acceptance/mock-pushgateway.ts
@@ -4,7 +4,7 @@
// License text available at https://opensource.org/licenses/MIT
import {once} from 'events';
-import express from 'express';
+import express, {Request} from 'express';
import {Server} from 'http';
/**
@@ -12,7 +12,9 @@ import {Server} from 'http';
*/
export class PushGateway {
private server?: Server;
- private metrics: string[] = [];
+ private metrics = new Map();
+ puts = 0;
+ posts = 0;
async start(port = 9091) {
const app = express();
@@ -24,18 +26,58 @@ export class PushGateway {
});
app.use(express.text({type: '*/*'}));
app.get('/metrics', (req, res) => {
- res.send(this.metrics.join('\n'));
+ // The actual metrics format appends the grouping key as labels, but this
+ // will do for the tests
+ const output: string[] = [];
+ this.metrics.forEach((value, key) => {
+ output.push(`${key}\n${value}`);
+ });
+ res.send(output.join('\n'));
});
- app.post('/metrics/job/:jobName', (req, res) => {
- this.metrics.push(`job="${req.params.jobName}"\n${req.body}`);
- res.send('\n');
- });
+ app.put(
+ ['/metrics/job/:jobName', '/metrics/job/:jobName/:labelName/:labelValue'],
+ (req, res) => {
+ this.metrics.set(this.groupingKey(req), req.body);
+ res.send('\n');
+ ++this.puts;
+ },
+ );
+
+ app.post(
+ ['/metrics/job/:jobName', '/metrics/job/:jobName/:labelName/:labelValue'],
+ (req, res) => {
+ // Not quite the real behaviour of Pushgateway's POST, but this will
+ // also do for the tests
+ const key = this.groupingKey(req);
+ if (this.metrics.has(key)) {
+ this.metrics.set(key, this.metrics.get(key)!.concat('\n', req.body));
+ } else {
+ this.metrics.set(key, req.body);
+ }
+ res.send('\n');
+ ++this.posts;
+ },
+ );
+
this.server = app.listen(port);
await once(this.server, 'listening');
return this.server;
}
+ private groupingKey(req: Request): string {
+ const key = `job="${req.params.jobName}"`;
+ return req.params.labelName
+ ? key.concat(`,${req.params.labelName}="${req.params.labelValue}"`)
+ : key;
+ }
+
+ reset() {
+ this.metrics.clear();
+ this.puts = 0;
+ this.posts = 0;
+ }
+
async stop() {
if (!this.server) return;
this.server.close();
diff --git a/extensions/metrics/src/__tests__/acceptance/mock.controller.ts b/extensions/metrics/src/__tests__/acceptance/mock.controller.ts
new file mode 100644
index 000000000000..a7454750c2b7
--- /dev/null
+++ b/extensions/metrics/src/__tests__/acceptance/mock.controller.ts
@@ -0,0 +1,76 @@
+// Copyright IBM Corp. 2021. All Rights Reserved.
+// Node module: @loopback/metrics
+// This file is licensed under the MIT License.
+// License text available at https://opensource.org/licenses/MIT
+
+import {inject} from '@loopback/core';
+import {
+ del,
+ get,
+ HttpErrors,
+ param,
+ patch,
+ post,
+ put,
+ Response,
+ RestBindings,
+} from '@loopback/rest';
+
+/**
+ * A mockup controller to collect different method invocation metrics
+ */
+export class MockController {
+ constructor() {}
+
+ @get('/success')
+ success() {}
+
+ @post('/success')
+ postSuccess() {}
+
+ @put('/success')
+ putSuccess() {}
+
+ @patch('/success')
+ patchSuccess() {}
+
+ @del('/success')
+ deleteSuccess() {}
+
+ @get('/success-with-data')
+ successWithData() {
+ return {key: 'value'};
+ }
+
+ @get('/redirect')
+ redirect(
+ @inject(RestBindings.Http.RESPONSE)
+ response: Response,
+ ) {
+ return response.redirect('/some-path');
+ }
+
+ @get('/bad-request')
+ badRequest() {
+ throw new HttpErrors.BadRequest();
+ }
+
+ @get('/entity-not-found')
+ entityNotFound() {
+ throw Object.assign(new Error(), {code: 'ENTITY_NOT_FOUND'});
+ }
+
+ @get('/server-error')
+ serverError() {
+ throw new Error();
+ }
+
+ @get('/path/{param}')
+ pathWithParam(@param.path.string('param') _param: string) {}
+
+ @get('/path/{firstParam}/{secondParam}')
+ pathWithParams(
+ @param.path.string('firstParam') _firstParam: string,
+ @param.path.string('secondParam') _secondParam: string,
+ ) {}
+}
diff --git a/extensions/metrics/src/controllers/metrics.controller.ts b/extensions/metrics/src/controllers/metrics.controller.ts
index 6da1fe2699ec..74838b989f29 100644
--- a/extensions/metrics/src/controllers/metrics.controller.ts
+++ b/extensions/metrics/src/controllers/metrics.controller.ts
@@ -17,7 +17,7 @@ import {DEFAULT_METRICS_OPTIONS, MetricsOptions} from '../types';
/**
* OpenAPI definition of metrics response
*/
-const metricsResponse: ResponseObject = {
+const METRICS_RESPONSE: ResponseObject = {
description: 'Metrics Response',
content: {
'text/plain': {
@@ -31,16 +31,16 @@ const metricsResponse: ResponseObject = {
/**
* OpenAPI spec for metrics endpoint
*/
-const metricsSpec: OperationObject = {
+const METRICS_SPEC: OperationObject = {
responses: {
- '200': metricsResponse,
+ '200': METRICS_RESPONSE,
},
};
/**
* OpenAPI spec to hide endpoints
*/
-const hiddenSpec: OperationObject = {
+const HIDDEN_SPEC: OperationObject = {
responses: {},
'x-visibility': 'undocumented',
};
@@ -49,7 +49,7 @@ export function metricsControllerFactory(
options: MetricsOptions = DEFAULT_METRICS_OPTIONS,
): Constructor {
const basePath = options.endpoint?.basePath ?? '/metrics';
- const spec = options.openApiSpec ? metricsSpec : hiddenSpec;
+ const spec = options.openApiSpec ? METRICS_SPEC : HIDDEN_SPEC;
/**
* Controller for metrics endpoint
diff --git a/extensions/metrics/src/interceptors/metrics.interceptor.ts b/extensions/metrics/src/interceptors/metrics.interceptor.ts
index 9d1312956c29..5eaa78f51326 100644
--- a/extensions/metrics/src/interceptors/metrics.interceptor.ts
+++ b/extensions/metrics/src/interceptors/metrics.interceptor.ts
@@ -9,10 +9,28 @@ import {
injectable,
Interceptor,
InvocationContext,
+ InvocationSource,
Provider,
ValueOrPromise,
} from '@loopback/core';
-import {Counter, Gauge, Histogram, register, Summary} from 'prom-client';
+import {
+ HttpErrors,
+ RequestContext,
+ Response,
+ RouteSource,
+} from '@loopback/rest';
+import {
+ Counter,
+ Gauge,
+ Histogram,
+ LabelValues,
+ register,
+ Summary,
+} from 'prom-client';
+
+type LabelNames = 'targetName' | 'method' | 'path' | 'statusCode';
+
+const labelNames: LabelNames[] = ['targetName', 'method', 'path', 'statusCode'];
/**
* This interceptor captures metrics for method invocations,
@@ -22,13 +40,13 @@ import {Counter, Gauge, Histogram, register, Summary} from 'prom-client';
*/
@injectable(asGlobalInterceptor('metrics'), {scope: BindingScope.SINGLETON})
export class MetricsInterceptor implements Provider {
- private static gauge: Gauge<'targetName'>;
+ private static gauge: Gauge;
- private static histogram: Histogram<'targetName'>;
+ private static histogram: Histogram;
- private static counter: Counter<'targetName'>;
+ private static counter: Counter;
- private static summary: Summary<'targetName'>;
+ private static summary: Summary;
private static setup() {
// Check if the gauge is registered
@@ -41,25 +59,25 @@ export class MetricsInterceptor implements Provider {
this.gauge = new Gauge({
name: 'loopback_invocation_duration_seconds',
help: 'method invocation',
- labelNames: ['targetName'],
+ labelNames,
});
this.histogram = new Histogram({
name: 'loopback_invocation_duration_histogram',
help: 'method invocation histogram',
- labelNames: ['targetName'],
+ labelNames,
});
this.counter = new Counter({
name: 'loopback_invocation_total',
- help: 'method invocation counts',
- labelNames: ['targetName'],
+ help: 'method invocation count',
+ labelNames,
});
this.summary = new Summary({
name: 'loopback_invocation_duration_summary',
help: 'method invocation summary',
- labelNames: ['targetName'],
+ labelNames,
});
}
@@ -74,22 +92,67 @@ export class MetricsInterceptor implements Provider {
next: () => ValueOrPromise,
) {
MetricsInterceptor.setup();
- const endGauge = MetricsInterceptor.gauge.startTimer({
- targetName: invocationCtx.targetName,
- });
- const endHistogram = MetricsInterceptor.histogram.startTimer({
- targetName: invocationCtx.targetName,
- });
- const endSummary = MetricsInterceptor.summary.startTimer({
+ const {source, parent} = invocationCtx;
+ const labelValues: LabelValues = {
targetName: invocationCtx.targetName,
- });
+ };
+ if (isRouteSource(source)) {
+ labelValues.method = getRequestMethod(source);
+ labelValues.path = getPathPattern(source);
+ }
+ const endGauge = MetricsInterceptor.gauge.startTimer();
+ const endHistogram = MetricsInterceptor.histogram.startTimer();
+ const endSummary = MetricsInterceptor.summary.startTimer();
try {
- MetricsInterceptor.counter.inc();
- return await next();
+ const result = await next();
+ if (isRouteSource(source)) {
+ labelValues.statusCode = getStatusCodeFromResponse(
+ // parent context will be request context if invocation source is route
+ (parent as RequestContext).response,
+ result,
+ );
+ }
+ return result;
+ } catch (err) {
+ if (isRouteSource(source)) {
+ labelValues.statusCode = getStatusCodeFromError(err);
+ }
+ throw err;
} finally {
- endGauge();
- endHistogram();
- endSummary();
+ MetricsInterceptor.counter.inc(labelValues);
+ endGauge(labelValues);
+ endHistogram(labelValues);
+ endSummary(labelValues);
}
}
}
+
+function getPathPattern(source: RouteSource) {
+ // make sure to use path pattern instead of raw path
+ // this is important since paths can contain unbounded sets of values
+ // such as IDs which would create a new time series for each unique value
+ return source.value.path;
+}
+
+function getRequestMethod(source: RouteSource) {
+ // request methods should be all-uppercase
+ return source.value.verb.toUpperCase();
+}
+
+function getStatusCodeFromResponse(response: Response, result?: unknown) {
+ // interceptors are invoked before result is written to response,
+ // the status code for 200 responses without a result should be 204
+ const noContent = response.statusCode === 200 && result === undefined;
+ return noContent ? 204 : response.statusCode;
+}
+
+function getStatusCodeFromError(err: HttpErrors.HttpError) {
+ // interceptors are invoked before error is written to response,
+ // it is required to retrieve the status code from the error
+ const notFound = err.code === 'ENTITY_NOT_FOUND';
+ return err.statusCode ?? err.status ?? (notFound ? 404 : 500);
+}
+
+function isRouteSource(source?: InvocationSource): source is RouteSource {
+ return source?.type === 'route';
+}
diff --git a/extensions/metrics/src/metrics.component.ts b/extensions/metrics/src/metrics.component.ts
index 2c04aa04cc37..c47b1ed63edf 100644
--- a/extensions/metrics/src/metrics.component.ts
+++ b/extensions/metrics/src/metrics.component.ts
@@ -13,6 +13,7 @@ import {
inject,
injectable,
} from '@loopback/core';
+import {register} from 'prom-client';
import {metricsControllerFactory} from './controllers';
import {MetricsInterceptor} from './interceptors';
import {MetricsBindings} from './keys';
@@ -44,5 +45,8 @@ export class MetricsComponent implements Component {
if (options.endpoint && !options.endpoint.disabled) {
this.application.controller(metricsControllerFactory(options));
}
+ if (options.defaultLabels) {
+ register.setDefaultLabels(options.defaultLabels);
+ }
}
}
diff --git a/extensions/metrics/src/observers/metrics.push.observer.ts b/extensions/metrics/src/observers/metrics.push.observer.ts
index 6f98fa1d5036..56fdff6a2322 100644
--- a/extensions/metrics/src/observers/metrics.push.observer.ts
+++ b/extensions/metrics/src/observers/metrics.push.observer.ts
@@ -25,7 +25,15 @@ export class MetricsPushObserver implements LifeCycleObserver {
if (!gwConfig) return;
this.gateway = new Pushgateway(gwConfig.url);
this.interval = setInterval(() => {
- this.gateway.pushAdd({jobName: 'loopback'}, () => {});
+ const params = {
+ jobName: gwConfig.jobName ?? 'loopback',
+ groupings: gwConfig.groupingKey,
+ };
+ if (gwConfig.replaceAll) {
+ this.gateway.push(params, () => {});
+ } else {
+ this.gateway.pushAdd(params, () => {});
+ }
}, gwConfig.interval ?? 5000);
}
diff --git a/extensions/metrics/src/types.ts b/extensions/metrics/src/types.ts
index 2417db67ecda..9696070b2f07 100644
--- a/extensions/metrics/src/types.ts
+++ b/extensions/metrics/src/types.ts
@@ -18,10 +18,19 @@ export interface MetricsOptions {
disabled?: boolean;
} & DefaultMetricsCollectorConfiguration;
+ defaultLabels?: {
+ [labelName: string]: string;
+ };
+
pushGateway?: {
disabled?: boolean;
url: string;
interval?: number;
+ jobName?: string;
+ groupingKey?: {
+ [key: string]: string;
+ };
+ replaceAll?: boolean;
};
openApiSpec?: boolean;
diff --git a/extensions/pooling/CHANGELOG.md b/extensions/pooling/CHANGELOG.md
index df7576ca84ee..a5b4a1fa961f 100644
--- a/extensions/pooling/CHANGELOG.md
+++ b/extensions/pooling/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.3.6](https://github.com/strongloop/loopback-next/compare/@loopback/pooling@0.3.5...@loopback/pooling@0.3.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/pooling
+
+
+
+
+
## [0.3.5](https://github.com/strongloop/loopback-next/compare/@loopback/pooling@0.3.4...@loopback/pooling@0.3.5) (2020-12-07)
**Note:** Version bump only for package @loopback/pooling
diff --git a/extensions/pooling/package-lock.json b/extensions/pooling/package-lock.json
index b5c91764b3cf..daf2988246e3 100644
--- a/extensions/pooling/package-lock.json
+++ b/extensions/pooling/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/pooling",
- "version": "0.3.5",
+ "version": "0.3.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -36,9 +36,9 @@
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
}
}
diff --git a/extensions/pooling/package.json b/extensions/pooling/package.json
index a68a1f7e51ad..6d620f8579b8 100644
--- a/extensions/pooling/package.json
+++ b/extensions/pooling/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/pooling",
- "version": "0.3.5",
+ "version": "0.3.6",
"description": "Resource pooling service for LoopBack 4",
"keywords": [
"loopback-extension",
@@ -9,7 +9,7 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -36,7 +36,7 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
"@types/generic-pool": "^3.1.9",
@@ -44,10 +44,10 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
}
}
diff --git a/extensions/socketio/CHANGELOG.md b/extensions/socketio/CHANGELOG.md
index c8fe8434e6d9..c0587b628004 100644
--- a/extensions/socketio/CHANGELOG.md
+++ b/extensions/socketio/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.1.3](https://github.com/strongloop/loopback-next/compare/@loopback/socketio@0.1.2...@loopback/socketio@0.1.3) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/socketio
+
+
+
+
+
## [0.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/socketio@0.1.1...@loopback/socketio@0.1.2) (2020-12-07)
**Note:** Version bump only for package @loopback/socketio
diff --git a/extensions/socketio/package-lock.json b/extensions/socketio/package-lock.json
index de78b796c3e4..f628d0bcae58 100644
--- a/extensions/socketio/package-lock.json
+++ b/extensions/socketio/package-lock.json
@@ -1,33 +1,13 @@
{
"name": "@loopback/socketio",
- "version": "0.1.2",
+ "version": "0.1.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
- "@types/body-parser": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz",
- "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==",
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
- "requires": {
- "@types/node": "*"
- }
- },
"@types/cors": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.8.tgz",
- "integrity": "sha512-fO3gf3DxU2Trcbr75O7obVndW/X5k8rJNZkLXlQWStTHhP71PkRqjwPIEI0yMnJdg9R9OasjU+Bsr+Hr1xy/0w==",
- "requires": {
- "@types/express": "*"
- }
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.9.tgz",
+ "integrity": "sha512-zurD1ibz21BRlAOIKP8yhrxlqKx6L9VCwkB5kMiP6nZAhoF5MvC7qS1qPA7nRcr1GJolfkQC7/EAL4hdYejLtg=="
},
"@types/debug": {
"version": "4.1.5",
@@ -44,60 +24,16 @@
"@types/node": "*"
}
},
- "@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- },
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg=="
- },
- "@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q=="
},
"@types/node": {
"version": "14.14.10",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- },
- "@types/qs": {
- "version": "6.9.5",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz",
- "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ=="
- },
- "@types/range-parser": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
- "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
- },
- "@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
- "requires": {
- "@types/mime": "*",
- "@types/node": "*"
- }
+ "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==",
+ "dev": true
},
"@types/socket.io": {
"version": "2.1.12",
@@ -111,9 +47,9 @@
}
},
"@types/socket.io-client": {
- "version": "1.4.34",
- "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.34.tgz",
- "integrity": "sha512-Lzia5OTQFJZJ5R4HsEEldywiiqT9+W2rDbyHJiiTGqOcju89sCsQ8aUXDljY6Ls33wKZZGC0bfMhr/VpOyjtXg==",
+ "version": "1.4.35",
+ "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.35.tgz",
+ "integrity": "sha512-MI8YmxFS+jMkIziycT5ickBWK1sZwDwy16mgH/j99Mcom6zRG/NimNGQ3vJV0uX5G6g/hEw0FG3w3b3sT5OUGw==",
"dev": true
},
"@types/socket.io-parser": {
diff --git a/extensions/socketio/package.json b/extensions/socketio/package.json
index e6b20e3f4f6a..7f814a41afd5 100644
--- a/extensions/socketio/package.json
+++ b/extensions/socketio/package.json
@@ -1,9 +1,9 @@
{
"name": "@loopback/socketio",
- "version": "0.1.2",
+ "version": "0.1.3",
"description": "LoopBack's WebSocket server based on socket.io",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"types": "dist/index.d.ts",
"main": "dist/index.js",
@@ -37,28 +37,28 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1"
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
- "@loopback/http-server": "^2.3.3",
- "@types/cors": "^2.8.8",
- "@types/lodash": "^4.14.165",
+ "@loopback/http-server": "^2.3.4",
+ "@types/cors": "^2.8.9",
+ "@types/lodash": "^4.14.168",
"cors": "^2.8.5",
"debug": "^4.3.1",
"lodash": "^4.17.20",
"socket.io": "^2.3.0"
},
"devDependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/socket.io": "^2.1.12",
- "@types/socket.io-client": "^1.4.34",
- "p-event": "^4.1.0",
+ "@types/socket.io-client": "^1.4.35",
+ "p-event": "^4.2.0",
"socket.io-client": "^2.3.1"
},
"repository": {
diff --git a/extensions/socketio/src/booters/socketio.booter.ts b/extensions/socketio/src/booters/socketio.booter.ts
index b670f9e18082..e21f63c6da08 100644
--- a/extensions/socketio/src/booters/socketio.booter.ts
+++ b/extensions/socketio/src/booters/socketio.booter.ts
@@ -16,13 +16,18 @@ import {SocketIoBindings} from '../keys';
import {SocketIoServer} from '../socketio.server';
/**
- * A class that extends BaseArtifactBooter to boot the 'SocketIoController' artifact type.
- * Discovered controllers are bound using `app.controller()`.
+ * A class that extends {@link @loopback/boot#BaseArtifactBooter} to boot the
+ * {@link SocketIoController} artifact type.
*
- * Supported phases: configure, discover, load
+ * @remarks
+ * Discovered controllers are bound using
+ * {@link @loopback/core#Application.controller}.
*
- * @param app - Application instance
- * @param projectRoot - Root of User Project relative to which all paths are resolved
+ * Supported phases: `configure`, `discover`, `load`
+ *
+ * @param app - {@link @loopback/core#Application} instance
+ * @param projectRoot - Root of User Project relative to which all paths are
+ * resolved
* @param socketioControllerConfig - Controller Artifact Options Object
*/
@booter('socketioControllers')
diff --git a/extensions/socketio/src/decorators/socketio.decorator.ts b/extensions/socketio/src/decorators/socketio.decorator.ts
index 8a09e4266617..d6159df32d93 100644
--- a/extensions/socketio/src/decorators/socketio.decorator.ts
+++ b/extensions/socketio/src/decorators/socketio.decorator.ts
@@ -37,8 +37,9 @@ export const SOCKET_IO_CONNECT_METADATA = MetadataAccessor.create<
>('socketio:connect');
/**
- * Decorate a socketio controller class to specify the namespace
- * For example,
+ * Decorate a socketio controller class to specify the namespace.
+ *
+ * @example
* ```ts
* @socketio({namespace: '/chats'})
* export class SocketIoController {}
diff --git a/extensions/typeorm/CHANGELOG.md b/extensions/typeorm/CHANGELOG.md
index d28fefcccd66..fbeda6c3b0c5 100644
--- a/extensions/typeorm/CHANGELOG.md
+++ b/extensions/typeorm/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.2.6](https://github.com/strongloop/loopback-next/compare/@loopback/typeorm@0.2.5...@loopback/typeorm@0.2.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/typeorm
+
+
+
+
+
## [0.2.5](https://github.com/strongloop/loopback-next/compare/@loopback/typeorm@0.2.4...@loopback/typeorm@0.2.5) (2020-12-07)
**Note:** Version bump only for package @loopback/typeorm
diff --git a/extensions/typeorm/package-lock.json b/extensions/typeorm/package-lock.json
index 6bce8f07d452..4c15590895aa 100644
--- a/extensions/typeorm/package-lock.json
+++ b/extensions/typeorm/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/typeorm",
- "version": "0.2.5",
+ "version": "0.2.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -10,9 +10,9 @@
"integrity": "sha512-/5O7Fq6Vnv8L6ucmPjaWbVG1XkP4FO+w5glqfkIsq3Xw4oyNAdJddbnYodNDAfjVUvo/rrSCTom4kAND7T1o5Q=="
},
"@types/json-schema": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
- "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
+ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
"dev": true
},
"@types/node": {
diff --git a/extensions/typeorm/package.json b/extensions/typeorm/package.json
index 50bb427c39fb..c876df24cc32 100644
--- a/extensions/typeorm/package.json
+++ b/extensions/typeorm/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/typeorm",
- "version": "0.2.5",
+ "version": "0.2.6",
"description": "Adds support for TypeORM in LoopBack",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -22,23 +22,23 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
"tslib": "^2.0.3",
"typeorm": "^0.2.29"
},
"devDependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
- "@types/json-schema": "^7.0.6",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
+ "@types/json-schema": "^7.0.7",
"@types/node": "^10.17.35",
"sqlite3": "^5.0.0"
},
diff --git a/fixtures/mock-oauth2-provider/CHANGELOG.md b/fixtures/mock-oauth2-provider/CHANGELOG.md
index 5c65753bded5..d151e6648ada 100644
--- a/fixtures/mock-oauth2-provider/CHANGELOG.md
+++ b/fixtures/mock-oauth2-provider/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.1.14](https://github.com/strongloop/loopback-next/compare/@loopback/mock-oauth2-provider@0.1.13...@loopback/mock-oauth2-provider@0.1.14) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/mock-oauth2-provider
+
+
+
+
+
## [0.1.13](https://github.com/strongloop/loopback-next/compare/@loopback/mock-oauth2-provider@0.1.12...@loopback/mock-oauth2-provider@0.1.13) (2020-12-07)
**Note:** Version bump only for package @loopback/mock-oauth2-provider
diff --git a/fixtures/mock-oauth2-provider/package-lock.json b/fixtures/mock-oauth2-provider/package-lock.json
index 46f36230ddc9..32a4768f7169 100644
--- a/fixtures/mock-oauth2-provider/package-lock.json
+++ b/fixtures/mock-oauth2-provider/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/mock-oauth2-provider",
- "version": "0.1.13",
+ "version": "0.1.14",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -22,20 +22,20 @@
}
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
@@ -51,19 +51,19 @@
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg=="
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q=="
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/node": {
- "version": "10.17.48",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.48.tgz",
- "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag=="
+ "version": "10.17.51",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.51.tgz",
+ "integrity": "sha512-KANw+MkL626tq90l++hGelbl67irOJzGhUJk6a1Bt8QHOeh9tztJx+L0AqttraWKinmZn7Qi5lJZJzx45Gq0dg=="
},
"@types/qs": {
"version": "6.9.5",
@@ -76,11 +76,11 @@
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
}
},
diff --git a/fixtures/mock-oauth2-provider/package.json b/fixtures/mock-oauth2-provider/package.json
index 8253ef439c83..7b68049acf83 100644
--- a/fixtures/mock-oauth2-provider/package.json
+++ b/fixtures/mock-oauth2-provider/package.json
@@ -1,9 +1,9 @@
{
"name": "@loopback/mock-oauth2-provider",
- "version": "0.1.13",
+ "version": "0.1.14",
"description": "An internal application to mock the OAuth2 authorization flow login with a social app like facebook, google etc",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -36,10 +36,10 @@
},
"dependencies": {
"@types/body-parser": "^1.19.0",
- "@types/express": "^4.17.9",
+ "@types/express": "^4.17.11",
"@types/jsonwebtoken": "^8.5.0",
- "@types/lodash": "^4.14.165",
- "@types/node": "^10.17.48",
+ "@types/lodash": "^4.14.168",
+ "@types/node": "^10.17.51",
"axios": "^0.21.0",
"body-parser": "^1.19.0",
"express": "^4.17.1",
@@ -49,8 +49,8 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10"
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11"
}
}
diff --git a/fixtures/tsdocs-monorepo/CHANGELOG.md b/fixtures/tsdocs-monorepo/CHANGELOG.md
index 290ed9dce536..2a7e874b142c 100644
--- a/fixtures/tsdocs-monorepo/CHANGELOG.md
+++ b/fixtures/tsdocs-monorepo/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.0.14](https://github.com/strongloop/loopback-next/compare/@loopback/tsdocs-monorepo@0.0.13...@loopback/tsdocs-monorepo@0.0.14) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/tsdocs-monorepo
+
+
+
+
+
## [0.0.13](https://github.com/strongloop/loopback-next/compare/@loopback/tsdocs-monorepo@0.0.12...@loopback/tsdocs-monorepo@0.0.13) (2020-12-07)
**Note:** Version bump only for package @loopback/tsdocs-monorepo
diff --git a/fixtures/tsdocs-monorepo/package.json b/fixtures/tsdocs-monorepo/package.json
index a89d1fea639b..777816149653 100644
--- a/fixtures/tsdocs-monorepo/package.json
+++ b/fixtures/tsdocs-monorepo/package.json
@@ -1,8 +1,8 @@
{
"name": "@loopback/tsdocs-monorepo",
- "version": "0.0.13",
+ "version": "0.0.14",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"private": true,
"description": "A monorepo for tsdocs testing",
@@ -16,7 +16,7 @@
"author": "IBM Corp.",
"license": "MIT",
"devDependencies": {
- "@loopback/build": "^6.2.8"
+ "@loopback/build": "^6.2.9"
},
"repository": {
"type": "git",
diff --git a/package-lock.json b/package-lock.json
index 6b25c8d0980f..0d72e422bd70 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -306,9 +306,9 @@
"dev": true
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@@ -318,7 +318,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
},
@@ -2870,28 +2870,28 @@
}
},
"@nodelib/fs.scandir": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
- "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
+ "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
"dev": true,
"requires": {
- "@nodelib/fs.stat": "2.0.3",
+ "@nodelib/fs.stat": "2.0.4",
"run-parallel": "^1.1.9"
}
},
"@nodelib/fs.stat": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
- "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
+ "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
"dev": true
},
"@nodelib/fs.walk": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
- "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
+ "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
"dev": true,
"requires": {
- "@nodelib/fs.scandir": "2.1.3",
+ "@nodelib/fs.scandir": "2.1.4",
"fastq": "^1.6.0"
}
},
@@ -3108,9 +3108,9 @@
}
},
"@types/json-schema": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
- "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
+ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
"dev": true
},
"@types/minimatch": {
@@ -3126,9 +3126,9 @@
"dev": true
},
"@types/mocha": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.4.tgz",
- "integrity": "sha512-M4BwiTJjHmLq6kjON7ZoI2JMlBvpY3BYSdiP6s/qCT3jb1s9/DeJF0JELpAxiVSIxXDzfNKe+r7yedMIoLbknQ==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.0.tgz",
+ "integrity": "sha512-/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ==",
"dev": true
},
"@types/node": {
@@ -3150,70 +3150,71 @@
"dev": true
},
"@typescript-eslint/eslint-plugin": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.9.0.tgz",
- "integrity": "sha512-WrVzGMzzCrgrpnQMQm4Tnf+dk+wdl/YbgIgd5hKGa2P+lnJ2MON+nQnbwgbxtN9QDLi8HO+JAq0/krMnjQK6Cw==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz",
+ "integrity": "sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==",
"dev": true,
"requires": {
- "@typescript-eslint/experimental-utils": "4.9.0",
- "@typescript-eslint/scope-manager": "4.9.0",
+ "@typescript-eslint/experimental-utils": "4.14.0",
+ "@typescript-eslint/scope-manager": "4.14.0",
"debug": "^4.1.1",
"functional-red-black-tree": "^1.0.1",
+ "lodash": "^4.17.15",
"regexpp": "^3.0.0",
"semver": "^7.3.2",
"tsutils": "^3.17.1"
}
},
"@typescript-eslint/experimental-utils": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.9.0.tgz",
- "integrity": "sha512-0p8GnDWB3R2oGhmRXlEnCvYOtaBCijtA5uBfH5GxQKsukdSQyI4opC4NGTUb88CagsoNQ4rb/hId2JuMbzWKFQ==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz",
+ "integrity": "sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.3",
- "@typescript-eslint/scope-manager": "4.9.0",
- "@typescript-eslint/types": "4.9.0",
- "@typescript-eslint/typescript-estree": "4.9.0",
+ "@typescript-eslint/scope-manager": "4.14.0",
+ "@typescript-eslint/types": "4.14.0",
+ "@typescript-eslint/typescript-estree": "4.14.0",
"eslint-scope": "^5.0.0",
"eslint-utils": "^2.0.0"
}
},
"@typescript-eslint/parser": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.9.0.tgz",
- "integrity": "sha512-QRSDAV8tGZoQye/ogp28ypb8qpsZPV6FOLD+tbN4ohKUWHD2n/u0Q2tIBnCsGwQCiD94RdtLkcqpdK4vKcLCCw==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz",
+ "integrity": "sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "4.9.0",
- "@typescript-eslint/types": "4.9.0",
- "@typescript-eslint/typescript-estree": "4.9.0",
+ "@typescript-eslint/scope-manager": "4.14.0",
+ "@typescript-eslint/types": "4.14.0",
+ "@typescript-eslint/typescript-estree": "4.14.0",
"debug": "^4.1.1"
}
},
"@typescript-eslint/scope-manager": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.9.0.tgz",
- "integrity": "sha512-q/81jtmcDtMRE+nfFt5pWqO0R41k46gpVLnuefqVOXl4QV1GdQoBWfk5REcipoJNQH9+F5l+dwa9Li5fbALjzg==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz",
+ "integrity": "sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "4.9.0",
- "@typescript-eslint/visitor-keys": "4.9.0"
+ "@typescript-eslint/types": "4.14.0",
+ "@typescript-eslint/visitor-keys": "4.14.0"
}
},
"@typescript-eslint/types": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.9.0.tgz",
- "integrity": "sha512-luzLKmowfiM/IoJL/rus1K9iZpSJK6GlOS/1ezKplb7MkORt2dDcfi8g9B0bsF6JoRGhqn0D3Va55b+vredFHA==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz",
+ "integrity": "sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.9.0.tgz",
- "integrity": "sha512-rmDR++PGrIyQzAtt3pPcmKWLr7MA+u/Cmq9b/rON3//t5WofNR4m/Ybft2vOLj0WtUzjn018ekHjTsnIyBsQug==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz",
+ "integrity": "sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "4.9.0",
- "@typescript-eslint/visitor-keys": "4.9.0",
+ "@typescript-eslint/types": "4.14.0",
+ "@typescript-eslint/visitor-keys": "4.14.0",
"debug": "^4.1.1",
"globby": "^11.0.1",
"is-glob": "^4.0.1",
@@ -3223,12 +3224,12 @@
}
},
"@typescript-eslint/visitor-keys": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.9.0.tgz",
- "integrity": "sha512-sV45zfdRqQo1A97pOSx3fsjR+3blmwtdCt8LDrXgCX36v4Vmz4KHrhpV6Fo2cRdXmyumxx11AHw0pNJqCNpDyg==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz",
+ "integrity": "sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "4.9.0",
+ "@typescript-eslint/types": "4.14.0",
"eslint-visitor-keys": "^2.0.0"
}
},
@@ -3457,9 +3458,9 @@
"dev": true
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"asynckit": {
@@ -5348,13 +5349,13 @@
"dev": true
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -5378,7 +5379,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -5387,7 +5388,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
@@ -5407,9 +5408,9 @@
}
},
"eslint-config-prettier": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz",
- "integrity": "sha512-8Y8lGLVPPZdaNA7JXqnvETVC7IiVRgAP6afQu9gOQRn90YY3otMNh+x7Vr2vMePQntF+5erdSUBqSzCmU/AxaQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz",
+ "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==",
"dev": true
},
"eslint-plugin-eslint-plugin": {
@@ -5429,9 +5430,9 @@
}
},
"eslint-plugin-prettier": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.2.0.tgz",
- "integrity": "sha512-kOUSJnFjAUFKwVxuzy6sA5yyMx6+o9ino4gCdShzBNx4eyFRudWRYKCFolKjoM40PEiuU6Cn7wBLfq3WsGg7qg==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz",
+ "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==",
"dev": true,
"requires": {
"prettier-linter-helpers": "^1.0.0"
@@ -5760,9 +5761,9 @@
"dev": true
},
"fast-glob": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
- "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
+ "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
"dev": true,
"requires": {
"@nodelib/fs.stat": "^2.0.2",
@@ -5786,9 +5787,9 @@
"dev": true
},
"fastq": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz",
- "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz",
+ "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==",
"dev": true,
"requires": {
"reusify": "^1.0.4"
@@ -5866,12 +5867,12 @@
}
},
"find-versions": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz",
- "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz",
+ "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==",
"dev": true,
"requires": {
- "semver-regex": "^2.0.0"
+ "semver-regex": "^3.1.2"
}
},
"findup-sync": {
@@ -6002,9 +6003,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
"flush-write-stream": {
@@ -6066,15 +6067,15 @@
}
},
"fs-extra": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
- "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dev": true,
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
- "universalify": "^1.0.0"
+ "universalify": "^2.0.0"
}
},
"fs-minipass": {
@@ -6842,9 +6843,9 @@
}
},
"globby": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
- "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
+ "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
"dev": true,
"requires": {
"array-union": "^2.1.0",
@@ -7082,18 +7083,18 @@
}
},
"husky": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.5.tgz",
- "integrity": "sha512-E5S/1HMoDDaqsH8kDF5zeKEQbYqe3wL9zJDyqyYqc8I4vHBtAoxkDBGXox0lZ9RI+k5GyB728vZdmnM4bYap+g==",
+ "version": "4.3.8",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz",
+ "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
"ci-info": "^2.0.0",
"compare-versions": "^3.6.0",
"cosmiconfig": "^7.0.0",
- "find-versions": "^3.2.0",
+ "find-versions": "^4.0.0",
"opencollective-postinstall": "^2.0.2",
- "pkg-dir": "^4.2.0",
+ "pkg-dir": "^5.0.0",
"please-upgrade-node": "^3.2.0",
"slash": "^3.0.0",
"which-pm-runs": "^1.0.0"
@@ -7754,14 +7755,6 @@
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true
- }
}
},
"jsonparse": {
@@ -9299,12 +9292,51 @@
}
},
"pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
+ "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
"dev": true,
"requires": {
- "find-up": "^4.0.0"
+ "find-up": "^5.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ }
}
},
"please-upgrade-node": {
@@ -9729,6 +9761,12 @@
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
@@ -9911,9 +9949,9 @@
"dev": true
},
"semver-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
- "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz",
+ "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==",
"dev": true
},
"set-blocking": {
@@ -9988,46 +10026,14 @@
"dev": true
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- }
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
}
},
"slide": {
@@ -10517,54 +10523,34 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "emoji-regex": {
+ "ajv": {
"version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
}
},
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
}
}
},
@@ -10835,9 +10821,9 @@
}
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"uglify-js": {
@@ -10899,9 +10885,9 @@
}
},
"universalify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
- "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true
},
"unset-value": {
diff --git a/package.json b/package.json
index fb76f5963006..5faf1252ca82 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
"license": "MIT",
"copyright.owner": "IBM Corp.",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"repository": {
"type": "git",
@@ -63,26 +63,26 @@
"@commitlint/cli": "^11.0.0",
"@commitlint/config-conventional": "^11.0.0",
"@commitlint/travis-cli": "^11.0.0",
- "@types/mocha": "^8.0.4",
- "@typescript-eslint/eslint-plugin": "^4.9.0",
- "@typescript-eslint/parser": "^4.9.0",
+ "@types/mocha": "^8.2.0",
+ "@typescript-eslint/eslint-plugin": "^4.14.0",
+ "@typescript-eslint/parser": "^4.14.0",
"coveralls": "^3.1.0",
"cross-env": "^7.0.3",
"cz-conventional-changelog": "^3.3.0",
- "eslint": "^7.15.0",
- "eslint-config-prettier": "^7.0.0",
+ "eslint": "^7.18.0",
+ "eslint-config-prettier": "^7.2.0",
"eslint-plugin-eslint-plugin": "^2.3.0",
"eslint-plugin-mocha": "^8.0.0",
- "eslint-plugin-prettier": "^3.2.0",
- "fs-extra": "^9.0.1",
- "husky": "^4.3.5",
+ "eslint-plugin-prettier": "^3.3.1",
+ "fs-extra": "^9.1.0",
+ "husky": "^4.3.8",
"if-env": "^1.0.4",
"lerna": "^3.22.1",
"lint-staged": "^10.5.3",
"markdown-table": "^2.0.0",
"open-cli": "^6.0.1",
"prettier": "^2.2.1",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"husky": {
"hooks": {
diff --git a/packages/authentication/CHANGELOG.md b/packages/authentication/CHANGELOG.md
index 8381bcc46893..b23fa89f8cda 100644
--- a/packages/authentication/CHANGELOG.md
+++ b/packages/authentication/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [7.0.6](https://github.com/strongloop/loopback-next/compare/@loopback/authentication@7.0.5...@loopback/authentication@7.0.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/authentication
+
+
+
+
+
## [7.0.5](https://github.com/strongloop/loopback-next/compare/@loopback/authentication@7.0.4...@loopback/authentication@7.0.5) (2020-12-07)
**Note:** Version bump only for package @loopback/authentication
diff --git a/packages/authentication/package-lock.json b/packages/authentication/package-lock.json
index b28ecb6b4836..f2ccb0b7a93f 100644
--- a/packages/authentication/package-lock.json
+++ b/packages/authentication/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/authentication",
- "version": "7.0.5",
+ "version": "7.0.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -11,73 +11,51 @@
"requires": {
"@types/connect": "*",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"requires": {
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
"@types/range-parser": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg=="
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q=="
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/node": {
"version": "10.17.48",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.48.tgz",
- "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag==",
- "dev": true
+ "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag=="
},
"@types/qs": {
"version": "6.9.5",
@@ -90,19 +68,12 @@
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"buffer-equal-constant-time": {
diff --git a/packages/authentication/package.json b/packages/authentication/package.json
index 79c9adbd5620..2c15a7c68203 100644
--- a/packages/authentication/package.json
+++ b/packages/authentication/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/authentication",
- "version": "7.0.5",
+ "version": "7.0.6",
"description": "A LoopBack component for authentication support.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -24,23 +24,23 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
- "@loopback/security": "^0.3.5",
- "@types/express": "^4.17.9",
- "@types/lodash": "^4.14.165",
+ "@loopback/security": "^0.3.6",
+ "@types/express": "^4.17.11",
+ "@types/lodash": "^4.14.168",
"lodash": "^4.17.20",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/openapi-spec-builder": "^3.0.3",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/openapi-spec-builder": "^3.0.4",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35",
"jsonwebtoken": "^8.5.1"
},
diff --git a/packages/authorization/CHANGELOG.md b/packages/authorization/CHANGELOG.md
index 383eb5ec1c37..ae202e1a4214 100644
--- a/packages/authorization/CHANGELOG.md
+++ b/packages/authorization/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.7.6](https://github.com/strongloop/loopback-next/compare/@loopback/authorization@0.7.5...@loopback/authorization@0.7.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/authorization
+
+
+
+
+
## [0.7.5](https://github.com/strongloop/loopback-next/compare/@loopback/authorization@0.7.4...@loopback/authorization@0.7.5) (2020-12-07)
**Note:** Version bump only for package @loopback/authorization
diff --git a/packages/authorization/package-lock.json b/packages/authorization/package-lock.json
index 804241e3b336..5bf6fcc0291d 100644
--- a/packages/authorization/package-lock.json
+++ b/packages/authorization/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/authorization",
- "version": "0.7.5",
+ "version": "0.7.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -32,9 +32,9 @@
}
},
"casbin": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/casbin/-/casbin-5.2.2.tgz",
- "integrity": "sha512-NY+y3eGf+t/QYjRibaQnOAPFVZEL7VeR7fKirgxbGvC1hJPOF5vxBUKAr7Z/solD1V2F1GEvlOiBUbDJb3dgOA==",
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/casbin/-/casbin-5.2.3.tgz",
+ "integrity": "sha512-bPtx61LbQflFyrTME/DpshBSfHhc/JBiykL4P6Z79m7KjlF6LVHkVsJhJQw7D55OXnzvPp2S2JixibMki2Dqxg==",
"dev": true,
"requires": {
"await-lock": "^2.0.1",
diff --git a/packages/authorization/package.json b/packages/authorization/package.json
index 1424851365c7..3aded27338ca 100644
--- a/packages/authorization/package.json
+++ b/packages/authorization/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/authorization",
- "version": "0.7.5",
+ "version": "0.7.6",
"description": "A LoopBack component for authorization support.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -24,20 +24,20 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
- "@loopback/security": "^0.3.5",
+ "@loopback/security": "^0.3.6",
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "10.17.35",
- "casbin": "^5.2.2"
+ "casbin": "^5.2.3"
},
"keywords": [
"LoopBack",
diff --git a/packages/boot/CHANGELOG.md b/packages/boot/CHANGELOG.md
index 879ae8f1909a..966f792c76dc 100644
--- a/packages/boot/CHANGELOG.md
+++ b/packages/boot/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [3.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/boot@3.1.2...@loopback/boot@3.2.0) (2021-01-21)
+
+
+### Features
+
+* fix eslint violations ([062de9c](https://github.com/strongloop/loopback-next/commit/062de9c5f908332f58f54ddf13798a22ca21f1e7))
+
+
+
+
+
## [3.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/boot@3.1.1...@loopback/boot@3.1.2) (2020-12-07)
**Note:** Version bump only for package @loopback/boot
diff --git a/packages/boot/package-lock.json b/packages/boot/package-lock.json
index 5fcb533839a5..9b90655ffa03 100644
--- a/packages/boot/package-lock.json
+++ b/packages/boot/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/boot",
- "version": "3.1.2",
+ "version": "3.2.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/boot/package.json b/packages/boot/package.json
index 29ddea60b50f..3f44dd76f8d5 100644
--- a/packages/boot/package.json
+++ b/packages/boot/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/boot",
- "version": "3.1.2",
+ "version": "3.2.0",
"description": "A collection of Booters for LoopBack 4 Applications",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -24,12 +24,12 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
- "@loopback/model-api-builder": "^2.1.19",
- "@loopback/repository": "^3.3.0",
- "@loopback/service-proxy": "^3.0.5",
+ "@loopback/model-api-builder": "^2.1.20",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/service-proxy": "^3.0.6",
"@types/debug": "^4.1.5",
"@types/glob": "^7.1.3",
"debug": "^4.3.1",
@@ -37,12 +37,12 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/rest": "^9.1.1",
- "@loopback/rest-crud": "^0.8.19",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/rest-crud": "^0.8.20",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35"
},
"files": [
diff --git a/packages/boot/src/__tests__/unit/booters/booter-utils.unit.ts b/packages/boot/src/__tests__/unit/booters/booter-utils.unit.ts
index dc550feb44bc..44d5ef53886d 100644
--- a/packages/boot/src/__tests__/unit/booters/booter-utils.unit.ts
+++ b/packages/boot/src/__tests__/unit/booters/booter-utils.unit.ts
@@ -53,7 +53,6 @@ describe('booter-utils unit tests', () => {
describe('isClass()', () => {
it('returns true given a class', () => {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
expect(isClass(class Thing {})).to.be.True();
});
});
diff --git a/packages/booter-lb3app/CHANGELOG.md b/packages/booter-lb3app/CHANGELOG.md
index ab35c71ecb78..aa7d81c13cbc 100644
--- a/packages/booter-lb3app/CHANGELOG.md
+++ b/packages/booter-lb3app/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.2.16](https://github.com/strongloop/loopback-next/compare/@loopback/booter-lb3app@2.2.15...@loopback/booter-lb3app@2.2.16) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/booter-lb3app
+
+
+
+
+
## [2.2.15](https://github.com/strongloop/loopback-next/compare/@loopback/booter-lb3app@2.2.14...@loopback/booter-lb3app@2.2.15) (2020-12-07)
**Note:** Version bump only for package @loopback/booter-lb3app
diff --git a/packages/booter-lb3app/package-lock.json b/packages/booter-lb3app/package-lock.json
index 0b6c21469678..11573fb67be0 100644
--- a/packages/booter-lb3app/package-lock.json
+++ b/packages/booter-lb3app/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/booter-lb3app",
- "version": "2.2.15",
+ "version": "2.2.16",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -16,28 +16,14 @@
"requires": {
"@types/connect": "*",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"requires": {
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/debug": {
@@ -47,43 +33,36 @@
"dev": true
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
"@types/range-parser": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/node": {
"version": "10.17.48",
@@ -101,19 +80,12 @@
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"JSONStream": {
@@ -845,9 +817,9 @@
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"helmet": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.2.0.tgz",
- "integrity": "sha512-aoiSxXMd0ks1ojYpSCFoCRzgv4rY/uB9jKStaw8PkXwsdLYa/Gq+Nc5l0soH0cwBIsLAlujPnx4HLQs+LaXCrQ==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.4.1.tgz",
+ "integrity": "sha512-G8tp0wUMI7i8wkMk2xLcEvESg5PiCitFMYgGRc/PwULB0RVhTP5GFdxOwvJwp9XVha8CuS8mnhmE8I/8dx/pbw==",
"dev": true
},
"http-errors": {
diff --git a/packages/booter-lb3app/package.json b/packages/booter-lb3app/package.json
index bf2181e7e78a..b799b1458cf9 100644
--- a/packages/booter-lb3app/package.json
+++ b/packages/booter-lb3app/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/booter-lb3app",
- "version": "2.2.15",
+ "version": "2.2.16",
"description": "A booter component for LoopBack 3 applications to expose their REST API via LoopBack 4",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,12 +21,12 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/boot": "^3.2.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
- "@types/express": "^4.17.9",
+ "@types/express": "^4.17.11",
"debug": "^4.3.1",
"loopback": "^3.28.0",
"loopback-swagger": "^5.9.0",
@@ -34,19 +34,19 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/boot": "^3.1.2",
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
- "@types/lodash": "^4.14.165",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
"compression": "^1.7.4",
"cors": "^2.8.5",
- "helmet": "^4.2.0",
+ "helmet": "^4.4.1",
"loopback-boot": "^3.3.1"
},
"keywords": [
diff --git a/packages/build/CHANGELOG.md b/packages/build/CHANGELOG.md
index f1539a883c29..6beac3f7ebed 100644
--- a/packages/build/CHANGELOG.md
+++ b/packages/build/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [6.2.9](https://github.com/strongloop/loopback-next/compare/@loopback/build@6.2.8...@loopback/build@6.2.9) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/build
+
+
+
+
+
## [6.2.8](https://github.com/strongloop/loopback-next/compare/@loopback/build@6.2.7...@loopback/build@6.2.8) (2020-12-07)
**Note:** Version bump only for package @loopback/build
diff --git a/packages/build/package-lock.json b/packages/build/package-lock.json
index 9cf1d044c427..fb014470f6b4 100644
--- a/packages/build/package-lock.json
+++ b/packages/build/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/build",
- "version": "6.2.8",
+ "version": "6.2.9",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -223,9 +223,9 @@
}
},
"@eslint/eslintrc": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
- "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
"requires": {
"ajv": "^6.12.4",
"debug": "^4.1.1",
@@ -234,7 +234,7 @@
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
"js-yaml": "^3.13.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
}
@@ -297,14 +297,14 @@
"integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw=="
},
"@types/mocha": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.4.tgz",
- "integrity": "sha512-M4BwiTJjHmLq6kjON7ZoI2JMlBvpY3BYSdiP6s/qCT3jb1s9/DeJF0JELpAxiVSIxXDzfNKe+r7yedMIoLbknQ=="
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.0.tgz",
+ "integrity": "sha512-/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ=="
},
"@types/node": {
- "version": "10.17.48",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.48.tgz",
- "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag=="
+ "version": "10.17.51",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.51.tgz",
+ "integrity": "sha512-KANw+MkL626tq90l++hGelbl67irOJzGhUJk6a1Bt8QHOeh9tztJx+L0AqttraWKinmZn7Qi5lJZJzx45Gq0dg=="
},
"@ungap/promise-all-settled": {
"version": "1.1.2",
@@ -390,9 +390,9 @@
}
},
"astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="
},
"at-least-node": {
"version": "1.0.0",
@@ -658,12 +658,12 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"eslint": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz",
- "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==",
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz",
+ "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==",
"requires": {
"@babel/code-frame": "^7.0.0",
- "@eslint/eslintrc": "^0.2.2",
+ "@eslint/eslintrc": "^0.3.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -687,7 +687,7 @@
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.20",
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
@@ -696,7 +696,7 @@
"semver": "^7.2.1",
"strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
+ "table": "^6.0.4",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
@@ -857,9 +857,9 @@
}
},
"flatted": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
- "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA=="
},
"foreground-child": {
"version": "2.0.0",
@@ -876,14 +876,14 @@
"integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg=="
},
"fs-extra": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
- "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
- "universalify": "^1.0.0"
+ "universalify": "^2.0.0"
}
},
"fs.realpath": {
@@ -999,9 +999,9 @@
"integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
},
"import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"requires": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -1235,13 +1235,6 @@
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- }
}
},
"levn": {
@@ -1764,6 +1757,11 @@
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
+ },
"require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
@@ -1836,13 +1834,41 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ }
}
},
"source-map": {
@@ -1936,14 +1962,52 @@
}
},
"table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
- "requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
+ "requires": {
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ }
}
},
"test-exclude": {
@@ -1996,19 +2060,19 @@
}
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ=="
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg=="
},
"universalify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
- "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
},
"uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"requires": {
"punycode": "^2.1.0"
}
diff --git a/packages/build/package.json b/packages/build/package.json
index e864cc78e22a..2f286588ef20 100644
--- a/packages/build/package.json
+++ b/packages/build/package.json
@@ -6,9 +6,9 @@
"url": "https://github.com/strongloop/loopback-next.git",
"directory": "packages/build"
},
- "version": "6.2.8",
+ "version": "6.2.9",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"main": "index.js",
"author": "IBM Corp.",
@@ -18,13 +18,13 @@
"access": "public"
},
"dependencies": {
- "@loopback/eslint-config": "^10.0.4",
- "@types/mocha": "^8.0.4",
- "@types/node": "^10.17.48",
+ "@loopback/eslint-config": "^10.0.5",
+ "@types/mocha": "^8.2.0",
+ "@types/node": "^10.17.51",
"cross-spawn": "^7.0.3",
"debug": "^4.3.1",
- "eslint": "^7.15.0",
- "fs-extra": "^9.0.1",
+ "eslint": "^7.18.0",
+ "fs-extra": "^9.1.0",
"glob": "^7.1.6",
"lodash": "^4.17.20",
"mocha": "^8.2.1",
@@ -32,7 +32,7 @@
"prettier": "^2.2.1",
"rimraf": "^3.0.2",
"source-map-support": "^0.5.19",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"bin": {
"lb-tsc": "./bin/compile-package.js",
diff --git a/packages/cli/.yo-rc.json b/packages/cli/.yo-rc.json
index 5412805dd307..08beb837f1f7 100644
--- a/packages/cli/.yo-rc.json
+++ b/packages/cli/.yo-rc.json
@@ -1343,6 +1343,34 @@
"name": "throughModel",
"hide": false
},
+ "sourceModelPrimaryKey": {
+ "type": "String",
+ "required": false,
+ "description": "Primary key on source model",
+ "name": "sourceModelPrimaryKey",
+ "hide": false
+ },
+ "sourceModelPrimaryKeyType": {
+ "type": "String",
+ "required": false,
+ "description": "Type of the primary key on source model",
+ "name": "sourceModelPrimaryKeyType",
+ "hide": false
+ },
+ "destinationModelPrimaryKey": {
+ "type": "String",
+ "required": false,
+ "description": "Primary key on destination model",
+ "name": "destinationModelPrimaryKey",
+ "hide": false
+ },
+ "destinationModelPrimaryKeyType": {
+ "type": "String",
+ "required": false,
+ "description": "Type of the primary key on destination model",
+ "name": "destinationModelPrimaryKeyType",
+ "hide": false
+ },
"sourceKeyOnThrough": {
"type": "String",
"required": false,
diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md
index 012d6cafec90..149668d3d950 100644
--- a/packages/cli/CHANGELOG.md
+++ b/packages/cli/CHANGELOG.md
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.18.0](https://github.com/strongloop/loopback-next/compare/@loopback/cli@2.17.2...@loopback/cli@2.18.0) (2021-01-21)
+
+
+### Bug Fixes
+
+* **cli:** copyright year git integration ([ce8fa66](https://github.com/strongloop/loopback-next/commit/ce8fa663e756d49cc1544752461f4b62b28a72ce))
+
+
+### Features
+
+* fix eslint violations ([062de9c](https://github.com/strongloop/loopback-next/commit/062de9c5f908332f58f54ddf13798a22ca21f1e7))
+
+
+
+
+
## [2.17.2](https://github.com/strongloop/loopback-next/compare/@loopback/cli@2.17.1...@loopback/cli@2.17.2) (2020-12-07)
diff --git a/packages/cli/generators/app/index.js b/packages/cli/generators/app/index.js
index 32abac51ab44..fa5914ece7bb 100644
--- a/packages/cli/generators/app/index.js
+++ b/packages/cli/generators/app/index.js
@@ -8,7 +8,6 @@ const ProjectGenerator = require('../../lib/project-generator');
const utils = require('../../lib/utils');
const g = require('../../lib/globalize');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class AppGenerator extends ProjectGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/generators/app/templates/src/controllers/ping.controller.ts.ejs b/packages/cli/generators/app/templates/src/controllers/ping.controller.ts.ejs
index f8be13b7d943..2ff11ed72d7f 100644
--- a/packages/cli/generators/app/templates/src/controllers/ping.controller.ts.ejs
+++ b/packages/cli/generators/app/templates/src/controllers/ping.controller.ts.ejs
@@ -1,5 +1,11 @@
-import {Request, RestBindings, get, ResponseObject} from '@loopback/rest';
import {inject} from '@loopback/core';
+import {
+ Request,
+ RestBindings,
+ get,
+ response,
+ ResponseObject,
+} from '@loopback/rest';
/**
* OpenAPI response for ping()
@@ -35,11 +41,8 @@ export class PingController {
constructor(@inject(RestBindings.Http.REQUEST) private req: Request) {}
// Map to `GET /ping`
- @get('/ping', {
- responses: {
- '200': PING_RESPONSE,
- },
- })
+ @get('/ping')
+ @response(200, PING_RESPONSE)
ping(): object {
// Reply with a greeting, the current time, the url, and request headers
return {
diff --git a/packages/cli/generators/controller/templates/src/controllers/controller-rest-template.ts.ejs b/packages/cli/generators/controller/templates/src/controllers/controller-rest-template.ts.ejs
index 43114babc02e..857d4f9dd904 100644
--- a/packages/cli/generators/controller/templates/src/controllers/controller-rest-template.ts.ejs
+++ b/packages/cli/generators/controller/templates/src/controllers/controller-rest-template.ts.ejs
@@ -15,6 +15,7 @@ import {
put,
del,
requestBody,
+ response,
} from '@loopback/rest';
import {<%= modelName %>} from '../models';
import {<%= repositoryName %>} from '../repositories';
@@ -25,13 +26,10 @@ export class <%= className %>Controller {
public <%= repositoryNameCamel %> : <%= repositoryName %>,
) {}
- @post('<%= httpPathName %>', {
- responses: {
- '200': {
- description: '<%= modelName %> model instance',
- content: {'application/json': {schema: getModelSchemaRef(<%= modelName %>)}},
- },
- },
+ @post('<%= httpPathName %>')
+ @response(200, {
+ description: '<%= modelName %> model instance',
+ content: {'application/json': {schema: getModelSchemaRef(<%= modelName %>)}},
})
async create(
@requestBody({
@@ -49,13 +47,10 @@ export class <%= className %>Controller {
return this.<%= repositoryNameCamel %>.create(<%= modelVariableName %>);
}
- @get('<%= httpPathName %>/count', {
- responses: {
- '200': {
- description: '<%= modelName %> model count',
- content: {'application/json': {schema: CountSchema}},
- },
- },
+ @get('<%= httpPathName %>/count')
+ @response(200, {
+ description: '<%= modelName %> model count',
+ content: {'application/json': {schema: CountSchema}},
})
async count(
@param.where(<%= modelName %>) where?: Where<<%= modelName %>>,
@@ -63,17 +58,14 @@ export class <%= className %>Controller {
return this.<%= repositoryNameCamel %>.count(where);
}
- @get('<%= httpPathName %>', {
- responses: {
- '200': {
- description: 'Array of <%= modelName %> model instances',
- content: {
- 'application/json': {
- schema: {
- type: 'array',
- items: getModelSchemaRef(<%= modelName %>, {includeRelations: true}),
- },
- },
+ @get('<%= httpPathName %>')
+ @response(200, {
+ description: 'Array of <%= modelName %> model instances',
+ content: {
+ 'application/json': {
+ schema: {
+ type: 'array',
+ items: getModelSchemaRef(<%= modelName %>, {includeRelations: true}),
},
},
},
@@ -84,13 +76,10 @@ export class <%= className %>Controller {
return this.<%= repositoryNameCamel %>.find(filter);
}
- @patch('<%= httpPathName %>', {
- responses: {
- '200': {
- description: '<%= modelName %> PATCH success count',
- content: {'application/json': {schema: CountSchema}},
- },
- },
+ @patch('<%= httpPathName %>')
+ @response(200, {
+ description: '<%= modelName %> PATCH success count',
+ content: {'application/json': {schema: CountSchema}},
})
async updateAll(
@requestBody({
@@ -106,15 +95,12 @@ export class <%= className %>Controller {
return this.<%= repositoryNameCamel %>.updateAll(<%= modelVariableName %>, where);
}
- @get('<%= httpPathName %>/{id}', {
- responses: {
- '200': {
- description: '<%= modelName %> model instance',
- content: {
- 'application/json': {
- schema: getModelSchemaRef(<%= modelName %>, {includeRelations: true}),
- },
- },
+ @get('<%= httpPathName %>/{id}')
+ @response(200, {
+ description: '<%= modelName %> model instance',
+ content: {
+ 'application/json': {
+ schema: getModelSchemaRef(<%= modelName %>, {includeRelations: true}),
},
},
})
@@ -125,12 +111,9 @@ export class <%= className %>Controller {
return this.<%= repositoryNameCamel %>.findById(id, filter);
}
- @patch('<%= httpPathName %>/{id}', {
- responses: {
- '204': {
- description: '<%= modelName %> PATCH success',
- },
- },
+ @patch('<%= httpPathName %>/{id}')
+ @response(204, {
+ description: '<%= modelName %> PATCH success',
})
async updateById(
@param.path.<%= idType %>('id') id: <%= idType %>,
@@ -146,12 +129,9 @@ export class <%= className %>Controller {
await this.<%= repositoryNameCamel %>.updateById(id, <%= modelVariableName %>);
}
- @put('<%= httpPathName %>/{id}', {
- responses: {
- '204': {
- description: '<%= modelName %> PUT success',
- },
- },
+ @put('<%= httpPathName %>/{id}')
+ @response(204, {
+ description: '<%= modelName %> PUT success',
})
async replaceById(
@param.path.<%= idType %>('id') id: <%= idType %>,
@@ -160,12 +140,9 @@ export class <%= className %>Controller {
await this.<%= repositoryNameCamel %>.replaceById(id, <%= modelVariableName %>);
}
- @del('<%= httpPathName %>/{id}', {
- responses: {
- '204': {
- description: '<%= modelName %> DELETE success',
- },
- },
+ @del('<%= httpPathName %>/{id}')
+ @response(204, {
+ description: '<%= modelName %> DELETE success',
})
async deleteById(@param.path.<%= idType %>('id') id: <%= idType %>): Promise {
await this.<%= repositoryNameCamel %>.deleteById(id);
diff --git a/packages/cli/generators/copyright/git.js b/packages/cli/generators/copyright/git.js
index d9a0ef2730f9..b3b0d1e9eac5 100644
--- a/packages/cli/generators/copyright/git.js
+++ b/packages/cli/generators/copyright/git.js
@@ -49,20 +49,24 @@ async function git(cwd, ...args) {
*/
async function getYears(file) {
file = file || '.';
- let dates = await git(
+ const gitDates = await git(
process.cwd(),
'--no-pager log --pretty=%%ai --all -- %s',
file,
);
- debug('Dates for %s', file, dates);
- if (_.isEmpty(dates)) {
- // if the given path doesn't have any git history, assume it is new
- dates = [new Date().toJSON()];
- } else {
- dates = [_.head(dates), _.last(dates)];
- }
- const years = _.map(dates, getYear);
- return _.uniq(years).sort();
+
+ const currentYear = new Date().getFullYear();
+
+ if (!gitDates.length) return [currentYear];
+
+ const latestGitYear = getYear(gitDates[0]);
+ const oldestGitYear = getYear(gitDates.slice(-1)[0]);
+ const latestYear = currentYear > latestGitYear ? currentYear : latestGitYear;
+ const yearRange = [oldestGitYear];
+
+ if (latestYear !== yearRange[0]) yearRange.push(latestYear);
+
+ return yearRange;
}
// assumes ISO-8601 (or similar) format
diff --git a/packages/cli/generators/copyright/index.js b/packages/cli/generators/copyright/index.js
index a599a1f483f6..49b777e5a0ba 100644
--- a/packages/cli/generators/copyright/index.js
+++ b/packages/cli/generators/copyright/index.js
@@ -12,7 +12,6 @@ const _ = require('lodash');
const chalk = require('chalk');
const autocomplete = require('inquirer-autocomplete-prompt');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class CopyrightGenerator extends BaseGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/generators/datasource/index.js b/packages/cli/generators/datasource/index.js
index 35a7f98d45f5..7cfff7f4f042 100644
--- a/packages/cli/generators/datasource/index.js
+++ b/packages/cli/generators/datasource/index.js
@@ -21,7 +21,6 @@ const g = require('../../lib/globalize');
* for the DataSource as well as a Class for a user to modify. Also installs the
* appropriate connector from npm.
*/
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class DataSourceGenerator extends ArtifactGenerator {
constructor(args, opts) {
super(args, opts);
diff --git a/packages/cli/generators/discover/index.js b/packages/cli/generators/discover/index.js
index d051a39961da..eb56d31d9d71 100644
--- a/packages/cli/generators/discover/index.js
+++ b/packages/cli/generators/discover/index.js
@@ -15,7 +15,6 @@ const g = require('../../lib/globalize');
const rootDir = 'src';
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class DiscoveryGenerator extends ArtifactGenerator {
constructor(args, opts) {
super(args, opts);
diff --git a/packages/cli/generators/extension/index.js b/packages/cli/generators/extension/index.js
index a861f1756472..32d00af14c0c 100644
--- a/packages/cli/generators/extension/index.js
+++ b/packages/cli/generators/extension/index.js
@@ -9,7 +9,6 @@ const utils = require('../../lib/utils');
const ProjectGenerator = require('../../lib/project-generator');
const g = require('../../lib/globalize');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class ExtensionGenerator extends ProjectGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/generators/import-lb3-models/index.js b/packages/cli/generators/import-lb3-models/index.js
index 5e2a797a7cdb..058b4d66cdce 100644
--- a/packages/cli/generators/import-lb3-models/index.js
+++ b/packages/cli/generators/import-lb3-models/index.js
@@ -16,7 +16,6 @@ const {importLb3ModelDefinition} = require('./migrate-model');
const {canImportModelName} = require('./model-names');
const g = require('../../lib/globalize');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class Lb3ModelImporter extends BaseGenerator {
constructor(args, opts) {
super(args, opts);
diff --git a/packages/cli/generators/interceptor/index.js b/packages/cli/generators/interceptor/index.js
index 8d68a1c14d75..cec6d3af3e29 100644
--- a/packages/cli/generators/interceptor/index.js
+++ b/packages/cli/generators/interceptor/index.js
@@ -14,7 +14,6 @@ const utils = require('../../lib/utils');
const SCRIPT_TEMPLATE = 'interceptor-template.ts.ejs';
const g = require('../../lib/globalize');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class InterceptorGenerator extends ArtifactGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/generators/model/index.js b/packages/cli/generators/model/index.js
index ab9acfd55d80..d49d3dac2efd 100644
--- a/packages/cli/generators/model/index.js
+++ b/packages/cli/generators/model/index.js
@@ -46,7 +46,6 @@ const MODEL_TEMPLATE_PATH = 'model.ts.ejs';
* entered. Will also ask if a property is required, the default value for the
* property, if it's the ID (unless one has been selected), etc.
*/
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class ModelGenerator extends ArtifactGenerator {
constructor(args, opts) {
super(args, opts);
diff --git a/packages/cli/generators/observer/index.js b/packages/cli/generators/observer/index.js
index fe19af3d8f7b..f12cd3c8b732 100644
--- a/packages/cli/generators/observer/index.js
+++ b/packages/cli/generators/observer/index.js
@@ -13,7 +13,6 @@ const utils = require('../../lib/utils');
const SCRIPT_TEMPLATE = 'observer-template.ts.ejs';
const g = require('../../lib/globalize');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class ObserverGenerator extends ArtifactGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/generators/openapi/index.js b/packages/cli/generators/openapi/index.js
index fac0b2f24d0b..322b8b871e77 100644
--- a/packages/cli/generators/openapi/index.js
+++ b/packages/cli/generators/openapi/index.js
@@ -25,7 +25,6 @@ const json5 = require('json5');
const isWindows = process.platform === 'win32';
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class OpenApiGenerator extends BaseGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/generators/relation/base-relation.generator.js b/packages/cli/generators/relation/base-relation.generator.js
index e03536123bec..7af1d3bdd563 100644
--- a/packages/cli/generators/relation/base-relation.generator.js
+++ b/packages/cli/generators/relation/base-relation.generator.js
@@ -11,7 +11,6 @@ const path = require('path');
const relationUtils = require('./utils.generator');
const utils = require('../../lib/utils');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class BaseRelationGenerator extends ArtifactGenerator {
constructor(args, opts) {
super(args, opts);
@@ -181,9 +180,6 @@ module.exports = class BaseRelationGenerator extends ArtifactGenerator {
this.artifactInfo.throughRepoClassName = utils.toClassName(
options.throughModel + 'Repository',
);
- this.artifactInfo.throughModelPrimaryKey = options.throughModelPrimaryKey;
- this.artifactInfo.throughModelPrimaryKeyType =
- options.throughModelPrimaryKeyType;
}
// relation configuration
diff --git a/packages/cli/generators/relation/belongs-to-relation.generator.js b/packages/cli/generators/relation/belongs-to-relation.generator.js
index 362257c115b1..f9a5cb37de98 100644
--- a/packages/cli/generators/relation/belongs-to-relation.generator.js
+++ b/packages/cli/generators/relation/belongs-to-relation.generator.js
@@ -13,7 +13,6 @@ const relationUtils = require('./utils.generator');
const CONTROLLER_TEMPLATE_PATH_BELONGS_TO =
'controller-relation-template-belongs-to.ts.ejs';
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class BelongsToRelationGenerator extends (
BaseRelationGenerator
) {
diff --git a/packages/cli/generators/relation/has-many-relation.generator.js b/packages/cli/generators/relation/has-many-relation.generator.js
index c9dfb33e4c91..53a2bca0fb78 100644
--- a/packages/cli/generators/relation/has-many-relation.generator.js
+++ b/packages/cli/generators/relation/has-many-relation.generator.js
@@ -13,7 +13,6 @@ const utils = require('../../lib/utils');
const CONTROLLER_TEMPLATE_PATH_HAS_MANY =
'controller-relation-template-has-many.ts.ejs';
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class HasManyRelationGenerator extends BaseRelationGenerator {
constructor(args, opts) {
super(args, opts);
@@ -50,7 +49,8 @@ module.exports = class HasManyRelationGenerator extends BaseRelationGenerator {
this.artifactInfo.sourceModelPrimaryKey = options.sourceModelPrimaryKey;
this.artifactInfo.sourceModelPrimaryKeyType =
options.sourceModelPrimaryKeyType;
- this.artifactInfo.targetModelPrimaryKey = options.targetModelPrimaryKey;
+ this.artifactInfo.targetModelPrimaryKey =
+ options.destinationModelPrimaryKey;
this.artifactInfo.foreignKeyName = options.foreignKeyName;
const source = this.templatePath(CONTROLLER_TEMPLATE_PATH_HAS_MANY);
diff --git a/packages/cli/generators/relation/has-many-through-relation.generator.js b/packages/cli/generators/relation/has-many-through-relation.generator.js
index ebee9a780432..57b5a36a398f 100644
--- a/packages/cli/generators/relation/has-many-through-relation.generator.js
+++ b/packages/cli/generators/relation/has-many-through-relation.generator.js
@@ -14,7 +14,6 @@ const utils = require('../../lib/utils');
const CONTROLLER_TEMPLATE_PATH_HAS_MANY_THROUGH =
'controller-relation-template-has-many-through.ts.ejs';
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class HasManyThroughRelationGenerator extends (
BaseRelationGenerator
) {
@@ -68,10 +67,9 @@ module.exports = class HasManyThroughRelationGenerator extends (
this.artifactInfo.sourceModelPrimaryKey = options.sourceModelPrimaryKey;
this.artifactInfo.sourceModelPrimaryKeyType =
options.sourceModelPrimaryKeyType;
- this.artifactInfo.throughModelPrimaryKey = options.throughModelPrimaryKey;
- this.artifactInfo.throughModelPrimaryKeyType =
- options.throughModelPrimaryKeyType;
- this.artifactInfo.targetModelPrimaryKey = options.targetModelPrimaryKey;
+
+ this.artifactInfo.targetModelPrimaryKey =
+ options.destinationModelPrimaryKey;
this.artifactInfo.foreignKeyName = options.foreignKeyName;
const source = this.templatePath(CONTROLLER_TEMPLATE_PATH_HAS_MANY_THROUGH);
diff --git a/packages/cli/generators/relation/has-one-relation.generator.js b/packages/cli/generators/relation/has-one-relation.generator.js
index 4a89b8310cd8..b5b6b063551f 100644
--- a/packages/cli/generators/relation/has-one-relation.generator.js
+++ b/packages/cli/generators/relation/has-one-relation.generator.js
@@ -13,7 +13,6 @@ const utils = require('../../lib/utils');
const CONTROLLER_TEMPLATE_PATH_HAS_ONE =
'controller-relation-template-has-one.ts.ejs';
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class HasOneRelationGenerator extends BaseRelationGenerator {
constructor(args, opts) {
super(args, opts);
@@ -47,7 +46,8 @@ module.exports = class HasOneRelationGenerator extends BaseRelationGenerator {
this.artifactInfo.sourceModelPrimaryKey = options.sourceModelPrimaryKey;
this.artifactInfo.sourceModelPrimaryKeyType =
options.sourceModelPrimaryKeyType;
- this.artifactInfo.targetModelPrimaryKey = options.targetModelPrimaryKey;
+ this.artifactInfo.targetModelPrimaryKey =
+ options.destinationModelPrimaryKey;
this.artifactInfo.foreignKeyName = options.foreignKeyName;
const source = this.templatePath(CONTROLLER_TEMPLATE_PATH_HAS_ONE);
diff --git a/packages/cli/generators/relation/index.js b/packages/cli/generators/relation/index.js
index ded7504dfee9..5cf9525d1899 100644
--- a/packages/cli/generators/relation/index.js
+++ b/packages/cli/generators/relation/index.js
@@ -24,15 +24,6 @@ const g = require('../../lib/globalize');
const ERROR_INCORRECT_RELATION_TYPE = g.f('Incorrect relation type');
const ERROR_MODEL_DOES_NOT_EXIST = g.f('model does not exist.');
const ERROR_NO_MODELS_FOUND = g.f('No models found in');
-const ERROR_SOURCE_MODEL_PRIMARY_KEY_DOES_NOT_EXIST = g.f(
- 'Source model primary key does not exist.',
-);
-const ERROR_DESTINATION_MODEL_PRIMARY_KEY_DOES_NOT_EXIST = g.f(
- 'Target model primary key does not exist.',
-);
-const ERROR_THROUGH_MODEL_PRIMARY_KEY_DOES_NOT_EXIST = g.f(
- 'Through model primary key does not exist.',
-);
const ERROR_REPOSITORY_DOES_NOT_EXIST = g.f(
'class does not exist. Please create repository first with "lb4 repository" command.',
);
@@ -52,7 +43,6 @@ const PROMPT_MESSAGE_FOREIGN_KEY_NAME_BELONGSTO = g.f(
'Foreign key name to define on the source model',
);
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class RelationGenerator extends ArtifactGenerator {
constructor(args, opts) {
super(args, opts);
@@ -89,6 +79,30 @@ module.exports = class RelationGenerator extends ArtifactGenerator {
description: g.f('Through model'),
});
+ this.option('sourceModelPrimaryKey', {
+ type: String,
+ required: false,
+ description: g.f('Primary key on source model'),
+ });
+
+ this.option('sourceModelPrimaryKeyType', {
+ type: String,
+ required: false,
+ description: g.f('Type of the primary key on source model'),
+ });
+
+ this.option('destinationModelPrimaryKey', {
+ type: String,
+ required: false,
+ description: g.f('Primary key on destination model'),
+ });
+
+ this.option('destinationModelPrimaryKeyType', {
+ type: String,
+ required: false,
+ description: g.f('Type of the primary key on destination model'),
+ });
+
this.option('sourceKeyOnThrough', {
type: String,
required: false,
@@ -371,74 +385,133 @@ module.exports = class RelationGenerator extends ArtifactGenerator {
async promptForeignKey() {
if (this.shouldExit()) return false;
- this.artifactInfo.sourceModelPrimaryKey = await relationUtils.getModelPrimaryKeyProperty(
- this.fs,
- this.artifactInfo.modelDir,
- this.artifactInfo.sourceModel,
- );
+ if (this.options.sourceModelPrimaryKey) {
+ this.artifactInfo.sourceModelPrimaryKey = this.options.sourceModelPrimaryKey;
+ }
+ if (this.options.sourceModelPrimaryKeyType) {
+ this.artifactInfo.sourceModelPrimaryKeyType = this.options.sourceModelPrimaryKeyType;
+ }
+ if (this.options.destinationModelPrimaryKey) {
+ this.artifactInfo.destinationModelPrimaryKey = this.options.destinationModelPrimaryKey;
+ }
+ if (this.options.destinationModelPrimaryKeyType) {
+ this.artifactInfo.destinationModelPrimaryKeyType = this.options.destinationModelPrimaryKeyType;
+ }
+
if (!this.artifactInfo.sourceModelPrimaryKey) {
- /* istanbul ignore next */
- return this.exit(
- new Error(ERROR_SOURCE_MODEL_PRIMARY_KEY_DOES_NOT_EXIST),
- );
- } else {
- this.artifactInfo.sourceModelPrimaryKeyType = relationUtils.getModelPropertyType(
+ const sourceModelPK = await relationUtils.getModelPrimaryKeyProperty(
+ this.fs,
this.artifactInfo.modelDir,
this.artifactInfo.sourceModel,
- this.artifactInfo.sourceModelPrimaryKey,
);
+ if (sourceModelPK) {
+ this.artifactInfo.sourceModelPrimaryKey = sourceModelPK;
+ if (!this.artifactInfo.sourceModelPrimaryKeyType) {
+ const sourceModelPKType = relationUtils.getModelPropertyType(
+ this.artifactInfo.modelDir,
+ this.artifactInfo.sourceModel,
+ this.artifactInfo.sourceModelPrimaryKey,
+ );
+ if (sourceModelPKType) {
+ this.artifactInfo.sourceModelPrimaryKeyType = sourceModelPKType;
+ }
+ }
+ } else {
+ const answer = await this.prompt([
+ {
+ type: 'input',
+ name: 'sourceModelPrimaryKey',
+ message: g.f(
+ 'What is the name of ID property of the source model?',
+ ),
+ when: this.artifactInfo.sourceModelPrimaryKey === undefined,
+ default: 'id',
+ },
+ ]);
+ this.artifactInfo.sourceModelPrimaryKey = answer.sourceModelPrimaryKey;
+ }
+ }
+ if (!this.artifactInfo.sourceModelPrimaryKeyType) {
+ const answer = await this.prompt([
+ {
+ type: 'list',
+ name: 'sourceModelPrimaryKeyType',
+ message: g.f('What is the type of the source model primary key?'),
+ choices: ['number', 'string', 'object'],
+ when: this.artifactInfo.sourceModelPrimaryKeyType === undefined,
+ default: 'number',
+ },
+ ]);
+ this.artifactInfo.sourceModelPrimaryKeyType =
+ answer.sourceModelPrimaryKeyType;
}
- this.artifactInfo.destinationModelPrimaryKey = await relationUtils.getModelPrimaryKeyProperty(
- this.fs,
- this.artifactInfo.modelDir,
- this.artifactInfo.destinationModel,
+ debug(
+ `source model primary key and type: ${this.artifactInfo.destinationModelPrimaryKey}
+ ${this.artifactInfo.destinationModelPrimaryKeyType}`,
);
+
if (!this.artifactInfo.destinationModelPrimaryKey) {
- /* istanbul ignore next */
- return this.exit(
- new Error(ERROR_DESTINATION_MODEL_PRIMARY_KEY_DOES_NOT_EXIST),
- );
- } else {
- this.artifactInfo.destinationModelPrimaryKeyType = relationUtils.getModelPropertyType(
+ const destModelPK = await relationUtils.getModelPrimaryKeyProperty(
+ this.fs,
this.artifactInfo.modelDir,
this.artifactInfo.destinationModel,
- this.artifactInfo.destinationModelPrimaryKey,
);
+ if (destModelPK) {
+ this.artifactInfo.destinationModelPrimaryKey = destModelPK;
+ if (!this.artifactInfo.destinationModelPrimaryKeyType) {
+ const destModelPKType = relationUtils.getModelPropertyType(
+ this.artifactInfo.modelDir,
+ this.artifactInfo.destinationModel,
+ this.artifactInfo.destinationModelPrimaryKey,
+ );
+ if (destModelPKType) {
+ this.artifactInfo.destinationModelPrimaryKeyType = destModelPKType;
+ }
+ }
+ } else {
+ const answer = await this.prompt([
+ {
+ type: 'input',
+ name: 'destinationModelPrimaryKey',
+ message: g.f(
+ 'What is the name of ID property of the target model?',
+ ),
+ when: this.artifactInfo.destinationModelPrimaryKey === undefined,
+ default: 'id',
+ },
+ ]);
+ this.artifactInfo.destinationModelPrimaryKey =
+ answer.destinationModelPrimaryKey;
+ }
+ }
+ if (!this.artifactInfo.destinationModelPrimaryKeyType) {
+ const answer = await this.prompt([
+ {
+ type: 'list',
+ name: 'destinationModelPrimaryKeyType',
+ message: g.f('What is the type of the target model primary key?'),
+ choices: ['number', 'string', 'object'],
+ when: this.artifactInfo.destinationModelPrimaryKeyType === undefined,
+ default: 'number',
+ },
+ ]);
+ this.artifactInfo.destinationModelPrimaryKeyType =
+ answer.destinationModelPrimaryKeyType;
}
- // for controller usage;
- this.artifactInfo.targetModelPrimaryKey = await relationUtils.getModelPrimaryKeyProperty(
- this.fs,
- this.artifactInfo.modelDir,
- this.artifactInfo.destinationModel,
+ debug(
+ `destination model primary key and type: ${this.artifactInfo.destinationModelPrimaryKey}
+ ${this.artifactInfo.destinationModelPrimaryKeyType}`,
);
// checks fks for hasManyThrough
if (this.artifactInfo.relationType === 'hasManyThrough') {
- this.artifactInfo.throughModelPrimaryKey = await relationUtils.getModelPrimaryKeyProperty(
- this.fs,
- this.artifactInfo.modelDir,
- this.artifactInfo.throughModel,
- );
- if (this.artifactInfo.throughModelPrimaryKey) {
- this.artifactInfo.throughModelPrimaryKeyType = relationUtils.getModelPropertyType(
- this.artifactInfo.modelDir,
- this.artifactInfo.throughModel,
- this.artifactInfo.throughModelPrimaryKey,
- );
- // type: sourceModelPrimaryKeyType
- this.artifactInfo.defaultSourceKeyOnThrough =
- utils.camelCase(this.artifactInfo.sourceModel) + 'Id';
- this.artifactInfo.defaultTargetKeyOnThrough =
- utils.camelCase(this.artifactInfo.destinationModel) + 'Id';
- return this._promptKeyFromOnThroughModel();
- } else {
- /* istanbul ignore next */
- return this.exit(
- new Error(ERROR_THROUGH_MODEL_PRIMARY_KEY_DOES_NOT_EXIST),
- );
- }
+ this.artifactInfo.defaultSourceKeyOnThrough =
+ utils.camelCase(this.artifactInfo.sourceModel) + 'Id';
+ this.artifactInfo.defaultTargetKeyOnThrough =
+ utils.camelCase(this.artifactInfo.destinationModel) + 'Id';
+ return this._promptKeyFromOnThroughModel();
}
if (this.options.foreignKeyName) {
diff --git a/packages/cli/generators/repository/index.js b/packages/cli/generators/repository/index.js
index 6f43bf85f4c5..3b2a5e1016be 100644
--- a/packages/cli/generators/repository/index.js
+++ b/packages/cli/generators/repository/index.js
@@ -58,7 +58,6 @@ const ERROR_NO_DATA_SOURCES_FOUND = g.f('No datasources found at');
const ERROR_NO_MODELS_FOUND = g.f('No models found at');
const ERROR_NO_MODEL_SELECTED = g.f('You did not select a valid model');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class RepositoryGenerator extends ArtifactGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/generators/repository/templates/src/repositories/repository-crud-default-template.ts.ejs b/packages/cli/generators/repository/templates/src/repositories/repository-crud-default-template.ts.ejs
index ba8a3ca29418..b150d57bb050 100644
--- a/packages/cli/generators/repository/templates/src/repositories/repository-crud-default-template.ts.ejs
+++ b/packages/cli/generators/repository/templates/src/repositories/repository-crud-default-template.ts.ejs
@@ -1,9 +1,9 @@
+import {inject} from '@loopback/core';
<%if (isRepositoryBaseBuiltin) { -%>
import {<%= repositoryTypeClass %>} from '@loopback/repository';
<% } -%>
-import {<%= modelName %>, <%= modelName %>Relations} from '../models';
import {<%= dataSourceClassName %>} from '../datasources';
-import {inject} from '@loopback/core';
+import {<%= modelName %>, <%= modelName %>Relations} from '../models';
<%if ( !isRepositoryBaseBuiltin ) { -%>
import {<%=repositoryBaseClass %>} from './<%=repositoryBaseFile %>';
<% } -%>
diff --git a/packages/cli/generators/repository/templates/src/repositories/repository-kv-template.ts.ejs b/packages/cli/generators/repository/templates/src/repositories/repository-kv-template.ts.ejs
index 2f70bfdda13c..237a29d20351 100644
--- a/packages/cli/generators/repository/templates/src/repositories/repository-kv-template.ts.ejs
+++ b/packages/cli/generators/repository/templates/src/repositories/repository-kv-template.ts.ejs
@@ -1,9 +1,9 @@
+import {inject} from '@loopback/core';
<%if (isRepositoryBaseBuiltin) { -%>
import {<%= repositoryTypeClass %>, juggler} from '@loopback/repository';
<% } -%>
-import {<%= modelName %>} from '../models';
import {<%= dataSourceClassName %>} from '../datasources';
-import {inject} from '@loopback/core';
+import {<%= modelName %>} from '../models';
<%if ( !isRepositoryBaseBuiltin ) { -%>
import {<%=repositoryBaseClass %>} from './<%=repositoryBaseFile %>';
<% } -%>
diff --git a/packages/cli/generators/rest-crud/index.js b/packages/cli/generators/rest-crud/index.js
index 26ba5538ade4..dd9ff01bef51 100644
--- a/packages/cli/generators/rest-crud/index.js
+++ b/packages/cli/generators/rest-crud/index.js
@@ -31,7 +31,6 @@ const ERROR_NO_DATA_SOURCES_FOUND = g.f('No datasources found at');
const ERROR_NO_MODELS_FOUND = g.f('No models found at');
const ERROR_NO_MODEL_SELECTED = g.f('You did not select a valid model');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class RestCrudGenerator extends ArtifactGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/generators/service/index.js b/packages/cli/generators/service/index.js
index 203a7e8df6da..6bd3f2194084 100644
--- a/packages/cli/generators/service/index.js
+++ b/packages/cli/generators/service/index.js
@@ -33,7 +33,6 @@ const TEMPLATES = {
[LOCAL_SERVICE_PROVIDER]: LOCAL_PROVIDER_TEMPLATE,
};
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class ServiceGenerator extends ArtifactGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/generators/service/templates/remote-service-proxy-template.ts.ejs b/packages/cli/generators/service/templates/remote-service-proxy-template.ts.ejs
index 6ff122b90a4f..84964ab31c8f 100644
--- a/packages/cli/generators/service/templates/remote-service-proxy-template.ts.ejs
+++ b/packages/cli/generators/service/templates/remote-service-proxy-template.ts.ejs
@@ -1,5 +1,5 @@
-import {getService} from '@loopback/service-proxy';
import {inject, Provider} from '@loopback/core';
+import {getService} from '@loopback/service-proxy';
import {<%= dataSourceClassName %>} from '../datasources';
export interface <%= className %> {
diff --git a/packages/cli/generators/update/index.js b/packages/cli/generators/update/index.js
index 72188bd20464..60def2206939 100644
--- a/packages/cli/generators/update/index.js
+++ b/packages/cli/generators/update/index.js
@@ -10,7 +10,6 @@ const g = require('../../lib/globalize');
const link = require('terminal-link');
const chalk = require('chalk');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class UpdateGenerator extends BaseGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/lib/artifact-generator.js b/packages/cli/lib/artifact-generator.js
index 352ceb8d4b36..6819189abec1 100644
--- a/packages/cli/lib/artifact-generator.js
+++ b/packages/cli/lib/artifact-generator.js
@@ -11,7 +11,6 @@ const path = require('path');
const chalk = require('chalk');
const g = require('./globalize');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class ArtifactGenerator extends BaseGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/lib/base-generator.js b/packages/cli/lib/base-generator.js
index 118a904c046b..f876306038ea 100644
--- a/packages/cli/lib/base-generator.js
+++ b/packages/cli/lib/base-generator.js
@@ -19,10 +19,29 @@ const supportedPackageManagers = ['npm', 'yarn'];
debug('Is stdin interactive (isTTY)?', process.stdin.isTTY);
+const DEFAULT_COPY_OPTIONS = {
+ // See https://github.com/SBoudrias/mem-fs-editor/pull/147
+ // Don't remove .ejs from the file name to keep backward-compatibility
+ processDestinationPath: destPath => destPath,
+ // See https://github.com/mrmlnc/fast-glob#options-1
+ globOptions: {
+ // Allow patterns to match filenames starting with a period (files &
+ // directories), even if the pattern does not explicitly have a period
+ // in that spot.
+ dot: true,
+ // Disable expansion of brace patterns ({a,b}, {1..3}).
+ nobrace: true,
+ // Disable extglob support (patterns like +(a|b)), so that extglobs
+ // are regarded as literal characters. This flag allows us to support
+ // Windows paths such as
+ // `D:\Users\BKU\oliverkarst\AppData(Roaming)\npm\node_modules\@loopback\cli`
+ noext: true,
+ },
+};
+
/**
* Base Generator for LoopBack 4
*/
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class BaseGenerator extends Generator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
@@ -389,25 +408,7 @@ module.exports = class BaseGenerator extends Generator {
to,
context,
templateOptions = {},
- copyOptions = {
- // See https://github.com/SBoudrias/mem-fs-editor/pull/147
- // Don't remove .ejs from the file name to keep backward-compatibility
- processDestinationPath: destPath => destPath,
- // See https://github.com/mrmlnc/fast-glob#options-1
- globOptions: {
- // Allow patterns to match filenames starting with a period (files &
- // directories), even if the pattern does not explicitly have a period
- // in that spot.
- dot: true,
- // Disable expansion of brace patterns ({a,b}, {1..3}).
- nobrace: true,
- // Disable extglob support (patterns like +(a|b)), so that extglobs
- // are regarded as literal characters. This flag allows us to support
- // Windows paths such as
- // `D:\Users\BKU\oliverkarst\AppData(Roaming)\npm\node_modules\@loopback\cli`
- noext: true,
- },
- },
+ copyOptions = DEFAULT_COPY_OPTIONS,
) {
return this.fs.copyTpl(from, to, context, templateOptions, copyOptions);
}
diff --git a/packages/cli/lib/project-generator.js b/packages/cli/lib/project-generator.js
index 4de2e1360e03..3c85bc6d1ce9 100644
--- a/packages/cli/lib/project-generator.js
+++ b/packages/cli/lib/project-generator.js
@@ -12,7 +12,6 @@ const cliVersion = require('../package.json').version;
const path = require('path');
const g = require('./globalize');
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
module.exports = class ProjectGenerator extends BaseGenerator {
// Note: arguments and options should be defined in the constructor.
constructor(args, opts) {
diff --git a/packages/cli/lib/utils.js b/packages/cli/lib/utils.js
index d2727e8aa286..15949bac9e3b 100644
--- a/packages/cli/lib/utils.js
+++ b/packages/cli/lib/utils.js
@@ -296,7 +296,6 @@ exports.validateUrlSlug = function (name) {
/**
* Extends conflicter so that it keeps track of conflict status
*/
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
exports.StatusConflicter = class StatusConflicter extends Conflicter {
constructor(adapter, force) {
super(adapter, force);
diff --git a/packages/cli/package-lock.json b/packages/cli/package-lock.json
index 0a9b0536cd30..d94e9601c2f6 100644
--- a/packages/cli/package-lock.json
+++ b/packages/cli/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/cli",
- "version": "2.17.2",
+ "version": "2.18.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -269,11 +269,22 @@
}
},
"@npmcli/move-file": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz",
- "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.0.tgz",
+ "integrity": "sha512-Iv2iq0JuyYjKeFkSR4LPaCdDZwlGK9X2cP/01nJcp3yMJ1FjNd9vpiEYvLUgzBxKPg2SFmaOhizoQsPc0LWeOQ==",
"requires": {
- "mkdirp": "^1.0.4"
+ "mkdirp": "^1.0.4",
+ "rimraf": "^2.7.1"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
}
},
"@npmcli/node-gyp": {
@@ -341,16 +352,6 @@
"@sinonjs/commons": "^1.7.0"
}
},
- "@sinonjs/formatio": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-5.0.1.tgz",
- "integrity": "sha512-KaiQ5pBf1MpS09MuA0kp6KBQt2JUOQycqVG1NZXvzeaXe5LGFqAKueIS0bw4w0P9r7KuBSVdUk5QjXsUdu2CxQ==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1",
- "@sinonjs/samsam": "^5.0.2"
- }
- },
"@sinonjs/samsam": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.0.tgz",
@@ -501,9 +502,9 @@
}
},
"@types/fs-extra": {
- "version": "9.0.4",
- "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.4.tgz",
- "integrity": "sha512-50GO5ez44lxK5MDH90DYHFFfqxH7+fTqEEnvguQRzJ/tY9qFrMSHLiYHite+F3SNmf7+LHC1eMXojuD+E3Qcyg==",
+ "version": "9.0.6",
+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.6.tgz",
+ "integrity": "sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -2711,14 +2712,14 @@
"dev": true
},
"fs-extra": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
- "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
- "universalify": "^1.0.0"
+ "universalify": "^2.0.0"
}
},
"fs-minipass": {
@@ -3930,13 +3931,6 @@
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- }
}
},
"jsonparse": {
@@ -4899,22 +4893,22 @@
}
},
"make-fetch-happen": {
- "version": "8.0.10",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.10.tgz",
- "integrity": "sha512-jPLPKQjBmDLK5r1BdyDyNKBytmkv2AsDWm2CxHJh+fqhSmC9Pmb7RQxwOq8xQig9+AWIS49+51k4f6vDQ3VnrQ==",
+ "version": "8.0.13",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.13.tgz",
+ "integrity": "sha512-rQ5NijwwdU8tIaBrpTtSVrNCcAJfyDRcKBC76vOQlyJX588/88+TE+UpjWl4BgG7gCkp29wER7xcRqkeg+x64Q==",
"requires": {
- "agentkeepalive": "^4.1.0",
- "cacache": "^15.0.0",
- "http-cache-semantics": "^4.0.4",
+ "agentkeepalive": "^4.1.3",
+ "cacache": "^15.0.5",
+ "http-cache-semantics": "^4.1.0",
"http-proxy-agent": "^4.0.1",
"https-proxy-agent": "^5.0.0",
"is-lambda": "^1.0.1",
"lru-cache": "^6.0.0",
"minipass": "^3.1.3",
"minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.0",
+ "minipass-fetch": "^1.3.2",
"minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
+ "minipass-pipeline": "^1.2.4",
"promise-retry": "^1.1.1",
"socks-proxy-agent": "^5.0.0",
"ssri": "^8.0.0"
@@ -5128,9 +5122,9 @@
}
},
"minipass-fetch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.2.tgz",
- "integrity": "sha512-/i4fX1ss+Dtwyk++OsAI6SEV+eE1dvI6W+0hORdjfruQ7VD5uYTetJIHcEMjWiEiszWjn2aAtP1CB/Q4KfeoYA==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.3.tgz",
+ "integrity": "sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ==",
"requires": {
"encoding": "^0.1.12",
"minipass": "^3.1.0",
@@ -5997,9 +5991,9 @@
}
},
"pacote": {
- "version": "11.1.13",
- "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.1.13.tgz",
- "integrity": "sha512-oJ7Bg7p3izrIMhZPHCCHmMHQl+xb+pKBXL5ZYeM2oCZrw6sBRSx7f8l7F+95V2qA0BP3c1cNaaBmUNkbo6Hn9w==",
+ "version": "11.2.3",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.2.3.tgz",
+ "integrity": "sha512-Jphxyk1EjGyLzNwa+MkbcQUQeTIqlKcIoPq0t9ekR9ZxsTGjzhRjz/cOoL9PTVkqAW1FH7qBoVbYL4FqQGNNJg==",
"requires": {
"@npmcli/git": "^2.0.1",
"@npmcli/installed-package-contents": "^1.0.5",
@@ -6019,7 +6013,7 @@
"read-package-json-fast": "^1.1.3",
"rimraf": "^3.0.2",
"ssri": "^8.0.0",
- "tar": "^6.0.1"
+ "tar": "^6.1.0"
},
"dependencies": {
"hosted-git-info": {
@@ -6869,15 +6863,14 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"sinon": {
- "version": "9.2.1",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.1.tgz",
- "integrity": "sha512-naPfsamB5KEE1aiioaoqJ6MEhdUs/2vtI5w1hPAXX/UwvoPjXcwh1m5HiKx0HGgKR8lQSoFIgY5jM6KK8VrS9w==",
+ "version": "9.2.3",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.3.tgz",
+ "integrity": "sha512-m+DyAWvqVHZtjnjX/nuShasykFeiZ+nPuEfD4G3gpvKGkXRhkF/6NSt2qN2FjZhfrcHXFzUzI+NLnk+42fnLEw==",
"dev": true,
"requires": {
"@sinonjs/commons": "^1.8.1",
"@sinonjs/fake-timers": "^6.0.1",
- "@sinonjs/formatio": "^5.0.1",
- "@sinonjs/samsam": "^5.2.0",
+ "@sinonjs/samsam": "^5.3.0",
"diff": "^4.0.2",
"nise": "^4.0.4",
"supports-color": "^7.1.0"
@@ -7586,9 +7579,9 @@
}
},
"tar": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz",
- "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz",
+ "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==",
"requires": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -7791,9 +7784,9 @@
}
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ=="
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg=="
},
"uid2": {
"version": "0.0.3",
@@ -7868,9 +7861,9 @@
}
},
"universalify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
- "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
},
"unpipe": {
"version": "1.0.0",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 717fab058675..4542ecb91fa0 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/cli",
- "version": "2.17.2",
+ "version": "2.18.0",
"description": "Yeoman generator for LoopBack 4",
"homepage": "https://github.com/strongloop/loopback-next/tree/master/packages/cli",
"author": "IBM Corp.",
@@ -17,7 +17,7 @@
"chalk": "^4.1.0",
"change-case": "^4.1.2",
"debug": "^4.3.1",
- "fs-extra": "^9.0.1",
+ "fs-extra": "^9.1.0",
"glob": "^7.1.6",
"inquirer-autocomplete-prompt": "^1.3.0",
"json5": "^2.1.3",
@@ -27,7 +27,7 @@
"minimist": "^1.2.5",
"mkdirp": "^1.0.4",
"natural-compare": "^1.4.0",
- "pacote": "^11.1.13",
+ "pacote": "^11.2.3",
"pluralize": "^8.0.0",
"regenerate": "^1.4.2",
"semver": "^7.3.4",
@@ -41,7 +41,7 @@
"terminal-link": "^2.1.1",
"tildify": "^2.0.0",
"ts-morph": "^9.1.0",
- "typescript": "~4.1.2",
+ "typescript": "~4.1.3",
"unicode-10.0.0": "^0.7.5",
"untildify": "^4.0.0",
"update-notifier": "^5.0.1",
@@ -52,11 +52,11 @@
"yeoman-generator": "^4.12.0"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/ejs": "^3.0.5",
- "@types/fs-extra": "^9.0.4",
+ "@types/fs-extra": "^9.0.6",
"@types/minimatch": "^3.0.3",
"@types/node": "^10.17.35",
"loopback": "^3.28.0",
@@ -65,13 +65,13 @@
"mem-fs-editor": "^7.1.0",
"mock-stdin": "^1.0.0",
"rimraf": "^3.0.2",
- "sinon": "^9.2.1",
+ "sinon": "^9.2.3",
"strong-globalize-cli": "7.1.0",
"yeoman-assert": "^3.1.1",
"yeoman-test": "~2.7.0"
},
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"files": [
"bin",
@@ -102,94 +102,95 @@
"config": {
"templateDependencies": {
"tslib": "^2.0.0",
- "@types/mocha": "^8.0.4",
- "@types/node": "^10.17.48",
+ "@types/mocha": "^8.2.0",
+ "@types/node": "^10.17.51",
"cross-spawn": "^7.0.3",
"debug": "^4.3.1",
- "fs-extra": "^9.0.1",
+ "fs-extra": "^9.1.0",
"mocha": "^8.2.1",
"nyc": "^15.1.0",
"prettier": "^2.2.1",
"rimraf": "^3.0.2",
"source-map-support": "^0.5.19",
- "typescript": "~4.1.2",
- "@loopback/authentication": "^7.0.5",
- "@loopback/boot": "^3.1.2",
- "@loopback/build": "^6.2.8",
- "@loopback/cli": "^2.17.2",
- "@loopback/context": "^3.13.2",
- "@loopback/core": "^2.13.1",
- "@loopback/metadata": "^3.0.5",
- "@loopback/openapi-spec-builder": "^3.0.3",
- "@loopback/openapi-v3": "^5.1.2",
- "@loopback/repository-json-schema": "^3.2.0",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
- "@loopback/docs": "^3.20.0",
+ "typescript": "~4.1.3",
+ "@loopback/authentication": "^7.0.6",
+ "@loopback/boot": "^3.2.0",
+ "@loopback/build": "^6.2.9",
+ "@loopback/cli": "^2.18.0",
+ "@loopback/context": "^3.14.0",
+ "@loopback/core": "^2.14.0",
+ "@loopback/metadata": "^3.1.0",
+ "@loopback/openapi-spec-builder": "^3.0.4",
+ "@loopback/openapi-v3": "^5.1.3",
+ "@loopback/repository-json-schema": "^3.2.1",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
+ "@loopback/docs": "^3.21.0",
"glob": "^7.1.6",
- "@loopback/example-hello-world": "^2.1.15",
- "@loopback/example-log-extension": "^2.1.15",
- "@loopback/example-rpc-server": "^2.1.15",
- "@loopback/example-todo": "^3.9.2",
- "@loopback/example-soap-calculator": "^2.4.8",
- "@loopback/service-proxy": "^3.0.5",
- "@loopback/http-caching-proxy": "^2.1.19",
- "@loopback/http-server": "^2.3.3",
- "@loopback/example-todo-list": "^3.7.0",
+ "@loopback/example-hello-world": "^2.1.16",
+ "@loopback/example-log-extension": "^2.1.16",
+ "@loopback/example-rpc-server": "^2.1.16",
+ "@loopback/example-todo": "^3.9.3",
+ "@loopback/example-soap-calculator": "^2.4.9",
+ "@loopback/service-proxy": "^3.0.6",
+ "@loopback/http-caching-proxy": "^2.1.20",
+ "@loopback/http-server": "^2.3.4",
+ "@loopback/example-todo-list": "^3.7.1",
"@loopback/dist-util": "^0.4.0",
- "@loopback/rest-explorer": "^3.0.5",
- "@loopback/eslint-config": "^10.0.4",
+ "@loopback/rest-explorer": "^3.0.6",
+ "@loopback/eslint-config": "^10.0.5",
"express-composition": "^1.1.0",
- "@loopback/example-express-composition": "^2.5.3",
- "@loopback/example-greeter-extension": "^2.1.15",
- "@loopback/booter-lb3app": "^2.2.15",
- "@loopback/example-lb3-application": "^2.5.3",
- "eslint": "^7.15.0",
+ "@loopback/example-express-composition": "^2.5.4",
+ "@loopback/example-greeter-extension": "^2.1.16",
+ "@loopback/booter-lb3app": "^2.2.16",
+ "@loopback/example-lb3-application": "^2.5.4",
+ "eslint": "^7.18.0",
"eslint-plugin-mocha": "^8.0.0",
- "@loopback/example-greeting-app": "^2.2.13",
- "@loopback/example-context": "^2.1.15",
- "@typescript-eslint/eslint-plugin": "^4.9.0",
- "@typescript-eslint/parser": "^4.9.0",
+ "@loopback/example-greeting-app": "^2.2.14",
+ "@loopback/example-context": "^2.1.16",
+ "@typescript-eslint/eslint-plugin": "^4.14.0",
+ "@typescript-eslint/parser": "^4.14.0",
"eslint-plugin-eslint-plugin": "^2.3.0",
- "eslint-config-prettier": "^7.0.0",
- "@loopback/repository-tests": "^0.15.0",
- "@loopback/health": "^0.6.2",
- "@loopback/authorization": "^0.7.5",
- "@loopback/rest-crud": "^0.8.19",
- "@loopback/security": "^0.3.5",
- "@loopback/authentication-passport": "^3.0.5",
- "@loopback/example-metrics-prometheus": "^0.4.5",
- "@loopback/metrics": "^0.5.2",
- "@loopback/model-api-builder": "^2.1.19",
- "@loopback/logging": "^0.4.5",
- "@loopback/example-access-control-migration": "^2.3.3",
- "@loopback/example-file-transfer": "^1.5.8",
- "@loopback/example-rest-crud": "^1.7.3",
- "@loopback/apiconnect": "^0.5.5",
- "@loopback/example-validation-app": "^1.8.3",
- "@loopback/cron": "^0.3.5",
- "@loopback/example-multi-tenancy": "^0.7.3",
- "@loopback/example-passport-login": "^1.9.0",
- "@loopback/authentication-jwt": "^0.7.5",
- "@loopback/context-explorer": "^0.2.5",
- "@loopback/express": "^3.1.1",
+ "eslint-config-prettier": "^7.2.0",
+ "@loopback/repository-tests": "^0.16.0",
+ "@loopback/health": "^0.6.3",
+ "@loopback/authorization": "^0.7.6",
+ "@loopback/rest-crud": "^0.8.20",
+ "@loopback/security": "^0.3.6",
+ "@loopback/authentication-passport": "^3.0.6",
+ "@loopback/example-metrics-prometheus": "^0.4.6",
+ "@loopback/metrics": "^0.6.0",
+ "@loopback/model-api-builder": "^2.1.20",
+ "@loopback/logging": "^0.4.6",
+ "@loopback/example-access-control-migration": "^2.3.4",
+ "@loopback/example-file-transfer": "^1.5.9",
+ "@loopback/example-rest-crud": "^1.7.4",
+ "@loopback/apiconnect": "^0.5.6",
+ "@loopback/example-validation-app": "^1.8.4",
+ "@loopback/cron": "^0.3.6",
+ "@loopback/example-multi-tenancy": "^0.7.4",
+ "@loopback/example-passport-login": "^1.9.1",
+ "@loopback/authentication-jwt": "^0.7.6",
+ "@loopback/context-explorer": "^0.3.0",
+ "@loopback/express": "^3.1.2",
"@types/js-yaml": "^3.12.4",
"js-yaml": "^3.13.1",
- "@loopback/example-todo-jwt": "^1.4.3",
- "@loopback/mock-oauth2-provider": "^0.1.13",
+ "@loopback/example-todo-jwt": "^1.4.4",
+ "@loopback/mock-oauth2-provider": "^0.1.14",
"lodash": "^4.17.20",
- "@loopback/pooling": "^0.3.5",
- "@loopback/typeorm": "^0.2.5",
- "@loopback/example-graphql": "^0.1.5",
- "@loopback/graphql": "^0.2.3",
- "@loopback/filter": "^1.3.0",
- "@loopback/rest-msgpack": "^0.2.4",
- "@loopback/example-binding-resolution": "^0.1.3",
- "@loopback/example-webpack": "^0.2.2",
- "@loopback/example-socketio": "^0.1.2",
- "@loopback/socketio": "^0.1.2",
- "@loopback/monorepo": "^0.1.2"
+ "@loopback/pooling": "^0.3.6",
+ "@loopback/typeorm": "^0.2.6",
+ "@loopback/example-graphql": "^0.1.6",
+ "@loopback/graphql": "^0.2.4",
+ "@loopback/filter": "^1.3.1",
+ "@loopback/rest-msgpack": "^0.3.0",
+ "@loopback/example-binding-resolution": "^0.1.4",
+ "@loopback/example-webpack": "^0.2.3",
+ "@loopback/example-socketio": "^0.1.3",
+ "@loopback/socketio": "^0.1.3",
+ "@loopback/monorepo": "^0.1.3",
+ "@loopback/tsdocs": "^2.4.0"
}
}
}
diff --git a/packages/cli/snapshots/integration/cli/cli.integration.snapshots.js b/packages/cli/snapshots/integration/cli/cli.integration.snapshots.js
index c61d042f0089..3941012dde47 100644
--- a/packages/cli/snapshots/integration/cli/cli.integration.snapshots.js
+++ b/packages/cli/snapshots/integration/cli/cli.integration.snapshots.js
@@ -1401,6 +1401,34 @@ exports[`cli saves command metadata to .yo-rc.json 1`] = `
"name": "throughModel",
"hide": false
},
+ "sourceModelPrimaryKey": {
+ "type": "String",
+ "required": false,
+ "description": "Primary key on source model",
+ "name": "sourceModelPrimaryKey",
+ "hide": false
+ },
+ "sourceModelPrimaryKeyType": {
+ "type": "String",
+ "required": false,
+ "description": "Type of the primary key on source model",
+ "name": "sourceModelPrimaryKeyType",
+ "hide": false
+ },
+ "destinationModelPrimaryKey": {
+ "type": "String",
+ "required": false,
+ "description": "Primary key on destination model",
+ "name": "destinationModelPrimaryKey",
+ "hide": false
+ },
+ "destinationModelPrimaryKeyType": {
+ "type": "String",
+ "required": false,
+ "description": "Type of the primary key on destination model",
+ "name": "destinationModelPrimaryKeyType",
+ "hide": false
+ },
"sourceKeyOnThrough": {
"type": "String",
"required": false,
diff --git a/packages/cli/snapshots/integration/generators/app.integration.snapshots.js b/packages/cli/snapshots/integration/generators/app.integration.snapshots.js
index 17f6934b6fed..e7bdc7ad1bb4 100644
--- a/packages/cli/snapshots/integration/generators/app.integration.snapshots.js
+++ b/packages/cli/snapshots/integration/generators/app.integration.snapshots.js
@@ -199,8 +199,14 @@ if (require.main === module) {
exports[`app-generator specific files generates all the proper files 5`] = `
-import {Request, RestBindings, get, ResponseObject} from '@loopback/rest';
import {inject} from '@loopback/core';
+import {
+ Request,
+ RestBindings,
+ get,
+ response,
+ ResponseObject,
+} from '@loopback/rest';
/**
* OpenAPI response for ping()
@@ -236,11 +242,8 @@ export class PingController {
constructor(@inject(RestBindings.Http.REQUEST) private req: Request) {}
// Map to \`GET /ping\`
- @get('/ping', {
- responses: {
- '200': PING_RESPONSE,
- },
- })
+ @get('/ping')
+ @response(200, PING_RESPONSE)
ping(): object {
// Reply with a greeting, the current time, the url, and request headers
return {
diff --git a/packages/cli/snapshots/integration/generators/controller.integration.snapshots.js b/packages/cli/snapshots/integration/generators/controller.integration.snapshots.js
index aff32ffcc106..427e4215c62d 100644
--- a/packages/cli/snapshots/integration/generators/controller.integration.snapshots.js
+++ b/packages/cli/snapshots/integration/generators/controller.integration.snapshots.js
@@ -25,6 +25,7 @@ import {
put,
del,
requestBody,
+ response,
} from '@loopback/rest';
import {ProductReview} from '../models';
import {BarRepository} from '../repositories';
@@ -35,13 +36,10 @@ export class ProductReviewController {
public barRepository : BarRepository,
) {}
- @post('/product-reviews', {
- responses: {
- '200': {
- description: 'ProductReview model instance',
- content: {'application/json': {schema: getModelSchemaRef(ProductReview)}},
- },
- },
+ @post('/product-reviews')
+ @response(200, {
+ description: 'ProductReview model instance',
+ content: {'application/json': {schema: getModelSchemaRef(ProductReview)}},
})
async create(
@requestBody({
@@ -59,13 +57,10 @@ export class ProductReviewController {
return this.barRepository.create(productReview);
}
- @get('/product-reviews/count', {
- responses: {
- '200': {
- description: 'ProductReview model count',
- content: {'application/json': {schema: CountSchema}},
- },
- },
+ @get('/product-reviews/count')
+ @response(200, {
+ description: 'ProductReview model count',
+ content: {'application/json': {schema: CountSchema}},
})
async count(
@param.where(ProductReview) where?: Where,
@@ -73,17 +68,14 @@ export class ProductReviewController {
return this.barRepository.count(where);
}
- @get('/product-reviews', {
- responses: {
- '200': {
- description: 'Array of ProductReview model instances',
- content: {
- 'application/json': {
- schema: {
- type: 'array',
- items: getModelSchemaRef(ProductReview, {includeRelations: true}),
- },
- },
+ @get('/product-reviews')
+ @response(200, {
+ description: 'Array of ProductReview model instances',
+ content: {
+ 'application/json': {
+ schema: {
+ type: 'array',
+ items: getModelSchemaRef(ProductReview, {includeRelations: true}),
},
},
},
@@ -94,13 +86,10 @@ export class ProductReviewController {
return this.barRepository.find(filter);
}
- @patch('/product-reviews', {
- responses: {
- '200': {
- description: 'ProductReview PATCH success count',
- content: {'application/json': {schema: CountSchema}},
- },
- },
+ @patch('/product-reviews')
+ @response(200, {
+ description: 'ProductReview PATCH success count',
+ content: {'application/json': {schema: CountSchema}},
})
async updateAll(
@requestBody({
@@ -116,15 +105,12 @@ export class ProductReviewController {
return this.barRepository.updateAll(productReview, where);
}
- @get('/product-reviews/{id}', {
- responses: {
- '200': {
- description: 'ProductReview model instance',
- content: {
- 'application/json': {
- schema: getModelSchemaRef(ProductReview, {includeRelations: true}),
- },
- },
+ @get('/product-reviews/{id}')
+ @response(200, {
+ description: 'ProductReview model instance',
+ content: {
+ 'application/json': {
+ schema: getModelSchemaRef(ProductReview, {includeRelations: true}),
},
},
})
@@ -135,12 +121,9 @@ export class ProductReviewController {
return this.barRepository.findById(id, filter);
}
- @patch('/product-reviews/{id}', {
- responses: {
- '204': {
- description: 'ProductReview PATCH success',
- },
- },
+ @patch('/product-reviews/{id}')
+ @response(204, {
+ description: 'ProductReview PATCH success',
})
async updateById(
@param.path.number('id') id: number,
@@ -156,12 +139,9 @@ export class ProductReviewController {
await this.barRepository.updateById(id, productReview);
}
- @put('/product-reviews/{id}', {
- responses: {
- '204': {
- description: 'ProductReview PUT success',
- },
- },
+ @put('/product-reviews/{id}')
+ @response(204, {
+ description: 'ProductReview PUT success',
})
async replaceById(
@param.path.number('id') id: number,
@@ -170,12 +150,9 @@ export class ProductReviewController {
await this.barRepository.replaceById(id, productReview);
}
- @del('/product-reviews/{id}', {
- responses: {
- '204': {
- description: 'ProductReview DELETE success',
- },
- },
+ @del('/product-reviews/{id}')
+ @response(204, {
+ description: 'ProductReview DELETE success',
})
async deleteById(@param.path.number('id') id: number): Promise {
await this.barRepository.deleteById(id);
@@ -203,6 +180,7 @@ import {
put,
del,
requestBody,
+ response,
} from '@loopback/rest';
import {ProductReview} from '../models';
import {BarRepository} from '../repositories';
@@ -213,13 +191,10 @@ export class ProductReviewController {
public barRepository : BarRepository,
) {}
- @post('/product-reviews', {
- responses: {
- '200': {
- description: 'ProductReview model instance',
- content: {'application/json': {schema: getModelSchemaRef(ProductReview)}},
- },
- },
+ @post('/product-reviews')
+ @response(200, {
+ description: 'ProductReview model instance',
+ content: {'application/json': {schema: getModelSchemaRef(ProductReview)}},
})
async create(
@requestBody({
@@ -237,13 +212,10 @@ export class ProductReviewController {
return this.barRepository.create(productReview);
}
- @get('/product-reviews/count', {
- responses: {
- '200': {
- description: 'ProductReview model count',
- content: {'application/json': {schema: CountSchema}},
- },
- },
+ @get('/product-reviews/count')
+ @response(200, {
+ description: 'ProductReview model count',
+ content: {'application/json': {schema: CountSchema}},
})
async count(
@param.where(ProductReview) where?: Where,
@@ -251,17 +223,14 @@ export class ProductReviewController {
return this.barRepository.count(where);
}
- @get('/product-reviews', {
- responses: {
- '200': {
- description: 'Array of ProductReview model instances',
- content: {
- 'application/json': {
- schema: {
- type: 'array',
- items: getModelSchemaRef(ProductReview, {includeRelations: true}),
- },
- },
+ @get('/product-reviews')
+ @response(200, {
+ description: 'Array of ProductReview model instances',
+ content: {
+ 'application/json': {
+ schema: {
+ type: 'array',
+ items: getModelSchemaRef(ProductReview, {includeRelations: true}),
},
},
},
@@ -272,13 +241,10 @@ export class ProductReviewController {
return this.barRepository.find(filter);
}
- @patch('/product-reviews', {
- responses: {
- '200': {
- description: 'ProductReview PATCH success count',
- content: {'application/json': {schema: CountSchema}},
- },
- },
+ @patch('/product-reviews')
+ @response(200, {
+ description: 'ProductReview PATCH success count',
+ content: {'application/json': {schema: CountSchema}},
})
async updateAll(
@requestBody({
@@ -294,15 +260,12 @@ export class ProductReviewController {
return this.barRepository.updateAll(productReview, where);
}
- @get('/product-reviews/{id}', {
- responses: {
- '200': {
- description: 'ProductReview model instance',
- content: {
- 'application/json': {
- schema: getModelSchemaRef(ProductReview, {includeRelations: true}),
- },
- },
+ @get('/product-reviews/{id}')
+ @response(200, {
+ description: 'ProductReview model instance',
+ content: {
+ 'application/json': {
+ schema: getModelSchemaRef(ProductReview, {includeRelations: true}),
},
},
})
@@ -313,12 +276,9 @@ export class ProductReviewController {
return this.barRepository.findById(id, filter);
}
- @patch('/product-reviews/{id}', {
- responses: {
- '204': {
- description: 'ProductReview PATCH success',
- },
- },
+ @patch('/product-reviews/{id}')
+ @response(204, {
+ description: 'ProductReview PATCH success',
})
async updateById(
@param.path.number('id') id: number,
@@ -334,12 +294,9 @@ export class ProductReviewController {
await this.barRepository.updateById(id, productReview);
}
- @put('/product-reviews/{id}', {
- responses: {
- '204': {
- description: 'ProductReview PUT success',
- },
- },
+ @put('/product-reviews/{id}')
+ @response(204, {
+ description: 'ProductReview PUT success',
})
async replaceById(
@param.path.number('id') id: number,
@@ -348,12 +305,9 @@ export class ProductReviewController {
await this.barRepository.replaceById(id, productReview);
}
- @del('/product-reviews/{id}', {
- responses: {
- '204': {
- description: 'ProductReview DELETE success',
- },
- },
+ @del('/product-reviews/{id}')
+ @response(204, {
+ description: 'ProductReview DELETE success',
})
async deleteById(@param.path.number('id') id: number): Promise {
await this.barRepository.deleteById(id);
diff --git a/packages/cli/snapshots/integration/generators/relation.has-many.integration.snapshots.js b/packages/cli/snapshots/integration/generators/relation.has-many.integration.snapshots.js
index d0d3d9cba9ee..0eddd7c83329 100644
--- a/packages/cli/snapshots/integration/generators/relation.has-many.integration.snapshots.js
+++ b/packages/cli/snapshots/integration/generators/relation.has-many.integration.snapshots.js
@@ -8,10 +8,10 @@
'use strict';
exports[`lb4 relation HasMany checks generated source class repository answers {"relationType":"hasMany","sourceModel":"Customer","destinationModel":"Order","relationName":"custom_name","registerInclusionResolver":false} generates Customer repository file with different inputs 1`] = `
+import {inject, Getter} from '@loopback/core';
import {DefaultCrudRepository, repository, HasManyRepositoryFactory} from '@loopback/repository';
-import {Customer, Order} from '../models';
import {DbDataSource} from '../datasources';
-import {inject, Getter} from '@loopback/core';
+import {Customer, Order} from '../models';
import {OrderRepository} from './order.repository';
export class CustomerRepository extends DefaultCrudRepository<
@@ -31,10 +31,10 @@ export class CustomerRepository extends DefaultCrudRepository<
exports[`lb4 relation HasMany checks generated source class repository answers {"relationType":"hasMany","sourceModel":"Customer","destinationModel":"Order"} generates Customer repository file with different inputs 1`] = `
+import {inject, Getter} from '@loopback/core';
import {DefaultCrudRepository, repository, HasManyRepositoryFactory} from '@loopback/repository';
-import {Customer, Order} from '../models';
import {DbDataSource} from '../datasources';
-import {inject, Getter} from '@loopback/core';
+import {Customer, Order} from '../models';
import {OrderRepository} from './order.repository';
export class CustomerRepository extends DefaultCrudRepository<
diff --git a/packages/cli/snapshots/integration/generators/relation.has-one.integration.snapshots.js b/packages/cli/snapshots/integration/generators/relation.has-one.integration.snapshots.js
index fa859ecaee66..324c52669e9e 100644
--- a/packages/cli/snapshots/integration/generators/relation.has-one.integration.snapshots.js
+++ b/packages/cli/snapshots/integration/generators/relation.has-one.integration.snapshots.js
@@ -8,10 +8,10 @@
'use strict';
exports[`lb4 relation HasOne checks generated source class repository answers {"relationType":"hasOne","sourceModel":"Customer","destinationModel":"Address","registerInclusionResolver":false} generates Customer repository file with different inputs 1`] = `
+import {inject, Getter} from '@loopback/core';
import {DefaultCrudRepository, repository, HasOneRepositoryFactory} from '@loopback/repository';
-import {Customer, Address} from '../models';
import {DbDataSource} from '../datasources';
-import {inject, Getter} from '@loopback/core';
+import {Customer, Address} from '../models';
import {AddressRepository} from './address.repository';
export class CustomerRepository extends DefaultCrudRepository<
@@ -31,10 +31,10 @@ export class CustomerRepository extends DefaultCrudRepository<
exports[`lb4 relation HasOne checks generated source class repository answers {"relationType":"hasOne","sourceModel":"Customer","destinationModel":"Address"} generates Customer repository file with different inputs 1`] = `
+import {inject, Getter} from '@loopback/core';
import {DefaultCrudRepository, repository, HasOneRepositoryFactory} from '@loopback/repository';
-import {Customer, Address} from '../models';
import {DbDataSource} from '../datasources';
-import {inject, Getter} from '@loopback/core';
+import {Customer, Address} from '../models';
import {AddressRepository} from './address.repository';
export class CustomerRepository extends DefaultCrudRepository<
diff --git a/packages/cli/snapshots/integration/generators/relation.integration.snapshots.js b/packages/cli/snapshots/integration/generators/relation.integration.snapshots.js
index 2facda7cf2cb..274a2a2bb9c9 100644
--- a/packages/cli/snapshots/integration/generators/relation.integration.snapshots.js
+++ b/packages/cli/snapshots/integration/generators/relation.integration.snapshots.js
@@ -7,6 +7,351 @@
'use strict';
+exports[`lb4 relation Specify primary key name and type on the source and target model generates default pk name and type for controller{"relationType":"hasMany","sourceModel":"Customer","destinationModel":"Order"} 1`] = `
+import {
+ Count,
+ CountSchema,
+ Filter,
+ repository,
+ Where,
+} from '@loopback/repository';
+import {
+ del,
+ get,
+ getModelSchemaRef,
+ getWhereSchemaFor,
+ param,
+ patch,
+ post,
+ requestBody,
+} from '@loopback/rest';
+import {
+ Customer,
+ Order,
+} from '../models';
+import {CustomerRepository} from '../repositories';
+
+export class CustomerOrderController {
+ constructor(
+ @repository(CustomerRepository) protected customerRepository: CustomerRepository,
+ ) { }
+
+ @get('/customers/{id}/orders', {
+ responses: {
+ '200': {
+ description: 'Array of Customer has many Order',
+ content: {
+ 'application/json': {
+ schema: {type: 'array', items: getModelSchemaRef(Order)},
+ },
+ },
+ },
+ },
+ })
+ async find(
+ @param.path.number('id') id: number,
+ @param.query.object('filter') filter?: Filter,
+ ): Promise {
+ return this.customerRepository.orders(id).find(filter);
+ }
+
+ @post('/customers/{id}/orders', {
+ responses: {
+ '200': {
+ description: 'Customer model instance',
+ content: {'application/json': {schema: getModelSchemaRef(Order)}},
+ },
+ },
+ })
+ async create(
+ @param.path.number('id') id: typeof Customer.prototype.id,
+ @requestBody({
+ content: {
+ 'application/json': {
+ schema: getModelSchemaRef(Order, {
+ title: 'NewOrderInCustomer',
+ exclude: ['id'],
+ optional: ['customerId']
+ }),
+ },
+ },
+ }) order: Omit,
+ ): Promise {
+ return this.customerRepository.orders(id).create(order);
+ }
+
+ @patch('/customers/{id}/orders', {
+ responses: {
+ '200': {
+ description: 'Customer.Order PATCH success count',
+ content: {'application/json': {schema: CountSchema}},
+ },
+ },
+ })
+ async patch(
+ @param.path.number('id') id: number,
+ @requestBody({
+ content: {
+ 'application/json': {
+ schema: getModelSchemaRef(Order, {partial: true}),
+ },
+ },
+ })
+ order: Partial,
+ @param.query.object('where', getWhereSchemaFor(Order)) where?: Where,
+ ): Promise {
+ return this.customerRepository.orders(id).patch(order, where);
+ }
+
+ @del('/customers/{id}/orders', {
+ responses: {
+ '200': {
+ description: 'Customer.Order DELETE success count',
+ content: {'application/json': {schema: CountSchema}},
+ },
+ },
+ })
+ async delete(
+ @param.path.number('id') id: number,
+ @param.query.object('where', getWhereSchemaFor(Order)) where?: Where,
+ ): Promise {
+ return this.customerRepository.orders(id).delete(where);
+ }
+}
+
+`;
+
+
+exports[`lb4 relation Specify primary key name and type on the source and target model generates fully specified pk name and type for controller{"relationType":"hasMany","sourceModel":"CustomerInheritance","destinationModel":"OrderInheritance","sourceModelPrimaryKey":"sid","sourceModelPrimaryKeyType":"string","destinationModelPrimaryKeyType":"string","destinationModelPrimaryKey":"tid"} 1`] = `
+import {
+ Count,
+ CountSchema,
+ Filter,
+ repository,
+ Where,
+} from '@loopback/repository';
+import {
+ del,
+ get,
+ getModelSchemaRef,
+ getWhereSchemaFor,
+ param,
+ patch,
+ post,
+ requestBody,
+} from '@loopback/rest';
+import {
+ CustomerInheritance,
+ OrderInheritance,
+} from '../models';
+import {CustomerInheritanceRepository} from '../repositories';
+
+export class CustomerInheritanceOrderInheritanceController {
+ constructor(
+ @repository(CustomerInheritanceRepository) protected customerInheritanceRepository: CustomerInheritanceRepository,
+ ) { }
+
+ @get('/customer-inheritances/{id}/order-inheritances', {
+ responses: {
+ '200': {
+ description: 'Array of CustomerInheritance has many OrderInheritance',
+ content: {
+ 'application/json': {
+ schema: {type: 'array', items: getModelSchemaRef(OrderInheritance)},
+ },
+ },
+ },
+ },
+ })
+ async find(
+ @param.path.string('id') id: string,
+ @param.query.object('filter') filter?: Filter,
+ ): Promise {
+ return this.customerInheritanceRepository.orderInheritances(id).find(filter);
+ }
+
+ @post('/customer-inheritances/{id}/order-inheritances', {
+ responses: {
+ '200': {
+ description: 'CustomerInheritance model instance',
+ content: {'application/json': {schema: getModelSchemaRef(OrderInheritance)}},
+ },
+ },
+ })
+ async create(
+ @param.path.string('id') id: typeof CustomerInheritance.prototype.sid,
+ @requestBody({
+ content: {
+ 'application/json': {
+ schema: getModelSchemaRef(OrderInheritance, {
+ title: 'NewOrderInheritanceInCustomerInheritance',
+ exclude: ['tid'],
+ optional: ['customerInheritanceId']
+ }),
+ },
+ },
+ }) orderInheritance: Omit,
+ ): Promise {
+ return this.customerInheritanceRepository.orderInheritances(id).create(orderInheritance);
+ }
+
+ @patch('/customer-inheritances/{id}/order-inheritances', {
+ responses: {
+ '200': {
+ description: 'CustomerInheritance.OrderInheritance PATCH success count',
+ content: {'application/json': {schema: CountSchema}},
+ },
+ },
+ })
+ async patch(
+ @param.path.string('id') id: string,
+ @requestBody({
+ content: {
+ 'application/json': {
+ schema: getModelSchemaRef(OrderInheritance, {partial: true}),
+ },
+ },
+ })
+ orderInheritance: Partial,
+ @param.query.object('where', getWhereSchemaFor(OrderInheritance)) where?: Where,
+ ): Promise {
+ return this.customerInheritanceRepository.orderInheritances(id).patch(orderInheritance, where);
+ }
+
+ @del('/customer-inheritances/{id}/order-inheritances', {
+ responses: {
+ '200': {
+ description: 'CustomerInheritance.OrderInheritance DELETE success count',
+ content: {'application/json': {schema: CountSchema}},
+ },
+ },
+ })
+ async delete(
+ @param.path.string('id') id: string,
+ @param.query.object('where', getWhereSchemaFor(OrderInheritance)) where?: Where,
+ ): Promise {
+ return this.customerInheritanceRepository.orderInheritances(id).delete(where);
+ }
+}
+
+`;
+
+
+exports[`lb4 relation Specify primary key name and type on the source and target model generates partially specified pk name and type for controller{"relationType":"hasMany","sourceModel":"CustomerInheritance","destinationModel":"OrderInheritance","sourceModelPrimaryKeyType":"string","destinationModelPrimaryKeyType":"string"} 1`] = `
+import {
+ Count,
+ CountSchema,
+ Filter,
+ repository,
+ Where,
+} from '@loopback/repository';
+import {
+ del,
+ get,
+ getModelSchemaRef,
+ getWhereSchemaFor,
+ param,
+ patch,
+ post,
+ requestBody,
+} from '@loopback/rest';
+import {
+ CustomerInheritance,
+ OrderInheritance,
+} from '../models';
+import {CustomerInheritanceRepository} from '../repositories';
+
+export class CustomerInheritanceOrderInheritanceController {
+ constructor(
+ @repository(CustomerInheritanceRepository) protected customerInheritanceRepository: CustomerInheritanceRepository,
+ ) { }
+
+ @get('/customer-inheritances/{id}/order-inheritances', {
+ responses: {
+ '200': {
+ description: 'Array of CustomerInheritance has many OrderInheritance',
+ content: {
+ 'application/json': {
+ schema: {type: 'array', items: getModelSchemaRef(OrderInheritance)},
+ },
+ },
+ },
+ },
+ })
+ async find(
+ @param.path.string('id') id: string,
+ @param.query.object('filter') filter?: Filter,
+ ): Promise {
+ return this.customerInheritanceRepository.orderInheritances(id).find(filter);
+ }
+
+ @post('/customer-inheritances/{id}/order-inheritances', {
+ responses: {
+ '200': {
+ description: 'CustomerInheritance model instance',
+ content: {'application/json': {schema: getModelSchemaRef(OrderInheritance)}},
+ },
+ },
+ })
+ async create(
+ @param.path.string('id') id: typeof CustomerInheritance.prototype.id,
+ @requestBody({
+ content: {
+ 'application/json': {
+ schema: getModelSchemaRef(OrderInheritance, {
+ title: 'NewOrderInheritanceInCustomerInheritance',
+ exclude: ['id'],
+ optional: ['customerInheritanceId']
+ }),
+ },
+ },
+ }) orderInheritance: Omit,
+ ): Promise {
+ return this.customerInheritanceRepository.orderInheritances(id).create(orderInheritance);
+ }
+
+ @patch('/customer-inheritances/{id}/order-inheritances', {
+ responses: {
+ '200': {
+ description: 'CustomerInheritance.OrderInheritance PATCH success count',
+ content: {'application/json': {schema: CountSchema}},
+ },
+ },
+ })
+ async patch(
+ @param.path.string('id') id: string,
+ @requestBody({
+ content: {
+ 'application/json': {
+ schema: getModelSchemaRef(OrderInheritance, {partial: true}),
+ },
+ },
+ })
+ orderInheritance: Partial,
+ @param.query.object('where', getWhereSchemaFor(OrderInheritance)) where?: Where,
+ ): Promise {
+ return this.customerInheritanceRepository.orderInheritances(id).patch(orderInheritance, where);
+ }
+
+ @del('/customer-inheritances/{id}/order-inheritances', {
+ responses: {
+ '200': {
+ description: 'CustomerInheritance.OrderInheritance DELETE success count',
+ content: {'application/json': {schema: CountSchema}},
+ },
+ },
+ })
+ async delete(
+ @param.path.string('id') id: string,
+ @param.query.object('where', getWhereSchemaFor(OrderInheritance)) where?: Where,
+ ): Promise {
+ return this.customerInheritanceRepository.orderInheritances(id).delete(where);
+ }
+}
+
+`;
+
+
exports[`lb4 relation add controller to existing index file only once check if the controller exported to index file only once 1`] = `
export * from './order-customer.controller';
diff --git a/packages/cli/snapshots/integration/generators/remote-service.integration.snapshots.js b/packages/cli/snapshots/integration/generators/remote-service.integration.snapshots.js
index 7f9b9c3ffdeb..4830c34483b8 100644
--- a/packages/cli/snapshots/integration/generators/remote-service.integration.snapshots.js
+++ b/packages/cli/snapshots/integration/generators/remote-service.integration.snapshots.js
@@ -8,8 +8,8 @@
'use strict';
exports[`lb4 service (remote) legacy JSON-based configuration loads config from \`{name}.datasource.config.json\` 1`] = `
-import {getService} from '@loopback/service-proxy';
import {inject, Provider} from '@loopback/core';
+import {getService} from '@loopback/service-proxy';
import {LegacyDataSource} from '../datasources';
export interface MyService {
diff --git a/packages/cli/test/fixtures/relation/index.js b/packages/cli/test/fixtures/relation/index.js
index d85880e9f604..df0ce6c85da2 100644
--- a/packages/cli/test/fixtures/relation/index.js
+++ b/packages/cli/test/fixtures/relation/index.js
@@ -48,6 +48,26 @@ const SourceEntries = {
file: 'order.repository.ts',
content: readSourceFile('./repositories/order.repository.ts'),
},
+ CustomerModelWithInheritance: {
+ path: MODEL_APP_PATH,
+ file: 'customer-inheritance.model.ts',
+ content: readSourceFile('./models/customer-inhe.model.ts'),
+ },
+ CustomerInheRepository: {
+ path: REPOSITORY_APP_PATH,
+ file: 'customer-inheritance.repository.ts',
+ content: readSourceFile('./repositories/customer-inhe.repository.ts'),
+ },
+ OrderModelModelWithInheritance: {
+ path: MODEL_APP_PATH,
+ file: 'order-inheritance.model.ts',
+ content: readSourceFile('./models/order-inhe.model.ts'),
+ },
+ OrderInheRepository: {
+ path: REPOSITORY_APP_PATH,
+ file: 'order-inheritance.repository.ts',
+ content: readSourceFile('./repositories/order-inhe.repository.ts'),
+ },
AddressModel: {
path: MODEL_APP_PATH,
@@ -65,18 +85,6 @@ const SourceEntries = {
content: readSourceFile('./repositories/address.repository.ts'),
},
- NoKeyModel: {
- path: MODEL_APP_PATH,
- file: 'no-key.model.ts',
- content: readSourceFile('./models/no-key.model.ts'),
- },
-
- NoKeyRepository: {
- path: REPOSITORY_APP_PATH,
- file: 'no-key.repository.ts',
- content: readSourceFile('./repositories/no-key.repository.ts'),
- },
-
NoRepoModel: {
path: MODEL_APP_PATH,
file: 'no-repo.model.ts',
@@ -170,7 +178,6 @@ exports.SANDBOX_FILES = [
SourceEntries.CustomerRepository,
SourceEntries.OrderRepository,
SourceEntries.AddressRepository,
- SourceEntries.NoKeyRepository,
SourceEntries.DoctorRepository,
SourceEntries.PatientRepository,
SourceEntries.AppointmentRepository,
@@ -178,7 +185,6 @@ exports.SANDBOX_FILES = [
SourceEntries.CustomerModel,
SourceEntries.OrderModel,
SourceEntries.AddressModel,
- SourceEntries.NoKeyModel,
SourceEntries.NoRepoModel,
SourceEntries.DoctorModel,
SourceEntries.PatientModel,
@@ -188,17 +194,19 @@ exports.SANDBOX_FILES = [
exports.SANDBOX_FILES2 = [
SourceEntries.CustomerRepository,
+ SourceEntries.CustomerInheRepository,
SourceEntries.OrderRepository,
+ SourceEntries.OrderInheRepository,
SourceEntries.AddressRepository,
- SourceEntries.NoKeyRepository,
SourceEntries.DoctorRepository,
SourceEntries.PatientRepository,
SourceEntries.AppointmentRepository,
SourceEntries.CustomerModel,
+ SourceEntries.CustomerModelWithInheritance,
SourceEntries.OrderModel,
+ SourceEntries.OrderModelModelWithInheritance,
SourceEntries.AddressModel,
- SourceEntries.NoKeyModel,
SourceEntries.NoRepoModel,
SourceEntries.DoctorModel,
SourceEntries.PatientModel,
diff --git a/packages/cli/test/fixtures/relation/models/customer-inhe.model.ts b/packages/cli/test/fixtures/relation/models/customer-inhe.model.ts
new file mode 100644
index 000000000000..fca8fe0b3e5d
--- /dev/null
+++ b/packages/cli/test/fixtures/relation/models/customer-inhe.model.ts
@@ -0,0 +1,14 @@
+import {model, property} from '@loopback/repository';
+import {IdModel} from './id-model.model';
+
+@model()
+export class CustomerInheritance extends IdModel {
+ @property({
+ type: 'string',
+ })
+ name?: string;
+
+ constructor(data?: Partial) {
+ super(data);
+ }
+}
diff --git a/packages/cli/test/fixtures/relation/models/no-key.model.ts b/packages/cli/test/fixtures/relation/models/id-model.model.ts
similarity index 50%
rename from packages/cli/test/fixtures/relation/models/no-key.model.ts
rename to packages/cli/test/fixtures/relation/models/id-model.model.ts
index 003772053e07..5dafc430ada9 100644
--- a/packages/cli/test/fixtures/relation/models/no-key.model.ts
+++ b/packages/cli/test/fixtures/relation/models/id-model.model.ts
@@ -1,19 +1,15 @@
import {Entity, model, property} from '@loopback/repository';
@model()
-export class NoKey extends Entity {
+export class IdModel extends Entity {
@property({
type: 'number',
+ id: true,
default: 0,
})
- id?: number;
+ id?: string;
- @property({
- type: 'string',
- })
- name?: string;
-
- constructor(data?: Partial) {
+ constructor(data?: Partial) {
super(data);
}
}
diff --git a/packages/cli/test/fixtures/relation/models/order-inhe.model.ts b/packages/cli/test/fixtures/relation/models/order-inhe.model.ts
new file mode 100644
index 000000000000..8760f9241fb6
--- /dev/null
+++ b/packages/cli/test/fixtures/relation/models/order-inhe.model.ts
@@ -0,0 +1,14 @@
+import {model, property} from '@loopback/repository';
+import {IdModel} from './id-model.model';
+
+@model()
+export class OrderInheritance extends IdModel {
+ @property({
+ type: 'string',
+ })
+ des?: string;
+
+ constructor(data?: Partial) {
+ super(data);
+ }
+}
diff --git a/packages/cli/test/fixtures/relation/repositories/customer-inhe.repository.ts b/packages/cli/test/fixtures/relation/repositories/customer-inhe.repository.ts
new file mode 100644
index 000000000000..85dce7ecc552
--- /dev/null
+++ b/packages/cli/test/fixtures/relation/repositories/customer-inhe.repository.ts
@@ -0,0 +1,13 @@
+import {inject} from '@loopback/core';
+import {DefaultCrudRepository} from '@loopback/repository';
+import {DbDataSource} from '../datasources';
+import {CustomerInheritance} from '../models';
+
+export class CustomerInheritanceRepository extends DefaultCrudRepository<
+ CustomerInheritance,
+ typeof CustomerInheritance.prototype.id
+> {
+ constructor(@inject('datasources.db') dataSource: DbDataSource) {
+ super(CustomerInheritance, dataSource);
+ }
+}
diff --git a/packages/cli/test/fixtures/relation/repositories/customer.repository.ts b/packages/cli/test/fixtures/relation/repositories/customer.repository.ts
index 817632e38973..c7222bfbb25c 100644
--- a/packages/cli/test/fixtures/relation/repositories/customer.repository.ts
+++ b/packages/cli/test/fixtures/relation/repositories/customer.repository.ts
@@ -1,7 +1,7 @@
+import {inject} from '@loopback/core';
import {DefaultCrudRepository} from '@loopback/repository';
-import {Customer} from '../models';
import {DbDataSource} from '../datasources';
-import {inject} from '@loopback/core';
+import {Customer} from '../models';
export class CustomerRepository extends DefaultCrudRepository<
Customer,
diff --git a/packages/cli/test/fixtures/relation/repositories/no-key.repository.ts b/packages/cli/test/fixtures/relation/repositories/order-inhe.repository.ts
similarity index 56%
rename from packages/cli/test/fixtures/relation/repositories/no-key.repository.ts
rename to packages/cli/test/fixtures/relation/repositories/order-inhe.repository.ts
index 1cb215324402..1c7a3e33ac56 100644
--- a/packages/cli/test/fixtures/relation/repositories/no-key.repository.ts
+++ b/packages/cli/test/fixtures/relation/repositories/order-inhe.repository.ts
@@ -1,13 +1,12 @@
+import {inject} from '@loopback/core';
import {DefaultCrudRepository} from '@loopback/repository';
-import {NoKey} from '../models';
import {DbDataSource} from '../datasources';
-import {inject} from '@loopback/core';
-export class NoKeyRepository extends DefaultCrudRepository<
- NoKey,
- typeof NoKey.prototype.id
+export class OrderInheritanceRepository extends DefaultCrudRepository<
+ OrderInheritance,
+ typeof OrderInheritance.prototype.id
> {
constructor(@inject('datasources.db') dataSource: DbDataSource) {
- super(NoKey, dataSource);
+ super(OrderInheritance, dataSource);
}
}
diff --git a/packages/cli/test/integration/generators/controller.integration.js b/packages/cli/test/integration/generators/controller.integration.js
index 685c3016ab94..a7cc8d3233c7 100644
--- a/packages/cli/test/integration/generators/controller.integration.js
+++ b/packages/cli/test/integration/generators/controller.integration.js
@@ -254,32 +254,11 @@ function checkRestCrudContents(options) {
* @param {string} restUrl The base URL that should've been generated
*/
function checkRestPaths(restUrl) {
- assert.fileContent(
- filePath,
- new RegExp(/@post\('/.source + restUrl + /', {/.source),
- );
- assert.fileContent(
- filePath,
- new RegExp(/@get\('/.source + restUrl + /\/count', {/.source),
- );
- assert.fileContent(
- filePath,
- new RegExp(/@get\('/.source + restUrl + /', {/.source),
- );
- assert.fileContent(
- filePath,
- new RegExp(/@patch\('/.source + restUrl + /', {/.source),
- );
- assert.fileContent(
- filePath,
- new RegExp(/@get\('/.source + restUrl + /\/{id}', {/.source),
- );
- assert.fileContent(
- filePath,
- new RegExp(/@patch\('/.source + restUrl + /\/{id}', {/.source),
- );
- assert.fileContent(
- filePath,
- new RegExp(/@del\('/.source + restUrl + /\/{id}', {/.source),
- );
+ assert.fileContent(filePath, `@post('${restUrl}')`);
+ assert.fileContent(filePath, `@get('${restUrl}/count')`);
+ assert.fileContent(filePath, `@get('${restUrl}')`);
+ assert.fileContent(filePath, `@patch('${restUrl}')`);
+ assert.fileContent(filePath, `@get('${restUrl}/{id}')`);
+ assert.fileContent(filePath, `@patch('${restUrl}/{id}')`);
+ assert.fileContent(filePath, `@del('${restUrl}/{id}')`);
}
diff --git a/packages/cli/test/integration/generators/relation.belongs-to.integration.js b/packages/cli/test/integration/generators/relation.belongs-to.integration.js
index 4b476635c65d..684b37bcab7a 100644
--- a/packages/cli/test/integration/generators/relation.belongs-to.integration.js
+++ b/packages/cli/test/integration/generators/relation.belongs-to.integration.js
@@ -23,36 +23,23 @@ const sandbox = new TestSandbox(path.resolve(__dirname, '../.sandbox'));
const sourceFileName = 'order.model.ts';
const controllerFileName = 'order-customer.controller.ts';
const repositoryFileName = 'order.repository.ts';
+// speed up tests by avoiding reading docs
+const options = {
+ sourceModelPrimaryKey: 'id',
+ sourceModelPrimaryKeyType: 'number',
+ destinationModelPrimaryKey: 'id',
+ destinationModelPrimaryKeyType: 'number',
+};
describe('lb4 relation', /** @this {Mocha.Suite} */ function () {
this.timeout(30000);
- it("rejects relation when destination model doesn't have primary Key", async () => {
- await sandbox.reset();
- const prompt = {
- relationType: 'belongsTo',
- sourceModel: 'Customer',
- destinationModel: 'NoKey',
- };
-
- return expect(
- testUtils
- .executeGenerator(generator)
- .inDir(sandbox.path, () =>
- testUtils.givenLBProject(sandbox.path, {
- additionalFiles: SANDBOX_FILES,
- }),
- )
- .withPrompts(prompt),
- ).to.be.rejectedWith(/Target model primary key does not exist/);
- });
-
it('rejects relation when models does not exist', async () => {
await sandbox.reset();
const prompt = {
relationType: 'belongsTo',
sourceModel: 'Customer',
- destinationModel: 'NoKey',
+ destinationModel: 'NotExistModel',
};
return expect(
@@ -136,6 +123,7 @@ describe('lb4 relation', /** @this {Mocha.Suite} */ function () {
],
}),
)
+ .withOptions(options)
.withPrompts(promptList[0]);
const sourceFilePath = path.join(
@@ -175,6 +163,7 @@ describe('lb4 relation', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -222,6 +211,7 @@ describe('lb4 relation', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -281,6 +271,7 @@ describe('lb4 relation', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
diff --git a/packages/cli/test/integration/generators/relation.has-many-through.integration.js b/packages/cli/test/integration/generators/relation.has-many-through.integration.js
index 23f413d1bf7c..a4a88285a015 100644
--- a/packages/cli/test/integration/generators/relation.has-many-through.integration.js
+++ b/packages/cli/test/integration/generators/relation.has-many-through.integration.js
@@ -25,6 +25,13 @@ const sourceFileName = 'doctor.model.ts';
const throughFileName = 'appointment.model.ts';
const controllerFileName = 'doctor-patient.controller.ts';
const repositoryFileName = 'doctor.repository.ts';
+// speed up tests by avoiding reading docs
+const options = {
+ sourceModelPrimaryKey: 'id',
+ sourceModelPrimaryKeyType: 'number',
+ destinationModelPrimaryKey: 'id',
+ destinationModelPrimaryKeyType: 'number',
+};
describe('lb4 relation HasManyThrough', /** @this {Mocha.Suite} */ function () {
this.timeout(30000);
@@ -116,6 +123,7 @@ describe('lb4 relation HasManyThrough', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -181,6 +189,7 @@ describe('lb4 relation HasManyThrough', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -237,6 +246,7 @@ describe('lb4 relation HasManyThrough', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -287,6 +297,7 @@ describe('lb4 relation HasManyThrough', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
diff --git a/packages/cli/test/integration/generators/relation.has-many.integration.js b/packages/cli/test/integration/generators/relation.has-many.integration.js
index 6fd8fbac365f..7e8ecf1386b4 100644
--- a/packages/cli/test/integration/generators/relation.has-many.integration.js
+++ b/packages/cli/test/integration/generators/relation.has-many.integration.js
@@ -25,6 +25,13 @@ const sourceFileName = 'customer.model.ts';
const targetFileName = 'order.model.ts';
const controllerFileName = 'customer-order.controller.ts';
const repositoryFileName = 'customer.repository.ts';
+// speed up tests by avoiding reading docs
+const options = {
+ sourceModelPrimaryKey: 'id',
+ sourceModelPrimaryKeyType: 'number',
+ destinationModelPrimaryKey: 'id',
+ destinationModelPrimaryKeyType: 'number',
+};
describe('lb4 relation HasMany', /** @this {Mocha.Suite} */ function () {
this.timeout(30000);
@@ -74,6 +81,7 @@ describe('lb4 relation HasMany', /** @this {Mocha.Suite} */ function () {
],
}),
)
+ .withOptions(options)
.withPrompts(prompt),
).to.be.rejectedWith(
/relational property orders already exist in the model Customer/,
@@ -104,6 +112,7 @@ describe('lb4 relation HasMany', /** @this {Mocha.Suite} */ function () {
],
}),
)
+ .withOptions(options)
.withPrompts(prompt),
).to.be.rejectedWith(
`relation myCustomer already exists in the repository OrderRepository.`,
@@ -178,6 +187,7 @@ describe('lb4 relation HasMany', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -227,6 +237,7 @@ describe('lb4 relation HasMany', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -281,6 +292,7 @@ describe('lb4 relation HasMany', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -329,6 +341,7 @@ describe('lb4 relation HasMany', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
diff --git a/packages/cli/test/integration/generators/relation.has-one.integration.js b/packages/cli/test/integration/generators/relation.has-one.integration.js
index 7047c535f03e..5d3c0aa03097 100644
--- a/packages/cli/test/integration/generators/relation.has-one.integration.js
+++ b/packages/cli/test/integration/generators/relation.has-one.integration.js
@@ -25,6 +25,13 @@ const sourceFileName = 'customer.model.ts';
const targetFileName = 'address.model.ts';
const controllerFileName = 'customer-address.controller.ts';
const repositoryFileName = 'customer.repository.ts';
+// speed up tests by avoiding reading docs
+const options = {
+ sourceModelPrimaryKey: 'id',
+ sourceModelPrimaryKeyType: 'number',
+ destinationModelPrimaryKey: 'id',
+ destinationModelPrimaryKeyType: 'number',
+};
describe('lb4 relation HasOne', /** @this {Mocha.Suite} */ function () {
this.timeout(30000);
@@ -74,6 +81,7 @@ describe('lb4 relation HasOne', /** @this {Mocha.Suite} */ function () {
],
}),
)
+ .withOptions(options)
.withPrompts(prompt),
).to.be.rejectedWith(
/relational property address already exist in the model Customer/,
@@ -104,6 +112,7 @@ describe('lb4 relation HasOne', /** @this {Mocha.Suite} */ function () {
],
}),
)
+ .withOptions(options)
.withPrompts(prompt),
).to.be.rejectedWith(
`relation myCustomer already exists in the repository AddressRepository.`,
@@ -178,6 +187,7 @@ describe('lb4 relation HasOne', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -227,6 +237,7 @@ describe('lb4 relation HasOne', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -281,6 +292,7 @@ describe('lb4 relation HasOne', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
@@ -336,6 +348,7 @@ describe('lb4 relation HasOne', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions(options)
.withPrompts(multiItemPrompt);
});
diff --git a/packages/cli/test/integration/generators/relation.integration.js b/packages/cli/test/integration/generators/relation.integration.js
index 2b8a5a5d85ae..51e74d0fc61c 100644
--- a/packages/cli/test/integration/generators/relation.integration.js
+++ b/packages/cli/test/integration/generators/relation.integration.js
@@ -129,6 +129,112 @@ describe('lb4 relation', /** @this {Mocha.Suite} */ function () {
});
});
+ context(
+ 'Specify primary key name and type on the source and target model',
+ () => {
+ const promptArray = [
+ {
+ relationType: 'hasMany',
+ sourceModel: 'Customer',
+ destinationModel: 'Order',
+ },
+ {
+ relationType: 'hasMany',
+ sourceModel: 'CustomerInheritance',
+ destinationModel: 'OrderInheritance',
+ sourceModelPrimaryKeyType: 'string',
+ destinationModelPrimaryKeyType: 'string',
+ },
+ {
+ relationType: 'hasMany',
+ sourceModel: 'CustomerInheritance',
+ destinationModel: 'OrderInheritance',
+ sourceModelPrimaryKey: 'sid',
+ sourceModelPrimaryKeyType: 'string',
+ destinationModelPrimaryKeyType: 'string',
+ destinationModelPrimaryKey: 'tid',
+ },
+ ];
+
+ it(
+ 'generates default pk name and type for controller' +
+ JSON.stringify(promptArray[0]),
+ async () => {
+ await sandbox.reset();
+ await testUtils
+ .executeGenerator(generator)
+ .inDir(sandbox.path, () =>
+ testUtils.givenLBProject(sandbox.path, {
+ additionalFiles: SANDBOX_FILES,
+ }),
+ )
+ .withPrompts(promptArray[0]);
+
+ const controllerFileName = 'customer-order.controller.ts';
+ const controllerFilePath = path.join(
+ sandbox.path,
+ CONTROLLER_PATH,
+ controllerFileName,
+ );
+
+ assert.file(controllerFilePath);
+ expectFileToMatchSnapshot(controllerFilePath);
+ },
+ );
+
+ it(
+ 'generates partially specified pk name and type for controller' +
+ JSON.stringify(promptArray[1]),
+ async () => {
+ await sandbox.reset();
+ await testUtils
+ .executeGenerator(generator)
+ .inDir(sandbox.path, () =>
+ testUtils.givenLBProject(sandbox.path, {
+ additionalFiles: SANDBOX_FILES,
+ }),
+ )
+ .withPrompts(promptArray[1]);
+
+ const controllerFileName =
+ 'customer-inheritance-order-inheritance.controller.ts';
+ const sourceFilePath = path.join(
+ sandbox.path,
+ CONTROLLER_PATH,
+ controllerFileName,
+ );
+ assert.file(sourceFilePath);
+ expectFileToMatchSnapshot(sourceFilePath);
+ },
+ );
+ it(
+ 'generates fully specified pk name and type for controller' +
+ JSON.stringify(promptArray[2]),
+ async () => {
+ await sandbox.reset();
+ await testUtils
+ .executeGenerator(generator)
+ .inDir(sandbox.path, () =>
+ testUtils.givenLBProject(sandbox.path, {
+ additionalFiles: SANDBOX_FILES,
+ }),
+ )
+ .withPrompts(promptArray[2]);
+
+ const controllerFileName =
+ 'customer-inheritance-order-inheritance.controller.ts';
+ const sourceFilePath = path.join(
+ sandbox.path,
+ CONTROLLER_PATH,
+ controllerFileName,
+ );
+ assert.file(sourceFilePath);
+ expectFileToMatchSnapshot(sourceFilePath);
+ },
+ );
+ },
+ );
+
context('add new controller to existing index file', () => {
it('check if the controller exported to index file ', async () => {
const prompt = {
@@ -144,6 +250,12 @@ describe('lb4 relation', /** @this {Mocha.Suite} */ function () {
additionalFiles: SANDBOX_FILES,
}),
)
+ .withOptions({
+ sourceModelPrimaryKey: 'id',
+ sourceModelPrimaryKeyType: 'number',
+ destinationModelPrimaryKey: 'id',
+ destinationModelPrimaryKeyType: 'number',
+ })
.withPrompts(prompt);
const expectedControllerIndexFile = path.join(
sandbox.path,
@@ -164,6 +276,10 @@ describe('lb4 relation', /** @this {Mocha.Suite} */ function () {
relationType: 'belongsTo',
sourceModel: 'Order',
destinationModel: 'Customer',
+ sourceModelPrimaryKey: 'id',
+ sourceModelPrimaryKeyType: 'number',
+ destinationModelPrimaryKey: 'id',
+ destinationModelPrimaryKeyType: 'number',
};
await testUtils
diff --git a/packages/context/CHANGELOG.md b/packages/context/CHANGELOG.md
index b19e92f69620..7f9191353bb7 100644
--- a/packages/context/CHANGELOG.md
+++ b/packages/context/CHANGELOG.md
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [3.14.0](https://github.com/strongloop/loopback-next/compare/@loopback/context@3.13.2...@loopback/context@3.14.0) (2021-01-21)
+
+
+### Bug Fixes
+
+* **context:** make sure subclass is used for create binding from class ([befbbcf](https://github.com/strongloop/loopback-next/commit/befbbcf04bb66b1764291139c2bdd67a869d62d4))
+
+
+### Features
+
+* **context:** allow asProxyWithInterceptors to be used for non-class bindings ([ebec122](https://github.com/strongloop/loopback-next/commit/ebec1228af2ef6afc2377c7a293bab9f698fd4a8))
+
+
+
+
+
## [3.13.2](https://github.com/strongloop/loopback-next/compare/@loopback/context@3.13.1...@loopback/context@3.13.2) (2020-12-07)
**Note:** Version bump only for package @loopback/context
diff --git a/packages/context/package-lock.json b/packages/context/package-lock.json
index a6ecf618802c..aeaa6fc92044 100644
--- a/packages/context/package-lock.json
+++ b/packages/context/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/context",
- "version": "3.13.2",
+ "version": "3.14.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -42,9 +42,9 @@
}
},
"hyperid": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-2.0.5.tgz",
- "integrity": "sha512-kg0+DOmWo3HSFvWWMCQJJhzEB4kg5z/83l4eFDaeAMJ5E2zbQzTEewAmVtOqdRElU9yRFJhCOuegUk0M6RZfiw==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-2.1.0.tgz",
+ "integrity": "sha512-cSakhxbUsaIuqjfvvcUuvl/Fl342J65xgLLYrYxSSr9qmJ/EJK+S8crS6mIlQd/a7i+Pe4D0MgSrtZPLze+aCw==",
"requires": {
"uuid": "^3.4.0",
"uuid-parse": "^1.1.0"
@@ -89,9 +89,9 @@
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
},
"uuid": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz",
- "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg=="
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
},
"uuid-parse": {
"version": "1.1.0",
diff --git a/packages/context/package.json b/packages/context/package.json
index d77adeac9977..ee21aadc8211 100644
--- a/packages/context/package.json
+++ b/packages/context/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/context",
- "version": "3.13.2",
+ "version": "3.14.0",
"description": "Facilities to manage artifacts and their dependencies in your Node.js applications. The module exposes TypeScript/JavaScript APIs and decorators to register artifacts, declare dependencies, and resolve artifacts by keys. It also serves as an IoC container to support dependency injection",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -23,18 +23,18 @@
"access": "public"
},
"dependencies": {
- "@loopback/metadata": "^3.0.5",
+ "@loopback/metadata": "^3.1.0",
"@types/debug": "^4.1.5",
"debug": "^4.3.1",
- "hyperid": "^2.0.5",
+ "hyperid": "^2.1.0",
"p-event": "^4.2.0",
"tslib": "^2.0.3",
- "uuid": "^8.3.1"
+ "uuid": "^8.3.2"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/bluebird": "^3.5.33",
"@types/node": "^10.17.35",
"@types/uuid": "^8.3.0",
diff --git a/packages/context/src/__tests__/acceptance/interception-proxy.acceptance.ts b/packages/context/src/__tests__/acceptance/interception-proxy.acceptance.ts
index 707e9979ac40..e31e6dcdef72 100644
--- a/packages/context/src/__tests__/acceptance/interception-proxy.acceptance.ts
+++ b/packages/context/src/__tests__/acceptance/interception-proxy.acceptance.ts
@@ -14,6 +14,7 @@ import {
ResolutionSession,
ValueOrPromise,
} from '../..';
+import {Provider} from '../../provider';
describe('Interception proxy', () => {
let ctx: Context;
@@ -163,15 +164,70 @@ describe('Interception proxy', () => {
]);
});
- it('reports error when asProxyWithInterceptors is set for non-Class binding', async () => {
+ it('supports asProxyWithInterceptors resolution option for dynamic value', async () => {
+ // Apply `log` to all methods on the class
+ @intercept(log)
+ class MyController {
+ // Apply multiple interceptors. The order of `log` will be preserved as it
+ // explicitly listed at method level
+ @intercept(convertName, log)
+ async greet(name: string) {
+ return `Hello, ${name}`;
+ }
+ }
+
+ ctx.bind('my-controller').toDynamicValue(() => new MyController());
+ const proxy = await ctx.get('my-controller', {
+ asProxyWithInterceptors: true,
+ });
+ const msg = await proxy!.greet('John');
+ expect(msg).to.equal('Hello, JOHN');
+ expect(events).to.eql([
+ 'convertName: before-greet',
+ 'log: [my-controller] before-greet',
+ 'log: [my-controller] after-greet',
+ 'convertName: after-greet',
+ ]);
+ });
+
+ it('supports asProxyWithInterceptors resolution option for provider', async () => {
+ // Apply `log` to all methods on the class
+ @intercept(log)
+ class MyController {
+ // Apply multiple interceptors. The order of `log` will be preserved as it
+ // explicitly listed at method level
+ @intercept(convertName, log)
+ async greet(name: string) {
+ return `Hello, ${name}`;
+ }
+ }
+
+ class MyControllerProvider implements Provider {
+ value() {
+ return new MyController();
+ }
+ }
+
+ ctx.bind('my-controller').toProvider(MyControllerProvider);
+ const proxy = await ctx.get('my-controller', {
+ asProxyWithInterceptors: true,
+ });
+ const msg = await proxy!.greet('John');
+ expect(msg).to.equal('Hello, JOHN');
+ expect(events).to.eql([
+ 'convertName: before-greet',
+ 'log: [my-controller] before-greet',
+ 'log: [my-controller] after-greet',
+ 'convertName: after-greet',
+ ]);
+ });
+
+ it('allows asProxyWithInterceptors for non-object value', async () => {
ctx.bind('my-value').toDynamicValue(() => 'my-value');
- await expect(
- ctx.get('my-value', {
- asProxyWithInterceptors: true,
- }),
- ).to.be.rejectedWith(
- `Binding 'my-value' (DynamicValue) does not support 'asProxyWithInterceptors'`,
- );
+ const value = await ctx.get('my-value', {
+ asProxyWithInterceptors: true,
+ });
+ expect(value).to.eql('my-value');
});
it('supports asProxyWithInterceptors resolution option for @inject', async () => {
diff --git a/packages/context/src/__tests__/unit/binding-decorator.unit.ts b/packages/context/src/__tests__/unit/binding-decorator.unit.ts
index 0dd33c62dc73..960dbc7efdcc 100644
--- a/packages/context/src/__tests__/unit/binding-decorator.unit.ts
+++ b/packages/context/src/__tests__/unit/binding-decorator.unit.ts
@@ -15,6 +15,7 @@ import {
injectable as injectableDecorator,
Provider,
} from '../..';
+import {createBindingFromClass} from '../../binding-inspector';
function testBindingDecorator(
injectable: typeof injectableDecorator,
@@ -52,6 +53,20 @@ function testBindingDecorator(
expect(inspectScopeAndTags(MySubController)).to.eql(expectedScopeAndTags);
});
+ it('allows subclass to not have @injectable', () => {
+ const spec = {
+ tags: ['rest'],
+ scope: BindingScope.SINGLETON,
+ };
+
+ @injectable(spec)
+ class MyController {}
+
+ class MySubController extends MyController {}
+ const binding = createBindingFromClass(MySubController);
+ expect(binding.source?.value).to.eql(MySubController);
+ });
+
it('ignores `name` and `key` from base class', () => {
const spec = {
tags: [
diff --git a/packages/context/src/binding-inspector.ts b/packages/context/src/binding-inspector.ts
index 42db3df00983..fff7f2647eb1 100644
--- a/packages/context/src/binding-inspector.ts
+++ b/packages/context/src/binding-inspector.ts
@@ -174,7 +174,11 @@ export function bindingTemplateFor(
): BindingTemplate {
const spec = getBindingMetadata(cls);
debug('class %s has binding metadata', cls.name, spec);
- const templateFunctions = spec?.templates ?? [asClassOrProvider(cls)];
+ const templateFunctions = spec?.templates ?? [];
+ if (spec?.target !== cls) {
+ // Make sure the subclass is used as the binding source
+ templateFunctions.push(asClassOrProvider(cls) as BindingTemplate);
+ }
return function applyBindingTemplatesFromMetadata(binding) {
for (const t of templateFunctions) {
binding.apply(t);
diff --git a/packages/context/src/binding.ts b/packages/context/src/binding.ts
index 8c37c0b2bedd..91ed0b6e3e09 100644
--- a/packages/context/src/binding.ts
+++ b/packages/context/src/binding.ts
@@ -681,14 +681,6 @@ export class Binding extends EventEmitter {
// Clear the cache
this._clearCache();
this._getValue = resolutionCtx => {
- if (
- resolutionCtx.options.asProxyWithInterceptors &&
- this._source?.type !== BindingType.CLASS
- ) {
- throw new Error(
- `Binding '${this.key}' (${this._source?.type}) does not support 'asProxyWithInterceptors'`,
- );
- }
return getValue(resolutionCtx);
};
this.emitChangedEvent('value');
@@ -736,7 +728,9 @@ export class Binding extends EventEmitter {
type: BindingType.CONSTANT,
value,
};
- this._setValueGetter(() => value);
+ this._setValueGetter(resolutionCtx => {
+ return Binding.valueOrProxy(resolutionCtx, value);
+ });
return this;
}
@@ -776,10 +770,25 @@ export class Binding extends EventEmitter {
} else {
factoryFn = factory;
}
- this._setValueGetter(resolutionCtx => factoryFn(resolutionCtx));
+ this._setValueGetter(resolutionCtx => {
+ const value = factoryFn(resolutionCtx);
+ return Binding.valueOrProxy(resolutionCtx, value);
+ });
return this;
}
+ private static valueOrProxy(
+ resolutionCtx: ResolutionContext,
+ value: ValueOrPromise,
+ ) {
+ if (!resolutionCtx.options.asProxyWithInterceptors) return value;
+ return createInterceptionProxyFromInstance(
+ value,
+ resolutionCtx.context,
+ resolutionCtx.options.session,
+ );
+ }
+
/**
* Bind the key to a value computed by a Provider.
*
@@ -805,13 +814,14 @@ export class Binding extends EventEmitter {
type: BindingType.PROVIDER,
value: providerClass,
};
- this._setValueGetter(({context, options}) => {
+ this._setValueGetter(resolutionCtx => {
const providerOrPromise = instantiateClass>(
providerClass,
- context,
- options.session,
+ resolutionCtx.context,
+ resolutionCtx.options.session,
);
- return transformValueOrPromise(providerOrPromise, p => p.value());
+ const value = transformValueOrPromise(providerOrPromise, p => p.value());
+ return Binding.valueOrProxy(resolutionCtx, value);
});
return this;
}
@@ -832,14 +842,13 @@ export class Binding extends EventEmitter {
type: BindingType.CLASS,
value: ctor,
};
- this._setValueGetter(({context, options}) => {
- const instOrPromise = instantiateClass(ctor, context, options.session);
- if (!options.asProxyWithInterceptors) return instOrPromise;
- return createInterceptionProxyFromInstance(
- instOrPromise,
- context,
- options.session,
+ this._setValueGetter(resolutionCtx => {
+ const value = instantiateClass(
+ ctor,
+ resolutionCtx.context,
+ resolutionCtx.options.session,
);
+ return Binding.valueOrProxy(resolutionCtx, value);
});
return this;
}
@@ -1050,7 +1059,7 @@ function createInterceptionProxyFromInstance(
session?: ResolutionSession,
) {
return transformValueOrPromise(instOrPromise, inst => {
- if (typeof inst !== 'object') return inst;
+ if (typeof inst !== 'object' || inst == null) return inst;
return (createProxyWithInterceptors(
// Cast inst from `T` to `object`
(inst as unknown) as object,
diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md
index 33f80ead8a00..c2501b34ed95 100644
--- a/packages/core/CHANGELOG.md
+++ b/packages/core/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.14.0](https://github.com/strongloop/loopback-next/compare/@loopback/core@2.13.1...@loopback/core@2.14.0) (2021-01-21)
+
+
+### Features
+
+* fix eslint violations ([062de9c](https://github.com/strongloop/loopback-next/commit/062de9c5f908332f58f54ddf13798a22ca21f1e7))
+
+
+
+
+
## [2.13.1](https://github.com/strongloop/loopback-next/compare/@loopback/core@2.13.0...@loopback/core@2.13.1) (2020-12-07)
diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json
index 4ac8b1433ccf..d0bcb61bdf65 100644
--- a/packages/core/package-lock.json
+++ b/packages/core/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/core",
- "version": "2.13.1",
+ "version": "2.14.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/core/package.json b/packages/core/package.json
index a53907a0c9c6..2fb2a085a225 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/core",
- "version": "2.13.1",
+ "version": "2.14.0",
"description": "Define and implement core constructs such as Application and Component",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -24,14 +24,14 @@
"access": "public"
},
"dependencies": {
- "@loopback/context": "^3.13.2",
+ "@loopback/context": "^3.14.0",
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.35"
},
diff --git a/packages/core/src/__tests__/acceptance/application.acceptance.ts b/packages/core/src/__tests__/acceptance/application.acceptance.ts
index dba3166b19ff..9d104306a0fd 100644
--- a/packages/core/src/__tests__/acceptance/application.acceptance.ts
+++ b/packages/core/src/__tests__/acceptance/application.acceptance.ts
@@ -87,7 +87,6 @@ describe('Bootstrapping the application', () => {
it('injects component dependencies', () => {
class ConfigComponent {
providers = {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
greetBriefly: class HelloProvider {
value() {
return true;
diff --git a/packages/eslint-config/CHANGELOG.md b/packages/eslint-config/CHANGELOG.md
index 42e70698211d..026eb79c240e 100644
--- a/packages/eslint-config/CHANGELOG.md
+++ b/packages/eslint-config/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [10.0.5](https://github.com/strongloop/loopback-next/compare/@loopback/eslint-config@10.0.4...@loopback/eslint-config@10.0.5) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/eslint-config
+
+
+
+
+
## [10.0.4](https://github.com/strongloop/loopback-next/compare/@loopback/eslint-config@10.0.3...@loopback/eslint-config@10.0.4) (2020-12-07)
**Note:** Version bump only for package @loopback/eslint-config
diff --git a/packages/eslint-config/package-lock.json b/packages/eslint-config/package-lock.json
index ea411a593b90..65a5b4f05ea7 100644
--- a/packages/eslint-config/package-lock.json
+++ b/packages/eslint-config/package-lock.json
@@ -1,96 +1,97 @@
{
"name": "@loopback/eslint-config",
- "version": "10.0.4",
+ "version": "10.0.5",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@nodelib/fs.scandir": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
- "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
+ "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
"requires": {
- "@nodelib/fs.stat": "2.0.3",
+ "@nodelib/fs.stat": "2.0.4",
"run-parallel": "^1.1.9"
}
},
"@nodelib/fs.stat": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
- "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA=="
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
+ "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q=="
},
"@nodelib/fs.walk": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
- "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
+ "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
"requires": {
- "@nodelib/fs.scandir": "2.1.3",
+ "@nodelib/fs.scandir": "2.1.4",
"fastq": "^1.6.0"
}
},
"@types/json-schema": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
- "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw=="
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
+ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA=="
},
"@typescript-eslint/eslint-plugin": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.9.0.tgz",
- "integrity": "sha512-WrVzGMzzCrgrpnQMQm4Tnf+dk+wdl/YbgIgd5hKGa2P+lnJ2MON+nQnbwgbxtN9QDLi8HO+JAq0/krMnjQK6Cw==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz",
+ "integrity": "sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==",
"requires": {
- "@typescript-eslint/experimental-utils": "4.9.0",
- "@typescript-eslint/scope-manager": "4.9.0",
+ "@typescript-eslint/experimental-utils": "4.14.0",
+ "@typescript-eslint/scope-manager": "4.14.0",
"debug": "^4.1.1",
"functional-red-black-tree": "^1.0.1",
+ "lodash": "^4.17.15",
"regexpp": "^3.0.0",
"semver": "^7.3.2",
"tsutils": "^3.17.1"
}
},
"@typescript-eslint/experimental-utils": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.9.0.tgz",
- "integrity": "sha512-0p8GnDWB3R2oGhmRXlEnCvYOtaBCijtA5uBfH5GxQKsukdSQyI4opC4NGTUb88CagsoNQ4rb/hId2JuMbzWKFQ==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz",
+ "integrity": "sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==",
"requires": {
"@types/json-schema": "^7.0.3",
- "@typescript-eslint/scope-manager": "4.9.0",
- "@typescript-eslint/types": "4.9.0",
- "@typescript-eslint/typescript-estree": "4.9.0",
+ "@typescript-eslint/scope-manager": "4.14.0",
+ "@typescript-eslint/types": "4.14.0",
+ "@typescript-eslint/typescript-estree": "4.14.0",
"eslint-scope": "^5.0.0",
"eslint-utils": "^2.0.0"
}
},
"@typescript-eslint/parser": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.9.0.tgz",
- "integrity": "sha512-QRSDAV8tGZoQye/ogp28ypb8qpsZPV6FOLD+tbN4ohKUWHD2n/u0Q2tIBnCsGwQCiD94RdtLkcqpdK4vKcLCCw==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz",
+ "integrity": "sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==",
"requires": {
- "@typescript-eslint/scope-manager": "4.9.0",
- "@typescript-eslint/types": "4.9.0",
- "@typescript-eslint/typescript-estree": "4.9.0",
+ "@typescript-eslint/scope-manager": "4.14.0",
+ "@typescript-eslint/types": "4.14.0",
+ "@typescript-eslint/typescript-estree": "4.14.0",
"debug": "^4.1.1"
}
},
"@typescript-eslint/scope-manager": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.9.0.tgz",
- "integrity": "sha512-q/81jtmcDtMRE+nfFt5pWqO0R41k46gpVLnuefqVOXl4QV1GdQoBWfk5REcipoJNQH9+F5l+dwa9Li5fbALjzg==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz",
+ "integrity": "sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==",
"requires": {
- "@typescript-eslint/types": "4.9.0",
- "@typescript-eslint/visitor-keys": "4.9.0"
+ "@typescript-eslint/types": "4.14.0",
+ "@typescript-eslint/visitor-keys": "4.14.0"
}
},
"@typescript-eslint/types": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.9.0.tgz",
- "integrity": "sha512-luzLKmowfiM/IoJL/rus1K9iZpSJK6GlOS/1ezKplb7MkORt2dDcfi8g9B0bsF6JoRGhqn0D3Va55b+vredFHA=="
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz",
+ "integrity": "sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A=="
},
"@typescript-eslint/typescript-estree": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.9.0.tgz",
- "integrity": "sha512-rmDR++PGrIyQzAtt3pPcmKWLr7MA+u/Cmq9b/rON3//t5WofNR4m/Ybft2vOLj0WtUzjn018ekHjTsnIyBsQug==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz",
+ "integrity": "sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==",
"requires": {
- "@typescript-eslint/types": "4.9.0",
- "@typescript-eslint/visitor-keys": "4.9.0",
+ "@typescript-eslint/types": "4.14.0",
+ "@typescript-eslint/visitor-keys": "4.14.0",
"debug": "^4.1.1",
"globby": "^11.0.1",
"is-glob": "^4.0.1",
@@ -100,11 +101,11 @@
}
},
"@typescript-eslint/visitor-keys": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.9.0.tgz",
- "integrity": "sha512-sV45zfdRqQo1A97pOSx3fsjR+3blmwtdCt8LDrXgCX36v4Vmz4KHrhpV6Fo2cRdXmyumxx11AHw0pNJqCNpDyg==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz",
+ "integrity": "sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==",
"requires": {
- "@typescript-eslint/types": "4.9.0",
+ "@typescript-eslint/types": "4.14.0",
"eslint-visitor-keys": "^2.0.0"
}
},
@@ -138,9 +139,9 @@
}
},
"eslint-config-prettier": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz",
- "integrity": "sha512-8Y8lGLVPPZdaNA7JXqnvETVC7IiVRgAP6afQu9gOQRn90YY3otMNh+x7Vr2vMePQntF+5erdSUBqSzCmU/AxaQ=="
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz",
+ "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg=="
},
"eslint-plugin-eslint-plugin": {
"version": "2.3.0",
@@ -206,9 +207,9 @@
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
},
"fast-glob": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
- "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
+ "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
"requires": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -219,9 +220,9 @@
}
},
"fastq": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz",
- "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz",
+ "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==",
"requires": {
"reusify": "^1.0.4"
}
@@ -248,9 +249,9 @@
}
},
"globby": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
- "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
+ "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
"requires": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
@@ -372,9 +373,9 @@
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
},
"tsutils": {
- "version": "3.17.1",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
- "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
+ "version": "3.19.1",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz",
+ "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==",
"requires": {
"tslib": "^1.8.1"
}
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
index 77162d422def..d6cde9b5f5a9 100644
--- a/packages/eslint-config/package.json
+++ b/packages/eslint-config/package.json
@@ -1,9 +1,9 @@
{
"name": "@loopback/eslint-config",
- "version": "10.0.4",
+ "version": "10.0.5",
"description": "ESLint configuration for LoopBack projects",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"main": "eslintrc.js",
"author": "IBM Corp.",
@@ -13,12 +13,12 @@
"access": "public"
},
"peerDependencies": {
- "eslint": "^7.15.0"
+ "eslint": "^7.18.0"
},
"dependencies": {
- "@typescript-eslint/eslint-plugin": "^4.9.0",
- "@typescript-eslint/parser": "^4.9.0",
- "eslint-config-prettier": "^7.0.0",
+ "@typescript-eslint/eslint-plugin": "^4.14.0",
+ "@typescript-eslint/parser": "^4.14.0",
+ "eslint-config-prettier": "^7.2.0",
"eslint-plugin-eslint-plugin": "^2.3.0",
"eslint-plugin-mocha": "^8.0.0"
},
diff --git a/packages/express/CHANGELOG.md b/packages/express/CHANGELOG.md
index 45d1a05b5e1b..e95215646cf8 100644
--- a/packages/express/CHANGELOG.md
+++ b/packages/express/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/express@3.1.1...@loopback/express@3.1.2) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/express
+
+
+
+
+
## [3.1.1](https://github.com/strongloop/loopback-next/compare/@loopback/express@3.1.0...@loopback/express@3.1.1) (2020-12-07)
**Note:** Version bump only for package @loopback/express
diff --git a/packages/express/package-lock.json b/packages/express/package-lock.json
index 7e25aceb832c..587737d820e7 100644
--- a/packages/express/package-lock.json
+++ b/packages/express/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/express",
- "version": "3.1.1",
+ "version": "3.1.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -42,31 +42,24 @@
"dev": true
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
"@types/range-parser": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/http-errors": {
@@ -75,15 +68,14 @@
"integrity": "sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA=="
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/node": {
"version": "10.17.48",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.48.tgz",
- "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag==",
- "dev": true
+ "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag=="
},
"@types/on-finished": {
"version": "2.3.1",
@@ -105,19 +97,12 @@
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/toposort": {
@@ -617,9 +602,9 @@
}
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"unpipe": {
diff --git a/packages/express/package.json b/packages/express/package.json
index b17ca7884413..750fb1f546e9 100644
--- a/packages/express/package.json
+++ b/packages/express/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/express",
- "version": "3.1.1",
+ "version": "3.1.2",
"description": "Integrate with Express and expose middleware infrastructure for sequence and interceptors",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -9,7 +9,7 @@
"loopback"
],
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -31,13 +31,13 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
- "@loopback/http-server": "^2.3.3",
+ "@loopback/http-server": "^2.3.4",
"@types/body-parser": "^1.19.0",
- "@types/express": "^4.17.9",
- "@types/express-serve-static-core": "^4.17.14",
+ "@types/express": "^4.17.11",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/http-errors": "^1.8.0",
"body-parser": "^1.19.0",
"debug": "^4.3.1",
@@ -48,16 +48,16 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.35",
"@types/on-finished": "^2.3.1",
"@types/toposort": "^2.0.3",
"http-errors": "^1.8.0",
"source-map-support": "^0.5.19",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
},
"files": [
"README.md",
diff --git a/packages/filter/CHANGELOG.md b/packages/filter/CHANGELOG.md
index e35a1fc7aaf6..2a96d300c23e 100644
--- a/packages/filter/CHANGELOG.md
+++ b/packages/filter/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.3.1](https://github.com/strongloop/loopback-next/compare/@loopback/filter@1.3.0...@loopback/filter@1.3.1) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/filter
+
+
+
+
+
# [1.3.0](https://github.com/strongloop/loopback-next/compare/@loopback/filter@1.2.1...@loopback/filter@1.3.0) (2020-12-07)
diff --git a/packages/filter/package-lock.json b/packages/filter/package-lock.json
index 77bb51725666..172a840185c6 100644
--- a/packages/filter/package-lock.json
+++ b/packages/filter/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/filter",
- "version": "1.3.0",
+ "version": "1.3.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -16,9 +16,9 @@
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
},
"typescript": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
- "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
}
}
diff --git a/packages/filter/package.json b/packages/filter/package.json
index 8a2d63f57adc..1961641bf53d 100644
--- a/packages/filter/package.json
+++ b/packages/filter/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/filter",
- "version": "1.3.0",
+ "version": "1.3.1",
"description": "Utility typings and filters for LoopBack filters.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -35,9 +35,9 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35",
- "typescript": "~4.1.2"
+ "typescript": "~4.1.3"
}
}
diff --git a/packages/http-caching-proxy/CHANGELOG.md b/packages/http-caching-proxy/CHANGELOG.md
index 99ee5d79ec6c..483e53ffa390 100644
--- a/packages/http-caching-proxy/CHANGELOG.md
+++ b/packages/http-caching-proxy/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.20](https://github.com/strongloop/loopback-next/compare/@loopback/http-caching-proxy@2.1.19...@loopback/http-caching-proxy@2.1.20) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/http-caching-proxy
+
+
+
+
+
## [2.1.19](https://github.com/strongloop/loopback-next/compare/@loopback/http-caching-proxy@2.1.18...@loopback/http-caching-proxy@2.1.19) (2020-12-07)
**Note:** Version bump only for package @loopback/http-caching-proxy
diff --git a/packages/http-caching-proxy/package-lock.json b/packages/http-caching-proxy/package-lock.json
index f5b8d3a61d68..9a38530775d2 100644
--- a/packages/http-caching-proxy/package-lock.json
+++ b/packages/http-caching-proxy/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/http-caching-proxy",
- "version": "2.1.19",
+ "version": "2.1.20",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/http-caching-proxy/package.json b/packages/http-caching-proxy/package.json
index 3a3148a7ec5e..1243f959a193 100644
--- a/packages/http-caching-proxy/package.json
+++ b/packages/http-caching-proxy/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/http-caching-proxy",
- "version": "2.1.19",
+ "version": "2.1.20",
"description": "A caching HTTP proxy for integration tests. NOT SUITABLE FOR PRODUCTION USE!",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -28,9 +28,9 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.35",
"@types/rimraf": "^3.0.0",
diff --git a/packages/http-server/CHANGELOG.md b/packages/http-server/CHANGELOG.md
index d5cdb4708f6c..13a695a860ec 100644
--- a/packages/http-server/CHANGELOG.md
+++ b/packages/http-server/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.3.4](https://github.com/strongloop/loopback-next/compare/@loopback/http-server@2.3.3...@loopback/http-server@2.3.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/http-server
+
+
+
+
+
## [2.3.3](https://github.com/strongloop/loopback-next/compare/@loopback/http-server@2.3.2...@loopback/http-server@2.3.3) (2020-12-07)
**Note:** Version bump only for package @loopback/http-server
diff --git a/packages/http-server/package-lock.json b/packages/http-server/package-lock.json
index c9999c860072..561eca8ca47b 100644
--- a/packages/http-server/package-lock.json
+++ b/packages/http-server/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/http-server",
- "version": "2.3.3",
+ "version": "2.3.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/http-server/package.json b/packages/http-server/package.json
index 747d0eb975d9..573c2587137f 100644
--- a/packages/http-server/package.json
+++ b/packages/http-server/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/http-server",
- "version": "2.3.3",
+ "version": "2.3.4",
"description": "A wrapper for creating HTTP/HTTPS servers",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -26,10 +26,10 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.35",
"@types/stoppable": "^1.1.0"
diff --git a/packages/metadata/CHANGELOG.md b/packages/metadata/CHANGELOG.md
index e8548ef3f81e..cf46ca1ce006 100644
--- a/packages/metadata/CHANGELOG.md
+++ b/packages/metadata/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [3.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@3.0.5...@loopback/metadata@3.1.0) (2021-01-21)
+
+
+### Features
+
+* fix eslint violations ([062de9c](https://github.com/strongloop/loopback-next/commit/062de9c5f908332f58f54ddf13798a22ca21f1e7))
+
+
+
+
+
## [3.0.5](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@3.0.4...@loopback/metadata@3.0.5) (2020-12-07)
**Note:** Version bump only for package @loopback/metadata
diff --git a/packages/metadata/package-lock.json b/packages/metadata/package-lock.json
index 28d32e142d42..05fbc98e55ba 100644
--- a/packages/metadata/package-lock.json
+++ b/packages/metadata/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/metadata",
- "version": "3.0.5",
+ "version": "3.1.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -11,9 +11,9 @@
"dev": true
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/node": {
diff --git a/packages/metadata/package.json b/packages/metadata/package.json
index 058bf3088bb3..0c946b51b686 100644
--- a/packages/metadata/package.json
+++ b/packages/metadata/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/metadata",
- "version": "3.0.5",
+ "version": "3.1.0",
"description": "Utilities to help developers implement TypeScript decorators, define/merge metadata, and inspect metadata",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -29,11 +29,11 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
- "@types/lodash": "^4.14.165",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35"
},
"keywords": [
diff --git a/packages/metadata/src/inspector.ts b/packages/metadata/src/inspector.ts
index 20a116709881..76240ed19bc7 100644
--- a/packages/metadata/src/inspector.ts
+++ b/packages/metadata/src/inspector.ts
@@ -44,12 +44,10 @@ export class MetadataInspector {
* Expose Reflector, which is a wrapper of `Reflect` and it uses `loopback`
* as the namespace prefix for all metadata keys
*/
- // eslint-disable-next-line @typescript-eslint/naming-convention
static readonly Reflector = Reflector;
/**
* Expose the reflector for TypeScript design-time metadata
*/
- // eslint-disable-next-line @typescript-eslint/naming-convention
static readonly DesignTimeReflector = TSReflector;
/**
diff --git a/packages/model-api-builder/CHANGELOG.md b/packages/model-api-builder/CHANGELOG.md
index f374e57dca8d..17a7b9f17ab2 100644
--- a/packages/model-api-builder/CHANGELOG.md
+++ b/packages/model-api-builder/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.20](https://github.com/strongloop/loopback-next/compare/@loopback/model-api-builder@2.1.19...@loopback/model-api-builder@2.1.20) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/model-api-builder
+
+
+
+
+
## [2.1.19](https://github.com/strongloop/loopback-next/compare/@loopback/model-api-builder@2.1.18...@loopback/model-api-builder@2.1.19) (2020-12-07)
**Note:** Version bump only for package @loopback/model-api-builder
diff --git a/packages/model-api-builder/package-lock.json b/packages/model-api-builder/package-lock.json
index 47b162f0e8a3..6c268e434b63 100644
--- a/packages/model-api-builder/package-lock.json
+++ b/packages/model-api-builder/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/model-api-builder",
- "version": "2.1.19",
+ "version": "2.1.20",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/model-api-builder/package.json b/packages/model-api-builder/package.json
index 974d8c2ae404..28862c27082e 100644
--- a/packages/model-api-builder/package.json
+++ b/packages/model-api-builder/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/model-api-builder",
- "version": "2.1.19",
+ "version": "2.1.20",
"description": "Types and helpers for packages contributing Model API builders.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,16 +21,16 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0"
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0"
},
"dependencies": {
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
"@types/node": "^10.17.35"
},
"files": [
diff --git a/packages/monorepo/CHANGELOG.md b/packages/monorepo/CHANGELOG.md
index 655dfacc70ef..3273d5e27dec 100644
--- a/packages/monorepo/CHANGELOG.md
+++ b/packages/monorepo/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.1.3](https://github.com/strongloop/loopback-next/compare/@loopback/monorepo@0.1.2...@loopback/monorepo@0.1.3) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/monorepo
+
+
+
+
+
## [0.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/monorepo@0.1.1...@loopback/monorepo@0.1.2) (2020-12-07)
**Note:** Version bump only for package @loopback/monorepo
diff --git a/packages/monorepo/package-lock.json b/packages/monorepo/package-lock.json
index 746389362347..51ebc0abba22 100644
--- a/packages/monorepo/package-lock.json
+++ b/packages/monorepo/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/monorepo",
- "version": "0.1.2",
+ "version": "0.1.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -696,14 +696,14 @@
}
},
"fs-extra": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
- "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
- "universalify": "^1.0.0"
+ "universalify": "^2.0.0"
}
},
"fs.realpath": {
@@ -1027,13 +1027,6 @@
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- }
}
},
"kind-of": {
@@ -1709,9 +1702,9 @@
}
},
"universalify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
- "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
},
"unset-value": {
"version": "1.0.0",
diff --git a/packages/monorepo/package.json b/packages/monorepo/package.json
index 01e14aea4c9b..757b84ac780e 100644
--- a/packages/monorepo/package.json
+++ b/packages/monorepo/package.json
@@ -6,9 +6,9 @@
"url": "https://github.com/strongloop/loopback-next.git",
"directory": "packages/monorepo"
},
- "version": "0.1.2",
+ "version": "0.1.3",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"main": "index.js",
"author": "IBM Corp.",
@@ -26,7 +26,7 @@
"@lerna/project": "^3.21.0",
"cross-spawn": "^7.0.3",
"debug": "^4.3.1",
- "fs-extra": "^9.0.1"
+ "fs-extra": "^9.1.0"
},
"bin": {
"lb-run-lerna": "./lib/run-lerna.js",
diff --git a/packages/openapi-spec-builder/CHANGELOG.md b/packages/openapi-spec-builder/CHANGELOG.md
index 092525549e99..3e855c0bd5a6 100644
--- a/packages/openapi-spec-builder/CHANGELOG.md
+++ b/packages/openapi-spec-builder/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.0.4](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-spec-builder@3.0.3...@loopback/openapi-spec-builder@3.0.4) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/openapi-spec-builder
+
+
+
+
+
## [3.0.3](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-spec-builder@3.0.2...@loopback/openapi-spec-builder@3.0.3) (2020-12-07)
**Note:** Version bump only for package @loopback/openapi-spec-builder
diff --git a/packages/openapi-spec-builder/package-lock.json b/packages/openapi-spec-builder/package-lock.json
index 4a97d3c672e9..58417d9e3321 100644
--- a/packages/openapi-spec-builder/package-lock.json
+++ b/packages/openapi-spec-builder/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/openapi-spec-builder",
- "version": "3.0.3",
+ "version": "3.0.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -11,9 +11,9 @@
"dev": true
},
"openapi3-ts": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.0.tgz",
- "integrity": "sha512-q4p8OX/mD7qXeDKkhdLhpEz1Zh/IxPBDWmuq7f07fQJpo7exUW20sMrHfws1xzihYPktTXVV5MDOZkG/1uguEg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.1.tgz",
+ "integrity": "sha512-v6X3iwddhi276siej96jHGIqTx3wzVfMTmpGJEQDt7GPI7pI6sywItURLzpEci21SBRpPN/aOWSF5mVfFVNmcg==",
"requires": {
"yaml": "^1.10.0"
}
diff --git a/packages/openapi-spec-builder/package.json b/packages/openapi-spec-builder/package.json
index 830b04db2258..52d470ad95a5 100644
--- a/packages/openapi-spec-builder/package.json
+++ b/packages/openapi-spec-builder/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/openapi-spec-builder",
- "version": "3.0.3",
+ "version": "3.0.4",
"description": "Make it easy to create OpenAPI (Swagger) specification documents in your tests using the builder pattern.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,13 +21,13 @@
"access": "public"
},
"dependencies": {
- "openapi3-ts": "^2.0.0",
+ "openapi3-ts": "^2.0.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35"
},
"keywords": [
diff --git a/packages/openapi-v3/CHANGELOG.md b/packages/openapi-v3/CHANGELOG.md
index dbe571f9f0e4..713511fa25ef 100644
--- a/packages/openapi-v3/CHANGELOG.md
+++ b/packages/openapi-v3/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [5.1.3](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@5.1.2...@loopback/openapi-v3@5.1.3) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/openapi-v3
+
+
+
+
+
## [5.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@5.1.1...@loopback/openapi-v3@5.1.2) (2020-12-07)
**Note:** Version bump only for package @loopback/openapi-v3
diff --git a/packages/openapi-v3/package-lock.json b/packages/openapi-v3/package-lock.json
index 2962a929b78d..39ae519aedb8 100644
--- a/packages/openapi-v3/package-lock.json
+++ b/packages/openapi-v3/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/openapi-v3",
- "version": "5.1.2",
+ "version": "5.1.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -26,9 +26,9 @@
"dev": true
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/node": {
@@ -347,9 +347,9 @@
}
},
"openapi3-ts": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.0.tgz",
- "integrity": "sha512-q4p8OX/mD7qXeDKkhdLhpEz1Zh/IxPBDWmuq7f07fQJpo7exUW20sMrHfws1xzihYPktTXVV5MDOZkG/1uguEg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.1.tgz",
+ "integrity": "sha512-v6X3iwddhi276siej96jHGIqTx3wzVfMTmpGJEQDt7GPI7pI6sywItURLzpEci21SBRpPN/aOWSF5mVfFVNmcg==",
"requires": {
"yaml": "^1.10.0"
}
diff --git a/packages/openapi-v3/package.json b/packages/openapi-v3/package.json
index 2dfc8b12c428..c12e692e2f92 100644
--- a/packages/openapi-v3/package.json
+++ b/packages/openapi-v3/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/openapi-v3",
- "version": "5.1.2",
+ "version": "5.1.3",
"description": "Decorators that annotate LoopBack artifacts with OpenAPI v3 metadata and utilities that transform LoopBack metadata to OpenAPI v3 specifications",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -23,28 +23,28 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
- "@loopback/repository-json-schema": "^3.2.0",
+ "@loopback/repository-json-schema": "^3.2.1",
"debug": "^4.3.1",
"http-status": "^1.5.0",
"json-merge-patch": "^1.0.1",
"lodash": "^4.17.20",
- "openapi3-ts": "^2.0.0",
+ "openapi3-ts": "^2.0.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/openapi-spec-builder": "^3.0.3",
- "@loopback/repository": "^3.3.0",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/openapi-spec-builder": "^3.0.4",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/http-status": "^1.1.2",
"@types/json-merge-patch": "0.0.5",
- "@types/lodash": "^4.14.165",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35"
},
"keywords": [
diff --git a/packages/repository-json-schema/CHANGELOG.md b/packages/repository-json-schema/CHANGELOG.md
index 0c1b9080547f..eafd947c1d70 100644
--- a/packages/repository-json-schema/CHANGELOG.md
+++ b/packages/repository-json-schema/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.2.1](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@3.2.0...@loopback/repository-json-schema@3.2.1) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/repository-json-schema
+
+
+
+
+
# [3.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@3.1.1...@loopback/repository-json-schema@3.2.0) (2020-12-07)
diff --git a/packages/repository-json-schema/package-lock.json b/packages/repository-json-schema/package-lock.json
index 189fb25414ff..f776a1aad020 100644
--- a/packages/repository-json-schema/package-lock.json
+++ b/packages/repository-json-schema/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/repository-json-schema",
- "version": "3.2.0",
+ "version": "3.2.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -11,9 +11,9 @@
"dev": true
},
"@types/json-schema": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
- "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw=="
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
+ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA=="
},
"@types/node": {
"version": "10.17.48",
diff --git a/packages/repository-json-schema/package.json b/packages/repository-json-schema/package.json
index 1565a145bd6d..d58b1416bac7 100644
--- a/packages/repository-json-schema/package.json
+++ b/packages/repository-json-schema/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/repository-json-schema",
- "version": "3.2.0",
+ "version": "3.2.1",
"description": "Converts TS classes into JSON Schemas using TypeScript's reflection API",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,20 +21,20 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0"
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0"
},
"dependencies": {
- "@types/json-schema": "^7.0.6",
+ "@types/json-schema": "^7.0.7",
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/repository": "^3.3.0",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.35",
"ajv": "^6.12.6"
diff --git a/packages/repository-tests/CHANGELOG.md b/packages/repository-tests/CHANGELOG.md
index 0c4f57a5caff..eeb4f910f8cd 100644
--- a/packages/repository-tests/CHANGELOG.md
+++ b/packages/repository-tests/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [0.16.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository-tests@0.15.0...@loopback/repository-tests@0.16.0) (2021-01-21)
+
+
+### Features
+
+* fix eslint violations ([062de9c](https://github.com/strongloop/loopback-next/commit/062de9c5f908332f58f54ddf13798a22ca21f1e7))
+
+
+
+
+
# [0.15.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository-tests@0.14.2...@loopback/repository-tests@0.15.0) (2020-12-07)
diff --git a/packages/repository-tests/package-lock.json b/packages/repository-tests/package-lock.json
index ec73995b9387..1ea7188ec5c9 100644
--- a/packages/repository-tests/package-lock.json
+++ b/packages/repository-tests/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/repository-tests",
- "version": "0.15.0",
+ "version": "0.16.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -10,9 +10,9 @@
"integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ=="
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/node": {
diff --git a/packages/repository-tests/package.json b/packages/repository-tests/package.json
index 06d2d38f0e49..4a8598c8c82e 100644
--- a/packages/repository-tests/package.json
+++ b/packages/repository-tests/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/repository-tests",
- "version": "0.15.0",
+ "version": "0.16.0",
"description": "A shared test suite to verify `@loopback/repository` functionality with a given compatible connector",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,21 +21,21 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0"
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0"
},
"dependencies": {
- "@loopback/testlab": "^3.2.10",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
"@types/debug": "^4.1.5",
- "@types/lodash": "^4.14.165",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
"lodash": "^4.17.20"
},
diff --git a/packages/repository-tests/src/crud/relations/fixtures/repositories/address.repository.ts b/packages/repository-tests/src/crud/relations/fixtures/repositories/address.repository.ts
index 25dc5a1d6b4e..6520affe0537 100644
--- a/packages/repository-tests/src/crud/relations/fixtures/repositories/address.repository.ts
+++ b/packages/repository-tests/src/crud/relations/fixtures/repositories/address.repository.ts
@@ -6,15 +6,14 @@
import {Getter} from '@loopback/core';
import {
BelongsToAccessor,
- juggler,
- createBelongsToAccessor,
BelongsToDefinition,
+ createBelongsToAccessor,
+ juggler,
} from '@loopback/repository';
-import {Address, AddressRelations, Customer} from '../models';
import {CrudRepositoryCtor} from '../../../..';
+import {Address, AddressRelations, Customer} from '../models';
export function createAddressRepo(repoClass: CrudRepositoryCtor) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
return class AddressRepository extends repoClass<
Address,
typeof Address.prototype.id,
diff --git a/packages/repository-tests/src/crud/relations/fixtures/repositories/cart-item.repository.ts b/packages/repository-tests/src/crud/relations/fixtures/repositories/cart-item.repository.ts
index 9ba2ff560d0a..2aa7bbe7ac8c 100644
--- a/packages/repository-tests/src/crud/relations/fixtures/repositories/cart-item.repository.ts
+++ b/packages/repository-tests/src/crud/relations/fixtures/repositories/cart-item.repository.ts
@@ -9,7 +9,6 @@ import {CartItem, CartItemRelations} from '../models';
// create the CartItemRepo by calling this func so that it can be extended from CrudRepositoryCtor
export function createCartItemRepo(repoClass: CrudRepositoryCtor) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
return class CartItemRepository extends repoClass<
CartItem,
typeof CartItem.prototype.id,
diff --git a/packages/repository-tests/src/crud/relations/fixtures/repositories/customer-cart-item-link.repository.ts b/packages/repository-tests/src/crud/relations/fixtures/repositories/customer-cart-item-link.repository.ts
index 4d1f9437f63e..7ecf103b30db 100644
--- a/packages/repository-tests/src/crud/relations/fixtures/repositories/customer-cart-item-link.repository.ts
+++ b/packages/repository-tests/src/crud/relations/fixtures/repositories/customer-cart-item-link.repository.ts
@@ -8,7 +8,6 @@ import {CrudRepositoryCtor} from '../../../..';
import {CustomerCartItemLink, CustomerCartItemLinkRelations} from '../models';
// create the CustomerCartItemLinkRepo by calling this func so that it can be extended from CrudRepositoryCtor
export function createCustomerCartItemLinkRepo(repoClass: CrudRepositoryCtor) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
return class CustomerCartItemLinkRepository extends repoClass<
CustomerCartItemLink,
typeof CustomerCartItemLink.prototype.id,
diff --git a/packages/repository-tests/src/crud/relations/fixtures/repositories/customer.repository.ts b/packages/repository-tests/src/crud/relations/fixtures/repositories/customer.repository.ts
index d7d94ea755a8..2d0447e4da27 100644
--- a/packages/repository-tests/src/crud/relations/fixtures/repositories/customer.repository.ts
+++ b/packages/repository-tests/src/crud/relations/fixtures/repositories/customer.repository.ts
@@ -30,7 +30,6 @@ import {
// create the CustomerRepo by calling this func so that it can be extended from CrudRepositoryCtor
export function createCustomerRepo(repoClass: CrudRepositoryCtor) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
return class CustomerRepository extends repoClass<
Customer,
typeof Customer.prototype.id,
diff --git a/packages/repository-tests/src/crud/relations/fixtures/repositories/order.repository.ts b/packages/repository-tests/src/crud/relations/fixtures/repositories/order.repository.ts
index 86960d7f7091..8af671c1a2dd 100644
--- a/packages/repository-tests/src/crud/relations/fixtures/repositories/order.repository.ts
+++ b/packages/repository-tests/src/crud/relations/fixtures/repositories/order.repository.ts
@@ -15,7 +15,6 @@ import {Customer, Order, OrderRelations, Shipment} from '../models';
// create the OrderRepo by calling this func so that it can be extended from CrudRepositoryCtor
export function createOrderRepo(repoClass: CrudRepositoryCtor) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
return class OrderRepository extends repoClass<
Order,
typeof Order.prototype.id,
diff --git a/packages/repository-tests/src/crud/relations/fixtures/repositories/shipment.repository.ts b/packages/repository-tests/src/crud/relations/fixtures/repositories/shipment.repository.ts
index 89993edb8358..322d59f4e771 100644
--- a/packages/repository-tests/src/crud/relations/fixtures/repositories/shipment.repository.ts
+++ b/packages/repository-tests/src/crud/relations/fixtures/repositories/shipment.repository.ts
@@ -5,17 +5,16 @@
import {Getter} from '@loopback/core';
import {
+ createHasManyRepositoryFactory,
+ HasManyDefinition,
HasManyRepositoryFactory,
juggler,
- HasManyDefinition,
- createHasManyRepositoryFactory,
} from '@loopback/repository';
-import {Order, Shipment, ShipmentRelations} from '../models';
import {CrudRepositoryCtor} from '../../../..';
+import {Order, Shipment, ShipmentRelations} from '../models';
// create the ShipmentRepo by calling this func so that it can be extended from CrudRepositoryCtor
export function createShipmentRepo(repoClass: CrudRepositoryCtor) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
return class ShipmentRepository extends repoClass<
Shipment,
typeof Shipment.prototype.id,
diff --git a/packages/repository-tests/src/crud/relations/fixtures/repositories/user-link.repository.ts b/packages/repository-tests/src/crud/relations/fixtures/repositories/user-link.repository.ts
index a0908acdec8b..e85472a2c2f4 100644
--- a/packages/repository-tests/src/crud/relations/fixtures/repositories/user-link.repository.ts
+++ b/packages/repository-tests/src/crud/relations/fixtures/repositories/user-link.repository.ts
@@ -9,7 +9,6 @@ import {UserLink, UserLinkRelations} from '../models';
// create the UserLinkRepo by calling this func so that it can be extended from CrudRepositoryCtor
export function createUserLinkRepo(repoClass: CrudRepositoryCtor) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
return class UerLinkRepository extends repoClass<
UserLink,
typeof UserLink.prototype.id,
diff --git a/packages/repository-tests/src/crud/relations/fixtures/repositories/user.repository.ts b/packages/repository-tests/src/crud/relations/fixtures/repositories/user.repository.ts
index 294aa6bfd802..aadbed7d693e 100644
--- a/packages/repository-tests/src/crud/relations/fixtures/repositories/user.repository.ts
+++ b/packages/repository-tests/src/crud/relations/fixtures/repositories/user.repository.ts
@@ -15,7 +15,6 @@ import {User, UserLink, UserRelations} from '../models';
// create the UserRepo by calling this func so that it can be extended from CrudRepositoryCtor
export function createUserRepo(repoClass: CrudRepositoryCtor) {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
return class UserRepository extends repoClass<
User,
typeof User.prototype.id,
diff --git a/packages/repository/CHANGELOG.md b/packages/repository/CHANGELOG.md
index 6446ba3ae439..dbdc64c4fe01 100644
--- a/packages/repository/CHANGELOG.md
+++ b/packages/repository/CHANGELOG.md
@@ -3,6 +3,23 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [3.4.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository@3.3.0...@loopback/repository@3.4.0) (2021-01-21)
+
+
+### Bug Fixes
+
+* **repository:** unwanted object param manipulation ([8171744](https://github.com/strongloop/loopback-next/commit/8171744f473ab5a05e8f0758630a73c00ea8e7cf)), closes [#5814](https://github.com/strongloop/loopback-next/issues/5814)
+
+
+### Features
+
+* add connector interface enums ([763bf72](https://github.com/strongloop/loopback-next/commit/763bf720ae1031f8eba2f4a24f9a3bbc855d7781))
+* normalize debug scopes in relations ([b3c52c1](https://github.com/strongloop/loopback-next/commit/b3c52c191fc98cc6fc2b304c838d5b15b62ddcb5))
+
+
+
+
+
# [3.3.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository@3.2.1...@loopback/repository@3.3.0) (2020-12-07)
diff --git a/packages/repository/package-lock.json b/packages/repository/package-lock.json
index 0772c266aad3..ac018c40ea38 100644
--- a/packages/repository/package-lock.json
+++ b/packages/repository/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/repository",
- "version": "3.3.0",
+ "version": "3.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -19,15 +19,15 @@
"integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ=="
},
"@types/json-schema": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
- "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
+ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
"dev": true
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/node": {
diff --git a/packages/repository/package.json b/packages/repository/package.json
index e311227a4a6b..f6f3de1ea90e 100644
--- a/packages/repository/package.json
+++ b/packages/repository/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/repository",
- "version": "3.3.0",
+ "version": "3.4.0",
"description": "Define and implement a common set of interfaces for interacting with databases",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -22,10 +22,10 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
- "@loopback/filter": "^1.3.0",
+ "@loopback/filter": "^1.3.1",
"@types/debug": "^4.1.5",
"debug": "^4.3.1",
"lodash": "^4.17.20",
@@ -33,13 +33,13 @@
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/bson": "^4.0.3",
- "@types/json-schema": "^7.0.6",
- "@types/lodash": "^4.14.165",
+ "@types/json-schema": "^7.0.7",
+ "@types/lodash": "^4.14.168",
"@types/node": "^10.17.35",
"bson": "4.2.2"
},
diff --git a/packages/repository/src/__tests__/unit/repositories/has-many-through-repository-factory.unit.ts b/packages/repository/src/__tests__/unit/repositories/has-many-through-repository-factory.unit.ts
index 680c2919b2cd..77a39c401e9d 100644
--- a/packages/repository/src/__tests__/unit/repositories/has-many-through-repository-factory.unit.ts
+++ b/packages/repository/src/__tests__/unit/repositories/has-many-through-repository-factory.unit.ts
@@ -12,7 +12,7 @@ import {
model,
property,
} from '../../..';
-import {createHasManyThroughRepositoryFactory} from '../../../relations/has-many/has-many-through-repository.factory';
+import {createHasManyThroughRepositoryFactory} from '../../../relations/has-many/has-many-through.repository-factory';
import {HasManyThroughResolvedDefinition} from '../../../relations/has-many/has-many-through.helpers';
describe('createHasManyThroughRepositoryFactory', () => {
diff --git a/packages/repository/src/__tests__/unit/repositories/legacy-juggler-bridge.unit.ts b/packages/repository/src/__tests__/unit/repositories/legacy-juggler-bridge.unit.ts
index fe719e9f457a..987ff6b29ad2 100644
--- a/packages/repository/src/__tests__/unit/repositories/legacy-juggler-bridge.unit.ts
+++ b/packages/repository/src/__tests__/unit/repositories/legacy-juggler-bridge.unit.ts
@@ -4,6 +4,7 @@
// License text available at https://opensource.org/licenses/MIT
import {expect, toJSON} from '@loopback/testlab';
+import {cloneDeep} from 'lodash';
import {
bindModel,
DefaultCrudRepository,
@@ -263,41 +264,73 @@ describe('DefaultCrudRepository', () => {
expect(notes.length).to.eql(2);
});
- it('implements Repository.find()', async () => {
- const repo = new DefaultCrudRepository(Note, ds);
- await repo.createAll([
- {title: 't1', content: 'c1'},
- {title: 't2', content: 'c2'},
- ]);
- const notes = await repo.find({where: {title: 't1'}});
- expect(notes.length).to.eql(1);
- });
+ describe('find', () => {
+ it('is implemented', async () => {
+ const repo = new DefaultCrudRepository(Note, ds);
+ await repo.createAll([
+ {title: 't1', content: 'c1'},
+ {title: 't2', content: 'c2'},
+ ]);
+ const notes = await repo.find({where: {title: 't1'}});
+ expect(notes.length).to.eql(1);
+ });
- it('implements Repository.findOne()', async () => {
- const repo = new DefaultCrudRepository(Note, ds);
- await repo.createAll([
- {title: 't1', content: 'c1'},
- {title: 't1', content: 'c2'},
- ]);
- const note = await repo.findOne({
- where: {title: 't1'},
- order: ['content DESC'],
+ it('does not manipulate the original filter', async () => {
+ const repo = new DefaultCrudRepository(Note, ds);
+ const filter = {where: {title: 't1'}};
+ const originalFilter = cloneDeep(filter);
+ await repo.createAll([
+ {title: 't1', content: 'c1'},
+ {title: 't2', content: 'c2'},
+ ]);
+ await repo.find(filter);
+ expect(filter).to.deepEqual(originalFilter);
});
- expect(note).to.not.be.null();
- expect(note?.title).to.eql('t1');
- expect(note?.content).to.eql('c2');
});
- it('returns null if Repository.findOne() does not return a value', async () => {
- const repo = new DefaultCrudRepository(Note, ds);
- await repo.createAll([
- {title: 't1', content: 'c1'},
- {title: 't1', content: 'c2'},
- ]);
- const note = await repo.findOne({
- where: {title: 't5'},
- order: ['content DESC'],
+
+ describe('findOne', () => {
+ it('is implemented', async () => {
+ const repo = new DefaultCrudRepository(Note, ds);
+ await repo.createAll([
+ {title: 't1', content: 'c1'},
+ {title: 't1', content: 'c2'},
+ ]);
+ const note = await repo.findOne({
+ where: {title: 't1'},
+ order: ['content DESC'],
+ });
+ expect(note).to.not.be.null();
+ expect(note?.title).to.eql('t1');
+ expect(note?.content).to.eql('c2');
+ });
+
+ it('returns null if instances were found', async () => {
+ const repo = new DefaultCrudRepository(Note, ds);
+ await repo.createAll([
+ {title: 't1', content: 'c1'},
+ {title: 't1', content: 'c2'},
+ ]);
+ const note = await repo.findOne({
+ where: {title: 't5'},
+ order: ['content DESC'],
+ });
+ expect(note).to.be.null();
+ });
+
+ it('does not manipulate the original filter', async () => {
+ const repo = new DefaultCrudRepository(Note, ds);
+ const filter = {
+ where: {title: 't5'},
+ order: ['content DESC'],
+ };
+ const originalFilter = cloneDeep(filter);
+ await repo.createAll([
+ {title: 't1', content: 'c1'},
+ {title: 't1', content: 'c2'},
+ ]);
+ await repo.findOne(filter);
+ expect(filter).to.deepEqual(originalFilter);
});
- expect(note).to.be.null();
});
describe('findById', () => {
@@ -315,6 +348,15 @@ describe('DefaultCrudRepository', () => {
expect(result?.toJSON()).to.eql({title: 'a-title'});
});
+ it('does not manipulate the original filter', async () => {
+ const repo = new DefaultCrudRepository(Note, ds);
+ const filter = {fields: {title: true, content: true}};
+ const originalFilter = cloneDeep(filter);
+ const note = await repo.create({title: 'a-title', content: 'a-content'});
+ await repo.findById(note.id, filter);
+ expect(filter).to.deepEqual(originalFilter);
+ });
+
it('throws when the instance does not exist', async () => {
const repo = new DefaultCrudRepository(Note, ds);
await expect(repo.findById(999999)).to.be.rejectedWith({
diff --git a/packages/repository/src/__tests__/unit/repositories/relations-helpers/find-by-foreign-keys.unit.ts b/packages/repository/src/__tests__/unit/repositories/relations-helpers/find-by-foreign-keys.unit.ts
index cc300f22518a..a5865a7564b6 100644
--- a/packages/repository/src/__tests__/unit/repositories/relations-helpers/find-by-foreign-keys.unit.ts
+++ b/packages/repository/src/__tests__/unit/repositories/relations-helpers/find-by-foreign-keys.unit.ts
@@ -9,6 +9,7 @@ import {
sinon,
StubbedInstanceWithSinonAccessor,
} from '@loopback/testlab';
+import {cloneDeep} from 'lodash';
import {findByForeignKeys} from '../../../..';
import {
createProduct,
@@ -153,4 +154,21 @@ describe('findByForeignKeys', () => {
include: ['nested inclusion'],
});
});
+
+ it('does not manipulate non-primitive params', async () => {
+ const fkValues = [1];
+ const scope = {
+ where: {id: 2},
+ };
+ const fkValuesOriginal = cloneDeep(fkValues);
+ const scopeOriginal = cloneDeep(scope);
+
+ productRepo.stubs.find.resolves([]);
+ await productRepo.create({id: 1, name: 'product', categoryId: 1});
+ await productRepo.create({id: 2, name: 'product', categoryId: 1});
+ await findByForeignKeys(productRepo, 'categoryId', fkValues, scope);
+
+ expect(fkValues).to.deepEqual(fkValuesOriginal);
+ expect(scope).to.deepEqual(scopeOriginal);
+ });
});
diff --git a/packages/repository/src/__tests__/unit/repositories/relations-helpers/include-related-models.unit.ts b/packages/repository/src/__tests__/unit/repositories/relations-helpers/include-related-models.unit.ts
index 0d8ccbddf810..011d09154c77 100644
--- a/packages/repository/src/__tests__/unit/repositories/relations-helpers/include-related-models.unit.ts
+++ b/packages/repository/src/__tests__/unit/repositories/relations-helpers/include-related-models.unit.ts
@@ -4,6 +4,7 @@
// License text available at https://opensource.org/licenses/MIT
import {expect, toJSON} from '@loopback/testlab';
+import {cloneDeep} from 'lodash';
import {includeRelatedModels, InclusionResolver} from '../../../..';
import {
Category,
@@ -39,6 +40,19 @@ describe('includeRelatedModels', () => {
expect(result).to.eql([category]);
});
+ it('does not manipulate non-primitive params', async () => {
+ const category = await categoryRepo.create({name: 'category'});
+ const categoryOriginal = cloneDeep(category);
+ const filter = ['products'];
+ const filterOriginal = cloneDeep(filter);
+
+ categoryRepo.inclusionResolvers.set('products', hasManyResolver);
+ await includeRelatedModels(categoryRepo, [category], filter);
+
+ expect(category).to.deepEqual(categoryOriginal);
+ expect(filter).to.deepEqual(filterOriginal);
+ });
+
context(
'throws error if the target repository does not have registered resolvers',
() => {
diff --git a/packages/repository/src/connectors/connector.ts b/packages/repository/src/connectors/connector.ts
index ae3df1ce77cb..d479fb4b7adb 100644
--- a/packages/repository/src/connectors/connector.ts
+++ b/packages/repository/src/connectors/connector.ts
@@ -12,13 +12,53 @@ import {
} from '../common-types';
import {Model} from '../model';
+/**
+ * Interfaces adopted by a {@link Connector}.
+ *
+ * @experimental
+ */
+export namespace ConnectorInterfaces {
+ /**
+ * Strong relation interfaces adopted by a {@link Connector}
+ *
+ * @experimental
+ */
+ export const enum StrongRelation {
+ BELONGS_TO = 'strongBelongsTo',
+ HAS_ONE = 'strongHasOne',
+ HAS_MANY = 'strongHasMany',
+ HAS_MANY_THROUGH = 'strongHasManyThrough',
+ HAS_AND_BELONGS_TO_MANY = 'strongHasAndBelongsToMany',
+ EMBEDS_ONE = 'strongEmbedsOne',
+ EMBEDS_MANY = 'strongEmbedsMany',
+ REFERNCES_MANY = 'strongReferencesMany',
+ }
+
+ /**
+ * Strong query join interfaces adopted by a {@link Connector}
+ *
+ * @experimental
+ */
+ export const enum StrongJoins {
+ INNER = 'strongInnerJoin',
+ LEFT = 'strongLeftJoin',
+ RIGHT = 'strongRightJoin',
+ FULL = 'strongFullJoin',
+ CARTESIAN = 'strongCartesianJoin',
+ }
+}
+
/**
* Common properties/operations for connectors
*/
export interface Connector {
name: string; // Name/type of the connector
configModel?: Model; // The configuration model
- interfaces?: string[]; // A list of interfaces implemented by the connector
+ interfaces?: (
+ | string
+ | ConnectorInterfaces.StrongRelation
+ | ConnectorInterfaces.StrongJoins
+ )[]; // A list of interfaces implemented by the connector
connect(): Promise; // Connect to the underlying system
disconnect(): Promise; // Disconnect from the underlying system
ping(): Promise; // Ping the underlying system
diff --git a/packages/repository/src/relations/belongs-to/belongs-to-accessor.ts b/packages/repository/src/relations/belongs-to/belongs-to.accessor.ts
similarity index 96%
rename from packages/repository/src/relations/belongs-to/belongs-to-accessor.ts
rename to packages/repository/src/relations/belongs-to/belongs-to.accessor.ts
index adebd1075d45..d689a393f80c 100644
--- a/packages/repository/src/relations/belongs-to/belongs-to-accessor.ts
+++ b/packages/repository/src/relations/belongs-to/belongs-to.accessor.ts
@@ -16,7 +16,7 @@ import {resolveBelongsToMetadata} from './belongs-to.helpers';
import {createBelongsToInclusionResolver} from './belongs-to.inclusion-resolver';
import {DefaultBelongsToRepository} from './belongs-to.repository';
-const debug = debugFactory('loopback:repository:belongs-to-accessor');
+const debug = debugFactory('loopback:repository:relations:belongs-to:accessor');
export interface BelongsToAccessor {
/**
diff --git a/packages/repository/src/relations/belongs-to/belongs-to.decorator.ts b/packages/repository/src/relations/belongs-to/belongs-to.decorator.ts
index d407705bd080..51b1a3dd2404 100644
--- a/packages/repository/src/relations/belongs-to/belongs-to.decorator.ts
+++ b/packages/repository/src/relations/belongs-to/belongs-to.decorator.ts
@@ -4,9 +4,9 @@
// License text available at https://opensource.org/licenses/MIT
import {DecoratorFactory, MetadataInspector} from '@loopback/core';
-import {property} from '../../decorators/model.decorator';
-import {Entity, EntityResolver, PropertyDefinition} from '../../model';
+import {property} from '../../decorators';
import {relation} from '../relation.decorator';
+import {Entity, EntityResolver, PropertyDefinition} from '../../model';
import {BelongsToDefinition, RelationType} from '../relation.types';
/**
diff --git a/packages/repository/src/relations/belongs-to/belongs-to.helpers.ts b/packages/repository/src/relations/belongs-to/belongs-to.helpers.ts
index 03c67b2d7df0..b5b5ae1cb4d9 100644
--- a/packages/repository/src/relations/belongs-to/belongs-to.helpers.ts
+++ b/packages/repository/src/relations/belongs-to/belongs-to.helpers.ts
@@ -9,7 +9,7 @@ import {InvalidRelationError} from '../../errors';
import {isTypeResolver} from '../../type-resolver';
import {BelongsToDefinition, RelationType} from '../relation.types';
-const debug = debugFactory('loopback:repository:belongs-to-helpers');
+const debug = debugFactory('loopback:repository:relations:belongs-to:helpers');
/**
* Relation definition with optional metadata (e.g. `keyTo`) filled in.
diff --git a/packages/repository/src/relations/belongs-to/belongs-to.inclusion-resolver.ts b/packages/repository/src/relations/belongs-to/belongs-to.inclusion-resolver.ts
index 5b3bc30a7e68..1e7f73c44052 100644
--- a/packages/repository/src/relations/belongs-to/belongs-to.inclusion-resolver.ts
+++ b/packages/repository/src/relations/belongs-to/belongs-to.inclusion-resolver.ts
@@ -6,7 +6,7 @@
import {Filter, InclusionFilter} from '@loopback/filter';
import {AnyObject, Options} from '../../common-types';
import {Entity} from '../../model';
-import {EntityCrudRepository} from '../../repositories/repository';
+import {EntityCrudRepository} from '../../repositories';
import {
deduplicate,
findByForeignKeys,
diff --git a/packages/repository/src/relations/belongs-to/belongs-to.repository.ts b/packages/repository/src/relations/belongs-to/belongs-to.repository.ts
index 3ac621b6a998..90683423643c 100644
--- a/packages/repository/src/relations/belongs-to/belongs-to.repository.ts
+++ b/packages/repository/src/relations/belongs-to/belongs-to.repository.ts
@@ -7,8 +7,7 @@ import {Getter} from '@loopback/core';
import {DataObject, Options} from '../../common-types';
import {EntityNotFoundError} from '../../errors';
import {Entity} from '../../model';
-import {constrainFilter} from '../../repositories/constraint-utils';
-import {EntityCrudRepository} from '../../repositories/repository';
+import {constrainFilter, EntityCrudRepository} from '../../repositories';
/**
* CRUD operations for a target repository of a BelongsTo relation
diff --git a/packages/repository/src/relations/belongs-to/index.ts b/packages/repository/src/relations/belongs-to/index.ts
index 2616b80758bd..ac87d6bf0eb5 100644
--- a/packages/repository/src/relations/belongs-to/index.ts
+++ b/packages/repository/src/relations/belongs-to/index.ts
@@ -5,5 +5,5 @@
export * from './belongs-to.decorator';
export * from './belongs-to.repository';
-export * from './belongs-to-accessor';
+export * from './belongs-to.accessor';
export * from './belongs-to.inclusion-resolver';
diff --git a/packages/repository/src/relations/has-many/has-many-through.helpers.ts b/packages/repository/src/relations/has-many/has-many-through.helpers.ts
index ea3ba7862732..f2c6f4aa4cff 100644
--- a/packages/repository/src/relations/has-many/has-many-through.helpers.ts
+++ b/packages/repository/src/relations/has-many/has-many-through.helpers.ts
@@ -15,7 +15,9 @@ import {
} from '../..';
import {resolveHasManyMetaHelper} from './has-many.helpers';
-const debug = debugFactory('loopback:repository:has-many-through-helpers');
+const debug = debugFactory(
+ 'loopback:repository:relations:has-many-through:helpers',
+);
export type HasManyThroughResolvedDefinition = HasManyDefinition & {
keyTo: string;
diff --git a/packages/repository/src/relations/has-many/has-many-through.inclusion.resolver.ts b/packages/repository/src/relations/has-many/has-many-through.inclusion-resolver.ts
similarity index 96%
rename from packages/repository/src/relations/has-many/has-many-through.inclusion.resolver.ts
rename to packages/repository/src/relations/has-many/has-many-through.inclusion-resolver.ts
index 115c52877d14..41204a3dd9ac 100644
--- a/packages/repository/src/relations/has-many/has-many-through.inclusion.resolver.ts
+++ b/packages/repository/src/relations/has-many/has-many-through.inclusion-resolver.ts
@@ -7,7 +7,7 @@ import {Filter, InclusionFilter} from '@loopback/filter';
import debugFactory from 'debug';
import {AnyObject, Options} from '../../common-types';
import {Entity} from '../../model';
-import {EntityCrudRepository} from '../../repositories/repository';
+import {EntityCrudRepository} from '../../repositories';
import {
findByForeignKeys,
flattenTargetsOfOneToManyRelation,
@@ -17,7 +17,7 @@ import {Getter, HasManyDefinition, InclusionResolver} from '../relation.types';
import {resolveHasManyMetadata} from './has-many.helpers';
const debug = debugFactory(
- 'loopback:repository:has-many-through-inclusion-resolver',
+ 'loopback:repository:relations:has-many-through:inclusion-resolver',
);
/**
diff --git a/packages/repository/src/relations/has-many/has-many-through-repository.factory.ts b/packages/repository/src/relations/has-many/has-many-through.repository-factory.ts
similarity index 99%
rename from packages/repository/src/relations/has-many/has-many-through-repository.factory.ts
rename to packages/repository/src/relations/has-many/has-many-through.repository-factory.ts
index 6fc2f649e16e..979d4e88e56d 100644
--- a/packages/repository/src/relations/has-many/has-many-through-repository.factory.ts
+++ b/packages/repository/src/relations/has-many/has-many-through.repository-factory.ts
@@ -19,7 +19,7 @@ import {
getTargetKeysFromThroughModels,
resolveHasManyThroughMetadata,
} from './has-many-through.helpers';
-import {createHasManyThroughInclusionResolver} from './has-many-through.inclusion.resolver';
+import {createHasManyThroughInclusionResolver} from './has-many-through.inclusion-resolver';
import {
DefaultHasManyThroughRepository,
HasManyThroughRepository,
diff --git a/packages/repository/src/relations/has-many/has-many.helpers.ts b/packages/repository/src/relations/has-many/has-many.helpers.ts
index 71ffb50fcf3a..90414e2c44c3 100644
--- a/packages/repository/src/relations/has-many/has-many.helpers.ts
+++ b/packages/repository/src/relations/has-many/has-many.helpers.ts
@@ -9,7 +9,7 @@ import {InvalidRelationError} from '../../errors';
import {isTypeResolver} from '../../type-resolver';
import {HasManyDefinition, RelationType} from '../relation.types';
-const debug = debugFactory('loopback:repository:has-many-helpers');
+const debug = debugFactory('loopback:repository:relations:has-many:helpers');
/**
* Relation definition with optional metadata (e.g. `keyTo`) filled in.
diff --git a/packages/repository/src/relations/has-many/has-many.inclusion-resolver.ts b/packages/repository/src/relations/has-many/has-many.inclusion-resolver.ts
index 29cff4e10338..ea0480514b37 100644
--- a/packages/repository/src/relations/has-many/has-many.inclusion-resolver.ts
+++ b/packages/repository/src/relations/has-many/has-many.inclusion-resolver.ts
@@ -7,7 +7,7 @@ import {Filter, InclusionFilter} from '@loopback/filter';
import debugFactory from 'debug';
import {AnyObject, Options} from '../../common-types';
import {Entity} from '../../model';
-import {EntityCrudRepository} from '../../repositories/repository';
+import {EntityCrudRepository} from '../../repositories';
import {
findByForeignKeys,
flattenTargetsOfOneToManyRelation,
@@ -16,7 +16,9 @@ import {
import {Getter, HasManyDefinition, InclusionResolver} from '../relation.types';
import {resolveHasManyMetadata} from './has-many.helpers';
-const debug = debugFactory('loopback:repository:has-many-inclusion-resolver');
+const debug = debugFactory(
+ 'loopback:repository:relations:has-many:inclusion-resolver',
+);
/**
* Creates InclusionResolver for HasMany relation.
diff --git a/packages/repository/src/relations/has-many/has-many-repository.factory.ts b/packages/repository/src/relations/has-many/has-many.repository-factory.ts
similarity index 94%
rename from packages/repository/src/relations/has-many/has-many-repository.factory.ts
rename to packages/repository/src/relations/has-many/has-many.repository-factory.ts
index 52c453957f7c..55eb46999bea 100644
--- a/packages/repository/src/relations/has-many/has-many-repository.factory.ts
+++ b/packages/repository/src/relations/has-many/has-many.repository-factory.ts
@@ -6,7 +6,7 @@
import debugFactory from 'debug';
import {DataObject} from '../../common-types';
import {Entity} from '../../model';
-import {EntityCrudRepository} from '../../repositories/repository';
+import {EntityCrudRepository} from '../../repositories';
import {Getter, HasManyDefinition, InclusionResolver} from '../relation.types';
import {resolveHasManyMetadata} from './has-many.helpers';
import {createHasManyInclusionResolver} from './has-many.inclusion-resolver';
@@ -15,7 +15,9 @@ import {
HasManyRepository,
} from './has-many.repository';
-const debug = debugFactory('loopback:repository:has-many-repository-factory');
+const debug = debugFactory(
+ 'loopback:repository:relations:has-many:repository-factory',
+);
export interface HasManyRepositoryFactory<
Target extends Entity,
diff --git a/packages/repository/src/relations/has-many/has-many.repository.ts b/packages/repository/src/relations/has-many/has-many.repository.ts
index 715d42232f0e..78a0d6b90ae4 100644
--- a/packages/repository/src/relations/has-many/has-many.repository.ts
+++ b/packages/repository/src/relations/has-many/has-many.repository.ts
@@ -11,8 +11,8 @@ import {
constrainDataObject,
constrainFilter,
constrainWhere,
-} from '../../repositories/constraint-utils';
-import {EntityCrudRepository} from '../../repositories/repository';
+ EntityCrudRepository,
+} from '../../repositories';
/**
* CRUD operations for a target repository of a HasMany relation
diff --git a/packages/repository/src/relations/has-many/index.ts b/packages/repository/src/relations/has-many/index.ts
index bddc202d8d6f..a273572b3cb7 100644
--- a/packages/repository/src/relations/has-many/index.ts
+++ b/packages/repository/src/relations/has-many/index.ts
@@ -3,8 +3,8 @@
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
-export * from './has-many-repository.factory';
-export * from './has-many-through-repository.factory';
+export * from './has-many.repository-factory';
+export * from './has-many-through.repository-factory';
export * from './has-many-through.repository';
export * from './has-many.decorator';
export * from './has-many.inclusion-resolver';
diff --git a/packages/repository/src/relations/has-one/has-one.helpers.ts b/packages/repository/src/relations/has-one/has-one.helpers.ts
index b0b5b86e3dae..77a2525ddfdb 100644
--- a/packages/repository/src/relations/has-one/has-one.helpers.ts
+++ b/packages/repository/src/relations/has-one/has-one.helpers.ts
@@ -9,7 +9,7 @@ import {InvalidRelationError} from '../../errors';
import {isTypeResolver} from '../../type-resolver';
import {HasOneDefinition, RelationType} from '../relation.types';
-const debug = debugFactory('loopback:repository:has-one-helpers');
+const debug = debugFactory('loopback:repository:relations:has-one:helpers');
/**
* Relation definition with optional metadata (e.g. `keyTo`) filled in.
diff --git a/packages/repository/src/relations/has-one/has-one.inclusion-resolver.ts b/packages/repository/src/relations/has-one/has-one.inclusion-resolver.ts
index ed36df89cb64..64a036a80a86 100644
--- a/packages/repository/src/relations/has-one/has-one.inclusion-resolver.ts
+++ b/packages/repository/src/relations/has-one/has-one.inclusion-resolver.ts
@@ -6,7 +6,7 @@
import {Filter, InclusionFilter} from '@loopback/filter';
import {AnyObject, Options} from '../../common-types';
import {Entity} from '../../model';
-import {EntityCrudRepository} from '../../repositories/repository';
+import {EntityCrudRepository} from '../../repositories';
import {
findByForeignKeys,
flattenTargetsOfOneToOneRelation,
diff --git a/packages/repository/src/relations/has-one/has-one-repository.factory.ts b/packages/repository/src/relations/has-one/has-one.repository-factory.ts
similarity index 94%
rename from packages/repository/src/relations/has-one/has-one-repository.factory.ts
rename to packages/repository/src/relations/has-one/has-one.repository-factory.ts
index 71832e947c4c..e0f711f09d3b 100644
--- a/packages/repository/src/relations/has-one/has-one-repository.factory.ts
+++ b/packages/repository/src/relations/has-one/has-one.repository-factory.ts
@@ -6,13 +6,15 @@
import debugFactory from 'debug';
import {DataObject} from '../../common-types';
import {Entity} from '../../model';
-import {EntityCrudRepository} from '../../repositories/repository';
+import {EntityCrudRepository} from '../../repositories';
import {Getter, HasOneDefinition, InclusionResolver} from '../relation.types';
import {resolveHasOneMetadata} from './has-one.helpers';
import {createHasOneInclusionResolver} from './has-one.inclusion-resolver';
import {DefaultHasOneRepository, HasOneRepository} from './has-one.repository';
-const debug = debugFactory('loopback:repository:has-one-repository-factory');
+const debug = debugFactory(
+ 'loopback:repository:relations:has-one:repository-factory',
+);
export interface HasOneRepositoryFactory<
Target extends Entity,
diff --git a/packages/repository/src/relations/has-one/index.ts b/packages/repository/src/relations/has-one/index.ts
index bf2bb38f333b..44acce46b16d 100644
--- a/packages/repository/src/relations/has-one/index.ts
+++ b/packages/repository/src/relations/has-one/index.ts
@@ -5,4 +5,4 @@
export * from './has-one.decorator';
export * from './has-one.repository';
-export * from './has-one-repository.factory';
+export * from './has-one.repository-factory';
diff --git a/packages/repository/src/relations/relation.helpers.ts b/packages/repository/src/relations/relation.helpers.ts
index 593717b2a7c7..d070b35f3f49 100644
--- a/packages/repository/src/relations/relation.helpers.ts
+++ b/packages/repository/src/relations/relation.helpers.ts
@@ -5,7 +5,7 @@
import assert from 'assert';
import debugFactory from 'debug';
-import _ from 'lodash';
+import _, {cloneDeep} from 'lodash';
import {
AnyObject,
Entity,
@@ -39,17 +39,11 @@ export async function findByForeignKeys<
options?: Options,
): Promise<(Target & TargetRelations)[]> {
let value;
+ scope = cloneDeep(scope);
if (Array.isArray(fkValues)) {
if (fkValues.length === 0) return [];
- value =
- fkValues.length === 1
- ? fkValues[0]
- : {
- // Create a copy to prevent query coercion algorithm
- // inside connectors from modifying the original values
- inq: [...fkValues],
- };
+ value = fkValues.length === 1 ? fkValues[0] : {inq: fkValues};
} else {
value = fkValues;
}
@@ -87,6 +81,8 @@ export async function includeRelatedModels<
include?: InclusionFilter[],
options?: Options,
): Promise<(T & Relations)[]> {
+ entities = cloneDeep(entities);
+ include = cloneDeep(include);
const result = entities as (T & Relations)[];
if (!include) return result;
diff --git a/packages/rest-crud/CHANGELOG.md b/packages/rest-crud/CHANGELOG.md
index f48d5d8df40e..83cea271920c 100644
--- a/packages/rest-crud/CHANGELOG.md
+++ b/packages/rest-crud/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.8.20](https://github.com/strongloop/loopback-next/compare/@loopback/rest-crud@0.8.19...@loopback/rest-crud@0.8.20) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/rest-crud
+
+
+
+
+
## [0.8.19](https://github.com/strongloop/loopback-next/compare/@loopback/rest-crud@0.8.18...@loopback/rest-crud@0.8.19) (2020-12-07)
**Note:** Version bump only for package @loopback/rest-crud
diff --git a/packages/rest-crud/package-lock.json b/packages/rest-crud/package-lock.json
index 9c4f6f3ca598..9863780fecf9 100644
--- a/packages/rest-crud/package-lock.json
+++ b/packages/rest-crud/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/rest-crud",
- "version": "0.8.19",
+ "version": "0.8.20",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/rest-crud/package.json b/packages/rest-crud/package.json
index 8cbb376b438f..bfbfa242bc71 100644
--- a/packages/rest-crud/package.json
+++ b/packages/rest-crud/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/rest-crud",
- "version": "0.8.19",
+ "version": "0.8.20",
"description": "REST API controller implementing default CRUD semantics",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,21 +21,21 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1"
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
- "@loopback/model-api-builder": "^2.1.19",
+ "@loopback/model-api-builder": "^2.1.20",
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/repository": "^3.3.0",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.35"
},
diff --git a/packages/rest-explorer/CHANGELOG.md b/packages/rest-explorer/CHANGELOG.md
index c000122529b7..22d968363cc0 100644
--- a/packages/rest-explorer/CHANGELOG.md
+++ b/packages/rest-explorer/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.0.6](https://github.com/strongloop/loopback-next/compare/@loopback/rest-explorer@3.0.5...@loopback/rest-explorer@3.0.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/rest-explorer
+
+
+
+
+
## [3.0.5](https://github.com/strongloop/loopback-next/compare/@loopback/rest-explorer@3.0.4...@loopback/rest-explorer@3.0.5) (2020-12-07)
**Note:** Version bump only for package @loopback/rest-explorer
diff --git a/packages/rest-explorer/package-lock.json b/packages/rest-explorer/package-lock.json
index f122ca4698d5..080bccd3711b 100644
--- a/packages/rest-explorer/package-lock.json
+++ b/packages/rest-explorer/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/rest-explorer",
- "version": "3.0.5",
+ "version": "3.0.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -15,9 +15,9 @@
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -30,21 +30,21 @@
"dev": true
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"dev": true,
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -53,9 +53,9 @@
}
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
"dev": true
},
"@types/node": {
@@ -77,12 +77,12 @@
"dev": true
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"dev": true,
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
}
},
@@ -577,9 +577,9 @@
}
},
"swagger-ui-dist": {
- "version": "3.37.2",
- "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.37.2.tgz",
- "integrity": "sha512-XIT4asxgeL4GUNPPsqpEqLt20M/u6OhFYqTh42IoEAvAyv5e9EGw5uhP9dLAD10opcMYqdkJ5qU+MpN2HZ5xyA=="
+ "version": "3.38.0",
+ "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.38.0.tgz",
+ "integrity": "sha512-sselV8VY6f1BBauY9Sdmwz0jVaWTnGuHQWei7BaTpiUrLcoEUdmmK5bKefLXiwq+dx//es2S8mOvUS+tcXDsKg=="
},
"toidentifier": {
"version": "1.0.0",
diff --git a/packages/rest-explorer/package.json b/packages/rest-explorer/package.json
index 77d44aabae05..b0304c87c419 100644
--- a/packages/rest-explorer/package.json
+++ b/packages/rest-explorer/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/rest-explorer",
- "version": "3.0.5",
+ "version": "3.0.6",
"description": "LoopBack's API Explorer",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -21,22 +21,22 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1",
- "@loopback/rest": "^9.1.1"
+ "@loopback/core": "^2.14.0",
+ "@loopback/rest": "^9.1.2"
},
"dependencies": {
"ejs": "^3.1.5",
- "swagger-ui-dist": "3.37.2",
+ "swagger-ui-dist": "3.38.0",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/rest": "^9.1.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/rest": "^9.1.2",
+ "@loopback/testlab": "^3.2.11",
"@types/ejs": "^3.0.5",
- "@types/express": "^4.17.9",
+ "@types/express": "^4.17.11",
"@types/node": "^10.17.35",
"express": "^4.17.1"
},
diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md
index e5f5316b6a8a..230cc1f46466 100644
--- a/packages/rest/CHANGELOG.md
+++ b/packages/rest/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [9.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/rest@9.1.1...@loopback/rest@9.1.2) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/rest
+
+
+
+
+
## [9.1.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@9.1.0...@loopback/rest@9.1.1) (2020-12-07)
diff --git a/packages/rest/package-lock.json b/packages/rest/package-lock.json
index c7c7681850a2..78fb7f7f3f11 100644
--- a/packages/rest/package-lock.json
+++ b/packages/rest/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/rest",
- "version": "9.1.1",
+ "version": "9.1.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -44,12 +44,9 @@
}
},
"@types/cors": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.8.tgz",
- "integrity": "sha512-fO3gf3DxU2Trcbr75O7obVndW/X5k8rJNZkLXlQWStTHhP71PkRqjwPIEI0yMnJdg9R9OasjU+Bsr+Hr1xy/0w==",
- "requires": {
- "@types/express": "*"
- }
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.9.tgz",
+ "integrity": "sha512-zurD1ibz21BRlAOIKP8yhrxlqKx6L9VCwkB5kMiP6nZAhoF5MvC7qS1qPA7nRcr1GJolfkQC7/EAL4hdYejLtg=="
},
"@types/debug": {
"version": "4.1.5",
@@ -58,31 +55,24 @@
"dev": true
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
"@types/range-parser": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/http-errors": {
@@ -112,20 +102,20 @@
}
},
"@types/lodash": {
- "version": "4.14.165",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz",
- "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==",
+ "version": "4.14.168",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
+ "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==",
"dev": true
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/multer": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.4.tgz",
- "integrity": "sha512-wdfkiKBBEMTODNbuF3J+qDDSqJxt50yB9pgDiTcFew7f97Gcc7/sM4HR66ofGgpJPOALWOqKAch4gPyqEXSkeQ==",
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.5.tgz",
+ "integrity": "sha512-9b/0a8JyrR0r2nQhL73JR86obWL7cogfX12augvlrvcpciCo/hkvEsgu80Z4S2g2DHGVXHr8pUIi1VhqFJ8Ufw==",
"dev": true,
"requires": {
"@types/express": "*"
@@ -134,8 +124,7 @@
"@types/node": {
"version": "10.17.48",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.48.tgz",
- "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag==",
- "dev": true
+ "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag=="
},
"@types/on-finished": {
"version": "2.3.1",
@@ -163,19 +152,12 @@
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/type-is": {
@@ -832,9 +814,9 @@
}
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@@ -1108,9 +1090,9 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"qs": {
- "version": "6.9.4",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz",
- "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ=="
+ "version": "6.9.6",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
+ "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ=="
},
"range-parser": {
"version": "1.2.1",
@@ -1377,9 +1359,9 @@
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"validator": {
- "version": "13.5.1",
- "resolved": "https://registry.npmjs.org/validator/-/validator-13.5.1.tgz",
- "integrity": "sha512-s+7LW1Xi0OzPNfGN7Hb2vk0YB/epp9KFHHGC5JtqZOE1dUkN4ULPFZAQ1inCu7ceAsWmOJu6sn9cnwm3R+ghWQ=="
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/validator/-/validator-13.5.2.tgz",
+ "integrity": "sha512-mD45p0rvHVBlY2Zuy3F3ESIe1h5X58GPfAtslBjY7EtTqGquZTj+VX/J4RnHWN8FKq0C9WRVt1oWAcytWRuYLQ=="
},
"vary": {
"version": "1.1.2",
diff --git a/packages/rest/package.json b/packages/rest/package.json
index c14ef238735a..869d893340f0 100644
--- a/packages/rest/package.json
+++ b/packages/rest/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/rest",
- "version": "9.1.1",
+ "version": "9.1.2",
"description": "Expose controllers as REST endpoints and route REST API requests to controller methods",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -24,20 +24,20 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
- "@loopback/express": "^3.1.1",
- "@loopback/http-server": "^2.3.3",
- "@loopback/openapi-v3": "^5.1.2",
+ "@loopback/express": "^3.1.2",
+ "@loopback/http-server": "^2.3.4",
+ "@loopback/openapi-v3": "^5.1.3",
"@openapi-contrib/openapi-schema-to-json-schema": "^3.0.4",
"@types/body-parser": "^1.19.0",
- "@types/cors": "^2.8.8",
- "@types/express": "^4.17.9",
- "@types/express-serve-static-core": "^4.17.14",
+ "@types/cors": "^2.8.9",
+ "@types/express": "^4.17.11",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/http-errors": "^1.8.0",
"@types/on-finished": "^2.3.1",
- "@types/serve-static": "1.13.8",
+ "@types/serve-static": "1.13.9",
"@types/type-is": "^1.6.3",
"ajv": "^6.12.6",
"ajv-errors": "^1.0.1",
@@ -47,29 +47,29 @@
"debug": "^4.3.1",
"express": "^4.17.1",
"http-errors": "^1.8.0",
- "js-yaml": "^3.14.0",
+ "js-yaml": "^3.14.1",
"json-schema-compare": "^0.2.2",
"lodash": "^4.17.20",
"on-finished": "^2.3.0",
"path-to-regexp": "^6.2.0",
- "qs": "^6.9.4",
+ "qs": "^6.9.6",
"strong-error-handler": "^4.0.0",
"tslib": "^2.0.3",
"type-is": "^1.6.18",
- "validator": "^13.5.1"
+ "validator": "^13.5.2"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/openapi-spec-builder": "^3.0.3",
- "@loopback/repository": "^3.3.0",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/openapi-spec-builder": "^3.0.4",
+ "@loopback/repository": "^3.4.0",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/js-yaml": "^3.12.5",
"@types/json-schema-compare": "^0.2.0",
- "@types/lodash": "^4.14.165",
- "@types/multer": "^1.4.4",
+ "@types/lodash": "^4.14.168",
+ "@types/multer": "^1.4.5",
"@types/node": "^10.17.35",
"@types/on-finished": "^2.3.1",
"@types/qs": "^6.9.5",
diff --git a/packages/security/CHANGELOG.md b/packages/security/CHANGELOG.md
index 56a30b8bf1ea..1524f8e16e16 100644
--- a/packages/security/CHANGELOG.md
+++ b/packages/security/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.3.6](https://github.com/strongloop/loopback-next/compare/@loopback/security@0.3.5...@loopback/security@0.3.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/security
+
+
+
+
+
## [0.3.5](https://github.com/strongloop/loopback-next/compare/@loopback/security@0.3.4...@loopback/security@0.3.5) (2020-12-07)
**Note:** Version bump only for package @loopback/security
diff --git a/packages/security/package-lock.json b/packages/security/package-lock.json
index e219b164be13..a749519b59cb 100644
--- a/packages/security/package-lock.json
+++ b/packages/security/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/security",
- "version": "0.3.5",
+ "version": "0.3.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/security/package.json b/packages/security/package.json
index bb74de31ee65..1ba88412c084 100644
--- a/packages/security/package.json
+++ b/packages/security/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/security",
- "version": "0.3.5",
+ "version": "0.3.6",
"description": "A LoopBack component for security support.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -24,16 +24,16 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
"debug": "^4.3.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/testlab": "^3.2.11",
"@types/debug": "^4.1.5",
"@types/node": "^10.17.35"
},
diff --git a/packages/service-proxy/CHANGELOG.md b/packages/service-proxy/CHANGELOG.md
index bf615ec441c3..9a4d798ae010 100644
--- a/packages/service-proxy/CHANGELOG.md
+++ b/packages/service-proxy/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.0.6](https://github.com/strongloop/loopback-next/compare/@loopback/service-proxy@3.0.5...@loopback/service-proxy@3.0.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/service-proxy
+
+
+
+
+
## [3.0.5](https://github.com/strongloop/loopback-next/compare/@loopback/service-proxy@3.0.4...@loopback/service-proxy@3.0.5) (2020-12-07)
**Note:** Version bump only for package @loopback/service-proxy
diff --git a/packages/service-proxy/package-lock.json b/packages/service-proxy/package-lock.json
index 178ef701e79b..b0ae13614d1d 100644
--- a/packages/service-proxy/package-lock.json
+++ b/packages/service-proxy/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/service-proxy",
- "version": "3.0.5",
+ "version": "3.0.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/packages/service-proxy/package.json b/packages/service-proxy/package.json
index e035ccf428d5..0cb110d6c2c2 100644
--- a/packages/service-proxy/package.json
+++ b/packages/service-proxy/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/service-proxy",
- "version": "3.0.5",
+ "version": "3.0.6",
"description": "A common set of interfaces for interacting with service oriented backends such as REST APIs, SOAP Web Services, and gRPC microservices",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -24,17 +24,17 @@
"access": "public"
},
"peerDependencies": {
- "@loopback/core": "^2.13.1"
+ "@loopback/core": "^2.14.0"
},
"dependencies": {
"loopback-datasource-juggler": "^4.26.0",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/core": "^2.13.1",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
+ "@loopback/build": "^6.2.9",
+ "@loopback/core": "^2.14.0",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
"@types/node": "^10.17.35"
},
"files": [
diff --git a/packages/testlab/CHANGELOG.md b/packages/testlab/CHANGELOG.md
index 44a59993c2d2..5cf40db2f0fa 100644
--- a/packages/testlab/CHANGELOG.md
+++ b/packages/testlab/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.2.11](https://github.com/strongloop/loopback-next/compare/@loopback/testlab@3.2.10...@loopback/testlab@3.2.11) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/testlab
+
+
+
+
+
## [3.2.10](https://github.com/strongloop/loopback-next/compare/@loopback/testlab@3.2.9...@loopback/testlab@3.2.10) (2020-12-07)
**Note:** Version bump only for package @loopback/testlab
diff --git a/packages/testlab/package-lock.json b/packages/testlab/package-lock.json
index 215a74e2a613..8b321ef481fe 100644
--- a/packages/testlab/package-lock.json
+++ b/packages/testlab/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/testlab",
- "version": "3.2.10",
+ "version": "3.2.11",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -56,15 +56,6 @@
"@sinonjs/commons": "^1.7.0"
}
},
- "@sinonjs/formatio": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-5.0.1.tgz",
- "integrity": "sha512-KaiQ5pBf1MpS09MuA0kp6KBQt2JUOQycqVG1NZXvzeaXe5LGFqAKueIS0bw4w0P9r7KuBSVdUk5QjXsUdu2CxQ==",
- "requires": {
- "@sinonjs/commons": "^1",
- "@sinonjs/samsam": "^5.0.2"
- }
- },
"@sinonjs/samsam": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.0.tgz",
@@ -87,28 +78,14 @@
"requires": {
"@types/connect": "*",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/connect": {
- "version": "3.4.33",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
- "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
"requires": {
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/cookiejar": {
@@ -117,37 +94,30 @@
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog=="
},
"@types/express": {
- "version": "4.17.9",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz",
- "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
"requires": {
"@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
+ "@types/express-serve-static-core": "^4.17.18",
"@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz",
- "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==",
+ "version": "4.17.18",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+ "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
"@types/range-parser": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/fs-extra": {
- "version": "9.0.4",
- "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.4.tgz",
- "integrity": "sha512-50GO5ez44lxK5MDH90DYHFFfqxH7+fTqEEnvguQRzJ/tY9qFrMSHLiYHite+F3SNmf7+LHC1eMXojuD+E3Qcyg==",
+ "version": "9.0.6",
+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.6.tgz",
+ "integrity": "sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig==",
"requires": {
"@types/node": "*"
},
@@ -160,15 +130,14 @@
}
},
"@types/mime": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
- "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/node": {
"version": "10.17.48",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.48.tgz",
- "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag==",
- "dev": true
+ "integrity": "sha512-Agl6xbYP6FOMDeAsr3QVZ+g7Yzg0uhPHWx0j5g4LFdUBHVtqtU+gH660k/lCEe506jJLOGbEzsnqPDTZGJQLag=="
},
"@types/qs": {
"version": "6.9.5",
@@ -181,19 +150,12 @@
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
},
"@types/serve-static": {
- "version": "1.13.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
- "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
"requires": {
- "@types/mime": "*",
+ "@types/mime": "^1",
"@types/node": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.14.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
- "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
- }
}
},
"@types/shot": {
@@ -212,9 +174,9 @@
}
},
"@types/sinon": {
- "version": "9.0.9",
- "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.9.tgz",
- "integrity": "sha512-z/y8maYOQyYLyqaOB+dYQ6i0pxKLOsfwCmHmn4T7jS/SDHicIslr37oE3Dg8SCqKrKeBy6Lemu7do2yy+unLrw==",
+ "version": "9.0.10",
+ "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.10.tgz",
+ "integrity": "sha512-/faDC0erR06wMdybwI/uR8wEKV/E83T0k4sepIpB7gXuy2gzx2xiOjmztq6a2Y6rIGJ04D+6UU0VBmWy+4HEMA==",
"requires": {
"@types/sinonjs__fake-timers": "*"
}
@@ -516,14 +478,14 @@
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"fs-extra": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
- "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
- "universalify": "^1.0.0"
+ "universalify": "^2.0.0"
}
},
"get-caller-file": {
@@ -593,13 +555,6 @@
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- }
}
},
"just-extend": {
@@ -921,14 +876,13 @@
"integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g=="
},
"sinon": {
- "version": "9.2.1",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.1.tgz",
- "integrity": "sha512-naPfsamB5KEE1aiioaoqJ6MEhdUs/2vtI5w1hPAXX/UwvoPjXcwh1m5HiKx0HGgKR8lQSoFIgY5jM6KK8VrS9w==",
+ "version": "9.2.3",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.3.tgz",
+ "integrity": "sha512-m+DyAWvqVHZtjnjX/nuShasykFeiZ+nPuEfD4G3gpvKGkXRhkF/6NSt2qN2FjZhfrcHXFzUzI+NLnk+42fnLEw==",
"requires": {
"@sinonjs/commons": "^1.8.1",
"@sinonjs/fake-timers": "^6.0.1",
- "@sinonjs/formatio": "^5.0.1",
- "@sinonjs/samsam": "^5.2.0",
+ "@sinonjs/samsam": "^5.3.0",
"diff": "^4.0.2",
"nise": "^4.0.4",
"supports-color": "^7.1.0"
@@ -1057,9 +1011,9 @@
}
},
"universalify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
- "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
},
"unpipe": {
"version": "1.0.0",
diff --git a/packages/testlab/package.json b/packages/testlab/package.json
index 6aeac89325eb..38658b559ac0 100644
--- a/packages/testlab/package.json
+++ b/packages/testlab/package.json
@@ -1,11 +1,11 @@
{
"name": "@loopback/testlab",
- "version": "3.2.10",
+ "version": "3.2.11",
"description": "A collection of test utilities we use to write LoopBack tests.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build": "lb-tsc",
@@ -22,22 +22,22 @@
},
"dependencies": {
"@hapi/shot": "^5.0.4",
- "@types/express": "^4.17.9",
- "@types/fs-extra": "^9.0.4",
+ "@types/express": "^4.17.11",
+ "@types/fs-extra": "^9.0.6",
"@types/shot": "^4.0.0",
- "@types/sinon": "^9.0.9",
+ "@types/sinon": "^9.0.10",
"@types/supertest": "^2.0.10",
"express": "^4.17.1",
- "fs-extra": "^9.0.1",
+ "fs-extra": "^9.1.0",
"oas-validator": "^5.0.4",
"should": "^13.2.3",
- "sinon": "^9.2.1",
+ "sinon": "^9.2.3",
"supertest": "^6.0.1",
"tslib": "^2.0.3"
},
"devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
"@types/node": "^10.17.35"
},
"files": [
diff --git a/packages/tsdocs/CHANGELOG.md b/packages/tsdocs/CHANGELOG.md
index 43e09533cc51..c972d8e5cb1b 100644
--- a/packages/tsdocs/CHANGELOG.md
+++ b/packages/tsdocs/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.4.0](https://github.com/strongloop/loopback-next/compare/@loopback/tsdocs@2.3.6...@loopback/tsdocs@2.4.0) (2021-01-21)
+
+
+### Features
+
+* make @loopback/tsdocs public so that it can be used by other projects ([90d157f](https://github.com/strongloop/loopback-next/commit/90d157f2762f8c61199ade35014bebc45e7a3d2f))
+
+
+
+
+
## [2.3.6](https://github.com/strongloop/loopback-next/compare/@loopback/tsdocs@2.3.5...@loopback/tsdocs@2.3.6) (2020-12-07)
**Note:** Version bump only for package @loopback/tsdocs
diff --git a/packages/tsdocs/bin/document-apis.js b/packages/tsdocs/bin/document-apis.js
new file mode 100644
index 000000000000..e343351f6eda
--- /dev/null
+++ b/packages/tsdocs/bin/document-apis.js
@@ -0,0 +1,9 @@
+#!/usr/bin/env node
+// Copyright IBM Corp. 2021. All Rights Reserved.
+// Node module: @loopback/tsdocs
+// This file is licensed under the MIT License.
+// License text available at https://opensource.org/licenses/MIT
+
+if (require.main === module) {
+ require('@microsoft/api-documenter/lib/start');
+}
diff --git a/packages/tsdocs/package-lock.json b/packages/tsdocs/package-lock.json
index 4e2139b2c2a7..225577015dce 100644
--- a/packages/tsdocs/package-lock.json
+++ b/packages/tsdocs/package-lock.json
@@ -1,59 +1,59 @@
{
"name": "@loopback/tsdocs",
- "version": "2.3.6",
+ "version": "2.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@microsoft/api-documenter": {
- "version": "7.11.3",
- "resolved": "https://registry.npmjs.org/@microsoft/api-documenter/-/api-documenter-7.11.3.tgz",
- "integrity": "sha512-tXdd+zWqufKDbbocIgMRB1AyRj0HiAI+gTIvCyAtJX9KOGFYreTt2kFPzFssPBMeNycq58zXl0fXRr+vA7WnNA==",
+ "version": "7.12.5",
+ "resolved": "https://registry.npmjs.org/@microsoft/api-documenter/-/api-documenter-7.12.5.tgz",
+ "integrity": "sha512-Mrogwtt2WJiXharHxF52XnIHU8iM+YcmfHxWcnYyO9IXVqovQDK4xSYa22V9WRbGtjmxUH9sFBOcdvSsF6JHUA==",
"requires": {
- "@microsoft/api-extractor-model": "7.12.0",
- "@microsoft/tsdoc": "0.12.19",
- "@rushstack/node-core-library": "3.35.1",
- "@rushstack/ts-command-line": "4.7.7",
+ "@microsoft/api-extractor-model": "7.12.1",
+ "@microsoft/tsdoc": "0.12.24",
+ "@rushstack/node-core-library": "3.35.2",
+ "@rushstack/ts-command-line": "4.7.8",
"colors": "~1.2.1",
"js-yaml": "~3.13.1",
"resolve": "~1.17.0"
}
},
"@microsoft/api-extractor": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.12.0.tgz",
- "integrity": "sha512-YDd7AUkIayPLooMasDyV4vle1TLUQhFp2v/tGdRU+WAVbnyVUDXXa20WEfbPEZ4QVlgN+77EX6f2K6GyKd713A==",
+ "version": "7.13.0",
+ "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.13.0.tgz",
+ "integrity": "sha512-T+14VIhB91oJIett5AZ02VWYmz/01VHFWkcAOWiErIQ8AiFhJZoGqTjGxoi8ZpEEBuAj2EGVYojORwLc/+aiDQ==",
"requires": {
- "@microsoft/api-extractor-model": "7.12.0",
- "@microsoft/tsdoc": "0.12.19",
- "@rushstack/node-core-library": "3.35.1",
- "@rushstack/rig-package": "0.2.8",
- "@rushstack/ts-command-line": "4.7.7",
+ "@microsoft/api-extractor-model": "7.12.1",
+ "@microsoft/tsdoc": "0.12.24",
+ "@rushstack/node-core-library": "3.35.2",
+ "@rushstack/rig-package": "0.2.9",
+ "@rushstack/ts-command-line": "4.7.8",
"colors": "~1.2.1",
"lodash": "~4.17.15",
"resolve": "~1.17.0",
"semver": "~7.3.0",
"source-map": "~0.6.1",
- "typescript": "~4.0.5"
+ "typescript": "~4.1.3"
}
},
"@microsoft/api-extractor-model": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.12.0.tgz",
- "integrity": "sha512-TxoAbL/lauS3k/brBWVsiQTnyHBwHrAGJhTuiD0tWS/eu4dLNULchcSQfcOaFS91OgDEz4lMMbClgChFuo+53Q==",
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.12.1.tgz",
+ "integrity": "sha512-Hw+kYfUb1gt6xPWGFW8APtLVWeNEWz4JE6PbLkSHw/j+G1hAaStzgxhBx3GOAWM/G0SCDGVJOpd5YheVOyu/KQ==",
"requires": {
- "@microsoft/tsdoc": "0.12.19",
- "@rushstack/node-core-library": "3.35.1"
+ "@microsoft/tsdoc": "0.12.24",
+ "@rushstack/node-core-library": "3.35.2"
}
},
"@microsoft/tsdoc": {
- "version": "0.12.19",
- "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.19.tgz",
- "integrity": "sha512-IpgPxHrNxZiMNUSXqR1l/gePKPkfAmIKoDRP9hp7OwjU29ZR8WCJsOJ8iBKgw0Qk+pFwR+8Y1cy8ImLY6e9m4A=="
+ "version": "0.12.24",
+ "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz",
+ "integrity": "sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg=="
},
"@rushstack/node-core-library": {
- "version": "3.35.1",
- "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.35.1.tgz",
- "integrity": "sha512-ZwnXp2loZyVUgrZ+fEKKF/EHl0ikcy6SCsd34ewYXoEAs0XWIy2VS9bemrfaFtd2VzJ/G/ZbP3xHkqRnUPKJ4Q==",
+ "version": "3.35.2",
+ "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.35.2.tgz",
+ "integrity": "sha512-SPd0uG7mwsf3E30np9afCUhtaM1SBpibrbxOXPz82KWV6SQiPUtXeQfhXq9mSnGxOb3WLWoSDe7AFxQNex3+kQ==",
"requires": {
"@types/node": "10.17.13",
"colors": "~1.2.1",
@@ -84,9 +84,9 @@
}
},
"@rushstack/rig-package": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.2.8.tgz",
- "integrity": "sha512-Ltjeg1a5Sx7XTW9oBxmcfhHseBLnH7I/8d6tAtjx5s0r7F6WmNVJdxVmt86qNfXcFRsiGNrzLqjMwlcX3GyldQ==",
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.2.9.tgz",
+ "integrity": "sha512-4tqsZ/m+BjeNAGeAJYzPF53CT96TsAYeZ3Pq3T4tb1pGGM3d3TWfkmALZdKNhpRlAeShKUrb/o/f/0sAuK/1VQ==",
"requires": {
"@types/node": "10.17.13",
"resolve": "~1.17.0",
@@ -101,9 +101,9 @@
}
},
"@rushstack/ts-command-line": {
- "version": "4.7.7",
- "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.7.7.tgz",
- "integrity": "sha512-COSDys0WTVCORKam2hsTL32As4fHAf1RqC6FKS98hgR0Z90nh1JX8fGNkvSdxaZ6dOuNTJj3txh+SpWoHJoZJA==",
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.7.8.tgz",
+ "integrity": "sha512-8ghIWhkph7NnLCMDJtthpsb7TMOsVGXVDvmxjE/CeklTqjbbUFBjGXizJfpbEkRQTELuZQ2+vGn7sGwIWKN2uA==",
"requires": {
"@types/argparse": "1.0.38",
"argparse": "~1.0.9",
@@ -123,9 +123,9 @@
"dev": true
},
"@types/fs-extra": {
- "version": "9.0.4",
- "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.4.tgz",
- "integrity": "sha512-50GO5ez44lxK5MDH90DYHFFfqxH7+fTqEEnvguQRzJ/tY9qFrMSHLiYHite+F3SNmf7+LHC1eMXojuD+E3Qcyg==",
+ "version": "9.0.6",
+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.6.tgz",
+ "integrity": "sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -175,14 +175,14 @@
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
},
"fs-extra": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
- "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
- "universalify": "^1.0.0"
+ "universalify": "^2.0.0"
},
"dependencies": {
"jsonfile": {
@@ -192,19 +192,12 @@
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- }
}
},
"universalify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
- "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
}
}
},
@@ -320,9 +313,9 @@
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
},
"typescript": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.5.tgz",
- "integrity": "sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ=="
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg=="
},
"universalify": {
"version": "0.1.2",
diff --git a/packages/tsdocs/package.json b/packages/tsdocs/package.json
index e29b3c1081bc..aa1809b579f2 100644
--- a/packages/tsdocs/package.json
+++ b/packages/tsdocs/package.json
@@ -1,17 +1,16 @@
{
"name": "@loopback/tsdocs",
- "version": "2.3.6",
- "description": "An internal package to generate api docs using Microsoft api-extractor and api-documenter",
- "private": true,
+ "version": "2.4.0",
+ "description": "A package to generate api docs using Microsoft api-extractor and api-documenter",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"scripts": {
"build:tsdocs": "npm run build && npm run -s extract-apidocs && npm run -s document-apidocs && npm run -s update-apidocs",
"extract-apidocs": "node bin/extract-apis",
- "document-apidocs": "api-documenter markdown -i ../../docs/apidocs/models -o ../../docs/site/apidocs",
+ "document-apidocs": "node bin/document-apis markdown -i ../../docs/apidocs/models -o ../../docs/site/apidocs",
"update-apidocs": "node bin/update-apidocs",
"build": "lb-tsc",
"build:fixtures": "npm run build --prefix fixtures/monorepo",
@@ -20,25 +19,14 @@
"test": "lb-mocha \"dist/__tests__/**/*.js\"",
"verify": "npm pack && tar xf loopback-tsdocs*.tgz && tree package && npm run clean"
},
+ "bin": {
+ "lb-extract-apidocs": "./bin/extract-apis.js",
+ "lb-document-apidocs": "./bin/document-apis.js",
+ "lb-update-apidocs": "./bin/update-apidocs.js"
+ },
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",
"license": "MIT",
- "dependencies": {
- "@microsoft/api-documenter": "^7.11.3",
- "@microsoft/api-extractor": "^7.12.0",
- "debug": "^4.3.1",
- "fs-extra": "^9.0.1",
- "tslib": "^2.0.3"
- },
- "devDependencies": {
- "@loopback/build": "^6.2.8",
- "@loopback/eslint-config": "^10.0.4",
- "@loopback/testlab": "^3.2.10",
- "@loopback/tsdocs-monorepo": "^0.0.13",
- "@types/debug": "^4.1.5",
- "@types/fs-extra": "^9.0.4",
- "@types/node": "^10.17.35"
- },
"keywords": [
"LoopBack",
"Apidocs",
@@ -55,5 +43,24 @@
"type": "git",
"url": "https://github.com/strongloop/loopback-next.git",
"directory": "packages/tsdocs"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "dependencies": {
+ "@microsoft/api-documenter": "^7.12.5",
+ "@microsoft/api-extractor": "^7.13.0",
+ "debug": "^4.3.1",
+ "fs-extra": "^9.1.0",
+ "tslib": "^2.0.3"
+ },
+ "devDependencies": {
+ "@loopback/build": "^6.2.9",
+ "@loopback/eslint-config": "^10.0.5",
+ "@loopback/testlab": "^3.2.11",
+ "@loopback/tsdocs-monorepo": "^0.0.14",
+ "@types/debug": "^4.1.5",
+ "@types/fs-extra": "^9.0.6",
+ "@types/node": "^10.17.35"
}
}
diff --git a/sandbox/example/CHANGELOG.md b/sandbox/example/CHANGELOG.md
index 7728fe48bd92..4e78b0fa8846 100644
--- a/sandbox/example/CHANGELOG.md
+++ b/sandbox/example/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.0.6](https://github.com/strongloop/loopback-next/compare/@loopback/sandbox-example@2.0.5...@loopback/sandbox-example@2.0.6) (2021-01-21)
+
+**Note:** Version bump only for package @loopback/sandbox-example
+
+
+
+
+
## [2.0.5](https://github.com/strongloop/loopback-next/compare/@loopback/sandbox-example@2.0.4...@loopback/sandbox-example@2.0.5) (2020-10-07)
**Note:** Version bump only for package @loopback/sandbox-example
diff --git a/sandbox/example/package.json b/sandbox/example/package.json
index 644d8cc6d95f..4738b77a7441 100644
--- a/sandbox/example/package.json
+++ b/sandbox/example/package.json
@@ -1,6 +1,6 @@
{
"name": "@loopback/sandbox-example",
- "version": "2.0.5",
+ "version": "2.0.6",
"description": "Sample project for sandbox",
"main": "index.js",
"private": true,
@@ -8,7 +8,7 @@
"test": "echo \"This is an example for sandbox\""
},
"engines": {
- "node": "^10.16 || 12 || 14"
+ "node": "^10.16 || 12 || 14 || 15"
},
"author": "IBM Corp.",
"copyright.owner": "IBM Corp.",