Typescript и ESM
Typescript в Testplane
Testplane поддерживает TypeScript из коробки — вам не нужно настраивать дополнительные инструменты для транспайлинга. Вы можете писать тесты, конфиги и плагины на TypeScript без предварительной компиляции.
Начало работы
Установите необходимые зависимости:
npm install --save-dev typescript ts-node @types/node
Создайте tsconfig.json в корне проекта:
{
"compilerOptions": {
"target": "ES2019",
"module": "commonjs",
"moduleResolution": "node",
"strict": true,
"esModuleInterop": true,
"outDir": "./dist",
"rootDir": "./"
},
"include": ["**/*.ts"],
"exclude": ["node_modules", "dist"]
}
Testplane автоматически подхватит TypeScript-файлы через встроенную поддержку ts-node.
Варианты транспайлинга
По умолчанию Testplane использует ts-node для транспайлинга TypeScript. Это наиболее простой способ — никакой дополнительной конфигурации не требуется.
npm install --save-dev ts-node
Testplane автоматически обнаружит ts-node и будет использовать его при запуске .ts-файлов.
@swc/core
Если вы хотите ускорить транспайлинг, используйте @swc/core вместо ts-node. SWC написан на Rust и значительно быстрее при больших объёмах кода.
npm install --save-dev @swc/core
Настройте .swcrc:
{
"jsc": {
"parser": {
"syntax": "typescript",
"decorators": true
},
"target": "es2019"
},
"module": {
"type": "commonjs"
}
}
В конфиге Testplane укажите транспайлер явно:
// .testplane.conf.ts
export default {
system: {
compilationCache: true,
},
};
esbuild
Ещё один вариант для ускорения транспайлинга — esbuild:
npm install --save-dev esbuild esbuild-register
В конфиге Testplane укажите транспайлер явно:
// .testplane.conf.ts
export default {
system: {
// esbuild подключается через require-хук
},
};