/asdf-firebase

šŸ”„Firebase CLI (firebase-tools) plugin for asdf version manager. Pin your Firebase CLI version for each project without Node.js or npm!

Primary LanguageShellMIT LicenseMIT

asdf-firebase Build Lint Mentioned in Awesome Firebase

Firebase CLI (firebase-tools) plugin for asdf version manager. Manage your Firebase CLI without Node.js or npm global installs! Great for pinning your firebase version across the team and for python, golang, c++ & java Firebase projects.

asdf-firebase

Contents

Dependencies

Are tracked in lib/dependencies.txt and checked on installation of plugin and asdf install gcloud *. The core dependencies are: bash, curl, git, grep, uname.

Install

Plugin:

# prefer the git url method
asdf plugin add https://github.com/jthegedus/asdf-firebase.git
# or
asdf plugin add firebase

Install firebase-tools:

asdf install firebase latest

Set global version:

asdf global firebase 7.15.1

or if https://github.com/asdf-vm/asdf/pull/633 is merged, set the latest installed version:

asdf global firebase latest

These commands also apply to asdf local gcloud <version>.

See .tool-versions configuration in the asdf documentation to manage all your project's tools in one place!

Why?

firebase-tools is a CLI tool for all Firebase projects, regardless of language. To date, the methods for installation have been downloading the CLI from the Firebase website or through npm, with npm being the primary method advertised.

With asdf and the asdf-firebase plugin, users/teams of any Firebase project can install and pin the version of the Firebase CLI without needing to manage Node.js or npm!

Contributing

Contributions of any kind welcome! See the contributing guide.

Thanks goes to these contributors!

Why are there Node deps here?

I decided the value of commitlint & sharing Git Hooks with husky were greater than the cost of including these deps. Not only this, but dogfooding asdf for dev deps makes this less of an issue.

License

MIT License Ā© James Hegedus