npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

lazy-composer

v1.0.6

Published

Spin up multiple dependent applications using one command

Downloads

3

Readme

Lazy Composer

A tool for quickly cloning all your applications, installing dependencies and bootstrapping them instead of running them one by one from different folders.

Harness the power of composer and go get a coffee while composer starts all the applications for you.

Installation

run npm i -g lazy-composer

compose.json

If you are using composer, majority of your time would be spent in this file. Please refer to the examples folder to see sample compose.json files with various types of configurations.

Here are the list of options that are available within composer:

| Name | Value | Description | |:-----------------------|:-----------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | outputDir | String (Required) | Target directory where all the composed apps must be cloned and run from. | | name | String (Required) | Name of the application. | | gitRepo | String | Git repository link from where the application must be cloned (ssh or https). | | dependencies | Array of strings | Commands to install dependencies for that application, if not provided compose would skip installing dependencies. | | run | String | Commands to run the application, if not provided compose would skip running the application. | | branch | String (Default: master) | Git branch which should be checked out before running dependencies and starting the application, if not provided compose would defauld it to master. | | path | String (Required if dependencies or run is present) | The directory path where application dependencies can be installed and started. |

Here is a sample compose.json:

{
  "outputDir": "../../composer-example-apps",
  "appSources": {
    "git": [
      {
        "gitRepo": "https://github.com/cagataygurturk/spring-boot-boilerplate.git",
        "apps": [
          {
            "name": "spring-app",
            "branch": "master",
            "path": "spring-boot-boilerplate/"
          }
        ]
      },
      {
        "gitRepo": "https://github.com/ngx-rocket/starter-kit.git",
        "apps": [
          {
            "name": "ng-rocket-app",
            "path": "starter-kit/",
            "dependencies": [
              "npm install"
            ],
            "run": "npm start"
          }
        ]
      }
    ]
  }
}

Here are the list of things composer can perform:

run multiple applications cloned from the same or different git repositories

install dependencies of applications without starting them by removing run field

start applications without running dependencies (after dependencies are installed) by removing dependencies field

Usage

To use composer, simply go into the folder with your composer configuration and run the following command:

compose

By default composer would look for compose.json file if no explicit path to the configuration is passed.

If you have your composer configuration saved at a custom location, you can invoke composer as follows:

compose /path/to/compose.json