Skip to content

V3#16

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

V3#16
SerhiyGreench merged 3 commits into
masterfrom
v3

Conversation

@SerhiyGreench

Copy link
Copy Markdown
Contributor

No description provided.

- package.json: type=module, exports map, engines node>=22.12,
  @imqueue/core ^3.2.0 (the ESM core)
- explicit .js extensions on all relative imports
- tsconfig: es2024, skipLibCheck, verbatimModuleSyntax with import type
  annotations throughout
- helpers/env pkg(): reads the consumer package.json with
  readFileSync/JSON.parse instead of require() (no module semantics
  needed for JSON)
- helpers/transport: winston transport option types imported type-only
  from the explicit index.js subpath (ESM has no directory resolution;
  type-only imports are erased so no runtime deep-require remains)
- tests: fresh package manifest read via import.meta.url

BREAKING CHANGE: package is ESM-only; CJS consumers require Node >=22.12
(require(esm)) and TypeScript >=5.8 to type-check

Verified: 31/31 on Node 24.16.0 and docker node:24 (24.18.0); CJS
require(esm) interop smoke-tested (default instance, Logger, helpers)
The only things imported from core were the ILogger and JsonObject
types. They are now structural copies in src/types.ts (re-exported from
the package root), so the logger carries no runtime dependency on the
queue library while values typed against it stay assignment-compatible
with code written for the core interfaces.

Runtime dependencies are now winston and winston-transport only.
@SerhiyGreench SerhiyGreench merged commit a635da1 into master Jul 9, 2026
6 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