vars.mjs 2.4 KB

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