Files
2026-07-13 12:23:53 +08:00

102 lines
4.7 KiB
JavaScript

// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
// ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
// ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
// ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
// ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
// ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
// ┃ Copyright (c) 2017, the Perspective Authors. ┃
// ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
// ┃ This file is part of the Perspective library, distributed under the terms ┃
// ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
import tseslint from "typescript-eslint";
// import globals from "globals";
export default tseslint.config(
{
ignores: [
"docs/**",
"tools/**",
"rust/**",
"examples/**",
"packages/cli/**/*",
"packages/jupyterlab/**/*",
// "packages/viewer-charts/**/*",
// "packages/viewer-datagrid/**/*",
"packages/workspace/**/*",
"packages/react/**/*",
".emsdk/**",
"**/py_modules/**",
"**/node_modules/**",
"**/dist/**",
"**/build/**",
"**/target/**",
"**/pkg/**",
],
},
...tseslint.configs.recommended,
{
files: ["**/*.{ts,mts,tsx}"],
languageOptions: {
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
// globals: {
// ...globals.browser,
// ...globals.node,
// },
},
rules: {
"@typescript-eslint/no-explicit-any": "off",
curly: "warn",
"padding-line-between-statements": [
"warn",
{ blankLine: "always", prev: "block-like", next: "*" },
],
"@typescript-eslint/no-unused-vars": [
"warn",
{
args: "none",
varsIgnorePattern: "^_",
caughtErrorsIgnorePattern: "^_",
},
],
// // This is why we can't have nice things. I like this rule, but
// // `prettier` doesn't, so we conform or perish.
//
// "lines-around-comment": [
// "warn",
// {
// beforeLineComment: true,
// beforeBlockComment: true,
// },
// ],
"@typescript-eslint/no-empty-object-type": "off",
"@typescript-eslint/no-unused-expressions": "off",
"@typescript-eslint/no-this-alias": "off",
"@typescript-eslint/no-require-imports": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-namespace": "off",
"@typescript-eslint/no-wrapper-object-types": "off",
"@typescript-eslint/no-unsafe-function-type": "off",
"no-empty": "off",
"no-prototype-builtins": "off",
"no-control-regex": "off",
"no-useless-escape": "off",
"no-async-promise-executor": "off",
"no-cond-assign": "off",
"no-misleading-character-class": "off",
},
},
{
files: ["examples/**/*.{ts,mts,tsx}", "tools/bench/**/*.{ts,mts,tsx}"],
rules: {
"@typescript-eslint/no-unused-vars": "warn",
},
},
);