Skip to main content
PRONeed enterprise-grade codemods tailored to your codebase?

Assess, plan, evolve.

Reusable compiler-aware skills that help coding agents understand, plan, and safely evolve your codebase.

18 packages

Sort by
eslint/v9-to-v10

Migrate ESLint projects from v9 to v10 — runs all four v9-to-v10 codemods in a single pass

  • Bundle
  • transformation
  • migration
  • +4
Eeslint avatareslint
v1.1.1
5,254
2 months ago
eslint/v8-to-v9-config

Migrate ESLint configuration from v8 to v9 flat config format

  • transformation
  • migration
  • +3
Eeslint avatareslint
v1.9.44
1,320
3 months ago
eslint/v9-to-v10-config

Remove legacy env vars and CLI flags for ESLint v10

  • transformation
  • migration
  • +3
Eeslint avatareslint
v1.1.1
4,360
3 months ago
eslint/v9-to-v10-linter-api

Migrate removed Linter/ESLint constructor options and stricter rule config schema for ESLint v10

  • transformation
  • migration
  • +3
Eeslint avatareslint
v1.1.1
4,264
3 months ago
eslint/v9-to-v10-ruletester

Fix RuleTester test case structure for ESLint v10

  • transformation
  • migration
  • +3
Eeslint avatareslint
v1.2.1
4,262
3 months ago
eslint/v9-to-v10-custom-rules

Migrate custom ESLint rules from v9 to v10 format

  • transformation
  • migration
  • +3
Eeslint avatareslint
v1.3.1
4,281
3 months ago
eslint/v8-to-v9-custom-rules

Migrate custom ESLint rules from v8 to v9 format

  • transformation
  • migration
  • +3
Eeslint avatareslint
v1.0.14
261
3 months ago
biome/migrate-rules

This codemod replaces configuration files for ESLint with corresponding biome.json for all the found rules. It also replaces Prettier configuration. ## Note: This codemod accepts manual user input, which is required to migrate away from eslint. In order to run it properly, run the following command: ```bash npx eslint --print-config <path-to-a-file-that-eslint-checks> | codemod eslint/biome/migrate-rules ``` It's important that you pass these rules to the codemod, because our codemods are limited in access for security purposes and have no access to most node features that could maliciously affect your system. This codemod requires internet connection. ## Example ### `package.json` ### Before ```json { "name": "package-name", "dependencies": { "prettier": "^3.1.0", "prettier-plugin-tailwindcss": "^0.5.4", "@tanstack/eslint-plugin-query": "^4.29.25", "@someorg/prettier-config": "^1.1.1" }, "devDependencies": { "eslint-plugin-airbnb": "^10.2.0", "eslint": "^10.2.0", "eslint-plugin-prettier": "^10.2.0", "eslint-config-prettier": "^10.2.0" }, "main": "./dist/index.cjs", "scripts": { "start": "pnpm run build:cjs && node ./dist/index.cjs", "lint:eslint": "eslint . --fix", "lint:prettier": "prettier --write ." }, "eslintIgnore": ["ignore-key"], "files": [ "prettier-test-no-replace", "README.md", ".codemodrc.json", "./dist/index.cjs" ], "lint-staged": { "*.js": "eslint --fix", "*.ts": "eslint --fix" }, "type": "module" } ``` ### After ```json { "name": "package-name", "dependencies": {}, "devDependencies": { "@biomejs/biome": "1.5.3" }, "main": "./dist/index.cjs", "scripts": { "start": "pnpm run build:cjs && node ./dist/index.cjs", "lint:eslint": "pnpm dlx @biomejs/biome lint . --apply", "lint:prettier": "pnpm dlx @biomejs/biome format --write .", "NOTE": "You can apply both linter, formatter and import ordering by using https://biomejs.dev/reference/cli/#biome-check", "NOTE2": "There is an ongoing work to release prettier-tailwind-plugin alternative: https://biomejs.dev/linter/rules/use-sorted-classes/, https://github.com/biomejs/biome/issues/1274" }, "files": [ "prettier-test-no-replace", "README.md", ".codemodrc.json", "./dist/index.cjs" ], "lint-staged": { "*.js": "pnpm dlx @biomejs/biome lint --apply", "*.ts": "pnpm dlx @biomejs/biome lint --apply" }, "type": "module" } ``` ### `.eslintrc.json` ### Before ```json { "rules": [...] } ``` ### After `Removed and replaced with corresponding rules in biome.json` ### `.prettierrc` ### Before ```json { "printWidth": 80 } ``` ### After `Removed and replaced with corresponding values in biome.json` ### `biome.json` ```json { "linter": { "ignore": [ "ignore-key", "dist", "build", "pnpm-lock.yaml", "node_modules" ], "rules": { "suspicious": { "noDoubleEquals": "warn", "noAssignInExpressions": "warn" }, "correctness": { "noUnusedVariables": "off" } } }, "formatter": { "ignore": [], "indentStyle": "tab" } } ```

  • migration
  • eslint
CCodemod
v1.0.2
647
a year ago
webpack-to-rspack/eslint-webpack-plugin-to-eslint-rspack-plugin

Change import from eslint-webpack-plugin to eslint-rspack-plugin. ### Before ```ts //change the import package from eslint-webpack-plugin to eslint-rspack-plugin const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = { // ... plugins: [new ESLintPlugin(options)], // ... }; ``` ### After ```ts const ESLintPlugin = require('eslint-rspack-plugin'); module.exports = { // ... plugins: [new ESLintPlugin(options)], // ... }; ```

  • webpack
  • version 5
  • +4
Ddfordp
v1.0.1
480
a year ago
javascript-eslint-no-lonely-if

Rewrite eligible JavaScript-family else blocks whose only statement is an if into else-if chains, matching ESLint no-lonely-if without changing behavior.

  • javascript
  • typescript
  • +4
Mmohebifar avatarmohebifar
v0.1.0
0
5 months ago
javascript-eslint-dot-notation

Transform bracket notation with static string literal keys (e.g., `obj['prop']`) into equivalent dot notation (`obj.prop`) across JavaScript/TypeScript codebases when semantics are preserved, aligning with ESLint `dot-notation` best practices and improving readability and maintainability.

  • eslint
  • dot-notation
  • +3
Mmohebifar avatarmohebifar
v0.1.0
0
5 months ago
javascript-eslint-import-order

Normalize the top static ESM import block to eslint-plugin-import import/order grouping, blank-line, and alphabetical ordering conventions.

  • imports
  • eslint
  • +3
Mmohebifar avatarmohebifar
v0.1.0
0
5 months ago

Ready to evolve your codebase?

Build tailored, compiler-aware skills to assess, plan, and automate complex codebase changes.