@gmjs/eslint-config
v0.0.42
Published
ESLint configuration.
Maintainers
Readme
ESLint Config
This package contains a function used to create an ESLint config object.
Installation
npm install --save-dev @gmjs/eslint-configUsage
Create an ESLint config file, one of:
eslint.config.jseslint.config.cjseslint.config.mjs
Then use something like the following code (if using esm module syntax):
import { getEsLintConfigs } from '@gmjs/eslint-config';
export default [
...getEsLintConfigs({ projectType: 'node' })
];Or equivalent commonjs syntax:
const { getEsLintConfigs } = require('@gmjs/eslint-config');
module.exports = [
...getEsLintConfigs({ projectType: 'node' })
];API
getEsLintConfigs
Accepts a single parameter, options of type EslintConfigOptions.
Return a list of EsLint configurations, to be used in your project.
You can specify different project types:
'shared'- For projects to be used from either Node or Browser.'node'- For Node.js projects.'browser'- For browser projects.'react'- For React projects.
import { getEsLintConfigs } from '@gmjs/eslint-config';
export default [...getEsLintConfigs({ projectType: 'node' })];Types
EslintConfigOptions
type ProjectType = 'shared' | 'node' | 'browser' | 'react';
interface EslintConfigOptionsBase {
readonly projectType: ProjectType;
}
interface EslintConfigOptionsReact extends EslintConfigOptionsBase {
readonly projectType: 'react';
readonly storybook: boolean;
}
interface EslintConfigOptionsBrowser extends EslintConfigOptionsBase {
readonly projectType: 'browser';
}
interface EslintConfigOptionsNode extends EslintConfigOptionsBase {
readonly projectType: 'node';
}
interface EslintConfigOptionsShared extends EslintConfigOptionsBase {
readonly projectType: 'shared';
}
type EslintConfigOptions =
| EslintConfigOptionsReact
| EslintConfigOptionsBrowser
| EslintConfigOptionsNode
| EslintConfigOptionsShared;