Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: testdouble/testdouble.js
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.21.0
Choose a base ref
...
head repository: testdouble/testdouble.js
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.23.0
Choose a head ref
  • 14 commits
  • 20 files changed
  • 1 contributor

Commits on Sep 21, 2026

  1. Configuration menu
    Copy the full SHA
    6ea9dd1 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2026

  1. Bump quibble to 0.10.1

    To quash warnings in Node 26.
    rosston committed Sep 28, 2026
    Configuration menu
    Copy the full SHA
    308ca5f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a777f4c View commit details
    Browse the repository at this point in the history
  3. 3.21.1

    rosston committed Sep 28, 2026
    Configuration menu
    Copy the full SHA
    8cee5a3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3a9f2f1 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2026

  1. Bump quibble to 0.11.0

    Picks up the fix for unbounded memory growth when replacing ES modules:
    quibble now only re-evaluates modules that are mocked or can reach a mocked
    module, instead of every module imported while any mock exists.
    rosston committed Oct 2, 2026
    Configuration menu
    Copy the full SHA
    bed2b61 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aa54585 View commit details
    Browse the repository at this point in the history
  3. 3.22.0

    rosston committed Oct 2, 2026
    Configuration menu
    Copy the full SHA
    2b14484 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bc8cb18 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2026

  1. Add a pnpm example that replaces a third-party ES module

    td.replaceEsm('some-package') resolves the package through quibble, which
    under pnpm can't see packages that only the app depends on unless pnpm
    hoisting happens to make them visible (testdouble/quibble#84). The new
    examples/node-esm-pnpm project is a pnpm workspace with hoisting off whose
    packages/app test replaces is-number, a dependency of that package only.
    It has to be a workspace: in a single pnpm project the app's own
    node_modules is still within reach of quibble's.
    
    It fails with quibble 0.11.x (the real is-number runs, because quibble
    replaces a different copy) and with 0.12.0 on Node 24+ (the generated stub
    for a CommonJS module is a SyntaxError), so it's expected to fail until
    quibble is bumped to 0.12.1.
    
    script/run-examples installs examples that have a pnpm-workspace.yaml with
    pnpm, and CI installs pnpm (8 on Node 16, 9 on Node 18, latest otherwise).
    The example sets hoisting off in both pnpm-workspace.yaml (pnpm 10+) and
    .npmrc (pnpm 8/9), and minimumReleaseAge: 0 so pnpm doesn't add exclusions
    to pnpm-workspace.yaml for just-released dependencies. Its lockfile isn't
    committed, so run-examples installs with --no-frozen-lockfile.
    rosston committed Oct 6, 2026
    Configuration menu
    Copy the full SHA
    4bcfdf9 View commit details
    Browse the repository at this point in the history
  2. Bump quibble to 0.12.1

    Picks up two fixes for replacing ES modules:
    
    - 0.12.0 resolves bare specifiers from the caller instead of from quibble's
      own directory, so td.replaceEsm('some-package') replaces the copy the
      test imports under pnpm, and in monorepos where packages need different
      versions of a dependency (testdouble/quibble#84)
    - 0.12.1 generates valid stubs for export names that aren't identifiers,
      so td.replaceEsm() of a CommonJS package no longer fails on Node 24+ with
      "SyntaxError: Unexpected token '.'" (Node gives CommonJS modules a
      'module.exports' named export)
    
    With these, the node-esm-pnpm example passes.
    rosston committed Oct 6, 2026
    Configuration menu
    Copy the full SHA
    2f5bb31 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #546 from testdouble/pnpm

    Fix support for pnpm
    rosston authored Oct 6, 2026
    Configuration menu
    Copy the full SHA
    e75a031 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    805e5c5 View commit details
    Browse the repository at this point in the history
  5. 3.23.0

    rosston committed Oct 6, 2026
    Configuration menu
    Copy the full SHA
    c415c49 View commit details
    Browse the repository at this point in the history
Loading