Skip to content

sortTypesGroup not working #3162

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
blackirishmec opened this issue Mar 3, 2025 · 2 comments
Closed

sortTypesGroup not working #3162

blackirishmec opened this issue Mar 3, 2025 · 2 comments

Comments

@blackirishmec
Copy link

blackirishmec commented Mar 3, 2025

Enabling that rule crashes ESLint.

Versioning:

  • "@eslint/js": "^9.21.0",
  • "eslint-plugin-import": "^2.31.0",
  • "eslint-import-resolver-typescript": "^3.8.3",

The config:

'import/order': [
	'error',
	{
		alphabetize: { order: 'asc', caseInsensitive: true },
		groups: [
			'external',
			'type',
			'internal',
			'builtin',
			['parent', 'sibling', 'index'],
			'unknown',
		],
		pathGroups: [
			{
				pattern: '@(react|react-native)',
				group: 'external',
				position: 'before',
			},
			{
				pattern: '@reduxjs/**',
				group: 'external',
				position: 'before',
			},
			{
				pattern: 'expo**',
				group: 'external',
				position: 'before',
			},
			{
				pattern: 'react-native',
				group: 'external',
				position: 'before',
			},
			{
				pattern: '@/types/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/interfaces/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/enums/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/models/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/api/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/redux/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/hooks/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/utilities/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/functions/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/components/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/styles/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/tests/**',
				group: 'type',
				position: 'after',
			},
			{
				pattern: '@/**',
				group: 'type',
				position: 'after',
			},
		],
		'newlines-between': 'always',
		pathGroupsExcludedImportTypes: ['builtin', 'type'],
		named: true,
		sortTypesGroup: true,
	},
],

Error log:

[Error - 3:32:08 PM] Calculating config file for ####) failed.
Error: .eslintrc.js:
	Configuration for rule "import/order" is invalid:
	Value {"alphabetize":{"order":"asc","caseInsensitive":true},"groups":["external","type","internal","builtin",["parent","sibling","index"],"unknown"],"pathGroups":[{"pattern":"@(react|react-native)","group":"external","position":"before"},{"pattern":"@reduxjs/**","group":"external","position":"before"},{"pattern":"expo**","group":"external","position":"before"},{"pattern":"react-native","group":"external","position":"before"},{"pattern":"@/types/**","group":"type","position":"after"},{"pattern":"@/interfaces/**","group":"type","position":"after"},{"pattern":"@/enums/**","group":"type","position":"after"},{"pattern":"@/models/**","group":"type","position":"after"},{"pattern":"@/api/**","group":"type","position":"after"},{"pattern":"@/redux/**","group":"type","position":"after"},{"pattern":"@/hooks/**","group":"type","position":"after"},{"pattern":"@/utilities/**","group":"type","position":"after"},{"pattern":"@/functions/**","group":"type","position":"after"},{"pattern":"@/components/**","group":"type","position":"after"},{"pattern":"@/styles/**","group":"type","position":"after"},{"pattern":"@/tests/**","group":"type","position":"after"},{"pattern":"@/**","group":"type","position":"after"}],"newlines-between":"always","pathGroupsExcludedImportTypes":["builtin","type"],"named":true,"sortTypesGroup":true,"distinctGroup":true,"warnOnUnassignedImports":false} should NOT have additional properties.

    at ConfigValidator.validateRuleOptions (#####/node_modules/eslint/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:2048:23)
    at #####/node_modules/eslint/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:2103:18
    at Array.forEach (<anonymous>)
    at ConfigValidator.validateRules (#####/node_modules/eslint/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:2100:34)
    at ConfigValidator.validateConfigArray (#####/node_modules/eslint/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:2226:18)
    at CascadingConfigArrayFactory._finalizeConfigArray (#####/node_modules/eslint/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:3985:23)
    at CascadingConfigArrayFactory.getConfigArrayForFile (#####/node_modules/eslint/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:3791:21)
    at CLIEngine.isPathIgnored (#####/node_modules/eslint/lib/cli-engine/cli-engine.js:1000:18)
    at ESLint.isPathIgnored (#####/node_modules/eslint/lib/eslint/eslint.js:681:26)
    at #####/.vscode-insiders/extensions/dbaeumer.vscode-eslint-3.0.10/server/out/eslintServer.js:1:24303
@Xunnamius
Copy link
Contributor

Xunnamius commented Mar 3, 2025

@blackirishmec The sortTypesGroup rule has not been released yet. [email protected] was released back in 2024 while sortTypesGroup was implemented in 2025 :)

@blackirishmec
Copy link
Author

@Xunnamius Thank you for the heads up! That makes a ton more sense haha. Wonderful plugin, thank you for your help with it, this upcoming feature is right up my alley.

@ljharb ljharb closed this as not planned Won't fix, can't repro, duplicate, stale Mar 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants