or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

cli-tool.mdconstants-patterns.mdcore-configuration.mdfile-format-support.mdindex.mdlanguage-framework-support.mdstyling-formatting.mdutility-functions.md
tile.json

file-format-support.mddocs/

File Format Support

Configuration functions for various file formats including JSON, YAML, TOML, and Markdown with appropriate parsers and rules.

Capabilities

JSON with Comments (JSONC) Configuration

JSONC support with stylistic rules and sorting capabilities.

/**
 * JSONC configuration for JSON files with comments
 * @param options - JSONC configuration options
 * @returns ESLint config for JSONC files
 */
function jsonc(
  options?: OptionsOverrides & OptionsStylistic
): Promise<TypedFlatConfigItem[]>;

Usage Examples:

import { jsonc } from "@antfu/eslint-config";

// Basic JSONC config
const jsoncConfig = await jsonc();

// With custom stylistic options
const jsoncConfigStyled = await jsonc({
  stylistic: {
    indent: 2,
  },
  overrides: {
    'jsonc/sort-keys': 'error',
  },
});

YAML Configuration

YAML file linting with proper parser integration.

/**
 * YAML configuration for YAML files
 * @param options - YAML configuration options
 * @returns ESLint config for YAML files
 */
function yaml(
  options?: OptionsOverrides & OptionsStylistic
): Promise<TypedFlatConfigItem[]>;

Usage Examples:

import { yaml } from "@antfu/eslint-config";

// Basic YAML config
const yamlConfig = await yaml();

// With custom rules
const yamlConfigCustom = await yaml({
  overrides: {
    'yml/indent': ['error', 2],
    'yml/quotes': ['error', { prefer: 'single' }],
  },
});

TOML Configuration

TOML file linting and formatting support.

/**
 * TOML configuration for TOML files
 * @param options - TOML configuration options
 * @returns ESLint config for TOML files
 */
function toml(
  options?: OptionsOverrides & OptionsStylistic
): Promise<TypedFlatConfigItem[]>;

Usage Examples:

import { toml } from "@antfu/eslint-config";

// Basic TOML config
const tomlConfig = await toml();

// With stylistic preferences
const tomlConfigStyled = await toml({
  stylistic: {
    indent: 2,
  },
  overrides: {
    'toml/indent': ['error', 2],
  },
});

Markdown Configuration

Markdown code block linting for embedded code snippets.

/**
 * Markdown configuration for code blocks in Markdown files
 * @param options - Markdown configuration options
 * @returns ESLint config for Markdown files
 */
function markdown(
  options?: OptionsOverrides & OptionsComponentExts
): Promise<TypedFlatConfigItem[]>;

Usage Examples:

import { markdown } from "@antfu/eslint-config";

// Basic markdown config
const markdownConfig = await markdown();

// With component extensions and custom rules
const markdownConfigCustom = await markdown({
  componentExts: ['vue', 'svelte'],
  overrides: {
    'no-console': 'off', // Allow console in code examples
    'import/no-unresolved': 'off',
  },
});

Package JSON Sorting

Specialized configuration for sorting package.json fields.

/**
 * Sort package.json fields according to conventions
 * @returns ESLint config for package.json sorting
 */
function sortPackageJson(): Promise<TypedFlatConfigItem[]>;

Usage Examples:

import { sortPackageJson } from "@antfu/eslint-config";

// Package.json sorting config
const packageSortConfig = await sortPackageJson();

TypeScript Config Sorting

Specialized configuration for sorting tsconfig.json fields.

/**
 * Sort tsconfig.json fields according to conventions
 * @returns ESLint config for tsconfig.json sorting
 */
function sortTsconfig(): Promise<TypedFlatConfigItem[]>;

Usage Examples:

import { sortTsconfig } from "@antfu/eslint-config";

// TSConfig sorting config  
const tsconfigSortConfig = await sortTsconfig();

Regular Expression Configuration

RegExp linting for safer and more maintainable regular expressions.

/**
 * Regular expression linting configuration
 * @param options - RegExp configuration options
 * @returns ESLint config for RegExp rules
 */
function regexp(
  options?: OptionsRegExp & OptionsOverrides
): Promise<TypedFlatConfigItem[]>;

interface OptionsRegExp {
  /** Override rule levels */
  level?: 'error' | 'warn';
}

Usage Examples:

import { regexp } from "@antfu/eslint-config";

// Basic RegExp config
const regexpConfig = await regexp();

// With warning level instead of errors
const regexpConfigWarn = await regexp({
  level: 'warn',
  overrides: {
    'regexp/no-unused-capturing-group': 'error',
  },
});

Unicorn Configuration

Additional code quality rules from eslint-plugin-unicorn.

/**
 * Unicorn plugin configuration for code quality rules
 * @param options - Unicorn configuration options
 * @returns ESLint config for Unicorn rules
 */
function unicorn(
  options?: OptionsUnicorn
): Promise<TypedFlatConfigItem[]>;

interface OptionsUnicorn extends OptionsOverrides {
  /** Include all recommended rules instead of curated subset */
  allRecommended?: boolean;
}

Usage Examples:

import { unicorn } from "@antfu/eslint-config";

// Basic unicorn config (curated rules)
const unicornConfig = await unicorn();

// All recommended rules
const unicornConfigAll = await unicorn({
  allRecommended: true,
  overrides: {
    'unicorn/prevent-abbreviations': 'off',
  },
});

PNPM Workspace Configuration

PNPM workspace and catalog support for monorepos.

/**
 * PNPM workspace configuration for monorepo support
 * @returns ESLint config for PNPM workspace files
 */
function pnpm(): Promise<TypedFlatConfigItem[]>;

Usage Examples:

import { pnpm } from "@antfu/eslint-config";

// PNPM workspace config
const pnpmConfig = await pnpm();

UnoCSS Configuration

UnoCSS class validation and attributify support.

/**
 * UnoCSS configuration for CSS utility class validation
 * @param options - UnoCSS configuration options
 * @returns ESLint config for UnoCSS rules
 */
function unocss(
  options?: OptionsUnoCSS
): Promise<TypedFlatConfigItem[]>;

interface OptionsUnoCSS extends OptionsOverrides {
  /** Enable attributify support */
  attributify?: boolean;
  /** Enable strict mode with blocklisted classes */
  strict?: boolean;
}

Usage Examples:

import { unocss } from "@antfu/eslint-config";

// Basic UnoCSS config
const unocssConfig = await unocss();

// With attributify and strict mode
const unocssConfigStrict = await unocss({
  attributify: true,
  strict: true,
  overrides: {
    '@unocss/order': 'warn',
  },
});