All Projects → atlassian → lerna-semantic-release

atlassian / lerna-semantic-release

Licence: other
📦:🛠✨💥 – fully automated package publishing

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to lerna-semantic-release

semantic-release
📦🚀 Fully automated version management and package publishing
Stars: ✭ 29 (-95.55%)
Mutual labels:  semantic-release
manager
OVHcloud Control Panel
Stars: ✭ 153 (-76.5%)
Mutual labels:  lerna
ci-publish
Poor man's semantic release utility. Let the CI do the `npm publish` step after the build passes
Stars: ✭ 30 (-95.39%)
Mutual labels:  semantic-release
typescript-npm-package-template
Boilerplate to kickstart creating an npm package using TypeScript
Stars: ✭ 122 (-81.26%)
Mutual labels:  semantic-release
vue-cli3-lerna-ui
基于VUE CLI 3 & Lerna的UI框架设计
Stars: ✭ 73 (-88.79%)
Mutual labels:  lerna
cra-template-unicorn
🦄 The full template of create-react-app with typescript, redux-toolkit, react-redux, react-router for Single Page Application!
Stars: ✭ 56 (-91.4%)
Mutual labels:  semantic-release
eslint-import-resolver-lerna
Resolver for Lerna-based projects for eslint-plugin-import
Stars: ✭ 47 (-92.78%)
Mutual labels:  lerna
ng-mono-repo-starter
Angular Mono Repo Starter
Stars: ✭ 79 (-87.86%)
Mutual labels:  lerna
babel-loader-lerna-cra
Transpile Create-React-App imports in Lerna projects.
Stars: ✭ 30 (-95.39%)
Mutual labels:  lerna
sv4git
Semantic version and conventional commits for git
Stars: ✭ 33 (-94.93%)
Mutual labels:  semantic-release
generator-bunny
🐰 Jumpstart node module, like a bunny!
Stars: ✭ 13 (-98%)
Mutual labels:  semantic-release
uno-game
🎴 An UNO Game made in Javascript
Stars: ✭ 93 (-85.71%)
Mutual labels:  lerna
go-semantic-release
automatic release
Stars: ✭ 34 (-94.78%)
Mutual labels:  semantic-release
html-integrations
The official JavaScript library for MathType, the leading formula editor and equation writer for the web by Wiris
Stars: ✭ 36 (-94.47%)
Mutual labels:  lerna
lerna-terminal
Powerful cli ui for monorepos
Stars: ✭ 25 (-96.16%)
Mutual labels:  lerna
react-ecommerce
E-commerce monorepo application using NextJs, React, React-native, Design-System and Graphql with Typescript
Stars: ✭ 136 (-79.11%)
Mutual labels:  lerna
simple-commit-message
Simple commit message wizard and validator; works with commitizen and pre-git
Stars: ✭ 21 (-96.77%)
Mutual labels:  semantic-release
microservice-chat-app
The chat app built with microservice architecture, the app using: Lerna, pm2, GraphQL
Stars: ✭ 24 (-96.31%)
Mutual labels:  lerna
sqrs
🚌SQRS is a JavaScript library for implementing CQRS pattern.
Stars: ✭ 23 (-96.47%)
Mutual labels:  lerna
vscode-monorepo-workspace
📦✨Manage monorepos with multi-root workspaces. Supports Lerna, Yarn, Pnpm, Rushjs and recursive package directories.
Stars: ✭ 93 (-85.71%)
Mutual labels:  lerna

lerna-semantic-release

Status: npm version npm downloads Build Status

semantic-release for lerna-based projects.

Basically a semantic-release that orders commits based on which package they belong to (uses data from cz-lerna-changelog) and then determines on that what the next release should be.

Setup

Setting up commitizen

Install cz-lerna-changelog in your repository:

npm install commitizen -g

Next, initialize your project to use the cz-lerna-changelog adapter by typing:

commitizen init cz-lerna-changelog --save-dev --save-exact

See the commitizen-cli docs for more details on how to set up commitizen with the correct adapter.

Setting up the build

You'll need to set up your build in such a way that tags and commits can be pushed back to the repository. This is so that lerna can stay in sync with the NPM releases.

You'll also need to set the NPM_TOKEN environment variable so that npm can run npm publish on your components.

Travis CI integration

See .travis.yml and .travis/ in this repository for examples of how to set up lerna-semantic-release with Travis CI.

The following environment variables will need to be set:

NPM_CONFIG_EMAIL 
NPM_CONFIG_USERNAME 
NPM_TOKEN 
GH_TOKEN 
RELEASE_GH_TOKEN
RELEASE_GH_USERNAME

Releasing

Execute these commands in your release process:

# Pre
lerna-semantic-release pre # Set up the versions, tags and commits

# Perform
lerna-semantic-release perform # Publishes to npm

# Post
lerna-semantic-release post # Generates a changelog in each package in a file named CHANGELOG.md - will not commit or push that file any more after version 7.0.5 any more. If you want to do something with it, you will need to do this manually.

This will publish all npm packages, including creating commits and tags for each release, in the format that lerna expects for the `lerna updated` command.
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].