diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 7f39679..ccc0b43 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,4 @@ +github: floydspace patreon: floydspace issuehunt: floydspace ko_fi: floydspace diff --git a/package.json b/package.json index 127dfff..cb7c49a 100644 --- a/package.json +++ b/package.json @@ -44,9 +44,9 @@ "typescript" ], "devDependencies": { - "@aws-cdk/assert": "^1.70.0", - "@aws-cdk/aws-lambda": "^1.70.0", - "@aws-cdk/core": "^1.70.0", + "@aws-cdk/assert": "^1.114.0", + "@aws-cdk/aws-lambda": "^1.114.0", + "@aws-cdk/core": "^1.114.0", "@commitlint/cli": "^11.0.0", "@commitlint/config-conventional": "^11.0.0", "@types/fs-extra": "^9.0.2", diff --git a/src/function.ts b/src/function.ts index c5e9b67..f6963b6 100644 --- a/src/function.ts +++ b/src/function.ts @@ -6,12 +6,23 @@ import { mergeRight, union, without } from 'ramda'; import { packExternalModules } from './pack-externals'; import { NodejsFunctionProps } from './props'; -import { extractFileName, findProjectRoot, NodeMajorESMap, nodeMajorVersion } from './utils'; +import { extractFileName, findProjectRoot, nodeMajorVersion } from './utils'; const BUILD_FOLDER = '.build'; const DEFAULT_BUILD_OPTIONS: es.BuildOptions = { bundle: true, - target: NodeMajorESMap[nodeMajorVersion()], + target: `node${nodeMajorVersion()}`, +}; + +const NodeMajorMap = { + 8: lambda.Runtime.NODEJS_8_10, + 9: lambda.Runtime.NODEJS_8_10, + 10: lambda.Runtime.NODEJS_10_X, + 11: lambda.Runtime.NODEJS_10_X, + 12: lambda.Runtime.NODEJS_12_X, + 13: lambda.Runtime.NODEJS_12_X, + 14: lambda.Runtime.NODEJS_14_X, + 15: lambda.Runtime.NODEJS_14_X, }; /** @@ -33,9 +44,7 @@ export class NodejsFunction extends lambda.Function { const exclude = props.exclude ?? ['aws-sdk']; const packager = props.packager ?? true; const handler = props.handler ?? 'index.handler'; - const defaultRuntime = nodeMajorVersion() >= 12 - ? lambda.Runtime.NODEJS_12_X - : lambda.Runtime.NODEJS_10_X; + const defaultRuntime = NodeMajorMap[nodeMajorVersion()]; const runtime = props.runtime ?? defaultRuntime; const entry = extractFileName(projectRoot, handler); @@ -52,7 +61,7 @@ export class NodejsFunction extends lambda.Function { without(exclude, buildOptions.external || []), projectRoot, path.join(projectRoot, BUILD_FOLDER), - packager !== true ? packager : undefined, + packager !== true ? packager : undefined ); } diff --git a/src/utils.ts b/src/utils.ts index 0bbf451..5cbba91 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -91,11 +91,9 @@ export function findUp(name: string, directory: string = process.cwd()): string * Forwards `rootDir` or finds project root folder. */ export function findProjectRoot(rootDir?: string): string | undefined { - return rootDir - ?? findUp('yarn.lock') - ?? findUp('package-lock.json') - ?? findUp('package.json') - ?? findUp(`.git${path.sep}`); + return ( + rootDir ?? findUp('yarn.lock') ?? findUp('package-lock.json') ?? findUp('package.json') ?? findUp(`.git${path.sep}`) + ); } /** @@ -105,18 +103,6 @@ export function nodeMajorVersion(): number { return parseInt(process.versions.node.split('.')[0], 10); } -export const NodeMajorESMap = { - 8: 'es2016', - 9: 'es2017', - 10: 'es2018', - 11: 'es2018', - 12: 'es2019', - 13: 'es2019', - 14: 'es2020', - 15: 'es2020', - 16: 'esnext', -}; - /** * Returns the package manager currently active if the program is executed * through an npm or yarn script like: