0.0.5 • Published 7 years ago

polylithic v0.0.5

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

Polylithic

Polylithic is a tool to help manage shared dependencies across multiple repositories.

Monolithic repositories are gross, Polylithic repositories are better.

⚠️ polylithic is still early in development

Basics

Even though Polylithic supports multiple repos, these repos must be contained under a single root folder.

Polylithic can divide dependencies into different projects. Each project definition can have it's own unique dependencies and each child repo can map to multiple projects. In order of importance. (if you're reading this, then I haven't fleshed that order out yet!)

Getting Started

Install with npm:

npm install -g polylithic

In your root folder, define a depot.json file. This is where you will store your configurations for different projects. The depot.json file should look like the following:

depot.json

{
  "projectName": {
    "dependencies": {
      "bootstrap": "^3.3.7",
    },
    "devDependencies": {
      "stylus": "^0.54.5",
      "webpack": "^2.5.1"
    }  
  },
  "secondProject": {
    "dependencies": {
      "koa": "^2.2.0"
    }
  }
}

In your child projects, add a "poly" property with an array to your package.json config, so it looks like the following:

package.json

{
  "name": "child",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "author": "",
  "license": "ISC",
  "poly": [
    "projectName", 
    "secondProject"
  ],
}

Then in the parent folder run the command poly in your console to update your packages. Polylithic will then loop through your top level child projects, updating their package.json dependencies based on the depot.json config.

THAT'S IT! (for polylithic anyway, you still need to check these in)

0.0.5

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1-alpha.1

7 years ago

0.0.1

7 years ago