Some checks failed
Run install, format, lint, build, and test on every push / build (push) Has been cancelled
Run install, format, lint, build, and test on every push / publish (push) Has been cancelled
Run install, format, lint, build, and test on every push / publish-github-container-registry (push) Has been cancelled
Closes #1689. Typecheck cli/tui src, add a core/ format+lint gate, and gate core/json + core/client coverage. See PR #1766 for the full review history.
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
import js from "@eslint/js";
|
|
import globals from "globals";
|
|
import tseslint from "typescript-eslint";
|
|
import { defineConfig, globalIgnores } from "eslint/config";
|
|
|
|
// Root-level lint gate for the shared `core/` package. Each client's own
|
|
// `eslint .` is scoped to its own directory, so nothing reached `core/` before
|
|
// (#1689) — this config closes that gap. `core/` is isomorphic TypeScript
|
|
// (browser-side OAuth + Node backends + shared runtime), so both browser and
|
|
// Node globals apply; there is no JSX in `core/`, so no React plugin is needed.
|
|
export default defineConfig([
|
|
globalIgnores(["core/**/build/**", "core/**/dist/**"]),
|
|
{
|
|
files: ["core/**/*.{ts,tsx}"],
|
|
extends: [js.configs.recommended, tseslint.configs.recommended],
|
|
languageOptions: {
|
|
ecmaVersion: 2022,
|
|
sourceType: "module",
|
|
globals: {
|
|
...globals.node,
|
|
...globals.browser,
|
|
},
|
|
},
|
|
rules: {
|
|
// An `_`-prefix is `core/`'s explicit "intentionally unused" marker —
|
|
// interface-conformance params in fakes, destructuring-rest omissions,
|
|
// and reserved-for-later args. Honor it rather than deleting signal.
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
argsIgnorePattern: "^_",
|
|
varsIgnorePattern: "^_",
|
|
caughtErrorsIgnorePattern: "^_",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
]);
|