UNPKG

eslint-plugin-export-scope

Version:

Don't leak LOCAL utils, states, components into the global scope

30 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tsLanguageServicePlugin = tsLanguageServicePlugin; const getCodeFixesAtPosition_1 = require("./getCodeFixesAtPosition"); const getCompletionsAtPosition_1 = require("./getCompletionsAtPosition"); const exts = [".ts", ".tsx", ".js", ".jsx"]; const excludes = ["**/node_modules/**", "**/.git/**", "**/dist/**", "**/build/**"]; const includes = ["**/.scope.*", "**/.scope.default.*"]; function tsLanguageServicePlugin(module) { let root = ""; let files = []; let watcher; const scan = (sys) => { files = sys.readDirectory(root, exts, excludes, includes); }; const getExternalFiles = () => files; function create(info) { // ------ track and register .scope files ------ root = info.project.getCurrentDirectory(); scan(info.serverHost); watcher = info.serverHost.watchDirectory(root, () => scan(info.serverHost), true); const ls = info.languageService; const proxy = { ...ls }; proxy.getCompletionsAtPosition = (0, getCompletionsAtPosition_1.getCompletionsAtPosition)(module.typescript, info); proxy.getCodeFixesAtPosition = (0, getCodeFixesAtPosition_1.getCodeFixesAtPosition)(module.typescript, info); return proxy; } return { create, getExternalFiles }; } //# sourceMappingURL=index.js.map