@devrev/meerkat-core

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

@devrev/meerkat-core 是Meerkat生态系统的基础库,一个TypeScript SDK,将类似 Cube 的查询无缝地翻译为 DuckDB 抽象语法树(AST). 它为查询转换提供了核心逻辑,设计为 enviro

中文使用文档
文档目录5 节
  1. 关键特性
  2. 安装
  3. 核心概念
  4. 使用量
  5. 生态系统

@devrev/meerkat-core (英语)

@devrev/meerkat-core 是Meerkat生态系统的基础库,一个TypeScript SDK,将类似 Cube 的查询无缝地翻译为 DuckDB 抽象语法树(AST). 它为查询转换提供了核心逻辑,被设计为环境-不可知性,在节点.js和浏览器环境中运行.

此软件包完全专注于从基于JSON的查询对象生成一个 DuckDB 兼容的 AST 。 它不处理查询执行,这是特定环境包的责任,比如: @devrev/meerkat-node 财务报告和审定财务报表 @devrev/meerkat-browser。 。 。 .

关键特性

  • 立方体变换 AST:将 Cube 风格的 JSON 查询转换为 DuckDB 兼容 SQL AST .
  • 环境不可知论:在Node.js和浏览器环境中运行.
  • 类型安全:为查询,计程器,和过滤器提供强烈的TypeScript定义.
  • 高级过滤和加入:支持复杂的过滤器,逻辑运算符,以及多表相接.
  • 按设计可扩展:Leverages DuckDB本土JSON系列化,避免了传统查询构建者的限制.

安装

npm install @devrev/meerkat-core

核心概念

meerkat-core 围绕两个主要对象:

  1. Query: 定义分析请求的 JSON 对象。 它规定了措施、尺寸、过滤器和顺序.
  2. TableSchema: 定义数据表格的结构,包括列、度、维度和相加.

库使用这些对象生成 DuckDB AST. 这个 AST 然后可以传递给执行引擎.

使用量

以下是如何将立方体风格的查询转换为 DuckDB AST:

import { cubeToDuckdbAST, Query, TableSchema } from '@devrev/meerkat-core';

// 1. Define the schema for your table
const schema: TableSchema = {
  name: 'users',
  sql: 'SELECT * FROM users',
  columns: [
    { name: 'id', type: 'INTEGER' },
    { name: 'name', type: 'VARCHAR' },
    { name: 'city', type: 'VARCHAR' },
    { name: 'signed_up_at', type: 'TIMESTAMP' },
  ],
};

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

// 3. Generate the DuckDB AST
const ast = cubeToDuckdbAST(query, schema);

// The `ast` can now be deserialized into a SQL string for execution.
console.log(JSON.stringify(ast, null, 2));

生态系统

meerkat-core 其基础是:

  • @devrev/meerkat-node:用于Node.js中的服务器侧分析 @duckdb/node-api。 。 。 .
  • @devrev/meerkat-browser: 用于浏览器中的客户端分析 @duckdb/duckdb-wasm。 。 。 .

版本与发布记录

@devrev/meerkat-core 共发布 57 个版本,首次发布于 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-core 的常见问题

@devrev/meerkat-core 是什么?

@devrev/meerkat-core 是Meerkat生态系统的基础库,一个TypeScript SDK,将类似 Cube 的查询无缝地翻译为 DuckDB 抽象语法树(AST). 它为查询转换提供了核心逻辑,设计为 enviro

如何安装 @devrev/meerkat-core?

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

@devrev/meerkat-core 支持 TypeScript 吗?

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

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

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

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

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

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

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

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

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