Skip to content

devOps: consolidate devDependencies, replace jest with node:test and … - #434

Merged
modesty merged 1 commit into
masterfrom
scratch/consolidateDevDeps
Sep 11, 2026
Merged

modesty merged 1 commit into
masterfrom
scratch/consolidateDevDeps

Conversation

@modesty

@modesty modesty commented Sep 10, 2026

Copy link
Copy Markdown
Owner

…bump engine version to the current lowest LTS version 22.23.2

  • Test Runner Migration: Replaced Jest with Node built-in node:test and node:assert/strict across
    all 7 test suites (74 tests), eliminating ~250 transitive dependencies and reducing test execution time
    from ~13s to ~1.6s.
  • Test Timeouts & Discovery: Restored bounded 15-second timeouts (--test-timeout=15000) for event-
    based tests and used explicit test file paths to ensure reliable cross-platform (macOS/Linux/Windows)
    discovery.
  • Code Coverage & Exclusions: Configured native Node coverage generating dual console spec tables and
    coverage/lcov.info, excluding test/base/generated files via --test-coverage-exclude.
  • Node Engine Bump: Bumped engines.node to >=22.23.2 and updated @types/node to ^22.20.2 to
    resolve Node 20 V8 coverage sourcemap mapping crashes and align with the active LTS baseline.
  • Dependency Consolidation: Replaced separate @typescript-eslint/eslint-plugin and @typescript- eslint/parser with unified typescript-eslint, and removed dead packages (jest, @rollup/plugin- commonjs, @rollup/plugin-node-resolve, @rollup/plugin-eslint, resolutions, overrides).
  • Build & Sourcemaps: Restored sourcemap: true in Rollup to eliminate @rollup/plugin-typescript
    build warnings, and removed unused json() plugin from CLI bundle.
  • TypeScript Declaration Fix: Implemented declaration merging in .d.cts (export = PDFParser) so
    CommonJS TypeScript consumers construct without TS2351.
  • CI & Scripts: Modernized GitHub Actions workflow with a multi-OS matrix (ubuntu-latest, windows- latest) using npm ci for reproducible clean builds, and updated test/p2j.one.sh to enforce exit 1 on unexpected exit code mismatches.

…bump engine version to the current lowest LTS version 22.23.2

- Test Runner Migration: Replaced Jest with Node built-in node:test and node:assert/strict across
      all 7 test suites (74 tests), eliminating ~250 transitive dependencies and reducing test execution
  time
      from ~13s to ~1.6s.
    - Test Timeouts & Discovery: Restored bounded 15-second timeouts (--test-timeout=15000) for event-
      based tests and used explicit test file paths to ensure reliable cross-platform
  (macOS/Linux/Windows)
      discovery.
    - Code Coverage & Exclusions: Configured native Node coverage generating dual console spec tables and
      coverage/lcov.info, excluding test/base/generated files via --test-coverage-exclude.
    - Node Engine Bump: Bumped engines.node to >=22.23.2 and updated @types/node to ^22.20.2 to
      resolve Node 20 V8 coverage sourcemap mapping crashes and align with the active LTS baseline.
    - Dependency Consolidation: Replaced separate @typescript-eslint/eslint-plugin and @typescript-
      eslint/parser with unified typescript-eslint, and removed dead packages (jest, @rollup/plugin-
      commonjs, @rollup/plugin-node-resolve, @rollup/plugin-eslint, resolutions, overrides).
    - Build & Sourcemaps: Restored sourcemap: true in Rollup to eliminate @rollup/plugin-typescript
      build warnings, and removed unused json() plugin from CLI bundle.
    - TypeScript Declaration Fix: Implemented declaration merging in .d.cts (export = PDFParser) so
      CommonJS TypeScript consumers construct without TS2351.
    - CI & Scripts: Modernized GitHub Actions workflow with a multi-OS matrix (ubuntu-latest, windows-
      latest) using npm ci for reproducible clean builds, and updated test/p2j.one.sh to enforce exit
      1 on unexpected exit code mismatches.
@modesty
modesty merged commit fb87c08 into master Sep 11, 2026
2 checks passed
@modesty
modesty deleted the scratch/consolidateDevDeps branch September 11, 2026 16:57
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