UNPKG

@nx/detox

Version:

The Nx Plugin for Detox contains executors and generators for allowing your workspace to use the powerful Detox integration testing capabilities.

50 lines (49 loc) 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createFiles = createFiles; const devkit_1 = require("@nx/devkit"); const js_1 = require("@nx/js"); const add_swc_config_1 = require("@nx/js/src/utils/swc/add-swc-config"); const path_1 = require("path"); function createFiles(host, options) { const offsetFromRoot = (0, devkit_1.offsetFromRoot)(options.e2eProjectRoot); const rootTsConfigPath = (0, js_1.getRelativePathToRootTsConfig)(host, options.e2eProjectRoot); (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, '../files/app'), options.e2eProjectRoot, { ...options, exec: (0, devkit_1.getPackageManagerCommand)((0, devkit_1.detectPackageManager)(host.root)).exec, offsetFromRoot, rootTsConfigPath, jestConfigFileName: options.isUsingTsSolutionConfig ? 'jest.config.ts' : 'jest.config.json', }); if (options.isUsingTsSolutionConfig) { (0, add_swc_config_1.addSwcTestConfig)(host, options.e2eProjectRoot, 'es6'); (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, '../files/ts-solution'), options.e2eProjectRoot, { ...options, exec: (0, devkit_1.getPackageManagerCommand)((0, devkit_1.detectPackageManager)(host.root)).exec, offsetFromRoot, }); (0, devkit_1.writeJson)(host, (0, devkit_1.joinPathFragments)(options.e2eProjectRoot, 'tsconfig.json'), { extends: `${offsetFromRoot}tsconfig.base.json`, compilerOptions: { sourceMap: false, outDir: 'out-tsc/detox', allowJs: true, types: ['node', 'jest', 'detox'], }, include: ['src/**/*.ts', 'src/**/*.js'], exclude: ['out-tsc', 'test-output'], }); } else { (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, '../files/non-ts-solution'), options.e2eProjectRoot, { ...options, offsetFromRoot, rootTsConfigPath, }); } if (options.js) { (0, devkit_1.toJS)(host); } }