1.0.1 • Published 11 months ago

@front-utils/linter v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
11 months ago

Front-utils/linter

The repository contains configuration files for setting up ESLint in the project.

Note: Only ftat eslint configutation

Installation

You can install the package as follows:

npm install @front-utils/linter --save-dev

# or

yarn add @front-utils/linter -D

# or

bun add @front-utils/linter --dev

Usage (ESM)

import {
    utils, // utilities
    configs // preconfigured configs
} from "@front-utils/linter";

create alias

import { utils } from "@front-utils/linter";
import importPlugin from 'eslint-plugin-import';

export const fullEslintAliases = [
    ...utils.createEslintAlias({ 
        name: 'pkg', 
        basePath: '.', 
        config: {
            utils: 'src/infrastructure/utils', // @alias: @pkg/utils -> src/infrastructure/utils
            models: 'src/data/models' // @alias: @pkg/models -> src/data/models
        } 
    }),
    ...utils.createEslintAlias({ name: 'api', basePath: '.', config: {} }),
];

const importPluginConfig = {
    plugins: {
        import: importPlugin,
    },
    settings: {
        'import/resolver': {
            alias: {
                map       : fullEslintAliases,
                extensions: ['.ts', '.tsx', '.json', '.js', 'jsx'],
            },
            ...
        },
    }
};

create eslint config

import { utils } from "@front-utils/linter";

/** 
The config.types parameter is an array that can contain the following keys:
 - babel: include babel settings
 - react: indicates whether React support is enabled.
 - test: indicates whether testing support is enabled.
 - ts: indicates whether TypeScript support is enabled.
*/
const eslintConfig = utils.createEslintConfig({
    types: ['ts', 'babel', 'react', 'test'],
    ...{
        ignores: [],
        files: []
    } /** any eslint rule */
}),
base rulesincluded plugins
with any config.types@eslint/js eslint-plugin-compat eslint-plugin-optimize-regex eslint-plugin-promise eslint-plugin-sonarjs eslint-plugin-filenames eslint-plugin-import eslint-plugin-jsx-a11y

add plugins with config.types

config.typesincluded plugins
testeslint-plugin-testing-library eslint-plugin-jest-dom
tstypescript-eslint
reacteslint-plugin-react-hooks eslint-plugin-react
babel@babel/eslint-parser

rewrite the rules in all plugins.

import { utils } from '@front-utils/linter';

export default [
    ...utils.createEslintConfig({
        ignores: ["**/*" ,"!src/**/*"]
    })
]; 
aliasis equal
standartutils.createEslintConfig()
testutils.createEslintConfig({types: 'test',})
tsutils.createEslintConfig({types: 'ts',})
reactutils.createEslintConfig({types: 'ts', 'react',})
monorepoutils.createEslintConfig({types: 'test', 'babel', 'ts', 'react',})

standart config

alias for utils.createEslintConfig()

npm install @front-utils/linter @eslint/js eslint-plugin-compat eslint-plugin-optimize-regex eslint-plugin-promise eslint-plugin-sonarjs eslint-plugin-filenames  eslint-plugin-import eslint-plugin-jsx-a11y --save-dev
// eslint.config.js
import {
    configs,
} from "@front-utils/linter";

export default configs.standart;

ts config

alias for utils.createEslintConfig({types: 'ts',})

npm install @front-utils/linter @eslint/js typescript-eslint eslint-plugin-compat eslint-plugin-optimize-regex eslint-plugin-promise eslint-plugin-sonarjs eslint-plugin-filenames  eslint-plugin-import eslint-plugin-jsx-a11y --save-dev
// eslint.config.js
import {
    configs,
} from "@front-utils/linter";

export default configs.ts;

react config

alias for utils.createEslintConfig({types: 'ts', 'react',})

npm install @front-utils/linter @eslint/js typescript-eslint eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-compat eslint-plugin-optimize-regex eslint-plugin-promise eslint-plugin-sonarjs eslint-plugin-filenames  eslint-plugin-import eslint-plugin-jsx-a11y globals --save-dev
// eslint.config.js
import {
    configs,
} from "@front-utils/linter";

export default configs.react;

test config

alias for utils.createEslintConfig({types: 'test',})

npm install @front-utils/linter @eslint/js eslint-plugin-testing-library eslint-plugin-jest-dom --save-dev
// eslint.config.js
import {
    configs,
} from "@front-utils/linter";

export default configs.test;

monorepo config

alias for utils.createEslintConfig({types: 'test', 'babel', 'ts', 'react',})

npm install @front-utils/linter @eslint/js typescript-eslint eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-compat eslint-plugin-optimize-regex eslint-plugin-promise eslint-plugin-sonarjs eslint-plugin-filenames  eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-testing-library eslint-plugin-jest-dom @babel/eslint-parser globals --save-dev
// eslint.config.js
import {
    configs,
} from "@front-utils/linter";

export default configs.monorepo;

configured config for use in a monorepo (expects the presence of tsconfig.json, babel.config.js files in the project root, and uses react, typescript technologies)

0.9.8

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago

0.9.9

11 months ago

0.9.4

11 months ago

0.9.3

11 months ago

0.9.6

11 months ago

0.9.0

12 months ago

0.9.2

11 months ago

0.9.1

11 months ago

0.8.1

12 months ago

0.8.0

12 months ago

0.8.3

12 months ago

0.8.2

12 months ago

0.6.3

12 months ago

0.6.2

12 months ago

0.7.0

12 months ago

0.6.1

12 months ago

0.6.0

1 year ago

0.5.4

1 year ago

0.5.3

1 year ago

0.5.6

1 year ago

0.5.5

1 year ago

0.5.2

1 year ago

0.5.1

1 year ago

0.5.0

1 year ago

0.4.0

1 year ago

0.3.0

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago