app-builder-lib 26.15.2 → 27.0.0-alpha.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/dist/Framework.d.ts +40 -0
- package/dist/Framework.d.ts.map +1 -0
- package/dist/Framework.js +4 -0
- package/dist/Framework.js.map +1 -0
- package/dist/appInfo.d.ts +32 -0
- package/dist/appInfo.d.ts.map +1 -0
- package/dist/appInfo.js +145 -0
- package/dist/appInfo.js.map +1 -0
- package/dist/asar/asar.d.ts +39 -0
- package/dist/asar/asar.d.ts.map +1 -0
- package/dist/asar/asar.js +155 -0
- package/dist/asar/asar.js.map +1 -0
- package/dist/asar/asarFileChecker.d.ts +3 -0
- package/dist/asar/asarFileChecker.d.ts.map +1 -0
- package/dist/asar/asarFileChecker.js +22 -0
- package/dist/asar/asarFileChecker.js.map +1 -0
- package/dist/asar/asarUtil.d.ts +2 -0
- package/dist/asar/asarUtil.d.ts.map +1 -0
- package/dist/asar/asarUtil.js +278 -0
- package/dist/asar/asarUtil.js.map +1 -0
- package/dist/asar/integrity.d.ts +16 -0
- package/dist/asar/integrity.d.ts.map +1 -0
- package/dist/asar/integrity.js +59 -0
- package/dist/asar/integrity.js.map +1 -0
- package/dist/asar/unpackDetector.d.ts +2 -0
- package/dist/asar/unpackDetector.d.ts.map +1 -0
- package/dist/asar/unpackDetector.js +39 -0
- package/dist/asar/unpackDetector.js.map +1 -0
- package/dist/codeSign/certInfo.d.ts +55 -0
- package/dist/codeSign/certInfo.d.ts.map +1 -0
- package/dist/codeSign/certInfo.js +459 -0
- package/dist/codeSign/certInfo.js.map +1 -0
- package/dist/codeSign/codesign.d.ts +4 -0
- package/dist/codeSign/codesign.d.ts.map +1 -0
- package/dist/codeSign/codesign.js +32 -0
- package/dist/codeSign/codesign.js.map +1 -0
- package/dist/codeSign/mac/macCodeSign.d.ts +29 -0
- package/dist/codeSign/mac/macCodeSign.d.ts.map +1 -0
- package/dist/codeSign/mac/macCodeSign.js +273 -0
- package/dist/codeSign/mac/macCodeSign.js.map +1 -0
- package/dist/codeSign/signManager.d.ts +14 -0
- package/dist/codeSign/signManager.d.ts.map +1 -0
- package/dist/codeSign/signManager.js +2 -0
- package/dist/codeSign/signManager.js.map +1 -0
- package/dist/codeSign/win/windowsCodeSign.d.ts +8 -0
- package/dist/codeSign/win/windowsCodeSign.d.ts.map +1 -0
- package/dist/codeSign/win/windowsCodeSign.js +34 -0
- package/dist/codeSign/win/windowsCodeSign.js.map +1 -0
- package/dist/codeSign/win/windowsSignAzureManager.d.ts +18 -0
- package/dist/codeSign/win/windowsSignAzureManager.d.ts.map +1 -0
- package/dist/codeSign/win/windowsSignAzureManager.js +68 -0
- package/dist/codeSign/win/windowsSignAzureManager.js.map +1 -0
- package/dist/codeSign/win/windowsSignToolManager.d.ts +59 -0
- package/dist/codeSign/win/windowsSignToolManager.d.ts.map +1 -0
- package/dist/codeSign/win/windowsSignToolManager.js +364 -0
- package/dist/codeSign/win/windowsSignToolManager.js.map +1 -0
- package/dist/configuration.d.ts +1010 -0
- package/dist/configuration.d.ts.map +1 -0
- package/dist/configuration.js +2 -0
- package/dist/configuration.js.map +1 -0
- package/dist/core.d.ts +61 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +61 -0
- package/dist/core.js.map +1 -0
- package/dist/electron/ElectronFramework.d.ts +17 -0
- package/dist/electron/ElectronFramework.d.ts.map +1 -0
- package/dist/electron/ElectronFramework.js +236 -0
- package/dist/electron/ElectronFramework.js.map +1 -0
- package/dist/electron/electronVersion.d.ts +7 -0
- package/dist/electron/electronVersion.d.ts.map +1 -0
- package/dist/electron/electronVersion.js +119 -0
- package/dist/electron/electronVersion.js.map +1 -0
- package/dist/electron/injectFFMPEG.d.ts +12 -0
- package/dist/electron/injectFFMPEG.d.ts.map +1 -0
- package/dist/electron/injectFFMPEG.js +53 -0
- package/dist/electron/injectFFMPEG.js.map +1 -0
- package/dist/electron/mac/electronMac.d.ts +2 -0
- package/dist/electron/mac/electronMac.d.ts.map +1 -0
- package/dist/electron/mac/electronMac.js +254 -0
- package/dist/electron/mac/electronMac.js.map +1 -0
- package/dist/electron/search-module.d.ts +24 -0
- package/dist/electron/search-module.d.ts.map +1 -0
- package/dist/electron/search-module.js +68 -0
- package/dist/electron/search-module.js.map +1 -0
- package/dist/electron/win/electronWin.d.ts +2 -0
- package/dist/electron/win/electronWin.d.ts.map +1 -0
- package/dist/electron/win/electronWin.js +36 -0
- package/dist/electron/win/electronWin.js.map +1 -0
- package/dist/errorMessages.d.ts +2 -0
- package/dist/errorMessages.d.ts.map +1 -0
- package/dist/errorMessages.js +8 -0
- package/dist/errorMessages.js.map +1 -0
- package/dist/fileMatcher.d.ts +31 -0
- package/dist/fileMatcher.d.ts.map +1 -0
- package/dist/fileMatcher.js +277 -0
- package/dist/fileMatcher.js.map +1 -0
- package/dist/fileTransformer.d.ts +2 -0
- package/dist/fileTransformer.d.ts.map +1 -0
- package/dist/fileTransformer.js +82 -0
- package/dist/fileTransformer.js.map +1 -0
- package/dist/forge-maker.d.ts +6 -0
- package/dist/forge-maker.d.ts.map +1 -0
- package/dist/forge-maker.js +20 -0
- package/dist/forge-maker.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +77 -0
- package/dist/index.js.map +1 -0
- package/dist/indexInternal.d.ts +46 -0
- package/dist/indexInternal.d.ts.map +1 -0
- package/dist/indexInternal.js +39 -0
- package/dist/indexInternal.js.map +1 -0
- package/dist/linuxPackager.d.ts +13 -0
- package/dist/linuxPackager.d.ts.map +1 -0
- package/dist/linuxPackager.js +75 -0
- package/dist/linuxPackager.js.map +1 -0
- package/dist/macPackager.d.ts +50 -0
- package/dist/macPackager.d.ts.map +1 -0
- package/dist/macPackager.js +442 -0
- package/dist/macPackager.js.map +1 -0
- package/dist/node-module-collector/bunNodeModulesCollector.d.ts +11 -0
- package/dist/node-module-collector/bunNodeModulesCollector.d.ts.map +1 -0
- package/dist/node-module-collector/bunNodeModulesCollector.js +14 -0
- package/dist/node-module-collector/bunNodeModulesCollector.js.map +1 -0
- package/dist/node-module-collector/hoist.d.ts +124 -0
- package/dist/node-module-collector/hoist.d.ts.map +1 -0
- package/dist/node-module-collector/hoist.js +880 -0
- package/dist/node-module-collector/hoist.js.map +1 -0
- package/dist/node-module-collector/index.d.ts +21 -0
- package/dist/node-module-collector/index.d.ts.map +1 -0
- package/dist/node-module-collector/index.js +124 -0
- package/dist/node-module-collector/index.js.map +1 -0
- package/dist/node-module-collector/moduleManager.d.ts +94 -0
- package/dist/node-module-collector/moduleManager.d.ts.map +1 -0
- package/dist/node-module-collector/moduleManager.js +314 -0
- package/dist/node-module-collector/moduleManager.js.map +1 -0
- package/dist/node-module-collector/nodeModulesCollector.d.ts +138 -0
- package/dist/node-module-collector/nodeModulesCollector.d.ts.map +1 -0
- package/dist/node-module-collector/nodeModulesCollector.js +421 -0
- package/dist/node-module-collector/nodeModulesCollector.js.map +1 -0
- package/dist/node-module-collector/npmNodeModulesCollector.d.ts +15 -0
- package/dist/node-module-collector/npmNodeModulesCollector.d.ts.map +1 -0
- package/dist/node-module-collector/npmNodeModulesCollector.js +75 -0
- package/dist/node-module-collector/npmNodeModulesCollector.js.map +1 -0
- package/dist/node-module-collector/packageManager.d.ts +18 -0
- package/dist/node-module-collector/packageManager.d.ts.map +1 -0
- package/dist/node-module-collector/packageManager.js +137 -0
- package/dist/node-module-collector/packageManager.js.map +1 -0
- package/dist/node-module-collector/pnpmNodeModulesCollector.d.ts +45 -0
- package/dist/node-module-collector/pnpmNodeModulesCollector.d.ts.map +1 -0
- package/dist/node-module-collector/pnpmNodeModulesCollector.js +184 -0
- package/dist/node-module-collector/pnpmNodeModulesCollector.js.map +1 -0
- package/dist/node-module-collector/traversalNodeModulesCollector.d.ts +19 -0
- package/dist/node-module-collector/traversalNodeModulesCollector.d.ts.map +1 -0
- package/dist/node-module-collector/traversalNodeModulesCollector.js +118 -0
- package/dist/node-module-collector/traversalNodeModulesCollector.js.map +1 -0
- package/dist/node-module-collector/types.d.ts +53 -0
- package/dist/node-module-collector/types.d.ts.map +1 -0
- package/dist/node-module-collector/types.js +2 -0
- package/dist/node-module-collector/yarnBerryNodeModulesCollector.d.ts +16 -0
- package/dist/node-module-collector/yarnBerryNodeModulesCollector.d.ts.map +1 -0
- package/dist/node-module-collector/yarnBerryNodeModulesCollector.js +87 -0
- package/dist/node-module-collector/yarnBerryNodeModulesCollector.js.map +1 -0
- package/dist/node-module-collector/yarnNodeModulesCollector.d.ts +11 -0
- package/dist/node-module-collector/yarnNodeModulesCollector.d.ts.map +1 -0
- package/dist/node-module-collector/yarnNodeModulesCollector.js +18 -0
- package/dist/node-module-collector/yarnNodeModulesCollector.js.map +1 -0
- package/dist/options/AppXOptions.d.ts +106 -0
- package/dist/options/AppXOptions.d.ts.map +1 -0
- package/dist/options/AppXOptions.js +2 -0
- package/dist/options/AppXOptions.js.map +1 -0
- package/dist/options/CommonWindowsInstallerConfiguration.d.ts +48 -0
- package/dist/options/CommonWindowsInstallerConfiguration.d.ts.map +1 -0
- package/dist/options/CommonWindowsInstallerConfiguration.js +47 -0
- package/dist/options/CommonWindowsInstallerConfiguration.js.map +1 -0
- package/dist/options/FileAssociation.d.ts +46 -0
- package/dist/options/FileAssociation.d.ts.map +1 -0
- package/dist/options/FileAssociation.js +2 -0
- package/dist/options/MsiOptions.d.ts +27 -0
- package/dist/options/MsiOptions.d.ts.map +1 -0
- package/dist/options/MsiOptions.js +2 -0
- package/dist/options/MsiOptions.js.map +1 -0
- package/dist/options/MsiWrappedOptions.d.ts +27 -0
- package/dist/options/MsiWrappedOptions.d.ts.map +1 -0
- package/dist/options/MsiWrappedOptions.js +2 -0
- package/dist/options/MsiWrappedOptions.js.map +1 -0
- package/dist/options/PlatformSpecificBuildOptions.d.ts +261 -0
- package/dist/options/PlatformSpecificBuildOptions.d.ts.map +1 -0
- package/dist/options/PlatformSpecificBuildOptions.js +2 -0
- package/dist/options/PlatformSpecificBuildOptions.js.map +1 -0
- package/dist/options/SnapOptions.d.ts +480 -0
- package/dist/options/SnapOptions.d.ts.map +1 -0
- package/dist/options/SnapOptions.js +2 -0
- package/dist/options/SnapOptions.js.map +1 -0
- package/dist/options/SquirrelWindowsOptions.d.ts +47 -0
- package/dist/options/SquirrelWindowsOptions.d.ts.map +1 -0
- package/dist/options/SquirrelWindowsOptions.js +2 -0
- package/dist/options/SquirrelWindowsOptions.js.map +1 -0
- package/dist/options/linuxOptions.d.ts +289 -0
- package/dist/options/linuxOptions.d.ts.map +1 -0
- package/dist/options/linuxOptions.js +2 -0
- package/dist/options/linuxOptions.js.map +1 -0
- package/dist/options/macOptions.d.ts +390 -0
- package/dist/options/macOptions.d.ts.map +1 -0
- package/dist/options/macOptions.js +2 -0
- package/dist/options/macOptions.js.map +1 -0
- package/dist/options/metadata.d.ts +54 -0
- package/dist/options/metadata.d.ts.map +1 -0
- package/dist/options/metadata.js +2 -0
- package/dist/options/metadata.js.map +1 -0
- package/dist/options/pkgOptions.d.ts +137 -0
- package/dist/options/pkgOptions.d.ts.map +1 -0
- package/dist/options/pkgOptions.js +2 -0
- package/dist/options/pkgOptions.js.map +1 -0
- package/dist/options/winOptions.d.ts +166 -0
- package/dist/options/winOptions.d.ts.map +1 -0
- package/dist/options/winOptions.js +2 -0
- package/dist/options/winOptions.js.map +1 -0
- package/dist/packager.d.ts +100 -0
- package/dist/packager.d.ts.map +1 -0
- package/dist/packager.js +491 -0
- package/dist/packager.js.map +1 -0
- package/dist/packagerApi.d.ts +32 -0
- package/dist/packagerApi.d.ts.map +1 -0
- package/dist/packagerApi.js +2 -0
- package/dist/packagerApi.js.map +1 -0
- package/dist/platformPackager.d.ts +132 -0
- package/dist/platformPackager.d.ts.map +1 -0
- package/dist/platformPackager.js +761 -0
- package/dist/platformPackager.js.map +1 -0
- package/dist/presets/rectCra.d.ts +2 -0
- package/dist/presets/rectCra.d.ts.map +1 -0
- package/dist/presets/rectCra.js +19 -0
- package/dist/presets/rectCra.js.map +1 -0
- package/dist/publish/PublishManager.d.ts +33 -0
- package/dist/publish/PublishManager.d.ts.map +1 -0
- package/dist/publish/PublishManager.js +470 -0
- package/dist/publish/PublishManager.js.map +1 -0
- package/dist/publish/updateInfoBuilder.d.ts +15 -0
- package/dist/publish/updateInfoBuilder.d.ts.map +1 -0
- package/dist/publish/updateInfoBuilder.js +221 -0
- package/dist/publish/updateInfoBuilder.js.map +1 -0
- package/dist/targets/ArchiveTarget.d.ts +12 -0
- package/dist/targets/ArchiveTarget.d.ts.map +1 -0
- package/dist/targets/ArchiveTarget.js +93 -0
- package/dist/targets/ArchiveTarget.js.map +1 -0
- package/dist/targets/archive.d.ts +27 -0
- package/dist/targets/archive.d.ts.map +1 -0
- package/dist/targets/archive.js +174 -0
- package/dist/targets/archive.js.map +1 -0
- package/dist/targets/blockmap/blockmap.d.ts +17 -0
- package/dist/targets/blockmap/blockmap.d.ts.map +1 -0
- package/dist/targets/blockmap/blockmap.js +150 -0
- package/dist/targets/blockmap/blockmap.js.map +1 -0
- package/dist/targets/differentialUpdateInfoBuilder.d.ts +16 -0
- package/dist/targets/differentialUpdateInfoBuilder.d.ts.map +1 -0
- package/dist/targets/differentialUpdateInfoBuilder.js +73 -0
- package/dist/targets/differentialUpdateInfoBuilder.js.map +1 -0
- package/dist/targets/linux/FlatpakTarget.d.ts +21 -0
- package/dist/targets/linux/FlatpakTarget.d.ts.map +1 -0
- package/dist/targets/linux/FlatpakTarget.js +156 -0
- package/dist/targets/linux/FlatpakTarget.js.map +1 -0
- package/dist/targets/linux/FpmTarget.d.ts +23 -0
- package/dist/targets/linux/FpmTarget.d.ts.map +1 -0
- package/dist/targets/linux/FpmTarget.js +365 -0
- package/dist/targets/linux/FpmTarget.js.map +1 -0
- package/dist/targets/linux/LinuxTargetHelper.d.ts +24 -0
- package/dist/targets/linux/LinuxTargetHelper.d.ts.map +1 -0
- package/dist/targets/linux/LinuxTargetHelper.js +332 -0
- package/dist/targets/linux/LinuxTargetHelper.js.map +1 -0
- package/dist/targets/linux/appimage/AppImageTarget.d.ts +16 -0
- package/dist/targets/linux/appimage/AppImageTarget.d.ts.map +1 -0
- package/dist/targets/linux/appimage/AppImageTarget.js +141 -0
- package/dist/targets/linux/appimage/AppImageTarget.js.map +1 -0
- package/dist/targets/linux/appimage/appImageUtil.d.ts +57 -0
- package/dist/targets/linux/appimage/appImageUtil.d.ts.map +1 -0
- package/dist/targets/linux/appimage/appImageUtil.js +317 -0
- package/dist/targets/linux/appimage/appImageUtil.js.map +1 -0
- package/dist/targets/linux/appimage/appLauncher.d.ts +4 -0
- package/dist/targets/linux/appimage/appLauncher.d.ts.map +1 -0
- package/dist/targets/linux/appimage/appLauncher.js +91 -0
- package/dist/targets/linux/appimage/appLauncher.js.map +1 -0
- package/dist/targets/linux/snap/SnapTarget.d.ts +37 -0
- package/dist/targets/linux/snap/SnapTarget.d.ts.map +1 -0
- package/dist/targets/linux/snap/SnapTarget.js +96 -0
- package/dist/targets/linux/snap/SnapTarget.js.map +1 -0
- package/dist/targets/linux/snap/core24.d.ts +53 -0
- package/dist/targets/linux/snap/core24.d.ts.map +1 -0
- package/dist/targets/linux/snap/core24.js +444 -0
- package/dist/targets/linux/snap/core24.js.map +1 -0
- package/dist/targets/linux/snap/coreCustom.d.ts +29 -0
- package/dist/targets/linux/snap/coreCustom.d.ts.map +1 -0
- package/dist/targets/linux/snap/coreCustom.js +60 -0
- package/dist/targets/linux/snap/coreCustom.js.map +1 -0
- package/dist/targets/linux/snap/coreLegacy.d.ts +46 -0
- package/dist/targets/linux/snap/coreLegacy.d.ts.map +1 -0
- package/dist/targets/linux/snap/coreLegacy.js +402 -0
- package/dist/targets/linux/snap/coreLegacy.js.map +1 -0
- package/dist/targets/linux/snap/snapcraftBuilder.d.ts +40 -0
- package/dist/targets/linux/snap/snapcraftBuilder.d.ts.map +1 -0
- package/dist/targets/linux/snap/snapcraftBuilder.js +414 -0
- package/dist/targets/linux/snap/snapcraftBuilder.js.map +1 -0
- package/dist/targets/mac/MacTargetHelper.d.ts +30 -0
- package/dist/targets/mac/MacTargetHelper.d.ts.map +1 -0
- package/dist/targets/mac/MacTargetHelper.js +267 -0
- package/dist/targets/mac/MacTargetHelper.js.map +1 -0
- package/dist/targets/mac/pkg.d.ts +31 -0
- package/dist/targets/mac/pkg.d.ts.map +1 -0
- package/dist/targets/mac/pkg.js +271 -0
- package/dist/targets/mac/pkg.js.map +1 -0
- package/dist/targets/targetFactory.d.ts +13 -0
- package/dist/targets/targetFactory.d.ts.map +1 -0
- package/dist/targets/targetFactory.js +94 -0
- package/dist/targets/targetFactory.js.map +1 -0
- package/dist/targets/targetUtil.d.ts +16 -0
- package/dist/targets/targetUtil.d.ts.map +1 -0
- package/dist/targets/targetUtil.js +40 -0
- package/dist/targets/targetUtil.js.map +1 -0
- package/dist/targets/win/AppxCapabilities.d.ts +9 -0
- package/dist/targets/win/AppxCapabilities.d.ts.map +1 -0
- package/dist/targets/win/AppxCapabilities.js +254 -0
- package/dist/targets/win/AppxCapabilities.js.map +1 -0
- package/dist/targets/win/AppxTarget.d.ts +18 -0
- package/dist/targets/win/AppxTarget.d.ts.map +1 -0
- package/dist/targets/win/AppxTarget.js +398 -0
- package/dist/targets/win/AppxTarget.js.map +1 -0
- package/dist/targets/win/MsiTarget.d.ts +29 -0
- package/dist/targets/win/MsiTarget.d.ts.map +1 -0
- package/dist/targets/win/MsiTarget.js +268 -0
- package/dist/targets/win/MsiTarget.js.map +1 -0
- package/dist/targets/win/MsiWrappedTarget.d.ts +20 -0
- package/dist/targets/win/MsiWrappedTarget.d.ts.map +1 -0
- package/dist/targets/win/MsiWrappedTarget.js +77 -0
- package/dist/targets/win/MsiWrappedTarget.js.map +1 -0
- package/dist/targets/win/nsis/Commands.d.ts +10 -0
- package/dist/targets/win/nsis/Commands.d.ts.map +1 -0
- package/dist/targets/win/nsis/Commands.js +2 -0
- package/dist/targets/win/nsis/Commands.js.map +1 -0
- package/dist/targets/win/nsis/Defines.d.ts +81 -0
- package/dist/targets/win/nsis/Defines.d.ts.map +1 -0
- package/dist/targets/win/nsis/Defines.js +2 -0
- package/dist/targets/win/nsis/Defines.js.map +1 -0
- package/dist/targets/win/nsis/NsisTarget.d.ts +43 -0
- package/dist/targets/win/nsis/NsisTarget.d.ts.map +1 -0
- package/dist/targets/win/nsis/NsisTarget.js +726 -0
- package/dist/targets/win/nsis/NsisTarget.js.map +1 -0
- package/dist/targets/win/nsis/WebInstallerTarget.d.ts +14 -0
- package/dist/targets/win/nsis/WebInstallerTarget.d.ts.map +1 -0
- package/dist/targets/win/nsis/WebInstallerTarget.js +43 -0
- package/dist/targets/win/nsis/WebInstallerTarget.js.map +1 -0
- package/dist/targets/win/nsis/nsisLang.d.ts +11 -0
- package/dist/targets/win/nsis/nsisLang.d.ts.map +1 -0
- package/dist/targets/win/nsis/nsisLang.js +94 -0
- package/dist/targets/win/nsis/nsisLang.js.map +1 -0
- package/dist/targets/win/nsis/nsisLicense.d.ts +5 -0
- package/dist/targets/win/nsis/nsisLicense.d.ts.map +1 -0
- package/dist/targets/win/nsis/nsisLicense.js +73 -0
- package/dist/targets/win/nsis/nsisLicense.js.map +1 -0
- package/dist/targets/win/nsis/nsisOptions.d.ts +275 -0
- package/dist/targets/win/nsis/nsisOptions.d.ts.map +1 -0
- package/dist/targets/win/nsis/nsisOptions.js +2 -0
- package/dist/targets/win/nsis/nsisOptions.js.map +1 -0
- package/dist/targets/win/nsis/nsisScriptGenerator.d.ts +13 -0
- package/dist/targets/win/nsis/nsisScriptGenerator.d.ts.map +1 -0
- package/dist/targets/win/nsis/nsisScriptGenerator.js +59 -0
- package/dist/targets/win/nsis/nsisScriptGenerator.js.map +1 -0
- package/dist/targets/win/nsis/nsisUtil.d.ts +26 -0
- package/dist/targets/win/nsis/nsisUtil.d.ts.map +1 -0
- package/dist/targets/win/nsis/nsisUtil.js +218 -0
- package/dist/targets/win/nsis/nsisUtil.js.map +1 -0
- package/dist/targets/win/nsis/nsisValidation.d.ts +19 -0
- package/dist/targets/win/nsis/nsisValidation.d.ts.map +1 -0
- package/dist/targets/win/nsis/nsisValidation.js +49 -0
- package/dist/targets/win/nsis/nsisValidation.js.map +1 -0
- package/dist/toolsets/7zip.d.ts +9 -0
- package/dist/toolsets/7zip.d.ts.map +1 -0
- package/dist/toolsets/7zip.js +80 -0
- package/dist/toolsets/7zip.js.map +1 -0
- package/dist/toolsets/appimage.d.ts +20 -0
- package/dist/toolsets/appimage.d.ts.map +1 -0
- package/dist/toolsets/appimage.js +67 -0
- package/dist/toolsets/appimage.js.map +1 -0
- package/dist/toolsets/custom.d.ts +5 -0
- package/dist/toolsets/custom.d.ts.map +1 -0
- package/dist/toolsets/custom.js +200 -0
- package/dist/toolsets/custom.js.map +1 -0
- package/dist/toolsets/fpm.d.ts +3 -0
- package/dist/toolsets/fpm.d.ts.map +1 -0
- package/dist/toolsets/fpm.js +49 -0
- package/dist/toolsets/fpm.js.map +1 -0
- package/dist/toolsets/icons.d.ts +12 -0
- package/dist/toolsets/icons.d.ts.map +1 -0
- package/dist/toolsets/icons.js +36 -0
- package/dist/toolsets/icons.js.map +1 -0
- package/dist/toolsets/linuxToolsMac.d.ts +8 -0
- package/dist/toolsets/linuxToolsMac.d.ts.map +1 -0
- package/dist/toolsets/linuxToolsMac.js +31 -0
- package/dist/toolsets/linuxToolsMac.js.map +1 -0
- package/dist/toolsets/nsis.d.ts +13 -0
- package/dist/toolsets/nsis.d.ts.map +1 -0
- package/dist/toolsets/nsis.js +100 -0
- package/dist/toolsets/nsis.js.map +1 -0
- package/dist/toolsets/winCodeSign.d.ts +42 -0
- package/dist/toolsets/winCodeSign.d.ts.map +1 -0
- package/dist/toolsets/winCodeSign.js +142 -0
- package/dist/toolsets/winCodeSign.js.map +1 -0
- package/dist/toolsets/wine.d.ts +6 -0
- package/dist/toolsets/wine.d.ts.map +1 -0
- package/dist/toolsets/wine.js +79 -0
- package/dist/toolsets/wine.js.map +1 -0
- package/dist/util/AppFileWalker.d.ts +14 -0
- package/dist/util/AppFileWalker.d.ts.map +1 -0
- package/dist/util/AppFileWalker.js +69 -0
- package/dist/util/AppFileWalker.js.map +1 -0
- package/dist/util/NodeModuleCopyHelper.d.ts +2 -0
- package/dist/util/NodeModuleCopyHelper.d.ts.map +1 -0
- package/dist/util/NodeModuleCopyHelper.js +160 -0
- package/dist/util/NodeModuleCopyHelper.js.map +1 -0
- package/dist/util/appFileCopier.d.ts +17 -0
- package/dist/util/appFileCopier.d.ts.map +1 -0
- package/dist/util/appFileCopier.js +190 -0
- package/dist/util/appFileCopier.js.map +1 -0
- package/dist/util/asyncEventEmitter.d.ts +34 -0
- package/dist/util/asyncEventEmitter.d.ts.map +1 -0
- package/dist/util/asyncEventEmitter.js +56 -0
- package/dist/util/asyncEventEmitter.js.map +1 -0
- package/dist/util/bundledTool.d.ts +8 -0
- package/dist/util/bundledTool.d.ts.map +1 -0
- package/dist/util/bundledTool.js +16 -0
- package/dist/util/bundledTool.js.map +1 -0
- package/dist/util/cacheManager.d.ts +19 -0
- package/dist/util/cacheManager.d.ts.map +1 -0
- package/dist/util/cacheManager.js +65 -0
- package/dist/util/cacheManager.js.map +1 -0
- package/dist/util/cacheState.d.ts +29 -0
- package/dist/util/cacheState.d.ts.map +1 -0
- package/dist/util/cacheState.js +134 -0
- package/dist/util/cacheState.js.map +1 -0
- package/dist/util/config/config.d.ts +13 -0
- package/dist/util/config/config.d.ts.map +1 -0
- package/dist/util/config/config.js +236 -0
- package/dist/util/config/config.js.map +1 -0
- package/dist/util/config/load.d.ts +20 -0
- package/dist/util/config/load.d.ts.map +1 -0
- package/dist/util/config/load.js +122 -0
- package/dist/util/config/load.js.map +1 -0
- package/dist/util/config/schemaValidator.d.ts +8 -0
- package/dist/util/config/schemaValidator.d.ts.map +1 -0
- package/dist/util/config/schemaValidator.js +161 -0
- package/dist/util/config/schemaValidator.js.map +1 -0
- package/dist/util/dynamicImport.d.ts +2 -0
- package/dist/util/dynamicImport.d.ts.map +1 -0
- package/dist/util/dynamicImport.js +9 -0
- package/dist/util/dynamicImport.js.map +1 -0
- package/dist/util/electronGet.d.ts +68 -0
- package/dist/util/electronGet.d.ts.map +1 -0
- package/dist/util/electronGet.js +560 -0
- package/dist/util/electronGet.js.map +1 -0
- package/dist/util/filter.d.ts +2 -0
- package/dist/util/filter.d.ts.map +1 -0
- package/dist/util/filter.js +64 -0
- package/dist/util/filter.js.map +1 -0
- package/dist/util/flags.d.ts +16 -0
- package/dist/util/flags.d.ts.map +1 -0
- package/dist/util/flags.js +53 -0
- package/dist/util/flags.js.map +1 -0
- package/dist/util/hash.d.ts +2 -0
- package/dist/util/hash.d.ts.map +1 -0
- package/dist/util/hash.js +16 -0
- package/dist/util/hash.js.map +1 -0
- package/dist/util/iconConverter.d.ts +29 -0
- package/dist/util/iconConverter.d.ts.map +1 -0
- package/dist/util/iconConverter.js +255 -0
- package/dist/util/iconConverter.js.map +1 -0
- package/dist/util/langs.d.ts +190 -0
- package/dist/util/langs.d.ts.map +1 -0
- package/dist/util/langs.js +432 -0
- package/dist/util/langs.js.map +1 -0
- package/dist/util/license.d.ts +17 -0
- package/dist/util/license.d.ts.map +1 -0
- package/dist/util/license.js +42 -0
- package/dist/util/license.js.map +1 -0
- package/dist/util/mac/macosIconComposer.d.ts +11 -0
- package/dist/util/mac/macosIconComposer.d.ts.map +1 -0
- package/dist/util/mac/macosIconComposer.js +99 -0
- package/dist/util/mac/macosIconComposer.js.map +1 -0
- package/dist/util/mac/macosVersion.d.ts +4 -0
- package/dist/util/mac/macosVersion.d.ts.map +1 -0
- package/dist/util/mac/macosVersion.js +31 -0
- package/dist/util/mac/macosVersion.js.map +1 -0
- package/dist/util/mac/plist.d.ts +8 -0
- package/dist/util/mac/plist.d.ts.map +1 -0
- package/dist/util/mac/plist.js +27 -0
- package/dist/util/mac/plist.js.map +1 -0
- package/dist/util/macroExpander.d.ts +4 -0
- package/dist/util/macroExpander.d.ts.map +1 -0
- package/dist/util/macroExpander.js +61 -0
- package/dist/util/macroExpander.js.map +1 -0
- package/dist/util/normalizePackageData.d.ts +2 -0
- package/dist/util/normalizePackageData.d.ts.map +1 -0
- package/dist/util/normalizePackageData.js +323 -0
- package/dist/util/normalizePackageData.js.map +1 -0
- package/dist/util/packageMetadata.d.ts +2 -0
- package/dist/util/packageMetadata.d.ts.map +1 -0
- package/dist/util/packageMetadata.js +118 -0
- package/dist/util/packageMetadata.js.map +1 -0
- package/dist/util/pathManager.d.ts +4 -0
- package/dist/util/pathManager.d.ts.map +1 -0
- package/dist/util/pathManager.js +17 -0
- package/dist/util/pathManager.js.map +1 -0
- package/dist/util/rebuild.d.ts +3 -0
- package/dist/util/rebuild.d.ts.map +1 -0
- package/dist/util/rebuild.js +54 -0
- package/dist/util/rebuild.js.map +1 -0
- package/dist/util/repositoryInfo.d.ts +4 -0
- package/dist/util/repositoryInfo.d.ts.map +1 -0
- package/dist/util/repositoryInfo.js +76 -0
- package/dist/util/repositoryInfo.js.map +1 -0
- package/dist/util/resolve.d.ts +3 -0
- package/dist/util/resolve.d.ts.map +1 -0
- package/dist/util/resolve.js +56 -0
- package/dist/util/resolve.js.map +1 -0
- package/dist/util/timer.d.ts +12 -0
- package/dist/util/timer.d.ts.map +1 -0
- package/dist/util/timer.js +23 -0
- package/dist/util/timer.js.map +1 -0
- package/dist/util/toolsetLock.d.ts +2 -0
- package/dist/util/toolsetLock.d.ts.map +1 -0
- package/dist/util/toolsetLock.js +20 -0
- package/dist/util/toolsetLock.js.map +1 -0
- package/dist/util/win/resEdit.d.ts +11 -0
- package/dist/util/win/resEdit.d.ts.map +1 -0
- package/dist/util/win/resEdit.js +46 -0
- package/dist/util/win/resEdit.js.map +1 -0
- package/dist/util/yarn.d.ts +23 -0
- package/dist/util/yarn.d.ts.map +1 -0
- package/dist/util/yarn.js +153 -0
- package/dist/util/yarn.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/dist/vm/MonoVm.d.ts +9 -0
- package/dist/vm/MonoVm.d.ts.map +1 -0
- package/dist/vm/MonoVm.js +16 -0
- package/dist/vm/MonoVm.js.map +1 -0
- package/dist/vm/ParallelsVm.d.ts +24 -0
- package/dist/vm/ParallelsVm.d.ts.map +1 -0
- package/dist/vm/ParallelsVm.js +107 -0
- package/dist/vm/ParallelsVm.js.map +1 -0
- package/dist/vm/PwshVm.d.ts +7 -0
- package/dist/vm/PwshVm.d.ts.map +1 -0
- package/dist/vm/PwshVm.js +21 -0
- package/dist/vm/PwshVm.js.map +1 -0
- package/dist/vm/WineVm.d.ts +14 -0
- package/dist/vm/WineVm.d.ts.map +1 -0
- package/dist/vm/WineVm.js +35 -0
- package/dist/vm/WineVm.js.map +1 -0
- package/dist/vm/vm.d.ts +15 -0
- package/dist/vm/vm.d.ts.map +1 -0
- package/dist/vm/vm.js +81 -0
- package/dist/vm/vm.js.map +1 -0
- package/dist/winPackager.d.ts +30 -0
- package/dist/winPackager.d.ts.map +1 -0
- package/dist/winPackager.js +270 -0
- package/dist/winPackager.js.map +1 -0
- package/helpers/package.json +6 -0
- package/helpers/remote-rebuild.js +2 -4
- package/package.json +30 -33
- package/scheme.json +379 -721
- package/out/Framework.d.ts +0 -36
- package/out/Framework.js +0 -7
- package/out/Framework.js.map +0 -1
- package/out/ProtonFramework.d.ts +0 -10
- package/out/ProtonFramework.js +0 -94
- package/out/ProtonFramework.js.map +0 -1
- package/out/appInfo.d.ts +0 -31
- package/out/appInfo.js +0 -152
- package/out/appInfo.js.map +0 -1
- package/out/asar/asar.d.ts +0 -38
- package/out/asar/asar.js +0 -163
- package/out/asar/asar.js.map +0 -1
- package/out/asar/asarFileChecker.d.ts +0 -2
- package/out/asar/asarFileChecker.js +0 -25
- package/out/asar/asarFileChecker.js.map +0 -1
- package/out/asar/asarUtil.d.ts +0 -1
- package/out/asar/asarUtil.js +0 -285
- package/out/asar/asarUtil.js.map +0 -1
- package/out/asar/integrity.d.ts +0 -15
- package/out/asar/integrity.js +0 -62
- package/out/asar/integrity.js.map +0 -1
- package/out/asar/unpackDetector.d.ts +0 -1
- package/out/asar/unpackDetector.js +0 -43
- package/out/asar/unpackDetector.js.map +0 -1
- package/out/binDownload.d.ts +0 -5
- package/out/binDownload.js +0 -104
- package/out/binDownload.js.map +0 -1
- package/out/codeSign/certInfo.d.ts +0 -54
- package/out/codeSign/certInfo.js +0 -466
- package/out/codeSign/certInfo.js.map +0 -1
- package/out/codeSign/codesign.d.ts +0 -3
- package/out/codeSign/codesign.js +0 -33
- package/out/codeSign/codesign.js.map +0 -1
- package/out/codeSign/macCodeSign.d.ts +0 -28
- package/out/codeSign/macCodeSign.js +0 -284
- package/out/codeSign/macCodeSign.js.map +0 -1
- package/out/codeSign/signManager.d.ts +0 -13
- package/out/codeSign/signManager.js +0 -3
- package/out/codeSign/signManager.js.map +0 -1
- package/out/codeSign/windowsCodeSign.d.ts +0 -7
- package/out/codeSign/windowsCodeSign.js +0 -38
- package/out/codeSign/windowsCodeSign.js.map +0 -1
- package/out/codeSign/windowsSignAzureManager.d.ts +0 -17
- package/out/codeSign/windowsSignAzureManager.js +0 -73
- package/out/codeSign/windowsSignAzureManager.js.map +0 -1
- package/out/codeSign/windowsSignToolManager.d.ts +0 -58
- package/out/codeSign/windowsSignToolManager.js +0 -376
- package/out/codeSign/windowsSignToolManager.js.map +0 -1
- package/out/configuration.d.ts +0 -532
- package/out/configuration.js +0 -3
- package/out/configuration.js.map +0 -1
- package/out/core.d.ts +0 -60
- package/out/core.js +0 -66
- package/out/core.js.map +0 -1
- package/out/electron/ElectronFramework.d.ts +0 -16
- package/out/electron/ElectronFramework.js +0 -242
- package/out/electron/ElectronFramework.js.map +0 -1
- package/out/electron/electronMac.d.ts +0 -1
- package/out/electron/electronMac.js +0 -262
- package/out/electron/electronMac.js.map +0 -1
- package/out/electron/electronVersion.d.ts +0 -6
- package/out/electron/electronVersion.js +0 -125
- package/out/electron/electronVersion.js.map +0 -1
- package/out/electron/electronWin.d.ts +0 -1
- package/out/electron/electronWin.js +0 -38
- package/out/electron/electronWin.js.map +0 -1
- package/out/electron/injectFFMPEG.d.ts +0 -11
- package/out/electron/injectFFMPEG.js +0 -57
- package/out/electron/injectFFMPEG.js.map +0 -1
- package/out/electron/search-module.d.ts +0 -23
- package/out/electron/search-module.js +0 -73
- package/out/electron/search-module.js.map +0 -1
- package/out/errorMessages.d.ts +0 -1
- package/out/errorMessages.js +0 -11
- package/out/errorMessages.js.map +0 -1
- package/out/fileMatcher.d.ts +0 -29
- package/out/fileMatcher.js +0 -292
- package/out/fileMatcher.js.map +0 -1
- package/out/fileTransformer.d.ts +0 -1
- package/out/fileTransformer.js +0 -107
- package/out/fileTransformer.js.map +0 -1
- package/out/forge-maker.d.ts +0 -5
- package/out/forge-maker.js +0 -23
- package/out/forge-maker.js.map +0 -1
- package/out/frameworks/LibUiFramework.d.ts +0 -47
- package/out/frameworks/LibUiFramework.js +0 -197
- package/out/frameworks/LibUiFramework.js.map +0 -1
- package/out/index.d.ts +0 -39
- package/out/index.js +0 -99
- package/out/index.js.map +0 -1
- package/out/linuxPackager.d.ts +0 -12
- package/out/linuxPackager.js +0 -77
- package/out/linuxPackager.js.map +0 -1
- package/out/mac/MacTargetHelper.d.ts +0 -29
- package/out/mac/MacTargetHelper.js +0 -273
- package/out/mac/MacTargetHelper.js.map +0 -1
- package/out/macPackager.d.ts +0 -49
- package/out/macPackager.js +0 -445
- package/out/macPackager.js.map +0 -1
- package/out/node-module-collector/bunNodeModulesCollector.d.ts +0 -10
- package/out/node-module-collector/bunNodeModulesCollector.js +0 -18
- package/out/node-module-collector/bunNodeModulesCollector.js.map +0 -1
- package/out/node-module-collector/hoist.d.ts +0 -123
- package/out/node-module-collector/hoist.js +0 -884
- package/out/node-module-collector/hoist.js.map +0 -1
- package/out/node-module-collector/index.d.ts +0 -18
- package/out/node-module-collector/index.js +0 -130
- package/out/node-module-collector/index.js.map +0 -1
- package/out/node-module-collector/moduleManager.d.ts +0 -93
- package/out/node-module-collector/moduleManager.js +0 -321
- package/out/node-module-collector/moduleManager.js.map +0 -1
- package/out/node-module-collector/nodeModulesCollector.d.ts +0 -137
- package/out/node-module-collector/nodeModulesCollector.js +0 -428
- package/out/node-module-collector/nodeModulesCollector.js.map +0 -1
- package/out/node-module-collector/npmNodeModulesCollector.d.ts +0 -14
- package/out/node-module-collector/npmNodeModulesCollector.js +0 -80
- package/out/node-module-collector/npmNodeModulesCollector.js.map +0 -1
- package/out/node-module-collector/packageManager.d.ts +0 -17
- package/out/node-module-collector/packageManager.js +0 -144
- package/out/node-module-collector/packageManager.js.map +0 -1
- package/out/node-module-collector/pnpmNodeModulesCollector.d.ts +0 -44
- package/out/node-module-collector/pnpmNodeModulesCollector.js +0 -191
- package/out/node-module-collector/pnpmNodeModulesCollector.js.map +0 -1
- package/out/node-module-collector/traversalNodeModulesCollector.d.ts +0 -18
- package/out/node-module-collector/traversalNodeModulesCollector.js +0 -122
- package/out/node-module-collector/traversalNodeModulesCollector.js.map +0 -1
- package/out/node-module-collector/types.d.ts +0 -52
- package/out/node-module-collector/types.js +0 -3
- package/out/node-module-collector/yarnBerryNodeModulesCollector.d.ts +0 -15
- package/out/node-module-collector/yarnBerryNodeModulesCollector.js +0 -93
- package/out/node-module-collector/yarnBerryNodeModulesCollector.js.map +0 -1
- package/out/node-module-collector/yarnNodeModulesCollector.d.ts +0 -10
- package/out/node-module-collector/yarnNodeModulesCollector.js +0 -22
- package/out/node-module-collector/yarnNodeModulesCollector.js.map +0 -1
- package/out/options/AppXOptions.d.ts +0 -105
- package/out/options/AppXOptions.js +0 -3
- package/out/options/AppXOptions.js.map +0 -1
- package/out/options/CommonWindowsInstallerConfiguration.d.ts +0 -47
- package/out/options/CommonWindowsInstallerConfiguration.js +0 -51
- package/out/options/CommonWindowsInstallerConfiguration.js.map +0 -1
- package/out/options/FileAssociation.d.ts +0 -45
- package/out/options/FileAssociation.js +0 -3
- package/out/options/MsiOptions.d.ts +0 -26
- package/out/options/MsiOptions.js +0 -3
- package/out/options/MsiOptions.js.map +0 -1
- package/out/options/MsiWrappedOptions.d.ts +0 -26
- package/out/options/MsiWrappedOptions.js +0 -3
- package/out/options/MsiWrappedOptions.js.map +0 -1
- package/out/options/PlatformSpecificBuildOptions.d.ts +0 -238
- package/out/options/PlatformSpecificBuildOptions.js +0 -3
- package/out/options/PlatformSpecificBuildOptions.js.map +0 -1
- package/out/options/SnapOptions.d.ts +0 -500
- package/out/options/SnapOptions.js +0 -3
- package/out/options/SnapOptions.js.map +0 -1
- package/out/options/SquirrelWindowsOptions.d.ts +0 -46
- package/out/options/SquirrelWindowsOptions.js +0 -3
- package/out/options/SquirrelWindowsOptions.js.map +0 -1
- package/out/options/linuxOptions.d.ts +0 -287
- package/out/options/linuxOptions.js +0 -3
- package/out/options/linuxOptions.js.map +0 -1
- package/out/options/macOptions.d.ts +0 -388
- package/out/options/macOptions.js +0 -3
- package/out/options/macOptions.js.map +0 -1
- package/out/options/metadata.d.ts +0 -53
- package/out/options/metadata.js +0 -3
- package/out/options/metadata.js.map +0 -1
- package/out/options/pkgOptions.d.ts +0 -136
- package/out/options/pkgOptions.js +0 -3
- package/out/options/pkgOptions.js.map +0 -1
- package/out/options/winOptions.d.ts +0 -164
- package/out/options/winOptions.js +0 -3
- package/out/options/winOptions.js.map +0 -1
- package/out/packager.d.ts +0 -99
- package/out/packager.js +0 -515
- package/out/packager.js.map +0 -1
- package/out/packagerApi.d.ts +0 -31
- package/out/packagerApi.js +0 -3
- package/out/packagerApi.js.map +0 -1
- package/out/platformPackager.d.ts +0 -101
- package/out/platformPackager.js +0 -714
- package/out/platformPackager.js.map +0 -1
- package/out/presets/rectCra.d.ts +0 -1
- package/out/presets/rectCra.js +0 -22
- package/out/presets/rectCra.js.map +0 -1
- package/out/publish/PublishManager.d.ts +0 -30
- package/out/publish/PublishManager.js +0 -497
- package/out/publish/PublishManager.js.map +0 -1
- package/out/publish/updateInfoBuilder.d.ts +0 -14
- package/out/publish/updateInfoBuilder.js +0 -226
- package/out/publish/updateInfoBuilder.js.map +0 -1
- package/out/targets/AppxCapabilities.d.ts +0 -8
- package/out/targets/AppxCapabilities.js +0 -258
- package/out/targets/AppxCapabilities.js.map +0 -1
- package/out/targets/AppxTarget.d.ts +0 -17
- package/out/targets/AppxTarget.js +0 -403
- package/out/targets/AppxTarget.js.map +0 -1
- package/out/targets/ArchiveTarget.d.ts +0 -11
- package/out/targets/ArchiveTarget.js +0 -88
- package/out/targets/ArchiveTarget.js.map +0 -1
- package/out/targets/FlatpakTarget.d.ts +0 -20
- package/out/targets/FlatpakTarget.js +0 -159
- package/out/targets/FlatpakTarget.js.map +0 -1
- package/out/targets/FpmTarget.d.ts +0 -22
- package/out/targets/FpmTarget.js +0 -372
- package/out/targets/FpmTarget.js.map +0 -1
- package/out/targets/LinuxTargetHelper.d.ts +0 -23
- package/out/targets/LinuxTargetHelper.js +0 -346
- package/out/targets/LinuxTargetHelper.js.map +0 -1
- package/out/targets/MsiTarget.d.ts +0 -28
- package/out/targets/MsiTarget.js +0 -268
- package/out/targets/MsiTarget.js.map +0 -1
- package/out/targets/MsiWrappedTarget.d.ts +0 -19
- package/out/targets/MsiWrappedTarget.js +0 -80
- package/out/targets/MsiWrappedTarget.js.map +0 -1
- package/out/targets/appimage/AppImageTarget.d.ts +0 -15
- package/out/targets/appimage/AppImageTarget.js +0 -147
- package/out/targets/appimage/AppImageTarget.js.map +0 -1
- package/out/targets/appimage/appImageUtil.d.ts +0 -56
- package/out/targets/appimage/appImageUtil.js +0 -323
- package/out/targets/appimage/appImageUtil.js.map +0 -1
- package/out/targets/appimage/appLauncher.d.ts +0 -3
- package/out/targets/appimage/appLauncher.js +0 -95
- package/out/targets/appimage/appLauncher.js.map +0 -1
- package/out/targets/archive.d.ts +0 -26
- package/out/targets/archive.js +0 -178
- package/out/targets/archive.js.map +0 -1
- package/out/targets/blockmap/blockmap.d.ts +0 -16
- package/out/targets/blockmap/blockmap.js +0 -153
- package/out/targets/blockmap/blockmap.js.map +0 -1
- package/out/targets/differentialUpdateInfoBuilder.d.ts +0 -15
- package/out/targets/differentialUpdateInfoBuilder.js +0 -80
- package/out/targets/differentialUpdateInfoBuilder.js.map +0 -1
- package/out/targets/nsis/Commands.d.ts +0 -9
- package/out/targets/nsis/Commands.js +0 -3
- package/out/targets/nsis/Commands.js.map +0 -1
- package/out/targets/nsis/Defines.d.ts +0 -80
- package/out/targets/nsis/Defines.js +0 -3
- package/out/targets/nsis/Defines.js.map +0 -1
- package/out/targets/nsis/NsisTarget.d.ts +0 -37
- package/out/targets/nsis/NsisTarget.js +0 -729
- package/out/targets/nsis/NsisTarget.js.map +0 -1
- package/out/targets/nsis/WebInstallerTarget.d.ts +0 -13
- package/out/targets/nsis/WebInstallerTarget.js +0 -47
- package/out/targets/nsis/WebInstallerTarget.js.map +0 -1
- package/out/targets/nsis/nsisLang.d.ts +0 -10
- package/out/targets/nsis/nsisLang.js +0 -100
- package/out/targets/nsis/nsisLang.js.map +0 -1
- package/out/targets/nsis/nsisLicense.d.ts +0 -4
- package/out/targets/nsis/nsisLicense.js +0 -77
- package/out/targets/nsis/nsisLicense.js.map +0 -1
- package/out/targets/nsis/nsisOptions.d.ts +0 -274
- package/out/targets/nsis/nsisOptions.js +0 -3
- package/out/targets/nsis/nsisOptions.js.map +0 -1
- package/out/targets/nsis/nsisScriptGenerator.d.ts +0 -12
- package/out/targets/nsis/nsisScriptGenerator.js +0 -64
- package/out/targets/nsis/nsisScriptGenerator.js.map +0 -1
- package/out/targets/nsis/nsisUtil.d.ts +0 -25
- package/out/targets/nsis/nsisUtil.js +0 -225
- package/out/targets/nsis/nsisUtil.js.map +0 -1
- package/out/targets/nsis/nsisValidation.d.ts +0 -18
- package/out/targets/nsis/nsisValidation.js +0 -53
- package/out/targets/nsis/nsisValidation.js.map +0 -1
- package/out/targets/pkg.d.ts +0 -30
- package/out/targets/pkg.js +0 -279
- package/out/targets/pkg.js.map +0 -1
- package/out/targets/snap/SnapTarget.d.ts +0 -36
- package/out/targets/snap/SnapTarget.js +0 -105
- package/out/targets/snap/SnapTarget.js.map +0 -1
- package/out/targets/snap/core24.d.ts +0 -52
- package/out/targets/snap/core24.js +0 -449
- package/out/targets/snap/core24.js.map +0 -1
- package/out/targets/snap/coreCustom.d.ts +0 -28
- package/out/targets/snap/coreCustom.js +0 -63
- package/out/targets/snap/coreCustom.js.map +0 -1
- package/out/targets/snap/coreLegacy.d.ts +0 -43
- package/out/targets/snap/coreLegacy.js +0 -416
- package/out/targets/snap/coreLegacy.js.map +0 -1
- package/out/targets/snap/snapcraftBuilder.d.ts +0 -39
- package/out/targets/snap/snapcraftBuilder.js +0 -419
- package/out/targets/snap/snapcraftBuilder.js.map +0 -1
- package/out/targets/targetFactory.d.ts +0 -12
- package/out/targets/targetFactory.js +0 -101
- package/out/targets/targetFactory.js.map +0 -1
- package/out/targets/targetUtil.d.ts +0 -14
- package/out/targets/targetUtil.js +0 -47
- package/out/targets/targetUtil.js.map +0 -1
- package/out/toolsets/7zip.d.ts +0 -2
- package/out/toolsets/7zip.js +0 -72
- package/out/toolsets/7zip.js.map +0 -1
- package/out/toolsets/icons.d.ts +0 -8
- package/out/toolsets/icons.js +0 -37
- package/out/toolsets/icons.js.map +0 -1
- package/out/toolsets/linux.d.ts +0 -26
- package/out/toolsets/linux.js +0 -146
- package/out/toolsets/linux.js.map +0 -1
- package/out/toolsets/windows.d.ts +0 -61
- package/out/toolsets/windows.js +0 -259
- package/out/toolsets/windows.js.map +0 -1
- package/out/toolsets/wine.d.ts +0 -5
- package/out/toolsets/wine.js +0 -100
- package/out/toolsets/wine.js.map +0 -1
- package/out/util/AppFileWalker.d.ts +0 -13
- package/out/util/AppFileWalker.js +0 -74
- package/out/util/AppFileWalker.js.map +0 -1
- package/out/util/NodeModuleCopyHelper.d.ts +0 -1
- package/out/util/NodeModuleCopyHelper.js +0 -165
- package/out/util/NodeModuleCopyHelper.js.map +0 -1
- package/out/util/appFileCopier.d.ts +0 -16
- package/out/util/appFileCopier.js +0 -251
- package/out/util/appFileCopier.js.map +0 -1
- package/out/util/asyncEventEmitter.d.ts +0 -33
- package/out/util/asyncEventEmitter.js +0 -63
- package/out/util/asyncEventEmitter.js.map +0 -1
- package/out/util/bundledTool.d.ts +0 -7
- package/out/util/bundledTool.js +0 -20
- package/out/util/bundledTool.js.map +0 -1
- package/out/util/cacheManager.d.ts +0 -18
- package/out/util/cacheManager.js +0 -70
- package/out/util/cacheManager.js.map +0 -1
- package/out/util/cacheState.d.ts +0 -28
- package/out/util/cacheState.js +0 -143
- package/out/util/cacheState.js.map +0 -1
- package/out/util/config/config.d.ts +0 -12
- package/out/util/config/config.js +0 -256
- package/out/util/config/config.js.map +0 -1
- package/out/util/config/load.d.ts +0 -19
- package/out/util/config/load.js +0 -129
- package/out/util/config/load.js.map +0 -1
- package/out/util/config/schemaValidator.d.ts +0 -7
- package/out/util/config/schemaValidator.js +0 -154
- package/out/util/config/schemaValidator.js.map +0 -1
- package/out/util/dynamicImport.d.ts +0 -1
- package/out/util/dynamicImport.js +0 -12
- package/out/util/dynamicImport.js.map +0 -1
- package/out/util/electronGet.d.ts +0 -61
- package/out/util/electronGet.js +0 -464
- package/out/util/electronGet.js.map +0 -1
- package/out/util/envPath.d.ts +0 -2
- package/out/util/envPath.js +0 -28
- package/out/util/envPath.js.map +0 -1
- package/out/util/filter.d.ts +0 -1
- package/out/util/filter.js +0 -68
- package/out/util/filter.js.map +0 -1
- package/out/util/flags.d.ts +0 -3
- package/out/util/flags.js +0 -16
- package/out/util/flags.js.map +0 -1
- package/out/util/hash.d.ts +0 -1
- package/out/util/hash.js +0 -19
- package/out/util/hash.js.map +0 -1
- package/out/util/iconConverter.d.ts +0 -25
- package/out/util/iconConverter.js +0 -260
- package/out/util/iconConverter.js.map +0 -1
- package/out/util/langs.d.ts +0 -189
- package/out/util/langs.js +0 -436
- package/out/util/langs.js.map +0 -1
- package/out/util/license.d.ts +0 -16
- package/out/util/license.js +0 -47
- package/out/util/license.js.map +0 -1
- package/out/util/macosIconComposer.d.ts +0 -10
- package/out/util/macosIconComposer.js +0 -102
- package/out/util/macosIconComposer.js.map +0 -1
- package/out/util/macosVersion.d.ts +0 -3
- package/out/util/macosVersion.js +0 -36
- package/out/util/macosVersion.js.map +0 -1
- package/out/util/macroExpander.d.ts +0 -3
- package/out/util/macroExpander.js +0 -64
- package/out/util/macroExpander.js.map +0 -1
- package/out/util/normalizePackageData.d.ts +0 -1
- package/out/util/normalizePackageData.js +0 -328
- package/out/util/normalizePackageData.js.map +0 -1
- package/out/util/packageDependencies.d.ts +0 -6
- package/out/util/packageDependencies.js +0 -3
- package/out/util/packageDependencies.js.map +0 -1
- package/out/util/packageMetadata.d.ts +0 -1
- package/out/util/packageMetadata.js +0 -124
- package/out/util/packageMetadata.js.map +0 -1
- package/out/util/pathManager.d.ts +0 -3
- package/out/util/pathManager.js +0 -23
- package/out/util/pathManager.js.map +0 -1
- package/out/util/plist.d.ts +0 -7
- package/out/util/plist.js +0 -31
- package/out/util/plist.js.map +0 -1
- package/out/util/rebuild.d.ts +0 -2
- package/out/util/rebuild.js +0 -60
- package/out/util/rebuild.js.map +0 -1
- package/out/util/repositoryInfo.d.ts +0 -3
- package/out/util/repositoryInfo.js +0 -79
- package/out/util/repositoryInfo.js.map +0 -1
- package/out/util/resEdit.d.ts +0 -10
- package/out/util/resEdit.js +0 -49
- package/out/util/resEdit.js.map +0 -1
- package/out/util/resolve.d.ts +0 -2
- package/out/util/resolve.js +0 -59
- package/out/util/resolve.js.map +0 -1
- package/out/util/timer.d.ts +0 -11
- package/out/util/timer.js +0 -28
- package/out/util/timer.js.map +0 -1
- package/out/util/toolsetLock.d.ts +0 -1
- package/out/util/toolsetLock.js +0 -23
- package/out/util/toolsetLock.js.map +0 -1
- package/out/util/yarn.d.ts +0 -22
- package/out/util/yarn.js +0 -160
- package/out/util/yarn.js.map +0 -1
- package/out/version.d.ts +0 -1
- package/out/version.js +0 -5
- package/out/version.js.map +0 -1
- package/out/vm/MonoVm.d.ts +0 -8
- package/out/vm/MonoVm.js +0 -20
- package/out/vm/MonoVm.js.map +0 -1
- package/out/vm/ParallelsVm.d.ts +0 -23
- package/out/vm/ParallelsVm.js +0 -102
- package/out/vm/ParallelsVm.js.map +0 -1
- package/out/vm/PwshVm.d.ts +0 -6
- package/out/vm/PwshVm.js +0 -25
- package/out/vm/PwshVm.js.map +0 -1
- package/out/vm/WineVm.d.ts +0 -12
- package/out/vm/WineVm.js +0 -38
- package/out/vm/WineVm.js.map +0 -1
- package/out/vm/vm.d.ts +0 -14
- package/out/vm/vm.js +0 -88
- package/out/vm/vm.js.map +0 -1
- package/out/winPackager.d.ts +0 -29
- package/out/winPackager.js +0 -271
- package/out/winPackager.js.map +0 -1
- /package/{out → dist}/node-module-collector/types.js.map +0 -0
- /package/{out → dist}/options/FileAssociation.js.map +0 -0
- /package/helpers/{dynamic-import.js → dynamic-import.cjs} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BlockMapDataHolder } from "builder-util-runtime";
|
|
2
|
+
export type CompressionFormat = "deflate" | "gzip";
|
|
3
|
+
/**
|
|
4
|
+
* Build a content-defined block map for `inFile` using Rabin fingerprinting.
|
|
5
|
+
*
|
|
6
|
+
* Files are processed via streaming (peak memory ≈ RABIN_MAX = 32 KB per chunk,
|
|
7
|
+
* not the full file size), making this safe for large installers.
|
|
8
|
+
*
|
|
9
|
+
* - If `outFile` is omitted: compressed blockmap is appended to `inFile`
|
|
10
|
+
* (used for NSIS web installer / AppImage embed); `blockMapSize` is returned.
|
|
11
|
+
* - If `outFile` is provided: compressed blockmap is written to that file;
|
|
12
|
+
* `blockMapSize` is not included in the result.
|
|
13
|
+
*
|
|
14
|
+
* Returned `sha512` is SHA-512 of the full file as it exists after the call.
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildBlockMap(inFile: string, compressionFormat: CompressionFormat, outFile?: string): Promise<BlockMapDataHolder>;
|
|
17
|
+
//# sourceMappingURL=blockmap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockmap.d.ts","sourceRoot":"","sources":["../../../src/targets/blockmap/blockmap.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AA6BzD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAA;AAgBlD;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmHvI"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { createHash } from "crypto";
|
|
2
|
+
import { createReadStream } from "fs";
|
|
3
|
+
import { appendFile, writeFile } from "fs/promises";
|
|
4
|
+
import * as zlib from "zlib";
|
|
5
|
+
import { blake2b } from "@noble/hashes/blake2.js";
|
|
6
|
+
// Rabin fingerprinting constants from github.com/aclements/go-rabin:
|
|
7
|
+
// Poly64 = 0xbfe6b8a5bf378d83 (degree-63 irreducible polynomial over GF(2))
|
|
8
|
+
// Window = 64 bytes, Avg = 16 KB, Min = 8 KB, Max = 32 KB
|
|
9
|
+
// Boundary condition: (hash & (AVG-1)) === (AVG-1), i.e. all mask bits set.
|
|
10
|
+
//
|
|
11
|
+
// The tables below are precomputed offline (avoiding BigInt in production):
|
|
12
|
+
// PUSH[i] = (i * x^63 + (i * x^63 mod p)) truncated to 64 bits
|
|
13
|
+
// POP[i] = (i * x^(63*8)) mod p
|
|
14
|
+
// Each stored as signed Int32 hi/lo pair; hash = hi*2^32 + lo (unsigned 64-bit).
|
|
15
|
+
// prettier-ignore
|
|
16
|
+
const PUSH_HI = new Int32Array([0, -1075398491, 2144170315, -1070872082, 1081891379, -6626666, 1068575608, -2141744163, 1058933955, -2131184538, 1087602056, -13253331, 2137151216, -1065030059, 11478971, -1085694178, 2117867910, -1042636509, 32598221, -1105735576, 1044399029, -2119763184, 1099772670, -26506661, 1092752709, -20664864, 1055876110, -2130060117, 22957942, -1095174189, 2123578941, -1049262440, 1134463913, -59231476, 1012136674, -2085273017, 65196442, -1140561601, 2083496145, -1010231180, 2088798058, -1016709169, 55440929, -1129623932, 1023204697, -2095421956, 1127328786, -53013321, 1034064431, -2109461878, 1114628964, -41329727, 2111752220, -1036488519, 34847063, -1108016654, 45915884, -1118165431, 2104618919, -1030269182, 1119929567, -47809414, 1024308628, -2098524879, 953921527, -2026039470, 1192681148, -118462951, 2024273348, -952021663, 124421263, -1198769110, 130392884, -1205658735, 2013844095, -940676390, 1203370247, -127975006, 947161164, -2020462359, 1189590641, -117371180, 959104826, -2033418337, 110881858, -1182968601, 2035719433, -961534548, 2046409394, -971046377, 104123385, -1177390244, 965075073, -2040309724, 1179161034, -106026641, 2068128862, -995910405, 76043541, -1150358096, 993623661, -2065709368, 1156845350, -82659453, 1146824861, -71462856, 999709142, -2072977037, 69694126, -1144927733, 2078933989, -1005798592, 91831768, -1163950723, 2058636435, -984419274, 1157982187, -85729458, 986191520, -2060538363, 979841307, -2055108162, 1168785488, -95618827, 2048617256, -973220979, 97917539, -1171217722, 1907843054, -833493173, 242888357, -1315138048, 835388893, -1909605000, 1309045910, -236925901, 1319719725, -246420600, 828645990, -1904043325, 248842526, -1322012229, 1897429077, -822165264, 260785768, -1334968627, 1883649827, -811561082, 1341594715, -267279106, 809135376, -1881352779, 815090347, -1888226802, 1331182560, -255950011, 1894322328, -821057475, 254042579, -1329407626, 841602119, -1915786014, 1306830092, -234742359, 1918209652, -843893039, 228130623, -1300346982, 221763716, -1294901215, 1929030095, -853798550, 1296794295, -223528430, 847705084, -1923069095, 1276497345, -202148508, 869842058, -1942092753, 208246770, -1282461865, 1940186809, -868065764, 1930150146, -856852057, 214347849, -1289746196, 863476529, -1936645228, 1287318138, -212053281, 1231876121, -158709572, 916554066, -1991820809, 152087082, -1225387377, 1994251105, -918854716, 1987247322, -913030017, 163548561, -1235667660, 906929897, -1981276596, 1237571490, -165318905, 928049567, -2001317574, 1218287828, -142925711, 1999418284, -926282999, 149013223, -1224246718, 139388252, -1213702663, 2005111831, -932893518, 1211285359, -137099318, 939511332, -2011597183, 183663536, -1256930539, 1967065851, -891702690, 1250828675, -177694426, 893604040, -1968838547, 904689523, -1979002922, 1243678264, -171458915, 1972383040, -898198043, 173890571, -1245977426, 1959682614, -886515053, 184750973, -1260016680, 884094981, -1957396320, 1266633038, -191237653, 1271951093, -197732784, 874323902, -1946441957, 195835078, -1270182813, 1952531853, -880280280]);
|
|
17
|
+
// prettier-ignore
|
|
18
|
+
const PUSH_LO = new Int32Array([0, -1086878333, 2121210630, -1051158907, 1139391375, -52546036, 1032233097, -2102317814, 954530461, -2016184546, 1183572379, -105092072, 2064466194, -1002779503, 90331668, -1168779369, 1909060922, -822183751, 262598204, -1332649025, 840978101, -1927822538, 1280267699, -210184144, 1227689895, -166034908, 927077537, -2005559006, 180663336, -1242351189, 1957408558, -878959955, 1554278391, -476845452, 583761137, -1644367502, 525196408, -1602596357, 1629669246, -569029891, 1681956202, -612953879, 439322220, -1525150737, 665396965, -1734431898, 1506164195, -420368288, 762155725, -1839587506, 1392675275, -332069816, 1854155074, -776756031, 283849284, -1344487481, 361326672, -1430329901, 1810264918, -724435243, 1449186271, -380150180, 672123097, -1757919910, 109003373, -1186410514, 2014337387, -953690904, 1167522274, -90082207, 1006232292, -2066845849, 1050392816, -2119420557, 1089774582, -3985803, 2104623999, -1035628804, 52238457, -1138059782, 2008463191, -931054892, 165260369, -1225907758, 878644440, -1956085413, 1244665822, -184051107, 1330793930, -261767095, 826103500, -1911891121, 213644869, -1282638906, 1926556995, -840736576, 1524311450, -437475303, 615792284, -1685867745, 422747669, -1509616746, 1734182163, -664139632, 1648353031, -586657148, 475055105, -1553512062, 567698568, -1629361909, 1605992334, -527502835, 722653344, -1809490653, 1434307494, -364231131, 1761307439, -674437460, 378826793, -1448870486, 334899773, -1396594754, 1838756155, -760300360, 1344246194, -282584015, 779127476, -1857616073, 218006746, -1278670503, 1922146268, -844754337, 1326923605, -266292522, 829957203, -1907381808, 874151495, -1959922748, 1249207617, -180164414, 2012464584, -926660533, 161275598, -1230286003, 2100785632, -1040122781, 56126182, -1133516955, 1054788207, -2115418132, 1085395305, -7971606, 1171491709, -85719298, 1002213499, -2071257608, 104476914, -1190281871, 2018847732, -949836169, 1348133677, -278040914, 775288875, -1862109784, 330520738, -1400580831, 1843151780, -756298201, 1757288880, -678849485, 382796470, -1444507851, 727163455, -1805635652, 1429780793, -368102214, 563287575, -1633379436, 1610353937, -523534190, 1652207000, -582148069, 471185054, -1558037731, 427289738, -1505730295, 1729689484, -667977201, 1520326405, -441853306, 619793411, -1681473152, 176277175, -1246344396, 1961811377, -874950606, 1231584568, -161484613, 923231806, -2010059843, 845495338, -1923960407, 1275733804, -214062417, 1905035173, -826602970, 266575011, -1328279264, 2068329357, -998261234, 86452363, -1173314296, 950110210, -2020211327, 1187943172, -101114233, 1135397136, -56933229, 1036243478, -2097913963, 4551327, -1082982628, 2116708761, -1055005670, 1445306688, -384684861, 675985990, -1753401403, 365697743, -1426352308, 1805844937, -728462262, 1858165725, -772352418, 279855323, -1348874920, 757653586, -1843434031, 1397226324, -328173865, 669799546, -1730422279, 1501777788, -424361217, 1678110709, -617454986, 443217139, -1520600720, 520662759, -1606474908, 1634186721, -565168030, 1558254952, -472475413, 579735150, -1648786451]);
|
|
19
|
+
// prettier-ignore
|
|
20
|
+
const POP_HI = new Int32Array([0, 2138251555, 1090583266, 1047780289, 1038568800, 1117023299, 2095560578, 60069537, 2077137601, 79543266, 986603555, 1170030848, 1177147297, 962262658, 120139075, 2019167328, 1216056615, 923315204, 159086533, 1980258022, 1973207111, 183492964, 882653861, 1273961350, 867506150, 1288058565, 1924525316, 231132199, 240278150, 1898019749, 1330815076, 807502151, 789684970, 1348633545, 1846630408, 291666219, 318173066, 1837485737, 1408636264, 746927179, 1423915051, 732698888, 366985929, 1789715434, 1765307723, 374035560, 674795433, 1464577674, 1735012301, 404295406, 644535599, 1494873100, 1519215277, 637420430, 462264399, 1694415212, 480556300, 1675072559, 1571049454, 584543949, 558102636, 1580259663, 1615004302, 523248557, 1579369941, 558916854, 522436407, 1615896084, 1673791669, 481765782, 583332439, 1572328308, 636346132, 1520369207, 1693263350, 463340757, 403346036, 1736029015, 1493854358, 645482933, 374917362, 1764485585, 1465397776, 673911603, 733971858, 1422697649, 1790934896, 365715027, 1838567987, 317027088, 748071121, 1407551986, 1349590867, 788676208, 292677041, 1845675154, 1899161407, 239191580, 808590813, 1329675518, 1289071199, 866552700, 232083645, 1923510686, 184319486, 1972329693, 1274840860, 881829439, 924528798, 1214779837, 1981532796, 157870943, 961112600, 1178225467, 2018087162, 121287129, 78522232, 2078082651, 1169087898, 987626681, 1116205273, 1039454714, 59181627, 2096376600, 2137046457, 1285274, 1046497115, 1091790456, 60830479, 2094207532, 1117833709, 1037297870, 1044872815, 1093951308, 2135393421, 3450286, 2020518350, 119376109, 963531564, 1176334863, 1166664878, 989513101, 76095052, 2079997807, 1272692264, 883465995, 182142154, 1973970409, 1983705928, 156226155, 926681514, 1213147273, 806692073, 1332086218, 1897258507, 241631016, 233990537, 1921075370, 1290965867, 864137800, 749834725, 1405268166, 1840343815, 314722852, 290905221, 1847983526, 1347823207, 790955844, 1467943716, 671885831, 377483718, 1762447589, 1788364356, 367748967, 731430054, 1424727429, 1690967234, 465124833, 634054176, 1522124547, 1496142242, 643723393, 405646144, 1734249059, 520390147, 1618454304, 1577352417, 561470914, 585354083, 1569778240, 1675833729, 479203490, 1568896730, 586176505, 478383160, 1676717339, 1617181626, 521607833, 560251224, 1578623099, 642640923, 1497287992, 1733105401, 406730714, 464167291, 1691975768, 1521114009, 635009722, 368638973, 1787550430, 1425539359, 730538044, 673167005, 1466734526, 1763658879, 376204636, 1849057596, 289751071, 792107998, 1346747133, 1406217308, 748817791, 315741886, 1839396765, 1922225200, 232912147, 865218258, 1289818097, 1333107024, 805746803, 242574258, 1896235665, 157044465, 1982820306, 1214034963, 925865264, 884671377, 1271407282, 1975253363, 180934736, 988371223, 1167751220, 2078909429, 77234902, 118363255, 2021471572, 1175383701, 964546486, 1093125078, 1045750517, 2570548, 2136217623, 2092994230, 62107541, 1036022868, 1119049079]);
|
|
21
|
+
// prettier-ignore
|
|
22
|
+
const POP_LO = new Int32Array([0, -1826189856, -1720019389, 173808547, -1916624635, 518270181, 347617094, -2019640666, 461718026, -2002530326, -2097163191, 299456937, -1773673713, 90271471, 255685964, -1675888468, -2009265769, 454788215, 289906644, -2107567564, 100640914, -1764153998, -1668989231, 262386481, -1816638563, 10405501, 180542942, -1713090498, 511371928, -1923324040, -2030011173, 338096443, -1353867603, 1013650253, 909576430, -1525578482, 579813288, -1314278840, -1141528085, 684925963, -1261904729, 669929799, 766659300, -1097545980, 956988834, -1439895486, -1603212319, 861300225, 661690170, -1269425446, -1106640519, 757894297, -1431161281, 966048735, 868786300, -1595003492, 1022743856, -1345103664, -1517337741, 917098131, -1321765835, 571603413, 676192886, -1150586986, 1587232090, -843206470, -941511911, 1422337785, -749101985, 1082069439, 1243810332, -653948932, 1159626576, -700910928, -597366509, 1329751283, -925049259, 1543132085, 1369851926, -1031748106, -693750579, 1166063917, 1339859598, -587583634, 1533318600, -935192536, -1038220405, 1362660971, -853313849, 1577450279, 1415176324, -947950236, 1088542658, -741909982, -644136575, 1253952609, -237591561, 1659907607, 1756116404, -74794924, 2081686258, -281899246, -445737807, 1984436561, -363601411, 2037738525, 1932097470, -535823778, 1737572600, -189281000, -18098501, 1842174811, 2045487712, -355653760, -527352797, 1941418435, -198636699, 1729070725, 1834196262, -25882426, 1651435626, -246913654, -82543063, 1748169673, -273921681, 2089469071, 1993793324, -437234996, 33683255, -1859683625, -1686412940, 140373140, -1883023822, 484826066, 381272177, -2053157487, 428127549, -1969080099, -2130828418, 332967582, -1807346632, 123771352, 222069371, -1642459237, -1975714144, 421163840, 323381475, -2141133565, 134111141, -1797729723, -1635464730, 228738054, -1850098518, 43987274, 147008233, -1679448311, 477830575, -1889693617, -2063496212, 371656204, -1387501158, 1047192698, 876019673, -1492094407, 546228383, -1280817793, -1175167268, 718459708, -1228330096, 636462704, 800308691, -1131073485, 990612117, -1473443979, -1569645354, 827822390, 628187149, -1235751443, -1140066738, 791509934, -1464614648, 999640296, 835278667, -1561339221, 1056186887, -1378701337, -1483819964, 883440036, -1288273150, 537923298, 709629249, -1184196447, 1553648237, -809744499, -975152082, 1455870414, -782734488, 1115612808, 1210252587, -620465973, 1193248871, -734460537, -563798492, 1296274372, -891475614, 1509663874, 1403502369, -1065274687, -727202822, 1199656474, 1306351033, -553920423, 1499816703, -901517537, -1071647556, 1396275548, -819822096, 1543769104, 1448613811, -981558701, 1121984757, -775508715, -610617674, 1220295510, -203991872, 1626462496, 1789772419, -108310685, 2115368389, -315394011, -412130426, 1951002214, -397273398, 2071239466, 1898479753, -502395543, 1703983055, -155829713, -51764852, 1875684460, 2078956887, -389230409, -493827308, 1907771124, -165086126, 1695445426, 1867672081, -59447311, 1617895261, -213282115, -116029154, 1781728510, -307380648, 2123051960, 1960257563, -403593733]);
|
|
23
|
+
// Chunker parameters
|
|
24
|
+
const RABIN_MIN = 8192;
|
|
25
|
+
const RABIN_AVG = 16384;
|
|
26
|
+
const RABIN_MAX = 32768;
|
|
27
|
+
const RABIN_WINDOW = 64;
|
|
28
|
+
// Boundary: all mask bits (14 bits) set in lo word. RABIN_AVG is a power of 2.
|
|
29
|
+
const RABIN_HASH_MASK = RABIN_AVG - 1; // 0x3FFF
|
|
30
|
+
function compress(data, format) {
|
|
31
|
+
return format === "deflate" ? zlib.deflateRawSync(data, { level: 9 }) : zlib.gzipSync(data, { level: 9 });
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Build a content-defined block map for `inFile` using Rabin fingerprinting.
|
|
35
|
+
*
|
|
36
|
+
* Files are processed via streaming (peak memory ≈ RABIN_MAX = 32 KB per chunk,
|
|
37
|
+
* not the full file size), making this safe for large installers.
|
|
38
|
+
*
|
|
39
|
+
* - If `outFile` is omitted: compressed blockmap is appended to `inFile`
|
|
40
|
+
* (used for NSIS web installer / AppImage embed); `blockMapSize` is returned.
|
|
41
|
+
* - If `outFile` is provided: compressed blockmap is written to that file;
|
|
42
|
+
* `blockMapSize` is not included in the result.
|
|
43
|
+
*
|
|
44
|
+
* Returned `sha512` is SHA-512 of the full file as it exists after the call.
|
|
45
|
+
*/
|
|
46
|
+
export async function buildBlockMap(inFile, compressionFormat, outFile) {
|
|
47
|
+
const fileHash = createHash("sha512");
|
|
48
|
+
const checksums = [];
|
|
49
|
+
const sizes = [];
|
|
50
|
+
let totalSize = 0;
|
|
51
|
+
// Per-chunk Rabin state. Peak memory ≈ RABIN_MAX (32 KB) — not file size.
|
|
52
|
+
const chunkBuf = Buffer.allocUnsafe(RABIN_MAX);
|
|
53
|
+
let chunkN = 0; // bytes accumulated for current chunk
|
|
54
|
+
let hi = 0;
|
|
55
|
+
let lo = 0;
|
|
56
|
+
const win = new Uint8Array(RABIN_WINDOW); // rolling window ring buffer
|
|
57
|
+
let wpos = 0;
|
|
58
|
+
function emitChunk() {
|
|
59
|
+
checksums.push(Buffer.from(blake2b(chunkBuf.subarray(0, chunkN), { dkLen: 18 })).toString("base64"));
|
|
60
|
+
sizes.push(chunkN);
|
|
61
|
+
chunkN = 0;
|
|
62
|
+
hi = 0;
|
|
63
|
+
lo = 0;
|
|
64
|
+
win.fill(0);
|
|
65
|
+
wpos = 0;
|
|
66
|
+
}
|
|
67
|
+
// Called once per byte; inlines the three-phase Rabin state machine:
|
|
68
|
+
// skip (< MIN-WINDOW bytes) → prime (next WINDOW bytes) → scan (≥ MIN bytes)
|
|
69
|
+
function processByte(b) {
|
|
70
|
+
chunkBuf[chunkN++] = b;
|
|
71
|
+
if (chunkN <= RABIN_MIN - RABIN_WINDOW) {
|
|
72
|
+
// Skip phase: not close enough to MIN to start priming yet
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (chunkN <= RABIN_MIN) {
|
|
76
|
+
// Prime phase: non-windowed hash update, filling the ring buffer
|
|
77
|
+
win[wpos] = b;
|
|
78
|
+
wpos = (wpos + 1) % RABIN_WINDOW;
|
|
79
|
+
const top = (hi >>> 23) & 0xff;
|
|
80
|
+
const nhi = ((hi << 8) | (lo >>> 24)) & 0x7fffffff;
|
|
81
|
+
const nlo = ((lo << 8) | b) & 0xffffffff;
|
|
82
|
+
hi = (nhi ^ PUSH_HI[top]) | 0;
|
|
83
|
+
lo = (nlo ^ PUSH_LO[top]) | 0;
|
|
84
|
+
// At exactly MIN: check whether the primed hash is already a boundary
|
|
85
|
+
if (chunkN === RABIN_MIN && (lo & RABIN_HASH_MASK) === RABIN_HASH_MASK) {
|
|
86
|
+
emitChunk();
|
|
87
|
+
}
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
// Scan phase: sliding window — pop oldest byte, push new byte
|
|
91
|
+
const old = win[wpos];
|
|
92
|
+
win[wpos] = b;
|
|
93
|
+
wpos = (wpos + 1) % RABIN_WINDOW;
|
|
94
|
+
hi = (hi ^ POP_HI[old]) | 0;
|
|
95
|
+
lo = (lo ^ POP_LO[old]) | 0;
|
|
96
|
+
const top = (hi >>> 23) & 0xff;
|
|
97
|
+
const nhi = ((hi << 8) | (lo >>> 24)) & 0x7fffffff;
|
|
98
|
+
const nlo = ((lo << 8) | b) & 0xffffffff;
|
|
99
|
+
hi = (nhi ^ PUSH_HI[top]) | 0;
|
|
100
|
+
lo = (nlo ^ PUSH_LO[top]) | 0;
|
|
101
|
+
if ((lo & RABIN_HASH_MASK) === RABIN_HASH_MASK || chunkN >= RABIN_MAX) {
|
|
102
|
+
emitChunk();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// Stream-read the file, feeding SHA-512 and the Rabin chunker simultaneously
|
|
106
|
+
await new Promise((resolve, reject) => {
|
|
107
|
+
const rs = createReadStream(inFile, { highWaterMark: 256 * 1024 });
|
|
108
|
+
rs.on("data", (chunk) => {
|
|
109
|
+
const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
110
|
+
chunk = buf;
|
|
111
|
+
fileHash.update(chunk);
|
|
112
|
+
totalSize += chunk.length;
|
|
113
|
+
for (let i = 0; i < chunk.length; i++) {
|
|
114
|
+
processByte(chunk[i]);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
rs.on("end", () => {
|
|
118
|
+
if (chunkN > 0) {
|
|
119
|
+
emitChunk();
|
|
120
|
+
}
|
|
121
|
+
resolve();
|
|
122
|
+
});
|
|
123
|
+
rs.on("error", reject);
|
|
124
|
+
});
|
|
125
|
+
const blockMap = {
|
|
126
|
+
version: "2",
|
|
127
|
+
files: [{ name: "file", offset: 0, checksums, sizes }],
|
|
128
|
+
};
|
|
129
|
+
const compressed = compress(Buffer.from(JSON.stringify(blockMap)), compressionFormat);
|
|
130
|
+
if (outFile == null || outFile === "") {
|
|
131
|
+
// Append mode: write compressed blockmap + 4-byte size in one atomic call
|
|
132
|
+
// to avoid a partial-write window between the two separate appendFile calls.
|
|
133
|
+
const sizeHeader = Buffer.allocUnsafe(4);
|
|
134
|
+
sizeHeader.writeUInt32BE(compressed.length, 0);
|
|
135
|
+
const appended = Buffer.concat([compressed, sizeHeader]);
|
|
136
|
+
await appendFile(inFile, appended);
|
|
137
|
+
fileHash.update(appended);
|
|
138
|
+
return {
|
|
139
|
+
size: totalSize + appended.length,
|
|
140
|
+
sha512: fileHash.digest("base64"),
|
|
141
|
+
blockMapSize: compressed.length,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
await writeFile(outFile, compressed);
|
|
145
|
+
return {
|
|
146
|
+
size: totalSize,
|
|
147
|
+
sha512: fileHash.digest("base64"),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=blockmap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockmap.js","sourceRoot":"","sources":["../../../src/targets/blockmap/blockmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAGjD,qEAAqE;AACrE,8EAA8E;AAC9E,4DAA4D;AAC5D,4EAA4E;AAC5E,EAAE;AACF,4EAA4E;AAC5E,iEAAiE;AACjE,mCAAmC;AACnC,iFAAiF;AAEjF,kBAAkB;AAClB,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,OAAO,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,CAAC,CAAC,CAAA;AAClxF,kBAAkB;AAClB,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,OAAO,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,OAAO,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,OAAO,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AACtxF,kBAAkB;AAClB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,OAAO,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,OAAO,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,CAAC,CAAC,CAAA;AAClpF,kBAAkB;AAClB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,CAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,QAAQ,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,UAAU,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,UAAU,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC,CAAC,SAAS,EAAC,UAAU,EAAC,CAAC,SAAS,EAAC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","sourcesContent":["import { createHash } from \"crypto\"\nimport { createReadStream } from \"fs\"\nimport { appendFile, writeFile } from \"fs/promises\"\nimport * as zlib from \"zlib\"\nimport { blake2b } from \"@noble/hashes/blake2.js\"\nimport { BlockMapDataHolder } from \"builder-util-runtime\"\n\n// Rabin fingerprinting constants from github.com/aclements/go-rabin:\n// Poly64 = 0xbfe6b8a5bf378d83 (degree-63 irreducible polynomial over GF(2))\n// Window = 64 bytes, Avg = 16 KB, Min = 8 KB, Max = 32 KB\n// Boundary condition: (hash & (AVG-1)) === (AVG-1), i.e. all mask bits set.\n//\n// The tables below are precomputed offline (avoiding BigInt in production):\n// PUSH[i] = (i * x^63 + (i * x^63 mod p)) truncated to 64 bits\n// POP[i] = (i * x^(63*8)) mod p\n// Each stored as signed Int32 hi/lo pair; hash = hi*2^32 + lo (unsigned 64-bit).\n\n// prettier-ignore\nconst PUSH_HI = new Int32Array([0,-1075398491,2144170315,-1070872082,1081891379,-6626666,1068575608,-2141744163,1058933955,-2131184538,1087602056,-13253331,2137151216,-1065030059,11478971,-1085694178,2117867910,-1042636509,32598221,-1105735576,1044399029,-2119763184,1099772670,-26506661,1092752709,-20664864,1055876110,-2130060117,22957942,-1095174189,2123578941,-1049262440,1134463913,-59231476,1012136674,-2085273017,65196442,-1140561601,2083496145,-1010231180,2088798058,-1016709169,55440929,-1129623932,1023204697,-2095421956,1127328786,-53013321,1034064431,-2109461878,1114628964,-41329727,2111752220,-1036488519,34847063,-1108016654,45915884,-1118165431,2104618919,-1030269182,1119929567,-47809414,1024308628,-2098524879,953921527,-2026039470,1192681148,-118462951,2024273348,-952021663,124421263,-1198769110,130392884,-1205658735,2013844095,-940676390,1203370247,-127975006,947161164,-2020462359,1189590641,-117371180,959104826,-2033418337,110881858,-1182968601,2035719433,-961534548,2046409394,-971046377,104123385,-1177390244,965075073,-2040309724,1179161034,-106026641,2068128862,-995910405,76043541,-1150358096,993623661,-2065709368,1156845350,-82659453,1146824861,-71462856,999709142,-2072977037,69694126,-1144927733,2078933989,-1005798592,91831768,-1163950723,2058636435,-984419274,1157982187,-85729458,986191520,-2060538363,979841307,-2055108162,1168785488,-95618827,2048617256,-973220979,97917539,-1171217722,1907843054,-833493173,242888357,-1315138048,835388893,-1909605000,1309045910,-236925901,1319719725,-246420600,828645990,-1904043325,248842526,-1322012229,1897429077,-822165264,260785768,-1334968627,1883649827,-811561082,1341594715,-267279106,809135376,-1881352779,815090347,-1888226802,1331182560,-255950011,1894322328,-821057475,254042579,-1329407626,841602119,-1915786014,1306830092,-234742359,1918209652,-843893039,228130623,-1300346982,221763716,-1294901215,1929030095,-853798550,1296794295,-223528430,847705084,-1923069095,1276497345,-202148508,869842058,-1942092753,208246770,-1282461865,1940186809,-868065764,1930150146,-856852057,214347849,-1289746196,863476529,-1936645228,1287318138,-212053281,1231876121,-158709572,916554066,-1991820809,152087082,-1225387377,1994251105,-918854716,1987247322,-913030017,163548561,-1235667660,906929897,-1981276596,1237571490,-165318905,928049567,-2001317574,1218287828,-142925711,1999418284,-926282999,149013223,-1224246718,139388252,-1213702663,2005111831,-932893518,1211285359,-137099318,939511332,-2011597183,183663536,-1256930539,1967065851,-891702690,1250828675,-177694426,893604040,-1968838547,904689523,-1979002922,1243678264,-171458915,1972383040,-898198043,173890571,-1245977426,1959682614,-886515053,184750973,-1260016680,884094981,-1957396320,1266633038,-191237653,1271951093,-197732784,874323902,-1946441957,195835078,-1270182813,1952531853,-880280280])\n// prettier-ignore\nconst PUSH_LO = new Int32Array([0,-1086878333,2121210630,-1051158907,1139391375,-52546036,1032233097,-2102317814,954530461,-2016184546,1183572379,-105092072,2064466194,-1002779503,90331668,-1168779369,1909060922,-822183751,262598204,-1332649025,840978101,-1927822538,1280267699,-210184144,1227689895,-166034908,927077537,-2005559006,180663336,-1242351189,1957408558,-878959955,1554278391,-476845452,583761137,-1644367502,525196408,-1602596357,1629669246,-569029891,1681956202,-612953879,439322220,-1525150737,665396965,-1734431898,1506164195,-420368288,762155725,-1839587506,1392675275,-332069816,1854155074,-776756031,283849284,-1344487481,361326672,-1430329901,1810264918,-724435243,1449186271,-380150180,672123097,-1757919910,109003373,-1186410514,2014337387,-953690904,1167522274,-90082207,1006232292,-2066845849,1050392816,-2119420557,1089774582,-3985803,2104623999,-1035628804,52238457,-1138059782,2008463191,-931054892,165260369,-1225907758,878644440,-1956085413,1244665822,-184051107,1330793930,-261767095,826103500,-1911891121,213644869,-1282638906,1926556995,-840736576,1524311450,-437475303,615792284,-1685867745,422747669,-1509616746,1734182163,-664139632,1648353031,-586657148,475055105,-1553512062,567698568,-1629361909,1605992334,-527502835,722653344,-1809490653,1434307494,-364231131,1761307439,-674437460,378826793,-1448870486,334899773,-1396594754,1838756155,-760300360,1344246194,-282584015,779127476,-1857616073,218006746,-1278670503,1922146268,-844754337,1326923605,-266292522,829957203,-1907381808,874151495,-1959922748,1249207617,-180164414,2012464584,-926660533,161275598,-1230286003,2100785632,-1040122781,56126182,-1133516955,1054788207,-2115418132,1085395305,-7971606,1171491709,-85719298,1002213499,-2071257608,104476914,-1190281871,2018847732,-949836169,1348133677,-278040914,775288875,-1862109784,330520738,-1400580831,1843151780,-756298201,1757288880,-678849485,382796470,-1444507851,727163455,-1805635652,1429780793,-368102214,563287575,-1633379436,1610353937,-523534190,1652207000,-582148069,471185054,-1558037731,427289738,-1505730295,1729689484,-667977201,1520326405,-441853306,619793411,-1681473152,176277175,-1246344396,1961811377,-874950606,1231584568,-161484613,923231806,-2010059843,845495338,-1923960407,1275733804,-214062417,1905035173,-826602970,266575011,-1328279264,2068329357,-998261234,86452363,-1173314296,950110210,-2020211327,1187943172,-101114233,1135397136,-56933229,1036243478,-2097913963,4551327,-1082982628,2116708761,-1055005670,1445306688,-384684861,675985990,-1753401403,365697743,-1426352308,1805844937,-728462262,1858165725,-772352418,279855323,-1348874920,757653586,-1843434031,1397226324,-328173865,669799546,-1730422279,1501777788,-424361217,1678110709,-617454986,443217139,-1520600720,520662759,-1606474908,1634186721,-565168030,1558254952,-472475413,579735150,-1648786451])\n// prettier-ignore\nconst POP_HI = new Int32Array([0,2138251555,1090583266,1047780289,1038568800,1117023299,2095560578,60069537,2077137601,79543266,986603555,1170030848,1177147297,962262658,120139075,2019167328,1216056615,923315204,159086533,1980258022,1973207111,183492964,882653861,1273961350,867506150,1288058565,1924525316,231132199,240278150,1898019749,1330815076,807502151,789684970,1348633545,1846630408,291666219,318173066,1837485737,1408636264,746927179,1423915051,732698888,366985929,1789715434,1765307723,374035560,674795433,1464577674,1735012301,404295406,644535599,1494873100,1519215277,637420430,462264399,1694415212,480556300,1675072559,1571049454,584543949,558102636,1580259663,1615004302,523248557,1579369941,558916854,522436407,1615896084,1673791669,481765782,583332439,1572328308,636346132,1520369207,1693263350,463340757,403346036,1736029015,1493854358,645482933,374917362,1764485585,1465397776,673911603,733971858,1422697649,1790934896,365715027,1838567987,317027088,748071121,1407551986,1349590867,788676208,292677041,1845675154,1899161407,239191580,808590813,1329675518,1289071199,866552700,232083645,1923510686,184319486,1972329693,1274840860,881829439,924528798,1214779837,1981532796,157870943,961112600,1178225467,2018087162,121287129,78522232,2078082651,1169087898,987626681,1116205273,1039454714,59181627,2096376600,2137046457,1285274,1046497115,1091790456,60830479,2094207532,1117833709,1037297870,1044872815,1093951308,2135393421,3450286,2020518350,119376109,963531564,1176334863,1166664878,989513101,76095052,2079997807,1272692264,883465995,182142154,1973970409,1983705928,156226155,926681514,1213147273,806692073,1332086218,1897258507,241631016,233990537,1921075370,1290965867,864137800,749834725,1405268166,1840343815,314722852,290905221,1847983526,1347823207,790955844,1467943716,671885831,377483718,1762447589,1788364356,367748967,731430054,1424727429,1690967234,465124833,634054176,1522124547,1496142242,643723393,405646144,1734249059,520390147,1618454304,1577352417,561470914,585354083,1569778240,1675833729,479203490,1568896730,586176505,478383160,1676717339,1617181626,521607833,560251224,1578623099,642640923,1497287992,1733105401,406730714,464167291,1691975768,1521114009,635009722,368638973,1787550430,1425539359,730538044,673167005,1466734526,1763658879,376204636,1849057596,289751071,792107998,1346747133,1406217308,748817791,315741886,1839396765,1922225200,232912147,865218258,1289818097,1333107024,805746803,242574258,1896235665,157044465,1982820306,1214034963,925865264,884671377,1271407282,1975253363,180934736,988371223,1167751220,2078909429,77234902,118363255,2021471572,1175383701,964546486,1093125078,1045750517,2570548,2136217623,2092994230,62107541,1036022868,1119049079])\n// prettier-ignore\nconst POP_LO = new Int32Array([0,-1826189856,-1720019389,173808547,-1916624635,518270181,347617094,-2019640666,461718026,-2002530326,-2097163191,299456937,-1773673713,90271471,255685964,-1675888468,-2009265769,454788215,289906644,-2107567564,100640914,-1764153998,-1668989231,262386481,-1816638563,10405501,180542942,-1713090498,511371928,-1923324040,-2030011173,338096443,-1353867603,1013650253,909576430,-1525578482,579813288,-1314278840,-1141528085,684925963,-1261904729,669929799,766659300,-1097545980,956988834,-1439895486,-1603212319,861300225,661690170,-1269425446,-1106640519,757894297,-1431161281,966048735,868786300,-1595003492,1022743856,-1345103664,-1517337741,917098131,-1321765835,571603413,676192886,-1150586986,1587232090,-843206470,-941511911,1422337785,-749101985,1082069439,1243810332,-653948932,1159626576,-700910928,-597366509,1329751283,-925049259,1543132085,1369851926,-1031748106,-693750579,1166063917,1339859598,-587583634,1533318600,-935192536,-1038220405,1362660971,-853313849,1577450279,1415176324,-947950236,1088542658,-741909982,-644136575,1253952609,-237591561,1659907607,1756116404,-74794924,2081686258,-281899246,-445737807,1984436561,-363601411,2037738525,1932097470,-535823778,1737572600,-189281000,-18098501,1842174811,2045487712,-355653760,-527352797,1941418435,-198636699,1729070725,1834196262,-25882426,1651435626,-246913654,-82543063,1748169673,-273921681,2089469071,1993793324,-437234996,33683255,-1859683625,-1686412940,140373140,-1883023822,484826066,381272177,-2053157487,428127549,-1969080099,-2130828418,332967582,-1807346632,123771352,222069371,-1642459237,-1975714144,421163840,323381475,-2141133565,134111141,-1797729723,-1635464730,228738054,-1850098518,43987274,147008233,-1679448311,477830575,-1889693617,-2063496212,371656204,-1387501158,1047192698,876019673,-1492094407,546228383,-1280817793,-1175167268,718459708,-1228330096,636462704,800308691,-1131073485,990612117,-1473443979,-1569645354,827822390,628187149,-1235751443,-1140066738,791509934,-1464614648,999640296,835278667,-1561339221,1056186887,-1378701337,-1483819964,883440036,-1288273150,537923298,709629249,-1184196447,1553648237,-809744499,-975152082,1455870414,-782734488,1115612808,1210252587,-620465973,1193248871,-734460537,-563798492,1296274372,-891475614,1509663874,1403502369,-1065274687,-727202822,1199656474,1306351033,-553920423,1499816703,-901517537,-1071647556,1396275548,-819822096,1543769104,1448613811,-981558701,1121984757,-775508715,-610617674,1220295510,-203991872,1626462496,1789772419,-108310685,2115368389,-315394011,-412130426,1951002214,-397273398,2071239466,1898479753,-502395543,1703983055,-155829713,-51764852,1875684460,2078956887,-389230409,-493827308,1907771124,-165086126,1695445426,1867672081,-59447311,1617895261,-213282115,-116029154,1781728510,-307380648,2123051960,1960257563,-403593733])\n\n// Chunker parameters\nconst RABIN_MIN = 8192\nconst RABIN_AVG = 16384\nconst RABIN_MAX = 32768\nconst RABIN_WINDOW = 64\n// Boundary: all mask bits (14 bits) set in lo word. RABIN_AVG is a power of 2.\nconst RABIN_HASH_MASK = RABIN_AVG - 1 // 0x3FFF\n\nexport type CompressionFormat = \"deflate\" | \"gzip\"\n\ninterface BlockMap {\n version: \"2\"\n files: Array<{\n name: string\n offset: number\n checksums: string[]\n sizes: number[]\n }>\n}\n\nfunction compress(data: Buffer, format: CompressionFormat): Buffer {\n return format === \"deflate\" ? zlib.deflateRawSync(data, { level: 9 }) : zlib.gzipSync(data, { level: 9 })\n}\n\n/**\n * Build a content-defined block map for `inFile` using Rabin fingerprinting.\n *\n * Files are processed via streaming (peak memory ≈ RABIN_MAX = 32 KB per chunk,\n * not the full file size), making this safe for large installers.\n *\n * - If `outFile` is omitted: compressed blockmap is appended to `inFile`\n * (used for NSIS web installer / AppImage embed); `blockMapSize` is returned.\n * - If `outFile` is provided: compressed blockmap is written to that file;\n * `blockMapSize` is not included in the result.\n *\n * Returned `sha512` is SHA-512 of the full file as it exists after the call.\n */\nexport async function buildBlockMap(inFile: string, compressionFormat: CompressionFormat, outFile?: string): Promise<BlockMapDataHolder> {\n const fileHash = createHash(\"sha512\")\n const checksums: string[] = []\n const sizes: number[] = []\n let totalSize = 0\n\n // Per-chunk Rabin state. Peak memory ≈ RABIN_MAX (32 KB) — not file size.\n const chunkBuf = Buffer.allocUnsafe(RABIN_MAX)\n let chunkN = 0 // bytes accumulated for current chunk\n let hi = 0\n let lo = 0\n const win = new Uint8Array(RABIN_WINDOW) // rolling window ring buffer\n let wpos = 0\n\n function emitChunk() {\n checksums.push(Buffer.from(blake2b(chunkBuf.subarray(0, chunkN), { dkLen: 18 })).toString(\"base64\"))\n sizes.push(chunkN)\n chunkN = 0\n hi = 0\n lo = 0\n win.fill(0)\n wpos = 0\n }\n\n // Called once per byte; inlines the three-phase Rabin state machine:\n // skip (< MIN-WINDOW bytes) → prime (next WINDOW bytes) → scan (≥ MIN bytes)\n function processByte(b: number) {\n chunkBuf[chunkN++] = b\n\n if (chunkN <= RABIN_MIN - RABIN_WINDOW) {\n // Skip phase: not close enough to MIN to start priming yet\n return\n }\n\n if (chunkN <= RABIN_MIN) {\n // Prime phase: non-windowed hash update, filling the ring buffer\n win[wpos] = b\n wpos = (wpos + 1) % RABIN_WINDOW\n const top = (hi >>> 23) & 0xff\n const nhi = ((hi << 8) | (lo >>> 24)) & 0x7fffffff\n const nlo = ((lo << 8) | b) & 0xffffffff\n hi = (nhi ^ PUSH_HI[top]) | 0\n lo = (nlo ^ PUSH_LO[top]) | 0\n // At exactly MIN: check whether the primed hash is already a boundary\n if (chunkN === RABIN_MIN && (lo & RABIN_HASH_MASK) === RABIN_HASH_MASK) {\n emitChunk()\n }\n return\n }\n\n // Scan phase: sliding window — pop oldest byte, push new byte\n const old = win[wpos]\n win[wpos] = b\n wpos = (wpos + 1) % RABIN_WINDOW\n hi = (hi ^ POP_HI[old]) | 0\n lo = (lo ^ POP_LO[old]) | 0\n const top = (hi >>> 23) & 0xff\n const nhi = ((hi << 8) | (lo >>> 24)) & 0x7fffffff\n const nlo = ((lo << 8) | b) & 0xffffffff\n hi = (nhi ^ PUSH_HI[top]) | 0\n lo = (nlo ^ PUSH_LO[top]) | 0\n\n if ((lo & RABIN_HASH_MASK) === RABIN_HASH_MASK || chunkN >= RABIN_MAX) {\n emitChunk()\n }\n }\n\n // Stream-read the file, feeding SHA-512 and the Rabin chunker simultaneously\n await new Promise<void>((resolve, reject) => {\n const rs = createReadStream(inFile, { highWaterMark: 256 * 1024 })\n rs.on(\"data\", (chunk: Buffer | string) => {\n const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)\n chunk = buf\n fileHash.update(chunk)\n totalSize += chunk.length\n for (let i = 0; i < chunk.length; i++) {\n processByte(chunk[i])\n }\n })\n rs.on(\"end\", () => {\n if (chunkN > 0) {\n emitChunk()\n }\n resolve()\n })\n rs.on(\"error\", reject)\n })\n\n const blockMap: BlockMap = {\n version: \"2\",\n files: [{ name: \"file\", offset: 0, checksums, sizes }],\n }\n const compressed = compress(Buffer.from(JSON.stringify(blockMap)), compressionFormat)\n\n if (outFile == null || outFile === \"\") {\n // Append mode: write compressed blockmap + 4-byte size in one atomic call\n // to avoid a partial-write window between the two separate appendFile calls.\n const sizeHeader = Buffer.allocUnsafe(4)\n sizeHeader.writeUInt32BE(compressed.length, 0)\n const appended = Buffer.concat([compressed, sizeHeader])\n await appendFile(inFile, appended)\n fileHash.update(appended)\n\n return {\n size: totalSize + appended.length,\n sha512: fileHash.digest(\"base64\"),\n blockMapSize: compressed.length,\n }\n }\n\n await writeFile(outFile, compressed)\n return {\n size: totalSize,\n sha512: fileHash.digest(\"base64\"),\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BlockMapDataHolder, PackageFileInfo } from "builder-util-runtime";
|
|
2
|
+
import { Target } from "../core.js";
|
|
3
|
+
import { PlatformPackager } from "../platformPackager.js";
|
|
4
|
+
import { ArchiveOptions } from "./archive.js";
|
|
5
|
+
export declare const BLOCK_MAP_FILE_SUFFIX = ".blockmap";
|
|
6
|
+
export declare function createNsisWebDifferentialUpdateInfo(artifactPath: string, packageFiles: {
|
|
7
|
+
[arch: string]: PackageFileInfo;
|
|
8
|
+
}): {
|
|
9
|
+
packages: {
|
|
10
|
+
[arch: string]: PackageFileInfo;
|
|
11
|
+
};
|
|
12
|
+
} | null;
|
|
13
|
+
export declare function configureDifferentialAwareArchiveOptions(archiveOptions: ArchiveOptions): ArchiveOptions;
|
|
14
|
+
export declare function appendBlockmap(file: string): Promise<BlockMapDataHolder>;
|
|
15
|
+
export declare function createBlockmap(file: string, target: Target, packager: PlatformPackager<any>, safeArtifactName: string | null): Promise<BlockMapDataHolder>;
|
|
16
|
+
//# sourceMappingURL=differentialUpdateInfoBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"differentialUpdateInfoBuilder.d.ts","sourceRoot":"","sources":["../../src/targets/differentialUpdateInfoBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,eAAO,MAAM,qBAAqB,cAAc,CAAA;AAEhD,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE;;;;SAsB1H;AAED,wBAAgB,wCAAwC,CAAC,cAAc,EAAE,cAAc,GAAG,cAAc,CA4BvG;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAG9E;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAahK"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { log } from "builder-util";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import { buildBlockMap } from "./blockmap/blockmap.js";
|
|
4
|
+
export const BLOCK_MAP_FILE_SUFFIX = ".blockmap";
|
|
5
|
+
export function createNsisWebDifferentialUpdateInfo(artifactPath, packageFiles) {
|
|
6
|
+
if (packageFiles == null) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
const keys = Object.keys(packageFiles);
|
|
10
|
+
if (keys.length <= 0) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const packages = {};
|
|
14
|
+
for (const arch of keys) {
|
|
15
|
+
const packageFileInfo = packageFiles[arch];
|
|
16
|
+
const file = path.basename(packageFileInfo.path);
|
|
17
|
+
packages[arch] = {
|
|
18
|
+
...packageFileInfo,
|
|
19
|
+
path: file,
|
|
20
|
+
// https://github.com/electron-userland/electron-builder/issues/2583
|
|
21
|
+
file,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return { packages };
|
|
25
|
+
}
|
|
26
|
+
export function configureDifferentialAwareArchiveOptions(archiveOptions) {
|
|
27
|
+
/*
|
|
28
|
+
* dict size 64 MB: Full: 33,744.88 KB, To download: 17,630.3 KB (52%)
|
|
29
|
+
* dict size 16 MB: Full: 33,936.84 KB, To download: 16,175.9 KB (48%)
|
|
30
|
+
* dict size 8 MB: Full: 34,187.59 KB, To download: 8,229.9 KB (24%)
|
|
31
|
+
* dict size 4 MB: Full: 34,628.73 KB, To download: 3,782.97 KB (11%)
|
|
32
|
+
|
|
33
|
+
as we can see, if file changed in one place, all block is invalidated (and update size approximately equals to dict size)
|
|
34
|
+
|
|
35
|
+
1 MB is used:
|
|
36
|
+
|
|
37
|
+
1MB:
|
|
38
|
+
|
|
39
|
+
2018/01/11 11:54:41:0045 File has 59 changed blocks
|
|
40
|
+
2018/01/11 11:54:41:0050 Full: 71,588.59 KB, To download: 1,243.39 KB (2%)
|
|
41
|
+
|
|
42
|
+
4MB:
|
|
43
|
+
|
|
44
|
+
2018/01/11 11:31:43:0440 Full: 70,303.55 KB, To download: 4,843.27 KB (7%)
|
|
45
|
+
2018/01/11 11:31:43:0435 File has 234 changed blocks
|
|
46
|
+
|
|
47
|
+
*/
|
|
48
|
+
archiveOptions.dictSize = 1;
|
|
49
|
+
// solid compression leads to a lot of changed blocks
|
|
50
|
+
archiveOptions.solid = false;
|
|
51
|
+
// do not allow to change compression level to avoid different packages
|
|
52
|
+
archiveOptions.compression = "normal";
|
|
53
|
+
return archiveOptions;
|
|
54
|
+
}
|
|
55
|
+
export async function appendBlockmap(file) {
|
|
56
|
+
log.info({ file: log.filePath(file) }, "building embedded block map");
|
|
57
|
+
return buildBlockMap(file, "deflate");
|
|
58
|
+
}
|
|
59
|
+
export async function createBlockmap(file, target, packager, safeArtifactName) {
|
|
60
|
+
const blockMapFile = `${file}${BLOCK_MAP_FILE_SUFFIX}`;
|
|
61
|
+
log.info({ blockMapFile: log.filePath(blockMapFile) }, "building block map");
|
|
62
|
+
const updateInfo = await buildBlockMap(file, "gzip", blockMapFile);
|
|
63
|
+
await packager.emitArtifactBuildCompleted({
|
|
64
|
+
file: blockMapFile,
|
|
65
|
+
safeArtifactName: safeArtifactName == null ? null : `${safeArtifactName}${BLOCK_MAP_FILE_SUFFIX}`,
|
|
66
|
+
target,
|
|
67
|
+
arch: null,
|
|
68
|
+
packager,
|
|
69
|
+
updateInfo,
|
|
70
|
+
});
|
|
71
|
+
return updateInfo;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=differentialUpdateInfoBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"differentialUpdateInfoBuilder.js","sourceRoot":"","sources":["../../src/targets/differentialUpdateInfoBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAI5B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAA;AAEhD,MAAM,UAAU,mCAAmC,CAAC,YAAoB,EAAE,YAAiD;IACzH,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACtC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAwC,EAAE,CAAA;IACxD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAChD,QAAQ,CAAC,IAAI,CAAC,GAAG;YACf,GAAG,eAAe;YAClB,IAAI,EAAE,IAAI;YACV,oEAAoE;YACpE,IAAI;SACE,CAAA;IACV,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,cAA8B;IACrF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC3B,qDAAqD;IACrD,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;IAC5B,uEAAuE;IACvE,cAAc,CAAC,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAA;IACrE,OAAO,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,MAAc,EAAE,QAA+B,EAAE,gBAA+B;IACjI,MAAM,YAAY,GAAG,GAAG,IAAI,GAAG,qBAAqB,EAAE,CAAA;IACtD,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAA;IAC5E,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;IAClE,MAAM,QAAQ,CAAC,0BAA0B,CAAC;QACxC,IAAI,EAAE,YAAY;QAClB,gBAAgB,EAAE,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,qBAAqB,EAAE;QACjG,MAAM;QACN,IAAI,EAAE,IAAI;QACV,QAAQ;QACR,UAAU;KACX,CAAC,CAAA;IACF,OAAO,UAAU,CAAA;AACnB,CAAC","sourcesContent":["import { log } from \"builder-util\"\nimport { BlockMapDataHolder, PackageFileInfo } from \"builder-util-runtime\"\nimport * as path from \"path\"\nimport { Target } from \"../core.js\"\nimport { PlatformPackager } from \"../platformPackager.js\"\nimport { ArchiveOptions } from \"./archive.js\"\nimport { buildBlockMap } from \"./blockmap/blockmap.js\"\n\nexport const BLOCK_MAP_FILE_SUFFIX = \".blockmap\"\n\nexport function createNsisWebDifferentialUpdateInfo(artifactPath: string, packageFiles: { [arch: string]: PackageFileInfo }) {\n if (packageFiles == null) {\n return null\n }\n\n const keys = Object.keys(packageFiles)\n if (keys.length <= 0) {\n return null\n }\n\n const packages: { [arch: string]: PackageFileInfo } = {}\n for (const arch of keys) {\n const packageFileInfo = packageFiles[arch]\n const file = path.basename(packageFileInfo.path)\n packages[arch] = {\n ...packageFileInfo,\n path: file,\n // https://github.com/electron-userland/electron-builder/issues/2583\n file,\n } as any\n }\n return { packages }\n}\n\nexport function configureDifferentialAwareArchiveOptions(archiveOptions: ArchiveOptions): ArchiveOptions {\n /*\n * dict size 64 MB: Full: 33,744.88 KB, To download: 17,630.3 KB (52%)\n * dict size 16 MB: Full: 33,936.84 KB, To download: 16,175.9 KB (48%)\n * dict size 8 MB: Full: 34,187.59 KB, To download: 8,229.9 KB (24%)\n * dict size 4 MB: Full: 34,628.73 KB, To download: 3,782.97 KB (11%)\n\n as we can see, if file changed in one place, all block is invalidated (and update size approximately equals to dict size)\n\n 1 MB is used:\n\n 1MB:\n\n 2018/01/11 11:54:41:0045 File has 59 changed blocks\n 2018/01/11 11:54:41:0050 Full: 71,588.59 KB, To download: 1,243.39 KB (2%)\n\n 4MB:\n\n 2018/01/11 11:31:43:0440 Full: 70,303.55 KB, To download: 4,843.27 KB (7%)\n 2018/01/11 11:31:43:0435 File has 234 changed blocks\n\n */\n archiveOptions.dictSize = 1\n // solid compression leads to a lot of changed blocks\n archiveOptions.solid = false\n // do not allow to change compression level to avoid different packages\n archiveOptions.compression = \"normal\"\n return archiveOptions\n}\n\nexport async function appendBlockmap(file: string): Promise<BlockMapDataHolder> {\n log.info({ file: log.filePath(file) }, \"building embedded block map\")\n return buildBlockMap(file, \"deflate\")\n}\n\nexport async function createBlockmap(file: string, target: Target, packager: PlatformPackager<any>, safeArtifactName: string | null): Promise<BlockMapDataHolder> {\n const blockMapFile = `${file}${BLOCK_MAP_FILE_SUFFIX}`\n log.info({ blockMapFile: log.filePath(blockMapFile) }, \"building block map\")\n const updateInfo = await buildBlockMap(file, \"gzip\", blockMapFile)\n await packager.emitArtifactBuildCompleted({\n file: blockMapFile,\n safeArtifactName: safeArtifactName == null ? null : `${safeArtifactName}${BLOCK_MAP_FILE_SUFFIX}`,\n target,\n arch: null,\n packager,\n updateInfo,\n })\n return updateInfo\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Arch } from "builder-util";
|
|
2
|
+
import { Target } from "../../core.js";
|
|
3
|
+
import { LinuxPackager } from "../../linuxPackager.js";
|
|
4
|
+
import { FlatpakOptions } from "../../options/linuxOptions.js";
|
|
5
|
+
import { LinuxTargetHelper } from "./LinuxTargetHelper.js";
|
|
6
|
+
export default class FlatpakTarget extends Target {
|
|
7
|
+
private readonly packager;
|
|
8
|
+
private helper;
|
|
9
|
+
readonly outDir: string;
|
|
10
|
+
readonly options: FlatpakOptions;
|
|
11
|
+
constructor(name: string, packager: LinuxPackager, helper: LinuxTargetHelper, outDir: string);
|
|
12
|
+
get appId(): string;
|
|
13
|
+
build(appOutDir: string, arch: Arch): Promise<any>;
|
|
14
|
+
private prepareStageDir;
|
|
15
|
+
private createSandboxBinWrapper;
|
|
16
|
+
private createDesktopFile;
|
|
17
|
+
private copyLicenseFile;
|
|
18
|
+
private copyIcons;
|
|
19
|
+
private getFlatpakBuilderOptions;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=FlatpakTarget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlatpakTarget.d.ts","sourceRoot":"","sources":["../../../src/targets/linux/FlatpakTarget.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAA+B,MAAM,cAAc,CAAA;AAGhE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAM1D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,MAAM;IAK7C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,MAAM;IACd,QAAQ,CAAC,MAAM,EAAE,MAAM;IANzB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAA+D;gBAG7F,IAAI,EAAE,MAAM,EACK,QAAQ,EAAE,aAAa,EAChC,MAAM,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM;IAKzB,IAAI,KAAK,IAAI,MAAM,CAElB;IAEK,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;YA2B1C,eAAe;YAQf,uBAAuB;YAOvB,iBAAiB;YAMjB,eAAe;YAQf,SAAS;IAiBvB,OAAO,CAAC,wBAAwB;CA8BjC"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { bundle as bundleFlatpak } from "@malept/flatpak-bundler";
|
|
2
|
+
import { copyFile, toLinuxArchString } from "builder-util";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import { Target } from "../../core.js";
|
|
5
|
+
import { getNotLocalizedLicenseFile } from "../../util/license.js";
|
|
6
|
+
import { createStageDir } from "../targetUtil.js";
|
|
7
|
+
import _fsExtra from "fs-extra";
|
|
8
|
+
const { chmod, outputFile } = _fsExtra;
|
|
9
|
+
export default class FlatpakTarget extends Target {
|
|
10
|
+
constructor(name, packager, helper, outDir) {
|
|
11
|
+
super(name);
|
|
12
|
+
this.packager = packager;
|
|
13
|
+
this.helper = helper;
|
|
14
|
+
this.outDir = outDir;
|
|
15
|
+
this.options = this.packager.getOptionsForTarget(this.name);
|
|
16
|
+
}
|
|
17
|
+
get appId() {
|
|
18
|
+
return filterFlatpakAppIdentifier(this.packager.appInfo.id);
|
|
19
|
+
}
|
|
20
|
+
async build(appOutDir, arch) {
|
|
21
|
+
const { packager, options } = this;
|
|
22
|
+
const artifactName = packager.expandArtifactNamePattern(options, "flatpak", arch, undefined, false);
|
|
23
|
+
const artifactPath = path.join(this.outDir, artifactName);
|
|
24
|
+
await packager.emitArtifactBuildStarted({
|
|
25
|
+
targetPresentableName: "flatpak",
|
|
26
|
+
file: artifactPath,
|
|
27
|
+
arch,
|
|
28
|
+
});
|
|
29
|
+
const stageDir = await this.prepareStageDir(arch);
|
|
30
|
+
const { manifest, buildOptions } = this.getFlatpakBuilderOptions(appOutDir, stageDir.dir, artifactName, arch);
|
|
31
|
+
await bundleFlatpak(manifest, buildOptions);
|
|
32
|
+
await stageDir.cleanup();
|
|
33
|
+
await packager.emitArtifactBuildCompleted({
|
|
34
|
+
file: artifactPath,
|
|
35
|
+
safeArtifactName: packager.computeSafeArtifactName(artifactName, "flatpak", arch, false),
|
|
36
|
+
target: this,
|
|
37
|
+
arch,
|
|
38
|
+
packager,
|
|
39
|
+
isWriteUpdateInfo: false,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
async prepareStageDir(arch) {
|
|
43
|
+
const stageDir = await createStageDir(this, this.packager, arch);
|
|
44
|
+
await Promise.all([this.createSandboxBinWrapper(stageDir), this.createDesktopFile(stageDir), this.copyLicenseFile(stageDir), this.copyIcons(stageDir)]);
|
|
45
|
+
return stageDir;
|
|
46
|
+
}
|
|
47
|
+
async createSandboxBinWrapper(stageDir) {
|
|
48
|
+
const useWaylandFlags = !!this.options.useWaylandFlags;
|
|
49
|
+
const electronWrapperPath = stageDir.getTempFile(path.join("bin", "electron-wrapper"));
|
|
50
|
+
await outputFile(electronWrapperPath, getElectronWrapperScript(this.packager.executableName, this.options.executableArgs, useWaylandFlags));
|
|
51
|
+
await chmod(electronWrapperPath, 0o755);
|
|
52
|
+
}
|
|
53
|
+
async createDesktopFile(stageDir) {
|
|
54
|
+
const appIdentifier = this.appId;
|
|
55
|
+
const desktopFile = stageDir.getTempFile(path.join("share", "applications", `${appIdentifier}.desktop`));
|
|
56
|
+
await this.helper.writeDesktopEntry(this.options, "electron-wrapper %U", desktopFile, { Icon: appIdentifier });
|
|
57
|
+
}
|
|
58
|
+
async copyLicenseFile(stageDir) {
|
|
59
|
+
const licenseSrc = await getNotLocalizedLicenseFile(this.options.license, this.packager, ["txt", "html"]);
|
|
60
|
+
if (licenseSrc) {
|
|
61
|
+
const licenseDst = stageDir.getTempFile(path.join("share", "doc", this.appId, "copyright"));
|
|
62
|
+
await copyFile(licenseSrc, licenseDst);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async copyIcons(stageDir) {
|
|
66
|
+
const icons = await this.helper.icons;
|
|
67
|
+
const copyIcons = icons.map(async (icon) => {
|
|
68
|
+
if (icon.size > 512) {
|
|
69
|
+
// Flatpak does not allow icons larger than 512 pixels
|
|
70
|
+
return Promise.resolve();
|
|
71
|
+
}
|
|
72
|
+
const extWithDot = path.extname(icon.file);
|
|
73
|
+
const sizeName = extWithDot === ".svg" ? "scalable" : `${icon.size}x${icon.size}`;
|
|
74
|
+
const iconDst = stageDir.getTempFile(path.join("share", "icons", "hicolor", sizeName, "apps", `${this.appId}${extWithDot}`));
|
|
75
|
+
return copyFile(icon.file, iconDst);
|
|
76
|
+
});
|
|
77
|
+
await Promise.all(copyIcons);
|
|
78
|
+
}
|
|
79
|
+
getFlatpakBuilderOptions(appOutDir, stageDir, artifactName, arch) {
|
|
80
|
+
const appIdentifier = this.appId;
|
|
81
|
+
const { executableName } = this.packager;
|
|
82
|
+
const flatpakArch = toLinuxArchString(arch, "flatpak");
|
|
83
|
+
const manifest = {
|
|
84
|
+
id: appIdentifier,
|
|
85
|
+
command: "electron-wrapper",
|
|
86
|
+
runtime: this.options.runtime || flatpakBuilderDefaults.runtime,
|
|
87
|
+
runtimeVersion: this.options.runtimeVersion || flatpakBuilderDefaults.runtimeVersion,
|
|
88
|
+
sdk: this.options.sdk || flatpakBuilderDefaults.sdk,
|
|
89
|
+
base: this.options.base || flatpakBuilderDefaults.base,
|
|
90
|
+
baseVersion: this.options.baseVersion || flatpakBuilderDefaults.baseVersion,
|
|
91
|
+
finishArgs: this.options.finishArgs || flatpakBuilderDefaults.finishArgs,
|
|
92
|
+
branch: this.options.branch,
|
|
93
|
+
modules: this.options.modules,
|
|
94
|
+
};
|
|
95
|
+
const buildOptions = {
|
|
96
|
+
baseFlatpakref: `app/${manifest.base}/${flatpakArch}/${manifest.baseVersion}`,
|
|
97
|
+
runtimeFlatpakref: `runtime/${manifest.runtime}/${flatpakArch}/${manifest.runtimeVersion}`,
|
|
98
|
+
sdkFlatpakref: `runtime/${manifest.sdk}/${flatpakArch}/${manifest.runtimeVersion}`,
|
|
99
|
+
arch: flatpakArch,
|
|
100
|
+
bundlePath: path.join(this.outDir, artifactName),
|
|
101
|
+
files: [[stageDir, "/"], [appOutDir, path.join("/lib", appIdentifier)], ...(this.options.files || [])],
|
|
102
|
+
symlinks: [[path.join("/lib", appIdentifier, executableName), path.join("/bin", executableName)], ...(this.options.symlinks || [])],
|
|
103
|
+
};
|
|
104
|
+
return { manifest, buildOptions };
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const flatpakBuilderDefaults = {
|
|
108
|
+
runtime: "org.freedesktop.Platform",
|
|
109
|
+
runtimeVersion: "20.08",
|
|
110
|
+
sdk: "org.freedesktop.Sdk",
|
|
111
|
+
base: "org.electronjs.Electron2.BaseApp",
|
|
112
|
+
baseVersion: "20.08",
|
|
113
|
+
finishArgs: [
|
|
114
|
+
// Wayland/X11 Rendering
|
|
115
|
+
"--socket=wayland",
|
|
116
|
+
"--socket=x11",
|
|
117
|
+
"--share=ipc",
|
|
118
|
+
// Open GL
|
|
119
|
+
"--device=dri",
|
|
120
|
+
// Audio output
|
|
121
|
+
"--socket=pulseaudio",
|
|
122
|
+
// Read/write home directory access
|
|
123
|
+
"--filesystem=home",
|
|
124
|
+
// Allow communication with network
|
|
125
|
+
"--share=network",
|
|
126
|
+
// System notifications with libnotify
|
|
127
|
+
"--talk-name=org.freedesktop.Notifications",
|
|
128
|
+
],
|
|
129
|
+
};
|
|
130
|
+
function getElectronWrapperScript(executableName, executableArgs, useWaylandFlags) {
|
|
131
|
+
const stringifiedExecutableArgs = executableArgs?.join(" ") || "";
|
|
132
|
+
if (useWaylandFlags) {
|
|
133
|
+
return `#!/bin/sh
|
|
134
|
+
|
|
135
|
+
export TMPDIR="$XDG_RUNTIME_DIR/app/$FLATPAK_ID"
|
|
136
|
+
|
|
137
|
+
if [ "\${XDG_SESSION_TYPE}" == "wayland" ]; then
|
|
138
|
+
zypak-wrapper "${executableName}" ${stringifiedExecutableArgs} --enable-features=UseOzonePlatform --ozone-platform=wayland "$@"
|
|
139
|
+
else
|
|
140
|
+
zypak-wrapper "${executableName}" ${stringifiedExecutableArgs} "$@"
|
|
141
|
+
fi
|
|
142
|
+
`;
|
|
143
|
+
}
|
|
144
|
+
return `#!/bin/sh
|
|
145
|
+
|
|
146
|
+
export TMPDIR="$XDG_RUNTIME_DIR/app/$FLATPAK_ID"
|
|
147
|
+
|
|
148
|
+
zypak-wrapper "${executableName}" ${stringifiedExecutableArgs} "$@"
|
|
149
|
+
`;
|
|
150
|
+
}
|
|
151
|
+
function filterFlatpakAppIdentifier(identifier) {
|
|
152
|
+
// Remove special characters and allow only alphanumeric (A-Z,a-z,0-9), underscore (_), and period (.)
|
|
153
|
+
// Flatpak documentation: https://docs.flatpak.org/en/latest/conventions.html#application-ids
|
|
154
|
+
return identifier.replace(/-/g, "_").replace(/[^a-zA-Z0-9._]/g, "");
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=FlatpakTarget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlatpakTarget.js","sourceRoot":"","sources":["../../../src/targets/linux/FlatpakTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,aAAa,EAA+C,MAAM,yBAAyB,CAAA;AAC9G,OAAO,EAAQ,QAAQ,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAElE,OAAO,EAAE,cAAc,EAAY,MAAM,kBAAkB,CAAA;AAE3D,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAA;AAEtC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,MAAM;IAG/C,YACE,IAAY,EACK,QAAuB,EAChC,MAAyB,EACxB,MAAc;QAEvB,KAAK,CAAC,IAAI,CAAC,CAAA;QAJM,aAAQ,GAAR,QAAQ,CAAe;QAChC,WAAM,GAAN,MAAM,CAAmB;QACxB,WAAM,GAAN,MAAM,CAAQ;QANhB,YAAO,GAAmB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAiB,IAAI,CAAC,IAAI,CAAC,CAAA;IAS/F,CAAC;IAED,IAAI,KAAK;QACP,OAAO,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,IAAU;QACvC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACnG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QACzD,MAAM,QAAQ,CAAC,wBAAwB,CAAC;YACtC,qBAAqB,EAAE,SAAS;YAChC,IAAI,EAAE,YAAY;YAClB,IAAI;SACL,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAEjD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;QAC7G,MAAM,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QAE3C,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAA;QAExB,MAAM,QAAQ,CAAC,0BAA0B,CAAC;YACxC,IAAI,EAAE,YAAY;YAClB,gBAAgB,EAAE,QAAQ,CAAC,uBAAuB,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;YACxF,MAAM,EAAE,IAAI;YACZ,IAAI;YACJ,QAAQ;YACR,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAU;QACtC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAEhE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAEvJ,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,QAAkB;QACtD,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAA;QACtD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAA;QACtF,MAAM,UAAU,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAA;QAC3I,MAAM,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAkB;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAA;QAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,aAAa,UAAU,CAAC,CAAC,CAAA;QACxG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;IAChH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAAkB;QAC9C,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;QACzG,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;YAC3F,MAAM,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,QAAkB;QACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACvC,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBACpB,sDAAsD;gBACtD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,QAAQ,GAAG,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;YACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,UAAU,EAAE,CAAC,CAAC,CAAA;YAE5H,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC9B,CAAC;IAEO,wBAAwB,CAAC,SAAiB,EAAE,QAAgB,EAAE,YAAoB,EAAE,IAAU;QACpG,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAA;QAChC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;QACxC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAEtD,MAAM,QAAQ,GAAoB;YAChC,EAAE,EAAE,aAAa;YACjB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,sBAAsB,CAAC,OAAO;YAC/D,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,sBAAsB,CAAC,cAAc;YACpF,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,sBAAsB,CAAC,GAAG;YACnD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,sBAAsB,CAAC,IAAI;YACtD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,sBAAsB,CAAC,WAAW;YAC3E,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,sBAAsB,CAAC,UAAU;YACxE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SAC9B,CAAA;QAED,MAAM,YAAY,GAA+B;YAC/C,cAAc,EAAE,OAAO,QAAQ,CAAC,IAAI,IAAI,WAAW,IAAI,QAAQ,CAAC,WAAW,EAAE;YAC7E,iBAAiB,EAAE,WAAW,QAAQ,CAAC,OAAO,IAAI,WAAW,IAAI,QAAQ,CAAC,cAAc,EAAE;YAC1F,aAAa,EAAE,WAAW,QAAQ,CAAC,GAAG,IAAI,WAAW,IAAI,QAAQ,CAAC,cAAc,EAAE;YAClF,IAAI,EAAE,WAAkB;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;YAChD,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtG,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;SACpI,CAAA;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;IACnC,CAAC;CACF;AAED,MAAM,sBAAsB,GAA4C;IACtE,OAAO,EAAE,0BAA0B;IACnC,cAAc,EAAE,OAAO;IACvB,GAAG,EAAE,qBAAqB;IAC1B,IAAI,EAAE,kCAAkC;IACxC,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE;QACV,wBAAwB;QACxB,kBAAkB;QAClB,cAAc;QACd,aAAa;QACb,UAAU;QACV,cAAc;QACd,eAAe;QACf,qBAAqB;QACrB,mCAAmC;QACnC,mBAAmB;QACnB,mCAAmC;QACnC,iBAAiB;QACjB,sCAAsC;QACtC,2CAA2C;KAC5C;CACF,CAAA;AAED,SAAS,wBAAwB,CAAC,cAAsB,EAAE,cAAkC,EAAE,eAAwB;IACpH,MAAM,yBAAyB,GAAG,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IACjE,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO;;;;;qBAKU,cAAc,KAAK,yBAAyB;;qBAE5C,cAAc,KAAK,yBAAyB;;CAEhE,CAAA;IACC,CAAC;IACD,OAAO;;;;iBAIQ,cAAc,KAAK,yBAAyB;CAC5D,CAAA;AACD,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAkB;IACpD,sGAAsG;IACtG,6FAA6F;IAC7F,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;AACrE,CAAC","sourcesContent":["import { bundle as bundleFlatpak, FlatpakBundlerBuildOptions, FlatpakManifest } from \"@malept/flatpak-bundler\"\nimport { Arch, copyFile, toLinuxArchString } from \"builder-util\"\n\nimport * as path from \"path\"\nimport { Target } from \"../../core.js\"\nimport { LinuxPackager } from \"../../linuxPackager.js\"\nimport { FlatpakOptions } from \"../../options/linuxOptions.js\"\nimport { getNotLocalizedLicenseFile } from \"../../util/license.js\"\nimport { LinuxTargetHelper } from \"./LinuxTargetHelper.js\"\nimport { createStageDir, StageDir } from \"../targetUtil.js\"\nimport { Nullish } from \"builder-util-runtime\"\nimport _fsExtra from \"fs-extra\"\nconst { chmod, outputFile } = _fsExtra\n\nexport default class FlatpakTarget extends Target {\n readonly options: FlatpakOptions = this.packager.getOptionsForTarget<FlatpakOptions>(this.name)\n\n constructor(\n name: string,\n private readonly packager: LinuxPackager,\n private helper: LinuxTargetHelper,\n readonly outDir: string\n ) {\n super(name)\n }\n\n get appId(): string {\n return filterFlatpakAppIdentifier(this.packager.appInfo.id)\n }\n\n async build(appOutDir: string, arch: Arch): Promise<any> {\n const { packager, options } = this\n const artifactName = packager.expandArtifactNamePattern(options, \"flatpak\", arch, undefined, false)\n const artifactPath = path.join(this.outDir, artifactName)\n await packager.emitArtifactBuildStarted({\n targetPresentableName: \"flatpak\",\n file: artifactPath,\n arch,\n })\n\n const stageDir = await this.prepareStageDir(arch)\n\n const { manifest, buildOptions } = this.getFlatpakBuilderOptions(appOutDir, stageDir.dir, artifactName, arch)\n await bundleFlatpak(manifest, buildOptions)\n\n await stageDir.cleanup()\n\n await packager.emitArtifactBuildCompleted({\n file: artifactPath,\n safeArtifactName: packager.computeSafeArtifactName(artifactName, \"flatpak\", arch, false),\n target: this,\n arch,\n packager,\n isWriteUpdateInfo: false,\n })\n }\n\n private async prepareStageDir(arch: Arch): Promise<StageDir> {\n const stageDir = await createStageDir(this, this.packager, arch)\n\n await Promise.all([this.createSandboxBinWrapper(stageDir), this.createDesktopFile(stageDir), this.copyLicenseFile(stageDir), this.copyIcons(stageDir)])\n\n return stageDir\n }\n\n private async createSandboxBinWrapper(stageDir: StageDir) {\n const useWaylandFlags = !!this.options.useWaylandFlags\n const electronWrapperPath = stageDir.getTempFile(path.join(\"bin\", \"electron-wrapper\"))\n await outputFile(electronWrapperPath, getElectronWrapperScript(this.packager.executableName, this.options.executableArgs, useWaylandFlags))\n await chmod(electronWrapperPath, 0o755)\n }\n\n private async createDesktopFile(stageDir: StageDir) {\n const appIdentifier = this.appId\n const desktopFile = stageDir.getTempFile(path.join(\"share\", \"applications\", `${appIdentifier}.desktop`))\n await this.helper.writeDesktopEntry(this.options, \"electron-wrapper %U\", desktopFile, { Icon: appIdentifier })\n }\n\n private async copyLicenseFile(stageDir: StageDir) {\n const licenseSrc = await getNotLocalizedLicenseFile(this.options.license, this.packager, [\"txt\", \"html\"])\n if (licenseSrc) {\n const licenseDst = stageDir.getTempFile(path.join(\"share\", \"doc\", this.appId, \"copyright\"))\n await copyFile(licenseSrc, licenseDst)\n }\n }\n\n private async copyIcons(stageDir: StageDir) {\n const icons = await this.helper.icons\n const copyIcons = icons.map(async icon => {\n if (icon.size > 512) {\n // Flatpak does not allow icons larger than 512 pixels\n return Promise.resolve()\n }\n const extWithDot = path.extname(icon.file)\n const sizeName = extWithDot === \".svg\" ? \"scalable\" : `${icon.size}x${icon.size}`\n const iconDst = stageDir.getTempFile(path.join(\"share\", \"icons\", \"hicolor\", sizeName, \"apps\", `${this.appId}${extWithDot}`))\n\n return copyFile(icon.file, iconDst)\n })\n\n await Promise.all(copyIcons)\n }\n\n private getFlatpakBuilderOptions(appOutDir: string, stageDir: string, artifactName: string, arch: Arch): { manifest: FlatpakManifest; buildOptions: FlatpakBundlerBuildOptions } {\n const appIdentifier = this.appId\n const { executableName } = this.packager\n const flatpakArch = toLinuxArchString(arch, \"flatpak\")\n\n const manifest: FlatpakManifest = {\n id: appIdentifier,\n command: \"electron-wrapper\",\n runtime: this.options.runtime || flatpakBuilderDefaults.runtime,\n runtimeVersion: this.options.runtimeVersion || flatpakBuilderDefaults.runtimeVersion,\n sdk: this.options.sdk || flatpakBuilderDefaults.sdk,\n base: this.options.base || flatpakBuilderDefaults.base,\n baseVersion: this.options.baseVersion || flatpakBuilderDefaults.baseVersion,\n finishArgs: this.options.finishArgs || flatpakBuilderDefaults.finishArgs,\n branch: this.options.branch,\n modules: this.options.modules,\n }\n\n const buildOptions: FlatpakBundlerBuildOptions = {\n baseFlatpakref: `app/${manifest.base}/${flatpakArch}/${manifest.baseVersion}`,\n runtimeFlatpakref: `runtime/${manifest.runtime}/${flatpakArch}/${manifest.runtimeVersion}`,\n sdkFlatpakref: `runtime/${manifest.sdk}/${flatpakArch}/${manifest.runtimeVersion}`,\n arch: flatpakArch as any,\n bundlePath: path.join(this.outDir, artifactName),\n files: [[stageDir, \"/\"], [appOutDir, path.join(\"/lib\", appIdentifier)], ...(this.options.files || [])],\n symlinks: [[path.join(\"/lib\", appIdentifier, executableName), path.join(\"/bin\", executableName)], ...(this.options.symlinks || [])],\n }\n\n return { manifest, buildOptions }\n }\n}\n\nconst flatpakBuilderDefaults: Omit<FlatpakManifest, \"id\" | \"command\"> = {\n runtime: \"org.freedesktop.Platform\",\n runtimeVersion: \"20.08\",\n sdk: \"org.freedesktop.Sdk\",\n base: \"org.electronjs.Electron2.BaseApp\",\n baseVersion: \"20.08\",\n finishArgs: [\n // Wayland/X11 Rendering\n \"--socket=wayland\",\n \"--socket=x11\",\n \"--share=ipc\",\n // Open GL\n \"--device=dri\",\n // Audio output\n \"--socket=pulseaudio\",\n // Read/write home directory access\n \"--filesystem=home\",\n // Allow communication with network\n \"--share=network\",\n // System notifications with libnotify\n \"--talk-name=org.freedesktop.Notifications\",\n ],\n}\n\nfunction getElectronWrapperScript(executableName: string, executableArgs: string[] | Nullish, useWaylandFlags: boolean): string {\n const stringifiedExecutableArgs = executableArgs?.join(\" \") || \"\"\n if (useWaylandFlags) {\n return `#!/bin/sh\n\nexport TMPDIR=\"$XDG_RUNTIME_DIR/app/$FLATPAK_ID\"\n\nif [ \"\\${XDG_SESSION_TYPE}\" == \"wayland\" ]; then\n zypak-wrapper \"${executableName}\" ${stringifiedExecutableArgs} --enable-features=UseOzonePlatform --ozone-platform=wayland \"$@\"\nelse\n zypak-wrapper \"${executableName}\" ${stringifiedExecutableArgs} \"$@\"\nfi\n`\n }\n return `#!/bin/sh\n\nexport TMPDIR=\"$XDG_RUNTIME_DIR/app/$FLATPAK_ID\"\n\nzypak-wrapper \"${executableName}\" ${stringifiedExecutableArgs} \"$@\"\n`\n}\n\nfunction filterFlatpakAppIdentifier(identifier: string) {\n // Remove special characters and allow only alphanumeric (A-Z,a-z,0-9), underscore (_), and period (.)\n // Flatpak documentation: https://docs.flatpak.org/en/latest/conventions.html#application-ids\n return identifier.replace(/-/g, \"_\").replace(/[^a-zA-Z0-9._]/g, \"\")\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Arch } from "builder-util";
|
|
2
|
+
import { Target } from "../../core.js";
|
|
3
|
+
import { LinuxPackager } from "../../linuxPackager.js";
|
|
4
|
+
import { LinuxTargetSpecificOptions } from "../../options/linuxOptions.js";
|
|
5
|
+
import { LinuxTargetHelper } from "./LinuxTargetHelper.js";
|
|
6
|
+
export default class FpmTarget extends Target {
|
|
7
|
+
private readonly packager;
|
|
8
|
+
private readonly helper;
|
|
9
|
+
readonly outDir: string;
|
|
10
|
+
readonly options: LinuxTargetSpecificOptions;
|
|
11
|
+
private readonly scriptFiles;
|
|
12
|
+
constructor(name: string, packager: LinuxPackager, helper: LinuxTargetHelper, outDir: string);
|
|
13
|
+
private createScripts;
|
|
14
|
+
checkOptions(): Promise<any>;
|
|
15
|
+
private computeFpmMetaInfoOptions;
|
|
16
|
+
build(appOutDir: string, arch: Arch): Promise<any>;
|
|
17
|
+
private executeFpm;
|
|
18
|
+
private supportsAutoUpdate;
|
|
19
|
+
private getDefaultDepends;
|
|
20
|
+
private getDefaultRecommends;
|
|
21
|
+
private configureTargetSpecificOptions;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=FpmTarget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FpmTarget.d.ts","sourceRoot":"","sources":["../../../src/targets/linux/FpmTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAA6H,MAAM,cAAc,CAAA;AAQ9J,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAc,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAUtF,OAAO,EAAiB,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAgBzE,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,MAAM;IAOzC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM;IARzB,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAA2E;IAEvH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;gBAGhD,IAAI,EAAE,MAAM,EACK,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,iBAAiB,EACjC,MAAM,EAAE,MAAM;YAOX,aAAa;IAoD3B,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC;YAId,yBAAyB;IA+BjC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;YAoL1C,UAAU;IAmDxB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,8BAA8B;CAWvC"}
|