Skip to content

docs(sdk): define ESM module contract - #47

Merged
0xnavarro merged 1 commit into
mainfrom
docs/esm-runtime-contract-20260921
Sep 21, 2026
Merged

0xnavarro merged 1 commit into
mainfrom
docs/esm-runtime-contract-20260921

Conversation

@0xnavarro

Copy link
Copy Markdown
Contributor

Public change

Document the module-format contract for the first public @brida/sdk release.

  • @brida/sdk@0.1.0 is ESM;
  • Node 22.0.0 is the supported runtime floor for ESM consumers;
  • synchronous CommonJS require('@brida/sdk') is not part of the 0.1 contract;
  • CommonJS applications can use dynamic import();
  • a parallel CJS build/require export should only be introduced if an explicit compatibility need justifies the additional package surface and is covered at the supported Node floor.

This closes an ambiguity found during pre-publication clean-room testing: current later Node 22 releases may load ESM via require(), but exact Node 22.0.0 correctly rejects it with ERR_REQUIRE_ESM.

Validation

Exact head: 192ab541271abaf1af62d0bc4e95866b3807dd36.

  • pnpm check: PASS;
  • SDK/release tests: 23/23 PASS;
  • repository/release policy tests: 11/11 PASS;
  • full-history public leak scan: PASS;
  • exact Node 22.0.0 ESM clean consumer: PASS;
  • TypeScript NodeNext consumer: PASS;
  • TypeScript Bundler consumer: PASS;
  • exact Node 22.0.0 synchronous CommonJS require: intentionally not supported and now documented.

Compatibility / risk

Docs/architecture only. Runtime/package exports are unchanged.

Release intent

  • release-impact: none
  • release-note: Define @brida/sdk 0.1 as an ESM package with Node 22.0.0+ ESM support and no synchronous CommonJS require contract.
  • qa-scope: Node 22/24 public CI, SDK/release/policy tests, CodeQL, full-history leak scan, exact Node 22.0.0 ESM consumer and TypeScript NodeNext/Bundler consumers.

@0xnavarro
0xnavarro merged commit 9090085 into main Sep 21, 2026
7 checks passed
@0xnavarro
0xnavarro deleted the docs/esm-runtime-contract-20260921 branch September 21, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant