Skip to content

Audit crypto/util/assert/url for Node 24 + Haxe 4 - #229

Merged
kevinresol merged 5 commits into
HaxeFoundation:masterfrom
kevinresol:audit/crypto-util
Jul 14, 2026
Merged

Audit crypto/util/assert/url for Node 24 + Haxe 4#229
kevinresol merged 5 commits into
HaxeFoundation:masterfrom
kevinresol:audit/crypto-util

Conversation

@kevinresol

Copy link
Copy Markdown
Contributor

Summary

  • Drop Haxe 3 #if haxe4 / js.html ArrayBuffer fallbacks across crypto, util, assert, and url packages.
  • Fill Node.js v24 Active LTS gaps: KeyObject/X509Certificate, key generation/KEM/argon2, one-shot hash/sign/verify, util parseArgs/MIMEType/styleText/etc., assert.CallTracker, URLPattern/fileURLToPathBuffer, querystring.unescapeBuffer.
  • Replace avoidable Dynamic with Any / tighter types; leave remaining soft spots as // TODO(section-4): ….
  • Web Crypto exposed via crypto.subtle / crypto.webcrypto (typed to std js.html.*); no separate js.node.webcrypto package.

Test plan

  • haxe build.hxml with Haxe 4.0.0
  • haxe build.hxml with current Haxe
  • Spot-check against Node 24 docs for any remaining missing exports

Remaining TODOs

  • Full SubtleCrypto / Node-only Web Crypto additions beyond js.html.Crypto
  • Finer-grained generateKeyPair* overloads / encodings
  • Finer KeyObject.asymmetricKeyDetails / parseArgs generics
  • Tighten callbackify / promisify typings

Made with Cursor

kevinresol and others added 5 commits July 14, 2026 16:05
Drop Haxe 3 conditionals, add missing Node 24 APIs (KeyObject, X509,
MIMEType, CallTracker, URLPattern, argon2/KEM, parseArgs, etc.), and
narrow avoidable Dynamic usage with remaining gaps marked TODO(section-4).

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@kevinresol
kevinresol merged commit 9f01c64 into HaxeFoundation:master Jul 14, 2026
10 checks passed
@kevinresol
kevinresol deleted the audit/crypto-util branch July 15, 2026 00:59
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