TSConfig
moduleResolution
Specify the module resolution strategy:
'node16'or'nodenext'for modern versions of Node.js. Node.js v12 and later supports both ECMAScript imports and CommonJSrequire, which resolve using different algorithms. ThesemoduleResolutionvalues, when combined with the correspondingmodulevalues, picks the right algorithm for each resolution based on whether Node.js will see animportorrequirein the output JavaScript code.'node10'(previously called'node') for Node.js versions older than v10, which only support CommonJSrequire. You probably won’t need to usenode10in modern code.'bundler'for use with bundlers. Likenode16andnodenext, this mode supports package.json"imports"and"exports", but unlike the Node.js resolution modes,bundlernever requires file extensions on relative paths in imports.'classic'was used in TypeScript before the release of 1.6.classicshould not be used.
There are reference pages explaining the theory behind TypeScript’s module resolution and the details of each option.