load-esm.js 264 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
'use strict';

const {pathToFileURL} = require('url');

module.exports = async filename => {
	const mod = await import(pathToFileURL(filename));
	if ('default' in mod === false) {
		throw new Error(`${filename} has no default export`);
	}

	return mod.default;
};