eslint-plugin-esm
Version:
ESLint plugin for linting ESM (import/export syntax)
11 lines • 1.91 kB
JavaScript
import { create, createRule, getRuleName } from "../common.js";
const depth = 3;
export const noRelativeParentImports = createRule({
name: getRuleName(import.meta.url),
message: "Disallow importing module from a relative parent path too deeply.",
create: (context) => create(context, checkDepth),
});
function checkDepth(_filename, source) {
return new RegExp(`^(\\.\\./){${depth.toString()},}`).test(source);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQztBQUVoQixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxVQUFVLENBQUM7SUFDaEQsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQyxPQUFPLEVBQUUsbUVBQW1FO0lBQzVFLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7Q0FDakQsQ0FBQyxDQUFDO0FBRUgsU0FBUyxVQUFVLENBQUMsU0FBaUIsRUFBRSxNQUFjO0lBQ25ELE9BQU8sSUFBSSxNQUFNLENBQUMsY0FBYyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlLCBjcmVhdGVSdWxlLCBnZXRSdWxlTmFtZSB9IGZyb20gXCIuLi9jb21tb24udHNcIjtcblxuY29uc3QgZGVwdGggPSAzO1xuXG5leHBvcnQgY29uc3Qgbm9SZWxhdGl2ZVBhcmVudEltcG9ydHMgPSBjcmVhdGVSdWxlKHtcbiAgbmFtZTogZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKSxcbiAgbWVzc2FnZTogXCJEaXNhbGxvdyBpbXBvcnRpbmcgbW9kdWxlIGZyb20gYSByZWxhdGl2ZSBwYXJlbnQgcGF0aCB0b28gZGVlcGx5LlwiLFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiBjcmVhdGUoY29udGV4dCwgY2hlY2tEZXB0aCksXG59KTtcblxuZnVuY3Rpb24gY2hlY2tEZXB0aChfZmlsZW5hbWU6IHN0cmluZywgc291cmNlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBSZWdFeHAoYF4oXFxcXC5cXFxcLi8peyR7ZGVwdGgudG9TdHJpbmcoKX0sfWApLnRlc3Qoc291cmNlKTtcbn1cbiJdfQ==