@fluidframework/fluid-runner

中文文档
3.12.0发布于 2026/11/11MITTypeScriptES Module近 30 天下载 3811

Utility for running various functionality inside a Fluid Framework environment

原始使用文档
文档目录13 节
  1. Using Fluid Framework libraries
  2. Installation
  3. Importing from this package
  4. Export File
  5. Sample command
  6. Code Loader bundle format
  7. Input file format
  8. Telemetry format
  9. Additional telemetry properties
  10. Consumption
  11. Contribution Guidelines
  12. Help
  13. Trademark

@fluidframework/fluid-runner

This package contains utility for running various functionality inside a Fluid Framework environment.

Using Fluid Framework libraries

For a dependency on a Fluid Framework library's public APIs, we recommend a ^ (caret) version range. For example, use ^1.3.4.

For a dependency on an unstable API, such as a beta API, we recommend a more restrictive version range. For example, use a ~ version range.

Installation

Run this command to install the package:

npm i @fluidframework/fluid-runner

Importing from this package

This package uses package.json exports to separate APIs by support level. For information about the support guarantees, read API Support Levels.

Import the public APIs from @fluidframework/fluid-runner.

Import the legacy APIs from @fluidframework/fluid-runner/legacy.

Export File

Allows some execution to be made on a container given a provided ODSP snapshot.

Sample command

If package is installed globally: node fluid-runner exportFile --codeLoader=compiledBundle.js --inputFile=inputFileName.fluid --outputFile=result.txt --telemetryFile=telemetryFile.txt

If working directly on this package: node bin/fluid-runner exportFile --codeLoader=compiledBundle.js --inputFile=inputFileName.fluid --outputFile=result.txt --telemetryFile=telemetryFile.txt

Code Loader bundle format

The Code Loader bundle should provide defined exports required for this functionality. For more details on what exports are needed, see codeLoaderBundle.ts.

"codeLoader" vs "IFluidFileConverter" argument

You may notice the command line argument codeLoader is optional. If you choose not to provide a value for codeLoader, you must extend this library and provide a IFluidFileConverter implementation to the fluidRunner(...) method.

import { fluidRunner } from "@fluidframework/fluid-runner";

await fluidRunner({
    /* IFluidFileConverter implementation here */
});

Note: Only one of codeLoader or fluidRunner(...) argument is allowed. If both or none are provided, an error will be thrown at the start of execution.

Input file format

The input file is expected to be an ODSP snapshot. For some examples, see the files in the localOdspSnapshots folder.

Telemetry format

There is an optional command line option telemetryFormat that allows you to specify the telemetry output format. The naming provided to this option is strict and must match an option in OutputFormat. The default format is currently JSON

Additional telemetry properties

There is an optional command line option telemetryProp that allows you to specify additional properties that will be added to every telemetry entry. The format follows these rules:

  • every key must be a string
  • values may be either a string or a number
  • keys and values cannot be empty

Example of valid usages:

--telemetryProp prop1 value1 --telemetryProp prop2 10.5
--telemetryProp "  prop1 " "   value1 " prop2 value2
--telemetryProp prop1 "aaa=bbb" prop2 "aaa\"bbb"

No trimming of white-space inside quotes

Example of invalid usages:

--telemetryProp "10" value1
--telemetryProp prop1
--telemetryProp=             // this will be treated as ['']

Consumption

The code around exportFile can be consumed in multiple different layers. It is not necessary to run all this code fully as is, and the following are some interesting code bits involved in this workflow:

For an example of a consumption path that differs slightly to exportFile(...), see parseBundleAndExportFile(...). In addition to running the same logic as exportFile method, it implements the logic around parsing a dynamically provided bundle path into an IFluidFileConverter object.

Contribution Guidelines

You can contribute to Fluid Framework in these ways:

For detailed instructions, read the repo documentation.

This project follows the Microsoft Open Source Code of Conduct. For more information, read the Code of Conduct frequently asked questions. For questions or comments, contact [email protected].

This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services. Use of these trademarks or logos must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.

Help

Read the Fluid Framework documentation for information about Fluid Framework concepts and APIs.

To request information that the documentation does not contain, create an issue.

Trademark

This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.

Use of these trademarks or logos must follow Microsoft's Trademark & Brand Guidelines.

Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.

版本与发布记录

@fluidframework/fluid-runner 共发布 409 个版本,首次发布于 2022/07/29;过去 12 个月发布了 48 个版本。

版本发布日期距今
3.12.0latest2026/11/114 天前
3.11.02026/11/0411 天前
3.10.02026/11/0411 天前
3.7.02026/10/2719 天前
3.6.02026/10/2026 天前
3.5.02026/10/131 个月前

其他发布通道:next → 2.0.0-dev-rc.1.0.0.225277,canary → 2.0.0-internal.8.0.8,dev → 2.116.0-416006,rc → 2.118.1。

关于 @fluidframework/fluid-runner 的常见问题

@fluidframework/fluid-runner 是什么?

Utility for running various functionality inside a Fluid Framework environment

如何安装 @fluidframework/fluid-runner?

在项目目录运行 npm install @fluidframework/fluid-runner,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 fluid-runner,可以用 npx fluid-runner 直接运行。

@fluidframework/fluid-runner 支持 TypeScript 吗?

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

@fluidframework/fluid-runner 支持 ESM 还是 CommonJS?

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

@fluidframework/fluid-runner 可以商用吗?

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

@fluidframework/fluid-runner 的下载量有多少?

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

@fluidframework/fluid-runner 还在维护吗?

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