Solidarity is an environment checker for project dependencies across multiple machines.
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 hello@infinite.red to get in touch with us for more details.
Additional Info
You can help!
- Spread the word
- Star the repo!
- Clap on Medium
- Read the Contributors Guide
- Add solidarity to all your projects
- Build plugins
License
The MIT License (MIT). Please see License File for more information.