mirror of
https://github.com/github/codeql.git
synced 2026-05-01 03:35:13 +02:00
add test for types of modules
This commit is contained in:
5
javascript/ql/test/library-tests/ModuleTypes/import.js
Normal file
5
javascript/ql/test/library-tests/ModuleTypes/import.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import * as fs from "fs";
|
||||
|
||||
export default function (x) {
|
||||
return fs.readFileSync(x);
|
||||
};
|
||||
1
javascript/ql/test/library-tests/ModuleTypes/mjs.mjs
Normal file
1
javascript/ql/test/library-tests/ModuleTypes/mjs.mjs
Normal file
@@ -0,0 +1 @@
|
||||
console.log("I'm a .mjs file!");
|
||||
7
javascript/ql/test/library-tests/ModuleTypes/require.js
Normal file
7
javascript/ql/test/library-tests/ModuleTypes/require.js
Normal file
@@ -0,0 +1,7 @@
|
||||
var fs = require("fs");
|
||||
|
||||
module.exports = {
|
||||
foo: function (x) {
|
||||
return fs.readFileSync(x);
|
||||
}
|
||||
}
|
||||
1
javascript/ql/test/library-tests/ModuleTypes/script.js
Normal file
1
javascript/ql/test/library-tests/ModuleTypes/script.js
Normal file
@@ -0,0 +1 @@
|
||||
console.log("I'm a plain script!");
|
||||
@@ -0,0 +1,4 @@
|
||||
| import.js:1:1:5:2 | <toplevel> | es2015 |
|
||||
| mjs.mjs:1:1:1:32 | <toplevel> | es2015 |
|
||||
| require.js:1:1:7:1 | <toplevel> | node |
|
||||
| script.js:1:1:1:35 | <toplevel> | non-module |
|
||||
18
javascript/ql/test/library-tests/ModuleTypes/tests.ql
Normal file
18
javascript/ql/test/library-tests/ModuleTypes/tests.ql
Normal file
@@ -0,0 +1,18 @@
|
||||
import javascript
|
||||
|
||||
query string getModuleType(TopLevel top) {
|
||||
not top.isExterns() and
|
||||
(
|
||||
not top instanceof Module and
|
||||
result = "non-module"
|
||||
or
|
||||
top instanceof NodeModule and
|
||||
result = "node"
|
||||
or
|
||||
top instanceof ES2015Module and
|
||||
result = "es2015"
|
||||
or
|
||||
top instanceof AmdModule and
|
||||
result = "amd"
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user