---
title: "EDM115 - Project EDM115&#x2F;edm115-lint"
canonical_url: "https://edm115.github.io/website/website/projects/edm115-lint"
last_updated: "2026-08-20T22:17:59.149Z"
meta:
  description: "My very own sensible lint and style configs to reuse across my repos"
  "og:description": "My very own sensible lint and style configs to reuse across my repos"
  "og:title": "EDM115 - Project EDM115/edm115-lint"
---

Home

# edm115-lint

My very own sensible lint and style configs to reuse across my repos

## Usage

pwsh

```
pnpm add -D edm115-lint
```

### ESLint

ts

```
// eslint.stylistic.config.ts
import stylistic from "@stylistic/eslint-plugin"
import tsParser from "@typescript-eslint/parser"

import { eslint as edm115Lint } from "edm115-lint"
// or import edm115Lint from "edm115-lint/eslint"

export default [
  { ignores: [ "**/dist/", "**/node_modules/" ] },
  {
    files: ["**/*.ts"],
    linterOptions: { reportUnusedDisableDirectives: false },
    languageOptions: {
      ecmaVersion: "latest",
      sourceType: "module",
      parser: tsParser,
      parserOptions: {
        ecmaVersion: "latest",
        tsconfigRootDir: import.meta.dirname,
      },
    },
    plugins: { "@stylistic": stylistic },
    rules: edm115Lint,
  },
]
```

### OxLint

#### New config format

ts

```
// oxlint.config.ts
import { oxlint as edm115Lint } from "edm115-lint"
// or import edm115Lint from "edm115-lint/oxlint"
import { defineConfig } from "oxlint"

export default defineConfig({
  extends: [edm115Lint],
  plugins: ["vue"],
  env: {
    "es2025": true,
    "browser": true,
    "shared-node-browser": true,
  },
  ignorePatterns: [
    "**/.nuxt/",
    "**/.output/",
    "**/dist/",
    "**/node_modules/",
  ],
  options: {
    typeAware: true,
  },
})
```

#### Old config format

jsonc

```
// .oxlintrc.json
{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "extends": ["./node_modules/edm115-lint/.oxlintrc.base.json"], // when oxlint resolves properly node_modules, switch to "edm115-lint/oxlintrc"
  "plugins": [ "vue" ],
  "env": {
    "es2025": true,
    "browser": true,
    "shared-node-browser": true
  },
  "ignorePatterns": [
    "**/.nuxt/",
    "**/.output/",
    "**/dist/",
    "**/node_modules/"
  ]
}
```