{"_id":"@voiceflow/serverless-plugin-typescript","_rev":"57-69cd69c35eef2b336d55d366bb51b9bc","name":"@voiceflow/serverless-plugin-typescript","dist-tags":{"latest":"2.1.9"},"versions":{"2.1.6":{"name":"@voiceflow/serverless-plugin-typescript","version":"2.1.6","keywords":["serverless","serverless plugin","typescript","aws lambda"],"license":"MIT","_id":"@voiceflow/serverless-plugin-typescript@2.1.6","maintainers":[{"name":"cheatcod","email":"2892084432j@gmail.com"},{"name":"ebra-vf","email":"ebrahim.yaakoubagha@voiceflow.com"},{"name":"saargue","email":"sabrinaargue@rogers.com"},{"name":"ganeshasapu","email":"ganesh.asapu@voiceflow.com"},{"name":"gillyb","email":"gillyb@gmail.com"},{"name":"ose-voiceflow","email":"osegbemoh.dania@voiceflow.com"},{"name":"theprof","email":"theprof@gerggle.com"},{"name":"bhuvana.adur.kannan","email":"bhuvana.adur.kannan@voiceflow.com"},{"name":"abuyak","email":"artsem.buyak@voiceflow.com"},{"name":"e_vandenberg","email":"erikvandenberg81@gmail.com"},{"name":"ninabondar","email":"nina.bondar.cs@gmail.com"},{"name":"yoyotruly","email":"yoyo.truly@gmail.com"},{"name":"matthewnaik","email":"matthewnaik@gmail.com"},{"name":"edison-vflow","email":"edison.mukadah@voiceflow.com"},{"name":"shelone.grantwatson","email":"shelone.grantwatson@voiceflow.com"},{"name":"zhilight","email":"brennan.lu@voiceflow.com"},{"name":"amandasteinhauer","email":"amanda.steinhauer@protonmail.com"},{"name":"pmvrmc","email":"pedromatosdecarvalho@gmail.com"},{"name":"filipemerker","email":"filipesmerker@gmail.com"},{"name":"viniciusdacal","email":"viniciusldacal@gmail.com"},{"name":"trs","email":"npm@tylerstewart.ca"},{"name":"matheuspoleza","email":"matheus.poleza@gmail.com"},{"name":"denyslinkov","email":"denys.linkov@voiceflow.com"},{"name":"andrewlawrence","email":"andrew@voiceflow.com"},{"name":"tylerhhan","email":"tyler@voiceflow.com"},{"name":"effervescentia","email":"ben.l.teichman@gmail.com"},{"name":"josh_vf","email":"josh@voiceflow.com"},{"name":"voiceflow-gallagan","email":"nicolas@voiceflow.com"},{"name":"z4o4z","email":"overhawlin@gmail.com"},{"name":"xavidop","email":"xavierportillaedo@gmail.com"},{"name":"vf-serviceaccount","email":"serviceaccount@voiceflow.com"}],"homepage":"https://github.com/serverless/serverless-plugin-typescript#readme","bugs":{"url":"https://github.com/serverless/serverless-plugin-typescript/issues"},"dist":{"shasum":"c74e482a8679cde3e787cae405265ebe39c453c3","tarball":"https://registry.npmjs.org/@voiceflow/serverless-plugin-typescript/-/serverless-plugin-typescript-2.1.6.tgz","fileCount":9,"integrity":"sha512-siNLaHMnzS35bXX7GbhvNWENXDSyx9CDbIUzaTs/NGjF7HpbucxUBTI4CVtMspD9llvpsqfEVldW2WuQ+/lSNA==","signatures":[{"sig":"MEUCIQCxeWksER+cOfCSOG7NFU+7GNuvhjXGaVqyOlhqmd/7yAIgIgRcEe7ZnGrEdukcTG9BKr1dEiVLQDOmta547cJ2VJg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45458},"jest":{"preset":"ts-jest","testRegex":"(/__tests__/.*|\\.(test|spec))\\.ts$","moduleFileExtensions":["ts","tsx","js"]},"main":"dist/src/index.js","engines":{"node":">=10.0"},"gitHead":"c23faad0f1704ee7a0f183911733bd9eeea8dfb9","scripts":{"lint":"tslint -c tslint.json 'src/**/*.ts'","test":"jest","build":"rimraf dist && tsc","pretest":"npm run lint","precommit":"npm run test","prepublish":"npm run build","prepare-release":"standard-version"},"_npmUser":{"name":"tylerhhan","email":"tyler@voiceflow.com"},"repository":{"url":"git+https://github.com/serverless/serverless-plugin-typescript.git","type":"git"},"_npmVersion":"10.5.2","description":"[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) [![npm version](https://badge.fury.io/js/serverless-plugin-typescript.svg)](https://badge.fury.io/js/serverless-plugin-typescript) [![Build Status](https://travis-ci.or","directories":{},"_nodeVersion":"20.13.1","dependencies":{"globby":"^10.0.2","lodash":"^4.17.21","fs-extra":"^7.0.1","tsc-alias":"^1.8.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.5.0","rimraf":"2.6.3","tslint":"5.14.0","mock-fs":"4.9.0","ts-jest":"24.0.2","typescript":"^4.9.5","@types/jest":"24.0.12","@types/node":"12.6.2","@types/lodash":"4.14.123","@types/fs-extra":"5.0.5","standard-version":"^9.5.0","github-release-from-cc-changelog":"^2.3.0"},"peerDependencies":{"serverless":"2 || 3","typescript":">=2.2.2"},"standard-version":{"skip":{"tag":true,"commit":true},"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"perf","section":"Performance Improvements"},{"type":"refactor","section":"Maintenance Improvements"}]},"_npmOperationalInternal":{"tmp":"tmp/serverless-plugin-typescript_2.1.6_1716770753866_0.1221962097106779","host":"s3://npm-registry-packages"}},"2.1.9":{"name":"@voiceflow/serverless-plugin-typescript","version":"2.1.9","keywords":["serverless","serverless plugin","typescript","aws lambda"],"license":"MIT","_id":"@voiceflow/serverless-plugin-typescript@2.1.9","maintainers":[{"name":"pmvrmc","email":"pedromatosdecarvalho@gmail.com"},{"name":"amandasteinhauer","email":"amanda.steinhauer@protonmail.com"},{"name":"andrewlawrence","email":"andrew@voiceflow.com"},{"name":"tylerhhan","email":"tyler@voiceflow.com"},{"name":"effervescentia","email":"ben.l.teichman@gmail.com"},{"name":"josh_vf","email":"josh@voiceflow.com"},{"name":"voiceflow-gallagan","email":"nicolas@voiceflow.com"},{"name":"z4o4z","email":"overhawlin@gmail.com"},{"name":"sssoflyyy","email":"andrew.zaitsev.crtr@gmail.com"},{"name":"xavidop","email":"xavierportillaedo@gmail.com"},{"name":"vf-serviceaccount","email":"serviceaccount@voiceflow.com"},{"name":"zhilight","email":"brennan.lu@voiceflow.com"},{"name":"trs","email":"npm@tylerstewart.ca"},{"name":"ytolun","email":"tolunyuksel@gmail.com"},{"name":"sanasarjanjughazyan","email":"sanasar.janjughazyan@gmail.com"},{"name":"ose-voiceflow","email":"osegbemoh.dania@voiceflow.com"},{"name":"dandonovan78","email":"dan@wattcode.io"},{"name":"theprof","email":"theprof@gerggle.com"},{"name":"abuyak","email":"artsem.buyak@voiceflow.com"},{"name":"ninabondar","email":"nina.bondar.cs@gmail.com"},{"name":"jbydeley","email":"npm@bydeley.ca"},{"name":"chidi-voiceflow","email":"chidinma.umenwofornweze@voiceflow.com"},{"name":"pateriack","email":"patceidt@gmail.com"},{"name":"arjunsehgal-vf","email":"arjun.sehgal@voiceflow.com"},{"name":"rohan-mandhotra-vf","email":"rohan.mandhotra@voiceflow.com"},{"name":"mackenzieleu","email":"mackenzie.leu@voiceflow.com"},{"name":"devinabaghmar","email":"devina.baghmar@voiceflow.com"}],"homepage":"https://github.com/serverless/serverless-plugin-typescript#readme","bugs":{"url":"https://github.com/serverless/serverless-plugin-typescript/issues"},"dist":{"shasum":"dc86b23bce59415fcc68e333ce37f8ee5ad8efff","tarball":"https://registry.npmjs.org/@voiceflow/serverless-plugin-typescript/-/serverless-plugin-typescript-2.1.9.tgz","fileCount":12,"integrity":"sha512-0G+fKTqHYrLspqSM6oHsD/TzlkdT1khJ4zPQPr9pNti//AZ2rkDUTqEFCKVmwF/F99keyUO684hVTvgjd5jgVg==","signatures":[{"sig":"MEYCIQC2gEro0x3VkhUv95m2FuZ+cIFizuZMIbRnVScBVm5SMgIhAIanAczfLtCtEQmkAFVULdKJm4lTNoCQ/6PNvh8tL8CD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45458},"jest":{"preset":"ts-jest","testRegex":"(/__tests__/.*|\\.(test|spec))\\.ts$","moduleFileExtensions":["ts","tsx","js"]},"main":"dist/src/index.js","_from":"file:scratch/serverless-plugin-typescript-2.1.9.tgz","engines":{"node":">=10.0"},"scripts":{"lint":"tslint -c tslint.json 'src/**/*.ts'","test":"jest","build":"rimraf dist && tsc","pretest":"npm run lint","precommit":"npm run test","prepublish":"npm run build","prepare-release":"standard-version"},"_npmUser":{"name":"effervescentia","email":"ben.l.teichman@gmail.com"},"_resolved":"/Users/benteichman/development/voiceflow/malware/scratch/serverless-plugin-typescript-2.1.9.tgz","_integrity":"sha512-0G+fKTqHYrLspqSM6oHsD/TzlkdT1khJ4zPQPr9pNti//AZ2rkDUTqEFCKVmwF/F99keyUO684hVTvgjd5jgVg==","repository":{"url":"git+https://github.com/serverless/serverless-plugin-typescript.git","type":"git"},"_npmVersion":"10.9.2","description":"[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) [![npm version](https://badge.fury.io/js/serverless-plugin-typescript.svg)](https://badge.fury.io/js/serverless-plugin-typescript) [![Build Status](https://travis-ci.or","directories":{},"_nodeVersion":"22.14.0","dependencies":{"globby":"^10.0.2","lodash":"^4.17.21","fs-extra":"^7.0.1","tsc-alias":"^1.8.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.5.0","rimraf":"2.6.3","tslint":"5.14.0","mock-fs":"4.9.0","ts-jest":"24.0.2","typescript":"^4.9.5","@types/jest":"24.0.12","@types/node":"12.6.2","@types/lodash":"4.14.123","@types/fs-extra":"5.0.5","standard-version":"^9.5.0","github-release-from-cc-changelog":"^2.3.0"},"peerDependencies":{"serverless":"2 || 3","typescript":">=2.2.2"},"standard-version":{"skip":{"tag":true,"commit":true},"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"perf","section":"Performance Improvements"},{"type":"refactor","section":"Maintenance Improvements"}]},"_npmOperationalInternal":{"tmp":"tmp/serverless-plugin-typescript_2.1.9_1764021994612_0.5856011079013455","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-05-27T00:45:53.865Z","modified":"2026-08-12T17:19:58.905Z","2.1.6":"2024-05-27T00:45:54.044Z","2.1.7":"2025-11-24T11:18:33.659Z","2.1.8":"2025-11-24T11:20:09.515Z","2.1.9":"2025-11-24T22:06:34.837Z"},"bugs":{"url":"https://github.com/serverless/serverless-plugin-typescript/issues"},"license":"MIT","homepage":"https://github.com/serverless/serverless-plugin-typescript#readme","keywords":["serverless","serverless plugin","typescript","aws lambda"],"repository":{"url":"git+https://github.com/serverless/serverless-plugin-typescript.git","type":"git"},"description":"[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) [![npm version](https://badge.fury.io/js/serverless-plugin-typescript.svg)](https://badge.fury.io/js/serverless-plugin-typescript) [![Build Status](https://travis-ci.or","maintainers":[{"email":"pedromatosdecarvalho@gmail.com","name":"pmvrmc"},{"email":"amanda.steinhauer@protonmail.com","name":"amandasteinhauer"},{"email":"andrew@voiceflow.com","name":"andrewlawrence"},{"email":"tyler@voiceflow.com","name":"tylerhhan"},{"email":"ben.l.teichman@gmail.com","name":"effervescentia"},{"email":"josh@voiceflow.com","name":"josh_vf"},{"email":"nicolas@voiceflow.com","name":"voiceflow-gallagan"},{"email":"overhawlin@gmail.com","name":"z4o4z"},{"email":"andrew.zaitsev.crtr@gmail.com","name":"sssoflyyy"},{"email":"xavierportillaedo@gmail.com","name":"xavidop"},{"email":"tolunyuksel@gmail.com","name":"ytolun"},{"email":"sanasar.janjughazyan@gmail.com","name":"sanasarjanjughazyan"},{"email":"dan@wattcode.io","name":"dandonovan78"},{"email":"theprof@gerggle.com","name":"theprof"},{"email":"artsem.buyak@voiceflow.com","name":"abuyak"},{"email":"nina.bondar.cs@gmail.com","name":"ninabondar"},{"email":"michael.hood@voiceflow.com","name":"pixelzar"},{"email":"rohan.mandhotra@voiceflow.com","name":"rohan-mandhotra-vf"},{"email":"osegbemoh.dania@voiceflow.com","name":"ose-voiceflow"},{"email":"braden.ream@voiceflow.com","name":"bream"},{"email":"npm@bydeley.ca","name":"jbydeley"},{"email":"serviceaccount@voiceflow.com","name":"vf-serviceaccount"},{"email":"peter.isaacs@voiceflow.com","name":"peterisaacs-vf"},{"email":"chidinma.umenwofornweze@voiceflow.com","name":"chidi-voiceflow"},{"email":"patceidt@gmail.com","name":"pateriack"},{"email":"devina.baghmar@voiceflow.com","name":"devinabaghmar"}],"readme":"# serverless-plugin-typescript\n[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) [![npm version](https://badge.fury.io/js/serverless-plugin-typescript.svg)](https://badge.fury.io/js/serverless-plugin-typescript) [![Build Status](https://travis-ci.org/prisma/serverless-plugin-typescript.svg?branch=master)](https://travis-ci.org/prisma/serverless-plugin-typescript)\n\n_Originally developed by [Prisma Labs](https://github.com/prisma-labs/), now maintained in scope of [Serverless, Inc](https://www.serverless.com/)_\n\nServerless plugin for zero-config Typescript support\n\n\n## Features\n\n* Zero-config: Works out of the box without the need to install any other compiler or plugins\n* Supports ES2015 syntax + features (`export`, `import`, `async`, `await`, `Promise`, ...)\n* Supports `sls package`, `sls deploy` and `sls deploy function`\n* Supports `sls invoke local` + `--watch` mode\n* Integrates nicely with [`serverless-offline`](https://github.com/dherault/serverless-offline)\n\n## Install\n\n```sh\nyarn add --dev serverless-plugin-typescript typescript\n# or\nnpm install -D serverless-plugin-typescript typescript\n```\n\nAdd the following plugin to your `serverless.yml`:\n\n```yaml\nplugins:\n  - serverless-plugin-typescript\n```\n\n## Configure\n\nSee [example folder](example) for a minimal example.\n\n### `tsconfig.json`\n\nThe default `tsconfig.json` file used by the plugin looks like this:\n\n```json\n{\n  \"compilerOptions\": {\n    \"preserveConstEnums\": true,\n    \"strictNullChecks\": true,\n    \"sourceMap\": true,\n    \"allowJs\": true,\n    \"target\": \"es5\",\n    \"outDir\": \".build\",\n    \"moduleResolution\": \"node\",\n    \"lib\": [\"es2015\"],\n    \"rootDir\": \"./\"\n  }\n}\n```\n\n> Note 1: The `outDir` and `rootDir` options cannot be overwritten.\n\n> Note 2: Don't confuse the [`tsconfig.json`](tsconfig.json) in this repository with the one mentioned above.\n\n### Including extra files\n\nAll files from `package/include` will be included in the final build file. See [Exclude/Include](https://serverless.com/framework/docs/providers/aws/guide/packaging#exclude--include)\n\n### Non-standard tsconfig.json locations\nOverride what tsconfig.json to use with the following snippet in your severless.yaml\n```\ncustom:\n  serverlessPluginTypescript:\n    tsConfigFileLocation: './tsconfig.build.json'\n\n```\n\n## Usage\n\n### Google Cloud Functions\n\nWhen using with Google Cloud Functions via the [serverless-google-cloudfunctions](https://github.com/serverless/serverless-google-cloudfunctions)\nplugin, you simply have to provide a `main` field in your `package.json`:\n\n```js\n{\n  // ...\n  \"main\": \"handler.js\",\n  // ..\n}\n```\n\nAnd this plugin will automatically compile your typescript correctly. Note\nthat the field must refer to the compiled file name, namely, ending with a `.js`\nextension.\n\nIf a `main` field was not found, then this plugin will use `index.js`. Before\ncompilation begins, it will check to see that the file indicated exists with a\n`.ts` extension before actually trying to compile it.\n\n### Automatic compilation\n\nThe normal Serverless deploy procedure will automatically compile with Typescript:\n\n- Create the Serverless project with `serverless create -t aws-nodejs`\n- Install Serverless Typescript as above\n- Deploy with `serverless deploy`\n\n### Usage with serverless-offline\n\nThe plugin integrates very well with [serverless-offline](https://github.com/dherault/serverless-offline) to\nsimulate AWS Lambda and AWS API Gateway locally.\n\nAdd the plugins to your `serverless.yml` file and make sure that `serverless-plugin-typescript`\nprecedes `serverless-offline` as the order is important:\n```yaml\n  plugins:\n    ...\n    - serverless-plugin-typescript\n    ...\n    - serverless-offline\n    ...\n```\n\nRun `serverless offline` or `serverless offline start` to start the Lambda/API simulation.\n\nIn 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)\n\n#### serverless-dynamodb-local\n\nConfigure your service the same as mentioned above, but additionally add the `serverless-dynamodb-local`\nplugin as follows:\n```yaml\n  plugins:\n    - serverless-plugin-typescript\n    - serverless-dynamodb-local\n    - serverless-offline\n```\n\nRun `serverless offline start`.\n\n#### Other useful options\n\nYou can reduce the clutter generated by `serverless-offline` with `--dontPrintOutput` and\ndisable timeouts with `--noTimeout`.\n\n### Run a function locally\n\nTo run your compiled functions locally you can:\n\n```bash\n$ serverless invoke local --function <function-name>\n```\n\nOptions are:\n\n- `--function` or `-f` (required) is the name of the function to run\n- `--watch` - recompile and run a function locally on source changes\n- `--path` or `-p` (optional) path to JSON or YAML file holding input data\n- `--data` or `-d` (optional) input data\n\n### Enabling source-maps\n\nYou can easily enable support for source-maps (making stacktraces easier to read) by installing and using the following plugin:\n\n```sh\nyarn add --dev source-map-support\n```\n\n```ts\n// inside of your function\nimport 'source-map-support/register'\n```\n\nIf you are using webpack (most likely). Add `devtool: 'source-map'` to `webpack.config.js`:\n```js\nmodule.exports = {\n  .... snip ....\n  devtool: 'source-map',\n  .... snip ....\n\n}\n```\n\n","readmeFilename":"README.md"}