0.0.2 • Published 7 months ago

@mathieumagalhaes/eslint-plugin-search-and-replace v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

⚙️ 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:

OptionTypeDefaultDescription
searchstring-The text or pattern to search for
replacestring-The text to replace matches with
caseSensitivebooleantrueWhether the search should be case sensitive
scopestring"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