
Research
/Security News
Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.
@equinor/fusion-framework-cli
Advanced tools
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.
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.
--snapshot)pnpm add -D @equinor/fusion-framework-cli
The package exposes two binary aliases: fusion-framework-cli and ffc.
# 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
# Start the dev server (app)
pnpm fusion-framework-cli dev
# Start the dev server (portal)
pnpm fusion-framework-cli portal dev
# 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
# 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 | 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.
The package exposes several sub-path exports for programmatic use:
@equinor/fusion-framework-cli (root)defineDevServerConfig / defineFusionCli — type-safe config definition helpersloadDevServerConfig — load and merge dev-server configuration filesresolvePackage / resolveEntryPoint — package and entry-point resolutionRuntimeEnv — runtime environment type used across the CLI@equinor/fusion-framework-cli/appdefineAppManifest / defineAppConfig — type-safe manifest and config helpersloadAppManifest / loadAppConfig — load and validate app manifest/config filescreateAppManifestFromPackage — generate a manifest from package.jsonmergeAppManifests / mergeAppConfig — deep-merge manifest/config objectsApiAppConfigSchema — Zod schema for app config validation@equinor/fusion-framework-cli/portaldefinePortalManifest / definePortalConfig / definePortalSchema — type-safe helpersloadPortalManifest / loadPortalConfig / loadPortalSchema — load and validate filescreatePortalManifestFromPackage — generate a portal manifest from package.jsonvalidatePortalManifest — validate a manifest against the Zod schema@equinor/fusion-framework-cli/binbuildApplication / buildPortal — programmatic Vite buildsbundleApp / bundlePortal — build + pack into zipuploadApplication / uploadPortalBundle — upload bundles to the servicetagApplication / tagPortal — tag published versionsinitializeFramework / configureFramework — set up the Fusion Framework for CLI operationsFusionEnv — enum of supported Fusion environments@equinor/fusion-framework-cli/utilsassert / assertFileExists / assertObject — assertion helpersfileExists / fileExistsSync — file-existence checkswriteFile — write files with automatic directory creationresolveAnnotations — resolve CI/CD build annotationsgenerateSnapshotVersion — create timestamped snapshot versionsapp.manifest.ts)import { defineAppManifest } from '@equinor/fusion-framework-cli/app';
export default defineAppManifest((env, { base }) => ({
...base,
// override manifest fields here
}));
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.ts)import { defineDevServerConfig } from '@equinor/fusion-framework-cli';
export default defineDevServerConfig((env, { base }) => ({
...base,
// override dev-server options here
}));
fusion-cli.config.ts)import { defineFusionCli } from '@equinor/fusion-framework-cli';
export default defineFusionCli(() => ({
plugins: ['@equinor/fusion-framework-cli-plugin-ai'],
}));
FAQs
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.
The npm package @equinor/fusion-framework-cli receives a total of 1,391 weekly downloads. As such, @equinor/fusion-framework-cli popularity was classified as popular.
We found that @equinor/fusion-framework-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.

Security News
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.