Skip to content

Commit

Permalink
chore(deps): Update dependencies.
Browse files Browse the repository at this point in the history
  • Loading branch information
darkobits committed Dec 8, 2023
1 parent 3395297 commit feb71be
Show file tree
Hide file tree
Showing 10 changed files with 1,143 additions and 620 deletions.
4 changes: 2 additions & 2 deletions nr.config.ts → nr.config.mts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import path from 'path';

import { nr } from '@darkobits/ts';
import { withDefaultPackageScripts } from '@darkobits/ts';


export default nr(({ command, task, script }) => {
export default withDefaultPackageScripts(({ command, task, script }) => {
// This re-defines the default build script without parallelization. This is
// necessary because this project's ESLint configuration relies on the project
// having been built first.
Expand Down
1,696 changes: 1,107 additions & 589 deletions package-lock.json

Large diffs are not rendered by default.

23 changes: 13 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,30 +22,33 @@
"help": "nr --scripts"
},
"peerDependencies": {
"@eslint/js": "^8.52.0",
"@typescript-eslint/eslint-plugin": "^6.9.1",
"@typescript-eslint/parser": "^6.9.1",
"eslint": "^8.52.0",
"@eslint/js": "^8.55.0",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"eslint": "^8.55.0",
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prefer-arrow": "^1.2.3",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-unicorn": "^49.0.0"
},
"dependencies": {
"@darkobits/log": "^2.0.0-beta.16",
"eslint-define-config": "^1.24.1",
"eslint-define-config": "^2.0.0",
"eslint-import-resolver-typescript": "^3.6.1",
"get-tsconfig": "^4.7.2",
"globals": "^13.23.0",
"ramda": "^0.29.1"
},
"devDependencies": {
"@darkobits/ts": "^0.18.11",
"@types/eslint": "^8.44.6",
"@types/ramda": "^0.29.7",
"@types/react": "^18.2.33",
"@darkobits/ts": "~0.20.1",
"@types/eslint": "^8.44.8",
"@types/ramda": "^0.29.9",
"@types/react": "^18.2.42",
"react": "^18.2.0"
},
"overrides": {
"eslint": "^8.55.0"
}
}
12 changes: 6 additions & 6 deletions src/config-sets/ts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import jsEslintPlugin from '@eslint/js';
import tsEslintPlugin from '@typescript-eslint/eslint-plugin';
import typeScriptParser from '@typescript-eslint/parser';
import { defineFlatConfig, type FlatESLintConfigItem } from 'eslint-define-config';
import { defineFlatConfig, type FlatESLintConfig } from 'eslint-define-config';
// @ts-expect-error - This package lacks type definitions.
import importPlugin from 'eslint-plugin-import';
// @ts-expect-error - This package lacks type definitions.
Expand Down Expand Up @@ -38,7 +38,7 @@ const tsConfig = parseTsConfig();

// ----- [ts] Common Configuration ---------------------------------------------

export const commonConfig: FlatESLintConfigItem = {
export const commonConfig: FlatESLintConfig = {
files: [
// Include top-level configuration files in a project. This exists to
// suppress errors in IDEs from the ESLint plugin when viewing such files.
Expand Down Expand Up @@ -98,7 +98,7 @@ applyPlugin(commonConfig, { plugin: preferArrowPlugin, namespace: 'prefer-arrow'

// ----- [ts] TypeScript Files -------------------------------------------------

export const tsFileConfig: FlatESLintConfigItem = {
export const tsFileConfig: FlatESLintConfig = {
files: [`**/*.{${TS_EXTS}}`],
languageOptions: {
globals: {
Expand All @@ -122,20 +122,20 @@ applyTSRuleSet(tsFileConfig);

// ----- [ts] JavaScript Files -------------------------------------------------

export const jsFileConfig: FlatESLintConfigItem = {
export const jsFileConfig: FlatESLintConfig = {
files: [`**/*.{${JS_EXTS}}`],
rules: convertTypeScriptRulesToJavaScriptRules(tsFileConfig.rules)
};


// ----- [ts] Test Files -------------------------------------------------------

export const tsTestFileConfig: FlatESLintConfigItem = {
export const tsTestFileConfig: FlatESLintConfig = {
files: [`**/*.{spec,test}.{${TS_EXTS}}`],
rules: generateTypeScriptTestFileRules()
};

export const jsTestFileConfig: FlatESLintConfigItem = {
export const jsTestFileConfig: FlatESLintConfig = {
files: [`**/*.{spec,test}.{${JS_EXTS}}`],
rules: convertTypeScriptRulesToJavaScriptRules(tsTestFileConfig.rules)
};
Expand Down
6 changes: 3 additions & 3 deletions src/config-sets/tsx.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {
defineFlatConfig,
type FlatESLintConfigItem
type FlatESLintConfig
} from 'eslint-define-config';
// @ts-expect-error - This package lacks type definitions.
import jsxA11yPlugin from 'eslint-plugin-jsx-a11y';
Expand All @@ -22,7 +22,7 @@ import { applyTSXRuleSet } from 'rules/tsx';

// ----- [tsx] Common Configuration --------------------------------------------

export const commonConfig: FlatESLintConfigItem = {
export const commonConfig: FlatESLintConfig = {
files: [`**/*.{${ALL_EXTS}}`],
languageOptions: {
// This should be set upstream by the 'ts' config set.
Expand Down Expand Up @@ -59,7 +59,7 @@ applyTSXRuleSet(commonConfig);

// ----- [tsx] JavaScript JSX Files --------------------------------------------

export const jsxFileConfig: FlatESLintConfigItem = {
export const jsxFileConfig: FlatESLintConfig = {
files: ['**/*.{js,jsx}'],
rules: convertTypeScriptRulesToJavaScriptRules(commonConfig.rules)
};
Expand Down
3 changes: 3 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,6 @@ export const configs = { ts: tsLegacy, tsx: tsxLegacy } as ESLint.Plugin['config
*/
export { tsConfigSet as ts } from './config-sets/ts';
export { tsxConfigSet as tsx } from './config-sets/tsx';


export { defineConfig, defineFlatConfig } from 'eslint-define-config';
8 changes: 4 additions & 4 deletions src/lib/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { getTsconfig } from 'get-tsconfig';
import * as R from 'ramda';

import type { ESLint, Linter } from 'eslint';
import type { FlatESLintConfigItem } from 'eslint-define-config';
import type { FlatESLintConfig } from 'eslint-define-config';


export interface TsConfigResult {
Expand Down Expand Up @@ -79,7 +79,7 @@ export interface ApplyPluginOptions {
* key, any 'rules' that are added to the configuration from that plugin will
* fail to resolve the rule's implementation and throw an error.
*/
export function applyPlugin(config: FlatESLintConfigItem, options: ApplyPluginOptions) {
export function applyPlugin(config: FlatESLintConfig, options: ApplyPluginOptions) {
const { namespace, plugin, applyPreset } = options;

config.plugins = config.plugins ?? {};
Expand Down Expand Up @@ -117,7 +117,7 @@ export function applyPlugin(config: FlatESLintConfigItem, options: ApplyPluginOp
}


export function flatConfigToLegacyOverride(flatConfig: FlatESLintConfigItem) {
export function flatConfigToLegacyOverride(flatConfig: FlatESLintConfig) {
const legacyOverride: Partial<Linter.ConfigOverride> = R.pick([
'files',
'rules'
Expand Down Expand Up @@ -162,7 +162,7 @@ export function flatConfigToLegacyOverride(flatConfig: FlatESLintConfigItem) {
* 'no-undef': 'error'
*
*/
export function convertTypeScriptRulesToJavaScriptRules(typeScriptRules: FlatESLintConfigItem['rules'] = {}) {
export function convertTypeScriptRulesToJavaScriptRules(typeScriptRules: FlatESLintConfig['rules'] = {}) {
return R.reduce((javaScriptRules, [ruleName, ruleConfig]) => {

// Not likely to happen at runtime, but narrows ruleConfig to non-nullable.
Expand Down
5 changes: 2 additions & 3 deletions src/rules/ts.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import type { Linter } from 'eslint';
import type { FlatESLintConfigItem } from 'eslint-define-config';
import type { FlatESLintConfig } from 'eslint-define-config';


/**
* Provided a legacy or flat ESLint configuration object, adds rule settings
* for our 'ts' preset.
*/
export function applyTSRuleSet(config: FlatESLintConfigItem): void {
export function applyTSRuleSet(config: FlatESLintConfig): void {
config.rules = config.rules ?? {};


Expand Down Expand Up @@ -401,7 +401,6 @@ export function applyTSRuleSet(config: FlatESLintConfigItem): void {
format: ['PascalCase']
}, {
// Allow any standard casing for default imports.
// @ts-expect-error - 'import' is a valid value here; types are inaccurate.
selector: 'import',
format: ['camelCase', 'UPPER_CASE', 'PascalCase']
}, {
Expand Down
6 changes: 3 additions & 3 deletions src/rules/tsx.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import type { FlatESLintConfigItem } from 'eslint-define-config';
import type { FlatESLintConfig } from 'eslint-define-config';


/**
* Provided an ESLint configuration object, adds rule settings for the 'ts'
* preset. Used as a single source of truth for both legacy and new/flat
* ESLint configuration formats.
*/
export function applyTSXRuleSet(config: FlatESLintConfigItem) {
export function applyTSXRuleSet(config: FlatESLintConfig) {
config.rules = config.rules ?? {};


Expand Down Expand Up @@ -294,7 +294,7 @@ export function applyTSXRuleSet(config: FlatESLintConfigItem) {


// export function generateJavaScriptRuleSet(
// config: FlatESLintConfigItem
// config: FlatESLintConfig
// ): RuleSet {}

// export function generateTestRuleSet(): RuleSet {}
File renamed without changes.

0 comments on commit feb71be

Please sign in to comment.