textlint
Version:
The pluggable linting tool for text and markdown.
53 lines • 2.22 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadTextlintrc = exports.loadBuiltinPlugins = exports.builtInPlugins = void 0;
const config_loader_1 = require("@textlint/config-loader");
const kernel_1 = require("@textlint/kernel");
const node_path_1 = __importDefault(require("node:path"));
const textlint_plugin_text_1 = __importDefault(require("@textlint/textlint-plugin-text"));
const textlint_plugin_markdown_1 = __importDefault(require("@textlint/textlint-plugin-markdown"));
const debug_1 = __importDefault(require("debug"));
const debug = (0, debug_1.default)("textlint:loader:TextlintrcLoader");
// Built-in plugins should be loaded from same directory with `textlint` package
exports.builtInPlugins = [
{
pluginId: "@textlint/textlint-plugin-text",
plugin: textlint_plugin_text_1.default,
options: true
},
{
pluginId: "@textlint/textlint-plugin-markdown",
plugin: textlint_plugin_markdown_1.default,
options: true
}
];
const loadBuiltinPlugins = async () => {
return new kernel_1.TextlintKernelDescriptor({
rules: [],
filterRules: [],
plugins: exports.builtInPlugins
});
};
exports.loadBuiltinPlugins = loadBuiltinPlugins;
const loadTextlintrc = async (options) => {
const result = await (0, config_loader_1.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 (0, exports.loadBuiltinPlugins)();
}
const { rules, plugins, filterRules } = result.config;
return new kernel_1.TextlintKernelDescriptor({
rules,
plugins: [...exports.builtInPlugins, ...plugins],
filterRules,
configBaseDir: node_path_1.default.dirname(result.configFilePath)
});
};
exports.loadTextlintrc = loadTextlintrc;
//# sourceMappingURL=TextlintrcLoader.js.map
;