@equinor/fusion-framework-cli

中文文档
15.7.3发布于 2026/11/12ISCTypeScriptES Module近 30 天下载 1.1万
中文使用文档
文档目录22 节
  1. 特征
  2. 安装
  3. 使用量
  4. 创建新应用程序
  5. 地方发展
  6. 构建和出版
  7. 认证
  8. 命令概览
  9. API 参考
  10. @equinor/fusion-framework-cli (基层)
  11. @equinor/fusion-framework-cli/app
  12. @equinor/fusion-framework-cli/portal
  13. @equinor/fusion-framework-cli/bin
  14. @equinor/fusion-framework-cli/utils
  15. 配置
  16. 申请表 app.manifest.ts (中文(简体) )
  17. 应用程序配置( E) app.config.ts (中文(简体) )
  18. 开发服务器配置( D) dev-server.config.ts (中文(简体) )
  19. 当地模拟服务 mocks/<service>.mock.ts (中文(简体) )
  20. CLI 插件( E) fusion-cli.config.ts (中文(简体) )
  21. 请求识别信头
  22. 文档

@ equinor/ 聚变框架- cli

用于开发、建设和出版Fusion框架应用程序和门户网站模板的命令行工具包。 提供从地方发展到生产部署的统一开发者经验.

特征

  • 应用程序脚手架 ——从预定义模板生成新的聚合应用
  • 开发服务器 ——有服务发现和认证的热重装dev服务器
  • 构建捆绑( B) ——以维特为主的生产建设有明显的出产地
  • 发布标签( T) ——上传捆绑和配置到Fusionapp/portal服务
  • 抓图版本 时间戳预览为公关和CI构建(--snapshot(中文(简体) )
  • 门户模板 ——构建,捆绑,并部署门户配置
  • 服务发现 解决来自任何环境的融合服务终点
  • 认证 – Azure AD 登录,指使管理,CI/CD指使支持
  • 插件系统 ——以可选插件包扩展 CLI

安装

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

该套件暴露出两个二进制别名: fusion-framework-cli 财务报告和审定财务报表 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

命令概览

命令说明
app create脚手架从模板中创建新的融合应用程序
app build用 Vite 构建应用程序
app pack将建筑装入 zip 归档
app publish一步一步构建、打包和上传
app upload上传一个预建的捆绑
app config生成或发布应用程序配置
app tag标记已公布的版本(例如:. latest(中文(简体) )
app check验证应用程序在应用程序商店中的注册
app dev启动应用程序 dev 服务器
app serve预览本地生产架构
portal build建立门户模板
portal pack将门户装入zip归档
portal publish构建、包装和上传门户
portal upload上传一个预建的门户捆绑
portal config生成或发布门户配置
portal tag标记已公布的门户网站版本
portal dev启动门户dev服务器
auth login以 Azure AD 认证
auth logout清除存储的证书
auth token打印或获取访问令牌
disco resolve解决聚合服务端点

运行 pnpm fusion-framework-cli <command> --help 详细选项.

API 参考

该套件暴露出若干次路径出口供方案使用:

@equinor/fusion-framework-cli (基层)

  • defineDevServerConfig 编号 : defineFusionCli – 类型安全配置帮助器
  • loadDevServerConfig – 加载并合并dev-server配置文件
  • resolvePackage 编号 : resolveEntryPoint 包件和切入点分辨率
  • RuntimeEnv 整个CLI使用的运行时环境类型

@equinor/fusion-framework-cli/app

  • defineAppManifest 编号 : defineAppConfig · 类型安全表和配置助手
  • loadAppManifest 编号 : loadAppConfig ——加载和验证app 显示/配置文件
  • createAppManifestFromPackage - 生成一份清单 package.json
  • mergeAppManifests 编号 : mergeAppConfig - 深层显示/配置对象
  • ApiAppConfigSchema 用于应用配置验证的 Zod schema

@equinor/fusion-framework-cli/portal

  • definePortalManifest 编号 : definePortalConfig 编号 : definePortalSchema - 类型安全帮助者
  • loadPortalManifest 编号 : loadPortalConfig 编号 : loadPortalSchema ——装入并验证文件
  • createPortalManifestFromPackage - 建立一个门户,显示来自 package.json
  • validatePortalManifest 证实一份反对Zod计划的清单

@equinor/fusion-framework-cli/bin

  • buildApplication 编号 : buildPortal ——方案Vite建设
  • bundleApp 编号 : bundlePortal - 将+包制成拉链
  • uploadApplication 编号 : uploadPortalBundle ——上传捆绑到服务中
  • tagApplication 编号 : tagPortal ——标签已发布版本
  • initializeFramework 编号 : configureFramework 建立CLI业务融合框架
  • FusionEnv ——被支持的融合环境之谜

@equinor/fusion-framework-cli/utils

  • assert 编号 : assertFileExists 编号 : assertObject - 主张助手
  • fileExists 编号 : fileExistsSync ——档案存栏检查
  • writeFile ——用自动目录创建写入文件
  • resolveAnnotations ——解决CI/CD建设说明
  • generateSnapshotVersion ——创建时间戳快照版本

配置

申请表app.manifest.ts(中文(简体) )

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

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

应用程序配置( E)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'] },
  },
}));

开发服务器配置( D)dev-server.config.ts(中文(简体) )

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

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

当地模拟服务mocks/<service>.mock.ts(中文(简体) )

使用可执行服务模块而不是手写路由 dev-server.config.ts。安装 @equinor/fusion-framework-cli-plugin-mock-server,定义每项服务 defineService,以及 运行 ffc mock-server 在一个单独的前景终端.

见 开发模拟服务 用于正常的发现, 单独 --mock 开发和发现模式.

CLI 插件( E)fusion-cli.config.ts(中文(简体) )

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

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

请求识别信头

CLI本身向Fusion服务发送的每一个请求都能够识别工具及其版本,所以 服务运营商在调查时可以区分FusionFramework的流量和其他呼叫者 出乎意料的请求(例如在Fusion Discovery日志中).

页眉数值
X-Fusion-CLI-Namefusion-framework-cli
X-Fusion-CLI-Version已安装的CLI版本,例如:. 15.5.3
User-Agentfusion-framework-cli/<version>

覆盖服务发现查询和由 configureFramework, (中文(简体) ), 发布、上传、检查和标记呼叫,以及AI模式、嵌入和搜索索引呼叫。 用这个 同样的 X-Fusion-CLI-* 常规作为另一个组合式 CLI,所以一个过滤器打开 x-fusion-cli-name 找到他们全部.

Dev 服务器转发的请求( E)ffc app dev, (中文(简体) ), ffc app serve, (中文(简体) ), ffc portal dev) 不属于CLI 打电话 他们用Dev服务器识别 X-Fusion-Dev-Server-Name 财务报告和审定财务报表 X-Fusion-Dev-Server-Version附加时 X-Fusion-Mock: true|false; 见 dev 服务器 README。 。 。 .

  • 只有诊断. 这些值可以被伪造,所以永远不要用于访问控制. 他们从来没有 包含标志、秘密或个人信息.
  • 召头取胜. 已经设置在请求上的信头永远不会被覆盖 .
  • 程序化使用. defaultHeaders 从 @equinor/fusion-framework-cli/bin,以及 configureFramework 为您在框架 HTTP 客户端上注册 .

文档

版本与发布记录

@equinor/fusion-framework-cli 共发布 477 个版本,首次发布于 2022/11/04;过去 12 个月发布了 112 个版本。

版本发布日期距今
15.7.3latest2026/11/121 天前
15.7.3-next.0next2026/11/112 天前
15.7.22026/11/112 天前
15.7.2-next.22026/10/2915 天前
15.7.2-next.12026/10/2816 天前
15.7.2-next.02026/10/2816 天前

其他发布通道:apploader → 10.7.5-apploader-be21a6b60eb13eee8bf869e75002d8634e9c50a9,cli-search-index → 13.0.0-cli-search-index.5,msal-v5 → 13.1.2-msal-v5.1,trusted-publishing-20261015 → 15.6.1-trusted-publishing-20261015-9dfe7602cd2a49a8a9df00d62c26e7304a82a85a,next → 15.7.3-next.0。

关于 @equinor/fusion-framework-cli 的常见问题

如何安装 @equinor/fusion-framework-cli?

在项目目录运行 npm install @equinor/fusion-framework-cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 ffc、fusion-framework-cli,可以用 npx ffc 直接运行。

@equinor/fusion-framework-cli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@equinor/fusion-framework-cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@equinor/fusion-framework-cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.22.2。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@equinor/fusion-framework-cli 可以商用吗?

@equinor/fusion-framework-cli 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@equinor/fusion-framework-cli 的下载量有多少?

根据 npm 官方下载统计,@equinor/fusion-framework-cli 在 2026/10/14 – 2026/11/12 这 30 天内被下载 10,705 次,日均约 357 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@equinor/fusion-framework-cli 还在维护吗?

最新版本 15.7.3 发布于 2026/11/12(1 天前);至今共发布 477 个版本,其中过去 12 个月发布了 112 个;首次发布于 2022/11/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。