eslint · बिल्ड और टाइप
संदेश
Parsing error: Unexpected token
इसका मतलब
ESLint उस फ़ाइल पर कोई नियम लगाने से पहले, वाक्य-रचना पढ़ने के चरण में ही रुक गया। कोड के वाक़ई टूटे होने से कहीं ज़्यादा बार इसका अर्थ है कि parser उस वाक्य-रचना को नहीं जानता — TypeScript फ़ाइल को डिफ़ॉल्ट parser से पढ़ना, JSX चालू न होना, या decorators और बहुत नई वाक्य-रचना पुराने parser को थमा देना। उस ठीक फ़ाइल पर npx eslint --print-config app.ts चलाने से दिख जाता है कि असल में कौन सा parser और कौन से parserOptions लागू हैं, इसलिए अनुमान से पहले वही देखें। TypeScript के लिए @typescript-eslint/parser चाहिए, और यदि उस फ़ाइल की जाँच ही नहीं होनी चाहिए तो उसे ignores में रखना सही उत्तर है।
सुधार
npx eslint --print-config app.ts- कौन देता है
- eslint
- बिल्ड और टाइप
- 10
build की त्रुटियाँ किसी औज़ार का चलने से पहले मना कर देना हैं, इसलिए प्रकट होते समय वे कुछ तोड़ती नहीं — पर वे दो सवाल पूछती हैं: क्या आप type या रास्ता असली रूप के अनुसार सुधारेंगे, या as any अथवा दमन-टिप्पणी से उस एक पंक्ति को पार करा देंगे — और यहीं पहली बार वे चीज़ें सामने आती हैं जो केवल आपकी मशीन पर सही हैं: अक्षरों के बड़े-छोटे रूप, extension, और environment variables।
एरर संदेश कैसे पढ़ें
- पहली पंक्ति से पढ़ें। जितना नीचे जाएँगे उतना वह औज़ार के भीतर की बात है; कारण आम तौर पर सबसे ऊपर लिखा होता है।
- फ़ाइल का नाम और पंक्ति संख्या दिखे तो वहीं से शुरू करें — stack का सबसे ऊपरी frame नहीं, बल्कि वह सबसे ऊपरी पंक्ति जिसमें आपकी लिखी फ़ाइल का नाम हो।
- संदेश को जैसा है वैसा खोजें, पर पहले अपने paths और variable नाम हटा दें — वही खोज को अटकाते हैं।
- वही स्थिति औज़ार के हर संस्करण में अलग शब्दों में आती है। नतीजे बेमेल लगें तो संस्करण संख्या भी जोड़ें।
- कोई सुधार चिपकाने से पहले देख लें कि वह क्या फेंक देगा। इनमें कुछ पलटे नहीं जा सकते।
अक्सर पूछे जाने वाले सवाल
Q. “Parsing error: Unexpected token” का क्या मतलब है?
ESLint उस फ़ाइल पर कोई नियम लगाने से पहले, वाक्य-रचना पढ़ने के चरण में ही रुक गया। कोड के वाक़ई टूटे होने से कहीं ज़्यादा बार इसका अर्थ है कि parser उस वाक्य-रचना को नहीं जानता — TypeScript फ़ाइल को डिफ़ॉल्ट parser से पढ़ना, JSX चालू न होना, या decorators और बहुत नई वाक्य-रचना पुराने parser को थमा देना। उस ठीक फ़ाइल पर npx eslint --print-config app.ts चलाने से दिख जाता है कि असल में कौन सा parser और कौन से parserOptions लागू हैं, इसलिए अनुमान से पहले वही देखें। TypeScript के लिए @typescript-eslint/parser चाहिए, और यदि उस फ़ाइल की जाँच ही नहीं होनी चाहिए तो उसे ignores में रखना सही उत्तर है।
Q. इसे कैसे ठीक करें?
npx eslint --print-config app.ts — चलाने से पहले ऊपर देख लें कि यह कमांड क्या फेंक देता है।
Q. यह कौन-सा औज़ार देता है?
eslint। यह बिल्ड और टाइप में आता है, और संदेश 4 शब्दों का है।