diff --git a/lib/plugins/create/templates/aws-nodejs-typescript/package.json b/lib/plugins/create/templates/aws-nodejs-typescript/package.json index 525a1e997..f61752221 100644 --- a/lib/plugins/create/templates/aws-nodejs-typescript/package.json +++ b/lib/plugins/create/templates/aws-nodejs-typescript/package.json @@ -10,13 +10,14 @@ "source-map-support": "^0.5.0" }, "devDependencies": { - "@types/aws-lambda": "0.0.22", + "@types/aws-lambda": "8.10.1", "@types/node": "^8.0.57", - "serverless-webpack": "^4.0.0", - "ts-loader": "^2.3.7", - "typescript": "^2.5.2", - "webpack": "^3.6.0" + "serverless-webpack": "^5.1.1", + "ts-loader": "^4.2.0", + "typescript": "^2.8.1", + "webpack": "^4.5.0" }, - "author": "The serverless webpack authors (https://github.com/elastic-coders/serverless-webpack)", + "author": + "The serverless webpack authors (https://github.com/elastic-coders/serverless-webpack)", "license": "MIT" } diff --git a/lib/plugins/create/templates/aws-nodejs-typescript/serverless.yml b/lib/plugins/create/templates/aws-nodejs-typescript/serverless.yml index bb8a2f566..ef04a44b7 100644 --- a/lib/plugins/create/templates/aws-nodejs-typescript/serverless.yml +++ b/lib/plugins/create/templates/aws-nodejs-typescript/serverless.yml @@ -7,7 +7,7 @@ plugins: provider: name: aws - runtime: nodejs6.10 + runtime: nodejs8.10 functions: hello: diff --git a/lib/plugins/create/templates/aws-nodejs-typescript/tsconfig.json b/lib/plugins/create/templates/aws-nodejs-typescript/tsconfig.json index cb07c78d8..20be6a1c6 100644 --- a/lib/plugins/create/templates/aws-nodejs-typescript/tsconfig.json +++ b/lib/plugins/create/templates/aws-nodejs-typescript/tsconfig.json @@ -1,10 +1,11 @@ { "compilerOptions": { "sourceMap": true, + "target": "es6", "lib": [ - "es5", - "es2015.promise" - ] + "esnext" + ], + "moduleResolution": "node" }, "exclude": [ "node_modules" diff --git a/lib/plugins/create/templates/aws-nodejs-typescript/webpack.config.js b/lib/plugins/create/templates/aws-nodejs-typescript/webpack.config.js index 46a0b7e61..482b98431 100644 --- a/lib/plugins/create/templates/aws-nodejs-typescript/webpack.config.js +++ b/lib/plugins/create/templates/aws-nodejs-typescript/webpack.config.js @@ -3,21 +3,16 @@ const slsw = require('serverless-webpack'); const entries = {}; -Object.keys(slsw.lib.entries).forEach(key => ( - entries[key] = ['./source-map-install.js', slsw.lib.entries[key]] -)); +Object.keys(slsw.lib.entries).forEach( + key => (entries[key] = ['./source-map-install.js', slsw.lib.entries[key]]) +); module.exports = { + mode: slsw.lib.webpack.isLocal ? 'development' : 'production', entry: entries, devtool: 'source-map', resolve: { - extensions: [ - '.js', - '.jsx', - '.json', - '.ts', - '.tsx' - ] + extensions: ['.js', '.jsx', '.json', '.ts', '.tsx'], }, output: { libraryTarget: 'commonjs', @@ -26,8 +21,9 @@ module.exports = { }, target: 'node', module: { - loaders: [ - { test: /\.ts(x?)$/, loader: 'ts-loader' }, + rules: [ + // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` + { test: /\.tsx?$/, loader: 'ts-loader' }, ], }, };