Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
emscripten-core
GitHub Repository: emscripten-core/emscripten
Path: blob/main/eslint.config.mjs
6168 views
1
import globals from 'globals';
2
import js from '@eslint/js';
3
import { FlatCompat } from '@eslint/eslintrc';
4
import { loadDefaultSettings } from './src/utility.mjs';
5
6
const compat = new FlatCompat({
7
baseDirectory: import.meta.dirname,
8
recommendedConfig: js.configs.recommended,
9
allConfig: js.configs.all
10
});
11
12
13
// Emscripten settings are made available to the compiler as global
14
// variables. Make sure eslint knows about them.
15
const settings = loadDefaultSettings();
16
const settingsGlobals = {};
17
for (const name of Object.keys(settings)) {
18
settingsGlobals[name] = 'writable';
19
}
20
21
export default [{
22
ignores: [
23
'**/out/',
24
'**/site/',
25
'**/cache/',
26
'**/third_party/',
27
'**/test/',
28
'src/polyfill/',
29
'src/lib/',
30
'src/binaryDecode.js',
31
'src/build_as_worker.js',
32
'src/minimum_runtime_check.js',
33
'src/runtime_*.js',
34
'src/shell*.js',
35
'src/modularize.js',
36
'src/preamble*.js',
37
'src/postlibrary.js',
38
'src/postamble*.js',
39
'src/closure-externs/',
40
'src/embind/',
41
'src/pthread_esm_startup.mjs',
42
'src/emrun_postjs.js',
43
'src/wasm_worker.js',
44
'src/audio_worklet.js',
45
'src/wasm2js.js',
46
'src/webGLClient.js',
47
'src/webGLWorker.js',
48
'src/*_shell_read.js',
49
'src/threadprofiler.js',
50
'src/cpuprofiler.js',
51
'src/memoryprofiler.js',
52
'src/gl-matrix.js',
53
'src/source_map_support.js',
54
'src/Fetch.js',
55
'src/settings.js',
56
'src/settings_internal.js',
57
'src/emrun_prejs.js',
58
'src/deterministic.js',
59
'src/proxyWorker.js',
60
'src/proxyClient.js',
61
'src/IDBStore.js',
62
'tools/experimental',
63
],
64
}, ...compat.extends('prettier'), js.configs.recommended, {
65
languageOptions: {
66
globals: {
67
...globals.browser,
68
...globals.node,
69
...settingsGlobals,
70
},
71
72
ecmaVersion: 'latest',
73
sourceType: 'module',
74
},
75
76
rules: {
77
'max-len': 'off',
78
'no-multi-spaces': 'off',
79
'require-jsdoc': 'off',
80
'arrow-body-style': ['error', 'as-needed'],
81
'space-infix-ops': 'error',
82
'no-prototype-builtins': 'off',
83
84
quotes: ['error', 'single', {
85
avoidEscape: true,
86
}],
87
},
88
}, {
89
files: ['**/*.mjs'],
90
91
rules: {
92
'no-unused-vars': ['error', {
93
argsIgnorePattern: '^_',
94
destructuredArrayIgnorePattern: '^_',
95
}],
96
},
97
}];
98
99