UNPKG

textlint

Version:

The pluggable linting tool for text and markdown.

45 lines 1.59 kB
import { loadConfig } from "@textlint/config-loader"; import { TextlintKernelDescriptor } from "@textlint/kernel"; import path from "node:path"; import textPlugin from "@textlint/textlint-plugin-text"; import markdownPlugin from "@textlint/textlint-plugin-markdown"; import debug_ from "debug"; const debug = debug_("textlint:loader:TextlintrcLoader"); // Built-in plugins should be loaded from same directory with `textlint` package export const builtInPlugins = [ { pluginId: "@textlint/textlint-plugin-text", plugin: textPlugin, options: true }, { pluginId: "@textlint/textlint-plugin-markdown", plugin: markdownPlugin, options: true } ]; export const loadBuiltinPlugins = async () => { return new TextlintKernelDescriptor({ rules: [], filterRules: [], plugins: builtInPlugins }); }; export const loadTextlintrc = async (options) => { const result = await loadConfig({ configFilePath: options === null || options === void 0 ? void 0 : options.configFilePath, node_modulesDir: options === null || options === void 0 ? void 0 : options.node_modulesDir }); if (!result.ok) { debug("loadTextlintrc failed: %o", result); return loadBuiltinPlugins(); } const { rules, plugins, filterRules } = result.config; return new TextlintKernelDescriptor({ rules, plugins: [...builtInPlugins, ...plugins], filterRules, configBaseDir: path.dirname(result.configFilePath) }); }; //# sourceMappingURL=TextlintrcLoader.js.map