# @basenative/marketplace 中文文档

规范地址：https://npmcn.com/package/%40basenative/marketplace/

版本：3\.0\.0
npm 元数据更新时间：2026-10-31T13:47:03.457Z
中文译文更新时间：2026-10-31T16:33:29.324Z
软件包许可：Apache-2\.0

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40basenative/marketplace
原文对照：https://npmcn.com/package/%40basenative/marketplace/?lang=original
项目主页：https://github.com/DuganLabs/BaseNative/tree/main/packages/marketplace#readme
源码仓库：https://github.com/DuganLabs/BaseNative

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：27.1 kB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-03-20T05:27:51.891Z
- 最新版本发布：2026-10-31T13:47:03.107Z
- 已发布版本数：11（近 12 个月 11 个）

## 中文简介

用于BaseNative的组件注册表-发布和发现基础设施

## 安装

```sh
npm install @basenative/marketplace
```

也可以使用：`pnpm add @basenative/marketplace`、`yarn add @basenative/marketplace`、`bun add @basenative/marketplace`

## README

# @basenative /市场

> 社区组件市场——浏览、安装和管理BaseNative包和主题

部分 [BaseNative](https://github.com/DuganLabs/basenative) 生态系统——基于信号的web运行时，基于原生HTML。

## 安装

```bash
npm install @basenative/marketplace
```

## 快速入门

```js
import { createRegistry, createInstaller, createThemeManager } from '@basenative/marketplace';

// Search the registry
const registry = createRegistry({ url: 'https://registry.basenative.dev' });
const { packages } = await registry.search('calendar', { limit: 10 });

// Get details for a specific package
const pkg = await registry.getPackage('bn-calendar');
const versions = await registry.getVersions('bn-calendar');

// Install a package into the current project
const installer = createInstaller({ projectRoot: process.cwd() });
await installer.install('bn-calendar@1.2.0');
await installer.uninstall('bn-calendar');
const installed = await installer.list();
```

## 主题

```js
import { createThemeManager } from '@basenative/marketplace';

const themes = createThemeManager({ registry });

// Browse and apply themes
const available = await themes.list();
await themes.apply('basenative-midnight');
await themes.reset();
```

## API

### `createRegistry(options?)`

创建市场注册中心客户端。选项: `url` (默认值: `'https://registry.basenative.dev'`)， `token` （发布的认证令牌）。

-   `search(query, options?)` —搜索包。选项: `offset`， `limit`， `tag`， `category`， `sort`。返回 `{ packages, total }`.
-   `getPackage(name)` -按名称返回包的完整元数据。
-   `getVersions(name)` -返回包的已发布版本数组。
-   `publish(manifest, tarball)` —将包发布到注册表（必需） `token`）。

### `createInstaller(options?)`

创建本地安装程序。选项: `projectRoot` -项目目录的路径。

-   `install(packageSpec)` —安装软件包(例如： `'bn-calendar'` 或者 `'bn-calendar@1.2.0'`）。
-   `uninstall(name)` —移除已安装的软件包。
-   `list()` -返回当前安装的市场包的数组。
-   `update(name)` —将已安装的软件包更新到最新版本。

### `createThemeManager(options)`

创建主题管理器。选项: `registry` -注册表客户端实例。

-   `list()` -从注册表返回可用主题。
-   `apply(themeName)` -下载并应用主题到项目。
-   `reset()` -删除当前应用的主题并恢复默认设置。

## 许可证

apache - 2.0

## 常见问题

### @basenative/marketplace 是什么？

用于BaseNative的组件注册表-发布和发现基础设施

### 如何安装 @basenative/marketplace？

在项目目录运行 npm install @basenative/marketplace，或使用 pnpm add / yarn add / bun add。

### @basenative/marketplace 支持 TypeScript 吗？

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

### @basenative/marketplace 支持 ESM 还是 CommonJS？

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

### @basenative/marketplace 可以商用吗？

@basenative/marketplace 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @basenative/marketplace 还在维护吗？

最新版本 3\.0\.0 发布于 2026/10/31（2 天前）；至今共发布 11 个版本，其中过去 12 个月发布了 11 个；首次发布于 2026/03/20。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

