diff --git a/.gitignore b/.gitignore index 43b6efc..6fe79cb 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ build/Release # Dependency directories node_modules/ +prod_node_modules/ jspm_packages/ # TypeScript v1 declaration files diff --git a/packages/sls-random/serverless.yml b/packages/sls-random/serverless.yml index b21ea8b..7bf6766 100644 --- a/packages/sls-random/serverless.yml +++ b/packages/sls-random/serverless.yml @@ -4,10 +4,7 @@ plugins: - serverless-plugin-scripts package: - exclude: - - ./** - - '!dist/**' - - '!node_modules/**' + artifact: dist/artifact.zip provider: name: aws @@ -31,11 +28,11 @@ provider: custom: scripts: hooks: - 'before:deploy:createDeploymentArtifacts': yarn run build + 'before:deploy:createDeploymentArtifacts': yarn run build && ../../scripts/sls-package.sh functions: fetchRandomNumber: - handler: dist/index.fetchRandomNumber + handler: index.fetchRandomNumber events: - http: GET number \ No newline at end of file diff --git a/scripts/sls-package.sh b/scripts/sls-package.sh new file mode 100755 index 0000000..8f9553e --- /dev/null +++ b/scripts/sls-package.sh @@ -0,0 +1,28 @@ +#! /bin/sh + +# this is assumed to run from a sls-package, e.g. at packages/sls-random +# see https://github.com/yarnpkg/yarn/issues/6293#issuecomment-414779476 +cwd=$PWD + +# install production deps for the entire workspace +cd ../.. +yarn install --production +cd $cwd + +# dupe node_modules +mkdir -p dist +rm -fr dist/node_modules +cp -RL node_modules dist/node_modules + +# cleanup .bin +rm -rf dist/node_modules/.bin + + # back to development +cd ../../ +yarn install +cd $cwd + +# prepare artifact +cd dist +zip -r artifact.zip * +cd .. \ No newline at end of file diff --git a/tsconfig.settings.json b/tsconfig.settings.json index ff9902a..d9e1324 100644 --- a/tsconfig.settings.json +++ b/tsconfig.settings.json @@ -2,9 +2,7 @@ "compilerOptions": { "module": "commonjs", "target": "es6", - "lib": [ - "es6" - ], + "lib": ["es6"], "moduleResolution": "node", "rootDir": "./", @@ -12,11 +10,8 @@ "paths": { "@org/*": ["./*/src"] }, - "typeRoots": [ - "./node_modules/@types", - "./packages/types" - ], - + "typeRoots": ["./node_modules/@types", "./packages/types"], + "composite": true, "declaration": true, "declarationMap": true, @@ -34,9 +29,5 @@ "resolveJsonModule": true, "esModuleInterop": true }, - "exclude": [ - "**/dist", - "**/node_modules", - "**/test" - ] -} \ No newline at end of file + "exclude": ["**/dist", "**/node_modules", "**/prod_node_modules", "**/test"] +} diff --git a/yarn.lock b/yarn.lock index 2355953..c823790 100644 --- a/yarn.lock +++ b/yarn.lock @@ -795,8 +795,8 @@ aws-lambda@^0.1.2: dotenv "^0.4.0" aws-sdk@^*, aws-sdk@^2.228.0: - version "2.297.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.297.0.tgz#2fe085076f6fd488285ef7cfaf883fdaa47acee9" + version "2.298.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.298.0.tgz#53259d06ca3bcde69d11f3b24b1c05088939c67f" dependencies: buffer "4.9.1" events "1.1.1"