manifest-helper.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. const fs = require('fs').promises;
  2. const yaml = require('js-yaml');
  3. const { getVersion, isBeta } = require('./version-helper');
  4. async function readManifest() {
  5. const input = await fs.readFile('src/manifest.yml', 'utf8');
  6. const data = yaml.safeLoad(input);
  7. return data;
  8. }
  9. async function buildManifest() {
  10. const data = await readManifest();
  11. data.version = getVersion();
  12. if (process.env.TARGET === 'selfHosted') {
  13. data.browser_specific_settings.gecko.update_url = 'https://raw.githubusercontent.com/violentmonkey/violentmonkey/updates/updates.json';
  14. }
  15. if (isBeta()) {
  16. // Do not support i18n in beta version
  17. data.name = 'Violentmonkey BETA';
  18. }
  19. return data;
  20. }
  21. async function buildUpdatesList(version, url) {
  22. const manifest = await readManifest();
  23. const data = {
  24. addons: {
  25. [manifest.browser_specific_settings.gecko.id]: {
  26. updates: [
  27. {
  28. version,
  29. update_link: url,
  30. },
  31. ],
  32. }
  33. },
  34. };
  35. return data;
  36. }
  37. exports.readManifest = readManifest;
  38. exports.buildManifest = buildManifest;
  39. exports.buildUpdatesList = buildUpdatesList;