4.0.0 • Published 5 months ago

@chronoverse-shared/utilities v4.0.0

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

@chronoverse-shared/utilities

Shared utilities and constants for @chronoverse-eslint packages.

npm version ESLint License

Installation

npm install -D @chronoverse-shared/utilities

Or using alternative package managers:

yarn add -D @chronoverse-shared/utilities eslint
pnpm add -D @chronoverse-shared/utilities eslint
bun add -D @chronoverse-shared/utilities eslint

Usage

import eslintConfigBase from 'eslint-config-eslint';
import { variablesNoUnusedVariables, bestPracticesNoRestrictedProperties, stylisticNoRestrictedSyntax, variablesNoRestrictedGlobals } from '@chronoverse-shared/utilities/rule-options';
import { disables } from '@chronoverse-shared/utilities/disables';
import { sharedGlobals } from '@chronoverse-shared/utilities/globals';
import { eslintIgnores } from '@chronoverse-shared/utilities/ignores';
import { getRulesByConfigName } from '@chronoverse-shared/utilities/rules';
import { javascript, typescript, ... } from '@chronoverse-shared/utilities/files';
import { EXCLUDE_PATTERNS } from '@chronoverse-shared/utilities/constants';

import { defineConfig } from 'eslint/config';

const eslintConfig = defineConfig([
	eslintIgnores,

	{
		files: [...javascript, ...typescript],
		ignores: EXCLUDE_PATTERNS,
		languageOptions: {
			globals: sharedGlobals,
		},
		rules: {
			...getRulesByConfigName('eslint-config-eslint/js', eslintConfigBase),

			'no-unused-vars': ['error', ...variablesNoUnusedVariables],

			'no-restricted-properties': ['error', ...bestPracticesNoRestrictedProperties],

			'no-restricted-syntax': ['error', ...stylisticNoRestrictedSyntax],

			'no-restricted-globals': ['error', ...variablesNoRestrictedGlobals],
		},
	},

	disables,
]);

export default eslintConfig;

Requirements

  • ESLint >=9.28.0
  • Bun >=1.2.14
  • Node.js >=23.11.0

MIT © Chronoverse