UNPKG

@routineless/nx-aws-cdk

Version:
46 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cdkBuildExecutor = void 0; const tslib_1 = require("tslib"); const js_1 = require("@nx/js"); const esbuild = tslib_1.__importStar(require("esbuild")); const fs_extra_1 = require("fs-extra"); const build_esbuild_options_1 = require("./lib/build-esbuild-options"); async function* cdkBuildExecutor(options, context) { if (options.deleteOutputPath) (0, fs_extra_1.removeSync)(options.outputPath); const { errors } = await runTypeCheck(options, context); if (errors && errors.length > 0) { yield { success: false }; return; } const esbuildOptions = (0, build_esbuild_options_1.buildEsbuildOptions)(options, context); const buildResult = await esbuild.build(esbuildOptions); yield { success: buildResult.errors.length === 0, }; } exports.cdkBuildExecutor = cdkBuildExecutor; function getTypeCheckOptions(options, context) { const { tsConfig } = options; const typeCheckOptions = { // TODO(jack): Add support for d.ts declaration files -- once the `@nx/js:tsc` changes are in we can use the same logic. mode: 'noEmit', tsConfigPath: tsConfig, // outDir: outputPath, workspaceRoot: context.root, rootDir: context.root, }; return typeCheckOptions; } async function runTypeCheck(options, context) { const { errors, warnings } = await (0, js_1.runTypeCheck)(getTypeCheckOptions(options, context)); const hasErrors = errors && errors.length > 0; const hasWarnings = warnings && warnings.length > 0; if (hasErrors || hasWarnings) { await (0, js_1.printDiagnostics)(errors, warnings); } return { errors, warnings }; } exports.default = cdkBuildExecutor; //# sourceMappingURL=index.js.map