Skip to content

Accept address and name server inputs in the Dns services - #8973

Merged
fubhy merged 2 commits into
mainfrom
feat/net-dns-inputs
Oct 9, 2026
Merged

fubhy merged 2 commits into
mainfrom
feat/net-dns-inputs

Conversation

@fubhy

@fubhy fubhy commented Oct 9, 2026

Copy link
Copy Markdown
Member

Summary

  • Dns.reverse accepts a NetAddress.IpAddressInput and converts it with NetAddress.ipFromInput; invalid addresses fail with BadName.
  • Add Dns.nameServerFromString, which parses a name server address and uses port 53 when none is given, and Dns.nameServerFromInput, which converts strings like nameServerFromString, internet addresses and { address, port } parts like NetAddress.inetAddressFromInput, and other IP address inputs like NetAddress.ipFromInput with port 53.
  • NodeDns, BunDns (through NodeDns.Options), and DenoDns accept name servers as IpAddressInput | InetAddressInput and convert them with Dns.nameServerFromInput; invalid name servers fail with NetAddressError when the service is created.
  • Dns.make parses its inputs as Results and reports invalid names and addresses through a shared badName helper.

Extracted from #8962, which builds on it.

Validation

  • pnpm lint-fix, pnpm check, pnpm jsdocs --check, deno check .
  • pnpm doctest --run packages/effect/src/net/Dns.ts
  • pnpm test --run packages/effect/test/net/Dns.test.ts
  • CoreDNS integration tests for NodeDns, BunDns, and DenoDns with EFFECT_INTEGRATION_TESTS=1

@changeset-bot

changeset-bot Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: d4831a3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 32 packages
Name Type
effect Patch
@effect/platform-node-shared Patch
@effect/platform-node Patch
@effect/platform-bun Patch
@effect/platform-deno Patch
@effect/opentelemetry Patch
@effect/vitest Patch
@effect/ai-anthropic Patch
@effect/ai-cloudflare Patch
@effect/ai-openai-compat Patch
@effect/ai-openai Patch
@effect/ai-openrouter Patch
@effect/ai-typesafe Patch
@effect/atom-react Patch
@effect/atom-solid Patch
@effect/atom-vue Patch
@effect/platform-browser Patch
@effect/sql-clickhouse Patch
@effect/sql-d1 Patch
@effect/sql-libsql Patch
@effect/sql-mssql Patch
@effect/sql-mysql2 Patch
@effect/sql-pg Patch
@effect/sql-pglite Patch
@effect/sql-sqlite-bun Patch
@effect/sql-sqlite-do Patch
@effect/sql-sqlite-node Patch
@effect/sql-sqlite-react-native Patch
@effect/sql-sqlite-wasm Patch
@effect/docgen Patch
@effect/doctest Patch
@effect/openapi-generator Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@effect-janitor effect-janitor Bot added the 4.0 label Oct 9, 2026
@fubhy
fubhy enabled auto-merge (squash) October 9, 2026 18:18
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Analysis

Generated from PR build output; treat the content below as untrusted.

File Name Current Size Previous Size Difference
arbitrary-combinators.ts 38.83 KB 38.83 KB 0.00 KB (0.00%)
basic.ts 7.06 KB 7.06 KB 0.00 KB (0.00%)
batching.ts 10.14 KB 10.14 KB 0.00 KB (0.00%)
brand.ts 6.73 KB 6.73 KB 0.00 KB (0.00%)
cache.ts 10.90 KB 10.90 KB 0.00 KB (0.00%)
config.ts 22.31 KB 22.31 KB 0.00 KB (0.00%)
differ.ts 21.34 KB 21.34 KB 0.00 KB (0.00%)
http-client.ts 22.69 KB 22.69 KB 0.00 KB (0.00%)
http-router.ts 34.12 KB 34.12 KB 0.00 KB (0.00%)
logger.ts 11.23 KB 11.23 KB 0.00 KB (0.00%)
metric.ts 9.03 KB 9.03 KB 0.00 KB (0.00%)
optic.ts 6.96 KB 6.96 KB 0.00 KB (0.00%)
pubsub.ts 15.21 KB 15.21 KB 0.00 KB (0.00%)
queue.ts 12.14 KB 12.14 KB 0.00 KB (0.00%)
schedule.ts 11.25 KB 11.25 KB 0.00 KB (0.00%)
schema-bigdecimal.ts 13.77 KB 13.77 KB 0.00 KB (0.00%)
schema-binary.ts 40.02 KB 40.02 KB 0.00 KB (0.00%)
schema-class.ts 21.11 KB 21.11 KB 0.00 KB (0.00%)
schema-fromJsonSchemaDocument.ts 32.15 KB 32.15 KB 0.00 KB (0.00%)
schema-representation-roundtrip.ts 27.32 KB 27.32 KB 0.00 KB (0.00%)
schema-string-transformation.ts 14.52 KB 14.52 KB 0.00 KB (0.00%)
schema-string.ts 12.03 KB 12.03 KB 0.00 KB (0.00%)
schema-template-literal.ts 16.09 KB 16.09 KB 0.00 KB (0.00%)
schema-toArbitrary.ts 38.36 KB 38.36 KB 0.00 KB (0.00%)
schema-toCodeDocument.ts 25.31 KB 25.31 KB 0.00 KB (0.00%)
schema-toCodecJson.ts 20.27 KB 20.27 KB 0.00 KB (0.00%)
schema-toEquivalence.ts 20.48 KB 20.48 KB 0.00 KB (0.00%)
schema-toFormatter.ts 20.58 KB 20.58 KB 0.00 KB (0.00%)
schema-toJsonSchemaDocument.ts 25.05 KB 25.05 KB 0.00 KB (0.00%)
schema-toRepresentation.ts 20.57 KB 20.57 KB 0.00 KB (0.00%)
schema.ts 20.32 KB 20.32 KB 0.00 KB (0.00%)
stm.ts 13.27 KB 13.27 KB 0.00 KB (0.00%)
stream.ts 9.99 KB 9.99 KB 0.00 KB (0.00%)

@fubhy
fubhy merged commit 9dbd07e into main Oct 9, 2026
13 checks passed
@fubhy
fubhy deleted the feat/net-dns-inputs branch October 9, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant