Compare commits

...

36 Commits

Author SHA1 Message Date
Miroslav Bajtoš 6cb6fc879b
3.5.2
* chore: update LTS status to End-of-Life (Rifa Achrinza)
2021-01-19 15:31:27 +01:00
Miroslav Bajtoš 74016f5f90
Merge pull request #56 from achrinzafork/chore/update-lts
chore: update LTS status to End-of-Life
2021-01-19 15:30:53 +01:00
Rifa Achrinza 3ead6521e0 chore: update LTS status to End-of-Life
see https://github.com/strongloop/loopback-next/issues/6957

Co-authored-by: Miroslav Bajtoš <mbajtoss@gmail.com>
2021-01-16 20:45:49 +08:00
Miroslav Bajtoš e7584e23d7
3.5.1
* Update LTS status in README (Miroslav Bajtoš)
2020-03-06 09:58:20 +01:00
Miroslav Bajtoš 5c4376a54e
Merge pull request #55 from strongloop/feat/maintenance-lts
Update LTS status in README
2020-03-06 09:57:39 +01:00
Miroslav Bajtoš 23b14733a6
Update LTS status in README 2020-03-05 13:42:27 +01:00
Miroslav Bajtoš 1dd8282826
3.5.0
* Add support for Node.js 12 (Ahmet Cetin)
 * chore: enable stalebot (Diana Lau)
 * chore: improve issue and PR templates (Nora)
 * Drop support for Node.js 6.x (Miroslav Bajtoš)
 * chore: update copyrights years (Agnes Lin)
2020-02-17 11:48:17 +01:00
Miroslav Bajtoš 824ebec5e0
Merge pull request #54 from ahmetcetin/patch-2
Add support for Node.js 12
2020-02-17 11:47:34 +01:00
Ahmet Cetin 06f0d16701
Add support for Node.js 12
Setting node version the same as in loopback-datasource-juggler
to support new versions of node.
2020-02-17 11:42:05 +01:00
Diana Lau a575d934a7
Merge pull request #53 from strongloop/stalebot
chore: enable stalebot
2020-02-10 11:39:36 -05:00
Diana Lau 5490cbfe18 chore: enable stalebot 2020-02-08 21:37:17 -05:00
Nora 3376b1ef74
Merge pull request #51 from strongloop/chore/improve-issue-templates
chore: improve issue and PR templates
2019-11-19 15:41:31 -05:00
Nora 9631185843 chore: improve issue and PR templates 2019-11-17 14:35:11 -05:00
Miroslav Bajtoš 91fa368457
Merge pull request #49 from strongloop/drop-node6
Drop support for Node.js 6.x
2019-10-04 09:08:44 +02:00
Miroslav Bajtoš d4622392d3
Drop support for Node.js 6.x
Signed-off-by: Miroslav Bajtoš <mbajtoss@gmail.com>
2019-10-03 14:41:23 +02:00
Agnes Lin d54b970161
Merge pull request #46 from strongloop/copyrights
chore: update copyrights years
2019-05-07 14:30:26 -04:00
Agnes Lin 391d9eb2ad chore: update copyrights years 2019-05-07 14:03:34 -04:00
Miroslav Bajtoš a41a55b3aa
3.4.0
* Travis: enable Node.js 10.x (Miroslav Bajtoš)
 * Node version ^10.14 added to engines list (Ahmet Cetin)
 * add lts annoucement (jannyHou)
 * Upgrade dependecies, fix new linter errors (Miroslav Bajtoš)
 * Drop support for Node.js 4.x, 5.x and 7.x (Miroslav Bajtoš)
 * Create Issue and PR Templates (#36) (Sakib Hasan)
 * Add CODEOWNERS file (Diana Lau)
2019-01-02 16:20:58 +01:00
Miroslav Bajtoš eef46ef9bb
Merge pull request #44 from strongloop/travis-node10
Travis: enable Node.js 10.x
2019-01-02 16:20:35 +01:00
Miroslav Bajtoš 5931f5351f
Travis: enable Node.js 10.x
This is a follow-up for #43 which added Node.js 10 to supported engines.
2019-01-02 16:01:37 +01:00
Janny f561dc5296
Merge pull request #43 from ahmetcetin/master
Node version ^10.14 added to engines list
2018-12-30 14:53:56 -05:00
Ahmet Cetin 8ddd939c54 Node version ^10.14 added to engines list 2018-12-27 12:34:51 +01:00
Janny 22d95df742
Merge pull request #40 from strongloop/lts
add lts annoucement
2018-11-26 11:53:33 -05:00
jannyHou c15c89d735 add lts annoucement 2018-11-22 13:42:53 -05:00
Miroslav Bajtoš c5b303fe5b
Merge pull request #39 from strongloop/upgrade-deps
Drop support for Node.js 4.x/5.x/7.x + upgrade dependencies
2018-06-29 17:27:45 +02:00
Miroslav Bajtoš ea61dfdb3a
Upgrade dependecies, fix new linter errors 2018-06-29 17:17:16 +02:00
Miroslav Bajtoš fcaa7adc61
Drop support for Node.js 4.x, 5.x and 7.x
These version are no longer supported by the Node.js project.
2018-06-29 17:17:16 +02:00
Sakib Hasan d7b74e293e Create Issue and PR Templates (#36)
* create issue template

* create pr template
2017-08-16 14:37:10 -04:00
Miroslav Bajtoš bcfbc2a163 Merge pull request #35 from strongloop/add-codeowner
Add CODEOWNERS file
2017-07-31 14:44:26 +02:00
Diana Lau eafbc7f6fd
Add CODEOWNERS file 2017-07-31 14:28:14 +02:00
Miroslav Bajtoš 63a4c80678
3.3.0
* add nodejs v8.2.1 support (Oleg Kubrakov)
2017-07-21 13:25:09 +02:00
Miroslav Bajtoš 66c1954441 Merge pull request #34 from yellowred/add-node8
Add NodeJS v8.2.1 support
2017-07-21 13:24:40 +02:00
Oleg Kubrakov b9fa114ad6 add nodejs v8.2.1 support 2017-07-21 17:40:54 +08:00
Miroslav Bajtoš 3c10d219c7
3.2.0
* Add Node.js 7 to package.json and .travis.yml (Edgars Zagorskis)
2017-07-10 15:56:46 +02:00
Miroslav Bajtoš 4d4920c491 Merge pull request #31 from xnf/master
Add Node.js 7 to package.json
2017-07-10 15:56:12 +02:00
Edgars Zagorskis 6d5fedb85e
Add Node.js 7 to package.json and .travis.yml
Added Node.js 7 to package.json. This way yarn will not complain when
Node.js 7 is used. Tests still pass and the code itself also works
on Node.js 7.

Configure Travis CI to run the build on Node.js 7 too, in order to
verify correctness.
2017-07-10 15:51:01 +02:00
20 changed files with 325 additions and 128 deletions

View File

@ -1,36 +0,0 @@
<!--
- Please ask questions at https://groups.google.com/forum/#!forum/loopbackjs or
https://gitter.im/strongloop/loopback
- Immediate support is available through our subscription plans, see
https://strongloop.com/api-connect-faqs/
-->
### Bug or feature request
<!--
Mark your choice with an "x" (eg. [x], NOT [*]).
-->
- [ ] Bug
- [ ] Feature request
### Description of feature (or steps to reproduce if bug)
### Link to sample repo to reproduce issue (if bug)
### Expected result
### Actual result (if bug)
### Additional information (Node.js version, LoopBack version, etc)

50
.github/ISSUE_TEMPLATE/Bug_report.md vendored Normal file
View File

@ -0,0 +1,50 @@
---
name: Bug report
about: Create a report to help us improve
labels: bug
---
<!-- 🚨 STOP 🚨 STOP 🚨 STOP 🚨
HELP US HELP YOU, PLEASE
- Do a quick search to avoid duplicate issues
- Provide as much information as possible (reproduction sandbox, use case for features, etc.)
- Consider using a more suitable venue for questions such as Stack Overflow, Gitter, etc.
Please fill in the *entire* template below.
-->
## Steps to reproduce
<!-- Describe how to reproduce the issue -->
## Current Behavior
<!-- Describe the observed result -->
## Expected Behavior
<!-- Describe what did you expect instead, what is the desired outcome? -->
## Link to reproduction sandbox
<!--
See https://loopback.io/doc/en/contrib/Reporting-issues.html#loopback-3x-bugs
Note: Failure to provide a sandbox application for reproduction purposes will result in the issue being closed.
-->
## Additional information
<!--
Copy+paste the output of these two commands:
node -e 'console.log(process.platform, process.arch, process.versions.node)'
npm ls --prod --depth 0 | grep loopback
-->
## Related Issues
<!-- Did you find other bugs that looked similar? -->
_See [Reporting Issues](http://loopback.io/doc/en/contrib/Reporting-issues.html) for more tips on writing good issues_

View File

@ -0,0 +1,25 @@
---
name: Feature request
about: Suggest an idea for this project
labels: feature
---
## Suggestion
<!-- A summary of what you'd like to see added or changed -->
## Use Cases
<!--
What do you want to use this for?
What shortcomings exist with current approaches?
-->
## Examples
<!-- Show how this would be used and what the behavior would be -->
## Acceptance criteria
TBD - will be filled by the team.

27
.github/ISSUE_TEMPLATE/Question.md vendored Normal file
View File

@ -0,0 +1,27 @@
---
name: Question
about: The issue tracker is not for questions. Please use Stack Overflow or other resources for help.
labels: question
---
<!-- 🚨 STOP 🚨 STOP 🚨 STOP 🚨
THE ISSUE TRACKER IS NOT FOR QUESTIONS.
DO NOT CREATE A NEW ISSUE TO ASK A QUESTION.
Please use one of the following resources for help:
**Questions**
- https://stackoverflow.com/tags/loopbackjs
- https://groups.google.com/forum/#!forum/loopbackjs
- https://gitter.im/strongloop/loopback
**Immediate support**
- https://strongloop.com/api-connect-faqs/
- https://strongloop.com/node-js/subscription-plans/
-->

11
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Report a security vulnerability
url: https://loopback.io/doc/en/contrib/Reporting-issues.html#security-issues
about: Do not report security vulnerabilities using GitHub issues. Please send an email to `reachsl@us.ibm.com` instead.
- name: Get help on StackOverflow
url: https://stackoverflow.com/tags/loopbackjs
about: Please ask and answer questions on StackOverflow.
- name: Join our mailing list
url: https://groups.google.com/forum/#!forum/loopbackjs
about: You can also post your question to our mailing list.

View File

@ -1,24 +1,18 @@
### Description
#### Related issues
<!-- <!--
Please use the following link syntaxes: Please provide a high-level description of the changes made by your pull request.
- #49 (to reference issues in the current repository) Include references to all related GitHub issues and other pull requests, for example:
- strongloop/loopback#49 (to reference issues in another repository)
Fixes #123
Implements #254
See also #23
--> -->
- None ## Checklist
### Checklist 👉 [Read and sign the CLA (Contributor License Agreement)](https://cla.strongloop.com/agreements/strongloop/loopback-context) 👈
<!--
Please mark your choice with an "x" (i.e. [x], see
https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments)
-->
- [ ] `npm test` passes on your machine
- [ ] New tests added or existing tests modified to cover all changes - [ ] New tests added or existing tests modified to cover all changes
- [ ] Code conforms with the [style - [ ] Code conforms with the [style guide](https://loopback.io/doc/en/contrib/style-guide-es6.html)
guide](http://loopback.io/doc/en/contrib/style-guide.html) - [ ] Commit messages are following our [guidelines](https://loopback.io/doc/en/contrib/git-commit-messages.html)

24
.github/stale.yml vendored Normal file
View File

@ -0,0 +1,24 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 14
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
- critical
- p1
- major
- good first issue
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
This issue has been closed due to continued inactivity. Thank you for your understanding.
If you believe this to be in error, please contact one of the code owners,
listed in the `CODEOWNERS` file at the top-level of this repository.

View File

@ -1,5 +1,6 @@
sudo: false sudo: false
language: node_js language: node_js
node_js: node_js:
- "4" - "8"
- "6" - "10"
- "12"

View File

@ -1,3 +1,59 @@
2021-01-19, Version 3.5.2
=========================
* chore: update LTS status to End-of-Life (Rifa Achrinza)
2020-03-06, Version 3.5.1
=========================
* Update LTS status in README (Miroslav Bajtoš)
2020-02-17, Version 3.5.0
=========================
* Add support for Node.js 12 (Ahmet Cetin)
* chore: enable stalebot (Diana Lau)
* chore: improve issue and PR templates (Nora)
* Drop support for Node.js 6.x (Miroslav Bajtoš)
* chore: update copyrights years (Agnes Lin)
2019-01-02, Version 3.4.0
=========================
* Travis: enable Node.js 10.x (Miroslav Bajtoš)
* Node version ^10.14 added to engines list (Ahmet Cetin)
* add lts annoucement (jannyHou)
* Upgrade dependecies, fix new linter errors (Miroslav Bajtoš)
* Drop support for Node.js 4.x, 5.x and 7.x (Miroslav Bajtoš)
* Create Issue and PR Templates (#36) (Sakib Hasan)
* Add CODEOWNERS file (Diana Lau)
2017-07-21, Version 3.3.0
=========================
* add nodejs v8.2.1 support (Oleg Kubrakov)
2017-07-10, Version 3.2.0
=========================
* Add Node.js 7 to package.json and .travis.yml (Edgars Zagorskis)
2017-03-17, Version 3.1.0 2017-03-17, Version 3.1.0
========================= =========================

6
CODEOWNERS Normal file
View File

@ -0,0 +1,6 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners,
# the last matching pattern has the most precendence.
# Core team members from IBM
* @bajtos @josieusa

View File

@ -1,5 +1,17 @@
# loopback-context # loopback-context
**⚠️ LoopBack 3 has reached end of life. We are no longer accepting pull requests or providing
support for community users. The only exception is fixes for critical bugs and security
vulnerabilities provided as part of support for IBM API Connect customers. (See
[Module Long Term Support Policy](#module-long-term-support-policy) below.)**
We urge all LoopBack 3 users to migrate their applications to LoopBack 4 as
soon as possible. Refer to our
[Migration Guide](https://loopback.io/doc/en/lb4/migration-overview.html)
for more information on how to upgrade.
## Overview
Current context for LoopBack applications, based on cls-hooked. Current context for LoopBack applications, based on cls-hooked.
## WARNING ## WARNING
@ -32,7 +44,7 @@ $ npm install --save loopback-context cls-hooked
``` ```
Make sure you are running on a Node.js version supported by this module Make sure you are running on a Node.js version supported by this module
(`^4.5`, `^5.10` or `^6.0`). When installing, check the output of `npm install` (`^4.5`, `^5.10`, `^6.0`, `^7.0`, `^8.2.1` or `^10.14`). When installing, check the output of `npm install`
and make sure there are no `engine` related warnings. and make sure there are no `engine` related warnings.
## Usage ## Usage
@ -230,3 +242,14 @@ module.exports = function(YourModel) {
... ...
}; };
``` ```
## Module Long Term Support Policy
This module adopts the [Module Long Term Support (LTS)](http://github.com/CloudNativeJS/ModuleLTS) policy, with the following End Of Life (EOL) dates:
| Version | Status | Published | EOL |
| ------- | --------------- | --------- | -------- |
| 3.x | End-of-Life | Jan 2017 | Dec 2020 |
| 1.x | End-of-Life | Aug 2016 | Apr 2019 |
Learn more about our LTS plan in the [docs](https://loopback.io/doc/en/contrib/Long-term-support.html).

View File

@ -1,5 +1,5 @@
// Copyright IBM Corp. 2015. All Rights Reserved. // Copyright IBM Corp. 2016. All Rights Reserved.
// Node module: loopback-context-cls // Node module: loopback-context
// This file is licensed under the MIT License. // This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT // License text available at https://opensource.org/licenses/MIT

View File

@ -1,4 +1,4 @@
// Copyright IBM Corp. 2014,2016. All Rights Reserved. // Copyright IBM Corp. 2016. All Rights Reserved.
// Node module: loopback-context // Node module: loopback-context
// This file is licensed under the MIT License. // This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT // License text available at https://opensource.org/licenses/MIT

View File

@ -1,9 +1,9 @@
{ {
"name": "loopback-context", "name": "loopback-context",
"version": "3.1.0", "version": "3.5.2",
"description": "Current context for LoopBack applications, based on cls-hooked", "description": "Current context for LoopBack applications, based on cls-hooked",
"engines": { "engines": {
"node": "^4.5 || ^5.10 || ^6.0" "node": "^8.2.1 || ^10.14 || ^12.15"
}, },
"keywords": [ "keywords": [
"StrongLoop", "StrongLoop",
@ -23,17 +23,18 @@
}, },
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cls-hooked": "^4.0.1" "cls-hooked": "^4.2.0"
}, },
"devDependencies": { "devDependencies": {
"async-1.5.2": "file:./test/stub-modules/async-1.5.2", "async-1.5.2": "file:./test/stub-modules/async-1.5.2",
"chai": "^3.5.0", "chai": "^4.1.2",
"dirty-chai": "^1.2.2", "dirty-chai": "^2.0.1",
"eslint": "^3.14.1", "eslint": "^5.0.1",
"eslint-config-loopback": "^8.0.0", "eslint-config-loopback": "^10.0.0",
"loopback": "^3.0.0", "loopback": "^3.0.0",
"mocha": "^2.5.3", "mocha": "^5.2.0",
"supertest": "^1.2.0", "supertest": "^3.1.0",
"when-3.7.7": "file:./test/stub-modules/when-3.7.7" "when-3.7.7": "file:./test/stub-modules/when-3.7.7"
} },
"author": "IBM Corp."
} }

View File

@ -1,5 +1,5 @@
// Copyright IBM Corp. 2015,2016. All Rights Reserved. // Copyright IBM Corp. 2016,2017. All Rights Reserved.
// Node module: loopback-context-cls // Node module: loopback-context
// This file is licensed under the MIT License. // This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT // License text available at https://opensource.org/licenses/MIT

View File

@ -1,5 +1,5 @@
// Copyright IBM Corp. 2014,2016. All Rights Reserved. // Copyright IBM Corp. 2016. All Rights Reserved.
// Node module: loopback-context-cls // Node module: loopback-context
// This file is licensed under the MIT License. // This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT // License text available at https://opensource.org/licenses/MIT

View File

@ -1,3 +1,8 @@
// Copyright IBM Corp. 2016. All Rights Reserved.
// Node module: loopback-context
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
'use strict'; 'use strict';
var chai = require('chai'); var chai = require('chai');

View File

@ -1,5 +1,5 @@
// Copyright IBM Corp. 2013,2016. All Rights Reserved. // Copyright IBM Corp. 2016,2018. All Rights Reserved.
// Node module: loopback-context-cls // Node module: loopback-context
// This file is licensed under the MIT License. // This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT // License text available at https://opensource.org/licenses/MIT
@ -52,7 +52,7 @@ describe('LoopBack Context', function() {
TestModel.test = function(inst, cb) { TestModel.test = function(inst, cb) {
var tmpCtx = LoopBackContext.getCurrentContext(); var tmpCtx = LoopBackContext.getCurrentContext();
if (tmpCtx) tmpCtx.set('data', 'a value stored in context'); if (tmpCtx) tmpCtx.set('data', 'a value stored in context');
if (process.domain) cb = process.domain.bind(cb); // IMPORTANT if (process.domain) cb = process.domain.bind(cb); // IMPORTANT
runInOtherDomain(cb); runInOtherDomain(cb);
}; };
@ -106,53 +106,53 @@ describe('LoopBack Context', function() {
// https://gist.github.com/marlonkjoseph/f42f3c71f746896a0d4b7279a34ea753 // https://gist.github.com/marlonkjoseph/f42f3c71f746896a0d4b7279a34ea753
// Heavily edited by others // Heavily edited by others
it('keeps context when using waterfall() from async 1.5.2', it('keeps context when using waterfall() from async 1.5.2',
function(done) { function(done) {
LoopBackContext.runInContext(function() { LoopBackContext.runInContext(function() {
// Trigger async waterfall callbacks // Trigger async waterfall callbacks
asyncV152.waterfall([ asyncV152.waterfall([
function pushToContext(next) { function pushToContext(next) {
var ctx = LoopBackContext.getCurrentContext(); var ctx = LoopBackContext.getCurrentContext();
expect(ctx).is.an('object'); expect(ctx).is.an('object');
ctx.set('test-key', 'test-value'); ctx.set('test-key', 'test-value');
next(); next();
}, },
function pullFromContext(next) { function pullFromContext(next) {
var ctx = LoopBackContext.getCurrentContext(); var ctx = LoopBackContext.getCurrentContext();
expect(ctx).is.an('object'); expect(ctx).is.an('object');
var testValue = ctx && ctx.get('test-key', 'test-value'); var testValue = ctx && ctx.get('test-key', 'test-value');
next(null, testValue); next(null, testValue);
}, },
function verify(testValue, next) { function verify(testValue, next) {
expect(testValue).to.equal('test-value'); expect(testValue).to.equal('test-value');
next(); next();
}, },
], done); ], done);
});
}); });
});
it('handles concurrent then() calls with when v3.7.7 promises & bind option', it('handles concurrent then() calls with when v3.7.7 promises & bind option',
function() { function() {
return Promise.all([ return Promise.all([
runWithPushedValue('test-value-1', {bind: true}), runWithPushedValue('test-value-1', {bind: true}),
runWithPushedValue('test-value-2', {bind: true}), runWithPushedValue('test-value-2', {bind: true}),
]) ])
.then(function verify(values) { .then(function verify(values) {
var failureCount = getFailureCount(values); var failureCount = getFailureCount(values);
expect(failureCount).to.equal(0); expect(failureCount).to.equal(0);
});
}); });
});
it('fails once without bind option and when v3.7.7 promises', it('fails once without bind option and when v3.7.7 promises',
function() { function() {
return Promise.all([ return Promise.all([
runWithPushedValue('test-value-3'), runWithPushedValue('test-value-3'),
runWithPushedValue('test-value-4'), runWithPushedValue('test-value-4'),
]) ])
.then(function verify(values) { .then(function verify(values) {
var failureCount = getFailureCount(values); var failureCount = getFailureCount(values);
expect(failureCount).to.equal(1); expect(failureCount).to.equal(1);
});
}); });
});
var timeout = 100; var timeout = 100;
@ -191,23 +191,23 @@ describe('LoopBack Context', function() {
runWithRequestId('test-value-5', true), runWithRequestId('test-value-5', true),
runWithRequestId('test-value-6', true), runWithRequestId('test-value-6', true),
]) ])
.then(function verify(values) { .then(function verify(values) {
var failureCount = getFailureCount(values); var failureCount = getFailureCount(values);
expect(failureCount).to.equal(0); expect(failureCount).to.equal(0);
}); });
}); });
it('fails & mixes up ctx among requests in mw chains if next() cb is unbound', it('fails & mixes up ctx among requests in mw chains if next() cb is unbound',
function() { function() {
return Promise.all([ return Promise.all([
runWithRequestId('test-value-7'), runWithRequestId('test-value-7'),
runWithRequestId('test-value-8'), runWithRequestId('test-value-8'),
]) ])
.then(function verify(values) { .then(function verify(values) {
var failureCount = getFailureCount(values); var failureCount = getFailureCount(values);
expect(failureCount).to.equal(1); expect(failureCount).to.equal(1);
});
}); });
});
function runWithRequestId(pushedValue, bindNextCb) { function runWithRequestId(pushedValue, bindNextCb) {
return new Promise(function chainExecutor(outerResolve, reject) { return new Promise(function chainExecutor(outerResolve, reject) {

View File

@ -1,2 +1,7 @@
// Copyright IBM Corp. 2017. All Rights Reserved.
// Node module: loopback-context
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
'use strict'; 'use strict';
module.exports = require('async'); module.exports = require('async');

View File

@ -1,2 +1,7 @@
// Copyright IBM Corp. 2017. All Rights Reserved.
// Node module: loopback-context
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
'use strict'; 'use strict';
module.exports = require('when'); module.exports = require('when');