@nx/detox
Version:
50 lines (49 loc) • 2.15 kB
JavaScript
;
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);
}
}