Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .eslintrc.cjs

This file was deleted.

68 changes: 33 additions & 35 deletions bun.lock

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import compat from "eslint-plugin-compat";
import figLinter from "@withfig/eslint-plugin-fig-linter";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Missing dependency for @withfig/eslint-plugin-fig-linter

@withfig/eslint-plugin-fig-linter is imported here but is not listed in package.json devDependencies and has been removed from bun.lock. Any developer running bun install from scratch will get a module-not-found error when bun run lint-fig (or mise run render:fig) hits this import. The package needs to be added explicitly since it was previously a transitive dependency of @fig/eslint-config-autocomplete (now removed).

Add "@withfig/eslint-plugin-fig-linter": "^1.4.1" to devDependencies in package.json and regenerate the lockfile.

Fix in Claude Code

Comment thread
cursor[bot] marked this conversation as resolved.
import tseslint from "typescript-eslint";

export default tseslint.config(
{
files: ["xtasks/fig/**/*.ts"],
extends: [
...tseslint.configs.recommended,
compat.configs["flat/recommended"],
],
plugins: {
"@withfig/fig-linter": figLinter,
},
languageOptions: {
ecmaVersion: 2020,
sourceType: "module",
globals: {
Fig: "readonly",
},
},
rules: {
"@typescript-eslint/explicit-module-boundary-types": "off",
"no-unused-vars": "off",
"no-var": "off",
"@typescript-eslint/no-unused-vars": "off",
Comment on lines +24 to +26

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Disabling no-unused-vars, no-var, and @typescript-eslint/no-unused-vars globally for these files reduces code quality and safety. It is recommended to keep these rules enabled to prevent the use of legacy var declarations and to identify dead code. If certain variables must remain unused, consider prefixing them with an underscore (e.g., _unused) and configuring the rule to ignore that pattern, or use specific inline disable comments where necessary.

Suggested change
"no-unused-vars": "off",
"no-var": "off",
"@typescript-eslint/no-unused-vars": "off",
rules: {
"@typescript-eslint/explicit-module-boundary-types": "off",
"@withfig/fig-linter/no-malicious-script": "error",
},

"@withfig/fig-linter/no-malicious-script": "error",
},
},
{
files: ["xtasks/fig/src/**/*.ts"],
rules: {
"@withfig/fig-linter/no-useless-insertvalue": "error",
"@withfig/fig-linter/no-empty-array-values": "error",
"@withfig/fig-linter/no-name-equals": "error",
},
},
);
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,20 @@
"esbuild": "0.28.0"
},
"devDependencies": {
"@fig/eslint-config-autocomplete": "^2.0.0",
"@tsconfig/node24": "^24.0.0",
"@types/markdown-it": "^14.1.2",
"@types/node": "^25.0.0",
"@withfig/autocomplete-tools": "^2.11.0",
"@withfig/autocomplete-types": "^1.31.0",
"@withfig/eslint-plugin-fig-linter": "^1.4.1",
"eslint": "^10.0.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The package @withfig/eslint-plugin-fig-linter is imported in eslint.config.mjs but is missing from devDependencies. It was previously a transitive dependency of @fig/eslint-config-autocomplete, which has been removed. This will cause the linting process to fail because the module cannot be found.

Suggested change
"eslint": "^10.0.0",
"@withfig/eslint-plugin-fig-linter": "^1.4.1",
"eslint": "^10.0.0",

"eslint-plugin-compat": "^7.0.1",
"js-toml": "^1.0.2",
"markdown-it": "^14.1.0",
"toml": "^4.0.0",
"tsx": "^4.20.6",
"typescript": "^6.0.0",
"typescript-eslint": "^8.58.2",
"vitepress": "1.6.4",
"vitepress-plugin-group-icons": "^1.6.5",
"vitepress-plugin-mermaid": "2.0.17",
Expand Down
2 changes: 1 addition & 1 deletion xtasks/fig/generators.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// If not being published, these need to manually downloaded from https://github.com/withfig/autocomplete/tree/master/src
/* eslint-disable @withfig/fig-linter/conventional-descriptions */

import { createNpmSearchHandler } from "./npm";
import { searchGenerator as createCargoSearchGenerator } from "./cargo";

Expand Down
2 changes: 1 addition & 1 deletion xtasks/fig/src/mise.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// If not being published, these need to manually downloaded from https://github.com/withfig/autocomplete/tree/master/src
/* eslint-disable @withfig/fig-linter/conventional-descriptions */

import { createNpmSearchHandler } from "./npm";
import { searchGenerator as createCargoSearchGenerator } from "./cargo";

Expand Down
Loading