Skip to content

Solidarity is an environment checker for project dependencies across multiple machines.

License

Notifications You must be signed in to change notification settings

infinitered/solidarity

Repository files navigation

Solidarity is an environment checker for project dependencies across multiple machines.


Build Status Build Status Codecov npm version

WHY DOES SOLIDARITY EXIST:question:

I know the one-liner under the graphic isn't for everyone. If you'd like a quick, friendly explanation, please take a two minutes to read the announcement blog post

Docs Website

https://infinitered.github.io/solidarity/


We now return you to your regularly scheduled ReadMe


Install

Install command globally, OR use via node_modules. It's suggested you install your snapshot plugins in the same place.

Note: Node.js version must be >= 7.6.0.

# example of installing global with npm and react-native snapshot
$ npm i -g solidarity solidarity-react-native

# example of installing local with yarn and elixir snapshot (dev dependencies)
$ yarn add solidarity solidarity-elixir --dev

How do I use it?

Using solidarity easy! Run the command to check the current project environment

$ solidarity

This command looks for the .solidarity file in the working directory, and then runs a check of the containing rules against your environment. The command exit code is tied to the success of solidarity check so for testing frameworks.

How do I update it to my machine specs?

Environment updates can be stored to solidarity quickly.

$ solidarity snapshot

The snapshot parameter will update the rules in the .solidarity file to the current system specs. By default a snapshot will be strict with the versions of everything detected. But, semantic versioning is supported.

How do I create my first snapshot?

If no .solidarity file is present, then solidarity snapshot prompts you to identify the technology your project depends on.

$ solidarity snapshot
No `.solidarity` file found for this project.  Would you like to create one? (Y/n)

Custom rule-sets can be created by modifying the .solidarity file by hand, or by creating a solidarity plugin for a given technology. See documentation for how you can create your own.

Cross Platform

Solidarity is used with Mac/Linux/Windows environments. CI tests all rules with each platform on every update.

Project Support

Open Source

Solidarity, as open source, is free to use and always will be ❤️. It's MIT Licensed and we'll always do our best to help and quickly answer issues. If you'd like to get a hold of us, join our community slack and look for the #solidarity room.

Premium

Infinite Red offers premium Solidarity support and general mobile app design/development services. Email us at [email protected] to get in touch with us for more details.

Additional Info

You can help!

License

The MIT License (MIT). Please see License File for more information.

NPM Details

NPM