CtrlK
BlogDocsLog inGet started
Tessl Logo

mcollina/linting-neostandard-eslint9

Configures ESLint v9 flat config and neostandard for JavaScript and TypeScript projects, including migrating from legacy `.eslintrc*` files or the `standard` package. Use when you need to set up or fix linting with `eslint.config.js` or `eslint.config.mjs`, troubleshoot lint errors, configure neostandard rules, migrate from `.eslintrc` to flat config, or integrate linting into CI pipelines and pre-commit hooks.

96

Quality

96%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

neostandard.mdrules/

name:
neostandard
description:
How neostandard actually works with ESLint v9 flat config
metadata:
{"tags":"neostandard, eslint, eslint9, flat-config, standardjs, typescript"}

neostandard is a shared ESLint flat config and config generator, not a standalone replacement linter command.

Key model

  • You install both neostandard and eslint
  • You generate or author eslint.config.js / eslint.config.mjs
  • You run linting via eslint (eslint ., eslint . --fix)

Install

npm install --save-dev neostandard eslint

Create config

Generate ESM config:

npx neostandard --esm > eslint.config.js

Generate CommonJS config:

npx neostandard > eslint.config.js

Or author manually (ESM):

import neostandard from 'neostandard'

export default neostandard({
  ts: true
})

Run lint

{
  "scripts": {
    "lint": "eslint .",
    "lint:fix": "eslint . --fix"
  }
}

Common options

  • ts: true — lint *.ts and *.d.ts
  • semi: true — semicolon mode (semistandard-style)
  • noStyle: true — disable style rules (useful with Prettier/dprint)
  • noJsx: true — disable JSX rules
  • ignores, files, filesTs, env, globals

Version caveat (v1+)

As of neostandard v1+, eslint-plugin-import-x is no longer bundled.

  • If you need deep import/export lint rules, add eslint-plugin-import-x explicitly
  • For many TypeScript projects, prefer tsc --noEmit for module/import correctness checks

Useful export

Use .gitignore patterns as ESLint ignores:

import neostandard, { resolveIgnoresFromGitignore } from 'neostandard'

export default neostandard({
  ignores: resolveIgnoresFromGitignore()
})

Important migration note

For projects moving from standard, keep neostandard as the config source but run lint through eslint.

rules

ci-and-editor-integration.md

eslint-v9-flat-config.md

migration-from-legacy-eslint.md

migration-from-standard.md

neostandard.md

SKILL.md

tile.json