{"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,"search_vec":"'2':31 '4.0.0':22 'altern':72 'block':45,65 'code':44,64 'config':3,7,14,18,59,77,82 'current':20 'custom':5 'design':50 'differenti':49 'eslint':2,6,17,58,69,76,86 'eslint-config-rem':1 'eslint-config-xo':16,57,75 'eslint-plugin-markdown':68 'extend':15 'featur':29 'file':48 'includ':30,62 'indent':33 'infrequ':26 'integr':38 'javascript':85 'key':28 'like':83 'lint':42,66 'markdown':47,63,71 'option':36 'person':11 'plugin':70 'prefer':12 'prettier':37 'releas':27 'rem':4,9 'rem/prettier':40 'seamless':53 'semicolon':35 'shareabl':13,81 'space':32 'stabl':24 'standard':74,84 'version':21 'via':39,67 'work':52 'xo':19,55,60,78,87","created_at":"2026-04-25T11:18:29.442340+00:00","updated_at":"2026-04-25T11:18:29.442340+00:00","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,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/egoist/eslint-config-rem","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/eslint-config-rem","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}