From 5d3535f4d5904c8929c3246a0bfcd32e92550596 Mon Sep 17 00:00:00 2001 From: prateekbisht23 Date: Fri, 22 Aug 2025 15:37:31 +0530 Subject: [PATCH 1/2] docs: add note about ESLint --ext for .jsx files --- package.json | 2 ++ packages/eslint-config-airbnb-base/README.md | 10 ++++++++++ packages/eslint-config-airbnb/README.md | 9 +++++++++ 3 files changed, 21 insertions(+) diff --git a/package.json b/package.json index a78bc250d4..1f472428ee 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "install:config": "cd packages/eslint-config-airbnb && npm prune && npm install", "install:config:base": "cd packages/eslint-config-airbnb-base && npm prune && npm install", "lint": "markdownlint --config linters/.markdownlint.json README.md */README.md", + "lint:js": "eslint -c linters/.eslintrc . --ext .js --ext .jsx", "pretest": "npm run --silent lint", "test": "npm run --silent test:config && npm run --silent test:config:base", "test:config": "cd packages/eslint-config-airbnb; npm test", @@ -40,6 +41,7 @@ }, "homepage": "https://github.com/airbnb/javascript", "devDependencies": { + "eslint": "^8.57.1", "markdownlint": "^0.29.0", "markdownlint-cli": "^0.35.0" } diff --git a/packages/eslint-config-airbnb-base/README.md b/packages/eslint-config-airbnb-base/README.md index 6ddc34dac1..425d36d89d 100644 --- a/packages/eslint-config-airbnb-base/README.md +++ b/packages/eslint-config-airbnb-base/README.md @@ -62,6 +62,16 @@ Our default export contains all of our ESLint rules, including ECMAScript 6+. It 2. Add `"extends": "airbnb-base"` to your .eslintrc. +⚠️ **Note**: ESLint only lints `.js` files by default. + + If your project uses `.jsx` (or `.tsx` with TypeScript), you need to pass extensions to the CLI: + + ```sh + eslint . --ext .js,.jsx + ``` + + Without this, JSX-related rules will not apply to `.jsx` files. + ### eslint-config-airbnb-base/legacy Lints ES5 and below. Requires `eslint` and `eslint-plugin-import`. diff --git a/packages/eslint-config-airbnb/README.md b/packages/eslint-config-airbnb/README.md index 3b3f43196d..42db5cb723 100644 --- a/packages/eslint-config-airbnb/README.md +++ b/packages/eslint-config-airbnb/README.md @@ -58,6 +58,15 @@ If you don't need React, see [eslint-config-airbnb-base](https://npmjs.com/eslin 2. Add `"extends": "airbnb"` to your `.eslintrc` +⚠️ **Note**: ESLint only lints `.js` files by default. + If your project uses `.jsx` (or `.tsx` with TypeScript), you need to pass extensions to the CLI: + + ```sh + eslint . --ext .js,.jsx + ``` + + Without this, JSX-related rules will not apply to `.jsx` files. + ### eslint-config-airbnb/hooks This entry point enables the linting rules for React hooks (requires v16.8+). To use, add `"extends": ["airbnb", "airbnb/hooks"]` to your `.eslintrc`. From 0650e11052a361e5b2916ae9168e8522b84e97b3 Mon Sep 17 00:00:00 2001 From: prateekbisht23 Date: Tue, 26 Aug 2025 22:56:58 +0530 Subject: [PATCH 2/2] chore: combine markdown and JS linting, and include .mjs support - Removed unused "lint:js" script and merged it into "lint" - Updated ESLint command to include .js, .jsx, and .mjs extensions --- package.json | 3 +-- packages/eslint-config-airbnb-base/README.md | 4 ++-- packages/eslint-config-airbnb/README.md | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1f472428ee..d8b75b1871 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,7 @@ "postinstall": "rm -rf node_modules/markdownlint-cli/node_modules/markdownlint", "install:config": "cd packages/eslint-config-airbnb && npm prune && npm install", "install:config:base": "cd packages/eslint-config-airbnb-base && npm prune && npm install", - "lint": "markdownlint --config linters/.markdownlint.json README.md */README.md", - "lint:js": "eslint -c linters/.eslintrc . --ext .js --ext .jsx", + "lint": "markdownlint --config linters/.markdownlint.json README.md */README.md && eslint -c linters/.eslintrc . --ext .js --ext .jsx --ext .mjs", "pretest": "npm run --silent lint", "test": "npm run --silent test:config && npm run --silent test:config:base", "test:config": "cd packages/eslint-config-airbnb; npm test", diff --git a/packages/eslint-config-airbnb-base/README.md b/packages/eslint-config-airbnb-base/README.md index 425d36d89d..0570045b17 100644 --- a/packages/eslint-config-airbnb-base/README.md +++ b/packages/eslint-config-airbnb-base/README.md @@ -62,12 +62,12 @@ Our default export contains all of our ESLint rules, including ECMAScript 6+. It 2. Add `"extends": "airbnb-base"` to your .eslintrc. -⚠️ **Note**: ESLint only lints `.js` files by default. +> **Note**: ESLint only lints `.js` files by default. If your project uses `.jsx` (or `.tsx` with TypeScript), you need to pass extensions to the CLI: ```sh - eslint . --ext .js,.jsx + eslint . --ext .js, .jsx, .mjs ``` Without this, JSX-related rules will not apply to `.jsx` files. diff --git a/packages/eslint-config-airbnb/README.md b/packages/eslint-config-airbnb/README.md index 42db5cb723..b0597cd58f 100644 --- a/packages/eslint-config-airbnb/README.md +++ b/packages/eslint-config-airbnb/README.md @@ -58,11 +58,11 @@ If you don't need React, see [eslint-config-airbnb-base](https://npmjs.com/eslin 2. Add `"extends": "airbnb"` to your `.eslintrc` -⚠️ **Note**: ESLint only lints `.js` files by default. +> **Note**: ESLint only lints `.js` files by default. If your project uses `.jsx` (or `.tsx` with TypeScript), you need to pass extensions to the CLI: ```sh - eslint . --ext .js,.jsx + eslint . --ext .js, .jsx, .mjs ``` Without this, JSX-related rules will not apply to `.jsx` files.