GitHub - willnode/zone-editor

BIND9 Zone Editor Library

npm

This library allows you to edit BIND9 zone file using list of text changes. Used by DOM Cloud Bridge for BIND9 DNS zone editing.

This library is ES only. Open demo here.

Usage

npm install @domcloud/zone-editor
import { parseNS, editNS, generateNS } from '@domcloud/zone-editor';
import fs from 'fs';

const path = '/var/named/example.com.hosts';
const input = fs.readFileSync(path, { encoding: 'utf8' });
const data = parseNS(str);
const changes = ['del txt @', 'add txt @ foo=bar baz'];
if (editNS(data, changes) > 0) { // return count of changes, data is mutable
    const result = generateNS(data); // optionally pass custom template here
    fs.writeFileSync(path, result);
}

See also