umi-library
Version:
Library toolkit based on rollup and docz.
48 lines (44 loc) • 959 B
text/typescript
import AJV from 'ajv';
import schema from './schema';
const ajv = new AJV();
const successValidates = {
entry: ['a', ['a']],
file: ['a'],
esm: [
false,
true,
{ type: 'rollup' },
{ type: 'babel' },
{ file: 'a' },
{ mjs: true },
],
cjs: [false, true, { type: 'rollup' }, { type: 'babel' }, { file: 'a' }],
umd: [
{ globals: {} },
{ file: 'a' },
{ name: 'a' },
{ minFile: false },
{ minFile: true },
],
extraBabelPlugins: [[]],
extraBabelPresets: [[]],
extraPostCSSPlugins: [[]],
cssModules: [true, false, {}],
autoprefixer: [{}],
namedExports: [{}],
runtimeHelpers: [true, false],
target: ['node', 'browser'],
overridesByEntry: [{}],
doc: [{}],
};
Object.keys(successValidates).forEach(key => {
test(key, () => {
successValidates[key].forEach(item => {
expect(
ajv.validate(schema, {
[key]: item,
}),
).toEqual(true);
});
});
});