# eslint-config-apostrophe

> eslint configuration for apostrophe and related core modules

Latest version **6.1.0** (published 2026-09-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install eslint-config-apostrophe
pnpm add eslint-config-apostrophe
yarn add eslint-config-apostrophe
bun add eslint-config-apostrophe
```

## Health

**Score 60/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 6.1.0 |
| Published | 2026-09-30 |
| First published | 2018-07-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=16 |
| Dependencies | 3 |
| Unpacked size | 21.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4635 |
| Author | Apostrophe Technologies, Inc. |
| Maintainers | alexgilbert, boutell, romanek, bodonkey |

## Links

- npm: https://www.npmjs.com/package/eslint-config-apostrophe
- Repository: https://github.com/apostrophecms/apostrophe
- Homepage: https://github.com/apostrophecms/apostrophe/tree/main/packages/eslint-config-apostrophe#readme
- Issues: https://github.com/apostrophecms/eslint-config-apostrophe/issues
- npm.io page: https://npm.io/package/eslint-config-apostrophe

## Dependencies (3)

- [globals](https://npm.io/package/globals.md) ^16.5.0
- [neostandard](https://npm.io/package/neostandard.md) ^0.12.2
- [eslint-plugin-vue](https://npm.io/package/eslint-plugin-vue.md) ^10.10.0

## Recent versions

- 6.1.0 (latest) — 2026-09-30
- 6.0.2 — 2025-09-16
- 6.0.1 — 2025-09-09
- 6.0.0 — 2025-09-09
- 5.0.0 — 2025-03-31
- 4.3.0 — 2024-02-14
- 4.2.1 — 2024-01-10
- 4.2.0 — 2023-11-29
- 4.1.0 — 2023-08-03
- 4.0.0 — 2023-06-21
- 3.4.2 — 2022-04-20
- 3.4.1 — 2020-10-21
- 3.4.0 — 2020-08-26
- 3.3.0 — 2020-07-29
- 3.2.0 — 2020-06-17
- … 5 more at https://npm.io/package/eslint-config-apostrophe/versions

## README

An ESLint configuration for ApostropheCMS core and officials modules.

Add the following to your `.eslintrc` file to use in your project:

```javascript
{
  "extends": "apostrophe"
}
```

## Strict configuration

`eslint-config-apostrophe/strict` is the same configuration with its advisory rules promoted to errors, for a codebase that is already clean and wants to stay that way:

```javascript
import apostrophe from 'eslint-config-apostrophe/strict';
```

Today that means `no-console`, which is a warning in the default configuration: on the server, diagnostics belong in Apostrophe's log pipeline (`self.logInfo`, `self.logWarn`, `self.logError`, `self.logDebug`, or `apos.util.*` outside a module), not on the console. Program output - a task's own listing, help text or report - is the exception, and says so at the call site:

```javascript
// The listing is what the task was invoked to print.
// eslint-disable-next-line no-console
console.log(`${moduleName}:${name}`);
```

## Contributing

To contribute to this config or run tests, clone the repository and run `npm install`. You can then run `npm test` to run the basic tests.

## Viewing differences between the standard configuration and ours

From this project's root, run

```
npm run compare
```

This will print a report in your terminal which shows which rules we not added to our config and which rules we have specifically modified.

All missing rules should be added to the `.eslintrc.json` with a definition even if we agree with the standard. This ensures that we are aware of any new rules or changed defintions that are made to the standard and will allow us to lock down the rule definitions that we agree with.

## Changelog

New major versions will be used whenever a new rule is added that returns an `error` on failure. This is to avoid breaking projects using this configuration as they do normal package updates. If a new rule is added that is simply set to `warn`, minor versions may be used since this should not break build, but only create warning messages for you to resolve or override with rules in your project configuration.

- 3.4.1 (2020-10-21): Updates `eslint-plugin-import`.
- 3.4.0 (2020-08-26): Adds a script to check what rules from `eslint-config-standard` that we are not yet setting in this config. The goal of this is to make sure that any new rules we work with are intentional, rather than unexpectedly inherited from `eslint-config-standard`. Also copies over missing eslint rules with the configurations from `eslint-config-standard`. There should be no functional changes in linting.
- 3.3.0: Adds a warning enforcing a single space inside of array brackets.
- 3.2.0: Adds a warning for the `quotes` rule to enforce single quotes. This should change to an error in the next major version.
- 3.1.0: Adds a warning for the `curly` and `brace-style` rules to avoid single line blocks. Also `object-curly-newline` and `object-property-newline` rules to have similar treatment for objects. Adds the changelog versioning guidelines.
- 3.0.0: Adds a warning for the `no-var` rule.
- 2.0.2: packaging issue, no changes.
- 2.0.1: use `import/no-extraneous-dependencies` to detect `require` calls that are not backed by a real dependency of this project or module.
- 2.0.0: initial release.

---
_Source: https://npm.io/package/eslint-config-apostrophe · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
