BIND9 Zone Editor Library
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); }