
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
serverless-plugin-ttypescript
Advanced tools
[](http://www.serverless.com) [](https://badge.fury.io/js/serverless-plugin-ttypescript) [sls package, sls deploy and sls deploy functionsls invoke local + --watch modeserverless-offlineyarn add --dev serverless-plugin-ttypescript typescript ttypescript
# or
npm install -D serverless-plugin-ttypescript typescript ttypescript
Add the following plugin to your serverless.yml:
plugins:
- serverless-plugin-ttypescript
See example folder for a minimal example.
tsconfig.jsonThe default tsconfig.json file used by the plugin looks like this:
{
"compilerOptions": {
"preserveConstEnums": true,
"strictNullChecks": true,
"sourceMap": true,
"allowJs": true,
"target": "es5",
"outDir": ".build",
"moduleResolution": "node",
"lib": ["es2015"],
"rootDir": "./"
}
}
Note 1: The
outDirandrootDiroptions cannot be overwritten.
Note 2: Don't confuse the
tsconfig.jsonin this repository with the one mentioned above.
All files from package/include will be included in the final build file. See Exclude/Include
Override what tsconfig.json to use with the following snippet in your severless.yaml
custom:
serverlessPluginTypescript:
tsConfigFileLocation: './tsconfig.build.json'
When using with Google Cloud Functions via the serverless-google-cloudfunctions
plugin, you simply have to provide a main field in your package.json:
{
// ...
"main": "handler.js",
// ..
}
And this plugin will automatically compile your typescript correctly. Note
that the field must refer to the compiled file name, namely, ending with a .js
extension.
If a main field was not found, then this plugin will use index.js. Before
compilation begins, it will check to see that the file indicated exists with a
.ts extension before actually trying to compile it.
The normal Serverless deploy procedure will automatically compile with Typescript:
serverless create -t aws-nodejsserverless deployThe plugin integrates very well with serverless-offline to simulate AWS Lambda and AWS API Gateway locally.
Add the plugins to your serverless.yml file and make sure that serverless-plugin-ttypescript
precedes serverless-offline as the order is important:
plugins:
...
- serverless-plugin-ttypescript
...
- serverless-offline
...
Run serverless offline or serverless offline start to start the Lambda/API simulation.
In comparison to serverless offline, the start command will fire an init and a end lifecycle hook which is needed for serverless-offline and e.g. serverless-dynamodb-local to switch off resources (see below)
Configure your service the same as mentioned above, but additionally add the serverless-dynamodb-local
plugin as follows:
plugins:
- serverless-plugin-ttypescript
- serverless-dynamodb-local
- serverless-offline
Run serverless offline start.
You can reduce the clutter generated by serverless-offline with --dontPrintOutput and
disable timeouts with --noTimeout.
To run your compiled functions locally you can:
$ serverless invoke local --function <function-name>
Options are:
--function or -f (required) is the name of the function to run--watch - recompile and run a function locally on source changes--path or -p (optional) path to JSON or YAML file holding input data--data or -d (optional) input dataYou can easily enable support for source-maps (making stacktraces easier to read) by installing and using the following plugin:
yarn add --dev source-map-support
// inside of your function
import 'source-map-support/register'
If you are using webpack (most likely). Add devtool: 'source-map' to webpack.config.js:
module.exports = {
.... snip ....
devtool: 'source-map',
.... snip ....
}
FAQs
[](http://www.serverless.com) [](https://badge.fury.io/js/serverless-plugin-ttypescript) [
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.