@arabasta/eslint-plugin-javascript
v1.0.0
Published
ESLint plugin for javascript rules
Downloads
83
Readme
@arabasta/eslint-plugin-javascript
ESLint plugin for javascript rules.
Installation
Assuming you already have ESLint installed, run:
# npm
npm install --save-dev @arabasta/eslint-plugin-javascript
# yarn
yarn add --dev @arabasta/eslint-plugin-javascript
# pnpm
pnpm add --save-dev @arabasta/eslint-plugin-javascript
Usage
Flat config (eslint.config.js)
// ...
import arabastaJavascript from '@arabasta/eslint-plugin-javascript';
export default [
// ...
arabastaJavascript.configs.recommended,
];
Legacy config (.eslintrc)
{
"extends": [
// ...
"plugin:@arabasta/javascript/recommended-legacy"
]
}
Rules
💼 Configurations enabled in.
✅ Set in the recommended
configuration.
🔧 Automatically fixable by the --fix
CLI option.
💡 Manually fixable by editor suggestions.
| Name | Description | 💼 | 🔧 | 💡 | | -------------------------------------------------------------------- | ------------------------------------------ | --- | --- | --- | | report-caught-error | require caught errors to be reported | ✅ | | 💡 | | use-alternative-functions | require the usage of alternative functions | | 🔧 | |
Settings
You may set the following settings in your config:
@arabasta/alternative-functions
A map from names of groups of alternative functions to array of alternative functions.
This setting is currently only used by the use-alternative-functions rule as an alternative to Rule Options because we want multiple configs to add their own options - a feature that is not possible in the current eslint.
interface AlternativeFunction {
/**
* The name of the function that will be replaced by the alternative (`to`) function.
*/
from: string;
/**
* The name of the alternative function that will replace the `from` function.
*/
to: string;
}
interface Settings {
'@arabasta/alternative-functions': {
/**
* The key of the object that holds the array of alternative functions is
* recommended to be used as a description of the group of alternative functions.
* Note: The key should be distinctive enough so that it won't be overwritten by other configs.
*/
[key?: string]: AlternativeFunction[];
};
}
const exampleSettings: Settings = {
'@arabasta/alternative-functions': {
redux: [
{
from: 'useDispatch',
to: 'useAppDispatch',
},
{
from: 'useSelector',
to: 'useAppSelector',
},
],
'redux-thunk': [
{
from: 'createAsyncThunk',
to: 'createAppAsyncThunk',
},
],
},
};