Skip to content

sxzz/import-without-cache

import-without-cache

npm version npm downloads Unit Test

Import ES modules without cache.

Features

  • Import ES modules without cache
  • All dependencies are also imported without cache

Install

npm i import-without-cache

Usage

import { clearRequireCache, init, isSupported } from 'import-without-cache'

if (!isSupported) {
  throw new Error('import-without-cache is not supported in this environment.')
}

const deregister = init({
  // Optional
  skipNodeModules: false,
})

const mod = await import('some-module', { with: { cache: 'no' } })

clearRequireCache() // Optional: clear CommonJS cache if needed

// or
const mod2 = await import(`no-cache://some-module`)

expect(mod).not.toBe(mod2) // Different instances

deregister() // Optional: deregister the hooks when no longer needed

Known Limitations

  • Support Node.js since v22.15.0, and doesn't support Deno.
    • For Bun, clearRequireCache works, but init is not needed since ESM imports is the same as CJS requires.
    • Yarn PnP is not supported on Node.js < v24.
  • Only supports ESM modules by default. CommonJS cache can be cleared by clearRequireCache.
  • require(esm) is not supported. Please track this PR.

Sponsors

License

MIT License © 2025-PRESENT Kevin Deng

About

Import ES modules without cache.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project