বাংলা

এই বিশদ tsconfig.json গাইডের মাধ্যমে টাইপস্ক্রিপ্ট কনফিগারেশনে দক্ষতা অর্জন করুন। দক্ষ ডেভেলপমেন্টের জন্য অত্যাবশ্যকীয় কম্পাইলার অপশন, প্রজেক্ট সেটআপ এবং উন্নত কনফিগারেশন শিখুন।

টাইপস্ক্রিপ্ট কনফিগারেশন: একটি বিশদ tsconfig.json গাইড

টাইপস্ক্রিপ্ট, যা জাভাস্ক্রিপ্টের একটি সুপারসেট, ওয়েব ডেভেলপমেন্টের ডাইনামিক জগতে স্ট্যাটিক টাইপিং নিয়ে আসে। টাইপস্ক্রিপ্টের সম্পূর্ণ শক্তি ব্যবহার করার জন্য একটি সঠিকভাবে কনফিগার করা tsconfig.json ফাইল অত্যন্ত গুরুত্বপূর্ণ। এই গাইডটি tsconfig.json-এর একটি বিশদ বিবরণ প্রদান করে, যেখানে অত্যাবশ্যকীয় কম্পাইলার অপশন, প্রজেক্ট সেটআপ এবং উন্নত কনফিগারেশনগুলি আলোচনা করা হয়েছে।

tsconfig.json কী?

tsconfig.json ফাইলটি হলো একটি কনফিগারেশন ফাইল যা একটি টাইপস্ক্রিপ্ট প্রজেক্টের জন্য কম্পাইলার অপশনগুলি নির্দিষ্ট করে। এটি টাইপস্ক্রিপ্ট কম্পাইলারকে বলে দেয় কীভাবে টাইপস্ক্রিপ্ট কোডকে জাভাস্ক্রিপ্টে রূপান্তর করতে হবে। এই ফাইলটি প্রজেক্টের কাঠামো নির্ধারণ, কম্পাইলেশন নিয়ম সেট করা এবং ডেভেলপমেন্ট টিমের মধ্যে সামঞ্জস্য নিশ্চিত করার জন্য অপরিহার্য, সেই টিম একটি অফিসে অবস্থিত হোক বা একাধিক মহাদেশে ছড়িয়ে থাকুক।

tsconfig.json ফাইল তৈরি করা

একটি tsconfig.json ফাইল তৈরি করতে, আপনার প্রজেক্টের রুট ডিরেক্টরিতে টার্মিনালে যান এবং নিম্নলিখিত কমান্ডটি চালান:

tsc --init

এই কমান্ডটি সাধারণভাবে ব্যবহৃত কম্পাইলার অপশনসহ একটি মৌলিক tsconfig.json ফাইল তৈরি করে। তারপর আপনি আপনার প্রজেক্টের নির্দিষ্ট প্রয়োজন অনুযায়ী ফাইলটি কাস্টমাইজ করতে পারেন। একটি সাধারণ tsconfig.json ফাইলে compilerOptions, include, এবং exclude-এর মতো অপশনগুলো অন্তর্ভুক্ত থাকে।

অত্যাবশ্যকীয় কম্পাইলার অপশন

compilerOptions বিভাগটি tsconfig.json ফাইলের মূল অংশ। এটিতে বিভিন্ন ধরণের অপশন রয়েছে যা টাইপস্ক্রিপ্ট কম্পাইলারের আচরণ নিয়ন্ত্রণ করে। এখানে কয়েকটি সবচেয়ে গুরুত্বপূর্ণ কম্পাইলার অপশন দেওয়া হলো:

target

target অপশনটি জেনারেট করা জাভাস্ক্রিপ্ট কোডের জন্য ECMAScript টার্গেট সংস্করণ নির্দিষ্ট করে। সাধারণ মানগুলির মধ্যে রয়েছে ES5, ES6 (ES2015), ES2016, ES2017, ES2018, ES2019, ES2020, ES2021, ES2022, ESNext। সঠিক টার্গেট নির্বাচন করা ব্রাউজার বা Node.js সংস্করণের মতো নির্দিষ্ট রানটাইম পরিবেশের সাথে সামঞ্জস্য নিশ্চিত করার জন্য অত্যন্ত গুরুত্বপূর্ণ।

উদাহরণ:

{
  "compilerOptions": {
    "target": "ES2020"
  }
}

module

module অপশনটি মডিউল কোড জেনারেশনের স্টাইল নির্দিষ্ট করে। সাধারণ মানগুলির মধ্যে রয়েছে CommonJS, AMD, System, UMD, ES6 (ES2015), ES2020, এবং ESNext। মডিউল সিস্টেমের পছন্দটি টার্গেট পরিবেশ এবং ব্যবহৃত মডিউল বান্ডলারের (যেমন, Webpack, Rollup, Parcel) উপর নির্ভর করে। Node.js-এর জন্য প্রায়ই CommonJS ব্যবহৃত হয়, যখন আধুনিক ওয়েব অ্যাপ্লিকেশনগুলির জন্য মডিউল বান্ডলার সহ ES6 বা ESNext পছন্দ করা হয়। ESNext ব্যবহার করলে ডেভেলপাররা সাম্প্রতিকতম বৈশিষ্ট্য এবং অপ্টিমাইজেশনগুলির সুবিধা নিতে পারে, এবং চূড়ান্ত মডিউল ফরম্যাটটি বান্ডলার দ্বারা পরিচালিত হয়।

উদাহরণ:

{
  "compilerOptions": {
    "module": "ESNext"
  }
}

lib

lib অপশনটি কম্পাইলেশনে অন্তর্ভুক্ত করার জন্য লাইব্রেরি ফাইলগুলির একটি তালিকা নির্দিষ্ট করে। এই লাইব্রেরি ফাইলগুলি বিল্ট-ইন জাভাস্ক্রিপ্ট API এবং ব্রাউজার API-এর জন্য টাইপ ডেফিনিশন সরবরাহ করে। সাধারণ মানগুলির মধ্যে রয়েছে ES5, ES6, ES2015, ES2016, ES2017, ES2018, ES2019, ES2020, ES2021, ES2022, ESNext, DOM, WebWorker, ScriptHost, ES2015.Core, ES2015.Collection, ES2015.Iterable, ES2015.Promise, ES2015.Proxy, ES2015.Reflect, ES2015.Generator, ES2015.Symbol, ES2015.Symbol.WellKnown, ES2016.Array.Include, ES2017.object, ES2017.Intl, ES2017.SharedMemory, ES2017.String, ES2017.TypedArrays, ES2018.Intl, ES2018.Promise, ES2018.RegExp, ES2019.Array, ES2019.Object, ES2019.String, ES2019.Symbol, ES2020.BigInt, ES2020.Promise, ES2020.String, ES2020.Symbol.WellKnown, ES2021.Promise, ES2021.String, ES2021.WeakRef, ES2022.Error, ES2022.Object, ES2022.String, এবং আরও অনেক। উপযুক্ত লাইব্রেরি নির্বাচন করা নিশ্চিত করে যে টাইপস্ক্রিপ্ট কম্পাইলারের কাছে টার্গেট পরিবেশের জন্য প্রয়োজনীয় টাইপ তথ্য রয়েছে। DOM লাইব্রেরি ব্যবহার করলে প্রকল্পটি ব্রাউজার-নির্দিষ্ট API ব্যবহার করে এমন কোড টাইপ ত্রুটি ছাড়াই কম্পাইল করতে পারে।

উদাহরণ:

{
  "compilerOptions": {
    "lib": ["ES2020", "DOM"]
  }
}

allowJs

allowJs অপশনটি টাইপস্ক্রিপ্ট কম্পাইলারকে টাইপস্ক্রিপ্ট ফাইলের সাথে জাভাস্ক্রিপ্ট ফাইল কম্পাইল করার অনুমতি দেয়। এটি বিদ্যমান জাভাস্ক্রিপ্ট প্রজেক্টগুলিকে পর্যায়ক্রমে টাইপস্ক্রিপ্টে স্থানান্তর করার জন্য দরকারী। এটিকে true সেট করলে কম্পাইলার .js ফাইল প্রসেস করতে পারে, যা একটি প্রজেক্টে ধীরে ধীরে টাইপস্ক্রিপ্ট গ্রহণ করতে সাহায্য করে।

উদাহরণ:

{
  "compilerOptions": {
    "allowJs": true
  }
}

jsx

jsx অপশনটি নির্দিষ্ট করে যে JSX সিনট্যাক্স কীভাবে পরিচালনা করা হবে। সাধারণ মানগুলির মধ্যে রয়েছে preserve, react, react-native, এবং react-jsxpreserve আউটপুটে JSX সিনট্যাক্স অপরিবর্তিত রাখে, যখন react JSX-কে React.createElement কলে রূপান্তর করে। react-jsx React 17-এ প্রবর্তিত নতুন JSX ট্রান্সফর্ম ব্যবহার করে, যার জন্য React ইম্পোর্ট করার প্রয়োজন হয় না। React বা অন্যান্য JSX-ভিত্তিক লাইব্রেরি ব্যবহারকারী প্রজেক্টের জন্য সঠিক JSX অপশন নির্বাচন করা অত্যন্ত গুরুত্বপূর্ণ।

উদাহরণ:

{
  "compilerOptions": {
    "jsx": "react-jsx"
  }
}

declaration

declaration অপশনটি প্রতিটি টাইপস্ক্রিপ্ট ফাইলের জন্য সংশ্লিষ্ট .d.ts ডিক্লারেশন ফাইল তৈরি করে। ডিক্লারেশন ফাইলগুলিতে টাইপ তথ্য থাকে এবং অন্যান্য টাইপস্ক্রিপ্ট প্রজেক্টগুলি কম্পাইল করা কোড ব্যবহার করার জন্য এটি ব্যবহার করে। পুনঃব্যবহারযোগ্য লাইব্রেরি এবং মডিউল তৈরির জন্য ডিক্লারেশন ফাইল তৈরি করা অপরিহার্য। এই ফাইলগুলি অন্যান্য টাইপস্ক্রিপ্ট প্রজেক্টকে মূল সোর্স কোড কম্পাইল না করেই লাইব্রেরি দ্বারা প্রকাশিত টাইপ এবং ইন্টারফেস বুঝতে সাহায্য করে।

উদাহরণ:

{
  "compilerOptions": {
    "declaration": true
  }
}

sourceMap

sourceMap অপশনটি সোর্স ম্যাপ ফাইল তৈরি করে, যা জেনারেট করা জাভাস্ক্রিপ্ট কোডকে মূল টাইপস্ক্রিপ্ট কোডের সাথে ম্যাপ করে। ব্রাউজার এবং অন্যান্য পরিবেশে টাইপস্ক্রিপ্ট কোড ডিবাগ করার জন্য সোর্স ম্যাপ অপরিহার্য। যখন জাভাস্ক্রিপ্ট কোডে কোনো ত্রুটি ঘটে, তখন সোর্স ম্যাপ ডেভেলপারকে ডিবাগারে সংশ্লিষ্ট টাইপস্ক্রিপ্ট কোড দেখতে দেয়, যা সমস্যাটি সনাক্ত এবং সমাধান করা সহজ করে তোলে।

উদাহরণ:

{
  "compilerOptions": {
    "sourceMap": true
  }
}

outDir

outDir অপশনটি জেনারেট করা জাভাস্ক্রিপ্ট ফাইলগুলির জন্য আউটপুট ডিরেক্টরি নির্দিষ্ট করে। এই অপশনটি সোর্স কোডকে কম্পাইল করা কোড থেকে আলাদা করে প্রজেক্টের বিল্ড আউটপুটকে সংগঠিত করতে সাহায্য করে। একটি outDir ব্যবহার করলে বিল্ড প্রক্রিয়া পরিচালনা করা এবং অ্যাপ্লিকেশন স্থাপন করা সহজ হয়।

উদাহরণ:

{
  "compilerOptions": {
    "outDir": "dist"
  }
}

rootDir

rootDir অপশনটি টাইপস্ক্রিপ্ট প্রজেক্টের রুট ডিরেক্টরি নির্দিষ্ট করে। কম্পাইলার এই ডিরেক্টরিটি মডিউলের নাম সমাধান করার জন্য বেস হিসাবে ব্যবহার করে। এই অপশনটি জটিল ডিরেক্টরি কাঠামোযুক্ত প্রজেক্টের জন্য বিশেষভাবে গুরুত্বপূর্ণ। rootDir সঠিকভাবে সেট করা নিশ্চিত করে যে কম্পাইলার সমস্ত প্রয়োজনীয় মডিউল এবং ডিপেন্ডেন্সি খুঁজে পেতে পারে।

উদাহরণ:

{
  "compilerOptions": {
    "rootDir": "src"
  }
}

strict

strict অপশনটি সমস্ত কঠোর টাইপ-চেকিং অপশন সক্রিয় করে। নতুন টাইপস্ক্রিপ্ট প্রজেক্টের জন্য এটি অত্যন্ত সুপারিশ করা হয় কারণ এটি ডেভেলপমেন্ট প্রক্রিয়ার প্রথম দিকে সম্ভাব্য ত্রুটিগুলি ধরতে সাহায্য করে। স্ট্রিক্ট মোড সক্রিয় করলে কঠোর টাইপ চেকিং নিয়ম প্রয়োগ করা হয়, যা আরও শক্তিশালী এবং রক্ষণাবেক্ষণযোগ্য কোড তৈরি করে। সমস্ত নতুন টাইপস্ক্রিপ্ট প্রজেক্টে স্ট্রিক্ট মোড সক্রিয় করা একটি সেরা অভ্যাস।

উদাহরণ:

{
  "compilerOptions": {
    "strict": true
  }
}

esModuleInterop

esModuleInterop অপশনটি CommonJS এবং ES মডিউলগুলির মধ্যে আন্তঃকার্যক্ষমতা সক্ষম করে। যে প্রজেক্টগুলি উভয় ধরণের মডিউল ব্যবহার করে তাদের জন্য এটি গুরুত্বপূর্ণ। যখন esModuleInterop সক্রিয় থাকে, টাইপস্ক্রিপ্ট স্বয়ংক্রিয়ভাবে CommonJS এবং ES মডিউলগুলির মধ্যে পার্থক্যগুলি পরিচালনা করে, যা দুটি সিস্টেমের মধ্যে মডিউল আমদানি এবং রপ্তানি করা সহজ করে তোলে। এই অপশনটি বিশেষত তৃতীয় পক্ষের লাইব্রেরির সাথে কাজ করার সময় কার্যকর, যা বিভিন্ন মডিউল সিস্টেম ব্যবহার করতে পারে।

উদাহরণ:

{
  "compilerOptions": {
    "esModuleInterop": true
  }
}

moduleResolution

moduleResolution অপশনটি নির্দিষ্ট করে যে টাইপস্ক্রিপ্ট কীভাবে মডিউল ইম্পোর্ট সমাধান করবে। সাধারণ মানগুলির মধ্যে Node এবং Classic রয়েছে। Node মডিউল রেজোলিউশন কৌশলটি ডিফল্ট এবং এটি Node.js মডিউল রেজোলিউশন অ্যালগরিদমের উপর ভিত্তি করে তৈরি। Classic মডিউল রেজোলিউশন কৌশলটি পুরানো এবং কম ব্যবহৃত হয়। Node মডিউল রেজোলিউশন কৌশল ব্যবহার করা নিশ্চিত করে যে টাইপস্ক্রিপ্ট Node.js পরিবেশে মডিউল ইম্পোর্টগুলি সঠিকভাবে সমাধান করতে পারে।

উদাহরণ:

{
  "compilerOptions": {
    "moduleResolution": "Node"
  }
}

baseUrl এবং paths

baseUrl এবং paths অপশনগুলি নন-রিলেটিভ মডিউল ইম্পোর্টের জন্য মডিউল রেজোলিউশন কনফিগার করতে ব্যবহৃত হয়। baseUrl অপশনটি নন-রিলেটিভ মডিউল নামগুলি সমাধান করার জন্য বেস ডিরেক্টরি নির্দিষ্ট করে। paths অপশনটি আপনাকে ফাইল সিস্টেমের নির্দিষ্ট স্থানে মডিউলের নাম ম্যাপ করতে দেয়। এই অপশনগুলি জটিল ডিরেক্টরি কাঠামোযুক্ত প্রজেক্টের জন্য এবং মডিউল ইম্পোর্ট সহজ করার জন্য বিশেষভাবে কার্যকর। baseUrl এবং paths ব্যবহার করলে কোড আরও পঠনযোগ্য এবং রক্ষণাবেক্ষণযোগ্য হতে পারে।

উদাহরণ:

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@components/*": ["src/components/*"],
      "@utils/*": ["src/utils/*"]
    }
  }
}

Include এবং Exclude অপশন

include এবং exclude অপশনগুলি নির্দিষ্ট করে যে কোন ফাইলগুলি কম্পাইলেশনে অন্তর্ভুক্ত করা উচিত এবং কোনগুলি বাদ দেওয়া উচিত। এই অপশনগুলি ফাইলের নামের সাথে মেলানোর জন্য গ্লব প্যাটার্ন ব্যবহার করে। include এবং exclude ব্যবহার করে আপনি নিয়ন্ত্রণ করতে পারেন কোন ফাইলগুলি টাইপস্ক্রিপ্ট কম্পাইলার দ্বারা প্রসেস করা হবে, যা বিল্ড পারফরম্যান্স উন্নত করে এবং ত্রুটি কমায়। কম্পাইলেশনে অন্তর্ভুক্ত করা ফাইলগুলি স্পষ্টভাবে নির্দিষ্ট করা একটি সেরা অভ্যাস।

উদাহরণ:

{
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist"]
}

Extends অপশন

extends অপশনটি আপনাকে অন্য একটি tsconfig.json ফাইল থেকে কম্পাইলার অপশন উত্তরাধিকার সূত্রে পেতে দেয়। এটি একাধিক প্রজেক্টের মধ্যে সাধারণ কনফিগারেশন সেটিংস শেয়ার করার জন্য বা বেস কনফিগারেশন তৈরি করার জন্য দরকারী। extends অপশন ব্যবহার করলে কোড পুনঃব্যবহার বৃদ্ধি পায় এবং পুনরাবৃত্তি হ্রাস পায়। বেস কনফিগারেশন তৈরি করে সেগুলিকে পৃথক প্রজেক্টে এক্সটেন্ড করা একটি সেরা অভ্যাস।

উদাহরণ:

{
  "extends": "./tsconfig.base.json",
  "compilerOptions": {
    "jsx": "react-jsx"
  },
  "include": ["src/**/*"]
}

উন্নত কনফিগারেশন

অত্যাবশ্যকীয় কম্পাইলার অপশনগুলি ছাড়াও, tsconfig.json বিশেষ পরিস্থিতির জন্য উন্নত কনফিগারেশন সমর্থন করে।

ইনক্রিমেন্টাল কম্পাইলেশন

বড় প্রজেক্টের জন্য, ইনক্রিমেন্টাল কম্পাইলেশন বিল্ডের সময় উল্লেখযোগ্যভাবে উন্নত করতে পারে। টাইপস্ক্রিপ্ট পূর্ববর্তী কম্পাইলেশনের ফলাফল ক্যাশে করতে পারে এবং শুধুমাত্র পরিবর্তিত ফাইলগুলি পুনরায় কম্পাইল করে। ইনক্রিমেন্টাল কম্পাইলেশন সক্রিয় করলে বড় প্রজেক্টের জন্য বিল্ডের সময় নাটকীয়ভাবে হ্রাস পেতে পারে। এটি বিশেষ করে সেইসব প্রজেক্টের জন্য গুরুত্বপূর্ণ যেখানে প্রচুর ফাইল এবং ডিপেন্ডেন্সি রয়েছে।

{
  "compilerOptions": {
    "incremental": true,
    "tsBuildInfoFile": ".tsbuildinfo"
  }
}

প্রজেক্ট রেফারেন্স

প্রজেক্ট রেফারেন্স আপনাকে বড় টাইপস্ক্রিপ্ট প্রজেক্টগুলিকে ছোট, স্বাধীন মডিউলে গঠন করতে দেয়। এটি বিল্ডের সময় এবং কোড সংগঠন উন্নত করতে পারে। প্রজেক্ট রেফারেন্স ব্যবহার করলে বড় প্রজেক্টগুলি আরও পরিচালনাযোগ্য এবং রক্ষণাবেক্ষণ করা সহজ হয়। বড়, জটিল প্রজেক্টের জন্য প্রজেক্ট রেফারেন্স ব্যবহার করা একটি সেরা অভ্যাস।

{
  "compilerOptions": {
    "composite": true
  },
  "references": [
    { "path": "./module1" },
    { "path": "./module2" }
  ]
}

কাস্টম টাইপ ডেফিনিশন

কখনও কখনও, আপনার এমন জাভাস্ক্রিপ্ট লাইব্রেরির জন্য টাইপ ডেফিনিশন সরবরাহ করার প্রয়োজন হতে পারে যেগুলির নিজস্ব টাইপ ডেফিনিশন নেই। আপনি এই লাইব্রেরিগুলির জন্য টাইপ সংজ্ঞায়িত করতে কাস্টম .d.ts ফাইল তৈরি করতে পারেন। কাস্টম টাইপ ডেফিনিশন তৈরি করলে আপনি টাইপ সেফটি বিসর্জন না দিয়েই আপনার টাইপস্ক্রিপ্ট কোডে জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করতে পারেন। এটি বিশেষত লিগ্যাসি জাভাস্ক্রিপ্ট কোড বা এমন লাইব্রেরির সাথে কাজ করার সময় কার্যকর যা তাদের নিজস্ব টাইপ ডেফিনিশন সরবরাহ করে না।

// custom.d.ts
declare module 'my-library' {
  export function doSomething(x: number): string;
}

সেরা অনুশীলন (Best Practices)

সাধারণ সমস্যার সমাধান

tsconfig.json কনফিগার করা কখনও কখনও চ্যালেঞ্জিং হতে পারে। এখানে কিছু সাধারণ সমস্যা এবং তাদের সমাধান দেওয়া হলো:

মডিউল রেজোলিউশন সমস্যা

আপনি যদি মডিউল রেজোলিউশন ত্রুটির সম্মুখীন হন, তবে নিশ্চিত করুন যে moduleResolution অপশনটি সঠিকভাবে কনফিগার করা হয়েছে এবং baseUrlpaths অপশনগুলি সঠিকভাবে সেট আপ করা আছে। paths অপশনে নির্দিষ্ট করা পাথগুলি সঠিক কিনা তা পুনরায় পরীক্ষা করুন। নিশ্চিত করুন যে সমস্ত প্রয়োজনীয় মডিউল node_modules ডিরেক্টরিতে ইনস্টল করা আছে।

টাইপ এরর (Type Errors)

টাইপ ডেফিনিশন ভুল বা অনুপস্থিত থাকলে টাইপ এরর ঘটতে পারে। নিশ্চিত করুন যে আপনি যে সমস্ত লাইব্রেরি ব্যবহার করছেন সেগুলির জন্য সঠিক টাইপ ডেফিনিশন ইনস্টল করা আছে। আপনি যদি এমন কোনো জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করেন যার টাইপ ডেফিনিশন নেই, তবে কাস্টম টাইপ ডেফিনিশন তৈরি করার কথা বিবেচনা করুন।

কম্পাইলেশন এরর (Compilation Errors)

আপনার টাইপস্ক্রিপ্ট কোডে সিনট্যাক্স এরর বা টাইপ এরর থাকলে কম্পাইলেশন এরর ঘটতে পারে। এরর মেসেজগুলি সাবধানে পর্যালোচনা করুন এবং যেকোনো সিনট্যাক্স বা টাইপ এরর সংশোধন করুন। নিশ্চিত করুন যে আপনার কোড টাইপস্ক্রিপ্ট কোডিং কনভেনশন অনুসরণ করে।

উপসংহার

একটি সফল টাইপস্ক্রিপ্ট প্রজেক্টের জন্য একটি সঠিকভাবে কনফিগার করা tsconfig.json ফাইল অপরিহার্য। অত্যাবশ্যকীয় কম্পাইলার অপশন এবং উন্নত কনফিগারেশনগুলি বোঝার মাধ্যমে, আপনি আপনার ডেভেলপমেন্ট ওয়ার্কফ্লো অপ্টিমাইজ করতে, কোডের মান উন্নত করতে এবং টার্গেট পরিবেশের সাথে সামঞ্জস্যতা নিশ্চিত করতে পারেন। tsconfig.json সঠিকভাবে কনফিগার করার জন্য সময় বিনিয়োগ করলে দীর্ঘমেয়াদে এর সুফল পাওয়া যায়, কারণ এটি ত্রুটি হ্রাস করে, রক্ষণাবেক্ষণযোগ্যতা উন্নত করে এবং বিল্ড প্রক্রিয়াকে সহজ করে। এর ফলে আরও দক্ষ এবং নির্ভরযোগ্য সফটওয়্যার ডেভেলপমেন্ট সম্ভব হয়। এখানে প্রদত্ত তথ্য সর্বজনীনভাবে প্রযোজ্য হওয়ার জন্য ডিজাইন করা হয়েছে এবং টাইপস্ক্রিপ্ট দিয়ে একটি নতুন প্রজেক্ট শুরু করার জন্য একটি শক্ত ভিত্তি প্রদান করবে।

সবচেয়ে আপ-টু-ডেট তথ্য এবং সমস্ত উপলব্ধ কম্পাইলার অপশনের বিশদ ব্যাখ্যার জন্য অফিসিয়াল টাইপস্ক্রিপ্ট ডকুমেন্টেশন দেখতে ভুলবেন না। টাইপস্ক্রিপ্ট কনফিগারেশনের জটিলতা বোঝার জন্য টাইপস্ক্রিপ্ট ডকুমেন্টেশন একটি মূল্যবান সম্পদ।

টাইপস্ক্রিপ্ট কনফিগারেশন: একটি বিশদ tsconfig.json গাইড | MLOG