routie dev init since i didn't adhere to any proper guidance up until now

This commit is contained in:
2026-04-29 22:27:29 -06:00
commit e1dabb71e2
15301 changed files with 3562618 additions and 0 deletions
@@ -0,0 +1,58 @@
import { TSESLint } from '@typescript-eslint/utils'
import { CommonPartitionOptions } from '../types/common-partition-options.js'
import { CommonGroupsOptions } from '../types/common-groups-options.js'
import { CommonOptions } from '../types/common-options.js'
/**
* Global settings for the Perfectionist plugin.
*
* These settings can be configured in ESLint configuration under the
* 'perfectionist' key and apply to all Perfectionist rules unless overridden by
* rule-specific options.
*/
export type Settings = Partial<
Pick<
CommonGroupsOptions<string, unknown, unknown>,
'newlinesBetween' | 'newlinesInside'
> &
CommonPartitionOptions &
CommonOptions
>
/**
* Extracts and validates Perfectionist settings from ESLint configuration.
*
* Retrieves global Perfectionist settings that apply to all rules. Validates
* that only allowed settings are provided and throws an error if invalid
* options are detected. This ensures configuration errors are caught early with
* clear error messages.
*
* The settings are accessed from the 'perfectionist' key in ESLint's shared
* configuration settings.
*
* @example
*
* ```ts
* // Valid usage:
* const settings = getSettings(context.settings)
* // Returns: { type: 'natural', order: 'asc', ignoreCase: true }
* ```
*
* @example
*
* ```ts
* // Invalid setting throws error:
* getSettings({
* perfectionist: {
* type: 'natural',
* invalidOption: true, // This will throw
* },
* })
* // Throws: Error: Invalid Perfectionist setting(s): invalidOption
* ```
*
* @param settings - ESLint shared configuration settings object.
* @returns Validated Perfectionist settings or empty object if none configured.
* @throws {Error} If invalid settings are provided.
*/
export declare function getSettings(
settings: TSESLint.SharedConfigurationSettings,
): Settings