Skip to content

Sorting Plugin

Rules that automatically sort any and all possible aspects of code alphabetically, such as imports and properties.
This plugin is provided in a standalone @flint.fyi/plugin-sorting npm package.

Terminal window
npm install @flint.fyi/plugin-sorting

Flint’s sorting plugin includes rules that automatically sort any and all possible aspects of code alphabetically, such as imports and properties. It comes provided with the flint npm package.

Flint’s sorting plugin provides the following preset:

PresetRecommendedDescription
stylistic✅ AlwaysCommon rules sorting various aspects of code.

Flint recommends using the stylistic preset:

flint.config.ts
import {
import sorting
sorting
} from "@flint.fyi/sorting";
import {
function defineConfig(definition: ConfigDefinition): Config

Defines a new linter configuration for a Flint config file.

@seehttps://flint.fyi/configuration flint.fyi/configuration

defineConfig
} from "flint";
export default
function defineConfig(definition: ConfigDefinition): Config

Defines a new linter configuration for a Flint config file.

@seehttps://flint.fyi/configuration flint.fyi/configuration

defineConfig
({
ConfigDefinition.use: ConfigUseDefinition[]

Specifies the files to be linted alongside the rules and settings to lint with.

@seehttps://flint.fyi/configuration#use flint.fyi/configuration#use

use
: [
{
ConfigUseDefinition.files: AnyLevelDeep<FilesValue>

A list of glob patterns describing which file(s) to lint.

@seehttps://flint.fyi/configuration#files flint.fyi/configuration#files

files
:
import sorting
sorting
.
any
files
.
any
all
,
ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>

Any number of rules and/or presets of rules to enable for those files.

@seehttps://flint.fyi/configuration#rules flint.fyi/configuration#rules

rules
: [
import sorting
sorting
.
any
presets
.
any
stylistic
],
},
],
});

Rules that sort code in most-to-all common web files. This will include, tentatively, all files supported by other core Flint plugins: JavaScript/TypeScript, Markdown, and YAML.

flint.config.ts
import {
import sorting
sorting
} from "@flint.fyi/sorting";
import {
function defineConfig(definition: ConfigDefinition): Config

Defines a new linter configuration for a Flint config file.

@seehttps://flint.fyi/configuration flint.fyi/configuration

defineConfig
} from "flint";
export default
function defineConfig(definition: ConfigDefinition): Config

Defines a new linter configuration for a Flint config file.

@seehttps://flint.fyi/configuration flint.fyi/configuration

defineConfig
({
ConfigDefinition.use: ConfigUseDefinition[]

Specifies the files to be linted alongside the rules and settings to lint with.

@seehttps://flint.fyi/configuration#use flint.fyi/configuration#use

use
: [
{
ConfigUseDefinition.files: AnyLevelDeep<FilesValue>

A list of glob patterns describing which file(s) to lint.

@seehttps://flint.fyi/configuration#files flint.fyi/configuration#files

files
:
import sorting
sorting
.
any
files
.
any
all
,
ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>

Any number of rules and/or presets of rules to enable for those files.

@seehttps://flint.fyi/configuration#rules flint.fyi/configuration#rules

rules
:
import sorting
sorting
.
any
presets
.
any
stylistic
,
},
],
});
Implemented: 0 of 23 (0%)
Flint RulePreset
classesstylistic
decoratorsstylistic
exportsstylistic
heritageClausesstylistic
interfacesstylistic
intersectionTypesstylistic
jsdocTagsstylistic
jsonKeysstylistic
jsxPropsstylistic
mapsstylistic
modulesstylistic
objectsstylistic
objectTypesstylistic
packageCollectionsstylistic
regexFlagsstylistic
regexListsstylistic
setsstylistic
switchCasesstylistic
typeConstituentsstylistic
unionTypesstylistic
variableDeclarationsstylistic
yamlSequenceValuesstylistic
yamlKeys(none)

Flint’s sorting plugin will tentatively provide the following file selector:

  • all: **/*.{cjs,js,json,jsx,mjs,md,ts,tsx,yaml,yml}
Made with ❤️‍🔥 around the world by the Flint team and contributors.