app-builder-lib 26.12.1 → 26.13.1

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 (84) hide show
  1. package/out/asar/asarFileChecker.d.ts +2 -2
  2. package/out/asar/asarFileChecker.js +3 -2
  3. package/out/asar/asarFileChecker.js.map +1 -1
  4. package/out/asar/asarUtil.js +3 -2
  5. package/out/asar/asarUtil.js.map +1 -1
  6. package/out/binDownload.js +4 -4
  7. package/out/binDownload.js.map +1 -1
  8. package/out/codeSign/certInfo.d.ts +54 -0
  9. package/out/codeSign/certInfo.js +466 -0
  10. package/out/codeSign/certInfo.js.map +1 -0
  11. package/out/codeSign/macCodeSign.d.ts +1 -1
  12. package/out/codeSign/macCodeSign.js +8 -7
  13. package/out/codeSign/macCodeSign.js.map +1 -1
  14. package/out/codeSign/windowsSignToolManager.d.ts +2 -0
  15. package/out/codeSign/windowsSignToolManager.js +10 -9
  16. package/out/codeSign/windowsSignToolManager.js.map +1 -1
  17. package/out/configuration.d.ts +5 -0
  18. package/out/configuration.js.map +1 -1
  19. package/out/index.d.ts +2 -1
  20. package/out/index.js +3 -1
  21. package/out/index.js.map +1 -1
  22. package/out/mac/MacTargetHelper.d.ts +3 -3
  23. package/out/mac/MacTargetHelper.js +7 -5
  24. package/out/mac/MacTargetHelper.js.map +1 -1
  25. package/out/macPackager.js +3 -2
  26. package/out/macPackager.js.map +1 -1
  27. package/out/node-module-collector/moduleManager.d.ts +15 -3
  28. package/out/node-module-collector/moduleManager.js +24 -0
  29. package/out/node-module-collector/moduleManager.js.map +1 -1
  30. package/out/node-module-collector/nodeModulesCollector.d.ts +6 -0
  31. package/out/node-module-collector/nodeModulesCollector.js +40 -21
  32. package/out/node-module-collector/nodeModulesCollector.js.map +1 -1
  33. package/out/options/linuxOptions.d.ts +4 -3
  34. package/out/options/linuxOptions.js.map +1 -1
  35. package/out/options/macOptions.d.ts +6 -0
  36. package/out/options/macOptions.js.map +1 -1
  37. package/out/options/metadata.d.ts +2 -0
  38. package/out/options/metadata.js.map +1 -1
  39. package/out/platformPackager.d.ts +1 -1
  40. package/out/platformPackager.js +19 -17
  41. package/out/platformPackager.js.map +1 -1
  42. package/out/targets/LinuxTargetHelper.js +12 -5
  43. package/out/targets/LinuxTargetHelper.js.map +1 -1
  44. package/out/targets/appimage/AppImageTarget.d.ts +0 -2
  45. package/out/targets/appimage/AppImageTarget.js +25 -41
  46. package/out/targets/appimage/AppImageTarget.js.map +1 -1
  47. package/out/targets/appimage/appImageUtil.d.ts +3 -1
  48. package/out/targets/appimage/appImageUtil.js +33 -0
  49. package/out/targets/appimage/appImageUtil.js.map +1 -1
  50. package/out/targets/nsis/NsisTarget.js +29 -9
  51. package/out/targets/nsis/NsisTarget.js.map +1 -1
  52. package/out/targets/nsis/WebInstallerTarget.js +2 -2
  53. package/out/targets/nsis/WebInstallerTarget.js.map +1 -1
  54. package/out/targets/nsis/nsisValidation.d.ts +18 -0
  55. package/out/targets/nsis/nsisValidation.js +52 -0
  56. package/out/targets/nsis/nsisValidation.js.map +1 -0
  57. package/out/toolsets/linux.d.ts +3 -1
  58. package/out/toolsets/linux.js +49 -21
  59. package/out/toolsets/linux.js.map +1 -1
  60. package/out/util/config/config.js +6 -7
  61. package/out/util/config/config.js.map +1 -1
  62. package/out/util/config/schemaValidator.d.ts +7 -0
  63. package/out/util/config/schemaValidator.js +154 -0
  64. package/out/util/config/schemaValidator.js.map +1 -0
  65. package/out/util/dynamicImport.d.ts +1 -0
  66. package/out/util/dynamicImport.js +14 -0
  67. package/out/util/dynamicImport.js.map +1 -0
  68. package/out/util/electronGet.js +31 -1
  69. package/out/util/electronGet.js.map +1 -1
  70. package/out/util/rebuild.d.ts +1 -1
  71. package/out/util/rebuild.js.map +1 -1
  72. package/out/util/resEdit.js +16 -15
  73. package/out/util/resEdit.js.map +1 -1
  74. package/out/util/yarn.js.map +1 -1
  75. package/out/version.d.ts +1 -1
  76. package/out/version.js +1 -1
  77. package/out/version.js.map +1 -1
  78. package/out/winPackager.d.ts +1 -0
  79. package/out/winPackager.js +12 -9
  80. package/out/winPackager.js.map +1 -1
  81. package/package.json +12 -9
  82. package/scheme.json +22 -1
  83. package/templates/linux/after-remove.tpl +14 -2
  84. package/templates/nsis/include/allowOnlyOneInstallerInstance.nsh +5 -5
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "app-builder-lib",
3
3
  "description": "electron-builder lib",
4
- "version": "26.12.1",
4
+ "version": "26.13.1",
5
5
  "main": "out/index.js",
6
6
  "files": [
7
7
  "out",
@@ -47,7 +47,6 @@
47
47
  "bugs": "https://github.com/electron-userland/electron-builder/issues",
48
48
  "homepage": "https://github.com/electron-userland/electron-builder",
49
49
  "dependencies": {
50
- "@develar/schema-utils": "~2.6.5",
51
50
  "@electron/asar": "3.4.1",
52
51
  "@electron/fuses": "^1.8.0",
53
52
  "@electron/get": "^3.0.0",
@@ -57,6 +56,9 @@
57
56
  "@electron/universal": "2.0.3",
58
57
  "@malept/flatpak-bundler": "^0.4.0",
59
58
  "@types/fs-extra": "9.0.13",
59
+ "@peculiar/webcrypto": "^1.7.1",
60
+ "ajv": "^8.18.0",
61
+ "asn1js": "^3.0.10",
60
62
  "async-exit-hook": "^2.0.1",
61
63
  "chromium-pickle-js": "^0.2.0",
62
64
  "ci-info": "4.3.1",
@@ -72,6 +74,7 @@
72
74
  "json5": "^2.2.3",
73
75
  "lazy-val": "^1.0.5",
74
76
  "minimatch": "^10.2.5",
77
+ "pkijs": "^3.4.0",
75
78
  "plist": "3.1.0",
76
79
  "proper-lockfile": "^4.1.2",
77
80
  "resedit": "^1.7.0",
@@ -81,9 +84,9 @@
81
84
  "tiny-async-pool": "1.3.0",
82
85
  "unzipper": "^0.12.3",
83
86
  "which": "^5.0.0",
84
- "builder-util-runtime": "9.6.2",
85
- "builder-util": "26.12.1",
86
- "electron-publish": "26.12.1"
87
+ "builder-util": "26.13.0",
88
+ "electron-publish": "26.13.0",
89
+ "builder-util-runtime": "9.6.3"
87
90
  },
88
91
  "///": "babel in devDependencies for proton tests",
89
92
  "devDependencies": {
@@ -117,12 +120,12 @@
117
120
  "@types/unzipper": "^0.10.11",
118
121
  "@types/which": "^3.0.4",
119
122
  "toml": "^3.0.0",
120
- "electron-builder-squirrel-windows": "26.12.1",
121
- "dmg-builder": "26.12.1"
123
+ "dmg-builder": "26.13.1",
124
+ "electron-builder-squirrel-windows": "26.13.1"
122
125
  },
123
126
  "peerDependencies": {
124
- "dmg-builder": "26.12.1",
125
- "electron-builder-squirrel-windows": "26.12.1"
127
+ "dmg-builder": "26.13.1",
128
+ "electron-builder-squirrel-windows": "26.13.1"
126
129
  },
127
130
  "//": "electron-builder-squirrel-windows and dmg-builder added as dev dep for tests (as otherwise `require` doesn't work using Yarn 2)",
128
131
  "typings": "./out/index.d.ts"
package/scheme.json CHANGED
@@ -67,7 +67,7 @@
67
67
  "type": "null"
68
68
  }
69
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\"`"
70
+ "description": "The compression algorithm passed to the AppImage build tool.\n\n**FUSE2 toolset (`\"0.0.0\"` or unset):** only `\"xz\"` and `\"gzip\"` are forwarded\nto mksquashfs (`-comp <value>`); `\"xz\"` additionally passes `-Xdict-size 100% -b 1048576`.\n`\"zstd\"`, `null`, and unset fall through to the root-level `compression` option:\n- `\"maximum\"` → `\"xz\"`\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
71
  },
72
72
  "description": {
73
73
  "description": "As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.",
@@ -953,6 +953,22 @@
953
953
  },
954
954
  "type": "array"
955
955
  },
956
+ "filesystem": {
957
+ "anyOf": [
958
+ {
959
+ "enum": [
960
+ "APFS",
961
+ "HFS+"
962
+ ],
963
+ "type": "string"
964
+ },
965
+ {
966
+ "type": "null"
967
+ }
968
+ ],
969
+ "default": "HFS+",
970
+ "description": "The filesystem for the DMG volume (e.g. `\"APFS\"` or `\"HFS+\"`)\nThis will be changed to APFS in the next major release, so it is recommended to set it explicitly to HFS+ if you want to keep using HFS+ (e.g. for better compatibility with older macOS versions)."
971
+ },
956
972
  "format": {
957
973
  "default": "UDZO",
958
974
  "description": "The disk image format. `ULFO` (lzfse-compressed image (OS X 10.11+ only)).",
@@ -9159,6 +9175,11 @@
9159
9175
  ],
9160
9176
  "description": "Directories for build resources"
9161
9177
  },
9178
+ "disableAsarIntegrity": {
9179
+ "default": false,
9180
+ "description": "Whether to skip ASAR integrity hash computation. Useful for custom electron forks with encrypted ASAR support where the header is not readable by standard tools.",
9181
+ "type": "boolean"
9182
+ },
9162
9183
  "disableDefaultIgnoredFiles": {
9163
9184
  "default": false,
9164
9185
  "description": "Whether to exclude all default ignored files(https://www.electron.build/contents#files) and options. Defaults to `false`.",
@@ -1,15 +1,27 @@
1
1
  #!/bin/bash
2
2
 
3
3
  # Delete the link to the binary
4
+ # update-alternatives --remove <name> <path>: 'path' must be the registered alternative binary,
5
+ # not the generic symlink — see https://man7.org/linux/man-pages/man1/update-alternatives.1.html
4
6
  if type update-alternatives >/dev/null 2>&1; then
5
- update-alternatives --remove '${executable}' '/usr/bin/${executable}'
7
+ update-alternatives --remove '${executable}' '/opt/${sanitizedProductName}/${executable}'
6
8
  else
7
9
  rm -f '/usr/bin/${executable}'
8
10
  fi
9
11
 
10
12
  APPARMOR_PROFILE_DEST='/etc/apparmor.d/${executable}'
11
13
 
12
- # Remove apparmor profile.
14
+ # Remove and unload apparmor profile.
13
15
  if [ -f "$APPARMOR_PROFILE_DEST" ]; then
16
+ # Unload the profile from the running kernel before deleting the file so the
17
+ # policy is not left enforced until the next reboot. Mirror the chroot guard
18
+ # used in the after-install script — live AppArmor operations are not
19
+ # meaningful inside a chroot.
20
+ # https://wiki.debian.org/AppArmor/HowToUse
21
+ if apparmor_status --enabled > /dev/null 2>&1; then
22
+ if ! { [ -x '/usr/bin/ischroot' ] && /usr/bin/ischroot; } && hash apparmor_parser 2>/dev/null; then
23
+ apparmor_parser --remove "$APPARMOR_PROFILE_DEST" || true
24
+ fi
25
+ fi
14
26
  rm -f "$APPARMOR_PROFILE_DEST"
15
27
  fi
@@ -31,10 +31,8 @@
31
31
 
32
32
  !macro CHECK_APP_RUNNING
33
33
  Var /GLOBAL CmdPath
34
- Var /GLOBAL FindPath
35
34
  Var /GLOBAL PowerShellPath
36
35
  StrCpy $CmdPath "$SYSDIR\cmd.exe"
37
- StrCpy $FindPath "$SYSDIR\find.exe"
38
36
  StrCpy $PowerShellPath "$SYSDIR\WindowsPowerShell\v1.0\powershell.exe"
39
37
  !ifmacrodef customCheckAppRunning
40
38
  !insertmacro customCheckAppRunning
@@ -69,10 +67,12 @@
69
67
  Pop ${_RETURN}
70
68
  ${else}
71
69
  !ifdef INSTALL_MODE_PER_ALL_USERS
72
- ${nsProcess::FindProcess} "${_FILE}" ${_RETURN}
70
+ # exact match via findstr anchored to the start of each CSV line
71
+ nsExec::Exec `"$CmdPath" /C tasklist /FI "IMAGENAME eq ${_FILE}" /FO CSV /NH | "$SYSDIR\findstr.exe" /B /I /C:"\"${_FILE}\""`
72
+ Pop ${_RETURN}
73
73
  !else
74
- # find process owned by current user
75
- nsExec::Exec `"$CmdPath" /C tasklist /FI "USERNAME eq %USERNAME%" /FI "IMAGENAME eq ${_FILE}" /FO CSV | "$FindPath" "${_FILE}"`
74
+ # find process owned by current user — anchored exact match
75
+ nsExec::Exec `"$CmdPath" /C tasklist /FI "USERNAME eq %USERNAME%" /FI "IMAGENAME eq ${_FILE}" /FO CSV /NH | "$SYSDIR\findstr.exe" /B /I /C:"\"${_FILE}\""`
76
76
  Pop ${_RETURN}
77
77
  !endif
78
78
  ${endIf}