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

angelscripts-cell-mitosis

v1.4.0

Published

Angel scripts for deploying organic cells on `vps` infrastructure.

Downloads

12

Readme

angelscripts-cell-mitosis

Angel scripts for deploying organic cell on vps infrastructure. Designed to work with a cell within monorepo following stem skeleton 2.1.0.

How to install

The minimal version of nodejs is: Nodejs version 8+

Open your terminal and run:

cd /path/to/cell
npm install angelscripts-cell-mitosis --save-dev

VPS requirements

Ubuntu version 14.04+ or Debian version 7+ server with ssh access

localhost requirements

  • ssh
  • scp
  • git
  • tar

Usage

angel cell mitosis :mitosisName :versionChange

Start a cell mitosis. This essentially deploys the current working cell to a remote outlined by the mitosis structure in cell's dna:

{
  cwd: '...',
  build: { ... },
  mitosis: {
    name: String,
    target: {
      domain: String,
      ip: String
    },
    versionChange: String, // "major", "minor", "patch", "current", "prerelease-<identifier>"
    mode: String,
    zygote: Boolean,
    mergeDNAFrom: String
  }
}

short way is using $ angel cell mitosis :mitosisName having versionChange defined in mitosis dna.

  1. uses versionChange to set packagejson.version and git commits/pushes.

Note you need to have git configured to push to default remote.

  • using current as versionChange indicates to skip version bump
  • using prerelease-<identifier> as versionChange indicates to bump a prerelease with provided identifier
  1. packs current working cell by reading its name from packagejson.name

Note that having packagejson.scripts.build present will flag that the cell can be build via npm run build and will engage mitosis using cell's build artifact expected at /dist folder. Otherwise packs:

  • /dna
  • /cells/{cwd}
  • /cells/node_modules
  • /package.json
  1. uploads to mitosis.target.ip at /home/node/deployments/cells/{cellName}-{packagejson.version}-{cellMode}/deployment.tar.gz
  2. unpacks deployment.tar.gz into its containing directory

Note that having mergeDNAFrom present indicates a source directory location which will be copied over the unpacked /dna folder. This is usually used to provide server stored secrets.

For cells which are not build npm i --production is performed for the monorepo and the deployed cell.

  1. writes delpoymentJSON having contents:

Located at /home/node/deployments/enabled/{name}-{version}-{mitosis.mode}.json

{
name: packagejson.name,
cwd: process.cwd(),
version: packagejson.version,
nodeVersion: packagejson.engines.node,
endpoint: String, // computed based on mitosisDNA
port: '@cell-ports.{cellName}',
mountpoint: '@cell-mountpoints.{cellName}',
mitosis: MitosisDNA
domain: MitosisDNA.target.domain
}

Optionally for zygote mitosis writes the same deploymentJSON to /home/node/deployments/running/{name}-{version}-{mitosis.mode}.json

angel cell apoptosis :mitosisName

This essentially deletes on the remote:

  • /home/node/deployments/enabled/{name}-{version}-{mitosis.mode}.json
  • /home/node/deployments/running/{name}-{version}-{mitosis.mode}.json

Related

Testing

You're more than welcome to contribute tests for this repo.

Contributing

We :hearts: contribution. Please follow these simple rules:

  • Keep the README.md up-to-date with changes
  • Have fun :fire::rocket::shipit: