@3yourmind/eslint-config
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

@3yourmind/eslint-config

Usage

import tseslint from 'typescript-eslint'
import eslintConfig3YD from '@3yourmind/eslint-config'

const config = tseslint.config(
	/**
	 * DO NOT ADD ANY OTHER KEYS TO THIS FIRST OBJECT
	 *
	 * @see {@link https://eslint.org/docs/latest/use/configure/ignore#ignoring-files}
	 */
	{
		ignores: ['**/dist/**', '**/.nuxt/**', '**/.turbo/**'], // global ignores
	},
	...eslintConfig3YD.configs.global, // enables recommended eslint settings globally
	{
		languageOptions: {
			ecmaVersion: 2022,
			parserOptions: {
				project: [
					'./tsconfig.json',
					// FIXME: Change these to your `tsconfig.json`s
					// './packages/*/tsconfig.json',
				],
				tsconfigRootDir: 'FIXME: You may want to specify this directory',
			},
			sourceType: 'module',
		},
	},
	...eslintConfig3YD.configs.default.map((config) => ({
		...config,
		// Example: apply config to only these files
		files: ['packages/**/*.ts', 'packages/**/*.tsx'],
	})),
	// Example: apply config to all default files
	...eslintConfig3YD.configs.untyped,
	...eslintConfig3YD.configs.json,
	...eslintConfig3YD.configs.tests.map((config) => ({
		...config,
		// FIXME: Add your custom test files here
		files: [
			...config.files,
			// 'packages/*/source/test-utils/**/*.ts'
		],
	})),
	...eslintConfig3YD.configs.vue,
	{
		rules: {
			// add your overrides here
			// '@typescript-eslint/no-restricted-imports': 'off',
		},
	},
)

export default config

Installation & Requirements

@3yourmind/eslint-config requires eslint>=9 and its new FlatConfig format

npm install --save-dev @3yourmind/eslint-config
# or
yarn add --dev @3yourmind/eslint-config

Configurations

  • eslintConfig3YD.configs.default
    • Should be used on .ts and .tsx files. This enables rules that rely on type checking.
  • eslintConfig3YD.configs.global
    • Registers plugins and settings that should be globally enabled.
  • eslintConfig3YD.configs.json
    • Should be used only on JSON files. Treats some files (e.g. tsconfig) as jsonc.
  • eslintConfig3YD.configs.tests
    • Should be used on test files. It includes vitest-specific rules and turns off rules that would be unhelpful/annoying when writing tests.
  • eslintConfig3YD.configs.untyped
    • Enables basic rules for javascript files. Use a more specific config if possible

Custom Rules

Readme

Keywords

Package Sidebar

Install

npm i @3yourmind/eslint-config

Weekly Downloads

10

Version

0.1.1

License

MIT

Unpacked Size

324 kB

Total Files

55

Last publish

Collaborators

  • moritzvetter
  • felix_bauer
  • dennis_hezel
  • 3yd_developer
  • florianwendelborn
  • florentgallois
  • santiagoballadares