feat: adding linter for commits
This commit is contained in:
7
node_modules/@commitlint/lint/lib/commit-message.d.ts
generated
vendored
Normal file
7
node_modules/@commitlint/lint/lib/commit-message.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export interface CommitMessageData {
|
||||
header: string;
|
||||
body?: string | null;
|
||||
footer?: string | null;
|
||||
}
|
||||
export declare const buildCommitMesage: ({ header, body, footer, }: CommitMessageData) => string;
|
||||
//# sourceMappingURL=commit-message.d.ts.map
|
1
node_modules/@commitlint/lint/lib/commit-message.d.ts.map
generated
vendored
Normal file
1
node_modules/@commitlint/lint/lib/commit-message.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"commit-message.d.ts","sourceRoot":"","sources":["../src/commit-message.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,8BAI3B,iBAAiB,KAAG,MAOtB,CAAC"}
|
11
node_modules/@commitlint/lint/lib/commit-message.js
generated
vendored
Normal file
11
node_modules/@commitlint/lint/lib/commit-message.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.buildCommitMesage = void 0;
|
||||
const buildCommitMesage = ({ header, body, footer, }) => {
|
||||
let message = header;
|
||||
message = body ? `${message}\n\n${body}` : message;
|
||||
message = footer ? `${message}\n\n${footer}` : message;
|
||||
return message;
|
||||
};
|
||||
exports.buildCommitMesage = buildCommitMesage;
|
||||
//# sourceMappingURL=commit-message.js.map
|
1
node_modules/@commitlint/lint/lib/commit-message.js.map
generated
vendored
Normal file
1
node_modules/@commitlint/lint/lib/commit-message.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"commit-message.js","sourceRoot":"","sources":["../src/commit-message.ts"],"names":[],"mappings":";;;AAMO,MAAM,iBAAiB,GAAG,CAAC,EACjC,MAAM,EACN,IAAI,EACJ,MAAM,GACa,EAAU,EAAE;IAC/B,IAAI,OAAO,GAAG,MAAM,CAAC;IAErB,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACnD,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAEvD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B"}
|
3
node_modules/@commitlint/lint/lib/lint.d.ts
generated
vendored
Normal file
3
node_modules/@commitlint/lint/lib/lint.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import { LintOptions, LintOutcome, QualifiedRules } from '@commitlint/types';
|
||||
export default function lint(message: string, rawRulesConfig?: QualifiedRules, rawOpts?: LintOptions): Promise<LintOutcome>;
|
||||
//# sourceMappingURL=lint.d.ts.map
|
1
node_modules/@commitlint/lint/lib/lint.d.ts.map
generated
vendored
Normal file
1
node_modules/@commitlint/lint/lib/lint.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,WAAW,EACX,WAAW,EAMX,cAAc,EACd,MAAM,mBAAmB,CAAC;AAE3B,wBAA8B,IAAI,CACjC,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,EAC/B,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC,CAgLtB"}
|
118
node_modules/@commitlint/lint/lib/lint.js
generated
vendored
Normal file
118
node_modules/@commitlint/lint/lib/lint.js
generated
vendored
Normal file
@ -0,0 +1,118 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const util_1 = __importDefault(require("util"));
|
||||
const is_ignored_1 = __importDefault(require("@commitlint/is-ignored"));
|
||||
const parse_1 = __importDefault(require("@commitlint/parse"));
|
||||
const rules_1 = __importDefault(require("@commitlint/rules"));
|
||||
const commit_message_1 = require("./commit-message");
|
||||
const types_1 = require("@commitlint/types");
|
||||
async function lint(message, rawRulesConfig, rawOpts) {
|
||||
const opts = rawOpts
|
||||
? rawOpts
|
||||
: { defaultIgnores: undefined, ignores: undefined };
|
||||
const rulesConfig = rawRulesConfig || {};
|
||||
// Found a wildcard match, skip
|
||||
if ((0, is_ignored_1.default)(message, { defaults: opts.defaultIgnores, ignores: opts.ignores })) {
|
||||
return {
|
||||
valid: true,
|
||||
errors: [],
|
||||
warnings: [],
|
||||
input: message,
|
||||
};
|
||||
}
|
||||
// Parse the commit message
|
||||
const parsed = message === ''
|
||||
? { header: null, body: null, footer: null }
|
||||
: await (0, parse_1.default)(message, undefined, opts.parserOpts);
|
||||
if (parsed.header === null &&
|
||||
parsed.body === null &&
|
||||
parsed.footer === null) {
|
||||
// Commit is empty, skip
|
||||
return {
|
||||
valid: true,
|
||||
errors: [],
|
||||
warnings: [],
|
||||
input: message,
|
||||
};
|
||||
}
|
||||
const allRules = new Map(Object.entries(rules_1.default));
|
||||
if (opts.plugins) {
|
||||
Object.values(opts.plugins).forEach((plugin) => {
|
||||
if (plugin.rules) {
|
||||
Object.keys(plugin.rules).forEach((ruleKey) => allRules.set(ruleKey, plugin.rules[ruleKey]));
|
||||
}
|
||||
});
|
||||
}
|
||||
// Find invalid rules configs
|
||||
const missing = Object.keys(rulesConfig).filter((name) => typeof allRules.get(name) !== 'function');
|
||||
if (missing.length > 0) {
|
||||
const names = [...allRules.keys()];
|
||||
throw new RangeError(`Found invalid rule names: ${missing.join(', ')}. Supported rule names are: ${names.join(', ')}`);
|
||||
}
|
||||
const invalid = Object.entries(rulesConfig)
|
||||
.map(([name, config]) => {
|
||||
if (!Array.isArray(config)) {
|
||||
return new Error(`config for rule ${name} must be array, received ${util_1.default.inspect(config)} of type ${typeof config}`);
|
||||
}
|
||||
const [level] = config;
|
||||
if (level === types_1.RuleConfigSeverity.Disabled && config.length === 1) {
|
||||
return null;
|
||||
}
|
||||
const [, when] = config;
|
||||
if (typeof level !== 'number' || isNaN(level)) {
|
||||
return new Error(`level for rule ${name} must be number, received ${util_1.default.inspect(level)} of type ${typeof level}`);
|
||||
}
|
||||
if (config.length < 2 || config.length > 3) {
|
||||
return new Error(`config for rule ${name} must be 2 or 3 items long, received ${util_1.default.inspect(config)} of length ${config.length}`);
|
||||
}
|
||||
if (level < 0 || level > 2) {
|
||||
return new RangeError(`level for rule ${name} must be between 0 and 2, received ${util_1.default.inspect(level)}`);
|
||||
}
|
||||
if (typeof when !== 'string') {
|
||||
return new Error(`condition for rule ${name} must be string, received ${util_1.default.inspect(when)} of type ${typeof when}`);
|
||||
}
|
||||
if (when !== 'never' && when !== 'always') {
|
||||
return new Error(`condition for rule ${name} must be "always" or "never", received ${util_1.default.inspect(when)}`);
|
||||
}
|
||||
return null;
|
||||
})
|
||||
.filter((item) => item instanceof Error);
|
||||
if (invalid.length > 0) {
|
||||
throw new Error(invalid.map((i) => i.message).join('\n'));
|
||||
}
|
||||
// Validate against all rules
|
||||
const pendingResults = Object.entries(rulesConfig)
|
||||
// Level 0 rules are ignored
|
||||
.filter(([, config]) => !!config && config.length && config[0] > 0)
|
||||
.map(async (entry) => {
|
||||
const [name, config] = entry;
|
||||
const [level, when, value] = config; //
|
||||
const rule = allRules.get(name);
|
||||
if (!rule) {
|
||||
throw new Error(`Could not find rule implementation for ${name}`);
|
||||
}
|
||||
const executableRule = rule;
|
||||
const [valid, message] = await executableRule(parsed, when, value);
|
||||
return {
|
||||
level,
|
||||
valid,
|
||||
name,
|
||||
message,
|
||||
};
|
||||
});
|
||||
const results = (await Promise.all(pendingResults)).filter((result) => result !== null);
|
||||
const errors = results.filter((result) => result.level === 2 && !result.valid);
|
||||
const warnings = results.filter((result) => result.level === 1 && !result.valid);
|
||||
const valid = errors.length === 0;
|
||||
return {
|
||||
valid,
|
||||
errors,
|
||||
warnings,
|
||||
input: (0, commit_message_1.buildCommitMesage)(parsed),
|
||||
};
|
||||
}
|
||||
exports.default = lint;
|
||||
//# sourceMappingURL=lint.js.map
|
1
node_modules/@commitlint/lint/lib/lint.js.map
generated
vendored
Normal file
1
node_modules/@commitlint/lint/lib/lint.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}
|
Reference in New Issue
Block a user