@anexia/eslint-config-marine

Typescript ESLint shareable config

Usage no npm install needed!

<script type="module">
  import anexiaEslintConfigMarine from 'https://cdn.skypack.dev/@anexia/eslint-config-marine';
</script>

README

@anexia/eslint-config-marine

Typescript ESLint shareable config

Install

npm i -D @anexia/eslint-config-marine

additionally (if not already in place), you will need @typescript-eslint/parser and @typescript-eslint/eslint-plugin

npm i -D @typescript-eslint/parser @typescript-eslint/eslint-plugin

Usage

Add the ESLint config to your package.json:

{
    "name": "my-project",
    ...
    "eslintConfig": {
        "extends": "@anexia/eslint-config-marine"
    }
}

Or to eslintrc.js or eslintrc.json:

{
    "extends": "@anexia/eslint-config-marine"
}

Targets

If you are developing with Javascript consider adding:

{
    "extends": "@anexia/eslint-config-marine",
    "env": {
        "browser": true
    }
}

or use the platform specific configs for Node.js:

{
    "extends": "@anexia/eslint-config-marine/node"
}

or React:

{
    "extends": "@anexia/eslint-config-marine/react"
}

or any other JSX:

{
    "extends": "@anexia/eslint-config-marine/jsx"
}

or Vue.js:

{
    "extends": "@anexia/eslint-config-marine/vue"
}

Using the Vue extended config will require you to additionally install eslint-plugin-vue and babel-eslint

npm i -D babel-eslint eslint-plugin-vue

or Angular:

{
    "extends": "@anexia/eslint-config-marine/angular"
}

Using the Angular extended config will require you to additionally install @angular-eslint/builder, @angular-eslint/eslint-plugin, @angular-eslint/eslint-plugin-template, and @angular-eslint/template-parser

npm i -D @angular-eslint/builder @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parser

Prettier usage

If you want to apply your own .prettierrc rules with support for disabling the correct rules, just add /prettier before the target name.

Also make sure you install prettier and eslint-config-prettier for this to work.

npm i -D prettier eslint-config-prettier
{
    "extends": "@anexia/eslint-config-marine/prettier"
}
{
    "extends": "@anexia/eslint-config-marine/prettier/node"
}

or React:

{
    "extends": "@anexia/eslint-config-marine/prettier/react"
}

or any other JSX:

{
    "extends": "@anexia/eslint-config-marine/prettier/jsx"
}

or Vue.js:

{
    "extends": "@anexia/eslint-config-marine/prettier/vue"
}

or Angular:

{
    "extends": "@anexia/eslint-config-marine/prettier/angular"
}