--- title: "EDM115 - Project EDM115/edm115-lint" canonical_url: "https://edm115.dev/projects/edm115-lint" last_updated: "2026-08-30T03:11:53.821Z" 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/" ] } ```