Skip to content

HikaruEgashira/hcl-visitor

Repository files navigation

HCL Visitor

HCL Visitor is a library for traversing HashiCorp Configuration Language (HCL) ASTs.

Features

  • parseHCL: Parse HCL string to AST
  • generateHCL: Generate HCL string from AST
  • traverse: Traverse AST nodes

Quick Start

npm install hcl-visitor
import { parseHCL, traverse } from "hcl-visitor";

const hcl = `
variable "region" {
  type = string
  default = "us-west-1"
}
`;

const ast = await parseHCL(hcl);
const node = ast.walk().currentNode;
traverse(node, {
  attribute: (node) => {
    console.log(node);
  },
});

Usage

  • GitHub Actions
steps:
  - name: Checkout
    uses: actions/checkout@v4
  - name: Setup HCL Visitor
    run: npm i hcl-visitor
    shell: bash
  - name: Run Script
    uses: actions/github-script@v7
    with:
      script: |
        const { parseHCL, traverse } = require("hcl-visitor");
        # Your script here

Versioning

v1.1.0

https://github.com/tree-sitter-grammars/tree-sitter-hcl

日本語版 HCL Visitorについて

HCL VisitorはHashiCorp Configuration Language (HCL) ASTをトラバースするためのライブラリです。

機能

  • parseHCL: HCL文字列をASTにパース
  • generateHCL: ASTからHCL文字列を生成
  • traverse: ASTノードをトラバース

クイックスタート

npm install hcl-visitor
import { parseHCL, traverse } from "hcl-visitor";

const hcl = `
variable "region" {
  type = string
  default = "us-west-1"
}
`;

const ast = await parseHCL(hcl);
const node = ast.walk().currentNode;
traverse(node, {
  attribute: (node) => {
    console.log(node);
  },
});

実用的な使い方

  • GitHub Actions
steps:
  - name: Checkout
    uses: actions/checkout@v4
  - name: Setup HCL Visitor
    run: npm i hcl-visitor
    shell: bash
  - name: Run Script
    uses: actions/github-script@v7
    with:
      script: |
        const { parseHCL, traverse } = require("hcl-visitor");
        # ここにスクリプトを記述

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published