Skip to content

Commit d63a71a

Browse files
committed
Modernize internal JS code and run it through eslint. NFC
This change does not effect the JS that we output, only the the internal JS tooling. This is a followup to #15836 which did this cleanup just for a single file. The long list of exclusions in `.eslintrc.yml` is because these files are part of the JS library code which we ship and we a lot of that cannot be run though the lint tool because it uses our speciall pre-processing techniques.
1 parent a8e7d3b commit d63a71a

File tree

13 files changed

+303
-366
lines changed

13 files changed

+303
-366
lines changed

.eslintrc.yml

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,48 @@ extends:
66
- google
77
parserOptions:
88
ecmaVersion: 12
9-
ignorePatterns: "library_*.js"
9+
ignorePatterns:
10+
- "site/"
11+
- "third_party/"
12+
- "tests/"
13+
- "src/library*.js"
14+
- "src/runtime_*.js"
15+
- "src/shell*.js"
16+
- "src/preamble*.js"
17+
- "src/postamble*.js"
18+
- "src/closure-externs/"
19+
- "src/embind/"
20+
- "src/emrun_postjs.js"
21+
- "src/worker.js"
22+
- "src/wrtcp.js"
23+
- "src/wasm2js.js"
24+
- "src/webGLClient.js"
25+
- "src/webGLWorker.js"
26+
- "src/*_shell_read.js"
27+
- "src/wasm_offset_converter.js"
28+
- "src/threadprofiler.js"
29+
- "src/cpuprofiler.js"
30+
- "src/memoryprofiler.js"
31+
- "src/support.js"
32+
- "src/gl-matrix.js"
33+
- "src/promise_polyfill.js"
34+
- "src/headless.js"
35+
- "src/headlessCanvas.js"
36+
- "src/socket.io.js"
37+
- "src/emscripten-source-map.min.js"
38+
- "src/source_map_support.js"
39+
- "src/Fetch.js"
40+
- "src/settings.js"
41+
- "src/settings_internal.js"
42+
- "src/arrayUtils.js"
43+
- "src/deterministic.js"
44+
- "src/base64Utils.js"
45+
- "src/base64Decode.js"
46+
- "src/proxyWorker.js"
47+
- "src/proxyClient.js"
48+
- "src/IDBStore.js"
49+
- "src/URIUtils.js"
50+
- "tools/experimental"
1051
rules:
1152
#max-len: ["error", 100]
1253
max-len: "off"

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
"wasm2c": "1.0.0"
1515
},
1616
"scripts": {
17-
"lint": "eslint src/parseTools.js tools/acorn-optimizer.js"
17+
"lint": "eslint ."
1818
}
1919
}

src/compiler.js

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,30 @@
77

88
// LLVM => JavaScript compiler, main entry point
99

10-
var nodeFS = require('fs');
11-
nodePath = require('path');
10+
global.nodeFS = require('fs');
11+
global.nodePath = require('path');
1212

13-
print = (x) => {
13+
global.print = (x) => {
1414
process['stdout'].write(x + '\n');
1515
};
1616

17-
printErr = (x) => {
17+
global.printErr = (x) => {
1818
process['stderr'].write(x + '\n');
1919
};
2020

2121
function find(filename) {
22-
var prefixes = [__dirname, process.cwd()];
23-
for (var i = 0; i < prefixes.length; ++i) {
24-
var combined = nodePath.join(prefixes[i], filename);
22+
const prefixes = [__dirname, process.cwd()];
23+
for (let i = 0; i < prefixes.length; ++i) {
24+
const combined = nodePath.join(prefixes[i], filename);
2525
if (nodeFS.existsSync(combined)) {
2626
return combined;
2727
}
2828
}
2929
return filename;
3030
}
3131

32-
read = (filename) => {
33-
var absolute = find(filename);
32+
global.read = (filename) => {
33+
const absolute = find(filename);
3434
return nodeFS.readFileSync(absolute).toString();
3535
};
3636

@@ -45,22 +45,23 @@ load('utility.js');
4545
load('./settings.js');
4646
load('./settings_internal.js');
4747

48-
var arguments_ = process['argv'].slice(2);
49-
var settingsFile = arguments_[0];
48+
const settingsFile = process['argv'][2];
5049

5150
if (settingsFile) {
52-
var settings = JSON.parse(read(settingsFile));
53-
for (var key in settings) {
54-
var value = settings[key];
55-
if (value[0] == '@') {
56-
// response file type thing, workaround for large inputs: value is @path-to-file
57-
try {
58-
value = JSON.parse(read(value.substr(1)));
59-
} catch(e) {
60-
// continue normally; assume it is not a response file
51+
const settings = JSON.parse(read(settingsFile));
52+
for (const key in settings) {
53+
if (Object.prototype.hasOwnProperty.call(settings, key)) {
54+
let value = settings[key];
55+
if (value[0] == '@') {
56+
// response file type thing, workaround for large inputs: value is @path-to-file
57+
try {
58+
value = JSON.parse(read(value.substr(1)));
59+
} catch (e) {
60+
// continue normally; assume it is not a response file
61+
}
6162
}
63+
global[key] = eval(JSON.stringify(value));
6264
}
63-
global[key] = eval(JSON.stringify(value));
6465
}
6566
}
6667

@@ -73,7 +74,7 @@ INCOMING_MODULE_JS_API = set(INCOMING_MODULE_JS_API);
7374
RUNTIME_DEBUG = LIBRARY_DEBUG || GL_DEBUG || DYLINK_DEBUG || PTHREADS_DEBUG;
7475

7576
// Side modules are pure wasm and have no JS
76-
assert(!SIDE_MODULE, "JS compiler should not run on side modules");
77+
assert(!SIDE_MODULE, 'JS compiler should not run on side modules');
7778

7879
// Output some info and warnings based on settings
7980

@@ -88,17 +89,17 @@ load('parseTools.js');
8889
load('jsifier.js');
8990
load('runtime.js');
9091

91-
//===============================
92+
// ===============================
9293
// Main
93-
//===============================
94+
// ===============================
9495

9596
B = new Benchmarker();
9697

9798
try {
98-
JSify();
99+
runJSify();
99100

100101
B.print('glue');
101-
} catch(err) {
102+
} catch (err) {
102103
if (err.toString().includes('Aborting compilation due to previous errors')) {
103104
// Compiler failed on user error, don't print the stacktrace in this case.
104105
printErr(err);

src/emrun_prejs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66

77
// Route URL GET parameters to argc+argv
8-
if (typeof window === "object") {
8+
if (typeof window === 'object') {
99
Module['arguments'] = window.location.search.substr(1).trim().split('&');
1010
// If no args were passed arguments = [''], in which case kill the single empty string.
1111
if (!Module['arguments'][0]) {

0 commit comments

Comments
 (0)