aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
6 lines (3 loc) • 4.31 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.callsites=callsites,exports.findUp=findUp,exports.findUpMultiple=findUpMultiple,exports.exec=exec,exports.tryGetModuleVersionFromRequire=tryGetModuleVersionFromRequire,exports.tryGetModuleVersionFromPkg=tryGetModuleVersionFromPkg,exports.extractDependencies=extractDependencies,exports.getTsconfigCompilerOptions=getTsconfigCompilerOptions,exports.isSdkV2Runtime=isSdkV2Runtime;var child_process_1=()=>{var tmp=require("child_process");return child_process_1=()=>tmp,tmp},fs=()=>{var tmp=require("fs");return fs=()=>tmp,tmp},path=()=>{var tmp=require("path");return path=()=>tmp,tmp},aws_lambda_1=()=>{var tmp=require("../../aws-lambda");return aws_lambda_1=()=>tmp,tmp};function callsites(){const _prepareStackTrace=Error.prepareStackTrace;Error.prepareStackTrace=(_,stack2)=>stack2;const stack=new Error().stack?.slice(1);return Error.prepareStackTrace=_prepareStackTrace,stack}function findUp(name,directory=process.cwd()){return findUpMultiple([name],directory)[0]}function findUpMultiple(names,directory=process.cwd()){const absoluteDirectory=path().resolve(directory),files=[];for(const name of names){const file=path().join(directory,name);fs().existsSync(file)&&files.push(file)}if(files.length>0)return files;const{root}=path().parse(absoluteDirectory);return absoluteDirectory===root?[]:findUpMultiple(names,path().dirname(absoluteDirectory))}function exec(cmd,args,options){const proc=(0,child_process_1().spawnSync)(cmd,args,options);if(proc.error)throw proc.error;if(proc.status!==0)throw proc.stdout||proc.stderr?new Error(`[Status ${proc.status}] stdout: ${proc.stdout?.toString().trim()}
stderr: ${proc.stderr?.toString().trim()}`):new Error(`${cmd} ${args.join(" ")} ${options?.cwd?`run in directory ${options.cwd}`:""} exited with status ${proc.status}`);return proc}function tryGetModuleVersionFromRequire(mod){try{return require(`${mod}/package.json`).version}catch{return}}function tryGetModuleVersionFromPkg(mod,pkgJson,pkgPath){const dependencies={...pkgJson.dependencies??{},...pkgJson.devDependencies??{},...pkgJson.peerDependencies??{}};if(!dependencies[mod])return;const fileMatch=dependencies[mod].match(/file:(.+)/);return fileMatch&&!path().isAbsolute(fileMatch[1])?`file:${path().join(path().dirname(pkgPath),fileMatch[1])}`:dependencies[mod]}function extractDependencies(pkgPath,modules){const dependencies={},pkgJson=require(pkgPath);for(const mod of modules){const version=tryGetModuleVersionFromPkg(mod,pkgJson,pkgPath)??tryGetModuleVersionFromRequire(mod);if(!version)throw new Error(`Cannot extract version for module '${mod}'. Check that it's referenced in your package.json or installed.`);dependencies[mod]=version}return dependencies}function getTsconfigCompilerOptions(tsconfigPath){const compilerOptions=extractTsConfig(tsconfigPath),excludedCompilerOptions=["composite","charset","noEmit","tsBuildInfoFile"],options={...compilerOptions,incremental:!1,rootDir:"./",outDir:"./"};let compilerOptionsString="";return Object.keys(options).sort().forEach(key=>{if(excludedCompilerOptions.includes(key))return;const value=options[key],option="--"+key,type=typeof value;if(type==="boolean")value?compilerOptionsString+=option+" ":compilerOptionsString+=option+" false ";else if(type==="string")compilerOptionsString+=option+" "+value+" ";else if(type==="object")Array.isArray(value)&&(compilerOptionsString+=option+" "+value.join(",")+" ");else throw new Error(`Missing support for compilerOption: [${key}]: { ${type}, ${value}}
`)}),compilerOptionsString.trim()}function extractTsConfig(tsconfigPath,previousCompilerOptions){const{extends:extendedConfig,compilerOptions}=require(tsconfigPath),updatedCompilerOptions={...compilerOptions,...previousCompilerOptions??{}};return extendedConfig?extractTsConfig(path().resolve(tsconfigPath.replace(/[^\/]+$/,""),extendedConfig),updatedCompilerOptions):updatedCompilerOptions}function isSdkV2Runtime(runtime){return[aws_lambda_1().Runtime.NODEJS,aws_lambda_1().Runtime.NODEJS_4_3,aws_lambda_1().Runtime.NODEJS_6_10,aws_lambda_1().Runtime.NODEJS_8_10,aws_lambda_1().Runtime.NODEJS_10_X,aws_lambda_1().Runtime.NODEJS_12_X,aws_lambda_1().Runtime.NODEJS_14_X,aws_lambda_1().Runtime.NODEJS_16_X].some(r=>r.family===runtime.family&&r.name===runtime.name)}
;