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

cirrus2

v0.4.1

Published

Cirrus is a push to deploy tool written above the cirrus clouds. Inspired by Evan You's pod.

Downloads

5

Readme

Cirrus is a push to deploy tool written above the cirrus clouds. Inspired by Evan You's pod.

license build prettier jest PRs Welcome

Install

$ yarn global add cirrus2

or with npm

$ npm install -g cirrus2

Features

  • Automatically sets up domains with SSL
  • Monorepo support out of the box
  • Plugins

Available commands

create

allows you to create a cloud app either from a local repository or a GitHub remote.

Options --port, -p Port to use for your app --environment, -e Path to an .env file to source when creating app --remote, -r Port to use for your app

TODO: Write the rest

Usage

First, log in to your Virtual Private Server. DigitalOcean offers VPS' for only 4$/mo.

$ ssh root@<ip>

Install Cirrus

$ npm install -g cirrus

Setup Cirrus. This step sets up necessary firewalls etc.

$ cirrus setup

Create an app.

$ cirrus init my-app

Then, on your local machine:

$ git remote add deploy https://<your vps ip>/
$ git push deploy main # deploy!

Docs

TODO: Write docs

Contributing

All contributions are welcome! Please read below for guidelines on how to get started.

Feature request

If you want to propose a new feature, open an issue.

Found a bug?

  1. Fork this repository to your own GitHub account and then clone it to your local device
  2. Link the package to the global module directory: npm link
  3. Within the module you want to test your local development instance of cirrus, just link it to the dependencies: npm link cirrus. Node.js will now use your local clone of cirrus!

License

Cirrus is released under the MIT License.

TODO

  • Tests

    • Deployment tests (write abstractions w dep injection)
    • Create project tests (write abstractions w dep injection)
    • Plugin tests (write abstractions w dep injection)
    • get logs, get project, get deployments tests
    • test deploying with mock app
  • Make sure "npm start" script exists in package.json

  • Check that correct version 2.30+ of git is installed.

    • Install command thing…
  • "Stream" command output so it doesn't feel as if the action is unresponsive

  • Logging

    • logging flag… [X]
  • Good error reporting

    • All errors should have some explanation or possible solution
    • Also have the error
  • Abstract away cirrus.json

    • Upon init a cirrus.json gets created in cirruspath/config/projectname.json
    • You can have a cirrus.json file in your GitHub repository, in which case that is prioritized (merged) with the project cirrus config on disk (for things like ports)
    • Remove port option (user shouldn't need to think about ports…)
  • Deploy in a way that doesn't take app offline

  • Plugins

    • Plugins can insert ENV variables to all programs; for instance, if we have POSTGRES plugin, then maybe we have a POSTGRES_CONNECTION_URL env variable passed to all programs. What ENV variables are exposed needs to be documented by the plugin.
    • Automatic Caddy server configuration plugin
      • Add path to CERT files to ENV
      • domain is determined in DEPLYOMENT section,
    • Automatic Postgres configuration plugin
      • Add connection url to ENV
    • Firewall setup plugin
  • Add possibility to init from github Instructions

$ cirrus init umami-software/umami
$ cirrus init railwayapp/blog
  • Ignore paths (low priority)

DigitalOcean Referral Badge