Installation & NPM Authentication
@bloomsparkagency/core and its sub-packages are published privately via GitHub Packages. You must configure your package manager to authenticate with the GitHub registry before installing.
🔑 NPM Registry Authentication
Create or update the .npmrc file in your project root (or globally at ~/.npmrc):
ini
@bloomsparkagency:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}
always-auth=trueAuthentication Modes
- Developer Machine (Local): Generate a GitHub Fine-Grained Personal Access Token (PAT) from Settings > Developer Settings > Personal Access Tokens > Fine-grained tokens:
- Repository Access: Only select repositories containing the BloomSpark mapping code.
- Permissions: Set
read:packagesto Access: Read-only. - Export it as an environment variable in your terminal (or define it in a local
.env):bashexport NODE_AUTH_TOKEN=github_pat_xxxxxx
- GitHub Actions CI (Preferred): GitHub Actions automatically provides a short-lived
GITHUB_TOKENsecret. You can pipe this directly in your workflow steps:yaml- name: Install dependencies run: pnpm install --frozen-lockfile env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - External CI Providers (AWS CodeBuild, GitLab CI, OIDC): For external servers, configure a repository secret containing a classic/fine-grained PAT with
read:packagesscope, and export it asNODE_AUTH_TOKENduring the container run step.
📦 Package Installation
Installing the Monorepo Suite
Using pnpm (highly recommended for workspaces):
bash
pnpm add @bloomsparkagency/core @bloomsparkagency/ui @bloomsparkagency/editor @bloomsparkagency/imdf @bloomsparkagency/rtls @bloomsparkagency/wayfinding @bloomsparkagency/pmtiles @bloomsparkagency/theme @bloomsparkagency/verticalsUsing npm:
bash
npm install @bloomsparkagency/core @bloomsparkagency/ui @bloomsparkagency/editor @bloomsparkagency/imdf @bloomsparkagency/rtls @bloomsparkagency/wayfinding @bloomsparkagency/pmtiles @bloomsparkagency/theme @bloomsparkagency/verticalsUsing yarn:
bash
yarn add @bloomsparkagency/core @bloomsparkagency/ui @bloomsparkagency/editor @bloomsparkagency/imdf @bloomsparkagency/rtls @bloomsparkagency/wayfinding @bloomsparkagency/pmtiles @bloomsparkagency/theme @bloomsparkagency/verticals🧩 Peer Dependencies
The SDK relies on key front-end peer dependencies. Ensure your project has the following packages installed:
json
{
"peerDependencies": {
"react": ">=18.0.0 <20.0.0",
"react-dom": ">=18.0.0 <20.0.0",
"maplibre-gl": "^4.0.0 || ^5.0.0"
}
}Import MapLibre's styles in your application's entrypoint (e.g., main.tsx or _app.tsx):
typescript
import 'maplibre-gl/dist/maplibre-gl.css';