-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy patheslint.mjs
72 lines (68 loc) · 3.03 KB
/
eslint.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
** MQTT-JSON-RPC -- JSON-RPC protocol over MQTT communication
** Copyright (c) 2018-2023 Dr. Ralf S. Engelschall <[email protected]>
**
** Permission is hereby granted, free of charge, to any person obtaining
** a copy of this software and associated documentation files (the
** "Software"), to deal in the Software without restriction, including
** without limitation the rights to use, copy, modify, merge, publish,
** distribute, sublicense, and/or sell copies of the Software, and to
** permit persons to whom the Software is furnished to do so, subject to
** the following conditions:
**
** The above copyright notice and this permission notice shall be included
** in all copies or substantial portions of the Software.
**
** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
import globals from "globals"
import path from "node:path"
import { fileURLToPath } from "node:url"
import js from "@eslint/js"
import { FlatCompat } from "@eslint/eslintrc"
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
})
export default [
...compat.extends("eslint:recommended"), {
languageOptions: {
globals: {
...globals.browser,
...Object.fromEntries(Object.entries(globals.node).map(([key]) => [key, "off"])),
...globals.commonjs,
...globals.worker,
...globals.serviceworker,
process: true,
},
ecmaVersion: 12,
sourceType: "module",
parserOptions: { ecmaFeatures: { jsx: false } }
},
rules: {
"indent": [ "error", 4, { SwitchCase: 1 } ],
"linebreak-style": [ "error", "unix" ],
"semi": [ "error", "never" ],
"operator-linebreak": [ "error", "after", { overrides: { "&&": "before", "||": "before", ":": "before" } } ],
"brace-style": [ "error", "stroustrup", { allowSingleLine: true } ],
"quotes": [ "error", "double" ],
"no-multi-spaces": "off",
"no-multiple-empty-lines": "off",
"key-spacing": "off",
"object-property-newline": "off",
"curly": "off",
"space-in-parens": "off",
"no-console": "off",
"lines-between-class-members": "off",
"array-bracket-spacing": "off",
},
}]