0.0.2 • Published 7 months ago
@mathieumagalhaes/eslint-plugin-search-and-replace v0.0.2
⚙️ Installation
pnpm add -D @mathieumagalhaes/eslint-plugin-search-and-replace
yarn add --dev @mathieumagalhaes/eslint-plugin-search-and-replace
npm install --save-dev @mathieumagalhaes/eslint-plugin-search-and-replace
🔧 Usage
import searchAndReplace from "@mathieumagalhaes/eslint-plugin-search-and-replace";
export default [
{
plugins: {
'search-and-replace': searchAndReplace
}
}
];
Rule Configuration
The replace rule accepts the following options:
Option | Type | Default | Description |
---|---|---|---|
search | string | - | The text or pattern to search for |
replace | string | - | The text to replace matches with |
caseSensitive | boolean | true | Whether the search should be case sensitive |
scope | string | "global" | The scope of replacement. Can be "global" , "variable" , or "import-path" |
Then configure the rules you want to use under the rules section:
{
"rules": {
"search-and-replace/replace": ["error", {
"search": "foo",
"replace": "bar"
}]
}
}
🔧 Examples
Global Text Replacement
{
"rules": {
"search-and-replace/replace": ["error", {
"search": "oldText",
"replace": "newText"
}]
}
}
Case-Insensitive Replacement
{
"rules": {
"search-and-replace/replace": ["error", {
"search": "oldtext",
"replace": "newText",
"caseSensitive": false
}]
}
}
Variable Name Replacement
{
"rules": {
"search-and-replace/replace": ["error", {
"search": "oldVar",
"replace": "newVar",
"scope": "variable"
}]
}
}
Import Path Replacement
{
"rules": {
"search-and-replace/replace": ["error", {
"search": "@old-package",
"replace": "@new-package",
"scope": "import-path"
}]
}
}
Multiple Replacement Rules
You can also configure multiple replacement rules by passing an array:
{
"rules": {
"search-and-replace/replace": ["error", [
{
"search": "oldText",
"replace": "newText"
},
{
"search": "anotherOld",
"replace": "anotherNew",
"scope": "variable"
}
]]
}
}
🤝 Contribute
Continuous improvement is encouraged and your contributions are valuable!
If you identify areas for improvement, have suggestions or encounter issues, please create a GitHub issue.
Running locally
- Install dependencies.
- Run
pnpm/yarn/npm run dev
- You can edit
src/rules/**
typescript files. - Linting this codebase can be done with
pnpm/yarn/npm run lint
- Testing the codebase (after changes and build succesfully) can be done with
pnpm/yarn/npm run test
Any added feature should have at least one valid and at least one invalid test case.
📜 LICENSE
This is licensed under the MIT License, see LICENSE