wekan/packages/markdown/marked/test/specs/commonmark/getSpecs.js

25 lines
841 B
JavaScript
Raw Normal View History

const fetch = require('node-fetch');
const marked = require('../../../');
const htmlDiffer = require('../../helpers/html-differ.js');
const fs = require('fs');
fetch('https://raw.githubusercontent.com/commonmark/commonmark.js/master/package.json')
.then(res => res.json())
.then(pkg => pkg.version.replace(/^(\d+\.\d+).*$/, '$1'))
.then(version =>
fetch(`https://spec.commonmark.org/${version}/spec.json`)
.then(res => res.json())
.then(specs => {
specs.forEach(spec => {
const html = marked(spec.markdown, {headerIds: false});
if (!htmlDiffer.isEqual(html, spec.html)) {
spec.shouldFail = true;
}
});
fs.writeFileSync(`commonmark.${version}.json`, JSON.stringify(specs, null, 2) + '\n');
})
)
.catch((err) => {
console.error(err);
});