From 9bc8b4fc5bffebfbe52bca5438d866a2604de5e0 Mon Sep 17 00:00:00 2001 From: Guz013 <43732358+Guz013@users.noreply.github.com> Date: Fri, 21 Jul 2023 17:24:55 -0300 Subject: [PATCH] =?UTF-8?q?docs:=20=F0=9F=93=9A=EF=B8=8F=20add=20missing?= =?UTF-8?q?=20documentations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/config/index.d.ts | 42 +++++++++++++++++++-- packages/config/src/configs/common.js | 1 + packages/config/src/configs/environments.js | 17 ++++++++- packages/config/src/index.js | 2 +- 4 files changed, 56 insertions(+), 6 deletions(-) diff --git a/packages/config/index.d.ts b/packages/config/index.d.ts index f230f9d..9de724d 100644 --- a/packages/config/index.d.ts +++ b/packages/config/index.d.ts @@ -1,17 +1,53 @@ -import type { EnvOptions } from './src/types'; +import type { Config, EnvOptions } from './src/types'; import type { Linter } from 'eslint'; -export async function defineConfig(config: Linter.FlatConfig[], environment?: EnvOptions): Promise; +/** + * Helper functions for creating/configuring ESLint. + * + * @param config - Array or function returning an array of ESLint's configuration objects array to be used. + * @param environment - An object with environment variables to be declared and used by the configuration. + * @returns The array of ESLint's configuration objects. + */ +export async function defineConfig(config: Config, environment?: EnvOptions): Promise; export const configs: Readonly<{ + /** + * **This configuration is necessary to be used before any other one**. + * Common configuration for using ESLit rules overrides. + */ + common: Linter.FlatConfig + /** + * Recommended configuration overrides of ESLit + */ recommended: Linter.FlatConfig + /** + * Formatting rules/configuration overrides for Javascript and Typescript + */ formatting: Linter.FlatConfig + /** + * Typescript specific configuration overrides + */ typescript: Linter.FlatConfig + /** + * Configuration objects for different development environments. + */ environments: { - deno: Linter.FlatConfig + /** + * Configuration for Node development environment + */ node: Linter.FlatConfig + /** + * Configuration for Deno development environment + */ + deno: Linter.FlatConfig + /** + * Configuration for browser development environment + */ browser: Linter.FlatConfig } + /** + * JSDoc rules overrides + */ jsdoc: Linter.FlatConfig }>; diff --git a/packages/config/src/configs/common.js b/packages/config/src/configs/common.js index 51f0ab0..73c7996 100644 --- a/packages/config/src/configs/common.js +++ b/packages/config/src/configs/common.js @@ -3,6 +3,7 @@ import tsParser from '@typescript-eslint/parser'; import jsdoc from 'eslint-plugin-jsdoc'; /** + * **This configuration is necessary to be used before any other one**. * Common configuration for using ESLit rules overrides. * * @type {Readonly} diff --git a/packages/config/src/configs/environments.js b/packages/config/src/configs/environments.js index 12ff385..8ab990e 100644 --- a/packages/config/src/configs/environments.js +++ b/packages/config/src/configs/environments.js @@ -1,6 +1,10 @@ import globals from 'globals'; -/** @type {import('eslint').Linter.FlatConfig} */ +/** + * Configuration for Node development environment + * + * @type {import('eslint').Linter.FlatConfig} + */ const node = { files: ['**/*.js', '**/*.cjs', '**/*.mjs', '**/*.ts', '**/*.cts', '**/*.mts'], languageOptions: { @@ -10,7 +14,11 @@ const node = { }, }; -/** @type {import('eslint').Linter.FlatConfig} */ +/** + * Configuration for Deno development environment + * + * @type {import('eslint').Linter.FlatConfig} + */ const deno = { files: ['**/*.js', '**/*.ts'], languageOptions: { @@ -21,6 +29,11 @@ const deno = { }, }; +/** + * Configuration for browser development environment + * + * @type {import('eslint').Linter.FlatConfig} + */ const browser = { files: ['**/*.js', '**/*.ts'], languageOptions: { diff --git a/packages/config/src/index.js b/packages/config/src/index.js index 0d178bd..5af5677 100644 --- a/packages/config/src/index.js +++ b/packages/config/src/index.js @@ -2,7 +2,7 @@ import { eslintrc } from './eslintrc-compact.js'; /** * @param {import('./types').Config} config - * Array or functions returning an array of ESLint's configuration objects array to be used. + * Array or function returning an array of ESLint's configuration objects array to be used. * * @param {import('./types').EnvOptions | undefined} environment * An object with environment variables to be declared and used by the configuration.