Different DNS resolvers are available depending on your runtime environment.
Node.js
Browser
Deno
Bun
CloudFlare Workers
Node.js supports all DNS resolvers:
import { getDnsRecords } from '@layered/dns-records'// Using node-dns (default in Node.js)const records1 = await getDnsRecords('example.com', 'A')// Using node-dig (requires dig command)const records2 = await getDnsRecords('example.com', 'TXT', 'node-dig')// Using cloudflare-dnsconst records3 = await getDnsRecords('example.com', 'MX', 'cloudflare-dns')// Using google-dnsconst records4 = await getDnsRecords('example.com', 'AAAA', 'google-dns')
node-dns is automatically selected as the default resolver in Node.js environments.
Browsers support DNS over HTTPS resolvers:
import { getDnsRecords } from '@layered/dns-records'// Using google-dns (default in browsers)const records1 = await getDnsRecords('example.com', 'A')// Using cloudflare-dnsconst records2 = await getDnsRecords('example.com', 'TXT', 'cloudflare-dns')
google-dns is automatically selected as the default resolver in browser environments.
Deno supports fetch-based DNS resolvers:
import { getDnsRecords } from '@layered/dns-records'// Using google-dns (default in Deno)const records1 = await getDnsRecords('example.com', 'A')// Using cloudflare-dnsconst records2 = await getDnsRecords('example.com', 'TXT', 'cloudflare-dns')
The native deno-dns resolver is not yet implemented. Use google-dns or cloudflare-dns instead.
Bun supports fetch-based DNS resolvers:
import { getDnsRecords } from '@layered/dns-records'// Using google-dns (default in Bun)const records1 = await getDnsRecords('example.com', 'A')// Using cloudflare-dnsconst records2 = await getDnsRecords('example.com', 'TXT', 'cloudflare-dns')
CloudFlare Workers automatically use the optimized resolver:
import { getDnsRecords } from '@layered/dns-records'// Using cloudflare-dns (default in CloudFlare Workers)const records1 = await getDnsRecords('example.com', 'A')// Can also use google-dns if neededconst records2 = await getDnsRecords('example.com', 'TXT', 'google-dns')
cloudflare-dns is automatically selected in CloudFlare Workers for optimal performance.
The library automatically selects the best DNS resolver for your runtime environment.
import { getDnsRecords, getAllDnsRecords } from '@layered/dns-records'// Resolver is automatically selected based on runtimeconst records = await getDnsRecords('example.com', 'A')const allRecords = await getAllDnsRecords('example.com')