0.0.9 • Published 10 months ago

serverless-typescript-local-module v0.0.9

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

serverless-typescript-local-module

serverless-typescript-local-module is a serverless framework plugin that helps you directly inject local node modules to the modules of the project.

Why is this needed?

serverless-plugin-typescript, doesn't follow symlinks when copying node modules from the build directory. The issue that occurs is that the local node module you are using won't get added to the package.

How does it work?

This plugin simply does those steps for you

  • Remove symlink from the node_module folder in your .build directory
  • If it's a typescript local module builds it.
  • Copies the module and it's node modules to the .build directory node modules
  • Cleanups the typescript build directory

Installation

Install the package from npm repository

npm i --save-dev serverless-typescript-local-module

Include the plugin after the serverless-plugin-typescript on your serverless.yml file.

plugins:
  - serverless-plugin-typescript
  - serverless-typescript-local-module

Usage

custom:
  serverlessTypescriptModuleConfig:
    packager: 'npm'
  serverlessTypescriptLocalModule:
    - name: "@localDependency/shared"
      path: "../shared"
      isTypescriptModule: true
      tsConfigFile: 'tsconfig.json'
      buildCommand: build
custom:
  serverlessTypescriptModuleConfig:
    packager: 'npm'
  serverlessTypescriptLocalModule:
    - name: "@localDependency/shared"
      path: "../shared"
      isTypescriptModule: false
custom:
  serverlessTypescriptModuleConfig:
    packager: 'pnpm'
  serverlessTypescriptLocalModule:
    - name: "@localDependency/shared"
      path: "../shared"
      isTypescriptModule: true
      tsConfigFile: 'tsconfig.json'
custom:
  serverlessTypescriptModuleConfig:
    packager: 'pnpm'
  serverlessTypescriptLocalModule:
    - name: "@localDependency/shared"
      path: "../shared"
      isTypescriptModule: true
      buildCommand: build
      skipBuildForTs: true
custom:
  serverlessTypescriptModuleConfig:
    packager: 'pnpm'
  serverlessTypescriptLocalModule:
    - name: "@localDependency/shared"
      path: "../shared"
      isTypescriptModule: true

Config

  • packager (npm|pnpm) - Which packager to use for omiting dev dependencies

Local modules definition

  • Name: Your local module name
  • Path: The path where this module is created
  • isTypescriptModule (true|false) - Is the module a typescript one
  • tsConfigFIle (not required - defaults to tsconfig.json) - The name of the typescript config file. This only is allowed when isTypescriptModule is set to true
  • buildCommand (not required - defaults to build) - Which script to use to build the project
  • skipBuildForTs (not required - defaults to false) - If the plugin should skip building the module if it's a typescript module

NOTE: The plugin will fail if the build script isn't found

License

MIT

0.0.9

10 months ago

0.0.8

10 months ago

0.0.7

10 months ago

0.0.6-beta.1

10 months ago

0.0.6

10 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago