Registry / devops / eslint-plugin-skuba

eslint-plugin-skuba

JSON →
library2.0.1jsnpmunverified

ESLint plugin for skuba, the SEEK development toolkit. Version 2.0.1, released as a stable major after a major rewrite to support ESLint 9 flat config and TypeScript ESLint v8. It is part of the skuba ecosystem and is released alongside skuba releases, with a cadence of minor/patch releases as needed. Key differentiator: enforces SEEK-specific lint rules and style conventions, integrates closely with skuba's build and template system, and now ships ESM with type declarations. Intended for use with skuba-managed projects.

npm install eslint-plugin-skuba
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-SKUB
E
eslint-plugin-skuba
devopsjavascriptv2.0.1
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import plugin from 'eslint-plugin-skuba'
const plugin = require('eslint-plugin-skuba')
ESM-only since v2. CommonJS require will fail.
configs
import { configs } from 'eslint-plugin-skuba'
Access named export for flat config presets.
rules
import { rules } from 'eslint-plugin-skuba'
const { rules } = require('eslint-plugin-skuba')
ESM-only; rules key contains all rule implementations.

Configure ESLint flat config to use eslint-plugin-skuba with TypeScript ESLint recommended rules and a custom plugin rule.

// eslint.config.js import plugin from 'eslint-plugin-skuba'; import tseslint from 'typescript-eslint'; export default tseslint.config( ...tseslint.configs.recommended, plugin.configs.recommended, { rules: { 'skuba/no-ts-expect-error': 'error', }, }, );
Debug
Known issues
breakingVersion 2.x drops CommonJS support and requires ESLint 9+ flat config.
fix
Migrate to ESM imports and flat config. See migration guide: https://seek-oss.github.io/skuba/docs/migration/eslint-plugin-skuba.html
affects: >=2.0.0
breakingPeer dependency typescript-eslint >=8.39.0 required; older versions incompatible.
fix
Update typescript-eslint to ^8.39.0 or newer.
affects: >=2.0.0
breakingNode.js >=22.14.0 required starting from v2.0.1.
fix
Upgrade Node.js to version 22.14.0 or higher.
affects: >=2.0.1
deprecatedRule 'ts-expect-error' is deprecated in favor of 'no-ts-expect-error'.
fix
Replace 'skuba/ts-expect-error' with 'skuba/no-ts-expect-error'.
affects: >=2.0.0
gotchaFlat config only: .eslintrc files are not supported in v2.
fix
Use eslint.config.js with flat config structure.
affects: >=2.0.0
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/node_modules/eslint-plugin-skuba/dist/index.js from /path/to/eslint.config.js not supported.
Using CommonJS require() on an ESM-only plugin.
fix
Change to import statement or rename eslint.config.js to eslint.config.mjs.
ESLint: Failed to load plugin 'skuba': Cannot find module 'typescript-eslint'
Missing peer dependency typescript-eslint.
fix
Run npm install typescript-eslint@latest.
ESLint: Error while loading rule 'skuba/no-ts-expect-error': Rule is not found
Using a rule name that does not exist in the plugin (typo or removed).
fix
Check available rules in plugin.configs.recommended or rules object.
Upgrade
Version history
2.0.1latest on npm
Audit
Dependencies
eslintrequiredPeer dependency: ESLint 9.22.0+ required for flat config support.
typescript-eslintrequiredPeer dependency: TypeScript ESLint 8.39.0+ required for TS rule support.
Agent activity
33 hits · last 30 days
node
30
OpenAI (training)
1
Resources
eslint-plugin-skuba — npm install eslint-plugin-skuba · libregistry