UNPKG

@routineless/nx-aws-cdk

Version:
63 lines 2.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const devkit_1 = require("@nx/devkit"); const node_1 = require("@nx/node"); const path_1 = require("path"); const workspace_1 = require("../../../utils/workspace"); const normalizeOptions = (options) => { return { ...options, name: `${options.name}-runtime`, directory: `${options.projectRoot}/runtime`, }; }; const updateAwsLambdaRuntumeProjectConfiguration = (tree, options) => { const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, options.name); const projectTargets = projectConfig.targets ?? {}; delete projectTargets['serve']; delete projectTargets['build']; projectConfig.targets = { ...projectConfig.targets, }; (0, devkit_1.updateProjectConfiguration)(tree, options.name, projectConfig); }; const updateAwsLambdaTsconfig = (tree, options) => { (0, devkit_1.updateJson)(tree, `${options.directory}/tsconfig.app.json`, (tsconfig) => { tsconfig.compilerOptions = { ...tsconfig.compilerOptions, target: 'es2022', module: 'es2022', }; return tsconfig; }); }; const addFiles = (tree, options, filesType = 'files') => { const templateOptions = { template: '', }; (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, 'generatorFiles', filesType), options.directory, templateOptions); }; const awsLambdaRuntimeApplicationGenerator = async (tree, options) => { const tasks = []; const normalizedOptions = normalizeOptions(options); tasks.push(await (0, node_1.applicationGenerator)(tree, { ...normalizedOptions, projectNameAndRootFormat: 'as-provided', e2eTestRunner: 'none', skipFormat: true, addPlugin: true, })); (0, workspace_1.deleteNodeAppRedundantDirs)(tree, normalizedOptions.directory); addFiles(tree, normalizedOptions); if (normalizedOptions.unitTestRunner === 'jest') { addFiles(tree, normalizedOptions, 'jest-files'); } updateAwsLambdaRuntumeProjectConfiguration(tree, normalizedOptions); updateAwsLambdaTsconfig(tree, normalizedOptions); if (!normalizedOptions.skipFormat) { await (0, devkit_1.formatFiles)(tree); } return (0, devkit_1.runTasksInSerial)(...tasks); }; exports.default = awsLambdaRuntimeApplicationGenerator; //# sourceMappingURL=index.js.map