Skip to content

Commit e467ea2

Browse files
committed
add support for the native-promise-only polyfill
1 parent ebde901 commit e467ea2

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed

javascript/change-notes/2021-06-18-promises.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ lgtm,codescanning
55
[promise](https://npmjs.com/package/promise),
66
[promise-polyfill](https://npmjs.com/package/promise-polyfill),
77
[rsvp](https://npmjs.com/package/rsvp),
8-
[es6-promise](https://npmjs.com/package/es6-promise)
8+
[es6-promise](https://npmjs.com/package/es6-promise),
9+
[native-promise-only](https://npmjs.com/package/native-promise-only)

javascript/ql/src/semmle/javascript/Promises.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ private DataFlow::SourceNode getAPromiseObject() {
7979
result = DataFlow::moduleImport(["promise-polyfill", "promise-polyfill/src/polyfill"])
8080
or
8181
result = DataFlow::moduleMember(["es6-promise", "rsvp"], "Promise")
82+
or
83+
result = DataFlow::moduleImport("native-promise-only")
8284
}
8385

8486
/**

javascript/ql/test/library-tests/Promises/promises.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,3 +113,8 @@
113113
var Promise = require('es6-promise').Promise;
114114
Promise.resolve(source);
115115
})();
116+
117+
(function() {
118+
var Promise = require('native-promise-only');
119+
Promise.resolve(source);
120+
})();

javascript/ql/test/library-tests/Promises/tests.expected

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ test_ResolvedPromiseDefinition
4141
| promises.js:106:3:106:26 | Promise ... source) | promises.js:106:20:106:25 | source |
4242
| promises.js:107:3:107:26 | Promise ... source) | promises.js:107:20:107:25 | source |
4343
| promises.js:114:3:114:25 | Promise ... source) | promises.js:114:19:114:24 | source |
44+
| promises.js:119:3:119:25 | Promise ... source) | promises.js:119:19:119:24 | source |
4445
test_PromiseDefinition_getARejectHandler
4546
| flow.js:26:2:26:49 | new Pro ... ource)) | flow.js:26:69:26:80 | y => sink(y) |
4647
| flow.js:32:2:32:49 | new Pro ... ource)) | flow.js:32:57:32:68 | x => sink(x) |
@@ -426,3 +427,5 @@ typetrack
426427
| promises.js:107:3:107:26 | Promise ... source) | promises.js:107:20:107:25 | source | store $PromiseResolveField$ |
427428
| promises.js:114:3:114:25 | Promise ... source) | promises.js:114:19:114:24 | source | copy $PromiseResolveField$ |
428429
| promises.js:114:3:114:25 | Promise ... source) | promises.js:114:19:114:24 | source | store $PromiseResolveField$ |
430+
| promises.js:119:3:119:25 | Promise ... source) | promises.js:119:19:119:24 | source | copy $PromiseResolveField$ |
431+
| promises.js:119:3:119:25 | Promise ... source) | promises.js:119:19:119:24 | source | store $PromiseResolveField$ |

0 commit comments

Comments
 (0)