app-builder-lib 26.10.0 → 26.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/out/ProtonFramework.d.ts +1 -1
  2. package/out/ProtonFramework.js +2 -2
  3. package/out/ProtonFramework.js.map +1 -1
  4. package/out/configuration.d.ts +95 -65
  5. package/out/configuration.js.map +1 -1
  6. package/out/core.d.ts +2 -2
  7. package/out/core.js.map +1 -1
  8. package/out/electron/ElectronFramework.js +6 -3
  9. package/out/electron/ElectronFramework.js.map +1 -1
  10. package/out/frameworks/LibUiFramework.d.ts +3 -2
  11. package/out/frameworks/LibUiFramework.js +5 -2
  12. package/out/frameworks/LibUiFramework.js.map +1 -1
  13. package/out/index.d.ts +1 -1
  14. package/out/index.js.map +1 -1
  15. package/out/macPackager.js +12 -0
  16. package/out/macPackager.js.map +1 -1
  17. package/out/node-module-collector/moduleManager.d.ts +7 -1
  18. package/out/node-module-collector/moduleManager.js +9 -2
  19. package/out/node-module-collector/moduleManager.js.map +1 -1
  20. package/out/node-module-collector/nodeModulesCollector.js +3 -2
  21. package/out/node-module-collector/nodeModulesCollector.js.map +1 -1
  22. package/out/node-module-collector/pnpmNodeModulesCollector.d.ts +13 -0
  23. package/out/node-module-collector/pnpmNodeModulesCollector.js +54 -12
  24. package/out/node-module-collector/pnpmNodeModulesCollector.js.map +1 -1
  25. package/out/options/AppXOptions.d.ts +1 -1
  26. package/out/options/AppXOptions.js.map +1 -1
  27. package/out/options/PlatformSpecificBuildOptions.d.ts +31 -11
  28. package/out/options/PlatformSpecificBuildOptions.js.map +1 -1
  29. package/out/options/SnapOptions.d.ts +1 -1
  30. package/out/options/SnapOptions.js.map +1 -1
  31. package/out/options/linuxOptions.d.ts +38 -12
  32. package/out/options/linuxOptions.js.map +1 -1
  33. package/out/options/macOptions.d.ts +10 -7
  34. package/out/options/macOptions.js.map +1 -1
  35. package/out/options/metadata.d.ts +1 -2
  36. package/out/options/metadata.js.map +1 -1
  37. package/out/options/pkgOptions.d.ts +1 -1
  38. package/out/options/pkgOptions.js.map +1 -1
  39. package/out/options/winOptions.d.ts +15 -5
  40. package/out/options/winOptions.js.map +1 -1
  41. package/out/packager.js +2 -3
  42. package/out/packager.js.map +1 -1
  43. package/out/platformPackager.js +1 -1
  44. package/out/platformPackager.js.map +1 -1
  45. package/out/targets/FpmTarget.js +3 -2
  46. package/out/targets/FpmTarget.js.map +1 -1
  47. package/out/targets/LinuxTargetHelper.d.ts +4 -4
  48. package/out/targets/LinuxTargetHelper.js.map +1 -1
  49. package/out/targets/appimage/AppImageTarget.d.ts +1 -0
  50. package/out/targets/appimage/AppImageTarget.js +30 -10
  51. package/out/targets/appimage/AppImageTarget.js.map +1 -1
  52. package/out/targets/appimage/appImageUtil.d.ts +10 -2
  53. package/out/targets/appimage/appImageUtil.js +2 -5
  54. package/out/targets/appimage/appImageUtil.js.map +1 -1
  55. package/out/targets/archive.js +20 -6
  56. package/out/targets/archive.js.map +1 -1
  57. package/out/targets/nsis/NsisTarget.js +11 -11
  58. package/out/targets/nsis/NsisTarget.js.map +1 -1
  59. package/out/targets/nsis/nsisOptions.d.ts +20 -16
  60. package/out/targets/nsis/nsisOptions.js.map +1 -1
  61. package/out/targets/nsis/nsisScriptGenerator.d.ts +1 -0
  62. package/out/targets/nsis/nsisScriptGenerator.js +14 -1
  63. package/out/targets/nsis/nsisScriptGenerator.js.map +1 -1
  64. package/out/targets/nsis/nsisUtil.js +2 -1
  65. package/out/targets/nsis/nsisUtil.js.map +1 -1
  66. package/out/util/appBuilder.js +1 -1
  67. package/out/util/appBuilder.js.map +1 -1
  68. package/out/util/cacheState.d.ts +28 -0
  69. package/out/util/cacheState.js +143 -0
  70. package/out/util/cacheState.js.map +1 -0
  71. package/out/util/electronGet.d.ts +1 -1
  72. package/out/util/electronGet.js +81 -23
  73. package/out/util/electronGet.js.map +1 -1
  74. package/out/util/macroExpander.js +3 -0
  75. package/out/util/macroExpander.js.map +1 -1
  76. package/out/util/resEdit.d.ts +10 -0
  77. package/out/util/resEdit.js +48 -0
  78. package/out/util/resEdit.js.map +1 -0
  79. package/out/util/resolve.js +11 -1
  80. package/out/util/resolve.js.map +1 -1
  81. package/out/version.d.ts +1 -1
  82. package/out/version.js +1 -1
  83. package/out/version.js.map +1 -1
  84. package/out/vm/ParallelsVm.d.ts +16 -0
  85. package/out/vm/ParallelsVm.js +0 -1
  86. package/out/vm/ParallelsVm.js.map +1 -1
  87. package/out/winPackager.js +44 -42
  88. package/out/winPackager.js.map +1 -1
  89. package/package.json +8 -8
  90. package/scheme.json +611 -133
package/scheme.json CHANGED
@@ -40,7 +40,7 @@
40
40
  "additionalProperties": false,
41
41
  "properties": {
42
42
  "artifactName": {
43
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
43
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
44
44
  "type": [
45
45
  "null",
46
46
  "string"
@@ -53,8 +53,24 @@
53
53
  "string"
54
54
  ]
55
55
  },
56
+ "compression": {
57
+ "anyOf": [
58
+ {
59
+ "enum": [
60
+ "gzip",
61
+ "xz",
62
+ "zstd"
63
+ ],
64
+ "type": "string"
65
+ },
66
+ {
67
+ "type": "null"
68
+ }
69
+ ],
70
+ "description": "The compression algorithm passed to the AppImage build tool.\n\n**FUSE2 toolset (`\"0.0.0\"` or unset):** `\"xz\"` is forwarded as `--compression xz`.\n`\"gzip\"`, `\"zstd\"`, `null`, and unset all fall through to the root-level `compression` option:\n- `\"maximum\"` → `--compression xz` (overrides any per-target gzip/zstd value)\n- anything else → flag omitted (mksquashfs defaults to gzip)\n\n**Static-runtime toolsets (`>= 1.0.0`):** `\"gzip\"` and `\"zstd\"` are forwarded\ndirectly. `\"xz\"` is mapped to `\"zstd\"` (nearest supported equivalent). `null`\nor unset falls through to the root-level `compression` option:\n- `\"store\"` → `\"gzip\"`\n- `\"normal\"` / `\"maximum\"` / unset → `\"zstd\"`"
71
+ },
56
72
  "description": {
57
- "description": "As [description](./configuration.md#description) from application package.json, but allows you to specify different for Linux.",
73
+ "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
58
74
  "type": [
59
75
  "null",
60
76
  "string"
@@ -171,7 +187,7 @@
171
187
  "type": "string"
172
188
  },
173
189
  "artifactName": {
174
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
190
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
175
191
  "type": [
176
192
  "null",
177
193
  "string"
@@ -219,7 +235,7 @@
219
235
  "type": "boolean"
220
236
  },
221
237
  "identityName": {
222
- "description": "The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](./configuration.md#metadata).",
238
+ "description": "The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](https://www.electron.build/configuration#metadata).",
223
239
  "type": [
224
240
  "null",
225
241
  "string"
@@ -355,6 +371,7 @@
355
371
  "additionalProperties": false,
356
372
  "properties": {
357
373
  "ordering": {
374
+ "description": "Path to a file containing the order in which files should be packed into the asar archive.\nEach line of the file is a relative path from the app directory. Files listed first are\npacked first, which can improve app startup time by front-loading frequently accessed modules.\nSee the [asar documentation](https://github.com/electron/asar) for details.",
358
375
  "type": [
359
376
  "null",
360
377
  "string"
@@ -604,7 +621,7 @@
604
621
  ]
605
622
  },
606
623
  "artifactName": {
607
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
624
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
608
625
  "type": [
609
626
  "null",
610
627
  "string"
@@ -623,8 +640,8 @@
623
640
  "enum": [
624
641
  "bzip2",
625
642
  "gz",
626
- "lzo",
627
- "xz"
643
+ "xz",
644
+ "zst"
628
645
  ],
629
646
  "type": "string"
630
647
  },
@@ -633,7 +650,7 @@
633
650
  }
634
651
  ],
635
652
  "default": "xz",
636
- "description": "The compression type."
653
+ "description": "The compression type passed to fpm. For `deb`, `rpm`, and `pacman` targets prefer the\ntyped per-format interfaces (`DebOptions`, `RpmOptions`, `PacmanOptions`) which narrow\nthis to only the values that fpm actually accepts for that format."
637
654
  },
638
655
  "depends": {
639
656
  "anyOf": [
@@ -661,7 +678,7 @@
661
678
  "description": "Package dependencies.\nIf need to support Debian, `libappindicator1` should be removed, it is [deprecated in Debian](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895037).\nIf need to support KDE, `gconf2` and `gconf-service` should be removed as it's no longer used [by GNOME](https://packages.debian.org/bullseye/gconf2)."
662
679
  },
663
680
  "description": {
664
- "description": "As [description](./configuration.md#description) from application package.json, but allows you to specify different for Linux.",
681
+ "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
665
682
  "type": [
666
683
  "null",
667
684
  "string"
@@ -864,7 +881,7 @@
864
881
  "additionalProperties": false,
865
882
  "properties": {
866
883
  "artifactName": {
867
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
884
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
868
885
  "type": [
869
886
  "null",
870
887
  "string"
@@ -878,14 +895,15 @@
878
895
  ]
879
896
  },
880
897
  "backgroundColor": {
881
- "description": "The background color (accepts css colors). Defaults to `#ffffff` (white) if no background image.",
898
+ "default": "#ffffff",
899
+ "description": "The background color (accepts css colors). Used when no background image is set.",
882
900
  "type": [
883
901
  "null",
884
902
  "string"
885
903
  ]
886
904
  },
887
905
  "badgeIcon": {
888
- "description": "The path to DMG icon (badge icon), which will be shown when mounted, relative to the [build resources](./contents.md#extraresources) or to the project directory.",
906
+ "description": "The path to DMG icon (badge icon), which will be shown when mounted, relative to the [build resources](https://www.electron.build/contents#extraresources) or to the project directory.",
889
907
  "type": [
890
908
  "null",
891
909
  "string"
@@ -912,7 +930,7 @@
912
930
  "type": "string"
913
931
  },
914
932
  "icon": {
915
- "description": "The path to DMG icon (volume icon), which will be shown when mounted, relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to the application icon (`build/icon.icns`).",
933
+ "description": "The path to DMG icon (volume icon), which will be shown when mounted, relative to the [build resources](https://www.electron.build/contents#extraresources) or to the project directory.\nDefaults to the application icon (`build/icon.icns`).",
916
934
  "type": [
917
935
  "null",
918
936
  "string"
@@ -1232,10 +1250,10 @@
1232
1250
  "type": "string"
1233
1251
  }
1234
1252
  ],
1235
- "description": "The [glob patterns](./file-patterns.md). Defaults to \"**\\/*\""
1253
+ "description": "The [glob patterns](https://www.electron.build/file-patterns). Defaults to \"**\\/*\""
1236
1254
  },
1237
1255
  "from": {
1238
- "description": "The source path relative to and defaults to:\n\n - the [app directory](configuration.md#directories) for `files`,\n - the project directory for `extraResources` and `extraFiles`.\nIf you don't use two-package.json structure and don't set custom app directory, app directory equals to project directory.",
1256
+ "description": "The source path relative to and defaults to:\n\n - the [app directory](https://www.electron.build/configuration#directories) for `files`,\n - the project directory for `extraResources` and `extraFiles`.\nIf you don't use two-package.json structure and don't set custom app directory, app directory equals to project directory.",
1239
1257
  "type": "string"
1240
1258
  },
1241
1259
  "to": {
@@ -1249,7 +1267,7 @@
1249
1267
  "additionalProperties": false,
1250
1268
  "properties": {
1251
1269
  "artifactName": {
1252
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
1270
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
1253
1271
  "type": [
1254
1272
  "null",
1255
1273
  "string"
@@ -1275,7 +1293,7 @@
1275
1293
  ]
1276
1294
  },
1277
1295
  "description": {
1278
- "description": "As [description](./configuration.md#description) from application package.json, but allows you to specify different for Linux.",
1296
+ "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
1279
1297
  "type": [
1280
1298
  "null",
1281
1299
  "string"
@@ -1487,7 +1505,7 @@
1487
1505
  },
1488
1506
  "GenericServerOptions": {
1489
1507
  "additionalProperties": false,
1490
- "description": "Generic (any HTTP(S) server) options.\nIn all publish options [File Macros](./file-patterns.md#file-macros) are supported.",
1508
+ "description": "Generic (any HTTP(S) server) options.\nIn all publish options [File Macros](https://www.electron.build/file-patterns#file-macros) are supported.",
1491
1509
  "properties": {
1492
1510
  "channel": {
1493
1511
  "default": "latest",
@@ -1581,7 +1599,7 @@
1581
1599
  ]
1582
1600
  },
1583
1601
  "private": {
1584
- "description": "Whether to use private github auto-update provider if `GH_TOKEN` environment variable is defined. See [Private GitHub Update Repo](./auto-update.md#private-github-update-repo).",
1602
+ "description": "Whether to use private github auto-update provider if `GH_TOKEN` environment variable is defined. See [Private GitHub Update Repo](https://www.electron.build/auto-update#private-github-update-repo).",
1585
1603
  "type": [
1586
1604
  "null",
1587
1605
  "boolean"
@@ -1667,7 +1685,7 @@
1667
1685
  ]
1668
1686
  },
1669
1687
  "token": {
1670
- "description": "The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for [setFeedURL](./auto-update.md#appupdatersetfeedurloptions).",
1688
+ "description": "The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for [setFeedURL](https://www.electron.build/auto-update#appupdatersetfeedurloptions).",
1671
1689
  "type": [
1672
1690
  "null",
1673
1691
  "string"
@@ -1897,7 +1915,7 @@
1897
1915
  ]
1898
1916
  },
1899
1917
  "artifactName": {
1900
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
1918
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
1901
1919
  "type": [
1902
1920
  "null",
1903
1921
  "string"
@@ -1933,7 +1951,7 @@
1933
1951
  ]
1934
1952
  }
1935
1953
  ],
1936
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
1954
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
1937
1955
  },
1938
1956
  "category": {
1939
1957
  "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
@@ -1972,10 +1990,11 @@
1972
1990
  ]
1973
1991
  },
1974
1992
  "defaultArch": {
1993
+ "description": "The default architecture to build for when no `--arch` flag is specified.\nDefaults to the current machine's architecture.",
1975
1994
  "type": "string"
1976
1995
  },
1977
1996
  "description": {
1978
- "description": "As [description](./configuration.md#description) from application package.json, but allows you to specify different for Linux.",
1997
+ "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
1979
1998
  "type": [
1980
1999
  "null",
1981
2000
  "string"
@@ -2020,7 +2039,7 @@
2020
2039
  "description": "The electron locales to keep. By default, all Electron locales used as-is."
2021
2040
  },
2022
2041
  "electronUpdaterCompatibility": {
2023
- "description": "The [electron-updater compatibility](./auto-update.md#compatibility) semver range.",
2042
+ "description": "The [electron-updater compatibility](https://www.electron.build/auto-update#compatibility) semver range.",
2024
2043
  "type": [
2025
2044
  "null",
2026
2045
  "string"
@@ -2099,7 +2118,7 @@
2099
2118
  ]
2100
2119
  }
2101
2120
  ],
2102
- "description": "A [glob patterns](./file-patterns.md) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
2121
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
2103
2122
  },
2104
2123
  "fileAssociations": {
2105
2124
  "anyOf": [
@@ -2140,9 +2159,10 @@
2140
2159
  ]
2141
2160
  }
2142
2161
  ],
2143
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](configuration.md#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](mac.md)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](./file-patterns.md#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
2162
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](https://www.electron.build/configuration#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](https://www.electron.build/mac)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](https://www.electron.build/file-patterns#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
2144
2163
  },
2145
2164
  "forceCodeSigning": {
2165
+ "default": false,
2146
2166
  "description": "Whether to fail if app will be not code signed.",
2147
2167
  "type": "boolean"
2148
2168
  },
@@ -2152,11 +2172,11 @@
2152
2172
  "type": "boolean"
2153
2173
  },
2154
2174
  "icon": {
2155
- "description": "The path to icon set directory or one png file, relative to the [build resources](./contents.md#extraresources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.\nBy default will be generated automatically based on the macOS icns file.",
2175
+ "description": "The path to icon set directory or one png file, relative to the [build resources](https://www.electron.build/contents#extraresources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.\nBy default will be generated automatically based on the macOS icns file.",
2156
2176
  "type": "string"
2157
2177
  },
2158
2178
  "maintainer": {
2159
- "description": "The maintainer. Defaults to [author](./configuration.md#author).",
2179
+ "description": "The maintainer. Defaults to [author](https://www.electron.build/configuration#author).",
2160
2180
  "type": [
2161
2181
  "null",
2162
2182
  "string"
@@ -2177,7 +2197,6 @@
2177
2197
  "description": "The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing."
2178
2198
  },
2179
2199
  "packageCategory": {
2180
- "description": "backward compatibility + to allow specify fpm-only category for all possible fpm targets in one place",
2181
2200
  "type": [
2182
2201
  "null",
2183
2202
  "string"
@@ -2239,7 +2258,7 @@
2239
2258
  ]
2240
2259
  }
2241
2260
  ],
2242
- "description": "Publisher configuration. See [Auto Update](./publish.md) for more information."
2261
+ "description": "Publisher configuration. See [Auto Update](https://www.electron.build/publish) for more information."
2243
2262
  },
2244
2263
  "releaseInfo": {
2245
2264
  "$ref": "#/definitions/ReleaseInfo",
@@ -2278,10 +2297,10 @@
2278
2297
  }
2279
2298
  ],
2280
2299
  "default": "AppImage",
2281
- "description": "Target package type: list of `AppImage`, `flatpak`, `snap`, `deb`, `rpm`, `freebsd`, `pacman`, `p5p`, `apk`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.\n\nelectron-builder [docker image](./multi-platform-build.md#docker) can be used to build Linux targets on any platform.\n\nPlease [do not put an AppImage into another archive](https://github.com/probonopd/AppImageKit/wiki/Creating-AppImages#common-mistake) like a .zip or .tar.gz."
2300
+ "description": "Target package type: list of `AppImage`, `flatpak`, `snap`, `deb`, `rpm`, `freebsd`, `pacman`, `p5p`, `apk`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.\n\nelectron-builder [docker image](https://www.electron.build/multi-platform-build#docker) can be used to build Linux targets on any platform.\n\nPlease [do not put an AppImage into another archive](https://github.com/probonopd/AppImageKit/wiki/Creating-AppImages#common-mistake) like a .zip or .tar.gz."
2282
2301
  },
2283
2302
  "vendor": {
2284
- "description": "The vendor. Defaults to [author](./configuration.md#author).",
2303
+ "description": "The vendor. Defaults to [author](https://www.electron.build/configuration#author).",
2285
2304
  "type": [
2286
2305
  "null",
2287
2306
  "string"
@@ -2344,7 +2363,7 @@
2344
2363
  ]
2345
2364
  },
2346
2365
  "artifactName": {
2347
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
2366
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
2348
2367
  "type": [
2349
2368
  "null",
2350
2369
  "string"
@@ -2363,8 +2382,11 @@
2363
2382
  "enum": [
2364
2383
  "bzip2",
2365
2384
  "gz",
2366
- "lzo",
2367
- "xz"
2385
+ "gzip",
2386
+ "xz",
2387
+ "xzmt",
2388
+ "zst",
2389
+ "zstd"
2368
2390
  ],
2369
2391
  "type": "string"
2370
2392
  },
@@ -2373,7 +2395,7 @@
2373
2395
  }
2374
2396
  ],
2375
2397
  "default": "xz",
2376
- "description": "The compression type."
2398
+ "description": "The compression type passed to fpm. For `deb`, `rpm`, and `pacman` targets prefer the\ntyped per-format interfaces (`DebOptions`, `RpmOptions`, `PacmanOptions`) which narrow\nthis to only the values that fpm actually accepts for that format."
2377
2399
  },
2378
2400
  "depends": {
2379
2401
  "anyOf": [
@@ -2390,7 +2412,7 @@
2390
2412
  "description": "Package dependencies.\n`rpm` defaults to `[\"gtk3\", \"libnotify\", \"nss\", \"libXScrnSaver\", \"(libXtst or libXtst6)\", \"xdg-utils\", \"at-spi2-core\", \"(libuuid or libuuid1)\"]`\n`pacman` defaults to `[\"c-ares\", \"ffmpeg\", \"gtk3\", \"http-parser\", \"libevent\", \"libvpx\", \"libxslt\", \"libxss\", \"minizip\", \"nss\", \"re2\", \"snappy\", \"libnotify\", \"libappindicator-gtk3\"]`"
2391
2413
  },
2392
2414
  "description": {
2393
- "description": "As [description](./configuration.md#description) from application package.json, but allows you to specify different for Linux.",
2415
+ "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
2394
2416
  "type": [
2395
2417
  "null",
2396
2418
  "string"
@@ -2557,7 +2579,7 @@
2557
2579
  ]
2558
2580
  },
2559
2581
  "artifactName": {
2560
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
2582
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
2561
2583
  "type": [
2562
2584
  "null",
2563
2585
  "string"
@@ -2593,7 +2615,7 @@
2593
2615
  ]
2594
2616
  }
2595
2617
  ],
2596
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
2618
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
2597
2619
  },
2598
2620
  "binaries": {
2599
2621
  "anyOf": [
@@ -2677,6 +2699,7 @@
2677
2699
  "type": "boolean"
2678
2700
  },
2679
2701
  "defaultArch": {
2702
+ "description": "The default architecture to build for when no `--arch` flag is specified.\nDefaults to the current machine's architecture.",
2680
2703
  "type": "string"
2681
2704
  },
2682
2705
  "detectUpdateChannel": {
@@ -2707,14 +2730,14 @@
2707
2730
  "description": "The electron locales to keep. By default, all Electron locales used as-is."
2708
2731
  },
2709
2732
  "electronUpdaterCompatibility": {
2710
- "description": "The [electron-updater compatibility](./auto-update.md#compatibility) semver range.",
2733
+ "description": "The [electron-updater compatibility](https://www.electron.build/auto-update#compatibility) semver range.",
2711
2734
  "type": [
2712
2735
  "null",
2713
2736
  "string"
2714
2737
  ]
2715
2738
  },
2716
2739
  "entitlements": {
2717
- "description": "The path to entitlements file for signing the app. `build/entitlements.mac.plist` will be used if exists (it is a recommended way to set).\nMAS entitlements is specified in the [mas](./mas.md).\nSee [this folder in osx-sign's repository](https://github.com/electron/osx-sign/tree/main/entitlements) for examples.\nBe aware that your app may crash if the right entitlements are not set like `com.apple.security.cs.allow-jit` for example on arm64 builds with Electron 20+.\nSee [Signing and Notarizing macOS Builds from the Electron documentation](https://www.electronjs.org/docs/latest/tutorial/code-signing#signing--notarizing-macos-builds) for more information.",
2740
+ "description": "The path to entitlements file for signing the app. `build/entitlements.mac.plist` will be used if exists (it is a recommended way to set).\nMAS entitlements is specified in the [mas](https://www.electron.build/mas).\nSee [this folder in osx-sign's repository](https://github.com/electron/osx-sign/tree/main/entitlements) for examples.\nBe aware that your app may crash if the right entitlements are not set like `com.apple.security.cs.allow-jit` for example on arm64 builds with Electron 20+.\nSee [Signing and Notarizing macOS Builds from the Electron documentation](https://www.electronjs.org/docs/latest/tutorial/code-signing#signing--notarizing-macos-builds) for more information.",
2718
2741
  "type": [
2719
2742
  "null",
2720
2743
  "string"
@@ -2813,7 +2836,7 @@
2813
2836
  ]
2814
2837
  }
2815
2838
  ],
2816
- "description": "A [glob patterns](./file-patterns.md) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
2839
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
2817
2840
  },
2818
2841
  "fileAssociations": {
2819
2842
  "anyOf": [
@@ -2854,9 +2877,10 @@
2854
2877
  ]
2855
2878
  }
2856
2879
  ],
2857
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](configuration.md#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](mac.md)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](./file-patterns.md#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
2880
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](https://www.electron.build/configuration#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](https://www.electron.build/mac)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](https://www.electron.build/file-patterns#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
2858
2881
  },
2859
2882
  "forceCodeSigning": {
2883
+ "default": false,
2860
2884
  "description": "Whether to fail if app will be not code signed.",
2861
2885
  "type": "boolean"
2862
2886
  },
@@ -2932,7 +2956,7 @@
2932
2956
  ]
2933
2957
  },
2934
2958
  "identity": {
2935
- "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](./code-signing.md) instead of specifying this option.\nMAS installer identity is specified in the [mas](./mas.md).\n\nSet to `-` to use an ad-hoc identity for signing. Set to `null` to skip signing entirely.",
2959
+ "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](https://www.electron.build/code-signing) instead of specifying this option.\nMAS installer identity is specified in the [mas](https://www.electron.build/mas).\n\nSet to `-` to use an ad-hoc identity for signing. Set to `null` to skip signing entirely.",
2936
2960
  "type": [
2937
2961
  "null",
2938
2962
  "string"
@@ -3022,7 +3046,7 @@
3022
3046
  ]
3023
3047
  }
3024
3048
  ],
3025
- "description": "Publisher configuration. See [Auto Update](./publish.md) for more information."
3049
+ "description": "Publisher configuration. See [Auto Update](https://www.electron.build/publish) for more information."
3026
3050
  },
3027
3051
  "releaseInfo": {
3028
3052
  "$ref": "#/definitions/ReleaseInfo",
@@ -3131,7 +3155,8 @@
3131
3155
  "type": "null"
3132
3156
  }
3133
3157
  ],
3134
- "description": "The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`. Defaults to `default` (`dmg` and `zip` for Squirrel.Mac). Note: Squirrel.Mac auto update mechanism requires both `dmg` and `zip` to be enabled, even when only `dmg` is used. Disabling `zip` will break auto update in `dmg` packages."
3158
+ "default": "default (dmg and zip for Squirrel.Mac)",
3159
+ "description": "The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.\nNote: Squirrel.Mac auto update mechanism requires both `dmg` and `zip` to be enabled, even when only `dmg` is used. Disabling `zip` will break auto update in `dmg` packages."
3135
3160
  },
3136
3161
  "timestamp": {
3137
3162
  "description": "Specify the URL of the timestamp authority server",
@@ -3192,7 +3217,7 @@
3192
3217
  ]
3193
3218
  },
3194
3219
  "artifactName": {
3195
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
3220
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
3196
3221
  "type": [
3197
3222
  "null",
3198
3223
  "string"
@@ -3228,7 +3253,7 @@
3228
3253
  ]
3229
3254
  }
3230
3255
  ],
3231
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
3256
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
3232
3257
  },
3233
3258
  "binaries": {
3234
3259
  "anyOf": [
@@ -3312,6 +3337,7 @@
3312
3337
  "type": "boolean"
3313
3338
  },
3314
3339
  "defaultArch": {
3340
+ "description": "The default architecture to build for when no `--arch` flag is specified.\nDefaults to the current machine's architecture.",
3315
3341
  "type": "string"
3316
3342
  },
3317
3343
  "detectUpdateChannel": {
@@ -3342,7 +3368,7 @@
3342
3368
  "description": "The electron locales to keep. By default, all Electron locales used as-is."
3343
3369
  },
3344
3370
  "electronUpdaterCompatibility": {
3345
- "description": "The [electron-updater compatibility](./auto-update.md#compatibility) semver range.",
3371
+ "description": "The [electron-updater compatibility](https://www.electron.build/auto-update#compatibility) semver range.",
3346
3372
  "type": [
3347
3373
  "null",
3348
3374
  "string"
@@ -3448,7 +3474,7 @@
3448
3474
  ]
3449
3475
  }
3450
3476
  ],
3451
- "description": "A [glob patterns](./file-patterns.md) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
3477
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
3452
3478
  },
3453
3479
  "fileAssociations": {
3454
3480
  "anyOf": [
@@ -3489,9 +3515,10 @@
3489
3515
  ]
3490
3516
  }
3491
3517
  ],
3492
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](configuration.md#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](mac.md)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](./file-patterns.md#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
3518
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](https://www.electron.build/configuration#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](https://www.electron.build/mac)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](https://www.electron.build/file-patterns#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
3493
3519
  },
3494
3520
  "forceCodeSigning": {
3521
+ "default": false,
3495
3522
  "description": "Whether to fail if app will be not code signed.",
3496
3523
  "type": "boolean"
3497
3524
  },
@@ -3567,7 +3594,7 @@
3567
3594
  ]
3568
3595
  },
3569
3596
  "identity": {
3570
- "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](./code-signing.md) instead of specifying this option.\nMAS installer identity is specified in the [mas](./mas.md).\n\nSet to `-` to use an ad-hoc identity for signing. Set to `null` to skip signing entirely.",
3597
+ "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](https://www.electron.build/code-signing) instead of specifying this option.\nMAS installer identity is specified in the [mas](https://www.electron.build/mas).\n\nSet to `-` to use an ad-hoc identity for signing. Set to `null` to skip signing entirely.",
3571
3598
  "type": [
3572
3599
  "null",
3573
3600
  "string"
@@ -3657,7 +3684,7 @@
3657
3684
  ]
3658
3685
  }
3659
3686
  ],
3660
- "description": "Publisher configuration. See [Auto Update](./publish.md) for more information."
3687
+ "description": "Publisher configuration. See [Auto Update](https://www.electron.build/publish) for more information."
3661
3688
  },
3662
3689
  "releaseInfo": {
3663
3690
  "$ref": "#/definitions/ReleaseInfo",
@@ -3766,7 +3793,8 @@
3766
3793
  "type": "null"
3767
3794
  }
3768
3795
  ],
3769
- "description": "The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`. Defaults to `default` (`dmg` and `zip` for Squirrel.Mac). Note: Squirrel.Mac auto update mechanism requires both `dmg` and `zip` to be enabled, even when only `dmg` is used. Disabling `zip` will break auto update in `dmg` packages."
3796
+ "default": "default (dmg and zip for Squirrel.Mac)",
3797
+ "description": "The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.\nNote: Squirrel.Mac auto update mechanism requires both `dmg` and `zip` to be enabled, even when only `dmg` is used. Disabling `zip` will break auto update in `dmg` packages."
3770
3798
  },
3771
3799
  "timestamp": {
3772
3800
  "description": "Specify the URL of the timestamp authority server",
@@ -3821,7 +3849,7 @@
3821
3849
  },
3822
3850
  "output": {
3823
3851
  "default": "dist",
3824
- "description": "The output directory. [File macros](./file-patterns.md#file-macros) are supported.",
3852
+ "description": "The output directory. [File macros](https://www.electron.build/file-patterns#file-macros) are supported.",
3825
3853
  "type": [
3826
3854
  "null",
3827
3855
  "string"
@@ -3862,7 +3890,7 @@
3862
3890
  "description": "Any additional arguments to be passed to the WiX installer compiler, such as `[\"-ext\", \"WixUtilExtension\"]`"
3863
3891
  },
3864
3892
  "artifactName": {
3865
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
3893
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
3866
3894
  "type": [
3867
3895
  "null",
3868
3896
  "string"
@@ -3988,7 +4016,7 @@
3988
4016
  "description": "Any additional arguments to be passed to the WiX installer compiler, such as `[\"-ext\", \"WixUtilExtension\"]`"
3989
4017
  },
3990
4018
  "artifactName": {
3991
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
4019
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
3992
4020
  "type": [
3993
4021
  "null",
3994
4022
  "string"
@@ -4120,7 +4148,7 @@
4120
4148
  "type": "boolean"
4121
4149
  },
4122
4150
  "artifactName": {
4123
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template). Defaults to `${productName} Setup ${version}.${ext}`.",
4151
+ "description": "The [artifact file name template](https://www.electron.build/docs/configuration#artifact-file-name-template). Defaults to `${productName} Setup ${version}.${ext}`.",
4124
4152
  "type": [
4125
4153
  "null",
4126
4154
  "string"
@@ -4173,6 +4201,7 @@
4173
4201
  "type": "boolean"
4174
4202
  },
4175
4203
  "differentialPackage": {
4204
+ "description": "Marks the package as built with differential download support for the update server.",
4176
4205
  "type": "boolean"
4177
4206
  },
4178
4207
  "displayLanguageSelector": {
@@ -4181,7 +4210,7 @@
4181
4210
  "type": "boolean"
4182
4211
  },
4183
4212
  "guid": {
4184
- "description": "See [GUID vs Application Name](./nsis.md#guid-vs-application-name).",
4213
+ "description": "The GUID for the installer. Used to identify the application for upgrade and uninstall operations.\nIf not specified, a deterministic GUID is generated from the app ID (`appId`) — but this means\nchanging your `appId` will break silent upgrades of existing installs.",
4185
4214
  "type": [
4186
4215
  "null",
4187
4216
  "string"
@@ -4196,21 +4225,21 @@
4196
4225
  },
4197
4226
  "installerHeader": {
4198
4227
  "default": "build/installerHeader.bmp",
4199
- "description": "*assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](./contents.md#extraresources) or to the project directory.",
4228
+ "description": "*assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.",
4200
4229
  "type": [
4201
4230
  "null",
4202
4231
  "string"
4203
4232
  ]
4204
4233
  },
4205
4234
  "installerHeaderIcon": {
4206
- "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.",
4235
+ "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.",
4207
4236
  "type": [
4208
4237
  "null",
4209
4238
  "string"
4210
4239
  ]
4211
4240
  },
4212
4241
  "installerIcon": {
4213
- "description": "The path to installer icon, relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.",
4242
+ "description": "The path to installer icon, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.",
4214
4243
  "type": [
4215
4244
  "null",
4216
4245
  "string"
@@ -4234,7 +4263,7 @@
4234
4263
  "description": "The installer languages (e.g. `en_US`, `de_DE`). Change only if you understand what do you do and for what."
4235
4264
  },
4236
4265
  "installerSidebar": {
4237
- "description": "*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`. Image size 164 × 314 pixels.",
4266
+ "description": "*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`. Image size 164 × 314 pixels.",
4238
4267
  "type": [
4239
4268
  "null",
4240
4269
  "string"
@@ -4395,42 +4424,42 @@
4395
4424
  ]
4396
4425
  },
4397
4426
  "uninstallUrlHelp": {
4398
- "description": "The URL to the uninstaller help page in the control panel. Defaults to [homepage](./configuration.md#homepage) from application package.json.",
4427
+ "description": "The URL to the uninstaller help page in the control panel. Defaults to [homepage](https://www.electron.build/docs/configuration#homepage) from application package.json.",
4399
4428
  "type": [
4400
4429
  "null",
4401
4430
  "string"
4402
4431
  ]
4403
4432
  },
4404
4433
  "uninstallUrlInfoAbout": {
4405
- "description": "The URL to the uninstaller info about page in the control panel. Defaults to [homepage](./configuration.md#homepage) from application package.json.",
4434
+ "description": "The URL to the uninstaller info about page in the control panel. Defaults to [homepage](https://www.electron.build/docs/configuration#homepage) from application package.json.",
4406
4435
  "type": [
4407
4436
  "null",
4408
4437
  "string"
4409
4438
  ]
4410
4439
  },
4411
4440
  "uninstallUrlReadme": {
4412
- "description": "The URL to the uninstaller readme page in the control panel. Defaults to [homepage](./configuration.md#homepage) from application package.json.",
4441
+ "description": "The URL to the uninstaller readme page in the control panel. Defaults to [homepage](https://www.electron.build/docs/configuration#homepage) from application package.json.",
4413
4442
  "type": [
4414
4443
  "null",
4415
4444
  "string"
4416
4445
  ]
4417
4446
  },
4418
4447
  "uninstallUrlUpdateInfo": {
4419
- "description": "The URL to the uninstaller update info page in the control panel. Defaults to [homepage](./configuration.md#homepage) from application package.json.",
4448
+ "description": "The URL to the uninstaller update info page in the control panel. Defaults to [homepage](https://www.electron.build/docs/configuration#homepage) from application package.json.",
4420
4449
  "type": [
4421
4450
  "null",
4422
4451
  "string"
4423
4452
  ]
4424
4453
  },
4425
4454
  "uninstallerIcon": {
4426
- "description": "The path to uninstaller icon, relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `build/uninstallerIcon.ico` or application icon.",
4455
+ "description": "The path to uninstaller icon, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `build/uninstallerIcon.ico` or application icon.",
4427
4456
  "type": [
4428
4457
  "null",
4429
4458
  "string"
4430
4459
  ]
4431
4460
  },
4432
4461
  "uninstallerSidebar": {
4433
- "description": "*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `installerSidebar` option or `build/uninstallerSidebar.bmp` or `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
4462
+ "description": "*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `installerSidebar` option or `build/uninstallerSidebar.bmp` or `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
4434
4463
  "type": [
4435
4464
  "null",
4436
4465
  "string"
@@ -4438,6 +4467,7 @@
4438
4467
  },
4439
4468
  "useZip": {
4440
4469
  "default": false,
4470
+ "description": "Forces zip compression format instead of LZMA. Used internally for differential update packages.",
4441
4471
  "type": "boolean"
4442
4472
  },
4443
4473
  "warningsAsErrors": {
@@ -4470,7 +4500,7 @@
4470
4500
  ]
4471
4501
  },
4472
4502
  "artifactName": {
4473
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template). Defaults to `${productName} Web Setup ${version}.${ext}`.",
4503
+ "description": "The [artifact file name template](https://www.electron.build/docs/configuration#artifact-file-name-template). Defaults to `${productName} Web Setup ${version}.${ext}`.",
4474
4504
  "type": [
4475
4505
  "null",
4476
4506
  "string"
@@ -4524,6 +4554,7 @@
4524
4554
  "type": "boolean"
4525
4555
  },
4526
4556
  "differentialPackage": {
4557
+ "description": "Marks the package as built with differential download support for the update server.",
4527
4558
  "type": "boolean"
4528
4559
  },
4529
4560
  "displayLanguageSelector": {
@@ -4532,7 +4563,7 @@
4532
4563
  "type": "boolean"
4533
4564
  },
4534
4565
  "guid": {
4535
- "description": "See [GUID vs Application Name](./nsis.md#guid-vs-application-name).",
4566
+ "description": "The GUID for the installer. Used to identify the application for upgrade and uninstall operations.\nIf not specified, a deterministic GUID is generated from the app ID (`appId`) — but this means\nchanging your `appId` will break silent upgrades of existing installs.",
4536
4567
  "type": [
4537
4568
  "null",
4538
4569
  "string"
@@ -4547,21 +4578,21 @@
4547
4578
  },
4548
4579
  "installerHeader": {
4549
4580
  "default": "build/installerHeader.bmp",
4550
- "description": "*assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](./contents.md#extraresources) or to the project directory.",
4581
+ "description": "*assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.",
4551
4582
  "type": [
4552
4583
  "null",
4553
4584
  "string"
4554
4585
  ]
4555
4586
  },
4556
4587
  "installerHeaderIcon": {
4557
- "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.",
4588
+ "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.",
4558
4589
  "type": [
4559
4590
  "null",
4560
4591
  "string"
4561
4592
  ]
4562
4593
  },
4563
4594
  "installerIcon": {
4564
- "description": "The path to installer icon, relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.",
4595
+ "description": "The path to installer icon, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.",
4565
4596
  "type": [
4566
4597
  "null",
4567
4598
  "string"
@@ -4585,7 +4616,7 @@
4585
4616
  "description": "The installer languages (e.g. `en_US`, `de_DE`). Change only if you understand what do you do and for what."
4586
4617
  },
4587
4618
  "installerSidebar": {
4588
- "description": "*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`. Image size 164 × 314 pixels.",
4619
+ "description": "*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`. Image size 164 × 314 pixels.",
4589
4620
  "type": [
4590
4621
  "null",
4591
4622
  "string"
@@ -4746,42 +4777,42 @@
4746
4777
  ]
4747
4778
  },
4748
4779
  "uninstallUrlHelp": {
4749
- "description": "The URL to the uninstaller help page in the control panel. Defaults to [homepage](./configuration.md#homepage) from application package.json.",
4780
+ "description": "The URL to the uninstaller help page in the control panel. Defaults to [homepage](https://www.electron.build/docs/configuration#homepage) from application package.json.",
4750
4781
  "type": [
4751
4782
  "null",
4752
4783
  "string"
4753
4784
  ]
4754
4785
  },
4755
4786
  "uninstallUrlInfoAbout": {
4756
- "description": "The URL to the uninstaller info about page in the control panel. Defaults to [homepage](./configuration.md#homepage) from application package.json.",
4787
+ "description": "The URL to the uninstaller info about page in the control panel. Defaults to [homepage](https://www.electron.build/docs/configuration#homepage) from application package.json.",
4757
4788
  "type": [
4758
4789
  "null",
4759
4790
  "string"
4760
4791
  ]
4761
4792
  },
4762
4793
  "uninstallUrlReadme": {
4763
- "description": "The URL to the uninstaller readme page in the control panel. Defaults to [homepage](./configuration.md#homepage) from application package.json.",
4794
+ "description": "The URL to the uninstaller readme page in the control panel. Defaults to [homepage](https://www.electron.build/docs/configuration#homepage) from application package.json.",
4764
4795
  "type": [
4765
4796
  "null",
4766
4797
  "string"
4767
4798
  ]
4768
4799
  },
4769
4800
  "uninstallUrlUpdateInfo": {
4770
- "description": "The URL to the uninstaller update info page in the control panel. Defaults to [homepage](./configuration.md#homepage) from application package.json.",
4801
+ "description": "The URL to the uninstaller update info page in the control panel. Defaults to [homepage](https://www.electron.build/docs/configuration#homepage) from application package.json.",
4771
4802
  "type": [
4772
4803
  "null",
4773
4804
  "string"
4774
4805
  ]
4775
4806
  },
4776
4807
  "uninstallerIcon": {
4777
- "description": "The path to uninstaller icon, relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `build/uninstallerIcon.ico` or application icon.",
4808
+ "description": "The path to uninstaller icon, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `build/uninstallerIcon.ico` or application icon.",
4778
4809
  "type": [
4779
4810
  "null",
4780
4811
  "string"
4781
4812
  ]
4782
4813
  },
4783
4814
  "uninstallerSidebar": {
4784
- "description": "*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](./contents.md#extraresources) or to the project directory.\nDefaults to `installerSidebar` option or `build/uninstallerSidebar.bmp` or `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
4815
+ "description": "*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](https://www.electron.build/docs/contents#extraresources) or to the project directory.\nDefaults to `installerSidebar` option or `build/uninstallerSidebar.bmp` or `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
4785
4816
  "type": [
4786
4817
  "null",
4787
4818
  "string"
@@ -4789,6 +4820,7 @@
4789
4820
  },
4790
4821
  "useZip": {
4791
4822
  "default": false,
4823
+ "description": "Forces zip compression format instead of LZMA. Used internally for differential update packages.",
4792
4824
  "type": "boolean"
4793
4825
  },
4794
4826
  "warningsAsErrors": {
@@ -5213,6 +5245,218 @@
5213
5245
  },
5214
5246
  "type": "object"
5215
5247
  },
5248
+ "PacmanOptions": {
5249
+ "additionalProperties": false,
5250
+ "properties": {
5251
+ "afterInstall": {
5252
+ "description": "File path to script to be passed to FPM for `--after-install` arg.",
5253
+ "type": [
5254
+ "null",
5255
+ "string"
5256
+ ]
5257
+ },
5258
+ "afterRemove": {
5259
+ "description": "File path to script to be passed to FPM for `--after-remove` arg.",
5260
+ "type": [
5261
+ "null",
5262
+ "string"
5263
+ ]
5264
+ },
5265
+ "appArmorProfile": {
5266
+ "description": "File path to custom AppArmor profile (Ubuntu 24+)",
5267
+ "type": [
5268
+ "null",
5269
+ "string"
5270
+ ]
5271
+ },
5272
+ "artifactName": {
5273
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
5274
+ "type": [
5275
+ "null",
5276
+ "string"
5277
+ ]
5278
+ },
5279
+ "category": {
5280
+ "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
5281
+ "type": [
5282
+ "null",
5283
+ "string"
5284
+ ]
5285
+ },
5286
+ "compression": {
5287
+ "anyOf": [
5288
+ {
5289
+ "enum": [
5290
+ "bzip2",
5291
+ "gz",
5292
+ "xz",
5293
+ "zstd"
5294
+ ],
5295
+ "type": "string"
5296
+ },
5297
+ {
5298
+ "type": "null"
5299
+ }
5300
+ ],
5301
+ "default": "xz",
5302
+ "description": "The compression type passed to fpm. For `deb`, `rpm`, and `pacman` targets prefer the\ntyped per-format interfaces (`DebOptions`, `RpmOptions`, `PacmanOptions`) which narrow\nthis to only the values that fpm actually accepts for that format."
5303
+ },
5304
+ "depends": {
5305
+ "anyOf": [
5306
+ {
5307
+ "items": {
5308
+ "type": "string"
5309
+ },
5310
+ "type": "array"
5311
+ },
5312
+ {
5313
+ "type": "null"
5314
+ }
5315
+ ],
5316
+ "description": "Package dependencies.\n`rpm` defaults to `[\"gtk3\", \"libnotify\", \"nss\", \"libXScrnSaver\", \"(libXtst or libXtst6)\", \"xdg-utils\", \"at-spi2-core\", \"(libuuid or libuuid1)\"]`\n`pacman` defaults to `[\"c-ares\", \"ffmpeg\", \"gtk3\", \"http-parser\", \"libevent\", \"libvpx\", \"libxslt\", \"libxss\", \"minizip\", \"nss\", \"re2\", \"snappy\", \"libnotify\", \"libappindicator-gtk3\"]`"
5317
+ },
5318
+ "description": {
5319
+ "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
5320
+ "type": [
5321
+ "null",
5322
+ "string"
5323
+ ]
5324
+ },
5325
+ "desktop": {
5326
+ "anyOf": [
5327
+ {
5328
+ "$ref": "#/definitions/LinuxDesktopFile"
5329
+ },
5330
+ {
5331
+ "type": "null"
5332
+ }
5333
+ ],
5334
+ "description": "The [Desktop file](https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html#desktop-files)"
5335
+ },
5336
+ "executableArgs": {
5337
+ "anyOf": [
5338
+ {
5339
+ "items": {
5340
+ "type": "string"
5341
+ },
5342
+ "type": "array"
5343
+ },
5344
+ {
5345
+ "type": "null"
5346
+ }
5347
+ ],
5348
+ "description": "The executable parameters. Pass to executableName"
5349
+ },
5350
+ "fpm": {
5351
+ "anyOf": [
5352
+ {
5353
+ "items": {
5354
+ "type": "string"
5355
+ },
5356
+ "type": "array"
5357
+ },
5358
+ {
5359
+ "type": "null"
5360
+ }
5361
+ ],
5362
+ "description": "*Advanced only* The [fpm](https://fpm.readthedocs.io/en/latest/cli-reference.html) options.\n\nExample: `[\"--before-install=build/deb-preinstall.sh\", \"--after-upgrade=build/deb-postinstall.sh\"]`"
5363
+ },
5364
+ "icon": {
5365
+ "type": "string"
5366
+ },
5367
+ "maintainer": {
5368
+ "type": [
5369
+ "null",
5370
+ "string"
5371
+ ]
5372
+ },
5373
+ "mimeTypes": {
5374
+ "anyOf": [
5375
+ {
5376
+ "items": {
5377
+ "type": "string"
5378
+ },
5379
+ "type": "array"
5380
+ },
5381
+ {
5382
+ "type": "null"
5383
+ }
5384
+ ],
5385
+ "description": "The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing."
5386
+ },
5387
+ "packageCategory": {
5388
+ "description": "The package category.",
5389
+ "type": [
5390
+ "null",
5391
+ "string"
5392
+ ]
5393
+ },
5394
+ "packageName": {
5395
+ "description": "The name of the package.",
5396
+ "type": [
5397
+ "null",
5398
+ "string"
5399
+ ]
5400
+ },
5401
+ "publish": {
5402
+ "anyOf": [
5403
+ {
5404
+ "$ref": "#/definitions/GithubOptions"
5405
+ },
5406
+ {
5407
+ "$ref": "#/definitions/GitlabOptions"
5408
+ },
5409
+ {
5410
+ "$ref": "#/definitions/S3Options"
5411
+ },
5412
+ {
5413
+ "$ref": "#/definitions/SpacesOptions"
5414
+ },
5415
+ {
5416
+ "$ref": "#/definitions/GenericServerOptions"
5417
+ },
5418
+ {
5419
+ "$ref": "#/definitions/CustomPublishOptions"
5420
+ },
5421
+ {
5422
+ "$ref": "#/definitions/KeygenOptions"
5423
+ },
5424
+ {
5425
+ "$ref": "#/definitions/SnapStoreOptions"
5426
+ },
5427
+ {
5428
+ "$ref": "#/definitions/BitbucketOptions"
5429
+ },
5430
+ {
5431
+ "items": {
5432
+ "$ref": "#/definitions/AllPublishOptions"
5433
+ },
5434
+ "type": "array"
5435
+ },
5436
+ {
5437
+ "type": [
5438
+ "null",
5439
+ "string"
5440
+ ]
5441
+ }
5442
+ ]
5443
+ },
5444
+ "synopsis": {
5445
+ "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
5446
+ "type": [
5447
+ "null",
5448
+ "string"
5449
+ ]
5450
+ },
5451
+ "vendor": {
5452
+ "type": [
5453
+ "null",
5454
+ "string"
5455
+ ]
5456
+ }
5457
+ },
5458
+ "type": "object"
5459
+ },
5216
5460
  "PkgBackgroundOptions": {
5217
5461
  "additionalProperties": false,
5218
5462
  "description": "Options for the background image in a PKG installer",
@@ -5293,7 +5537,7 @@
5293
5537
  ]
5294
5538
  },
5295
5539
  "artifactName": {
5296
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
5540
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
5297
5541
  "type": [
5298
5542
  "null",
5299
5543
  "string"
@@ -5333,7 +5577,7 @@
5333
5577
  ]
5334
5578
  },
5335
5579
  "identity": {
5336
- "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](./code-signing.md) instead of specifying this option.",
5580
+ "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](https://www.electron.build/code-signing) instead of specifying this option.",
5337
5581
  "type": [
5338
5582
  "null",
5339
5583
  "string"
@@ -5493,7 +5737,7 @@
5493
5737
  "description": "Portable options.",
5494
5738
  "properties": {
5495
5739
  "artifactName": {
5496
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
5740
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
5497
5741
  "type": [
5498
5742
  "null",
5499
5743
  "string"
@@ -5527,7 +5771,7 @@
5527
5771
  "description": "Allows you to provide your own `nsis-resources`"
5528
5772
  },
5529
5773
  "guid": {
5530
- "description": "See [GUID vs Application Name](./nsis.md#guid-vs-application-name).",
5774
+ "description": "The GUID for the installer. Used to identify the application for upgrade and uninstall operations.\nIf not specified, a deterministic GUID is generated from the app ID (`appId`) — but this means\nchanging your `appId` will break silent upgrades of existing installs.",
5531
5775
  "type": [
5532
5776
  "null",
5533
5777
  "string"
@@ -5607,6 +5851,7 @@
5607
5851
  },
5608
5852
  "useZip": {
5609
5853
  "default": false,
5854
+ "description": "Forces zip compression format instead of LZMA. Used internally for differential update packages.",
5610
5855
  "type": "boolean"
5611
5856
  },
5612
5857
  "warningsAsErrors": {
@@ -5678,7 +5923,7 @@
5678
5923
  ]
5679
5924
  },
5680
5925
  "releaseNotesFile": {
5681
- "description": "The path to release notes file. Defaults to `release-notes-${platform}.md` (where `platform` it is current platform — `mac`, `linux` or `windows`) or `release-notes.md` in the [build resources](./contents.md#extraresources).",
5926
+ "description": "The path to release notes file. Defaults to `release-notes-${platform}.md` (where `platform` it is current platform — `mac`, `linux` or `windows`) or `release-notes.md` in the [build resources](https://www.electron.build/contents#extraresources).",
5682
5927
  "type": [
5683
5928
  "null",
5684
5929
  "string"
@@ -5698,6 +5943,218 @@
5698
5943
  },
5699
5944
  "type": "object"
5700
5945
  },
5946
+ "RpmOptions": {
5947
+ "additionalProperties": false,
5948
+ "properties": {
5949
+ "afterInstall": {
5950
+ "description": "File path to script to be passed to FPM for `--after-install` arg.",
5951
+ "type": [
5952
+ "null",
5953
+ "string"
5954
+ ]
5955
+ },
5956
+ "afterRemove": {
5957
+ "description": "File path to script to be passed to FPM for `--after-remove` arg.",
5958
+ "type": [
5959
+ "null",
5960
+ "string"
5961
+ ]
5962
+ },
5963
+ "appArmorProfile": {
5964
+ "description": "File path to custom AppArmor profile (Ubuntu 24+)",
5965
+ "type": [
5966
+ "null",
5967
+ "string"
5968
+ ]
5969
+ },
5970
+ "artifactName": {
5971
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
5972
+ "type": [
5973
+ "null",
5974
+ "string"
5975
+ ]
5976
+ },
5977
+ "category": {
5978
+ "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
5979
+ "type": [
5980
+ "null",
5981
+ "string"
5982
+ ]
5983
+ },
5984
+ "compression": {
5985
+ "anyOf": [
5986
+ {
5987
+ "enum": [
5988
+ "bzip2",
5989
+ "gzip",
5990
+ "xz",
5991
+ "xzmt"
5992
+ ],
5993
+ "type": "string"
5994
+ },
5995
+ {
5996
+ "type": "null"
5997
+ }
5998
+ ],
5999
+ "default": "xzmt",
6000
+ "description": "Passed to fpm via `--rpm-compression`. `\"xzmt\"` uses multi-threaded xz (fpm's RPM default).\n`\"xz\"` is automatically promoted to `\"xzmt\"`. `\"gzip\"` and `\"bzip2\"` pass through as-is."
6001
+ },
6002
+ "depends": {
6003
+ "anyOf": [
6004
+ {
6005
+ "items": {
6006
+ "type": "string"
6007
+ },
6008
+ "type": "array"
6009
+ },
6010
+ {
6011
+ "type": "null"
6012
+ }
6013
+ ],
6014
+ "description": "Package dependencies.\n`rpm` defaults to `[\"gtk3\", \"libnotify\", \"nss\", \"libXScrnSaver\", \"(libXtst or libXtst6)\", \"xdg-utils\", \"at-spi2-core\", \"(libuuid or libuuid1)\"]`\n`pacman` defaults to `[\"c-ares\", \"ffmpeg\", \"gtk3\", \"http-parser\", \"libevent\", \"libvpx\", \"libxslt\", \"libxss\", \"minizip\", \"nss\", \"re2\", \"snappy\", \"libnotify\", \"libappindicator-gtk3\"]`"
6015
+ },
6016
+ "description": {
6017
+ "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
6018
+ "type": [
6019
+ "null",
6020
+ "string"
6021
+ ]
6022
+ },
6023
+ "desktop": {
6024
+ "anyOf": [
6025
+ {
6026
+ "$ref": "#/definitions/LinuxDesktopFile"
6027
+ },
6028
+ {
6029
+ "type": "null"
6030
+ }
6031
+ ],
6032
+ "description": "The [Desktop file](https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html#desktop-files)"
6033
+ },
6034
+ "executableArgs": {
6035
+ "anyOf": [
6036
+ {
6037
+ "items": {
6038
+ "type": "string"
6039
+ },
6040
+ "type": "array"
6041
+ },
6042
+ {
6043
+ "type": "null"
6044
+ }
6045
+ ],
6046
+ "description": "The executable parameters. Pass to executableName"
6047
+ },
6048
+ "fpm": {
6049
+ "anyOf": [
6050
+ {
6051
+ "items": {
6052
+ "type": "string"
6053
+ },
6054
+ "type": "array"
6055
+ },
6056
+ {
6057
+ "type": "null"
6058
+ }
6059
+ ],
6060
+ "description": "*Advanced only* The [fpm](https://fpm.readthedocs.io/en/latest/cli-reference.html) options.\n\nExample: `[\"--before-install=build/deb-preinstall.sh\", \"--after-upgrade=build/deb-postinstall.sh\"]`"
6061
+ },
6062
+ "icon": {
6063
+ "type": "string"
6064
+ },
6065
+ "maintainer": {
6066
+ "type": [
6067
+ "null",
6068
+ "string"
6069
+ ]
6070
+ },
6071
+ "mimeTypes": {
6072
+ "anyOf": [
6073
+ {
6074
+ "items": {
6075
+ "type": "string"
6076
+ },
6077
+ "type": "array"
6078
+ },
6079
+ {
6080
+ "type": "null"
6081
+ }
6082
+ ],
6083
+ "description": "The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing."
6084
+ },
6085
+ "packageCategory": {
6086
+ "description": "The package category.",
6087
+ "type": [
6088
+ "null",
6089
+ "string"
6090
+ ]
6091
+ },
6092
+ "packageName": {
6093
+ "description": "The name of the package.",
6094
+ "type": [
6095
+ "null",
6096
+ "string"
6097
+ ]
6098
+ },
6099
+ "publish": {
6100
+ "anyOf": [
6101
+ {
6102
+ "$ref": "#/definitions/GithubOptions"
6103
+ },
6104
+ {
6105
+ "$ref": "#/definitions/GitlabOptions"
6106
+ },
6107
+ {
6108
+ "$ref": "#/definitions/S3Options"
6109
+ },
6110
+ {
6111
+ "$ref": "#/definitions/SpacesOptions"
6112
+ },
6113
+ {
6114
+ "$ref": "#/definitions/GenericServerOptions"
6115
+ },
6116
+ {
6117
+ "$ref": "#/definitions/CustomPublishOptions"
6118
+ },
6119
+ {
6120
+ "$ref": "#/definitions/KeygenOptions"
6121
+ },
6122
+ {
6123
+ "$ref": "#/definitions/SnapStoreOptions"
6124
+ },
6125
+ {
6126
+ "$ref": "#/definitions/BitbucketOptions"
6127
+ },
6128
+ {
6129
+ "items": {
6130
+ "$ref": "#/definitions/AllPublishOptions"
6131
+ },
6132
+ "type": "array"
6133
+ },
6134
+ {
6135
+ "type": [
6136
+ "null",
6137
+ "string"
6138
+ ]
6139
+ }
6140
+ ]
6141
+ },
6142
+ "synopsis": {
6143
+ "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
6144
+ "type": [
6145
+ "null",
6146
+ "string"
6147
+ ]
6148
+ },
6149
+ "vendor": {
6150
+ "type": [
6151
+ "null",
6152
+ "string"
6153
+ ]
6154
+ }
6155
+ },
6156
+ "type": "object"
6157
+ },
5701
6158
  "S3Options": {
5702
6159
  "additionalProperties": false,
5703
6160
  "description": "[Amazon S3](https://aws.amazon.com/s3/) options.\nAWS credentials are required, please see [getting your credentials](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-your-credentials.html).\nTo set credentials define `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` [environment variables](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-environment.html) directly,\nor use [~/.aws/credentials](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html) file,\nor use [~/.aws/config](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) file. For the last method to work you will also need to define `AWS_SDK_LOAD_CONFIG=1` environment variable.\n\nExample configuration:\n\n```json\n{\n\"build\":\n \"publish\": {\n \"provider\": \"s3\",\n \"bucket\": \"bucket-name\"\n }\n}\n}\n```",
@@ -5892,7 +6349,7 @@
5892
6349
  "description": "Specifies which files from the app part to stage and which to exclude. Individual files, directories, wildcards, globstars, and exclusions are accepted. See [Snapcraft filesets](https://snapcraft.io/docs/snapcraft-filesets) to learn more about the format.\n\nThe defaults can be found in [snap.ts](https://github.com/electron-userland/electron-builder/blob/master/packages/app-builder-lib/templates/snap/snapcraft.yaml#L29)."
5893
6350
  },
5894
6351
  "artifactName": {
5895
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
6352
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
5896
6353
  "type": [
5897
6354
  "null",
5898
6355
  "string"
@@ -5981,7 +6438,7 @@
5981
6438
  "description": "The type of [confinement](https://snapcraft.io/docs/reference/confinement) supported by the snap."
5982
6439
  },
5983
6440
  "description": {
5984
- "description": "As [description](./configuration.md#description) from application package.json, but allows you to specify different for Linux.",
6441
+ "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
5985
6442
  "type": [
5986
6443
  "null",
5987
6444
  "string"
@@ -6181,7 +6638,7 @@
6181
6638
  "description": "The list of Ubuntu packages to use that are needed to support the `app` part creation. Like `depends` for `deb`.\nDefaults to `[\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]`.\n\nIf list contains `default`, it will be replaced to default list, so, `[\"default\", \"foo\"]` can be used to add custom package `foo` in addition to defaults."
6182
6639
  },
6183
6640
  "summary": {
6184
- "description": "The 78 character long summary. Defaults to [productName](./configuration.md#productName).",
6641
+ "description": "The 78 character long summary. Defaults to [productName](https://www.electron.build/configuration#productname).",
6185
6642
  "type": [
6186
6643
  "null",
6187
6644
  "string"
@@ -6380,7 +6837,7 @@
6380
6837
  "additionalProperties": false,
6381
6838
  "properties": {
6382
6839
  "artifactName": {
6383
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template).",
6840
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
6384
6841
  "type": [
6385
6842
  "null",
6386
6843
  "string"
@@ -6612,7 +7069,7 @@
6612
7069
  ]
6613
7070
  },
6614
7071
  "artifactName": {
6615
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
7072
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
6616
7073
  "type": [
6617
7074
  "null",
6618
7075
  "string"
@@ -6648,7 +7105,7 @@
6648
7105
  ]
6649
7106
  }
6650
7107
  ],
6651
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
7108
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
6652
7109
  },
6653
7110
  "azureSignOptions": {
6654
7111
  "anyOf": [
@@ -6691,6 +7148,7 @@
6691
7148
  ]
6692
7149
  },
6693
7150
  "defaultArch": {
7151
+ "description": "The default architecture to build for when no `--arch` flag is specified.\nDefaults to the current machine's architecture.",
6694
7152
  "type": "string"
6695
7153
  },
6696
7154
  "detectUpdateChannel": {
@@ -6721,7 +7179,7 @@
6721
7179
  "description": "The electron locales to keep. By default, all Electron locales used as-is."
6722
7180
  },
6723
7181
  "electronUpdaterCompatibility": {
6724
- "description": "The [electron-updater compatibility](./auto-update.md#compatibility) semver range.",
7182
+ "description": "The [electron-updater compatibility](https://www.electron.build/auto-update#compatibility) semver range.",
6725
7183
  "type": [
6726
7184
  "null",
6727
7185
  "string"
@@ -6786,7 +7244,7 @@
6786
7244
  ]
6787
7245
  }
6788
7246
  ],
6789
- "description": "A [glob patterns](./file-patterns.md) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
7247
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
6790
7248
  },
6791
7249
  "fileAssociations": {
6792
7250
  "anyOf": [
@@ -6827,9 +7285,10 @@
6827
7285
  ]
6828
7286
  }
6829
7287
  ],
6830
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](configuration.md#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](mac.md)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](./file-patterns.md#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
7288
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](https://www.electron.build/configuration#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](https://www.electron.build/mac)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](https://www.electron.build/file-patterns#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
6831
7289
  },
6832
7290
  "forceCodeSigning": {
7291
+ "default": false,
6833
7292
  "description": "Whether to fail if app will be not code signed.",
6834
7293
  "type": "boolean"
6835
7294
  },
@@ -6909,7 +7368,7 @@
6909
7368
  ]
6910
7369
  }
6911
7370
  ],
6912
- "description": "Publisher configuration. See [Auto Update](./publish.md) for more information."
7371
+ "description": "Publisher configuration. See [Auto Update](https://www.electron.build/publish) for more information."
6913
7372
  },
6914
7373
  "releaseInfo": {
6915
7374
  "$ref": "#/definitions/ReleaseInfo",
@@ -6934,7 +7393,12 @@
6934
7393
  },
6935
7394
  "signAndEditExecutable": {
6936
7395
  "default": true,
6937
- "description": "Whether to sign and add metadata to executable.\nMetadata includes information about the app name/description/version, publisher, copyright, etc.\nThis property also is responsible for adding the app icon and setting execution level.\n(Advanced option leveraging `rcedit`)",
7396
+ "description": "Whether to sign and add metadata to executable via [`resedit`](https://www.npmjs.com/package/resedit).\nMetadata includes information about the app name/description/version, publisher, copyright, etc.\nThis property also is responsible for adding the app icon and setting execution level.\nSet to `false` only if you need to fully disable resedit-based resource editing.\nTo skip only code signing while keeping resource editing, use `signExecutable: false` instead.",
7397
+ "type": "boolean"
7398
+ },
7399
+ "signExecutable": {
7400
+ "default": true,
7401
+ "description": "Whether to sign Windows executables and any additional files matched by `signExts`.\nSet to `false` to skip Windows code signing while still editing executable resources\n(icon, metadata, etc. via [`resedit`](https://www.npmjs.com/package/resedit)).\nThis option is not limited to the main executable edit/sign flow and can also affect\nsigning of Windows installers or other artifacts that use the standard signing path.",
6938
7402
  "type": "boolean"
6939
7403
  },
6940
7404
  "signExts": {
@@ -6989,7 +7453,7 @@
6989
7453
  }
6990
7454
  ],
6991
7455
  "default": "nsis",
6992
- "description": "The target package type: list of `nsis`, `nsis-web` (Web installer), `portable` ([portable]./nsis.md#portable) app without installation), `appx`, `msi`, `msi-wrapped`, `squirrel`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.\nAppX package can be built only on Windows 10.\n\nTo use Squirrel.Windows please install `electron-builder-squirrel-windows` dependency."
7456
+ "description": "The target package type: list of `nsis`, `nsis-web` (Web installer), `portable` ([portable]https://www.electron.build/nsis#portable) app without installation), `appx`, `msi`, `msi-wrapped`, `squirrel`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.\nAppX package can be built only on Windows 10.\n\nTo use Squirrel.Windows please install `electron-builder-squirrel-windows` dependency."
6993
7457
  },
6994
7458
  "verifyUpdateCodeSignature": {
6995
7459
  "default": true,
@@ -7010,14 +7474,14 @@
7010
7474
  ]
7011
7475
  },
7012
7476
  "certificateFile": {
7013
- "description": "The path to the *.pfx certificate you want to sign with. Please use it only if you cannot use env variable `CSC_LINK` (`WIN_CSC_LINK`) for some reason.\nPlease see [Code Signing](./code-signing.md).",
7477
+ "description": "The path to the *.pfx certificate you want to sign with. Please use it only if you cannot use env variable `CSC_LINK` (`WIN_CSC_LINK`) for some reason.\nPlease see [Code Signing](https://www.electron.build/code-signing).",
7014
7478
  "type": [
7015
7479
  "null",
7016
7480
  "string"
7017
7481
  ]
7018
7482
  },
7019
7483
  "certificatePassword": {
7020
- "description": "The password to the certificate provided in `certificateFile`. Please use it only if you cannot use env variable `CSC_KEY_PASSWORD` (`WIN_CSC_KEY_PASSWORD`) for some reason.\nPlease see [Code Signing](./code-signing.md).",
7484
+ "description": "The password to the certificate provided in `certificateFile`. Please use it only if you cannot use env variable `CSC_KEY_PASSWORD` (`WIN_CSC_KEY_PASSWORD`) for some reason.\nPlease see [Code Signing](https://www.electron.build/code-signing).",
7021
7485
  "type": [
7022
7486
  "null",
7023
7487
  "string"
@@ -7120,7 +7584,7 @@
7120
7584
  ]
7121
7585
  }
7122
7586
  ],
7123
- "description": "The function (or path to file or module id) to be run after all artifacts are built.\n\n```typescript\n(buildResult: BuildResult): Promise<Array<string>> | Array<string>\n```\n\nConfiguration in the same way as `afterPack` (see above).\n\n!!! example \"myAfterAllArtifactBuild.js\"\n```js\nexports.default = function () {\n // you can return additional files to publish\n return [\"/path/to/additional/result/file\"]\n}\n```"
7587
+ "description": "The function (or path to file or module id) to be run after all artifacts are built.\nReceives a {@link BuildResult}. May return an array of additional file paths to publish.\n\nFor file/module setup, see {@link beforePack}."
7124
7588
  },
7125
7589
  "afterExtract": {
7126
7590
  "anyOf": [
@@ -7134,7 +7598,7 @@
7134
7598
  ]
7135
7599
  }
7136
7600
  ],
7137
- "description": "The function (or path to file or module id) to be [run after the prebuilt Electron binary has been extracted to the output directory](#afterextract)\nSame setup as {@link beforePack}"
7601
+ "description": "The function (or path to file or module id) to be run after the prebuilt Electron binary has been extracted to the output directory.\nReceives an {@link AfterExtractContext}. For file/module setup, see {@link beforePack}."
7138
7602
  },
7139
7603
  "afterPack": {
7140
7604
  "anyOf": [
@@ -7148,7 +7612,7 @@
7148
7612
  ]
7149
7613
  }
7150
7614
  ],
7151
- "description": "The function (or path to file or module id) to be [run after pack](#afterpack) (but before pack into distributable format and sign).\nSame setup as {@link beforePack}"
7615
+ "description": "The function (or path to file or module id) to be run after pack but before pack into distributable format and sign.\nReceives an {@link AfterPackContext}. For file/module setup, see {@link beforePack}."
7152
7616
  },
7153
7617
  "afterSign": {
7154
7618
  "anyOf": [
@@ -7162,7 +7626,7 @@
7162
7626
  ]
7163
7627
  }
7164
7628
  ],
7165
- "description": "The function (or path to file or module id) to be [run after pack and sign](#aftersign) (but before pack into distributable format).\nSame setup as {@link beforePack}"
7629
+ "description": "The function (or path to file or module id) to be run after pack and sign but before pack into distributable format.\nReceives an {@link AfterPackContext}. For file/module setup, see {@link beforePack}."
7166
7630
  },
7167
7631
  "apk": {
7168
7632
  "anyOf": [
@@ -7172,7 +7636,8 @@
7172
7636
  {
7173
7637
  "type": "null"
7174
7638
  }
7175
- ]
7639
+ ],
7640
+ "description": "Alpine Linux APK package options. Produces an `.apk` archive installable via `apk add`."
7176
7641
  },
7177
7642
  "appId": {
7178
7643
  "default": "com.electron.${name}",
@@ -7191,7 +7656,7 @@
7191
7656
  "type": "null"
7192
7657
  }
7193
7658
  ],
7194
- "description": "AppImage options."
7659
+ "description": "AppImage options. AppImage is a portable application format that bundles the app\nand its dependencies into a single self-contained executable that runs on most\nLinux distributions without installation."
7195
7660
  },
7196
7661
  "appx": {
7197
7662
  "anyOf": [
@@ -7201,7 +7666,8 @@
7201
7666
  {
7202
7667
  "type": "null"
7203
7668
  }
7204
- ]
7669
+ ],
7670
+ "description": "Windows Store (AppX) package options."
7205
7671
  },
7206
7672
  "appxManifestCreated": {
7207
7673
  "anyOf": [
@@ -7229,7 +7695,7 @@
7229
7695
  ]
7230
7696
  }
7231
7697
  ],
7232
- "description": "The function (or path to file or module id) to be run on artifact build completed.\nSame setup as {@link beforePack}"
7698
+ "description": "The function (or path to file or module id) to be run when an individual artifact build completes.\nReceives an {@link ArtifactCreated}. For file/module setup, see {@link beforePack}."
7233
7699
  },
7234
7700
  "artifactBuildStarted": {
7235
7701
  "anyOf": [
@@ -7243,10 +7709,10 @@
7243
7709
  ]
7244
7710
  }
7245
7711
  ],
7246
- "description": "The function (or path to file or module id) to be run on artifact build start.\nSame setup as {@link beforePack}"
7712
+ "description": "The function (or path to file or module id) to be run when an individual artifact build starts.\nReceives an {@link ArtifactBuildStarted}. For file/module setup, see {@link beforePack}."
7247
7713
  },
7248
7714
  "artifactName": {
7249
- "description": "The [artifact file name template](./configuration.md#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
7715
+ "description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
7250
7716
  "type": [
7251
7717
  "null",
7252
7718
  "string"
@@ -7282,7 +7748,7 @@
7282
7748
  ]
7283
7749
  }
7284
7750
  ],
7285
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
7751
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
7286
7752
  },
7287
7753
  "beforeBuild": {
7288
7754
  "anyOf": [
@@ -7310,7 +7776,7 @@
7310
7776
  ]
7311
7777
  }
7312
7778
  ],
7313
- "description": "The function (or path to file or module id) to be run before pack.\n\n```typescript\n(context: BeforePackContext): Promise<any> | any\n```\n\n!!! example \"As function\"\n\n ```js\n beforePack: async (context) => {\n // your code\n }\n ```\n\nBecause in a configuration file you cannot use JavaScript, can be specified as a path to file or module id. Function must be exported as default export.\n\n```json\n\"build\": {\n\"beforePack\": \"./myBeforePackHook.js\"\n}\n```\n\nFile `myBeforePackHook.js` in the project root directory:\n\n!!! example \"myBeforePackHook.js\"\n ```js\n exports.default = async function(context) {\n // your custom code\n }\n ```"
7779
+ "description": "The function (or path to file or module id) to be run before pack.\nReceives a {@link BeforePackContext}.\n\nCan be specified inline as a function in JavaScript configs:\n```js\n// electron-builder.config.js\nmodule.exports = {\n beforePack: async (context) => {\n // your code\n }\n}\n```\n\nOr as a path to a module that exports the function as its default export:\n```json\n{ \"build\": { \"beforePack\": \"./myBeforePackHook.js\" } }\n```\n```js\n// myBeforePackHook.js\nexports.default = async function(context) {\n // your custom code\n}\n```"
7314
7780
  },
7315
7781
  "buildDependenciesFromSource": {
7316
7782
  "default": false,
@@ -7388,9 +7854,10 @@
7388
7854
  "type": "null"
7389
7855
  }
7390
7856
  ],
7391
- "description": "Debian package options."
7857
+ "description": "Debian package options. Targets Debian, Ubuntu, and Debian-based distributions.\nProduces a `.deb` archive installable via `dpkg -i` or `apt install`."
7392
7858
  },
7393
7859
  "defaultArch": {
7860
+ "description": "The default architecture to build for when no `--arch` flag is specified.\nDefaults to the current machine's architecture.",
7394
7861
  "type": "string"
7395
7862
  },
7396
7863
  "detectUpdateChannel": {
@@ -7499,7 +7966,7 @@
7499
7966
  "description": "The electron locales to keep. By default, all Electron locales used as-is."
7500
7967
  },
7501
7968
  "electronUpdaterCompatibility": {
7502
- "description": "The [electron-updater compatibility](./auto-update.md#compatibility) semver range.",
7969
+ "description": "The [electron-updater compatibility](https://www.electron.build/auto-update#compatibility) semver range.",
7503
7970
  "type": [
7504
7971
  "null",
7505
7972
  "string"
@@ -7591,7 +8058,7 @@
7591
8058
  ]
7592
8059
  }
7593
8060
  ],
7594
- "description": "A [glob patterns](./file-patterns.md) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
8061
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).\n\nFile patterns (and support for `from` and `to` fields) the same as for [files](#files)."
7595
8062
  },
7596
8063
  "fileAssociations": {
7597
8064
  "anyOf": [
@@ -7632,7 +8099,7 @@
7632
8099
  ]
7633
8100
  }
7634
8101
  ],
7635
- "description": "A [glob patterns](./file-patterns.md) relative to the [app directory](configuration.md#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](mac.md)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](./file-patterns.md#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
8102
+ "description": "A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](https://www.electron.build/configuration#directories), which specifies which files to include when copying files to create the package.\n\nDefaults to:\n```json\n[\n\"**\\/*\",\n\"!**\\/node_modules/*\\/{CHANGELOG.md,README.md,README,readme.md,readme}\",\n\"!**\\/node_modules/*\\/{test,__tests__,tests,powered-test,example,examples}\",\n\"!**\\/node_modules/*.d.ts\",\n\"!**\\/node_modules/.bin\",\n\"!**\\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}\",\n\"!.editorconfig\",\n\"!**\\/._*\",\n\"!**\\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}\",\n\"!**\\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}\",\n\"!**\\/{appveyor.yml,.travis.yml,circle.yml}\",\n\"!**\\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}\"\n]\n```\n\nDevelopment dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.\n\nDefault pattern \\`**\\/*\\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \\`**\\/node_modules/**\\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.\n\nMay be specified in the platform options (e.g. in the [mac](https://www.electron.build/mac)).\n\nYou may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.\n\n```json\n[\n{\n\"from\": \"path/to/source\",\n\"to\": \"path/to/destination\",\n\"filter\": [\"**\\/*\", \"!foo/*.js\"]\n}\n]\n```\n\nYou can use [file macros](https://www.electron.build/file-patterns#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging."
7636
8103
  },
7637
8104
  "flatpak": {
7638
8105
  "anyOf": [
@@ -7643,7 +8110,7 @@
7643
8110
  "type": "null"
7644
8111
  }
7645
8112
  ],
7646
- "description": "Flatpak options."
8113
+ "description": "Flatpak options. Flatpak is a sandboxed application distribution format for Linux\nthat runs in a controlled environment and is distributed via [Flathub](https://flathub.org/)\nor other Flatpak repositories."
7647
8114
  },
7648
8115
  "forceCodeSigning": {
7649
8116
  "default": false,
@@ -7665,7 +8132,8 @@
7665
8132
  {
7666
8133
  "type": "null"
7667
8134
  }
7668
- ]
8135
+ ],
8136
+ "description": "FreeBSD package options. Produces a `.pkg` archive for the FreeBSD `pkg` package manager."
7669
8137
  },
7670
8138
  "generateUpdatesFilesForAllChannels": {
7671
8139
  "default": false,
@@ -7700,7 +8168,7 @@
7700
8168
  "type": "null"
7701
8169
  }
7702
8170
  ],
7703
- "description": "Options related to how build Linux targets."
8171
+ "description": "General Linux build options shared across all Linux targets (icon, category, desktop entry,\nexecutable name, etc.). Target-specific compression and packaging options live in the\nper-format interfaces (`DebOptions`, `RpmOptions`, `PacmanOptions`, etc.)."
7704
8172
  },
7705
8173
  "mac": {
7706
8174
  "anyOf": [
@@ -7743,7 +8211,8 @@
7743
8211
  {
7744
8212
  "type": "null"
7745
8213
  }
7746
- ]
8214
+ ],
8215
+ "description": "MSI package options."
7747
8216
  },
7748
8217
  "msiProjectCreated": {
7749
8218
  "anyOf": [
@@ -7767,7 +8236,8 @@
7767
8236
  {
7768
8237
  "type": "null"
7769
8238
  }
7770
- ]
8239
+ ],
8240
+ "description": "MSI-wrapped installer options."
7771
8241
  },
7772
8242
  "nativeRebuilder": {
7773
8243
  "anyOf": [
@@ -7828,7 +8298,8 @@
7828
8298
  {
7829
8299
  "type": "null"
7830
8300
  }
7831
- ]
8301
+ ],
8302
+ "description": "NSIS installer options."
7832
8303
  },
7833
8304
  "nsisWeb": {
7834
8305
  "anyOf": [
@@ -7838,7 +8309,8 @@
7838
8309
  {
7839
8310
  "type": "null"
7840
8311
  }
7841
- ]
8312
+ ],
8313
+ "description": "NSIS web installer options (downloads app package at install time)."
7842
8314
  },
7843
8315
  "onNodeModuleFile": {
7844
8316
  "anyOf": [
@@ -7862,17 +8334,19 @@
7862
8334
  {
7863
8335
  "type": "null"
7864
8336
  }
7865
- ]
8337
+ ],
8338
+ "description": "Solaris IPS package options. Produces a `.p5p` archive for the Solaris Image Packaging\nSystem (`pkg`)."
7866
8339
  },
7867
8340
  "pacman": {
7868
8341
  "anyOf": [
7869
8342
  {
7870
- "$ref": "#/definitions/LinuxTargetSpecificOptions"
8343
+ "$ref": "#/definitions/PacmanOptions"
7871
8344
  },
7872
8345
  {
7873
8346
  "type": "null"
7874
8347
  }
7875
- ]
8348
+ ],
8349
+ "description": "Pacman package options. Targets Arch Linux and Arch-based distributions\n(Manjaro, EndeavourOS, etc.). Produces a `.pacman` archive installable via `pacman -U`."
7876
8350
  },
7877
8351
  "pkg": {
7878
8352
  "anyOf": [
@@ -7893,7 +8367,8 @@
7893
8367
  {
7894
8368
  "type": "null"
7895
8369
  }
7896
- ]
8370
+ ],
8371
+ "description": "Portable executable options (no installation required)."
7897
8372
  },
7898
8373
  "productName": {
7899
8374
  "description": "As [name](#metadata), but allows you to specify a product name for your executable which contains spaces and other special characters not allowed in the [name property](https://docs.npmjs.com/files/package.json#name).\nIf not specified inside of the `build` configuration, `productName` property defined at the top level of `package.json` is used. If not specified at the top level of `package.json`, [name property](https://docs.npmjs.com/files/package.json#name) is used.",
@@ -7958,7 +8433,7 @@
7958
8433
  ]
7959
8434
  }
7960
8435
  ],
7961
- "description": "Publisher configuration. See [Auto Update](./publish.md) for more information."
8436
+ "description": "Publisher configuration. See [Auto Update](https://www.electron.build/publish) for more information."
7962
8437
  },
7963
8438
  "releaseInfo": {
7964
8439
  "$ref": "#/definitions/ReleaseInfo",
@@ -7977,12 +8452,13 @@
7977
8452
  "rpm": {
7978
8453
  "anyOf": [
7979
8454
  {
7980
- "$ref": "#/definitions/LinuxTargetSpecificOptions"
8455
+ "$ref": "#/definitions/RpmOptions"
7981
8456
  },
7982
8457
  {
7983
8458
  "type": "null"
7984
8459
  }
7985
- ]
8460
+ ],
8461
+ "description": "RPM package options. Targets Fedora, Red Hat Enterprise Linux, SUSE, and related\ndistributions. Produces a `.rpm` archive installable via `rpm` or `dnf`."
7986
8462
  },
7987
8463
  "snap": {
7988
8464
  "anyOf": [
@@ -7993,7 +8469,7 @@
7993
8469
  "type": "null"
7994
8470
  }
7995
8471
  ],
7996
- "description": "Snap options."
8472
+ "description": "Snap package options. Requires [snapcraft](https://snapcraft.io/) to be installed."
7997
8473
  },
7998
8474
  "squirrelWindows": {
7999
8475
  "anyOf": [
@@ -8003,7 +8479,8 @@
8003
8479
  {
8004
8480
  "type": "null"
8005
8481
  }
8006
- ]
8482
+ ],
8483
+ "description": "Squirrel.Windows installer options. Requires the `electron-builder-squirrel-windows` dependency."
8007
8484
  },
8008
8485
  "target": {
8009
8486
  "anyOf": [
@@ -8029,7 +8506,8 @@
8029
8506
  "string"
8030
8507
  ]
8031
8508
  }
8032
- ]
8509
+ ],
8510
+ "description": "The build target(s) for this platform. Can be a target name string, a {@link TargetConfiguration}\nobject, or an array of either. Available targets depend on the platform — see platform-specific\noptions (e.g. {@link MacConfiguration.target}, {@link WindowsConfiguration.target},\n{@link LinuxConfiguration.target})."
8033
8511
  },
8034
8512
  "toolsets": {
8035
8513
  "anyOf": [