# @ast-grep/lang-bicep 中文文档

规范地址：https://npmcn.com/package/%40ast-grep/lang-bicep/

版本：0\.0\.2
npm 元数据更新时间：2026-03-15T02:34:23.366Z
中文译文更新时间：2026-11-07T00:31:00.756Z
软件包许可：ISC

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

原始 npm 页面：https://www.npmjs.com/package/%40ast-grep/lang-bicep
原文对照：https://npmcn.com/package/%40ast-grep/lang-bicep/?lang=original

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

- 包体积（解压后）：2.1 MB，19 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：tree-sitter-cli 0\.25\.8
- 首次发布：2026-01-17T19:52:27.475Z
- 最新版本发布：2026-03-15T02:34:23.242Z
- 近 30 天下载量：200851（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

对 ast- grep 的 Azure Bicep 语言支持

## 安装

```sh
npm install @ast-grep/lang-bicep
```

也可以使用：`pnpm add @ast-grep/lang-bicep`、`yarn add @ast-grep/lang-bicep`、`bun add @ast-grep/lang-bicep`

## README

# bicep 的 ast- grep 语境

## 安装

在pnpm项目中,运行:

```bash
pnpm install @ast-grep/lang-bicep
pnpm install @ast-grep/napi
# install the tree-sitter-cli if no prebuild is available
pnpm install tree-sitter-cli --save-dev
```

## 使用量

```js
import bicep from '@ast-grep/lang-bicep'
import { registerDynamicLanguage, parse } from '@ast-grep/napi'

registerDynamicLanguage({ bicep })

const code = `
param location string = 'eastus'
param storageAccountName string = 'mystorageaccount'

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}
`

const sg = parse('bicep', code)
sg.root().kind()
```

## 关于Bicep

Azure Bicep是用于公开部署Azure资源的特定域语言(DSL). 它提供了相对于ARM模板的透明抽象,并旨在大幅简化作者的经验.

详情请访问 [bicep 正式文件](https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview)。 。 。 .

## 模式匹配

由于 Bicep 不支持 `$` 作为标识符字符, ast- grep 用途 `_` (下分数)作为图案匹配的扩展字符 :

```js
// Find all parameter declarations
const params = sg.root().findAll('param $NAME string')

// Find all resource declarations
const resources = sg.root().findAll('resource $NAME $TYPE = { $$$ }')
```

注:当你写的时候 `$` 在图案字符串中,ast-grep在内部将其翻译为 `_` 当解析 Bicep 代码时.

## 常见问题

### @ast-grep/lang-bicep 是什么？

对 ast- grep 的 Azure Bicep 语言支持

### 如何安装 @ast-grep/lang-bicep？

在项目目录运行 npm install @ast-grep/lang-bicep，或使用 pnpm add / yarn add / bun add。

### @ast-grep/lang-bicep 支持 TypeScript 吗？

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

### @ast-grep/lang-bicep 支持 ESM 还是 CommonJS？

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

### @ast-grep/lang-bicep 可以商用吗？

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

### @ast-grep/lang-bicep 的下载量有多少？

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

### @ast-grep/lang-bicep 还在维护吗？

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

