Code Monkey home page Code Monkey logo

builder-support's Introduction

Travis Status Coverage Status

Builder Support Tools

Support tools for authoring builder archetypes.

Installation

To use the production and development workflows, install both this package and the development module:

$ npm install --save-dev builder-support

Usage

builder-support gen-dev

Use this tool to create an ARCHETYPE-dev module for publishing alongside ARCHETYPE with the same version numbers, details, etc.

This tools assumes an archetype structure of:

  • package.json - Dependencies needed for production tasks and scripts entry that has tasks for both production and development. Must have name, description fields.
  • A development sub-directory or independent repository containing dependencies for development tasks only.
    • dev/package.json
    • ../ARCHETYPE-dev/package.json

Assuming those exist, then the tool:

  • Modifies ARCHETYPE-dev/package.json as follows:

    • Copies the root package.json
    • Removes package.json:devDependencies
    • Replaces package.json:dependencies with ARCHETYPE-dev/package.json:dependencies
    • Updates things like the name field to represent ARCHETYPE-dev
  • Copies README.md to ARCHETYPE-dev/README.md

  • Copies .gitignore to ARCHETYPE-dev/.gitignore

This supports a workflow as follows:

$ vim HISTORY.md              # Version notes
$ vim package.json            # Bump version
$ builder-support gen-dev     # Generate `ARCHETYPE-dev` files
$ npm run builder:check       # Last check!
$ git add .
$ git commit -m "Version bump"
$ git tag -a "vNUMBER" -m "Version NUMBER"
$ git push && git push --tags
$ npm publish                 # Publish main project

# Publish dev project in same repo
$ cd dev && npm publish

# (OR) Publish dev project in different, parallel repo
$ cd ../ARCHETYPE-dev
$ git commit -m "Version bump"
$ git tag -a "vNUMBER" -m "Version NUMBER"
$ git push && git push --tags
$ npm publish                 # Publish dev project

If you are bootstrapping a new archetype you will need to ensure either that a ARCHETYPE/dev or ../ARCHETYPE-dev directory exists. The rest of the files when then be properly generated into the dev project.

And you should be good to run builder-support gen-dev in the project root.

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.