Skip to content

V3#31

Merged
SerhiyGreench merged 6 commits into
masterfrom
v3
Jul 9, 2026
Merged

V3#31
SerhiyGreench merged 6 commits into
masterfrom
v3

Conversation

@SerhiyGreench

Copy link
Copy Markdown
Contributor

No description provided.

- package.json: type=module, exports map, engines node>=22.12,
  --experimental-test-module-mocks + --import mock preload in test scripts
- explicit .js extensions on all relative imports
- IMQClient: tsconfig.json read via import.meta.url; typescript compiler
  resolved and generated CommonJS clients loaded via createRequire()
  (generated clients still transpile to CJS for the vm sandbox)
- IMQCache: static built-in adapter registry replaces synchronous dynamic
  require; custom adapters still registrable by class/instance
- decorators/cache: imports from defining modules to break a circular-import
  TDZ that CJS evaluation order used to tolerate
- tests: ioredis/node:fs mocks expose named exports for ESM bindings;
  builtin method patches published via syncBuiltinESMExports(); fresh-module
  reloads via query-busted dynamic import; ESM-invalid module-scope this
  removed; ioredis added as explicit devDependency
- @imqueue/core consumed as vendored ESM tarball (vendor/) for the
  experiment; replace with the published ^4.0.0 when core ships ESM

BREAKING CHANGE: package is ESM-only; CJS consumers require Node >=22.12
(require(esm)) and TypeScript >=5.8 to type-check
- target/lib es2024 (Node >=22.12 floor fully implements it)
- skipLibCheck guards against third-party d.ts breakage
- verbatimModuleSyntax with import type annotations throughout (ESM-only
  option, hence esm branch only); vendored core tarball refreshed
@SerhiyGreench SerhiyGreench merged commit 34628fc into master Jul 9, 2026
7 checks passed
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