UNPKG

@anatine/esbuildnx

Version:
57 lines 2.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setupGenerator = void 0; const tslib_1 = require("tslib"); const devkit_1 = require("@nrwl/devkit"); const dependencies_1 = require("../../dependencies"); function setupGenerator(host, options) { var _a, _b, _c; return tslib_1.__awaiter(this, void 0, void 0, function* () { const projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.name); // Probably needs a try/catch const { currentBuildCommand = 'build' } = options; const currentBuild = (_a = projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.targets) === null || _a === void 0 ? void 0 : _a[currentBuildCommand]; if (!currentBuild || (!((_b = currentBuild.options) === null || _b === void 0 ? void 0 : _b.tsConfig) && !((_c = currentBuild.options) === null || _c === void 0 ? void 0 : _c.tsconfig))) { throw new Error(`There is no existing build target or this is not not a @nrwl/node project`); } if (options.overwrite) { projectConfig.targets[currentBuildCommand].executor = '@anatine/esbuildnx:build'; } else { projectConfig.targets.esbuild = Object.assign(Object.assign({}, currentBuild), { executor: '@anatine/esbuildnx:build' }); } const esbuildConfig = { platform: 'node', external: !options.defaultNestExternals ? [] : [ '@nestjs/microservices', 'class-transformer', 'cache-manager', '@nestjs/websockets/socket-module', 'class-validator', 'class-transformer', '@nestjs/microservices/microservices-module', '@nestjs/microservices', ], }; try { (0, devkit_1.readJson)(host, `${projectConfig.root}/esbuild.json`); (0, devkit_1.updateJson)(host, `${projectConfig.root}/esbuild.json`, (value) => { value.platform = 'node'; value.external = [...value.external, ...esbuildConfig.external]; return value; }); } catch (err) { (0, devkit_1.writeJson)(host, `${projectConfig.root}/esbuild.json`, esbuildConfig); } (0, devkit_1.addDependenciesToPackageJson)(host, dependencies_1.dependencies, dependencies_1.devDependencies); (0, devkit_1.updateProjectConfiguration)(host, options.name, projectConfig); yield (0, devkit_1.formatFiles)(host); }); } exports.setupGenerator = setupGenerator; exports.default = setupGenerator; //# sourceMappingURL=setup.js.map