app-builder-lib 26.11.0 → 26.12.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.
- package/out/binDownload.js +4 -1
- package/out/binDownload.js.map +1 -1
- package/out/codeSign/codesign.js +7 -23
- package/out/codeSign/codesign.js.map +1 -1
- package/out/configuration.d.ts +36 -2
- package/out/configuration.js.map +1 -1
- package/out/fileMatcher.d.ts +2 -1
- package/out/fileMatcher.js +0 -1
- package/out/fileMatcher.js.map +1 -1
- package/out/index.d.ts +1 -1
- package/out/index.js.map +1 -1
- package/out/linuxPackager.js +1 -1
- package/out/linuxPackager.js.map +1 -1
- package/out/macPackager.js +0 -12
- package/out/macPackager.js.map +1 -1
- package/out/node-module-collector/moduleManager.d.ts +1 -0
- package/out/node-module-collector/moduleManager.js +2 -0
- package/out/node-module-collector/moduleManager.js.map +1 -1
- package/out/node-module-collector/nodeModulesCollector.d.ts +3 -2
- package/out/node-module-collector/nodeModulesCollector.js +25 -5
- package/out/node-module-collector/nodeModulesCollector.js.map +1 -1
- package/out/node-module-collector/pnpmNodeModulesCollector.js +5 -1
- package/out/node-module-collector/pnpmNodeModulesCollector.js.map +1 -1
- package/out/options/SnapOptions.d.ts +415 -56
- package/out/options/SnapOptions.js.map +1 -1
- package/out/options/linuxOptions.d.ts +8 -0
- package/out/options/linuxOptions.js.map +1 -1
- package/out/platformPackager.js +1 -1
- package/out/platformPackager.js.map +1 -1
- package/out/publish/PublishManager.js +2 -2
- package/out/publish/PublishManager.js.map +1 -1
- package/out/publish/updateInfoBuilder.d.ts +4 -0
- package/out/publish/updateInfoBuilder.js +14 -2
- package/out/publish/updateInfoBuilder.js.map +1 -1
- package/out/targets/ArchiveTarget.js +1 -1
- package/out/targets/ArchiveTarget.js.map +1 -1
- package/out/targets/LinuxTargetHelper.d.ts +3 -0
- package/out/targets/LinuxTargetHelper.js +68 -0
- package/out/targets/LinuxTargetHelper.js.map +1 -1
- package/out/targets/MsiTarget.js +6 -3
- package/out/targets/MsiTarget.js.map +1 -1
- package/out/targets/archive.js +2 -6
- package/out/targets/archive.js.map +1 -1
- package/out/targets/nsis/NsisTarget.js +12 -12
- package/out/targets/nsis/NsisTarget.js.map +1 -1
- package/out/targets/nsis/nsisUtil.d.ts +0 -7
- package/out/targets/nsis/nsisUtil.js +5 -48
- package/out/targets/nsis/nsisUtil.js.map +1 -1
- package/out/targets/snap/SnapTarget.d.ts +36 -0
- package/out/targets/snap/SnapTarget.js +104 -0
- package/out/targets/snap/SnapTarget.js.map +1 -0
- package/out/targets/snap/core24.d.ts +52 -0
- package/out/targets/snap/core24.js +447 -0
- package/out/targets/snap/core24.js.map +1 -0
- package/out/targets/snap/coreCustom.d.ts +28 -0
- package/out/targets/snap/coreCustom.js +63 -0
- package/out/targets/snap/coreCustom.js.map +1 -0
- package/out/targets/snap/coreLegacy.d.ts +20 -0
- package/out/targets/{snap.js → snap/coreLegacy.js} +96 -155
- package/out/targets/snap/coreLegacy.js.map +1 -0
- package/out/targets/snap/snapcraftBuilder.d.ts +39 -0
- package/out/targets/snap/snapcraftBuilder.js +418 -0
- package/out/targets/snap/snapcraftBuilder.js.map +1 -0
- package/out/toolsets/linux.d.ts +5 -0
- package/out/toolsets/linux.js +55 -23
- package/out/toolsets/linux.js.map +1 -1
- package/out/toolsets/windows.d.ts +19 -0
- package/out/toolsets/windows.js +136 -18
- package/out/toolsets/windows.js.map +1 -1
- package/out/util/electronGet.d.ts +4 -1
- package/out/util/electronGet.js +19 -19
- package/out/util/electronGet.js.map +1 -1
- package/out/util/envPath.d.ts +2 -0
- package/out/util/envPath.js +28 -0
- package/out/util/envPath.js.map +1 -0
- package/out/util/toolsetLock.d.ts +1 -0
- package/out/util/toolsetLock.js +23 -0
- package/out/util/toolsetLock.js.map +1 -0
- package/out/version.d.ts +1 -1
- package/out/version.js +1 -1
- package/out/version.js.map +1 -1
- package/out/vm/vm.d.ts +1 -0
- package/out/vm/vm.js +18 -0
- package/out/vm/vm.js.map +1 -1
- package/package.json +8 -8
- package/scheme.json +1401 -107
- package/templates/nsis/multiUser.nsh +14 -12
- package/out/targets/snap.d.ts +0 -17
- package/out/targets/snap.js.map +0 -1
package/scheme.json
CHANGED
|
@@ -367,6 +367,43 @@
|
|
|
367
367
|
],
|
|
368
368
|
"type": "string"
|
|
369
369
|
},
|
|
370
|
+
"Architecture": {
|
|
371
|
+
"additionalProperties": false,
|
|
372
|
+
"properties": {
|
|
373
|
+
"build-for": {
|
|
374
|
+
"anyOf": [
|
|
375
|
+
{
|
|
376
|
+
"items": {
|
|
377
|
+
"type": "string"
|
|
378
|
+
},
|
|
379
|
+
"type": "array"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"type": "string"
|
|
383
|
+
}
|
|
384
|
+
],
|
|
385
|
+
"description": "The target architecture for the build"
|
|
386
|
+
},
|
|
387
|
+
"build-on": {
|
|
388
|
+
"anyOf": [
|
|
389
|
+
{
|
|
390
|
+
"items": {
|
|
391
|
+
"type": "string"
|
|
392
|
+
},
|
|
393
|
+
"type": "array"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"type": "string"
|
|
397
|
+
}
|
|
398
|
+
],
|
|
399
|
+
"description": "The architectures to build the snap on"
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
"required": [
|
|
403
|
+
"build-on"
|
|
404
|
+
],
|
|
405
|
+
"type": "object"
|
|
406
|
+
},
|
|
370
407
|
"AsarOptions": {
|
|
371
408
|
"additionalProperties": false,
|
|
372
409
|
"properties": {
|
|
@@ -5730,6 +5767,7 @@
|
|
|
5730
5767
|
}
|
|
5731
5768
|
]
|
|
5732
5769
|
},
|
|
5770
|
+
"description": "Maps a named plug to its attribute object.\n`null` uses snapd defaults for that interface.",
|
|
5733
5771
|
"type": "object"
|
|
5734
5772
|
},
|
|
5735
5773
|
"PortableOptions": {
|
|
@@ -5895,12 +5933,54 @@
|
|
|
5895
5933
|
],
|
|
5896
5934
|
"type": "object"
|
|
5897
5935
|
},
|
|
5936
|
+
"Record<string,App>": {
|
|
5937
|
+
"type": "object",
|
|
5938
|
+
"additionalProperties": {}
|
|
5939
|
+
},
|
|
5940
|
+
"Record<string,Component>": {
|
|
5941
|
+
"type": "object",
|
|
5942
|
+
"additionalProperties": {}
|
|
5943
|
+
},
|
|
5944
|
+
"Record<string,Hook>": {
|
|
5945
|
+
"type": "object",
|
|
5946
|
+
"additionalProperties": {}
|
|
5947
|
+
},
|
|
5948
|
+
"Record<string,Part>": {
|
|
5949
|
+
"type": "object",
|
|
5950
|
+
"additionalProperties": {}
|
|
5951
|
+
},
|
|
5952
|
+
"Record<string,Platform>": {
|
|
5953
|
+
"type": "object",
|
|
5954
|
+
"additionalProperties": {}
|
|
5955
|
+
},
|
|
5956
|
+
"Record<string,Record<string,string>>": {
|
|
5957
|
+
"type": "object",
|
|
5958
|
+
"additionalProperties": {
|
|
5959
|
+
"type": "object",
|
|
5960
|
+
"additionalProperties": {
|
|
5961
|
+
"type": "string"
|
|
5962
|
+
}
|
|
5963
|
+
}
|
|
5964
|
+
},
|
|
5898
5965
|
"Record<string,string>": {
|
|
5899
5966
|
"type": "object",
|
|
5900
5967
|
"additionalProperties": {
|
|
5901
5968
|
"type": "string"
|
|
5902
5969
|
}
|
|
5903
5970
|
},
|
|
5971
|
+
"Record<string,string|null>": {
|
|
5972
|
+
"type": "object",
|
|
5973
|
+
"additionalProperties": {
|
|
5974
|
+
"type": [
|
|
5975
|
+
"string",
|
|
5976
|
+
"null"
|
|
5977
|
+
]
|
|
5978
|
+
}
|
|
5979
|
+
},
|
|
5980
|
+
"Record<string,unknown>": {
|
|
5981
|
+
"type": "object",
|
|
5982
|
+
"additionalProperties": {}
|
|
5983
|
+
},
|
|
5904
5984
|
"ReleaseInfo": {
|
|
5905
5985
|
"additionalProperties": false,
|
|
5906
5986
|
"properties": {
|
|
@@ -5943,6 +6023,52 @@
|
|
|
5943
6023
|
},
|
|
5944
6024
|
"type": "object"
|
|
5945
6025
|
},
|
|
6026
|
+
"RemoteBuildOptions": {
|
|
6027
|
+
"additionalProperties": false,
|
|
6028
|
+
"description": "Configuration for a remote snap build on [Launchpad](https://launchpad.net/).\nRemote builds run on Canonical's infrastructure without requiring native hardware or nested virtualisation.\n\nEach electron-builder build invocation targets exactly one architecture — to build for multiple\narchitectures, configure the top-level `arch` option (e.g. `arch: [\"x64\", \"arm64\"]`); each arch\nspawns a separate `snapcraft remote-build` job on Launchpad.\n\nAuthentication is resolved in this order:\n1. `cscLink` config field — base64-encoded credentials or a file path\n2. `SNAP_CSC_LINK` environment variable — same format as `cscLink`\n (CI-recommended; follows the same pattern as `WIN_CSC_LINK` for Windows code signing)\n3. `SNAPCRAFT_STORE_CREDENTIALS` environment variable (read directly by snapcraft)\n4. An active interactive `snapcraft login` session\n\n**CI setup** (set once as a CI secret):\n```sh\nexport SNAP_CSC_LINK=$(snapcraft export-login - | base64 -w0)\n```\nThe resolved credentials are injected only into the spawned `snapcraft` subprocess\nenvironment and never exposed through `process.env`.",
|
|
6029
|
+
"properties": {
|
|
6030
|
+
"acceptPublicUpload": {
|
|
6031
|
+
"description": "Suppress the Launchpad public-upload consent prompt by automatically accepting it.\nYour source code will be uploaded to a **public** Launchpad repository.\nSet to `true` in CI once you understand the implications.",
|
|
6032
|
+
"type": "boolean"
|
|
6033
|
+
},
|
|
6034
|
+
"buildFor": {
|
|
6035
|
+
"description": "Target architecture for the remote build. Accepts a single snapcraft arch string\n(e.g. `\"amd64\"`, `\"arm64\"`, `\"armhf\"`).\n\nTo build for multiple architectures, configure electron-builder's top-level `arch` option\n(e.g. `arch: [\"x64\", \"arm64\"]`) — each arch spawns a separate remote-build job on Launchpad,\nkeeping the one-build-per-artifact contract intact.",
|
|
6036
|
+
"type": "string"
|
|
6037
|
+
},
|
|
6038
|
+
"enabled": {
|
|
6039
|
+
"description": "Whether to enable remote build on Launchpad. Must be set explicitly to `true` to opt in.",
|
|
6040
|
+
"type": "boolean"
|
|
6041
|
+
},
|
|
6042
|
+
"launchpadUsername": {
|
|
6043
|
+
"description": "Your Launchpad username. Used to select the correct Launchpad account when more than\none set of credentials is available.",
|
|
6044
|
+
"type": "string"
|
|
6045
|
+
},
|
|
6046
|
+
"privateProject": {
|
|
6047
|
+
"description": "Launchpad project name to use for a **private** source upload.\nThe project must already exist and you must have write access.",
|
|
6048
|
+
"type": "string"
|
|
6049
|
+
},
|
|
6050
|
+
"recover": {
|
|
6051
|
+
"description": "Resume a previously interrupted remote build rather than starting a new one.",
|
|
6052
|
+
"type": "boolean"
|
|
6053
|
+
},
|
|
6054
|
+
"strategy": {
|
|
6055
|
+
"description": "Controls whether snapcraft may fall back to a different remote build strategy.\n- `\"disable-fallback\"` — always use the primary strategy, fail if unavailable.\n- `\"force-fallback\"` — always use the fallback strategy.",
|
|
6056
|
+
"enum": [
|
|
6057
|
+
"disable-fallback",
|
|
6058
|
+
"force-fallback"
|
|
6059
|
+
],
|
|
6060
|
+
"type": "string"
|
|
6061
|
+
},
|
|
6062
|
+
"timeout": {
|
|
6063
|
+
"description": "Maximum time in seconds to wait for the remote build to complete before aborting.\nPassed to `snapcraft remote-build` as `--timeout <seconds>`.",
|
|
6064
|
+
"type": "number"
|
|
6065
|
+
}
|
|
6066
|
+
},
|
|
6067
|
+
"required": [
|
|
6068
|
+
"enabled"
|
|
6069
|
+
],
|
|
6070
|
+
"type": "object"
|
|
6071
|
+
},
|
|
5946
6072
|
"RpmOptions": {
|
|
5947
6073
|
"additionalProperties": false,
|
|
5948
6074
|
"properties": {
|
|
@@ -6308,10 +6434,12 @@
|
|
|
6308
6434
|
}
|
|
6309
6435
|
]
|
|
6310
6436
|
},
|
|
6437
|
+
"description": "Maps a named slot to its attribute object.\n`null` uses snapd defaults for that interface.",
|
|
6311
6438
|
"type": "object"
|
|
6312
6439
|
},
|
|
6313
6440
|
"SnapOptions": {
|
|
6314
6441
|
"additionalProperties": false,
|
|
6442
|
+
"description": "Flat snap options. Used via the `snap` key in your build config.",
|
|
6315
6443
|
"properties": {
|
|
6316
6444
|
"after": {
|
|
6317
6445
|
"anyOf": [
|
|
@@ -6325,10 +6453,10 @@
|
|
|
6325
6453
|
"type": "null"
|
|
6326
6454
|
}
|
|
6327
6455
|
],
|
|
6328
|
-
"description": "
|
|
6456
|
+
"description": "Names of snapcraft parts that must be built before the app part.\nDefaults to `[\"desktop-gtk2\"]`.\n\nUse `\"default\"` to keep the default and add extras:\n`[\"default\", \"my-helper-part\"]`."
|
|
6329
6457
|
},
|
|
6330
6458
|
"allowNativeWayland": {
|
|
6331
|
-
"description": "Allow
|
|
6459
|
+
"description": "Allow the snap to run with native Wayland support (`--ozone-platform=wayland`).\nDefaults to `false` for Electron < 38 (legacy behaviour); `true` for Electron ≥ 38.\nSet explicitly to override the version-based default.",
|
|
6332
6460
|
"type": [
|
|
6333
6461
|
"null",
|
|
6334
6462
|
"boolean"
|
|
@@ -6346,7 +6474,7 @@
|
|
|
6346
6474
|
"type": "null"
|
|
6347
6475
|
}
|
|
6348
6476
|
],
|
|
6349
|
-
"description": "
|
|
6477
|
+
"description": "Filesets controlling which files from the app part are staged into the snap.\nSupports individual files, directories, globs, globstars, and exclusions (prefix `!`).\nSee [Snapcraft filesets](https://snapcraft.io/docs/snapcraft-filesets).\nWhen not set, the snap template's default stage list is used for legacy bases (core18/core20/core22)."
|
|
6350
6478
|
},
|
|
6351
6479
|
"artifactName": {
|
|
6352
6480
|
"description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
|
|
@@ -6370,15 +6498,15 @@
|
|
|
6370
6498
|
]
|
|
6371
6499
|
}
|
|
6372
6500
|
],
|
|
6373
|
-
"description": "
|
|
6501
|
+
"description": "[Snapd features](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes) that must\nbe present on the host before the snap can be installed."
|
|
6374
6502
|
},
|
|
6375
6503
|
"autoStart": {
|
|
6376
6504
|
"default": false,
|
|
6377
|
-
"description": "Whether
|
|
6505
|
+
"description": "Whether the snap should automatically start on login.",
|
|
6378
6506
|
"type": "boolean"
|
|
6379
6507
|
},
|
|
6380
6508
|
"base": {
|
|
6381
|
-
"description": "
|
|
6509
|
+
"description": "The snap base to use as the execution environment.\nExamples: `core18`, `core20`, `core22`.\n\nFor new projects, use the `snapcraft` key with `base: \"core24\"` instead of\nthis legacy interface.",
|
|
6382
6510
|
"type": [
|
|
6383
6511
|
"null",
|
|
6384
6512
|
"string"
|
|
@@ -6396,7 +6524,7 @@
|
|
|
6396
6524
|
"type": "null"
|
|
6397
6525
|
}
|
|
6398
6526
|
],
|
|
6399
|
-
"description": "
|
|
6527
|
+
"description": "Debian packages required at **build** time (installed inside the build environment)."
|
|
6400
6528
|
},
|
|
6401
6529
|
"category": {
|
|
6402
6530
|
"description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
|
|
@@ -6418,7 +6546,7 @@
|
|
|
6418
6546
|
"type": "null"
|
|
6419
6547
|
}
|
|
6420
6548
|
],
|
|
6421
|
-
"description": "
|
|
6549
|
+
"description": "Compression algorithm for the snap SquashFS image.\n- `xz` — smaller file, slower decompression (good for distribution).\n- `lzo` — larger file, faster decompression (good for development iteration).\nOmit to use snapcraft's default (`xz`).\n\nWhen not set, `linux.compression` is mapped automatically:\n`\"store\"` → `\"lzo\"`, `\"maximum\"` → `\"xz\"`, `\"normal\"` → snapcraft default.\nExplicitly setting this field always overrides the mapped value."
|
|
6422
6550
|
},
|
|
6423
6551
|
"confinement": {
|
|
6424
6552
|
"anyOf": [
|
|
@@ -6435,7 +6563,7 @@
|
|
|
6435
6563
|
}
|
|
6436
6564
|
],
|
|
6437
6565
|
"default": "strict",
|
|
6438
|
-
"description": "The type of [confinement](https://snapcraft.io/docs/reference/confinement)
|
|
6566
|
+
"description": "The type of [snap confinement](https://snapcraft.io/docs/reference/confinement).\n- `strict` — recommended; the snap runs in a fully isolated sandbox.\n- `devmode` — sandbox violations are logged but not enforced; for development only.\n- `classic` — no confinement; equivalent to a traditionally packaged application.\n Requires Snap Store approval before publishing."
|
|
6439
6567
|
},
|
|
6440
6568
|
"description": {
|
|
6441
6569
|
"description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
|
|
@@ -6467,7 +6595,7 @@
|
|
|
6467
6595
|
"type": "null"
|
|
6468
6596
|
}
|
|
6469
6597
|
],
|
|
6470
|
-
"description": "
|
|
6598
|
+
"description": "Environment variables injected into the snap's runtime environment.\nMerged with the electron-builder default `{ TMPDIR: \"$XDG_RUNTIME_DIR\" }`.\nUser-supplied values take precedence."
|
|
6471
6599
|
},
|
|
6472
6600
|
"executableArgs": {
|
|
6473
6601
|
"anyOf": [
|
|
@@ -6497,11 +6625,11 @@
|
|
|
6497
6625
|
}
|
|
6498
6626
|
],
|
|
6499
6627
|
"default": "stable",
|
|
6500
|
-
"description": "The quality grade of the snap
|
|
6628
|
+
"description": "The quality grade of the snap.\n- `stable` — suitable for all channels, including `stable` and `candidate`.\n- `devel` — development snapshot; cannot be promoted to `stable` or `candidate`."
|
|
6501
6629
|
},
|
|
6502
6630
|
"hooks": {
|
|
6503
6631
|
"default": "build/snap-hooks",
|
|
6504
|
-
"description": "
|
|
6632
|
+
"description": "Directory containing [snap hooks](https://snapcraft.io/docs/snap-hooks), relative to\nthe build resources directory (`build/`).",
|
|
6505
6633
|
"type": [
|
|
6506
6634
|
"null",
|
|
6507
6635
|
"string"
|
|
@@ -6516,7 +6644,7 @@
|
|
|
6516
6644
|
"type": "null"
|
|
6517
6645
|
}
|
|
6518
6646
|
],
|
|
6519
|
-
"description": "
|
|
6647
|
+
"description": "[Snap layouts](https://snapcraft.io/docs/snap-layouts) — bind-mount or symlink host paths\ninto the snap's namespace, making libraries or config at `/usr`, `/var`, `/etc`, etc.\naccessible inside the confined environment."
|
|
6520
6648
|
},
|
|
6521
6649
|
"mimeTypes": {
|
|
6522
6650
|
"anyOf": [
|
|
@@ -6554,7 +6682,7 @@
|
|
|
6554
6682
|
"type": "null"
|
|
6555
6683
|
}
|
|
6556
6684
|
],
|
|
6557
|
-
"description": "
|
|
6685
|
+
"description": "[Plugs](https://snapcraft.io/docs/reference/interfaces) (consumed interfaces) to declare\nfor the app entry point.\nDefaults to `[\"desktop\", \"desktop-legacy\", \"home\", \"x11\", \"wayland\", \"unity7\",\n\"browser-support\", \"network\", \"gsettings\", \"audio-playback\", \"pulseaudio\", \"opengl\"]`.\n\nUse `\"default\"` in the list to keep the defaults and append extras:\n`[\"default\", \"camera\"]` adds `camera` to the standard set.\n\nTo configure plug attributes (e.g. `allow-sandbox` for Chromium's internal sandbox),\nuse a descriptor object:\n```json\n[\n { \"browser-sandbox\": { \"interface\": \"browser-support\", \"allow-sandbox\": true } },\n \"another-simple-plug-name\"\n]\n```"
|
|
6558
6686
|
},
|
|
6559
6687
|
"publish": {
|
|
6560
6688
|
"anyOf": [
|
|
@@ -6602,7 +6730,7 @@
|
|
|
6602
6730
|
"slots": {
|
|
6603
6731
|
"anyOf": [
|
|
6604
6732
|
{
|
|
6605
|
-
"$ref": "#/definitions/
|
|
6733
|
+
"$ref": "#/definitions/SlotDescriptor"
|
|
6606
6734
|
},
|
|
6607
6735
|
{
|
|
6608
6736
|
"items": {
|
|
@@ -6621,7 +6749,7 @@
|
|
|
6621
6749
|
"type": "null"
|
|
6622
6750
|
}
|
|
6623
6751
|
],
|
|
6624
|
-
"description": "
|
|
6752
|
+
"description": "[Slots](https://snapcraft.io/docs/reference/interfaces) (provided interfaces) to declare\nfor the app.\n\nTo expose an MPRIS player under the Chromium bus name (required for strict confinement):\n```json\n[{ \"mpris\": { \"name\": \"chromium\" } }]\n```\nChromium [hard-codes](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/linux/system_media_controls_linux.cc;l=51;bpv=0;bpt=1)\nthe bus name `chromium`, so the slot name must match for snapd to\n[allow it](https://forum.snapcraft.io/t/unable-to-use-mpris-interface/15360/7)."
|
|
6625
6753
|
},
|
|
6626
6754
|
"stagePackages": {
|
|
6627
6755
|
"anyOf": [
|
|
@@ -6635,10 +6763,10 @@
|
|
|
6635
6763
|
"type": "null"
|
|
6636
6764
|
}
|
|
6637
6765
|
],
|
|
6638
|
-
"description": "
|
|
6766
|
+
"description": "Ubuntu packages to **stage** alongside the app (equivalent to `depends` for deb).\nDefaults to `[\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]`.\n\nUse the `\"default\"` keyword to extend the default list:\n`[\"default\", \"my-extra-lib\"]` appends `my-extra-lib` to the defaults."
|
|
6639
6767
|
},
|
|
6640
6768
|
"summary": {
|
|
6641
|
-
"description": "
|
|
6769
|
+
"description": "A short summary of the snap (max 78 characters).\nDefaults to [productName](./configuration.md#productName).",
|
|
6642
6770
|
"type": [
|
|
6643
6771
|
"null",
|
|
6644
6772
|
"string"
|
|
@@ -6652,24 +6780,59 @@
|
|
|
6652
6780
|
]
|
|
6653
6781
|
},
|
|
6654
6782
|
"title": {
|
|
6655
|
-
"description": "
|
|
6783
|
+
"description": "Display title for the snap (may contain uppercase letters and spaces).\nDefaults to `productName`.\nSee [snap format](https://snapcraft.io/docs/snap-format).",
|
|
6656
6784
|
"type": [
|
|
6657
6785
|
"null",
|
|
6658
6786
|
"string"
|
|
6659
6787
|
]
|
|
6660
6788
|
},
|
|
6661
6789
|
"useTemplateApp": {
|
|
6662
|
-
"description": "Whether to use template snap
|
|
6790
|
+
"description": "Whether to use the pre-built Electron snap template for faster builds.\nWhen `true`, electron-builder delegates snap assembly to the upstream Electron snap\ntemplate rather than running a full snapcraft build, significantly reducing build time.\nDefaults to `true` when `stagePackages` is not customised.\nOnly applicable to x64 and armv7l builds.",
|
|
6663
6791
|
"type": "boolean"
|
|
6664
6792
|
}
|
|
6665
6793
|
},
|
|
6666
6794
|
"type": "object"
|
|
6667
6795
|
},
|
|
6668
|
-
"
|
|
6796
|
+
"SnapOptions24": {
|
|
6669
6797
|
"additionalProperties": false,
|
|
6670
|
-
"description": "[
|
|
6798
|
+
"description": "**[Beta]** Options for building a core24 snap. This interface does not extend the legacy\n`SnapBaseOptions` — it uses the snapcraft CLI directly.\n\nFields inherited from {@link CommonLinuxOptions} (`description`, `category`, `mimeTypes`,\n`executableArgs`, `desktop`, `synopsis`) are automatically populated from the root `linux.*`\nconfiguration. You do not need to duplicate them here; values set directly on this interface\ntake precedence over the cascaded `linux.*` values.",
|
|
6671
6799
|
"properties": {
|
|
6672
|
-
"
|
|
6800
|
+
"after": {
|
|
6801
|
+
"anyOf": [
|
|
6802
|
+
{
|
|
6803
|
+
"items": {
|
|
6804
|
+
"type": "string"
|
|
6805
|
+
},
|
|
6806
|
+
"type": "array"
|
|
6807
|
+
},
|
|
6808
|
+
{
|
|
6809
|
+
"type": "null"
|
|
6810
|
+
}
|
|
6811
|
+
],
|
|
6812
|
+
"description": "Names of other snapcraft parts that must be built before the app part."
|
|
6813
|
+
},
|
|
6814
|
+
"appPartStage": {
|
|
6815
|
+
"anyOf": [
|
|
6816
|
+
{
|
|
6817
|
+
"items": {
|
|
6818
|
+
"type": "string"
|
|
6819
|
+
},
|
|
6820
|
+
"type": "array"
|
|
6821
|
+
},
|
|
6822
|
+
{
|
|
6823
|
+
"type": "null"
|
|
6824
|
+
}
|
|
6825
|
+
],
|
|
6826
|
+
"description": "Filesets controlling which files from the app part are staged into the snap.\nSupports glob patterns and exclusions. See [filesets](https://snapcraft.io/docs/snapcraft-filesets)."
|
|
6827
|
+
},
|
|
6828
|
+
"artifactName": {
|
|
6829
|
+
"description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
|
|
6830
|
+
"type": [
|
|
6831
|
+
"null",
|
|
6832
|
+
"string"
|
|
6833
|
+
]
|
|
6834
|
+
},
|
|
6835
|
+
"assumes": {
|
|
6673
6836
|
"anyOf": [
|
|
6674
6837
|
{
|
|
6675
6838
|
"items": {
|
|
@@ -6684,22 +6847,14 @@
|
|
|
6684
6847
|
]
|
|
6685
6848
|
}
|
|
6686
6849
|
],
|
|
6687
|
-
"
|
|
6688
|
-
"edge"
|
|
6689
|
-
],
|
|
6690
|
-
"description": "The list of channels the snap would be released."
|
|
6691
|
-
},
|
|
6692
|
-
"provider": {
|
|
6693
|
-
"const": "snapStore",
|
|
6694
|
-
"description": "The provider. Must be `snapStore`.",
|
|
6695
|
-
"type": "string"
|
|
6850
|
+
"description": "Features that must be supported by the host snapd before the snap can be installed.\nSee [assumes](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes)."
|
|
6696
6851
|
},
|
|
6697
|
-
"
|
|
6698
|
-
"default":
|
|
6699
|
-
"description": "Whether
|
|
6852
|
+
"autoStart": {
|
|
6853
|
+
"default": false,
|
|
6854
|
+
"description": "Whether the app should auto-start on login (creates an autostart desktop entry).",
|
|
6700
6855
|
"type": "boolean"
|
|
6701
6856
|
},
|
|
6702
|
-
"
|
|
6857
|
+
"buildPackages": {
|
|
6703
6858
|
"anyOf": [
|
|
6704
6859
|
{
|
|
6705
6860
|
"items": {
|
|
@@ -6710,46 +6865,22 @@
|
|
|
6710
6865
|
{
|
|
6711
6866
|
"type": "null"
|
|
6712
6867
|
}
|
|
6713
|
-
]
|
|
6714
|
-
|
|
6715
|
-
"repo": {
|
|
6716
|
-
"description": "snapcraft repo name",
|
|
6717
|
-
"type": "string"
|
|
6718
|
-
},
|
|
6719
|
-
"requestHeaders": {
|
|
6720
|
-
"$ref": "#/definitions/OutgoingHttpHeaders",
|
|
6721
|
-
"description": "Any custom request headers"
|
|
6722
|
-
},
|
|
6723
|
-
"timeout": {
|
|
6724
|
-
"default": 120000,
|
|
6725
|
-
"description": "Request timeout in milliseconds. (Default is 2 minutes; O is ignored)",
|
|
6726
|
-
"type": [
|
|
6727
|
-
"null",
|
|
6728
|
-
"number"
|
|
6729
|
-
]
|
|
6868
|
+
],
|
|
6869
|
+
"description": "Debian packages required at **build** time (installed inside the build environment)."
|
|
6730
6870
|
},
|
|
6731
|
-
"
|
|
6871
|
+
"category": {
|
|
6872
|
+
"description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
|
|
6732
6873
|
"type": [
|
|
6733
6874
|
"null",
|
|
6734
6875
|
"string"
|
|
6735
6876
|
]
|
|
6736
|
-
}
|
|
6737
|
-
|
|
6738
|
-
"required": [
|
|
6739
|
-
"provider"
|
|
6740
|
-
],
|
|
6741
|
-
"type": "object"
|
|
6742
|
-
},
|
|
6743
|
-
"SpacesOptions": {
|
|
6744
|
-
"additionalProperties": false,
|
|
6745
|
-
"description": "[DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces) options.\nAccess key is required, define `DO_KEY_ID` and `DO_SECRET_KEY` environment variables.",
|
|
6746
|
-
"properties": {
|
|
6747
|
-
"acl": {
|
|
6877
|
+
},
|
|
6878
|
+
"compression": {
|
|
6748
6879
|
"anyOf": [
|
|
6749
6880
|
{
|
|
6750
6881
|
"enum": [
|
|
6751
|
-
"
|
|
6752
|
-
"
|
|
6882
|
+
"lzo",
|
|
6883
|
+
"xz"
|
|
6753
6884
|
],
|
|
6754
6885
|
"type": "string"
|
|
6755
6886
|
},
|
|
@@ -6757,40 +6888,58 @@
|
|
|
6757
6888
|
"type": "null"
|
|
6758
6889
|
}
|
|
6759
6890
|
],
|
|
6760
|
-
"
|
|
6761
|
-
"description": "The ACL. Set to `null` to not [add](https://github.com/electron-userland/electron-builder/issues/1822)."
|
|
6762
|
-
},
|
|
6763
|
-
"channel": {
|
|
6764
|
-
"default": "latest",
|
|
6765
|
-
"description": "The update channel.",
|
|
6766
|
-
"type": [
|
|
6767
|
-
"null",
|
|
6768
|
-
"string"
|
|
6769
|
-
]
|
|
6891
|
+
"description": "Compression algorithm for the snap SquashFS image.\n- `xz` — smaller file, slower decompression (recommended for distribution).\n- `lzo` — larger file, faster decompression (useful for development iteration).\nOmit to use snapcraft's default (`xz`).\n\nWhen not set, `linux.compression` is mapped automatically:\n`\"store\"` → `\"lzo\"`, `\"maximum\"` → `\"xz\"`, `\"normal\"` → snapcraft default.\nExplicitly setting this field always overrides the mapped value."
|
|
6770
6892
|
},
|
|
6771
|
-
"
|
|
6772
|
-
"
|
|
6773
|
-
|
|
6893
|
+
"confinement": {
|
|
6894
|
+
"anyOf": [
|
|
6895
|
+
{
|
|
6896
|
+
"enum": [
|
|
6897
|
+
"classic",
|
|
6898
|
+
"devmode",
|
|
6899
|
+
"strict"
|
|
6900
|
+
],
|
|
6901
|
+
"type": "string"
|
|
6902
|
+
},
|
|
6903
|
+
{
|
|
6904
|
+
"type": "null"
|
|
6905
|
+
}
|
|
6906
|
+
],
|
|
6907
|
+
"default": "strict",
|
|
6908
|
+
"description": "The type of [confinement](https://snapcraft.io/docs/reference/confinement) supported by the snap."
|
|
6774
6909
|
},
|
|
6775
|
-
"
|
|
6776
|
-
"
|
|
6777
|
-
"description": "The directory path.",
|
|
6910
|
+
"description": {
|
|
6911
|
+
"description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
|
|
6778
6912
|
"type": [
|
|
6779
6913
|
"null",
|
|
6780
6914
|
"string"
|
|
6781
6915
|
]
|
|
6782
6916
|
},
|
|
6783
|
-
"
|
|
6784
|
-
"
|
|
6785
|
-
|
|
6786
|
-
|
|
6917
|
+
"desktop": {
|
|
6918
|
+
"anyOf": [
|
|
6919
|
+
{
|
|
6920
|
+
"$ref": "#/definitions/LinuxDesktopFile"
|
|
6921
|
+
},
|
|
6922
|
+
{
|
|
6923
|
+
"type": "null"
|
|
6924
|
+
}
|
|
6925
|
+
],
|
|
6926
|
+
"description": "The [Desktop file](https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html#desktop-files)"
|
|
6787
6927
|
},
|
|
6788
|
-
"
|
|
6789
|
-
"
|
|
6790
|
-
|
|
6791
|
-
|
|
6928
|
+
"environment": {
|
|
6929
|
+
"anyOf": [
|
|
6930
|
+
{
|
|
6931
|
+
"additionalProperties": {
|
|
6932
|
+
"type": "string"
|
|
6933
|
+
},
|
|
6934
|
+
"type": "object"
|
|
6935
|
+
},
|
|
6936
|
+
{
|
|
6937
|
+
"type": "null"
|
|
6938
|
+
}
|
|
6939
|
+
],
|
|
6940
|
+
"description": "Additional environment variables injected into the snap's runtime environment.\nMerged with the electron-builder defaults (`TMPDIR=$XDG_RUNTIME_DIR`).\nUser-supplied values take precedence."
|
|
6792
6941
|
},
|
|
6793
|
-
"
|
|
6942
|
+
"executableArgs": {
|
|
6794
6943
|
"anyOf": [
|
|
6795
6944
|
{
|
|
6796
6945
|
"items": {
|
|
@@ -6801,20 +6950,1138 @@
|
|
|
6801
6950
|
{
|
|
6802
6951
|
"type": "null"
|
|
6803
6952
|
}
|
|
6804
|
-
]
|
|
6805
|
-
|
|
6806
|
-
"region": {
|
|
6807
|
-
"description": "The region (e.g. `nyc3`).",
|
|
6808
|
-
"type": "string"
|
|
6809
|
-
},
|
|
6810
|
-
"requestHeaders": {
|
|
6811
|
-
"$ref": "#/definitions/OutgoingHttpHeaders",
|
|
6812
|
-
"description": "Any custom request headers"
|
|
6953
|
+
],
|
|
6954
|
+
"description": "The executable parameters. Pass to executableName"
|
|
6813
6955
|
},
|
|
6814
|
-
"
|
|
6815
|
-
"
|
|
6816
|
-
|
|
6817
|
-
|
|
6956
|
+
"extensions": {
|
|
6957
|
+
"anyOf": [
|
|
6958
|
+
{
|
|
6959
|
+
"items": {
|
|
6960
|
+
"type": "string"
|
|
6961
|
+
},
|
|
6962
|
+
"type": "array"
|
|
6963
|
+
},
|
|
6964
|
+
{
|
|
6965
|
+
"type": "null"
|
|
6966
|
+
}
|
|
6967
|
+
],
|
|
6968
|
+
"description": "[Snapcraft extensions](https://snapcraft.io/docs/snapcraft-extensions) to apply to the app.\nDefaults to `[\"gnome\"]` in normal builds (recommended for Electron apps on Ubuntu 24.04+).\nAutomatically set to `[]` in `useDestructiveMode` builds, where the gnome extension is\nincompatible. Explicitly including `\"gnome\"` while `useDestructiveMode` is set will throw.\nSee: https://snapcraft.io/docs/gnome-extension"
|
|
6969
|
+
},
|
|
6970
|
+
"forceX11": {
|
|
6971
|
+
"description": "Set to `true` to force X11 by injecting `--ozone-platform=x11` into the snap command line.\nWhen unset or `false`, no flag is injected and native Wayland is allowed.\nUnlike the legacy `snap.allowNativeWayland`, there is no electron-version-based default here —\ncore24 always allows Wayland unless this is explicitly `true`.",
|
|
6972
|
+
"type": [
|
|
6973
|
+
"null",
|
|
6974
|
+
"boolean"
|
|
6975
|
+
]
|
|
6976
|
+
},
|
|
6977
|
+
"grade": {
|
|
6978
|
+
"anyOf": [
|
|
6979
|
+
{
|
|
6980
|
+
"enum": [
|
|
6981
|
+
"devel",
|
|
6982
|
+
"stable"
|
|
6983
|
+
],
|
|
6984
|
+
"type": "string"
|
|
6985
|
+
},
|
|
6986
|
+
{
|
|
6987
|
+
"type": "null"
|
|
6988
|
+
}
|
|
6989
|
+
],
|
|
6990
|
+
"default": "stable",
|
|
6991
|
+
"description": "The quality grade of the snap.\n`devel` — not publishable to stable/candidate channels.\n`stable` — suitable for all channels."
|
|
6992
|
+
},
|
|
6993
|
+
"hooks": {
|
|
6994
|
+
"default": "build/snap-hooks",
|
|
6995
|
+
"description": "Directory containing [snap hooks](https://snapcraft.io/docs/snap-hooks), relative to\nthe build resources directory.",
|
|
6996
|
+
"type": [
|
|
6997
|
+
"null",
|
|
6998
|
+
"string"
|
|
6999
|
+
]
|
|
7000
|
+
},
|
|
7001
|
+
"layout": {
|
|
7002
|
+
"anyOf": [
|
|
7003
|
+
{
|
|
7004
|
+
"typeof": "function"
|
|
7005
|
+
},
|
|
7006
|
+
{
|
|
7007
|
+
"type": "null"
|
|
7008
|
+
}
|
|
7009
|
+
],
|
|
7010
|
+
"description": "[Snap layouts](https://snapcraft.io/docs/snap-layouts) — bind-mount or symlink host paths\ninto the snap's namespace. User-provided layouts always override the extension defaults."
|
|
7011
|
+
},
|
|
7012
|
+
"mimeTypes": {
|
|
7013
|
+
"anyOf": [
|
|
7014
|
+
{
|
|
7015
|
+
"items": {
|
|
7016
|
+
"type": "string"
|
|
7017
|
+
},
|
|
7018
|
+
"type": "array"
|
|
7019
|
+
},
|
|
7020
|
+
{
|
|
7021
|
+
"type": "null"
|
|
7022
|
+
}
|
|
7023
|
+
],
|
|
7024
|
+
"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."
|
|
7025
|
+
},
|
|
7026
|
+
"plugs": {
|
|
7027
|
+
"anyOf": [
|
|
7028
|
+
{
|
|
7029
|
+
"$ref": "#/definitions/PlugDescriptor"
|
|
7030
|
+
},
|
|
7031
|
+
{
|
|
7032
|
+
"items": {
|
|
7033
|
+
"anyOf": [
|
|
7034
|
+
{
|
|
7035
|
+
"$ref": "#/definitions/PlugDescriptor"
|
|
7036
|
+
},
|
|
7037
|
+
{
|
|
7038
|
+
"type": "string"
|
|
7039
|
+
}
|
|
7040
|
+
]
|
|
7041
|
+
},
|
|
7042
|
+
"type": "array"
|
|
7043
|
+
},
|
|
7044
|
+
{
|
|
7045
|
+
"type": "null"
|
|
7046
|
+
}
|
|
7047
|
+
],
|
|
7048
|
+
"description": "[Plugs](https://snapcraft.io/docs/reference/interfaces) (consumed interfaces) for the app.\nWhen the `gnome` extension is active, content-snap plugs (themes, GNOME platform, GPU)\nare added automatically — only list custom plugs here.\nWithout any extension, defaults to the standard Electron plug set.\n\nSupports descriptor objects for plugs with attributes:\n```json\n[{ \"browser-sandbox\": { \"interface\": \"browser-support\", \"allow-sandbox\": true } }]\n```"
|
|
7049
|
+
},
|
|
7050
|
+
"publish": {
|
|
7051
|
+
"anyOf": [
|
|
7052
|
+
{
|
|
7053
|
+
"$ref": "#/definitions/GithubOptions"
|
|
7054
|
+
},
|
|
7055
|
+
{
|
|
7056
|
+
"$ref": "#/definitions/GitlabOptions"
|
|
7057
|
+
},
|
|
7058
|
+
{
|
|
7059
|
+
"$ref": "#/definitions/S3Options"
|
|
7060
|
+
},
|
|
7061
|
+
{
|
|
7062
|
+
"$ref": "#/definitions/SpacesOptions"
|
|
7063
|
+
},
|
|
7064
|
+
{
|
|
7065
|
+
"$ref": "#/definitions/GenericServerOptions"
|
|
7066
|
+
},
|
|
7067
|
+
{
|
|
7068
|
+
"$ref": "#/definitions/CustomPublishOptions"
|
|
7069
|
+
},
|
|
7070
|
+
{
|
|
7071
|
+
"$ref": "#/definitions/KeygenOptions"
|
|
7072
|
+
},
|
|
7073
|
+
{
|
|
7074
|
+
"$ref": "#/definitions/SnapStoreOptions"
|
|
7075
|
+
},
|
|
7076
|
+
{
|
|
7077
|
+
"$ref": "#/definitions/BitbucketOptions"
|
|
7078
|
+
},
|
|
7079
|
+
{
|
|
7080
|
+
"items": {
|
|
7081
|
+
"$ref": "#/definitions/AllPublishOptions"
|
|
7082
|
+
},
|
|
7083
|
+
"type": "array"
|
|
7084
|
+
},
|
|
7085
|
+
{
|
|
7086
|
+
"type": [
|
|
7087
|
+
"null",
|
|
7088
|
+
"string"
|
|
7089
|
+
]
|
|
7090
|
+
}
|
|
7091
|
+
]
|
|
7092
|
+
},
|
|
7093
|
+
"remoteBuild": {
|
|
7094
|
+
"anyOf": [
|
|
7095
|
+
{
|
|
7096
|
+
"$ref": "#/definitions/RemoteBuildOptions"
|
|
7097
|
+
},
|
|
7098
|
+
{
|
|
7099
|
+
"type": "null"
|
|
7100
|
+
}
|
|
7101
|
+
],
|
|
7102
|
+
"description": "Configuration for a remote build on [Launchpad](https://launchpad.net/).\nEnables cross-architecture builds in CI without native hardware or nested virtualisation.\nEach build invocation targets one arch; use `arch: [\"x64\", \"arm64\"]` to build for multiple."
|
|
7103
|
+
},
|
|
7104
|
+
"slots": {
|
|
7105
|
+
"anyOf": [
|
|
7106
|
+
{
|
|
7107
|
+
"$ref": "#/definitions/SlotDescriptor"
|
|
7108
|
+
},
|
|
7109
|
+
{
|
|
7110
|
+
"items": {
|
|
7111
|
+
"anyOf": [
|
|
7112
|
+
{
|
|
7113
|
+
"$ref": "#/definitions/SlotDescriptor"
|
|
7114
|
+
},
|
|
7115
|
+
{
|
|
7116
|
+
"type": "string"
|
|
7117
|
+
}
|
|
7118
|
+
]
|
|
7119
|
+
},
|
|
7120
|
+
"type": "array"
|
|
7121
|
+
},
|
|
7122
|
+
{
|
|
7123
|
+
"type": "null"
|
|
7124
|
+
}
|
|
7125
|
+
],
|
|
7126
|
+
"description": "[Slots](https://snapcraft.io/docs/reference/interfaces) (provided interfaces) for the app.\nUse for MPRIS, D-Bus services, etc.\n\nExample — expose MPRIS under the Chromium bus name:\n```json\n[{ \"mpris\": { \"name\": \"chromium\" } }]\n```"
|
|
7127
|
+
},
|
|
7128
|
+
"stagePackages": {
|
|
7129
|
+
"anyOf": [
|
|
7130
|
+
{
|
|
7131
|
+
"items": {
|
|
7132
|
+
"type": "string"
|
|
7133
|
+
},
|
|
7134
|
+
"type": "array"
|
|
7135
|
+
},
|
|
7136
|
+
{
|
|
7137
|
+
"type": "null"
|
|
7138
|
+
}
|
|
7139
|
+
],
|
|
7140
|
+
"description": "Ubuntu packages to **stage** alongside the app (equivalent to `depends` for deb).\nDefaults to `[\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]`.\nSupports the `\"default\"` keyword to reference the default list:\n`[\"default\", \"my-extra-lib\"]` appends `my-extra-lib` to the defaults."
|
|
7141
|
+
},
|
|
7142
|
+
"summary": {
|
|
7143
|
+
"description": "A short summary of the snap (max 78 characters). Defaults to `productName`.",
|
|
7144
|
+
"type": [
|
|
7145
|
+
"null",
|
|
7146
|
+
"string"
|
|
7147
|
+
]
|
|
7148
|
+
},
|
|
7149
|
+
"synopsis": {
|
|
7150
|
+
"description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
|
|
7151
|
+
"type": [
|
|
7152
|
+
"null",
|
|
7153
|
+
"string"
|
|
7154
|
+
]
|
|
7155
|
+
},
|
|
7156
|
+
"title": {
|
|
7157
|
+
"description": "An optional display title (may contain uppercase letters and spaces). Defaults to `productName`.\nSee [snap format](https://snapcraft.io/docs/snap-format).",
|
|
7158
|
+
"type": [
|
|
7159
|
+
"null",
|
|
7160
|
+
"string"
|
|
7161
|
+
]
|
|
7162
|
+
},
|
|
7163
|
+
"useDestructiveMode": {
|
|
7164
|
+
"description": "Build directly on the host without an isolated VM or container (snapcraft `--destructive-mode`).\nEquivalent to setting `SNAPCRAFT_BUILD_ENVIRONMENT=host`.\n\n**Not recommended for most use cases.** Destructive mode pollutes the host environment\nand produces builds that are difficult to reproduce — any library or tool present on the\nhost at build time can silently end up in the snap. Prefer `useLXD` or `useMultipass`\nfor clean, reproducible builds; use `remoteBuild` for multi-architecture CI.\n\nValid reasons to enable this option:\n- Building inside a Docker container where nested virtualisation (LXD / Multipass) is\n unavailable and a remote Launchpad build is not acceptable.\n- Running test suites in CI where the environment is already fully controlled.\n\nThe `gnome` extension is incompatible with this mode enabled — do not include it in `extensions`.",
|
|
7165
|
+
"type": [
|
|
7166
|
+
"null",
|
|
7167
|
+
"boolean"
|
|
7168
|
+
]
|
|
7169
|
+
},
|
|
7170
|
+
"useLXD": {
|
|
7171
|
+
"description": "Use [LXD](https://canonical.com/lxd) as the isolated build environment.\nPreferred over Multipass on most Linux CI systems where nested virtualisation is unavailable.\nMutually exclusive with `useMultipass` and `useDestructiveMode`.",
|
|
7172
|
+
"type": [
|
|
7173
|
+
"null",
|
|
7174
|
+
"boolean"
|
|
7175
|
+
]
|
|
7176
|
+
},
|
|
7177
|
+
"useMultipass": {
|
|
7178
|
+
"description": "Use [Multipass](https://multipass.run/) as the isolated build environment.\nMutually exclusive with `useLXD` and `useDestructiveMode`.",
|
|
7179
|
+
"type": [
|
|
7180
|
+
"null",
|
|
7181
|
+
"boolean"
|
|
7182
|
+
]
|
|
7183
|
+
}
|
|
7184
|
+
},
|
|
7185
|
+
"type": "object"
|
|
7186
|
+
},
|
|
7187
|
+
"SnapOptionsCustom": {
|
|
7188
|
+
"additionalProperties": false,
|
|
7189
|
+
"properties": {
|
|
7190
|
+
"yaml": {
|
|
7191
|
+
"anyOf": [
|
|
7192
|
+
{
|
|
7193
|
+
"$ref": "#/definitions/SnapcraftYAML"
|
|
7194
|
+
},
|
|
7195
|
+
{
|
|
7196
|
+
"type": [
|
|
7197
|
+
"null",
|
|
7198
|
+
"string"
|
|
7199
|
+
]
|
|
7200
|
+
}
|
|
7201
|
+
],
|
|
7202
|
+
"description": "Supports 2 routes:\n- Path to an existing `snapcraft.yaml` file, relative to `buildResourcesDir`. electron-builder reads the file and passes it through without modification.\n- A `SnapcraftYAML` object directly in the configuration. electron-builder uses the object to generate a `snapcraft.yaml` file, which is then passed through without modification."
|
|
7203
|
+
}
|
|
7204
|
+
},
|
|
7205
|
+
"type": "object"
|
|
7206
|
+
},
|
|
7207
|
+
"SnapOptionsLegacy": {
|
|
7208
|
+
"additionalProperties": false,
|
|
7209
|
+
"properties": {
|
|
7210
|
+
"after": {
|
|
7211
|
+
"anyOf": [
|
|
7212
|
+
{
|
|
7213
|
+
"items": {
|
|
7214
|
+
"type": "string"
|
|
7215
|
+
},
|
|
7216
|
+
"type": "array"
|
|
7217
|
+
},
|
|
7218
|
+
{
|
|
7219
|
+
"type": "null"
|
|
7220
|
+
}
|
|
7221
|
+
],
|
|
7222
|
+
"description": "Names of snapcraft parts that must be built before the app part.\nDefaults to `[\"desktop-gtk2\"]`.\n\nUse `\"default\"` to keep the default and add extras:\n`[\"default\", \"my-helper-part\"]`."
|
|
7223
|
+
},
|
|
7224
|
+
"allowNativeWayland": {
|
|
7225
|
+
"description": "Allow the snap to run with native Wayland support (`--ozone-platform=wayland`).\nDefaults to `false` for Electron < 38 (legacy behaviour); `true` for Electron ≥ 38.\nSet explicitly to override the version-based default.",
|
|
7226
|
+
"type": [
|
|
7227
|
+
"null",
|
|
7228
|
+
"boolean"
|
|
7229
|
+
]
|
|
7230
|
+
},
|
|
7231
|
+
"appPartStage": {
|
|
7232
|
+
"anyOf": [
|
|
7233
|
+
{
|
|
7234
|
+
"items": {
|
|
7235
|
+
"type": "string"
|
|
7236
|
+
},
|
|
7237
|
+
"type": "array"
|
|
7238
|
+
},
|
|
7239
|
+
{
|
|
7240
|
+
"type": "null"
|
|
7241
|
+
}
|
|
7242
|
+
],
|
|
7243
|
+
"description": "Filesets controlling which files from the app part are staged into the snap.\nSupports individual files, directories, globs, globstars, and exclusions (prefix `!`).\nSee [Snapcraft filesets](https://snapcraft.io/docs/snapcraft-filesets).\nWhen not set, the snap template's default stage list is used for legacy bases (core18/core20/core22)."
|
|
7244
|
+
},
|
|
7245
|
+
"artifactName": {
|
|
7246
|
+
"description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
|
|
7247
|
+
"type": [
|
|
7248
|
+
"null",
|
|
7249
|
+
"string"
|
|
7250
|
+
]
|
|
7251
|
+
},
|
|
7252
|
+
"assumes": {
|
|
7253
|
+
"anyOf": [
|
|
7254
|
+
{
|
|
7255
|
+
"items": {
|
|
7256
|
+
"type": "string"
|
|
7257
|
+
},
|
|
7258
|
+
"type": "array"
|
|
7259
|
+
},
|
|
7260
|
+
{
|
|
7261
|
+
"type": [
|
|
7262
|
+
"null",
|
|
7263
|
+
"string"
|
|
7264
|
+
]
|
|
7265
|
+
}
|
|
7266
|
+
],
|
|
7267
|
+
"description": "[Snapd features](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes) that must\nbe present on the host before the snap can be installed."
|
|
7268
|
+
},
|
|
7269
|
+
"autoStart": {
|
|
7270
|
+
"default": false,
|
|
7271
|
+
"description": "Whether the snap should automatically start on login.",
|
|
7272
|
+
"type": "boolean"
|
|
7273
|
+
},
|
|
7274
|
+
"buildPackages": {
|
|
7275
|
+
"anyOf": [
|
|
7276
|
+
{
|
|
7277
|
+
"items": {
|
|
7278
|
+
"type": "string"
|
|
7279
|
+
},
|
|
7280
|
+
"type": "array"
|
|
7281
|
+
},
|
|
7282
|
+
{
|
|
7283
|
+
"type": "null"
|
|
7284
|
+
}
|
|
7285
|
+
],
|
|
7286
|
+
"description": "Debian packages required at **build** time (installed inside the build environment)."
|
|
7287
|
+
},
|
|
7288
|
+
"category": {
|
|
7289
|
+
"description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
|
|
7290
|
+
"type": [
|
|
7291
|
+
"null",
|
|
7292
|
+
"string"
|
|
7293
|
+
]
|
|
7294
|
+
},
|
|
7295
|
+
"compression": {
|
|
7296
|
+
"anyOf": [
|
|
7297
|
+
{
|
|
7298
|
+
"enum": [
|
|
7299
|
+
"lzo",
|
|
7300
|
+
"xz"
|
|
7301
|
+
],
|
|
7302
|
+
"type": "string"
|
|
7303
|
+
},
|
|
7304
|
+
{
|
|
7305
|
+
"type": "null"
|
|
7306
|
+
}
|
|
7307
|
+
],
|
|
7308
|
+
"description": "Compression algorithm for the snap SquashFS image.\n- `xz` — smaller file, slower decompression (good for distribution).\n- `lzo` — larger file, faster decompression (good for development iteration).\nOmit to use snapcraft's default (`xz`).\n\nWhen not set, `linux.compression` is mapped automatically:\n`\"store\"` → `\"lzo\"`, `\"maximum\"` → `\"xz\"`, `\"normal\"` → snapcraft default.\nExplicitly setting this field always overrides the mapped value."
|
|
7309
|
+
},
|
|
7310
|
+
"confinement": {
|
|
7311
|
+
"anyOf": [
|
|
7312
|
+
{
|
|
7313
|
+
"enum": [
|
|
7314
|
+
"classic",
|
|
7315
|
+
"devmode",
|
|
7316
|
+
"strict"
|
|
7317
|
+
],
|
|
7318
|
+
"type": "string"
|
|
7319
|
+
},
|
|
7320
|
+
{
|
|
7321
|
+
"type": "null"
|
|
7322
|
+
}
|
|
7323
|
+
],
|
|
7324
|
+
"default": "strict",
|
|
7325
|
+
"description": "The type of [snap confinement](https://snapcraft.io/docs/reference/confinement).\n- `strict` — recommended; the snap runs in a fully isolated sandbox.\n- `devmode` — sandbox violations are logged but not enforced; for development only.\n- `classic` — no confinement; equivalent to a traditionally packaged application.\n Requires Snap Store approval before publishing."
|
|
7326
|
+
},
|
|
7327
|
+
"description": {
|
|
7328
|
+
"description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
|
|
7329
|
+
"type": [
|
|
7330
|
+
"null",
|
|
7331
|
+
"string"
|
|
7332
|
+
]
|
|
7333
|
+
},
|
|
7334
|
+
"desktop": {
|
|
7335
|
+
"anyOf": [
|
|
7336
|
+
{
|
|
7337
|
+
"$ref": "#/definitions/LinuxDesktopFile"
|
|
7338
|
+
},
|
|
7339
|
+
{
|
|
7340
|
+
"type": "null"
|
|
7341
|
+
}
|
|
7342
|
+
],
|
|
7343
|
+
"description": "The [Desktop file](https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html#desktop-files)"
|
|
7344
|
+
},
|
|
7345
|
+
"environment": {
|
|
7346
|
+
"anyOf": [
|
|
7347
|
+
{
|
|
7348
|
+
"typeof": "function"
|
|
7349
|
+
},
|
|
7350
|
+
{
|
|
7351
|
+
"type": "null"
|
|
7352
|
+
}
|
|
7353
|
+
],
|
|
7354
|
+
"description": "Environment variables injected into the snap's runtime environment.\nMerged with the electron-builder default `{ TMPDIR: \"$XDG_RUNTIME_DIR\" }`.\nUser-supplied values take precedence."
|
|
7355
|
+
},
|
|
7356
|
+
"executableArgs": {
|
|
7357
|
+
"anyOf": [
|
|
7358
|
+
{
|
|
7359
|
+
"items": {
|
|
7360
|
+
"type": "string"
|
|
7361
|
+
},
|
|
7362
|
+
"type": "array"
|
|
7363
|
+
},
|
|
7364
|
+
{
|
|
7365
|
+
"type": "null"
|
|
7366
|
+
}
|
|
7367
|
+
],
|
|
7368
|
+
"description": "The executable parameters. Pass to executableName"
|
|
7369
|
+
},
|
|
7370
|
+
"grade": {
|
|
7371
|
+
"anyOf": [
|
|
7372
|
+
{
|
|
7373
|
+
"enum": [
|
|
7374
|
+
"devel",
|
|
7375
|
+
"stable"
|
|
7376
|
+
],
|
|
7377
|
+
"type": "string"
|
|
7378
|
+
},
|
|
7379
|
+
{
|
|
7380
|
+
"type": "null"
|
|
7381
|
+
}
|
|
7382
|
+
],
|
|
7383
|
+
"default": "stable",
|
|
7384
|
+
"description": "The quality grade of the snap.\n- `stable` — suitable for all channels, including `stable` and `candidate`.\n- `devel` — development snapshot; cannot be promoted to `stable` or `candidate`."
|
|
7385
|
+
},
|
|
7386
|
+
"hooks": {
|
|
7387
|
+
"default": "build/snap-hooks",
|
|
7388
|
+
"description": "Directory containing [snap hooks](https://snapcraft.io/docs/snap-hooks), relative to\nthe build resources directory (`build/`).",
|
|
7389
|
+
"type": [
|
|
7390
|
+
"null",
|
|
7391
|
+
"string"
|
|
7392
|
+
]
|
|
7393
|
+
},
|
|
7394
|
+
"layout": {
|
|
7395
|
+
"anyOf": [
|
|
7396
|
+
{
|
|
7397
|
+
"typeof": "function"
|
|
7398
|
+
},
|
|
7399
|
+
{
|
|
7400
|
+
"type": "null"
|
|
7401
|
+
}
|
|
7402
|
+
],
|
|
7403
|
+
"description": "[Snap layouts](https://snapcraft.io/docs/snap-layouts) — bind-mount or symlink host paths\ninto the snap's namespace, making libraries or config at `/usr`, `/var`, `/etc`, etc.\naccessible inside the confined environment."
|
|
7404
|
+
},
|
|
7405
|
+
"mimeTypes": {
|
|
7406
|
+
"anyOf": [
|
|
7407
|
+
{
|
|
7408
|
+
"items": {
|
|
7409
|
+
"type": "string"
|
|
7410
|
+
},
|
|
7411
|
+
"type": "array"
|
|
7412
|
+
},
|
|
7413
|
+
{
|
|
7414
|
+
"type": "null"
|
|
7415
|
+
}
|
|
7416
|
+
],
|
|
7417
|
+
"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."
|
|
7418
|
+
},
|
|
7419
|
+
"plugs": {
|
|
7420
|
+
"anyOf": [
|
|
7421
|
+
{
|
|
7422
|
+
"$ref": "#/definitions/PlugDescriptor"
|
|
7423
|
+
},
|
|
7424
|
+
{
|
|
7425
|
+
"items": {
|
|
7426
|
+
"anyOf": [
|
|
7427
|
+
{
|
|
7428
|
+
"$ref": "#/definitions/PlugDescriptor"
|
|
7429
|
+
},
|
|
7430
|
+
{
|
|
7431
|
+
"type": "string"
|
|
7432
|
+
}
|
|
7433
|
+
]
|
|
7434
|
+
},
|
|
7435
|
+
"type": "array"
|
|
7436
|
+
},
|
|
7437
|
+
{
|
|
7438
|
+
"type": "null"
|
|
7439
|
+
}
|
|
7440
|
+
],
|
|
7441
|
+
"description": "[Plugs](https://snapcraft.io/docs/reference/interfaces) (consumed interfaces) to declare\nfor the app entry point.\nDefaults to `[\"desktop\", \"desktop-legacy\", \"home\", \"x11\", \"wayland\", \"unity7\",\n\"browser-support\", \"network\", \"gsettings\", \"audio-playback\", \"pulseaudio\", \"opengl\"]`.\n\nUse `\"default\"` in the list to keep the defaults and append extras:\n`[\"default\", \"camera\"]` adds `camera` to the standard set.\n\nTo configure plug attributes (e.g. `allow-sandbox` for Chromium's internal sandbox),\nuse a descriptor object:\n```json\n[\n { \"browser-sandbox\": { \"interface\": \"browser-support\", \"allow-sandbox\": true } },\n \"another-simple-plug-name\"\n]\n```"
|
|
7442
|
+
},
|
|
7443
|
+
"publish": {
|
|
7444
|
+
"anyOf": [
|
|
7445
|
+
{
|
|
7446
|
+
"$ref": "#/definitions/GithubOptions"
|
|
7447
|
+
},
|
|
7448
|
+
{
|
|
7449
|
+
"$ref": "#/definitions/GitlabOptions"
|
|
7450
|
+
},
|
|
7451
|
+
{
|
|
7452
|
+
"$ref": "#/definitions/S3Options"
|
|
7453
|
+
},
|
|
7454
|
+
{
|
|
7455
|
+
"$ref": "#/definitions/SpacesOptions"
|
|
7456
|
+
},
|
|
7457
|
+
{
|
|
7458
|
+
"$ref": "#/definitions/GenericServerOptions"
|
|
7459
|
+
},
|
|
7460
|
+
{
|
|
7461
|
+
"$ref": "#/definitions/CustomPublishOptions"
|
|
7462
|
+
},
|
|
7463
|
+
{
|
|
7464
|
+
"$ref": "#/definitions/KeygenOptions"
|
|
7465
|
+
},
|
|
7466
|
+
{
|
|
7467
|
+
"$ref": "#/definitions/SnapStoreOptions"
|
|
7468
|
+
},
|
|
7469
|
+
{
|
|
7470
|
+
"$ref": "#/definitions/BitbucketOptions"
|
|
7471
|
+
},
|
|
7472
|
+
{
|
|
7473
|
+
"items": {
|
|
7474
|
+
"$ref": "#/definitions/AllPublishOptions"
|
|
7475
|
+
},
|
|
7476
|
+
"type": "array"
|
|
7477
|
+
},
|
|
7478
|
+
{
|
|
7479
|
+
"type": [
|
|
7480
|
+
"null",
|
|
7481
|
+
"string"
|
|
7482
|
+
]
|
|
7483
|
+
}
|
|
7484
|
+
]
|
|
7485
|
+
},
|
|
7486
|
+
"slots": {
|
|
7487
|
+
"anyOf": [
|
|
7488
|
+
{
|
|
7489
|
+
"$ref": "#/definitions/SlotDescriptor"
|
|
7490
|
+
},
|
|
7491
|
+
{
|
|
7492
|
+
"items": {
|
|
7493
|
+
"anyOf": [
|
|
7494
|
+
{
|
|
7495
|
+
"$ref": "#/definitions/SlotDescriptor"
|
|
7496
|
+
},
|
|
7497
|
+
{
|
|
7498
|
+
"type": "string"
|
|
7499
|
+
}
|
|
7500
|
+
]
|
|
7501
|
+
},
|
|
7502
|
+
"type": "array"
|
|
7503
|
+
},
|
|
7504
|
+
{
|
|
7505
|
+
"type": "null"
|
|
7506
|
+
}
|
|
7507
|
+
],
|
|
7508
|
+
"description": "[Slots](https://snapcraft.io/docs/reference/interfaces) (provided interfaces) to declare\nfor the app.\n\nTo expose an MPRIS player under the Chromium bus name (required for strict confinement):\n```json\n[{ \"mpris\": { \"name\": \"chromium\" } }]\n```\nChromium [hard-codes](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/linux/system_media_controls_linux.cc;l=51;bpv=0;bpt=1)\nthe bus name `chromium`, so the slot name must match for snapd to\n[allow it](https://forum.snapcraft.io/t/unable-to-use-mpris-interface/15360/7)."
|
|
7509
|
+
},
|
|
7510
|
+
"stagePackages": {
|
|
7511
|
+
"anyOf": [
|
|
7512
|
+
{
|
|
7513
|
+
"items": {
|
|
7514
|
+
"type": "string"
|
|
7515
|
+
},
|
|
7516
|
+
"type": "array"
|
|
7517
|
+
},
|
|
7518
|
+
{
|
|
7519
|
+
"type": "null"
|
|
7520
|
+
}
|
|
7521
|
+
],
|
|
7522
|
+
"description": "Ubuntu packages to **stage** alongside the app (equivalent to `depends` for deb).\nDefaults to `[\"libnspr4\", \"libnss3\", \"libxss1\", \"libappindicator3-1\", \"libsecret-1-0\"]`.\n\nUse the `\"default\"` keyword to extend the default list:\n`[\"default\", \"my-extra-lib\"]` appends `my-extra-lib` to the defaults."
|
|
7523
|
+
},
|
|
7524
|
+
"summary": {
|
|
7525
|
+
"description": "A short summary of the snap (max 78 characters).\nDefaults to [productName](./configuration.md#productName).",
|
|
7526
|
+
"type": [
|
|
7527
|
+
"null",
|
|
7528
|
+
"string"
|
|
7529
|
+
]
|
|
7530
|
+
},
|
|
7531
|
+
"synopsis": {
|
|
7532
|
+
"description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
|
|
7533
|
+
"type": [
|
|
7534
|
+
"null",
|
|
7535
|
+
"string"
|
|
7536
|
+
]
|
|
7537
|
+
},
|
|
7538
|
+
"title": {
|
|
7539
|
+
"description": "Display title for the snap (may contain uppercase letters and spaces).\nDefaults to `productName`.\nSee [snap format](https://snapcraft.io/docs/snap-format).",
|
|
7540
|
+
"type": [
|
|
7541
|
+
"null",
|
|
7542
|
+
"string"
|
|
7543
|
+
]
|
|
7544
|
+
},
|
|
7545
|
+
"useTemplateApp": {
|
|
7546
|
+
"description": "Whether to use the pre-built Electron snap template for faster builds.\nWhen `true`, electron-builder delegates snap assembly to the upstream Electron snap\ntemplate rather than running a full snapcraft build, significantly reducing build time.\nDefaults to `true` when `stagePackages` is not customised.\nOnly applicable to x64 and armv7l builds.",
|
|
7547
|
+
"type": "boolean"
|
|
7548
|
+
}
|
|
7549
|
+
},
|
|
7550
|
+
"type": "object"
|
|
7551
|
+
},
|
|
7552
|
+
"SnapStoreOptions": {
|
|
7553
|
+
"additionalProperties": false,
|
|
7554
|
+
"description": "[Snap Store](https://snapcraft.io/) options. To publish directly to Snapcraft, see <a href=\"https://snapcraft.io/docs/snapcraft-authentication\">Snapcraft authentication options</a> for local or CI/CD authentication options.",
|
|
7555
|
+
"properties": {
|
|
7556
|
+
"channels": {
|
|
7557
|
+
"anyOf": [
|
|
7558
|
+
{
|
|
7559
|
+
"items": {
|
|
7560
|
+
"type": "string"
|
|
7561
|
+
},
|
|
7562
|
+
"type": "array"
|
|
7563
|
+
},
|
|
7564
|
+
{
|
|
7565
|
+
"type": [
|
|
7566
|
+
"null",
|
|
7567
|
+
"string"
|
|
7568
|
+
]
|
|
7569
|
+
}
|
|
7570
|
+
],
|
|
7571
|
+
"default": [
|
|
7572
|
+
"edge"
|
|
7573
|
+
],
|
|
7574
|
+
"description": "The list of channels the snap would be released."
|
|
7575
|
+
},
|
|
7576
|
+
"provider": {
|
|
7577
|
+
"const": "snapStore",
|
|
7578
|
+
"description": "The provider. Must be `snapStore`.",
|
|
7579
|
+
"type": "string"
|
|
7580
|
+
},
|
|
7581
|
+
"publishAutoUpdate": {
|
|
7582
|
+
"default": true,
|
|
7583
|
+
"description": "Whether to publish auto update info files.\n\nAuto update relies only on the first provider in the list (you can specify several publishers).\nThus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.",
|
|
7584
|
+
"type": "boolean"
|
|
7585
|
+
},
|
|
7586
|
+
"publisherName": {
|
|
7587
|
+
"anyOf": [
|
|
7588
|
+
{
|
|
7589
|
+
"items": {
|
|
7590
|
+
"type": "string"
|
|
7591
|
+
},
|
|
7592
|
+
"type": "array"
|
|
7593
|
+
},
|
|
7594
|
+
{
|
|
7595
|
+
"type": "null"
|
|
7596
|
+
}
|
|
7597
|
+
]
|
|
7598
|
+
},
|
|
7599
|
+
"repo": {
|
|
7600
|
+
"description": "snapcraft repo name",
|
|
7601
|
+
"type": "string"
|
|
7602
|
+
},
|
|
7603
|
+
"requestHeaders": {
|
|
7604
|
+
"$ref": "#/definitions/OutgoingHttpHeaders",
|
|
7605
|
+
"description": "Any custom request headers"
|
|
7606
|
+
},
|
|
7607
|
+
"timeout": {
|
|
7608
|
+
"default": 120000,
|
|
7609
|
+
"description": "Request timeout in milliseconds. (Default is 2 minutes; O is ignored)",
|
|
7610
|
+
"type": [
|
|
7611
|
+
"null",
|
|
7612
|
+
"number"
|
|
7613
|
+
]
|
|
7614
|
+
},
|
|
7615
|
+
"updaterCacheDirName": {
|
|
7616
|
+
"type": [
|
|
7617
|
+
"null",
|
|
7618
|
+
"string"
|
|
7619
|
+
]
|
|
7620
|
+
}
|
|
7621
|
+
},
|
|
7622
|
+
"required": [
|
|
7623
|
+
"provider"
|
|
7624
|
+
],
|
|
7625
|
+
"type": "object"
|
|
7626
|
+
},
|
|
7627
|
+
"SnapcraftOptions": {
|
|
7628
|
+
"additionalProperties": false,
|
|
7629
|
+
"description": "New-style snap configuration. Use this via the `snapcraft` key in your build config.\nSelects the snapcraft core version and its per-core options.",
|
|
7630
|
+
"properties": {
|
|
7631
|
+
"artifactName": {
|
|
7632
|
+
"description": "The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template).",
|
|
7633
|
+
"type": [
|
|
7634
|
+
"null",
|
|
7635
|
+
"string"
|
|
7636
|
+
]
|
|
7637
|
+
},
|
|
7638
|
+
"base": {
|
|
7639
|
+
"description": "The snap base to use as the execution environment. Determines which set of per-core options\n(`core18`, `core20`, `core22`, `core24`, `custom`) is active.\n\nOnly one core may be selected per build target.",
|
|
7640
|
+
"enum": [
|
|
7641
|
+
"core18",
|
|
7642
|
+
"core20",
|
|
7643
|
+
"core22",
|
|
7644
|
+
"core24",
|
|
7645
|
+
"custom"
|
|
7646
|
+
],
|
|
7647
|
+
"type": "string"
|
|
7648
|
+
},
|
|
7649
|
+
"core18": {
|
|
7650
|
+
"anyOf": [
|
|
7651
|
+
{
|
|
7652
|
+
"$ref": "#/definitions/SnapOptionsLegacy"
|
|
7653
|
+
},
|
|
7654
|
+
{
|
|
7655
|
+
"type": "null"
|
|
7656
|
+
}
|
|
7657
|
+
],
|
|
7658
|
+
"description": "Configuration for a core18 build. Only active when `base` is `\"core18\"`."
|
|
7659
|
+
},
|
|
7660
|
+
"core20": {
|
|
7661
|
+
"anyOf": [
|
|
7662
|
+
{
|
|
7663
|
+
"$ref": "#/definitions/SnapOptionsLegacy"
|
|
7664
|
+
},
|
|
7665
|
+
{
|
|
7666
|
+
"type": "null"
|
|
7667
|
+
}
|
|
7668
|
+
],
|
|
7669
|
+
"description": "Configuration for a core20 build. Only active when `base` is `\"core20\"`."
|
|
7670
|
+
},
|
|
7671
|
+
"core22": {
|
|
7672
|
+
"anyOf": [
|
|
7673
|
+
{
|
|
7674
|
+
"$ref": "#/definitions/SnapOptionsLegacy"
|
|
7675
|
+
},
|
|
7676
|
+
{
|
|
7677
|
+
"type": "null"
|
|
7678
|
+
}
|
|
7679
|
+
],
|
|
7680
|
+
"description": "Configuration for a core22 build. Only active when `base` is `\"core22\"`."
|
|
7681
|
+
},
|
|
7682
|
+
"core24": {
|
|
7683
|
+
"anyOf": [
|
|
7684
|
+
{
|
|
7685
|
+
"$ref": "#/definitions/SnapOptions24"
|
|
7686
|
+
},
|
|
7687
|
+
{
|
|
7688
|
+
"type": "null"
|
|
7689
|
+
}
|
|
7690
|
+
],
|
|
7691
|
+
"description": "**[Beta]** Options for building a core24 snap. Uses the snapcraft CLI directly.\nInherits desktop-entry fields from `CommonLinuxOptions` and publish config from `TargetSpecificOptions`."
|
|
7692
|
+
},
|
|
7693
|
+
"cscLink": {
|
|
7694
|
+
"description": "Snapcraft Store credentials — base64-encoded credentials string or file path.\nAccepts the same formats as `WIN_CSC_LINK` / `CSC_LINK`: base64 data,\nabsolute/relative/`~/` file paths, and `file://` URIs.\nRelative paths are resolved against the build resources directory.\n\nInjected as `SNAPCRAFT_STORE_CREDENTIALS` into every snapcraft subprocess\n(core18/core20/core22/core24 builds and `snapcraft upload`).\nNot applied for `base: \"custom\"` — inject credentials manually via environment variables.\n\nThe `SNAP_CSC_LINK` environment variable is the CI-friendly alternative.\nGenerate with: `snapcraft export-login - | base64 -w0`",
|
|
7695
|
+
"type": "string"
|
|
7696
|
+
},
|
|
7697
|
+
"custom": {
|
|
7698
|
+
"anyOf": [
|
|
7699
|
+
{
|
|
7700
|
+
"$ref": "#/definitions/SnapOptionsCustom"
|
|
7701
|
+
},
|
|
7702
|
+
{
|
|
7703
|
+
"type": "null"
|
|
7704
|
+
}
|
|
7705
|
+
],
|
|
7706
|
+
"description": "**[Beta]** Pass-through custom snap configuration. electron-builder will read the\nsnapcraft.yaml at `yamlPath` and use it verbatim — no plugs, extensions,\norganize mappings, or desktop files are injected."
|
|
7707
|
+
},
|
|
7708
|
+
"publish": {
|
|
7709
|
+
"anyOf": [
|
|
7710
|
+
{
|
|
7711
|
+
"$ref": "#/definitions/GithubOptions"
|
|
7712
|
+
},
|
|
7713
|
+
{
|
|
7714
|
+
"$ref": "#/definitions/GitlabOptions"
|
|
7715
|
+
},
|
|
7716
|
+
{
|
|
7717
|
+
"$ref": "#/definitions/S3Options"
|
|
7718
|
+
},
|
|
7719
|
+
{
|
|
7720
|
+
"$ref": "#/definitions/SpacesOptions"
|
|
7721
|
+
},
|
|
7722
|
+
{
|
|
7723
|
+
"$ref": "#/definitions/GenericServerOptions"
|
|
7724
|
+
},
|
|
7725
|
+
{
|
|
7726
|
+
"$ref": "#/definitions/CustomPublishOptions"
|
|
7727
|
+
},
|
|
7728
|
+
{
|
|
7729
|
+
"$ref": "#/definitions/KeygenOptions"
|
|
7730
|
+
},
|
|
7731
|
+
{
|
|
7732
|
+
"$ref": "#/definitions/SnapStoreOptions"
|
|
7733
|
+
},
|
|
7734
|
+
{
|
|
7735
|
+
"$ref": "#/definitions/BitbucketOptions"
|
|
7736
|
+
},
|
|
7737
|
+
{
|
|
7738
|
+
"items": {
|
|
7739
|
+
"$ref": "#/definitions/AllPublishOptions"
|
|
7740
|
+
},
|
|
7741
|
+
"type": "array"
|
|
7742
|
+
},
|
|
7743
|
+
{
|
|
7744
|
+
"type": [
|
|
7745
|
+
"null",
|
|
7746
|
+
"string"
|
|
7747
|
+
]
|
|
7748
|
+
}
|
|
7749
|
+
]
|
|
7750
|
+
}
|
|
7751
|
+
},
|
|
7752
|
+
"required": [
|
|
7753
|
+
"base"
|
|
7754
|
+
],
|
|
7755
|
+
"type": "object"
|
|
7756
|
+
},
|
|
7757
|
+
"SnapcraftYAML": {
|
|
7758
|
+
"additionalProperties": false,
|
|
7759
|
+
"description": "Latest TypeScript types for snapcraft.yaml\nFocuses on the most common Core24 configuration\nBased on https://snapcraft.io/docs/snapcraft-yaml-reference\n npm install -g json-schema-to-typescript\n curl -o snapcraft-schema.json https://raw.githubusercontent.com/canonical/snapcraft/refs/heads/main/schema/snapcraft.json\n npx json2ts -i snapcraft-schema.json -o snapcraft.ts\n(manual edits to simplify and make more strict)",
|
|
7760
|
+
"properties": {
|
|
7761
|
+
"adopt-info": {
|
|
7762
|
+
"description": "Selects a part to inherit metadata from",
|
|
7763
|
+
"type": "string"
|
|
7764
|
+
},
|
|
7765
|
+
"apps": {
|
|
7766
|
+
"$ref": "#/definitions/Record<string,App>",
|
|
7767
|
+
"description": "The individual programs and services that the snap runs"
|
|
7768
|
+
},
|
|
7769
|
+
"architectures": {
|
|
7770
|
+
"description": "The architectures that the snap builds and runs on (core22 and earlier)",
|
|
7771
|
+
"items": {
|
|
7772
|
+
"anyOf": [
|
|
7773
|
+
{
|
|
7774
|
+
"$ref": "#/definitions/Architecture"
|
|
7775
|
+
},
|
|
7776
|
+
{
|
|
7777
|
+
"type": "string"
|
|
7778
|
+
}
|
|
7779
|
+
]
|
|
7780
|
+
},
|
|
7781
|
+
"type": "array"
|
|
7782
|
+
},
|
|
7783
|
+
"assumes": {
|
|
7784
|
+
"description": "The minimum version of snapd and features the snap requires",
|
|
7785
|
+
"items": {
|
|
7786
|
+
"type": "string"
|
|
7787
|
+
},
|
|
7788
|
+
"type": "array"
|
|
7789
|
+
},
|
|
7790
|
+
"base": {
|
|
7791
|
+
"description": "The baseline system that the snap is built in",
|
|
7792
|
+
"enum": [
|
|
7793
|
+
"bare",
|
|
7794
|
+
"core22",
|
|
7795
|
+
"core24",
|
|
7796
|
+
"core26",
|
|
7797
|
+
"devel"
|
|
7798
|
+
],
|
|
7799
|
+
"type": "string"
|
|
7800
|
+
},
|
|
7801
|
+
"build-base": {
|
|
7802
|
+
"description": "The baseline system that the snap is built in",
|
|
7803
|
+
"type": "string"
|
|
7804
|
+
},
|
|
7805
|
+
"components": {
|
|
7806
|
+
"$ref": "#/definitions/Record<string,Component>",
|
|
7807
|
+
"description": "Components to build in conjunction with the snap"
|
|
7808
|
+
},
|
|
7809
|
+
"compression": {
|
|
7810
|
+
"description": "Specifies the algorithm that compresses the snap",
|
|
7811
|
+
"enum": [
|
|
7812
|
+
"lzo",
|
|
7813
|
+
"xz"
|
|
7814
|
+
],
|
|
7815
|
+
"type": "string"
|
|
7816
|
+
},
|
|
7817
|
+
"confinement": {
|
|
7818
|
+
"description": "The amount of isolation the snap has from the host system",
|
|
7819
|
+
"enum": [
|
|
7820
|
+
"classic",
|
|
7821
|
+
"devmode",
|
|
7822
|
+
"strict"
|
|
7823
|
+
],
|
|
7824
|
+
"type": "string"
|
|
7825
|
+
},
|
|
7826
|
+
"contact": {
|
|
7827
|
+
"anyOf": [
|
|
7828
|
+
{
|
|
7829
|
+
"items": {
|
|
7830
|
+
"type": "string"
|
|
7831
|
+
},
|
|
7832
|
+
"type": "array"
|
|
7833
|
+
},
|
|
7834
|
+
{
|
|
7835
|
+
"type": "string"
|
|
7836
|
+
}
|
|
7837
|
+
],
|
|
7838
|
+
"description": "The snap author's contact links and email addresses"
|
|
7839
|
+
},
|
|
7840
|
+
"description": {
|
|
7841
|
+
"type": "string"
|
|
7842
|
+
},
|
|
7843
|
+
"donation": {
|
|
7844
|
+
"anyOf": [
|
|
7845
|
+
{
|
|
7846
|
+
"items": {
|
|
7847
|
+
"type": "string"
|
|
7848
|
+
},
|
|
7849
|
+
"type": "array"
|
|
7850
|
+
},
|
|
7851
|
+
{
|
|
7852
|
+
"type": "string"
|
|
7853
|
+
}
|
|
7854
|
+
],
|
|
7855
|
+
"description": "The snap's donation links"
|
|
7856
|
+
},
|
|
7857
|
+
"environment": {
|
|
7858
|
+
"$ref": "#/definitions/Record<string,string|null>",
|
|
7859
|
+
"description": "The snap's runtime environment variables"
|
|
7860
|
+
},
|
|
7861
|
+
"epoch": {
|
|
7862
|
+
"description": "The epoch associated with this version of the snap",
|
|
7863
|
+
"type": "string"
|
|
7864
|
+
},
|
|
7865
|
+
"grade": {
|
|
7866
|
+
"enum": [
|
|
7867
|
+
"devel",
|
|
7868
|
+
"stable"
|
|
7869
|
+
],
|
|
7870
|
+
"type": "string"
|
|
7871
|
+
},
|
|
7872
|
+
"hooks": {
|
|
7873
|
+
"$ref": "#/definitions/Record<string,Hook>",
|
|
7874
|
+
"description": "Configures the snap's hooks"
|
|
7875
|
+
},
|
|
7876
|
+
"icon": {
|
|
7877
|
+
"description": "The path to the snap's icon file",
|
|
7878
|
+
"type": "string"
|
|
7879
|
+
},
|
|
7880
|
+
"issues": {
|
|
7881
|
+
"anyOf": [
|
|
7882
|
+
{
|
|
7883
|
+
"items": {
|
|
7884
|
+
"type": "string"
|
|
7885
|
+
},
|
|
7886
|
+
"type": "array"
|
|
7887
|
+
},
|
|
7888
|
+
{
|
|
7889
|
+
"type": "string"
|
|
7890
|
+
}
|
|
7891
|
+
],
|
|
7892
|
+
"description": "Links for submitting issues, bugs, and feature requests"
|
|
7893
|
+
},
|
|
7894
|
+
"layout": {
|
|
7895
|
+
"$ref": "#/definitions/Record<string,Record<string,string>>",
|
|
7896
|
+
"description": "The file layouts in the execution environment"
|
|
7897
|
+
},
|
|
7898
|
+
"license": {
|
|
7899
|
+
"description": "The project's license as an SPDX expression",
|
|
7900
|
+
"type": "string"
|
|
7901
|
+
},
|
|
7902
|
+
"lint": {
|
|
7903
|
+
"description": "The linter configuration settings",
|
|
7904
|
+
"typeof": "function"
|
|
7905
|
+
},
|
|
7906
|
+
"name": {
|
|
7907
|
+
"description": "The identifying name of the snap",
|
|
7908
|
+
"type": "string"
|
|
7909
|
+
},
|
|
7910
|
+
"package-repositories": {
|
|
7911
|
+
"description": "The package repositories to use for build and stage packages",
|
|
7912
|
+
"items": {
|
|
7913
|
+
"$ref": "#/definitions/Record<string,unknown>"
|
|
7914
|
+
},
|
|
7915
|
+
"type": "array"
|
|
7916
|
+
},
|
|
7917
|
+
"parts": {
|
|
7918
|
+
"$ref": "#/definitions/Record<string,Part>",
|
|
7919
|
+
"description": "The self-contained software pieces needed to create the final artifact"
|
|
7920
|
+
},
|
|
7921
|
+
"passthrough": {
|
|
7922
|
+
"$ref": "#/definitions/Record<string,unknown>",
|
|
7923
|
+
"description": "Attributes to pass to snap's metadata file"
|
|
7924
|
+
},
|
|
7925
|
+
"platforms": {
|
|
7926
|
+
"$ref": "#/definitions/Record<string,Platform>",
|
|
7927
|
+
"description": "The platforms where the snap can be built and run (core24+)"
|
|
7928
|
+
},
|
|
7929
|
+
"plugs": {
|
|
7930
|
+
"$ref": "#/definitions/Record<string,unknown>",
|
|
7931
|
+
"description": "Declares the snap's plugs"
|
|
7932
|
+
},
|
|
7933
|
+
"provenance": {
|
|
7934
|
+
"description": "Primary-key header for snaps signed by third parties",
|
|
7935
|
+
"type": "string"
|
|
7936
|
+
},
|
|
7937
|
+
"slots": {
|
|
7938
|
+
"$ref": "#/definitions/Record<string,unknown>",
|
|
7939
|
+
"description": "Declares the snap's slots"
|
|
7940
|
+
},
|
|
7941
|
+
"source-code": {
|
|
7942
|
+
"anyOf": [
|
|
7943
|
+
{
|
|
7944
|
+
"items": {
|
|
7945
|
+
"type": "string"
|
|
7946
|
+
},
|
|
7947
|
+
"type": "array"
|
|
7948
|
+
},
|
|
7949
|
+
{
|
|
7950
|
+
"type": "string"
|
|
7951
|
+
}
|
|
7952
|
+
],
|
|
7953
|
+
"description": "Links to the source code"
|
|
7954
|
+
},
|
|
7955
|
+
"summary": {
|
|
7956
|
+
"description": "A short description of the project (max 78 chars)",
|
|
7957
|
+
"type": "string"
|
|
7958
|
+
},
|
|
7959
|
+
"system-usernames": {
|
|
7960
|
+
"$ref": "#/definitions/Record<string,unknown>",
|
|
7961
|
+
"description": "The system usernames the snap can use"
|
|
7962
|
+
},
|
|
7963
|
+
"title": {
|
|
7964
|
+
"type": "string"
|
|
7965
|
+
},
|
|
7966
|
+
"type": {
|
|
7967
|
+
"description": "Snap type",
|
|
7968
|
+
"enum": [
|
|
7969
|
+
"app",
|
|
7970
|
+
"base",
|
|
7971
|
+
"gadget",
|
|
7972
|
+
"kernel",
|
|
7973
|
+
"snapd"
|
|
7974
|
+
],
|
|
7975
|
+
"type": "string"
|
|
7976
|
+
},
|
|
7977
|
+
"ua-services": {
|
|
7978
|
+
"description": "Ubuntu Pro services to enable when building",
|
|
7979
|
+
"items": {
|
|
7980
|
+
"type": "string"
|
|
7981
|
+
},
|
|
7982
|
+
"type": "array"
|
|
7983
|
+
},
|
|
7984
|
+
"version": {
|
|
7985
|
+
"type": "string"
|
|
7986
|
+
},
|
|
7987
|
+
"website": {
|
|
7988
|
+
"anyOf": [
|
|
7989
|
+
{
|
|
7990
|
+
"items": {
|
|
7991
|
+
"type": "string"
|
|
7992
|
+
},
|
|
7993
|
+
"type": "array"
|
|
7994
|
+
},
|
|
7995
|
+
{
|
|
7996
|
+
"type": "string"
|
|
7997
|
+
}
|
|
7998
|
+
],
|
|
7999
|
+
"description": "Links to the original software's web pages"
|
|
8000
|
+
}
|
|
8001
|
+
},
|
|
8002
|
+
"required": [
|
|
8003
|
+
"base",
|
|
8004
|
+
"confinement",
|
|
8005
|
+
"name",
|
|
8006
|
+
"parts"
|
|
8007
|
+
],
|
|
8008
|
+
"type": "object"
|
|
8009
|
+
},
|
|
8010
|
+
"SpacesOptions": {
|
|
8011
|
+
"additionalProperties": false,
|
|
8012
|
+
"description": "[DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces) options.\nAccess key is required, define `DO_KEY_ID` and `DO_SECRET_KEY` environment variables.",
|
|
8013
|
+
"properties": {
|
|
8014
|
+
"acl": {
|
|
8015
|
+
"anyOf": [
|
|
8016
|
+
{
|
|
8017
|
+
"enum": [
|
|
8018
|
+
"private",
|
|
8019
|
+
"public-read"
|
|
8020
|
+
],
|
|
8021
|
+
"type": "string"
|
|
8022
|
+
},
|
|
8023
|
+
{
|
|
8024
|
+
"type": "null"
|
|
8025
|
+
}
|
|
8026
|
+
],
|
|
8027
|
+
"default": "public-read",
|
|
8028
|
+
"description": "The ACL. Set to `null` to not [add](https://github.com/electron-userland/electron-builder/issues/1822)."
|
|
8029
|
+
},
|
|
8030
|
+
"channel": {
|
|
8031
|
+
"default": "latest",
|
|
8032
|
+
"description": "The update channel.",
|
|
8033
|
+
"type": [
|
|
8034
|
+
"null",
|
|
8035
|
+
"string"
|
|
8036
|
+
]
|
|
8037
|
+
},
|
|
8038
|
+
"name": {
|
|
8039
|
+
"description": "The space name.",
|
|
8040
|
+
"type": "string"
|
|
8041
|
+
},
|
|
8042
|
+
"path": {
|
|
8043
|
+
"default": "/",
|
|
8044
|
+
"description": "The directory path.",
|
|
8045
|
+
"type": [
|
|
8046
|
+
"null",
|
|
8047
|
+
"string"
|
|
8048
|
+
]
|
|
8049
|
+
},
|
|
8050
|
+
"provider": {
|
|
8051
|
+
"const": "spaces",
|
|
8052
|
+
"description": "The provider. Must be `spaces`.",
|
|
8053
|
+
"type": "string"
|
|
8054
|
+
},
|
|
8055
|
+
"publishAutoUpdate": {
|
|
8056
|
+
"default": true,
|
|
8057
|
+
"description": "Whether to publish auto update info files.\n\nAuto update relies only on the first provider in the list (you can specify several publishers).\nThus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.",
|
|
8058
|
+
"type": "boolean"
|
|
8059
|
+
},
|
|
8060
|
+
"publisherName": {
|
|
8061
|
+
"anyOf": [
|
|
8062
|
+
{
|
|
8063
|
+
"items": {
|
|
8064
|
+
"type": "string"
|
|
8065
|
+
},
|
|
8066
|
+
"type": "array"
|
|
8067
|
+
},
|
|
8068
|
+
{
|
|
8069
|
+
"type": "null"
|
|
8070
|
+
}
|
|
8071
|
+
]
|
|
8072
|
+
},
|
|
8073
|
+
"region": {
|
|
8074
|
+
"description": "The region (e.g. `nyc3`).",
|
|
8075
|
+
"type": "string"
|
|
8076
|
+
},
|
|
8077
|
+
"requestHeaders": {
|
|
8078
|
+
"$ref": "#/definitions/OutgoingHttpHeaders",
|
|
8079
|
+
"description": "Any custom request headers"
|
|
8080
|
+
},
|
|
8081
|
+
"timeout": {
|
|
8082
|
+
"default": 120000,
|
|
8083
|
+
"description": "Request timeout in milliseconds. (Default is 2 minutes; O is ignored)",
|
|
8084
|
+
"type": [
|
|
6818
8085
|
"null",
|
|
6819
8086
|
"number"
|
|
6820
8087
|
]
|
|
@@ -6989,6 +8256,22 @@
|
|
|
6989
8256
|
"default": "0.0.0",
|
|
6990
8257
|
"description": "`appimage` bundle version to use for Appimage packaging and runtime.\nLocated at https://github.com/electron-userland/electron-builder-binaries/releases?q=appimage&expanded=true\n0.0.0 - legacy toolset (appimage)\n\nBetas:\n1.0.2 - Runtime 20251108\n1.0.3 - Runtime 20251108 (Resolves GH issue #9598)"
|
|
6991
8258
|
},
|
|
8259
|
+
"nsis": {
|
|
8260
|
+
"anyOf": [
|
|
8261
|
+
{
|
|
8262
|
+
"enum": [
|
|
8263
|
+
"0.0.0",
|
|
8264
|
+
"1.2.1"
|
|
8265
|
+
],
|
|
8266
|
+
"type": "string"
|
|
8267
|
+
},
|
|
8268
|
+
{
|
|
8269
|
+
"type": "null"
|
|
8270
|
+
}
|
|
8271
|
+
],
|
|
8272
|
+
"default": "0.0.0",
|
|
8273
|
+
"description": "`nsis` bundle version to use for NSIS installer compilation.\nLocated at https://github.com/electron-userland/electron-builder-binaries/releases?q=nsis&expanded=true\n0.0.0 - legacy toolset (nsis-3.0.4.1 + nsis-resources-3.4.1)\n\nBetas:\n1.2.1 - unified bundle (makensis 3.12 + plugins in one archive, entrypoint scripts auto-set NSISDIR)"
|
|
8274
|
+
},
|
|
6992
8275
|
"winCodeSign": {
|
|
6993
8276
|
"anyOf": [
|
|
6994
8277
|
{
|
|
@@ -8469,7 +9752,18 @@
|
|
|
8469
9752
|
"type": "null"
|
|
8470
9753
|
}
|
|
8471
9754
|
],
|
|
8472
|
-
"description": "
|
|
9755
|
+
"description": "Flat snap configuration targeting core22 and older snap bases."
|
|
9756
|
+
},
|
|
9757
|
+
"snapcraft": {
|
|
9758
|
+
"anyOf": [
|
|
9759
|
+
{
|
|
9760
|
+
"$ref": "#/definitions/SnapcraftOptions"
|
|
9761
|
+
},
|
|
9762
|
+
{
|
|
9763
|
+
"type": "null"
|
|
9764
|
+
}
|
|
9765
|
+
],
|
|
9766
|
+
"description": "Snapcraft configuration. Prefer this over the deprecated `snap` field.\n\nSelects the snapcraft base and provides per-core options:\n- `base: \"core18\" | \"core20\" | \"core22\"` — legacy builds; accepts the same options as `snap`\n- `base: \"core24\"` — modern builds with the GNOME extension (recommended for new apps, requires Electron 25+)\n- `base: \"custom\"` — pass an existing `snapcraft.yaml` through unchanged; no plugs, extensions,\n or desktop files are injected\n\nWhen both `snapcraft` and `snap` are set, `snapcraft` takes precedence."
|
|
8473
9767
|
},
|
|
8474
9768
|
"squirrelWindows": {
|
|
8475
9769
|
"anyOf": [
|