Register a transpiler function which will serve as a file content transformer before they land in lambda package.
$ npm install serverless-plugin-transpiler
- Activate plugin in
serverless.yml
plugins:
- serverless-plugin-transpiler- Configure transpiler module, it should reside somewhere within your service.
Transpiler should be a function that on content (file contents) and filePath (full path to module)
returns transpiled (if needed) content. Handling is as follows:
- Transpiler may be sync (return transpiled code directly) or async (may return promise)
- If resolved value from transpiler is either
nullorundefinedthen it is assumed that no transpilation was applied to this file, and original file content is passed as it is.
Example transpiler:
module.exports = function (content, filePath) {
if (!filePath.endsWith(".js")) return null; // transpile only JS files
return transpileES2019Feature(content);
}- Configure path to preconfigured transpiler in
serverless.yml
custom:
transpilerPath: lib/transpile.js