##
##  Syntax -- Unobtrusive Syntax Highlighting
##  Copyright (c) 2015-2024 Dr. Ralf S. Engelschall <rse@engelschall.com>
##
##  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.
##

---

extends:
    - eslint:recommended
    - eslint-config-standard

parserOptions:
    ecmaVersion: 8
    sourceType:  module
    ecmaFeatures:
        jsx:     false

env:
    browser:       true
    node:          true
    mocha:         true
    commonjs:      true
    worker:        true
    serviceworker: true

globals:
    process:       true

rules:
    #   modified 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" ]

    #   disabled rules
    no-multi-spaces:                     off
    no-multiple-empty-lines:             off
    key-spacing:                         off
    object-property-newline:             off
    curly:                               off
    space-in-parens:                     off
    array-bracket-spacing:               off

