The following commands are available through npm run:
| Command | Purpose |
|---|---|
| test | Execute unit tests |
| test:types | Type-check the public API (index.d.ts) with vitest/tsc |
| build | Build a development version of the library using Rollup |
| dist | Build a production version of the library using Rollup |
The library supports @fortawesome/fontawesome-svg-core v1 (Font Awesome 5), v6, and v7. The default devDependency is v7, but you can temporarily swap versions without modifying package.json. Note that package-lock.json will be updated — run git checkout -- package-lock.json when done to restore it.
# Test against v5
npm install --no-save @fortawesome/fontawesome-svg-core@~1 @fortawesome/free-solid-svg-icons@~5
npm run test
# Test against v6
npm install --no-save @fortawesome/fontawesome-svg-core@~6 @fortawesome/free-solid-svg-icons@~6
npm run test
# Restore v7
npm install --no-save @fortawesome/fontawesome-svg-core@~7 @fortawesome/free-solid-svg-icons@~7
# Clean up lockfile changes
git checkout -- package-lock.jsonEach version runs a subset of the tests — blocks guarded by version feature flags are automatically skipped.
During pre release, make sure and use --tag and --npm-dist-tag
- Run
npm run testandnpm run test:typesand confirm both pass (do this first —npm publishbuilds viaprepack, so verify before anything is built or published) - Update
package.jsonand changeversion - Run
npm installto syncpackage-lock.json - Update
README.mdandpackage.json; adding any contributors - Update the
CHANGELOG.md - Run
npm run distto build the production bundle (optional but recommended — surfaces build errors here instead of mid-publish, sincenpm publishruns it viaprepack) npm publish --tag latest-3 --registry=https://registry.npmjs.org/npm dist-tag add --registry=https://registry.npmjs.org/ @fortawesome/vue-fontawesome@[VERSION_NUMBER] latestnpm publish --tag latest-3 --registry=https://npm.fontawesome.comnpm dist-tag add --registry=https://npm.fontawesome.com @fortawesome/vue-fontawesome@[VERSION_NUMBER] latestgit add .git commit -a -m 'Release VERSION'git push- Create a new release with CHANGELOG details
Contributors with authorization to publish to npm.fontawesome.com will receive an invite from a Font Awesome project owner.
- Respond to the invite in your email
- Let the owner know when you've setup your account
- Owner will add you to the team
You can then run:
npm login --registry https://npm.fontawesome.com- The username is the "slug" for your Cloudsmith account. For example mine is "rob-madole".
- Enter the password that you setup just a few minutes ago.
- It says the your email is PUBLIC. Pretty sure that's false since the auth is through Cloudsmith.
- This doesn't overwrite your standard login, just adds to your
~/.npmrc