UNPKG

e2ed

Version:

E2E testing framework over Playwright

57 lines (56 loc) 2.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCompilerOptions = void 0; const node_path_1 = require("node:path"); const typescript_1 = require("typescript"); const internal_1 = require("../../constants/internal"); const asserts_1 = require("../asserts"); const clone_1 = require("../clone"); const frozenCompilerOptions = { allowSyntheticDefaultImports: true, declaration: false, esModuleInterop: true, module: typescript_1.ModuleKind.CommonJS, outDir: internal_1.COMPILED_USERLAND_CONFIG_DIRECTORY, paths: { [internal_1.AUTOTESTS_DIRECTORY_PATH]: [`./${internal_1.AUTOTESTS_DIRECTORY_PATH}/index.ts`], [`${internal_1.AUTOTESTS_DIRECTORY_PATH}/*`]: [`./${internal_1.AUTOTESTS_DIRECTORY_PATH}/*`], }, resolveJsonModule: true, rootDir: '.', skipLibCheck: true, target: typescript_1.ScriptTarget.ES2024, types: ['node'], }; /** * Get TypeScript compiler options for pack config compilation. * @internal */ const getCompilerOptions = () => { let parsingTsConfigError; let tsConfigOfProject = { compilerOptions: {} }; const pathToTsConfigOfProjectFromRoot = internal_1.e2edEnvironment.E2ED_PATH_TO_TS_CONFIG_OF_PROJECT_FROM_ROOT; try { (0, asserts_1.assertValueIsDefined)(pathToTsConfigOfProjectFromRoot, 'pathToTsConfigOfProjectFromRoot is defined'); const absoluteTsConfigPath = (0, node_path_1.join)(internal_1.ABSOLUTE_PATH_TO_PROJECT_ROOT_DIRECTORY, pathToTsConfigOfProjectFromRoot); // eslint-disable-next-line global-require, import/no-dynamic-require tsConfigOfProject = require(absoluteTsConfigPath); } catch (error) { parsingTsConfigError = { error: String(error), message: 'Caught an error on parsing TypeScript config of project', }; if (error instanceof Error) { Object.assign(parsingTsConfigError, { stack: error.stack }); } } const compilerOptions = { ...frozenCompilerOptions }; const { baseUrl, lib, paths } = tsConfigOfProject.compilerOptions; Object.assign(compilerOptions, (0, clone_1.cloneWithoutUndefinedProperties)({ baseUrl, paths })); if (lib) { compilerOptions.lib = lib.map((name) => `lib.${name.toLowerCase()}.d.ts`); } return { compilerOptions, parsingTsConfigError }; }; exports.getCompilerOptions = getCompilerOptions;