resolve.imports
Version:
resolve "imports" in package.json
18 lines (17 loc) • 948 B
JavaScript
export const ERR_INVALID_MODULE_SPECIFIER = createErrorType(`ERR_INVALID_MODULE_SPECIFIER`, (request, reason, base = undefined) => `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`, TypeError);
export const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType('ERR_PACKAGE_IMPORT_NOT_DEFINED', (specifier, packagePath, base) => `Package import specifier "${specifier}" is not defined${packagePath
? ` in package ${packagePath}${packagePath.endsWith('/') ? '' : '/'}package.json`
: ''}${base ? ` imported from ${base}` : ``}`, TypeError);
function createErrorType(code, messageCreator, errorType) {
return class extends errorType {
constructor(...args) {
super(messageCreator(...args));
this.code = code;
this.name = `${errorType.name} [${code}]`;
}
};
}
export function assert(condition, message) {
if (!condition)
throw new Error(message);
}