GithubHelp home page GithubHelp logo

kn-release's Introduction

kn-release

Build, tag, push, and publish your repositories with one command.

Based on the lovely https://github.com/rpflorence/rf-release minus the changelog generation. I prefer managing the changelog manually, plus it's very easy to make that an additional step on per project.

Installation

$ npm install --save kn-release

Usage

Add it to your package.json scripts:

"scripts": {
  "release": "release --build"
}

And now run

$ npm run release

to release new versions of your package.

Build step

Pass --build flag to release to run npm run build after versioning, but before commiting, pushing and publishing. In this case, the build directory gets published to npm, not the root, so make sure to copy package.json and README.md to your build dir in this case.

Here's an example build.sh I use for some of my projects:

rm -rf build

# npm CJS
babel -d build/lib ./lib
cp README.md CHANGELOG.md index.js package.json build

# standalone UMD
webpack index.js build/standalone.js

# print out the size info
echo "\nnpm build including deps is\n `bro-size build`"
echo "\nnpm build excluding deps is\n `bro-size build -u react`"

What it does

  1. prompts you for the new version
  2. runs tests
  3. updates package.json
  4. optionally runs npm run build and publishes the build dir instead of the root
  5. commits the version updates with a simple commit message ("Release {version}")
  6. creates the tag "v{version}"
  7. pushes master and the new tag to origin
  8. publishes to npm

But I have another step before I can tag and publish!

That's fine, just do your build first w/o committing, then run release. It'll all go in the same commit.

kn-release's People

Contributors

kidkarolis avatar ryanflorence avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.