packages/@aws-cdk/toolkit-lib/build-tools/bundle.mjs (28 lines of code) (raw):

import { createRequire } from 'node:module'; import * as path from 'node:path'; import * as fs from 'fs-extra'; // copy files const require = createRequire(import.meta.url); const cliPackage = path.dirname(require.resolve('aws-cdk/package.json')); const cdkFromCfnPkg = path.dirname(require.resolve('cdk-from-cfn/package.json')); const serviceSpecPkg = path.dirname(require.resolve('@aws-cdk/aws-service-spec/package.json')); const copyFromCli = (from, to = undefined) => { return fs.copy(path.join(cliPackage, ...from), path.join(process.cwd(), ...(to ?? from))); }; const copyFromCdkFromCfn = (from, to = undefined) => { return fs.copy(path.join(cdkFromCfnPkg, ...from), path.join(process.cwd(), ...(to ?? from))); }; const copyFromServiceSpec = (from, to = undefined) => { return fs.copy(path.join(serviceSpecPkg, ...from), path.join(process.cwd(), ...(to ?? from))); }; // This is a build script, we are fine // eslint-disable-next-line @cdklabs/promiseall-no-unbounded-parallelism const resources = Promise.all([ copyFromServiceSpec(['db.json.gz']), copyFromCdkFromCfn(['index_bg.wasm'], ['lib', 'index_bg.wasm']), copyFromCli(['lib', 'api', 'bootstrap', 'bootstrap-template.yaml']), ]); // Do all the work in parallel await Promise.all([ resources, ]);