oxlint-plugin-effect

raw JSON →
0.2.2 verified Fri May 01 auth: no javascript

oxlint-plugin-effect (v0.2.2) is an oxlint plugin that provides lint rules specific to the Effect-TS ecosystem. It includes both JavaScript-based rules and Go-based type-aware rules for deeper analysis. The plugin supports Effect v3 and v4 dual-version codebases, and ships precompiled binaries for multiple platforms. Key differentiators: type-aware linting via tsgolint Go binary, 59+ rules covering Effect patterns, and integration with oxlint's plugin system. The plugin is actively maintained with releases on a changeset-based cadence. Peer dependency: effect >=4.0.0-beta.49.

error ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING
cause Plugin shipped raw TypeScript; Node cannot strip types under node_modules.
fix
Upgrade to oxlint-plugin-effect@0.2.1 or later.
error Error: Failed to parse oxlint config: unknown rule 'effect/noReturnNull'
cause The rule 'noReturnNull' was removed from the plugin in v0.2.2.
fix
Replace 'effect/noReturnNull' with 'effect/noReturnNullish' in your config.
error Cannot find module 'oxlint-plugin-effect'
cause Plugin not installed or version mismatch.
fix
Run 'npm install oxlint-plugin-effect' and check peer dependency effect.
error TypeError: pluginEffect is not a function
cause Plugin default export is not a function; it is an object.
fix
Use 'pluginEffect' directly in the plugins object, not as pluginEffect().
breaking Plugin fails to load because it shipped raw TypeScript files instead of compiled JavaScript.
fix Upgrade to oxlint-plugin-effect@0.2.1 or later, which ships compiled JS.
breaking Removed rule 'noReturnNull' from strict preset; using that preset may cause oxlint config parse failure.
fix Remove any reference to 'noReturnNull' from your config; use 'noReturnNullish' instead.
breaking Rule names changed between v0.1.0 and v0.2.0, e.g., 'noEffectMap' replaced by 'no-effect-map'.
fix Update rule names to kebab-case format as used in oxlint config.
deprecated The 'full' preset is deprecated in favor of 'recommended' or 'strict'.
fix Use 'configs.recommended' or 'configs.strict' instead of 'configs.full'.
gotcha Peer dependency 'effect' must be >=4.0.0-beta.49; older versions will cause rule errors.
fix Ensure your project depends on effect >=4.0.0-beta.49.
npm install oxlint-plugin-effect
yarn add oxlint-plugin-effect
pnpm add oxlint-plugin-effect

Configures oxlint with the Effect plugin and enables two rules as an example.

// oxlint.config.ts
import { defineLinter } from 'oxlint';
import pluginEffect from 'oxlint-plugin-effect';

export default defineLinter({
  plugins: {
    effect: pluginEffect,
  },
  rules: {
    'effect/no-unnecessary-pipe-chain': 'error',
    'effect/no-catch-all-to-map-error': 'warn',
  },
});