vars.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. const path = require('path')
  2. const fs = require('fs')
  3. const semver = require('semver')
  4. const childProcess = require('child_process')
  5. const electronInfo = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../node_modules/electron/package.json')))
  6. exports.version = childProcess.execSync('git describe --tags', { encoding:'utf-8' })
  7. exports.version = exports.version.substring(1).trim()
  8. exports.version = exports.version.replace('-', '-c')
  9. if (exports.version.includes('-c')) {
  10. exports.version = semver.inc(exports.version, 'prepatch').replace('-0', `-nightly.${process.env.REV ?? 0}`)
  11. }
  12. exports.builtinPlugins = [
  13. 'tabby-core',
  14. 'tabby-settings',
  15. 'tabby-terminal',
  16. 'tabby-web',
  17. 'tabby-community-color-schemes',
  18. 'tabby-ssh',
  19. 'tabby-serial',
  20. 'tabby-telnet',
  21. 'tabby-electron',
  22. 'tabby-local',
  23. 'tabby-plugin-manager',
  24. 'tabby-linkifier',
  25. ]
  26. exports.packagesWithDocs = [
  27. ['.', 'tabby-core'],
  28. ['terminal', 'tabby-terminal'],
  29. ['local', 'tabby-local'],
  30. ['settings', 'tabby-settings'],
  31. ]
  32. exports.allPackages = [
  33. ...exports.builtinPlugins,
  34. 'web',
  35. 'tabby-web-demo',
  36. ]
  37. exports.bundledModules = [
  38. '@angular',
  39. '@ng-bootstrap',
  40. ]
  41. exports.electronVersion = electronInfo.version
  42. exports.keygenConfig = {
  43. provider: 'keygen',
  44. account: 'a06315f2-1031-47c6-9181-e92a20ec815e',
  45. channel: 'stable',
  46. product: {
  47. win32: {
  48. x64: 'f481b9d6-d5da-4970-b926-f515373e986f',
  49. arm64: '950999b9-371c-419b-b291-938c5e4d364c',
  50. }[process.env.ARCH ?? process.arch],
  51. darwin: {
  52. arm64: '98fbadee-c707-4cd6-9d99-56683595a846',
  53. x86_64: 'f5a48841-d5b8-4b7b-aaa7-cf5bffd36461',
  54. x64: 'f5a48841-d5b8-4b7b-aaa7-cf5bffd36461',
  55. }[process.env.ARCH ?? process.arch],
  56. linux: {
  57. x64: '7bf45071-3031-4a26-9f2e-72604308313e',
  58. arm64: '39e3c736-d4d4-4fbf-a201-324b7bab0d17',
  59. armv7l: '50ae0a82-7f47-4fa4-b0a8-b0d575ce9409',
  60. }[process.env.ARCH ?? process.arch],
  61. }[process.platform],
  62. }
  63. if (!exports.keygenConfig.product) {
  64. throw new Error(`Unrecognized platform ${process.platform}/${process.env.ARCH ?? process.arch}`)
  65. }