Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
emscripten-core
GitHub Repository: emscripten-core/emscripten
Path: blob/main/eslint.config.mjs
4091 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/runtime_*.js',
31
'src/shell*.js',
32
'src/modularize.js',
33
'src/preamble*.js',
34
'src/postlibrary.js',
35
'src/postamble*.js',
36
'src/closure-externs/',
37
'src/embind/',
38
'src/pthread_esm_startup.mjs',
39
'src/emrun_postjs.js',
40
'src/wasm_worker.js',
41
'src/audio_worklet.js',
42
'src/wasm2js.js',
43
'src/webGLClient.js',
44
'src/webGLWorker.js',
45
'src/*_shell_read.js',
46
'src/threadprofiler.js',
47
'src/cpuprofiler.js',
48
'src/memoryprofiler.js',
49
'src/gl-matrix.js',
50
'src/source_map_support.js',
51
'src/Fetch.js',
52
'src/settings.js',
53
'src/settings_internal.js',
54
'src/emrun_prejs.js',
55
'src/deterministic.js',
56
'src/proxyWorker.js',
57
'src/proxyClient.js',
58
'src/IDBStore.js',
59
'tools/experimental',
60
],
61
}, ...compat.extends('prettier'), js.configs.recommended, {
62
languageOptions: {
63
globals: {
64
...globals.browser,
65
...globals.node,
66
...settingsGlobals,
67
},
68
69
ecmaVersion: 'latest',
70
sourceType: 'module',
71
},
72
73
rules: {
74
'max-len': 'off',
75
'no-multi-spaces': 'off',
76
'require-jsdoc': 'off',
77
'arrow-body-style': ['error', 'as-needed'],
78
'space-infix-ops': 'error',
79
'no-prototype-builtins': 'off',
80
81
quotes: ['error', 'single', {
82
avoidEscape: true,
83
}],
84
},
85
}, {
86
files: ['**/*.mjs'],
87
88
rules: {
89
'no-unused-vars': ['error', {
90
argsIgnorePattern: '^_',
91
destructuredArrayIgnorePattern: '^_',
92
}],
93
},
94
}];
95
96