1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- const execute_rule_1 = __importDefault(require("@commitlint/execute-rule"));
- const resolve_extends_1 = __importDefault(require("@commitlint/resolve-extends"));
- const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
- const merge_1 = __importDefault(require("lodash/merge"));
- const uniq_1 = __importDefault(require("lodash/uniq"));
- const path_1 = __importDefault(require("path"));
- const resolve_from_1 = __importDefault(require("resolve-from"));
- const load_config_1 = require("./utils/load-config");
- const load_parser_opts_1 = require("./utils/load-parser-opts");
- const load_plugin_1 = __importDefault(require("./utils/load-plugin"));
- const pick_config_1 = require("./utils/pick-config");
- async function load(seed = {}, options = {}) {
- const cwd = typeof options.cwd === 'undefined' ? process.cwd() : options.cwd;
- const loaded = await (0, load_config_1.loadConfig)(cwd, options.file);
- const base = loaded && loaded.filepath ? path_1.default.dirname(loaded.filepath) : cwd;
- // TODO: validate loaded.config against UserConfig type
- // Might amount to breaking changes, defer until 9.0.0
- // Merge passed config with file based options
- const config = (0, pick_config_1.pickConfig)((0, merge_1.default)({
- extends: [],
- plugins: [],
- rules: {},
- }, loaded ? loaded.config : null, seed));
- // Resolve parserPreset key
- if (typeof config.parserPreset === 'string') {
- const resolvedParserPreset = (0, resolve_from_1.default)(base, config.parserPreset);
- config.parserPreset = {
- name: config.parserPreset,
- path: resolvedParserPreset,
- parserOpts: require(resolvedParserPreset),
- };
- }
- // Resolve extends key
- const extended = (0, resolve_extends_1.default)(config, {
- prefix: 'commitlint-config',
- cwd: base,
- parserPreset: config.parserPreset,
- });
- if (!extended.formatter || typeof extended.formatter !== 'string') {
- extended.formatter = '@commitlint/format';
- }
- let plugins = {};
- if (Array.isArray(extended.plugins)) {
- (0, uniq_1.default)(extended.plugins || []).forEach((plugin) => {
- if (typeof plugin === 'string') {
- plugins = (0, load_plugin_1.default)(plugins, plugin, process.env.DEBUG === 'true');
- }
- else {
- plugins.local = plugin;
- }
- });
- }
- const rules = (await Promise.all(Object.entries(extended.rules || {}).map((entry) => (0, execute_rule_1.default)(entry)))).reduce((registry, item) => {
- // type of `item` can be null, but Object.entries always returns key pair
- const [key, value] = item;
- registry[key] = value;
- return registry;
- }, {});
- const helpUrl = typeof extended.helpUrl === 'string'
- ? extended.helpUrl
- : typeof config.helpUrl === 'string'
- ? config.helpUrl
- : 'https://github.com/conventional-changelog/commitlint/#what-is-commitlint';
- const prompt = extended.prompt && (0, isPlainObject_1.default)(extended.prompt) ? extended.prompt : {};
- return {
- extends: Array.isArray(extended.extends)
- ? extended.extends
- : typeof extended.extends === 'string'
- ? [extended.extends]
- : [],
- // Resolve config-relative formatter module
- formatter: resolve_from_1.default.silent(base, extended.formatter) || extended.formatter,
- // Resolve parser-opts from preset
- parserPreset: await (0, load_parser_opts_1.loadParserOpts)(extended.parserPreset),
- ignores: extended.ignores,
- defaultIgnores: extended.defaultIgnores,
- plugins: plugins,
- rules: rules,
- helpUrl: helpUrl,
- prompt,
- };
- }
- exports.default = load;
- //# sourceMappingURL=load.js.map
|