Files
redocly-cli/packages/core/src/benchmark/utils.ts
Andrew Tatomyr d0fc69c2bb chore: update eslint to sort out imports (#1655)
* chore: update eslint to sort out imports

* turn warnings into errrors
2024-08-12 15:18:29 +08:00

38 lines
1.1 KiB
TypeScript

import { parseYaml } from '../js-yaml';
import { Source } from '../resolve';
import { StyleguideConfig, mergeExtends, resolvePlugins } from '../config';
import type { Document } from '../resolve';
import type { Oas3RuleSet } from '../oas-types';
import type { RuleConfig, Plugin, ResolvedStyleguideConfig } from '../config/types';
export function parseYamlToDocument(body: string, absoluteRef: string = ''): Document {
return {
source: new Source(absoluteRef, body),
parsed: parseYaml(body, { filename: absoluteRef }),
};
}
export function makeConfigForRuleset(rules: Oas3RuleSet, plugin?: Partial<Plugin>) {
const rulesConf: Record<string, RuleConfig> = {};
const ruleId = 'test';
Object.keys(rules).forEach((name) => {
rulesConf[`${ruleId}/${name}`] = 'error';
});
const extendConfigs = [
resolvePlugins([
{
...plugin,
id: ruleId,
rules: { oas3: rules },
},
]) as ResolvedStyleguideConfig,
];
if (rules) {
extendConfigs.push({ rules });
}
const styleguide = mergeExtends(extendConfigs);
return new StyleguideConfig(styleguide);
}