Skip to content

javascript

JavaScript files: the shipped lint rules, type checks through JSDoc, and no unused code. The JavaScript and TypeScript guide explains the setup.

Check Stage Level What it does
javascript/eslint commit recommended Runs the shipped ESLint rules on JavaScript, TypeScript, component files, and package.json.
javascript/tsc push recommended Type-checks plain JavaScript through its JSDoc comments.
javascript/knip push recommended Finds files, exports, and dependencies nothing uses.
Setting What it sets
javascript.script_files Script files, which may print to the console and call process.exit.
tools.eslint.import_extension The import suffix in this scope: js for compiled ESM, ts for Deno and Bun, or extensionless for code that a bundler builds.
tools.eslint.restricted_imports Imports that this repository refuses, each with a name and a message.
tools.eslint.rules Option arrays by ESLint rule ID, without a severity, which apply only where the level turns the rule on; accept findings with gspot ignore --rule.
tools.eslint.override Lint rule options for repository-relative paths, in order, with ignores applied last.
tools.knip.entry Entry points knip starts from beyond the ones the framework configuration declares.
tools.knip.ignore_dependencies Exact package names that knip does not report as unused; new names need a reason, and a scope list applies to that project only.

gspot selects it in a scope with file extensions .js, .jsx, .mjs, .cjs, or script interpreters node, or project files package.json. A configuration that requires it selects it too: astro, cloudflare, drizzle, express, jest, react, react-hook-form, supabase, svelte, tanstack-query, testing-library, translations, trpc, typescript, vitest, vue, zod, zustand.

Rule file Installed when
.gspot/configurations/language/javascript/rules/BUN.md The repository has filenames bun.lock, bun.lockb, bunfig.toml.
.gspot/configurations/language/javascript/rules/COMPONENTS.md The repository has dependencies astro, svelte, vue, react.
.gspot/configurations/language/javascript/rules/DENO.md The repository has javascript runtimes deno.
.gspot/configurations/language/javascript/rules/JAVASCRIPT.md Always
.gspot/configurations/language/javascript/rules/NODE.md The repository has javascript runtimes node, unless the repository depends on react-native, expo.
.gspot/configurations/language/javascript/rules/PLAYWRIGHT.md The repository has dependencies @playwright/test, playwright.
Tool Version
eslint 9.39.5
@eslint/js 9.39.5
@gspothq/eslint-plugin 0.2.0
eslint-plugin-sonarjs 4.2.0
eslint-plugin-unicorn 65.0.1
eslint-plugin-security 4.0.1
eslint-plugin-barrel-files 3.0.1
eslint-plugin-perfectionist 5.12.1
eslint-plugin-n 18.3.0
eslint-plugin-jsdoc 64.3.9
eslint-plugin-regexp 3.3.0
eslint-plugin-import-x 4.17.1
picomatch 4.0.7
eslint-import-resolver-typescript 4.4.5
eslint-plugin-boundaries 7.2.0
eslint-plugin-package-json 1.8.0
eslint-config-prettier 10.1.8
globals 17.12.0
knip 6.35.1
tsc 5.9.3

gspot writes .gspot/configurations/language/javascript/eslint.mjs, .gspot/configurations/language/javascript/jsconfig.json, .gspot/configurations/language/javascript/knip.json, .gspot/configurations/language/javascript/semgrep.yml (with the security configuration), and .gspot/configurations/language/javascript/eslint-runtime.mjs.

node_modules and bower_components.