import-fresh
Import a module while bypassing the cache
Last updated 2 months ago by sindresorhus .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install import-fresh 
SYNC missed versions from official npm registry.

import-fresh

Import a module while bypassing the cache

Useful for testing purposes when you need to freshly import a module.

Requirements

  • Node.js 22.15 or later (uses module loader hooks)

Install

npm install import-fresh

Usage

// foo.js
let count = 0;
export default function increment() {
	count += 1;
	return count;
}
import createImportFresh from 'import-fresh';

const importFresh = createImportFresh(import.meta.url);
const {default: increment} = await importFresh('./foo.js');

increment();
//=> 1

increment();
//=> 2

const {default: freshIncrement} = await importFresh('./foo.js');

freshIncrement();
//=> 1

API

createImportFresh(parentURL, options?)

Returns an importFresh function bound to parentURL.

parentURL must be a valid hierarchical URL string (for example import.meta.url) or a URL instance.

options

Type: object

The options are process-global. Every call in the same process must use the same skipNodeModules value.

skipNodeModules

Type: boolean
Default: false

When true, modules inside node_modules directories are not cache-busted. This means that dependencies from npm packages will share state across fresh imports, which can be useful when you only want to freshly import your own code.

importFresh(moduleSpecifier, options?)

The function returned by createImportFresh.

options

Type: object

importAttributes

Type: object

Import attributes passed to import(). Each value must be a string. JSON modules are automatically imported with {type: 'json'} when the specifier ends with .json.

Caveat

Intended for development usage only. Repeated calls grow the ESM module cache because each call uses a unique cache-busting URL. This is an unavoidable “memory leak” and not considered a vulnerability.

Related

Current Tags

  • 4.0.0                                ...           latest (2 months ago)

9 Versions

  • 4.0.0                                ...           2 months ago
  • 3.3.1                                ...           a year ago
  • 3.3.0                                ...           5 years ago
  • 3.2.2                                ...           5 years ago
  • 3.2.1                                ...           6 years ago
  • 3.2.0                                ...           6 years ago
  • 3.1.0                                ...           7 years ago
  • 3.0.0                                ...           7 years ago
  • 2.0.0                                ...           9 years ago
Maintainers (1)
Downloads
Today 0
This Week 82
This Month 115
Last Day 15
Last Week 53
Last Month 311
Dependencies (0)
None
Dev Dependencies (4)

Copyright 2013 - present © cnpmjs.org | Home |