একটা clean, bug-free JavaScript বা TypeScript code লিখতে গেলে ESLint ছাড়া আজকাল চিন্তাই করা যায় না।
এবার ESLint team ঘোষণা করেছে তাদের next big version ESLint v10.0.0, যেটা নিয়ে আসছে অনেক major update, breaking change, এবং পুরনো system এর বিদায়।

এই blog-এ আমরা একদম সহজ ভাষায় দেখে নেবো ESLint v10-এ কী আসছে, কেন আসছে, আর developer দের জন্য এর মানে কী।
ESLint v10 আসছে নতুন chapter নিয়ে
একটা clean, bug-free JavaScript বা TypeScript code লিখতে গেলে ESLint ছাড়া আজকাল কল্পনাই করা যায় না।
এবার ESLint team announsment করেছে তাদের next big version – ESLint v10.0.0, যেটা নিয়ে আসছে অনেক major update, breaking change, এবং পুরনো system এর বিদায়।
Development Plan – কিভাবে release হবে ?
ESLint v10 development হবে multi-phase plan এ, stability আর community feedback মাথায় রেখে।
Alpha Phase:
এই phase-এ আসবে সবচেয়ে বড় breaking changes, যেগুলো current user দের setup-এ কিছু পরিবর্তন আনবে।
Main target early feedback পাওয়া, যাতে final release আরও stable হয়।
Beta Phase:
এরপর আসবে Beta release, যেখানে থাকবে ছোট updates আর remaining features। তারপর community testing শেষ হলে, release হবে RC (Release Candidate) version bug fix আর compatibility test এর জন্য।
Tentative plan অনুযায়ী:
- Alpha release: November 2025
- Final version: January 2026
Major Changes in ESLint v10.0.0-alpha
Node.js < v20.19.0 Support Dropped
ESLint v10 থেকে Node.js v20.19.0 এর নিচের version আর support করবে না। নতুন supported version গুলো হবে:
- Node.js v20.19.0+
- Node.js v22.13.0+
- Node.js v24+
কারণ, Node.js v18 এর lifecycle শেষ হয়ে গেছে April 2025 এ।
এতে ESLint এখন modern JS features যেমন native require(esm) (যেটা Node v20.19.0 থেকে default) ব্যবহার করতে পারবে, আর performance হবে আরও efficient।
eslintrc System এর বিদায়
v9.0.0 এ deprecated করা হয়েছিল, এবার v10.0.0 থেকে পুরোটাই remove করা হচ্ছে। মানে:
.eslintrc.*
আর.eslintignore
file কাজ করবে না।- CLI argument যেমন
--no-eslintrc
,--rulesdir
,--ignore-path
আর থাকবে না। ESLINT_USE_FLAT_CONFIG
variable এর কোনো মানে থাকবে না।
এখন থেকে শুধুমাত্র Flat Config system কাজ করবে।
অর্থাৎ, পুরনো config system কে পুরোপুরি replace করা হয়েছে নতুন flat structure দিয়ে, যা আরও predictable আর modern project এর জন্য better suited।
eslint:recommended Configuration Updated
নতুন release-এ eslint:recommended
config update হচ্ছে:
এখন এতে এমন কিছু new rules add করা হবে যেগুলো common mistakes ধরবে, আর code quality automatically improve করবে।
AST (Abstract Syntax Tree) Node Range Update
ESLint এখন Program node এর range পুরো source file cover করবে।
আগে শুধুমাত্র code অংশ cover করতো, এখন leading আর trailing comments ও include হবে।
Example:
// Leading comment
const x = 1;
// Trailing comment
আগে Program range ধরতো শুধু const x = 1;
এখন ধরবে পুরো file – অর্থাৎ start থেকে end পর্যন্ত।
এতে AST analysis আরও accurate হবে, আর tooling integration আরও smooth হবে।
Deprecated context methods remove হচ্ছে:
v10 থেকে কিছু পুরনো context methods একদম remove হয়ে যাচ্ছে, যেমন:
context.getCwd()
– Usecontext.cwd
context.getFilename()
– Usecontext.filename
context.getSourceCode()
– Usecontext.sourceCode
এই change গুলো long-term maintenance এর জন্য দরকারি যাতে API clean, modern আর consistent থাকে।
Complete web development with Programming Hero
- ৫০০০+ জব প্লেসমেন্ট
- ৩ বেলা ডেডিকেটেড লাইভ সাপোর্ট
- ১০০% জব প্লেসমেন্ট সাপোর্ট
- ৮৫ টি মডিউল, ১২+ মাইলস্টোন
- ডেডিকেটেড হেল্প ডেস্ক ২৪/৭
New Config Lookup Algorithm
একটা বড় পরিবর্তন আসছে config file lookup process-এ আগে ESLint configuration খুঁজতো current working directory থেকে,
এখন v10 এ সেটা শুরু করবে lint হওয়া file এর location থেকে।
বিশেষ করে monorepo setups এ এটা huge improvement, কারণ এতে প্রতিটা folder এর config আরও predictable হবে।
parserOptions.globalReturn Removed
এই option এখন আর থাকবে না। কারণ CommonJS environment এ এটা default behaviour হিসেবে পাওয়া যায়।
যদি দরকার হয়, এখন languageOptions.sourceType = "commonjs"
সেট করতে হবে।
Major Updates in ESLint v10.0.0-beta
JSX Reference Tracking Enabled
এবার ESLint JSX element references properly track করবে, মানে ESLint এখন বুঝবে <Card />
আসলে imported Card
component এর reference।
Example:
import { Card } from "./card.jsx";
export function createCard(name) {
return <Card name={name} />;
}
আগে <Card>
কে reference হিসেবে ধরতো না,
এখন ধরবে ফলে JSX-based React বা modern frontend project linting হবে অনেক বেশি intelligent।
Deprecated SourceCode Methods Removed
এই version থেকে নিচের methods গুলো remove হয়ে যাচ্ছে
getTokenOrCommentBefore()
– replace withgetTokenBefore({ includeComments: true })
getTokenOrCommentAfter()
– replace withgetTokenAfter({ includeComments: true })
isSpaceBetweenTokens()
– replace withisSpaceBetween()
getJSDocComment()
– moved to new AST utilities
যারা custom ESLint rules তৈরি করেন, তাদের code accordingly update করতে হবে।
@eslint/compat package কিছু backward support দেবে transition easy করার জন্য।
Expected Release Timeline
- Alpha Release: November 2025
- Beta Release: Shortly after
- Final Version: Targeted January 2026
সব release এর update পাওয়া যাবে ESLint এর official blog, X (Twitter), Bluesky, আর Mastodon account-এ।
Final Thoughts
v10.0.0 আসছে অনেক big changes নিয়ে modern Node.js support, deprecated API removal, JSX tracking, এবং pure flat config structure দিয়ে।
এই changes গুলো একদিকে backward breaking, কিন্তু অন্যদিকে future-ready করে তুলবে পুরো ecosystem কে।
Summary:
ESLint v10.0.0 marks a major step forward for modern JavaScript development. It drops support for older Node versions, removes the legacy eslintrc system, updates AST handling, improves JSX reference tracking, and modernizes internal APIs.
Developers should start testing the alpha in late 2025 to prepare for a smooth transition to the stable release in early 2026.