node package manager

ripcord

ripcord

project scaffolding, opinion enforcer, and build tooling!

Codeship Status for cdaringe/ripcord Coverage Status semantic-release Greenkeeper badge

install

npm install --save-dev ripcord

what

what does ripcord really do?

  • 🚀 deploys a set of rules into your project, on request.
    • what are rules? they are all sorts of things. business rules, scripts, or even depedencies!
    • see counsel for more. ripcord uses counsel to apply scaffolding and enforcement.
  • 🔒 enforces those rules, on request.
  • 📝 exposes tooling for report generation! depencency reports, license reports and checking are included.

what rules & opinions does ripcord apply? see module.exports.rules.

usage

here are some hypothetical use cases:

  • to install ripcord rules into to your project, simply install it or update it into your project!
  • to manually apply rules, run ripcord apply
  • to check if ripcord's rules are honored, run ripcord check
  • to generate a depedency report, run ripcord report [-o /path/to/report]

pro tip: if you install ripcord globally ([sudo] npm i -g ripcord) and have ripcord installed locally, you can simply run ripcord [cmd] in your project. ripcord will detect a local copy and run that version. rad+!

what else can it do?

[node_modules/.bin/]ripcord --help

api docs found here

does ripcord dogfood itself?

absolutely. 🎉

applied rules

tooling

dependency reporting

generate dependency report. operates in two modes:

  • node/npm project mode
    • uses your package.json depedencies & devDependencies as sole source of external depedencies
  • ui build (e.g. webpack build)
    • uses ui build compiler output as declaration of which dependencies are used, and uses remaining devDependencies as source of external devDependencies
    • see ripcord report --help for more info

rule application and checking

deploy or check project conventions thanks to counsel. ripcord <apply|check>

license checking

check or dump (output) project licenses. only outputs licenses for dependencies not devDependencies by default.

licenses [options] <check|dump>

npm repo package syncning

sync packages from npm repo to repo. current implementation assumes artifactory API present to successfully copy!

ripcord sync-packages --help

considerations

development

  • this project uses Microsoft TypeScript. if you are editing .ts, be mindful that they must be compiled. simply running tsc --watch or node_modules/.bin/tsc --watch will fire off the compiler and auto-watch the ts files. fear not, the compiled files include source maps, so you can debug the TypeScript content naturally.
  • if you do not have editor preference, it is recommended to use VSCode. this package bundles some helpful workspace settings:
    • easy debug using the pre-defined launch tasks
    • debug using the built source maps
    • hide .js and .map files from the source tree.

yarn compatibility

this modules digs deep into your node_modules. hence, consistent structure and content are imperative for reporting and license features to work. consequently, we recommend only officially using npm, at least for builds.

logo

margdking

todo

  • ui build support for license checking