@byteink/mppjs

中文文档
0.1.8发布于 2026/09/18MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 4342

从Node, Bun, 或 Deno 转换出 Microsoft Project (.mpp) 文件为 XML. 原生二进制,不需要JVM.

中文使用文档
文档目录6 节
  1. 为什么
  2. 安装
  3. API 密码
  4. 国 际
  5. 从源头建楼
  6. 许可证

@byteink/mppjs (英语)

转换 Microsoft 工程 (.mpp由节点、 Bun 或 Deno 向 MSPDI XML 提交文件. 原生二进制, 运行时不需要JVM。 。 。 .

npx @byteink/mppjs project.mpp                  # → project.xml
npx @byteink/mppjs project.mpp out/result.xml
import { convert } from "@byteink/mppjs";

const { outputPath } = await convert("project.mpp", "out.xml");

为什么

解析的标准工具 .mpp 实值 MPXJ 地图集 (贾瓦语). @byteink/mppjs mPXJ作为GraalVM-AOT编译的本地二进制,所以你 得到解析器,没有多克,没有JVM,没有 jpype/IKVM, 和 (英语) 没有多秒钟的冷起步.

安装

npm install @byteink/mppjs   # or pnpm add / yarn add / bun add

您平台的本地二进制通过一个 optionalDependencies 侧车(@byteink/mppjs-<platform>-<arch>) (中文(简体) ). 支助目标:

平台侧车包
马可斯臂64@byteink/mppjs-darwin-arm64
Linux x64 函数@byteink/mppjs-linux-x64
Linux arm64 (英语)@byteink/mppjs-linux-arm64
视窗 x64@byteink/mppjs-win32-x64

如果你的平台没有列出, 打开一个问题。 。 。 .

API 密码

import { convert, type ConvertOptions, type ConvertResult } from "@byteink/mppjs";

await convert(input: string, output?: string, options?: ConvertOptions): Promise<ConvertResult>
  • input ——路径 .mpp, (中文(简体) ), .mpx,或任何 格式 MPXJ 理解
  • output — MPDI XML 路径; 默认为 <input-without-ext>.xml
  • options.binaryPath ——覆盖捆绑的二进制路径(也可通过 MPPJS_BINARY (原始内容存档于2019-09-21) (英语). env var
  • options.timeoutMs ——在这么多 ms( 默认) 之后杀死产入过程 60_000(中文(简体) )

国 际

Usage: mppjs <input> [output.xml]

退出代码 : 0 好,你别这样, 1 转换失败, 2 使用/ IO 错误.

从源头建楼

要求数 自由党 NIK 23.1.x (或GraalVM JDK 21 的分销,包括 native-image和 马文 3.9+。 。 。 .

git clone https://github.com/byteink/mppjs
cd mppjs
npm install
npm run build              # jar → native binary → tsc
npm test                   # via bun, against MPXJ sample files

本地形象建筑需要5-8分钟的现代笔记本电脑.

见 克劳德·姆德 结构细节,包括 反射元数据 .ni-config/ 当MPXJ升级时会重新生成.

许可证

  • TypeScript 包装器( 此包) 是 麻省理工学院。 。 。 .
  • 月台专用二进制运出 @byteink/mppjs-<platform> 侧式车 包含 MPXJ 并且为 LGPL-2.1- 或- 后期每个侧车包包括: lGPL 文本和一个 NOTICE 指向上游来源.

包装器引用二进制作为子进程; LGPL 义务是 装入侧车包.

版本与发布记录

@byteink/mppjs 共发布 5 个版本,首次发布于 2026/05/09;过去 12 个月发布了 5 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.8latest2026/09/181 个月前
0.1.72026/09/032 个月前
0.1.62026/08/222 个月前
0.1.52026/05/096 个月前
0.1.42026/05/096 个月前

关于 @byteink/mppjs 的常见问题

@byteink/mppjs 是什么?

从Node, Bun, 或 Deno 转换出 Microsoft Project (.mpp) 文件为 XML. 原生二进制,不需要JVM.

如何安装 @byteink/mppjs?

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

@byteink/mppjs 支持 TypeScript 吗?

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

@byteink/mppjs 支持 ESM 还是 CommonJS?

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

@byteink/mppjs 需要什么版本的 Node.js?

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

@byteink/mppjs 可以商用吗?

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

@byteink/mppjs 的下载量有多少?

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

@byteink/mppjs 还在维护吗?

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