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
null
orundefined
then 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