in src/UserFunction.js [87:123]
function _hasFolderPackageJsonTypeModule(folder) {
// Check if package.json exists, return true if type === "module" in package json.
// If there is no package.json, and there is a node_modules, return false.
// Check parent folder otherwise, if there is one.
if (folder.endsWith('/node_modules')) {
return false;
}
const pj = path.join(folder, '/package.json');
if (fs.existsSync(pj)) {
try {
const pkg = JSON.parse(fs.readFileSync(pj));
if (pkg) {
if (pkg.type === 'module') {
verbose('type: module detected in', pj);
return true;
} else {
verbose('type: module not detected in', pj);
return false;
}
}
} catch (e) {
console.warn(
`${pj} cannot be read, it will be ignored for ES module detection purposes.`,
e,
);
return false;
}
}
if (folder === '/') {
// We have reached root without finding either a package.json or a node_modules.
return false;
}
return _hasFolderPackageJsonTypeModule(path.resolve(folder, '..'));
}