persona-community-5/.pnpm-store/v3/files/18/6da68c1b16b2a11bea21fdf951c9fc56c89bbfd4a3cfd307e89ab45895075caa4a715cd7ed8042466525e8c4eae62e3a95d1eecc50ceea1e8bf78c9c4c32d1
rdev-worker a1d0d1bf1c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /implement-feature community-ui --requirements 'Build the React commu...
2026-02-24 08:22:30 +00:00

38 lines
1.1 KiB
Plaintext

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 async 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 = [
(await resolvePlugins([
{
...plugin,
id: ruleId,
rules: { oas3: rules },
},
])) as ResolvedStyleguideConfig,
];
if (rules) {
extendConfigs.push({ rules });
}
const styleguide = mergeExtends(extendConfigs);
return new StyleguideConfig(styleguide);
}