getSpecs.js 841 B

123456789101112131415161718192021222324
  1. const fetch = require('node-fetch');
  2. const marked = require('../../../');
  3. const htmlDiffer = require('../../helpers/html-differ.js');
  4. const fs = require('fs');
  5. fetch('https://raw.githubusercontent.com/commonmark/commonmark.js/master/package.json')
  6. .then(res => res.json())
  7. .then(pkg => pkg.version.replace(/^(\d+\.\d+).*$/, '$1'))
  8. .then(version =>
  9. fetch(`https://spec.commonmark.org/${version}/spec.json`)
  10. .then(res => res.json())
  11. .then(specs => {
  12. specs.forEach(spec => {
  13. const html = marked(spec.markdown, {headerIds: false});
  14. if (!htmlDiffer.isEqual(html, spec.html)) {
  15. spec.shouldFail = true;
  16. }
  17. });
  18. fs.writeFileSync(`commonmark.${version}.json`, JSON.stringify(specs, null, 2) + '\n');
  19. })
  20. )
  21. .catch((err) => {
  22. console.error(err);
  23. });