mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
3e4c8c9d0d
This PR changes `src/Dialog.js` to `src/Dialog.ts` and rewrites accordingly. Most of the changes are straight forward; the only interesting one from a TS point of view is the `DialogType` enum. I expose it again as `Dialog.Type` to avoid a breaking change. This PR also exposed some bugs with our ESLint TypeScript settings and applying the overrides, so I fixed those too. I also updated our DocLint tool to work on TS source files over JS lib files if they exist. This is the minimal change to keep the existing doc system working as we're working on moving away from this system longer term.
119 lines
3.5 KiB
JavaScript
119 lines
3.5 KiB
JavaScript
module.exports = {
|
|
"root": true,
|
|
"env": {
|
|
"node": true,
|
|
"es6": true
|
|
},
|
|
|
|
"parser": "@typescript-eslint/parser",
|
|
|
|
"plugins": [
|
|
"mocha",
|
|
"@typescript-eslint"
|
|
],
|
|
|
|
"rules": {
|
|
// syntax preferences
|
|
"quotes": [2, "single", {
|
|
"avoidEscape": true,
|
|
"allowTemplateLiterals": true
|
|
}],
|
|
"semi": 2,
|
|
"no-extra-semi": 2,
|
|
"comma-style": [2, "last"],
|
|
"wrap-iife": [2, "inside"],
|
|
"spaced-comment": [2, "always", {
|
|
"markers": ["*"]
|
|
}],
|
|
"eqeqeq": [2],
|
|
"arrow-body-style": [2, "as-needed"],
|
|
"accessor-pairs": [2, {
|
|
"getWithoutSet": false,
|
|
"setWithoutGet": false
|
|
}],
|
|
"brace-style": [2, "1tbs", {"allowSingleLine": true}],
|
|
"curly": [2, "multi-or-nest", "consistent"],
|
|
"new-parens": 2,
|
|
"func-call-spacing": 2,
|
|
"arrow-parens": [2, "as-needed"],
|
|
"prefer-const": 2,
|
|
"quote-props": [2, "consistent"],
|
|
|
|
// anti-patterns
|
|
"no-var": 2,
|
|
"no-with": 2,
|
|
"no-multi-str": 2,
|
|
"no-caller": 2,
|
|
"no-implied-eval": 2,
|
|
"no-labels": 2,
|
|
"no-new-object": 2,
|
|
"no-octal-escape": 2,
|
|
"no-self-compare": 2,
|
|
"no-shadow-restricted-names": 2,
|
|
"no-cond-assign": 2,
|
|
"no-debugger": 2,
|
|
"no-dupe-keys": 2,
|
|
"no-duplicate-case": 2,
|
|
"no-empty-character-class": 2,
|
|
"no-unreachable": 2,
|
|
"no-unsafe-negation": 2,
|
|
"radix": 2,
|
|
"valid-typeof": 2,
|
|
"no-unused-vars": [2, { "args": "none", "vars": "local", "varsIgnorePattern": "([fx]?describe|[fx]?it|beforeAll|beforeEach|afterAll|afterEach)" }],
|
|
"no-implicit-globals": [2],
|
|
|
|
// es2015 features
|
|
"require-yield": 2,
|
|
"template-curly-spacing": [2, "never"],
|
|
|
|
// spacing details
|
|
"space-infix-ops": 2,
|
|
"space-in-parens": [2, "never"],
|
|
"space-before-function-paren": [2, "never"],
|
|
"no-whitespace-before-property": 2,
|
|
"keyword-spacing": [2, {
|
|
"overrides": {
|
|
"if": {"after": true},
|
|
"else": {"after": true},
|
|
"for": {"after": true},
|
|
"while": {"after": true},
|
|
"do": {"after": true},
|
|
"switch": {"after": true},
|
|
"return": {"after": true}
|
|
}
|
|
}],
|
|
"arrow-spacing": [2, {
|
|
"after": true,
|
|
"before": true
|
|
}],
|
|
|
|
// file whitespace
|
|
"no-multiple-empty-lines": [2, {"max": 2}],
|
|
"no-mixed-spaces-and-tabs": 2,
|
|
"no-trailing-spaces": 2,
|
|
"linebreak-style": [ process.platform === "win32" ? 0 : 2, "unix" ],
|
|
"indent": [2, 2, { "SwitchCase": 1, "CallExpression": {"arguments": 2}, "MemberExpression": 2 }],
|
|
"key-spacing": [2, {
|
|
"beforeColon": false
|
|
}],
|
|
|
|
// ensure we don't have any it.only or describe.only in prod
|
|
"mocha/no-exclusive-tests": "error"
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["*.ts"],
|
|
"extends": [
|
|
'plugin:@typescript-eslint/eslint-recommended',
|
|
'plugin:@typescript-eslint/recommended',
|
|
],
|
|
"rules": {
|
|
"no-unused-vars": 0,
|
|
"@typescript-eslint/no-unused-vars": 2,
|
|
"semi": 0,
|
|
"@typescript-eslint/semi": 2
|
|
}
|
|
}
|
|
]
|
|
};
|