If you love software workflows as much as I do, you should check out my basics for deploying NPM packages using TypeScript, CircleCI v2, and GitHub Releases.
You can find an example project on GitHub configured with all of following features. Use this guide as documentation for the project and make sure to check out the sources!
GitHub and The Basics
Just work with GitHub as you are used to: Work in branches, create Pull requests, ensure an always building
master branch, and think about why you might be using git wrong.
CircleCI v2 Workflows
The recent major release v2 of CircleCI introduced new features for Jobs and Workflows. You can split up the build process of your projects into smaller jobs that can be organized in workflows.
Each step for the NPM package is separated in single jobs, so tasks for running the tests and linting the source files can be run in parallel.
With the basic GitHow flow, this works perfectly: Every commit on a branch and new Pull requests trigger the following NPM tasks:
lint- Check the sources
test- Run all tests
build- Ensure the project can be build
coverage- Post coverage report to Coveralls.io
test are executed at the same time in parallel. After both tasks finished successfully, CircleCI triggers the jobs for
coverage, in parallel of course.
Publish to NPM
On top of the basics for every branch and PullRequest, CircleCI is configured to run the
deploy task for every GitHub Release after building the project was successful.
With this workflow, you will always have tests, linting, and compile checks for every branch and PR. You can manage your changelog with GitHub Releases and don’t have to care about how to publish your project to NPM.
Just configure CircleCI with your NPM token, and for every release a new NPM package with that version is published:
Let me be honest with you: GraphQL is the shit! Once you use GraphQL, you will never want to use anything else again. The same is true for a working and maintainable serverless FaaS infrastructure. Combine both technologies to run a genuinely serverless GraphQL API using AWS AppSync and Lambda resolvers.1501 words, posted on June 17
Amazon recently announced CloudFormation support for AppSync and all its features. Together with the Serverless Application Model it’s now dead simple to deploy a GraphQL API and custom Lambda resolvers without using the API at all. The GraphQL RSS Proxy example project is a serverless GraphQL API using AppSync, with an AWS Lambda function as a custom Query Resolver writting in Go.714 words, posted on May 30
Do you use GitHub to manage your software projects and Slack for communication? With GitHub Webhooks and a simple AWS Lambda function, you can notify Slack channels about new releases of your projects.540 words, posted on February 24