All Projects → nervous-systems → Serverless Cljs Plugin

nervous-systems / Serverless Cljs Plugin

Licence: unlicense
Serverless plugin for Clojurescript deployment w/ cljs-lambda

Programming Languages

javascript
184084 projects - #8 most used programming language
clojure
4091 projects
clojurescript
191 projects

Projects that are alternatives of or similar to Serverless Cljs Plugin

Serverless Python Requirements
⚡️🐍📦 Serverless plugin to bundle Python packages
Stars: ✭ 838 (+1063.89%)
Mutual labels:  aws, serverless, aws-lambda, serverless-plugin
Serverless Layers
Serverless.js plugin that implements AWS Lambda Layers which reduces drastically lambda size, warm-up and deployment time.
Stars: ✭ 119 (+65.28%)
Mutual labels:  aws, serverless, aws-lambda, serverless-plugin
Serverless Plugin Git Variables
⚡️ Expose git variables to serverless
Stars: ✭ 75 (+4.17%)
Mutual labels:  aws, serverless, aws-lambda, serverless-plugin
Serverless Chrome
🌐 Run headless Chrome/Chromium on AWS Lambda
Stars: ✭ 2,625 (+3545.83%)
Mutual labels:  aws, serverless, aws-lambda, serverless-plugin
Serverless Es Logs
A Serverless plugin to transport logs to ElasticSearch
Stars: ✭ 51 (-29.17%)
Mutual labels:  aws, serverless, aws-lambda, serverless-plugin
Serverless Plugin Canary Deployments
Canary deployments for your Serverless application
Stars: ✭ 283 (+293.06%)
Mutual labels:  aws, serverless, aws-lambda, serverless-plugin
Serverless Sentry Plugin
This plugin adds automatic forwarding of errors and exceptions to Sentry (https://sentry.io) and Serverless (https://serverless.com)
Stars: ✭ 146 (+102.78%)
Mutual labels:  aws, serverless, aws-lambda, serverless-plugin
Serverless Plugin Warmup
Keep your lambdas warm during winter. ♨
Stars: ✭ 814 (+1030.56%)
Mutual labels:  aws, serverless, aws-lambda, serverless-plugin
Serverless Export Env
Serverless plugin to export environment variables into a .env file
Stars: ✭ 51 (-29.17%)
Mutual labels:  aws, serverless, aws-lambda, serverless-plugin
Apex
Old apex/apex
Stars: ✭ 20 (-72.22%)
Mutual labels:  aws, serverless, aws-lambda
Graphql Serverless
Sample project to guide the use of GraphQL and Serverless Architecture.
Stars: ✭ 28 (-61.11%)
Mutual labels:  aws, serverless, aws-lambda
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+11620.83%)
Mutual labels:  aws, serverless, aws-lambda
Aws Lambda Dotnet
Libraries, samples and tools to help .NET Core developers develop AWS Lambda functions.
Stars: ✭ 945 (+1212.5%)
Mutual labels:  aws, serverless, aws-lambda
Aws Auto Terminate Idle Emr
AWS Auto Terminate Idle AWS EMR Clusters Framework is an AWS based solution using AWS CloudWatch and AWS Lambda using a Python script that is using Boto3 to terminate AWS EMR clusters that have been idle for a specified period of time.
Stars: ✭ 21 (-70.83%)
Mutual labels:  aws, serverless, aws-lambda
Aws Github Actions
Deploy 🚀 to AWS ☁️ with GitHub Actions!
Stars: ✭ 70 (-2.78%)
Mutual labels:  aws, serverless, aws-lambda
Step Functions Demo
This is a demo project, created as a part of the blog post. The project uses serverless for deployments.
Stars: ✭ 15 (-79.17%)
Mutual labels:  aws, serverless, aws-lambda
Lambda Packs
Precompiled packages for AWS Lambda
Stars: ✭ 997 (+1284.72%)
Mutual labels:  aws, serverless, aws-lambda
Ng Toolkit
⭐️ Angular tool-box! Start your PWA in two steps! Add Serverless support for existing projects and much more
Stars: ✭ 1,116 (+1450%)
Mutual labels:  aws, serverless, aws-lambda
Cloudmagick
CloudMagick is a serverless application which provides a dynamic image transformation like the small light module of apache2
Stars: ✭ 11 (-84.72%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Plugin Stackstorm
Plugin for serverless framework to run ready to use actions from StackStorm Exchange as AWS Lambda.
Stars: ✭ 28 (-61.11%)
Mutual labels:  aws, serverless, aws-lambda

serverless-cljs-plugin

npm version

A Serverless plugin which uses lein/cljs-lambda (or, optionally Lumo) to package services written in Clojurescript.

Leiningen Template

$ lein new serverless-cljs example
example$ lein deps

Will generate an example directory containing a minimal serverless.yml and project.clj demonstrating this plugin's functionality.

Guide to using the plugin via Lein/JVM compilation.

Usage

functions:
  echo:
    cljs: example.core/echo

plugins:
 - serverless-cljs-plugin

With the above serverless.yml, serverless deploy will create a zip file containing your functions. Doing this is similar to setting the Serverless packaging.artifact option - cljs-lambda is responsible for the zip contents, and Serverless includes/excludes will be skipped (cljs-lambda offers equivalent functionality).

In the example above, there needn't be a corresponding entry for echo in project.clj.

Lumo

Alternatively you can use the Lumo compiler.

In order to enable it, pass the --lumo switch to either deploy or package:

$ serverless deploy --lumo

Or add the following to your serverless.yml:

custom:
  cljsCompiler: lumo
  • Compiler options

    The source paths and compiler options will be read from the optional file serverless-lumo.edn. Below are the defaults:

    {:source-paths ["src"]
     :compiler     {:output-to     "out/lambda.js"
                    :output-dir    "out"
                    :source-map    false ;; because of a bug in lumo <= 1.8.0
                    :target        :nodejs
                    :optimizations :none}}
    
  • Lumo Configuration

    As an alternative to cljsCompiler: lumo, cljsCompiler.lumo may be specified as a map of options. These options are passed directly to the lumo process. Currently supported:

    custom:
      cljsCompiler:
        lumo:
          dependencies:
            - andare:0.7.0
          classpath:
            - /tmp/
          localRepo: /xyz
          cache: /cache | none
          index: true | false
          exitOnWarning: true | false
    

    Note: caching is always on unless you specify "none" in the config.

  • The index.js file

    The index option will materialize a custom index.js in :output-dir's parent folder. This file should be thought as managed by serverless-cljs-plugin and it is necessary for some plugin (e.g.: serverless-offline) to work properly.

    Note: with the default compiler options, index.js will be saved in the project root, overwriting without warning.

  • Exit on compilation warnings

    Lumo generates warnings such as WARNING: Use of undeclared Var to signal failures. You can tune the ones you want to see by using the :warnings compiler option in serverless-lumo.edn, but by default the lumo process emits the warnings, does not throw and returns 0. This means that serverless will keep going in presence of warnings.

License

serverless-cljs-plugin is free and unencumbered public domain software. For more information, see http://unlicense.org/ or the accompanying LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].