diff --git a/eslint.config.js b/eslint.config.js index 6622608..35a44f0 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,30 +1,23 @@ import { defineFlatConfig } from 'eslint-define-config'; import { extend } from '@archoleat/eslint-flat-compatibility'; - import globals from 'globals'; - +import importSortPlugin from 'eslint-plugin-simple-import-sort'; +import parser from '@typescript-eslint/parser'; import prettierConfig from 'eslint-config-prettier'; import unicornPlugin from 'eslint-plugin-unicorn'; -import parser from '@typescript-eslint/parser'; - export default defineFlatConfig([ - ...extend( - 'airbnb-base', - 'airbnb-typescript/base', - 'plugin:import/recommended', - 'plugin:import/typescript', - ), - unicornPlugin.configs['flat/recommended'], + ...extend('airbnb-base', 'airbnb-typescript/base'), { files: ['src/**/*.ts'], languageOptions: { parser, - ecmaVersion: 'latest', globals: { ...globals.node, + ...globals.es2015, }, parserOptions: { + ecmaVersion: 'latest', project: 'tsconfig.json', }, sourceType: 'module', @@ -36,13 +29,18 @@ export default defineFlatConfig([ }, }, }, + plugins: { + 'simple-import-sort': importSortPlugin, + unicorn: unicornPlugin, + }, rules: { - 'prefer-regex-literals': 'off', + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', 'import/exports-last': 'error', 'import/extensions': ['error', { ts: 'always' }], 'import/group-exports': 'error', 'import/no-commonjs': 'error', - 'import/no-default-export': 'error', + 'import/no-default-export': 'off', 'import/no-namespace': 'error', 'import/no-unassigned-import': 'error', 'import/prefer-default-export': 'off', diff --git a/package.json b/package.json index 4c20ece..170aa34 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "eslint-define-config": "^2.1.0", "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-import": "^2.31.0", + "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-unicorn": "^56.0.0", "git-pull-run": "^1.4.0", "globals": "^15.11.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dee81e1..4343202 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -80,6 +80,9 @@ importers: eslint-plugin-import: specifier: ^2.31.0 version: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-simple-import-sort: + specifier: ^12.1.1 + version: 12.1.1(eslint@8.57.1) eslint-plugin-unicorn: specifier: ^56.0.0 version: 56.0.0(eslint@8.57.1) @@ -1586,6 +1589,11 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + eslint-plugin-simple-import-sort@12.1.1: + resolution: {integrity: sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==} + peerDependencies: + eslint: '>=5.0.0' + eslint-plugin-unicorn@56.0.0: resolution: {integrity: sha512-aXpddVz/PQMmd69uxO98PA4iidiVNvA0xOtbpUoz1WhBd4RxOQQYqN618v68drY0hmy5uU2jy1bheKEVWBjlPw==} engines: {node: '>=18.18'} @@ -5691,6 +5699,10 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 + eslint-plugin-simple-import-sort@12.1.1(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + eslint-plugin-unicorn@56.0.0(eslint@8.57.1): dependencies: '@babel/helper-validator-identifier': 7.25.7 diff --git a/rollup.config.ts b/rollup.config.ts index 919c8b5..3b7a105 100644 --- a/rollup.config.ts +++ b/rollup.config.ts @@ -1,20 +1,15 @@ import { resolve } from 'node:path'; - import { defineConfig } from 'rollup'; - import { dts } from 'rollup-plugin-dts'; import { minify } from 'rollup-plugin-esbuild'; - import alias from '@rollup/plugin-alias'; import typescript from '@rollup/plugin-typescript'; const sourceFolder = 'src'; const appFolder = `${sourceFolder}/app`; const sharedFolder = `${sourceFolder}/shared`; - const fileFormat = 'es'; const fileName = 'index'; - const declarationFile = `${fileName}.d.ts`; const entryFile = `${fileName}.ts`; const outputFile = `${fileName}.js`; diff --git a/src/app/index.ts b/src/app/index.ts index ef66e45..53ba6ec 100644 --- a/src/app/index.ts +++ b/src/app/index.ts @@ -1,3 +1,2 @@ export { FONT_FILE_NAME_REGEX } from './font-file-name.ts'; - export { selectors } from './selectors.ts';