@commerce-klaus/vitest-sfcc

中文文档
1.1.2发布于 2026/10/30MITTypeScriptESM + CJS构建来源已验证近 30 天下载 2124

Cartridge- 意识 SFCC 运行时间和对Vitest的依赖性嘲弄

中文使用文档
文档目录6 节
  1. 要点
  2. 何时使用此软件包
  3. 安装
  4. 使用量
  5. 文档
  6. 许可证

NPM version Downloads

@commercial-klaus/vitest-sfcc (英语)

Cartridge-aware SFCC运行时间和依赖性为Vitest取笑.

要点

  • 决定: dw/*, (中文(简体) ), */, (中文(简体) ), ~/、弹匣别名、相干模块和 module.superModule
  • 从配置、环境、, jsconfig,或 site.xml
  • 通过中央架构任务过滤测试墨盒路径
  • 提供可打字、可检查的SFCC Globals和有重点的运行时间模块和利用
  • 装入有效的自定义 API 操作 api.json 和美洲组织元数据
  • 从项目元数据装入有效的钩子, 并按键引用已知的 Salesforce 钩子
  • 替换模块依赖性,不用 proxyquire
  • 通过运行时间 API 和类型 @commerce-klaus/vitest-sfcc/runtime

何时使用此软件包

当弹匣代码必须在Vitest运行时使用此包. 它包括SFCC模块 分辨率, 普通JS 转换, 平台模块倒置, 依赖 嘲弄, 和测试绳子.

使用 @commerce-klaus/vite-plugin-sfcc-modules 仅当基于 Vite 的其他工具不需要墨盒意识模块解析时 测试运行时间。 您不需要同时安装或配置此插件 vitest-sfcc。 。 。 .

安装

pnpm add -D @commerce-klaus/vitest-sfcc vitest
npm install -D @commerce-klaus/vitest-sfcc vitest
yarn add -D @commerce-klaus/vitest-sfcc vitest
vp install -D @commerce-klaus/vitest-sfcc vitest

使用量

import sfccVitest from "@commerce-klaus/vitest-sfcc"
import { defineConfig } from "vite-plus"

export default defineConfig({
  plugins: [
    sfccVitest({
      basePath: "./cartridges",
      cartridgePath: ["app_custom", "app_storefront_base"],
    }),
  ],
})

在动态导入受抚养人之前, 登记受抚养人的替换 :

import { getSfccRuntime } from "@commerce-klaus/vitest-sfcc"

getSfccRuntime().mock("*/cartridge/scripts/provider", providerMock)
const subject = await import("../cartridge/scripts/subject.js")

轻量级子路径也提供仅运行时间的API和类型:

import { resetSfccRuntime, type SfccModule } from "@commerce-klaus/vitest-sfcc/runtime"

装入由自定义 API 元数据和墨盒优先级选择的执行 :

import { loadSfccCustomApi } from "@commerce-klaus/vitest-sfcc"

const api = await loadSfccCustomApi("products", "getProduct")
const result = await api.invoke({
  pathParameters: { productId: "sample-product" },
})

装入并引用由 hooks.json 和弹匣优先位置 :

import { loadSfccHook } from "@commerce-klaus/vitest-sfcc"

const hook = await loadSfccHook("app.payment.authorize")
const result = hook.call("authorize", "payment-1")

消费者项目只需要安装 @commerce-klaus/vitest-sfcc; 其编号 独立运行时间仍然是内部依赖.

文档

见 完整的配置和测试参考。 。 。 .

许可证

麻省理工学院

版本与发布记录

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

版本发布日期距今
1.1.2latest2026/10/3011 天前
1.1.12026/10/2912 天前
1.1.02026/10/2417 天前
1.0.42026/10/051 个月前
1.0.32026/10/011 个月前
1.0.22026/09/281 个月前

关于 @commerce-klaus/vitest-sfcc 的常见问题

@commerce-klaus/vitest-sfcc 是什么?

Cartridge- 意识 SFCC 运行时间和对Vitest的依赖性嘲弄

如何安装 @commerce-klaus/vitest-sfcc?

在项目目录运行 npm install @commerce-klaus/vitest-sfcc,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vite(>=5.0.0)、vitest(>=2.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@commerce-klaus/vitest-sfcc 支持 TypeScript 吗?

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

@commerce-klaus/vitest-sfcc 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@commerce-klaus/vitest-sfcc 可以商用吗?

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

@commerce-klaus/vitest-sfcc 的下载量有多少?

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

@commerce-klaus/vitest-sfcc 还在维护吗?

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