Sim Greenbaum
09/03/2024, 10:19 PMmodule.exports = {
env: {
browser: true,
commonjs: true,
es2021: true,
node: true,
},
extends: [
"plugin:suitescript/all",
"eslint:recommended",
"plugin:jest/recommended",
],
plugins: ["suitescript", "jest"],
overrides: [
{
env: {
amd: true,
node: true,
jest: true,
},
files: ["src/**/*.js"],
parserOptions: {
sourceType: "module",
},
},
],
parserOptions: {
ecmaVersion: "latest",
},
rules: {
"suitescript/script-type": "error",
"suitescript/no-log-module": "error",
},
};
michoel
09/03/2024, 11:20 PMmichoel
09/03/2024, 11:22 PMSim Greenbaum
09/04/2024, 12:16 AMSim Greenbaum
09/04/2024, 1:37 PMMarvin
09/12/2024, 4:02 AMimport globals from "globals";
import pluginJs from "@eslint/js";
export default [
pluginJs.configs.recommended
// ignore toolset scripts, build directories, and node packages
, {
ignores: [
"DeployDistribution/"
, "gulp/"
, "LocalDistribution/"
, "node_modules/"
, "ns_npm_repository/"
, "tmp/"
, "Workspace/Extras/"
, "gulpfile.js"
]
}
// default rules eslint-config-google with recommended removed and minor changes
, {
rules: {
"no-cond-assign": "off"
, "curly": ["error", "multi-line"]
, "no-multi-spaces": "error"
, "no-multi-str": "error"
, "no-unused-vars": ["error", {args: "none"}]
, "array-bracket-newline": "off"
, "array-bracket-spacing": ["error", "never"]
, "array-element-newline": "off"
, "block-spacing": ["error", "never"]
, "brace-style": "error"
, "camelcase": "off"
, "comma-dangle": ["error", "never"]
, "comma-spacing": "error"
, "comma-style": ["error", "first"]
, "computed-property-spacing": "error"
, "eol-last": "error"
, "func-call-spacing": "error"
, "indent": [
"error", 4, {"SwitchCase": 1}
]
, "key-spacing": "error"
, "keyword-spacing": "error"
, "linebreak-style": ["error", "unix"]
, "max-len": ["error", {
code: 180
, ignoreComments: true
}]
, "new-cap": "off"
, "no-mixed-spaces-and-tabs": "error"
, "no-multiple-empty-lines": ["error", {max: 2}]
, "no-new-object": "error"
, "no-tabs": "error"
, "no-trailing-spaces": "error"
, "object-curly-spacing": "error"
, "one-var": ["error", {
var: "never"
, let: "never"
, const: "never"
}]
, "operator-linebreak": ["error", "after"]
, "padded-blocks": ["error", "never"]
, "quote-props": ["error", "consistent"]
, "quotes": ["error", "double", {allowTemplateLiterals: true}]
, "semi": ["error", "always"]
, "semi-spacing": "error"
, "space-before-blocks": "error"
, "space-before-function-paren": ["error", {
asyncArrow: "always"
, anonymous: "never"
, named: "never"
}]
, "spaced-comment": ["error", "always"]
, "switch-colon-spacing": "error"
, "arrow-parens": ["error", "always"]
, "constructor-super": "error"
, "generator-star-spacing": ["error", "after"]
, "no-new-symbol": "error"
, "no-unsafe-finally": "off"
, "no-this-before-super": "error"
, "no-var": "error"
, "prefer-const": ["error", {destructuring: "all"}]
, "prefer-rest-params": "error"
, "prefer-spread": "error"
, "rest-spread-spacing": "error"
, "yield-star-spacing": ["error", "after"]
}
}
// disable no-var for services
, {
files: [
"Workspace/**/SuiteScript2/*"
]
, rules: {
"no-var": "off"
}
}
, {
languageOptions: {
globals: {
...globals.browser
, ...globals.amd
}
, ecmaVersion: "latest"
, sourceType: "module"
}
}
];