@devrev/meerkat-browser

中文文档
0.0.138发布于 2026/10/15TypeScriptCommonJS构建来源已验证近 30 天下载 1.5万

@devrev/meerkat-browser 一个库,用于将立方体查询转换为SQL,并在浏览器环境中使用 @duckdb/duckdb-wasm (英语)。它充当Meerkat生态系统内的客户端查询引擎

中文使用文档
文档目录3 节
  1. 关键特性
  2. 安装
  3. 使用量

@devrev/meerkat-浏览器

@devrev/meerkat-browser 一个库,用于将立方体查询转换为SQL,并在浏览器环境中使用 @duckdb/duckdb-wasm (英语)它作为Meerkat生态系统内的客户端查询引擎.

此软件包使用 @devrev/meerkat-core 生成兼容 DuckDB 的 AST 和 @duckdb/duckdb-wasm 以浏览器可用的数据源执行由此产生的查询.

关键特性

  • 立方体到 SQL 执行:将立方体查询翻译为SQL,并在浏览器中执行.
  • 浏览器优化: 搭建用于无缝工作 @duckdb/duckdb-wasm。 。 。 .
  • 客户端系统分析:启用强大的内浏览器数据分析,而无需服务器回行.

安装

npm install @devrev/meerkat-browser @devrev/meerkat-core @duckdb/duckdb-wasm

@duckdb/duckdb-wasm 是一个同伴依赖,应当根据其文档配置.

使用量

以下是如何将立方体查询转换为SQL,并用 Duckdb-wasm 在客户端执行查询的例子.

import * as duckdb from '@duckdb/duckdb-wasm';
import { cubeQueryToSQL } from '@devrev/meerkat-browser';
import { Query, TableSchema } from '@devrev/meerkat-core';

async function main() {
  // 1. Initialize DuckDB-WASM
  const logger = new duckdb.ConsoleLogger();
  const worker = new Worker(duckdb.getJsDelivrWorker());
  const bundle = await duckdb.selectBundle(duckdb.getJsDelivrBundles());
  const db = new duckdb.AsyncDuckDB(logger, worker);
  await db.open(bundle);
  const connection = await db.connect();

  // 2. Define your table schemas
  const tableSchemas: TableSchema[] = [
    {
      name: 'users',
      // The SQL could point to a registered file or another data source
      sql: 'SELECT * FROM users',
      columns: [
        { name: 'id', type: 'INTEGER' },
        { name: 'name', type: 'VARCHAR' },
        { name: 'city', type: 'VARCHAR' },
        { name: 'signed_up_at', type: 'TIMESTAMP' },
      ],
    },
  ];

  // 3. Define your Cube query
  const query: Query = {
    measures: ['users.count'],
    dimensions: ['users.city'],
    filters: [
      {
        member: 'users.city',
        operator: 'equals',
        values: ['New York'],
      },
    ],
    limit: 100,
  };

  // 4. Convert the query to SQL
  const sqlQuery = await cubeQueryToSQL({
    connection,
    query,
    tableSchemas,
  });

  // 5. You can now execute the generated SQL query with DuckDB
  const result = await connection.query(sqlQuery);

  console.log(
    'Query Results:',
    result.toArray().map((row) => row.toJSON())
  );
}

main();

版本与发布记录

@devrev/meerkat-browser 共发布 58 个版本,首次发布于 2024/09/05;过去 12 个月发布了 30 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.138latest2026/10/1527 天前
0.0.1372026/10/081 个月前
0.0.1362026/09/231 个月前
0.0.1352026/07/273 个月前
0.0.1342026/07/143 个月前
0.0.1332026/06/254 个月前

关于 @devrev/meerkat-browser 的常见问题

@devrev/meerkat-browser 是什么?

@devrev/meerkat-browser 一个库,用于将立方体查询转换为SQL,并在浏览器环境中使用 @duckdb/duckdb-wasm (英语)。它充当Meerkat生态系统内的客户端查询引擎

如何安装 @devrev/meerkat-browser?

在项目目录运行 npm install @devrev/meerkat-browser,或使用 pnpm add / yarn add / bun add。

@devrev/meerkat-browser 支持 TypeScript 吗?

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

@devrev/meerkat-browser 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@devrev/meerkat-browser 可以商用吗?

@devrev/meerkat-browser 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@devrev/meerkat-browser 的下载量有多少?

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

@devrev/meerkat-browser 还在维护吗?

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