{"id":19569,"library":"eslint-config-rem","title":"eslint-config-rem","description":"Custom ESLint config for rem, a personal preference shareable config extending eslint-config-xo. Current version 4.0.0 is stable, with infrequent releases. Key features include 2-space indentation, no semicolons, optional Prettier integration via 'rem/prettier', and linting of code blocks in Markdown files. Differentiators: designed to work seamlessly with XO or eslint-config-xo, and includes markdown code block linting via eslint-plugin-markdown. Alternative to standard eslint-config-xo or other shareable configs like Standard.","status":"active","version":"4.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/egoist/eslint-config-rem","tags":["javascript","eslint","xo"],"install":[{"cmd":"npm install eslint-config-rem","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-rem","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-rem","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Base config; this extends eslint-config-xo","package":"eslint-config-xo","optional":false},{"reason":"Enables linting code blocks in Markdown files","package":"eslint-plugin-markdown","optional":true}],"imports":[{"note":"The base config is designed to extend eslint-config-xo; using 'rem' alone will not apply the xo base rules.","wrong":"extends: ['rem'] without 'xo/esnext'","symbol":"config (default)","correct":"extends: ['xo/esnext', 'rem']"},{"note":"The 'rem/prettier' preset includes Prettier config and should be used after the xo base.","wrong":"extends: ['rem/prettier'] without xo base","symbol":"Prettier variant","correct":"extends: ['xo/esnext', 'rem/prettier']"},{"note":"In XO config, you can extend 'rem' or 'rem/prettier' directly in the 'extends' field of the 'xo' object.","wrong":"xo: { extends: 'rem/prettier' } incorrectly","symbol":"XO usage","correct":"xo: { extends: 'rem' }"}],"quickstart":{"code":"// .eslintrc.json\n{\n  \"extends\": [\"xo/esnext\", \"rem\"]\n}","lang":"javascript","description":"Shows minimal ESLint config with xo/esnext and rem, assuming eslint and eslint-config-rem installed."},"warnings":[{"fix":"Always include 'xo/esnext' before 'rem' in the extends array.","message":"Extending 'rem' without first extending 'xo/esnext' will result in missing base rules.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Install prettier, eslint-config-prettier, and eslint-plugin-prettier as devDependencies.","message":"The 'rem/prettier' preset requires Prettier and related ESLint plugins to be installed separately.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Add eslint-plugin-markdown as a devDependency.","message":"Using 'extensions' in XO config to lint .md files requires eslint-plugin-markdown to be installed.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run npm install -D eslint-config-rem","cause":"Package not installed.","error":"Error: Failed to load plugin 'rem' declared in 'eslintConfig.extends': Cannot find module 'eslint-config-rem'"},{"fix":"Run npm install -D eslint-config-xo","cause":"eslint-config-xo not installed, but it is required by this config.","error":"Error: Cannot find module 'eslint-config-xo'"},{"fix":"Ensure the base config 'xo/esnext' is extended, which enables ES2018+ features.","cause":"ESLint not configured for ES modules.","error":"Parsing error: The keyword 'import' is reserved"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}