UNPKG

@locker/eslint-plugin-locker

Version:
33 lines (32 loc) 1.63 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.docURL = exports.createSetterMessageHandler = exports.createGetterMessageHandler = void 0; const node_fs_1 = __importDefault(require("node:fs")); const node_path_1 = __importDefault(require("node:path")); // Reference the documentation mirror until this repo is publicly accessible. const BASE_DOC_URL = 'https://github.com/salesforce/lwsec-docs-mirror'; const pkgJSONPath = node_path_1.default.resolve(__dirname, '../package.json'); const { version } = JSON.parse(node_fs_1.default.readFileSync(pkgJSONPath, 'utf8')); function createAccessorMessageHandler(accessorType) { return function onMessage(data) { const dotName = data.pattern.slice(2); const nodeText = data.context.getSourceCode().getText(data.node); const matchedText = nodeText.slice(0, nodeText.indexOf(dotName) + dotName.length); return `The ${matchedText} ${accessorType} is distorted by Lightning Web Security.`; }; } function createGetterMessageHandler() { return createAccessorMessageHandler('getter'); } exports.createGetterMessageHandler = createGetterMessageHandler; function createSetterMessageHandler() { return createAccessorMessageHandler('setter'); } exports.createSetterMessageHandler = createSetterMessageHandler; function docURL(ruleName) { return `${BASE_DOC_URL}/blob/v${version}/packages/%40locker/eslint-plugin-locker/docs/rules/${ruleName}.md`; } exports.docURL = docURL;