npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@equinor/fusion-framework-cli

v14.0.3

Published

Command-line toolkit for developing, building, and publishing Fusion Framework applications and portal templates. Provides a unified developer experience from local development to production deployment.

Readme

@equinor/fusion-framework-cli

Command-line toolkit for developing, building, and publishing Fusion Framework applications and portal templates. Provides a unified developer experience from local development to production deployment.

Features

  • Application scaffolding — generate new Fusion apps from predefined templates
  • Development server — hot-reload dev server with service discovery and authentication
  • Build & bundle — Vite-based production builds with manifest generation
  • Publish & tag — upload bundles and configs to the Fusion app/portal service
  • Snapshot versions — timestamped preview builds for PRs and CI (--snapshot)
  • Portal templates — build, bundle, and deploy portal configurations
  • Service discovery — resolve Fusion service endpoints from any environment
  • Authentication — Azure AD login, token management, CI/CD token support
  • Plugin system — extend the CLI with optional plugin packages

Installation

pnpm add -D @equinor/fusion-framework-cli

The package exposes two binary aliases: fusion-framework-cli and ffc.

Usage

Create a new application

# Interactive template selection
pnpm fusion-framework-cli app create my-app

# Use a specific template
pnpm fusion-framework-cli app create my-app --template react-app

Local development

# Start the dev server (app)
pnpm fusion-framework-cli dev

# Start the dev server (portal)
pnpm fusion-framework-cli portal dev

Build and publish

# Build an application
pnpm fusion-framework-cli app build

# Bundle into a zip archive
pnpm fusion-framework-cli app pack

# Publish bundle + config to an environment
pnpm fusion-framework-cli app publish --env ci --config

# Snapshot build for a PR
pnpm fusion-framework-cli app pack --snapshot pr-123

Authentication

# Interactive login
pnpm fusion-framework-cli auth login

# Retrieve a token
pnpm fusion-framework-cli auth token

# CI/CD: set FUSION_TOKEN environment variable instead

Command overview

| Command | Description | |---|---| | app create | Scaffold a new Fusion application from a template | | app build | Build the application with Vite | | app pack | Bundle the build into a zip archive | | app publish | Build, pack, and upload in one step | | app upload | Upload a pre-built bundle | | app config | Generate or publish app configuration | | app tag | Tag a published version (e.g. latest) | | app check | Verify app registration in the app store | | app dev | Start the application dev server | | app serve | Preview a production build locally | | portal build | Build a portal template | | portal pack | Bundle the portal into a zip archive | | portal publish | Build, pack, and upload a portal | | portal upload | Upload a pre-built portal bundle | | portal config | Generate or publish portal configuration | | portal tag | Tag a published portal version | | portal dev | Start the portal dev server | | auth login | Authenticate with Azure AD | | auth logout | Clear stored credentials | | auth token | Print or acquire an access token | | disco resolve | Resolve a Fusion service endpoint |

Run pnpm fusion-framework-cli <command> --help for detailed options.

API Reference

The package exposes several sub-path exports for programmatic use:

@equinor/fusion-framework-cli (root)

  • defineDevServerConfig / defineFusionCli — type-safe config definition helpers
  • loadDevServerConfig — load and merge dev-server configuration files
  • resolvePackage / resolveEntryPoint — package and entry-point resolution
  • RuntimeEnv — runtime environment type used across the CLI

@equinor/fusion-framework-cli/app

  • defineAppManifest / defineAppConfig — type-safe manifest and config helpers
  • loadAppManifest / loadAppConfig — load and validate app manifest/config files
  • createAppManifestFromPackage — generate a manifest from package.json
  • mergeAppManifests / mergeAppConfig — deep-merge manifest/config objects
  • ApiAppConfigSchema — Zod schema for app config validation

@equinor/fusion-framework-cli/portal

  • definePortalManifest / definePortalConfig / definePortalSchema — type-safe helpers
  • loadPortalManifest / loadPortalConfig / loadPortalSchema — load and validate files
  • createPortalManifestFromPackage — generate a portal manifest from package.json
  • validatePortalManifest — validate a manifest against the Zod schema

@equinor/fusion-framework-cli/bin

  • buildApplication / buildPortal — programmatic Vite builds
  • bundleApp / bundlePortal — build + pack into zip
  • uploadApplication / uploadPortalBundle — upload bundles to the service
  • tagApplication / tagPortal — tag published versions
  • initializeFramework / configureFramework — set up the Fusion Framework for CLI operations
  • FusionEnv — enum of supported Fusion environments

@equinor/fusion-framework-cli/utils

  • assert / assertFileExists / assertObject — assertion helpers
  • fileExists / fileExistsSync — file-existence checks
  • writeFile — write files with automatic directory creation
  • resolveAnnotations — resolve CI/CD build annotations
  • generateSnapshotVersion — create timestamped snapshot versions

Configuration

Application manifest (app.manifest.ts)

import { defineAppManifest } from '@equinor/fusion-framework-cli/app';

export default defineAppManifest((env, { base }) => ({
  ...base,
  // override manifest fields here
}));

Application config (app.config.ts)

import { defineAppConfig } from '@equinor/fusion-framework-cli/app';

export default defineAppConfig((env, { base }) => ({
  environment: { MY_VAR: 'value' },
  endpoints: {
    api: { url: 'https://api.example.com', scopes: ['api://scope/.default'] },
  },
}));

Dev-server config (dev-server.config.ts)

import { defineDevServerConfig } from '@equinor/fusion-framework-cli';

export default defineDevServerConfig((env, { base }) => ({
  ...base,
  // override dev-server options here
}));

CLI plugins (fusion-cli.config.ts)

import { defineFusionCli } from '@equinor/fusion-framework-cli';

export default defineFusionCli(() => ({
  plugins: ['@equinor/fusion-framework-cli-plugin-ai'],
}));

Documentation