-
-
Notifications
You must be signed in to change notification settings - Fork 950
linter: Failed to load external plugin because no external linter was configured. This means the Oxlint binary was executed directly rather than via napi bindings #13739
Copy link
Copy link
Closed
Labels
A-linterArea - LinterArea - Linter
Description
What version of Oxlint are you using?
1.15.0
What command did you run?
bun run oxlint
What does your .oxlintrc.json config file look like?
And the referenced JSON config
{
"env": {
"es2015": true,
"es2020": true,
"node": true,
"browser": false,
"jest": true
},
"globals": {},
"plugins": [
"@typescript-eslint",
"promise",
"optimize-regex",
"no-secrets",
"import"
],
"rules": {
"brace-style": [
"error",
"1tbs",
{
"allowSingleLine": true
}
],
"comma-dangle": [
"error",
"never"
],
"comma-spacing": [
"error",
{
"before": false,
"after": true
}
],
"func-call-spacing": [
"error",
"never"
],
"quotes": [
"error",
"single",
{
"avoidEscape": true
}
],
"semi": [
"error",
"always"
],
"space-before-function-paren": [
"error",
{
"anonymous": "always",
"named": "never",
"asyncArrow": "always"
}
],
"keyword-spacing": [
"error",
{
"before": true,
"after": true,
"overrides": {
"return": {
"after": true
},
"throw": {
"after": true
},
"case": {
"after": true
}
}
}
],
"lines-between-class-members": [
"error",
"always",
{
"exceptAfterSingleLine": false
}
],
"space-infix-ops": "error",
"object-curly-spacing": [
"error",
"always"
],
"space-before-blocks": "error",
"no-extra-semi": "error",
"default-param-last": "off",
"@typescript-eslint/default-param-last": "error",
"indent": [
"error",
2,
{
"SwitchCase": 1,
"flatTernaryExpressions": false,
"offsetTernaryExpressions": true
}
],
"@typescript-eslint/indent": [
"off"
],
"no-array-constructor": "off",
"@typescript-eslint/no-array-constructor": "error",
"no-dupe-class-members": "off",
"@typescript-eslint/no-dupe-class-members": "error",
"no-empty-function": [
"error"
],
"@typescript-eslint/no-empty-function": "off",
"no-extra-parens": "off",
"@typescript-eslint/no-extra-parens": [
"off",
"all",
{
"conditionalAssign": true,
"nestedBinaryExpressions": false,
"returnAssign": false,
"ignoreJSX": "all",
"enforceForArrowConditionals": false
}
],
"no-loss-of-precision": "off",
"@typescript-eslint/no-loss-of-precision": "error",
"no-loop-func": "off",
"@typescript-eslint/no-loop-func": "error",
"no-magic-numbers": "off",
"@typescript-eslint/no-magic-numbers": [
"off",
{
"ignore": [],
"ignoreArrayIndexes": true,
"enforceConst": true,
"detectObjects": false
}
],
"no-redeclare": "off",
"@typescript-eslint/no-redeclare": "error",
"no-shadow": [
"error",
{
"hoist": "functions"
}
],
"@typescript-eslint/no-shadow": "off",
"no-unused-expressions": "off",
"@typescript-eslint/no-unused-expressions": [
"error",
{
"allowShortCircuit": false,
"allowTernary": false,
"allowTaggedTemplates": false
}
],
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": [
"error",
{
"vars": "all",
"args": "all",
"argsIgnorePattern": "^_",
"caughtErrors": "all",
"caughtErrorsIgnorePattern": "^_",
"destructuredArrayIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"ignoreRestSiblings": false
}
],
"no-use-before-define": "off",
"@typescript-eslint/no-use-before-define": [
"error",
{
"functions": true,
"classes": true,
"variables": true
}
],
"no-useless-constructor": "off",
"@typescript-eslint/no-useless-constructor": "error",
"require-await": "off",
"@typescript-eslint/require-await": "off",
"@typescript-eslint/ban-ts-comment": "error",
"import/extensions": [
"error",
"ignorePackages",
{
"js": "always",
"cjs": "never",
"mjs": "always",
"jsx": "never",
"ts": "never",
"tsx": "never",
"json": "always",
"node": "always",
"wasm": "always"
}
],
"import/no-extraneous-dependencies": [
"error",
{
"optionalDependencies": false,
"devDependencies": [
"test/**",
"tests/**",
"spec/**",
"**/__tests__/**",
"**/__mocks__/**",
"test.{js,jsx}",
"test.{ts,tsx}",
"test-*.{js,jsx}",
"test-*.{ts,tsx}",
"**/*{.,_}{test,spec}.{js,jsx}",
"**/*{.,_}{test,spec}.{ts,tsx}",
"**/jest.config.js",
"**/jest.config.ts",
"**/jest.setup.js",
"**/jest.setup.ts",
"**/vue.config.js",
"**/vue.config.ts",
"**/webpack.config.js",
"**/webpack.config.ts",
"**/webpack.config.*.js",
"**/webpack.config.*.ts",
"**/rollup.config.js",
"**/rollup.config.ts",
"**/rollup.config.*.js",
"**/rollup.config.*.ts",
"**/gulpfile.js",
"**/gulpfile.ts",
"**/gulpfile.*.js",
"**/gulpfile.*.ts",
"**/Gruntfile{,.js}",
"**/Gruntfile{,.ts}",
"**/protractor.conf.js",
"**/protractor.conf.ts",
"**/protractor.conf.*.js",
"**/protractor.conf.*.ts",
"**/karma.conf.js",
"**/karma.conf.ts",
"**/.eslintrc.js",
"**/.eslintrc.ts",
"**/eslint.config.js",
"**/eslint.config.ts",
"**/eslint.config.cjs",
"**/eslint.config.mjs"
]
}
],
"@eslint-community/eslint-comments/no-unused-disable": "error",
"@eslint-community/eslint-comments/disable-enable-pair": "warn",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/class-literal-property-style": [
"error"
],
"@typescript-eslint/no-non-null-asserted-optional-chain": [
"error"
],
"operator-linebreak": [
"off",
"after"
],
"prefer-template": "error",
"complexity": [
"error",
{
"max": 7
}
],
"max-depth": [
"error",
{
"max": 3
}
],
"max-nested-callbacks": [
"error",
{
"max": 3
}
],
"max-lines-per-function": [
"error",
{
"max": 60,
"skipBlankLines": true,
"skipComments": true,
"IIFEs": true
}
],
"max-lines": [
"error",
{
"max": 100,
"skipBlankLines": true,
"skipComments": true
}
],
"no-useless-concat": "error",
"no-console": "warn",
"no-template-curly-in-string": "error",
"no-underscore-dangle": "off",
"camelcase": "off",
"import/prefer-default-export": "warn",
"import/no-mutable-exports": "error",
"no-secrets/no-secrets": "error",
"import/no-unresolved": "error",
"n/no-unsupported-features/es-syntax": [
"error",
{
"ignores": [
"modules"
]
}
]
},
"settings": {
"node": {
"tryExtensions": [
".ts",
".js",
".d.ts",
".html",
".md",
".json",
".wasm",
".node"
]
},
"import/resolver": {
"node": {
"extensions": [
".ts",
".mjs",
".js",
".d.ts",
".html",
".md",
".json",
".wasm",
".node"
]
},
"typescript": {
"alwaysTryTypes": true,
"project": [
"packages/*/tsconfig.json",
"tsconfig.json"
]
}
},
"import/extensions": [
".ts",
".mjs",
".js",
".d.ts",
".html",
".md",
".json",
".wasm",
".node"
],
"import/external-module-folders": [
"node_modules",
"node_modules/@types"
],
"import/parsers": {
"@typescript-eslint/parser": [
".ts",
".tsx",
".d.ts"
]
}
}
}What happened?
❯ bun run oxlint
Failed to parse configuration file.
× Failed to load external plugin because no external linter was configured. This means the Oxlint binary was executed directly rather than via napi bindings.
error: "oxlint" exited with code 1Related issues
cargo run -p oxlint -- --print-configfails on main with WSL2 #12168 (same error message)- feat(linter): load custom JS plugins configured in overrides #12324
Environment details
- OS: macOS 15.6.1 (24G90)
- Arch: Apple Silicon
- Runtime: Bun
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-linterArea - LinterArea - Linter
Type
Fields
Give feedbackPriority
None yet
Effort
None yet
{ "extends": ["./packages/eslint-config-node/oxlintrc.json"], "rules": { "@typescript-eslint/no-var-requires": "off", "complexity": ["error", { "max": 7 }], "max-lines-per-function": [ "error", { "max": 48, "skipBlankLines": true, "skipComments": true, "IIFEs": true } ] }, "ignorePatterns": [".history", ".release-me", "scripts"] }