@evops/hcl-terraform-parser

1.0.0 • Public • Published

Go

Terraform HCL Parser for Node.js

Using gopherjs to transpile Hashicorp's HCL into javascript.

Inspired by anhldbk/hcl-parser

Usage

const fs = require('fs');
const parser = require('@evops/hcl-terraform-parser');

const content = fs.readFileSync('main.tf');
const hclFile = parser.parse(content);

hclFile is a JSON object with following structure:

{
  path: '<virtual>',
  variables: {
    test: {
      name: 'test',
      default: 'Default value',
      required: false,
      pos: [Object]
    }
  },
  outputs: { test: { name: 'test', pos: [Object] } },
  required_providers: { test: { version_constraints: [Array] } },
  provider_configs: { test: { name: 'test' } },
  managed_resources: {
    'test_resource.test': {
      mode: 'managed',
      type: 'test_resource',
      name: 'test',
      provider: [Object],
      pos: [Object]
    }
  },
  data_resources: {
    'data.test_data.test': {
      mode: 'data',
      type: 'test_data',
      name: 'test',
      provider: [Object],
      pos: [Object]
    }
  },
  module_calls: {
    storage: { name: 'storage', source: './modules/storage', pos: [Object] }
  }
}

Credits:

  • Fabian Ponce FabianPonce for recommending terraform-config-inspect

Readme

Keywords

Package Sidebar

Install

npm i @evops/hcl-terraform-parser

Weekly Downloads

1,910

Version

1.0.0

License

MIT

Unpacked Size

6.3 MB

Total Files

6

Last publish

Collaborators

  • swozniak-evops