UNPKG

ts-node-lite

Version:

TypeScript execution environment for node.js, with source map support

57 lines 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDefaultTsconfigJsonForNodeVersion = void 0; const nodeMajor = parseInt(process.versions.node.split('.')[0], 10); /** * return parsed JSON of the bundled @tsconfig/bases config appropriate for the * running version of nodejs * @internal */ function getDefaultTsconfigJsonForNodeVersion(ts) { const tsInternal = ts; if (nodeMajor >= 20) { const config = require('@tsconfig/node20/tsconfig.json'); if (configCompatible(config)) return config; } if (nodeMajor >= 18) { const config = require('@tsconfig/node18/tsconfig.json'); if (configCompatible(config)) return config; } if (nodeMajor >= 16) { const config = require('@tsconfig/node16/tsconfig.json'); if (configCompatible(config)) return config; } { const config = require('@tsconfig/node14/tsconfig.json'); if (configCompatible(config)) return config; } // Old TypeScript compilers may be incompatible with *all* @tsconfig/node* configs, // so fallback to nothing return {}; // Verify that tsconfig target and lib options are compatible with TypeScript compiler function configCompatible(config) { const results = ts.parseJsonConfigFileContent({ compilerOptions: config.compilerOptions, files: ['foo.ts'], }, parseConfigHost, ''); return results.errors.length === 0; } } exports.getDefaultTsconfigJsonForNodeVersion = getDefaultTsconfigJsonForNodeVersion; const parseConfigHost = { useCaseSensitiveFileNames: false, readDirectory(rootDir, extensions, excludes, includes, depth) { return []; }, fileExists(path) { return false; }, readFile(path) { return ''; }, }; //# sourceMappingURL=tsconfigs.js.map