diff --git a/.yarn/patches/app-builder-lib-npm-24.8.0-51e1f5cd3f.patch b/.yarn/patches/app-builder-lib-npm-24.8.0-51e1f5cd3f.patch
deleted file mode 100644
index 815f928e..00000000
--- a/.yarn/patches/app-builder-lib-npm-24.8.0-51e1f5cd3f.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/out/macPackager.js b/out/macPackager.js
-index 30787ba358acb9277a63df05c839a0caeea8ad91..a9e5efe7e442607f1a44c658cbf6f78093387f40 100644
---- a/out/macPackager.js
-+++ b/out/macPackager.js
-@@ -276,7 +276,7 @@ class MacPackager extends platformPackager_1.PlatformPackager {
- await this.doFlat(appPath, artifactPath, masInstallerIdentity, keychainFile);
- await this.dispatchArtifactCreated(artifactPath, null, builder_util_1.Arch.x64, this.computeSafeArtifactName(artifactName, "pkg", arch, true, this.platformSpecificBuildOptions.defaultArch));
- }
-- await this.notarizeIfProvided(appPath);
-+ if (!isMas) await this.notarizeIfProvided(appPath);
- return true;
- }
- async getOptionsForFile(appPath, isMas, customSignOptions) {
-@@ -407,24 +407,36 @@ class MacPackager extends platformPackager_1.PlatformPackager {
- builder_util_1.log.info({ reason: "`notarizeOptions` is explicitly set to false" }, "skipped macOS notarization");
- return;
- }
-+
-+ let options;
-+ // option 1: app-specific password
- const appleId = process.env.APPLE_ID;
- const appleIdPassword = process.env.APPLE_APP_SPECIFIC_PASSWORD;
-- if (!appleId && !appleIdPassword) {
-+ // option 2: API key
-+ const appleApiKey = process.env.APPLE_API_KEY;
-+ const appleApiKeyId = process.env.APPLE_API_KEY_ID;
-+ const appleApiIssuer = process.env.APPLE_API_ISSUER;
-+ if (appleId || appleIdPassword) {
-+ if (!appleId) {
-+ throw new builder_util_1.InvalidConfigurationError(`APPLE_ID env var needs to be set`);
-+ }
-+ if (!appleIdPassword) {
-+ throw new builder_util_1.InvalidConfigurationError(`APPLE_APP_SPECIFIC_PASSWORD env var needs to be set`);
-+ }
-+
-+ options = this.generateNotarizeOptions({ appPath, appleId, appleIdPassword });
-+ } else if (appleApiKey || appleApiKeyId || appleApiIssuer) {
-+ options = this.generateNotarizeOptions({ appPath, appleApiKey, appleApiKeyId, appleApiIssuer });
-+ } else {
- // if no credentials provided, skip silently
- return;
- }
-- if (!appleId) {
-- throw new builder_util_1.InvalidConfigurationError(`APPLE_ID env var needs to be set`);
-- }
-- if (!appleIdPassword) {
-- throw new builder_util_1.InvalidConfigurationError(`APPLE_APP_SPECIFIC_PASSWORD env var needs to be set`);
-- }
-- const options = this.generateNotarizeOptions(appPath, appleId, appleIdPassword);
- await (0, notarize_1.notarize)(options);
-+
- builder_util_1.log.info(null, "notarization successful");
- }
-- generateNotarizeOptions(appPath, appleId, appleIdPassword) {
-- const baseOptions = { appPath, appleId, appleIdPassword };
-+ generateNotarizeOptions({ appPath, appleId, appleIdPassword, appleApiKey, appleApiKeyId, appleApiIssuer }) {
-+ const baseOptions = { appPath, appleId, appleIdPassword, appleApiKey, appleApiKeyId, appleApiIssuer };
- const options = this.platformSpecificBuildOptions.notarize;
- if (typeof options === "boolean") {
- const proj = {
diff --git a/developer-notes.md b/developer-notes.md
index 53c7c732..69b80ab1 100644
--- a/developer-notes.md
+++ b/developer-notes.md
@@ -35,20 +35,20 @@ yarn dev
This will sign using the development provisioning profile:
-```
+```bash
yarn pack-mas-dev
```
MAS builds have some restrictions, see `isMasBuild` variable in code. In particular, any file cannot be read without the user's consent.
-NOTE: when MAS (dev) build, Application Support will instead be here:
+NOTE: when MAS (dev) build, Application Support will instead be located here:
```
~/Library/Containers/no.mifi.losslesscut-mac/Data/Library/Application Support
```
### Starting over fresh
-```
+```bash
rm -rf ~/Library/Containers/no.mifi.losslesscut-mac
```
@@ -100,7 +100,7 @@ yarn pack-mas-dev
cat dist/mas-dev-arm64/LosslessCut.app/Contents/Info.plist
```
-```
+```xml
LSMinimumSystemVersion
10.13
```
@@ -122,19 +122,21 @@ Links:
- `package.json`
### i18n
-`yarn scan-i18n`
+```bash
+yarn scan-i18n
+```
### Licenses
#### Generate summary
-```
+```bash
npx license-checker --summary
```
#### Regenerate licenses file
-```
+```bash
yarn generate-licenses
#cp licenses.txt losslesscut.mifi.no/public/
```
diff --git a/package.json b/package.json
index 79db7c02..85fd9423 100644
--- a/package.json
+++ b/package.json
@@ -70,7 +70,7 @@
"csv-stringify": "^5.6.2",
"data-uri-to-buffer": "^4.0.0",
"electron": "^31.3.1",
- "electron-builder": "^24.6.4",
+ "electron-builder": "^24.13.3",
"electron-devtools-installer": "^3.2.0",
"electron-vite": "^2.3.0",
"eslint": "^8.2.0",
@@ -455,8 +455,5 @@
]
}
},
- "packageManager": "yarn@4.0.2",
- "resolutions": {
- "app-builder-lib@24.8.0": "patch:app-builder-lib@npm%3A24.8.0#./.yarn/patches/app-builder-lib-npm-24.8.0-51e1f5cd3f.patch"
- }
+ "packageManager": "yarn@4.0.2"
}
diff --git a/yarn.lock b/yarn.lock
index 2b909cce..1d43c0cd 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5,10 +5,10 @@ __metadata:
version: 8
cacheKey: 10
-"7zip-bin@npm:~5.1.1":
- version: 5.1.1
- resolution: "7zip-bin@npm:5.1.1"
- checksum: 853e636745131719b85650df93d1a3a9af0b0db1c0e2a0884451ec87e14c8b0f4fb911c04805984ece1211ff1235f7869547b780e06939469410f2da9b5e0da6
+"7zip-bin@npm:~5.2.0":
+ version: 5.2.0
+ resolution: "7zip-bin@npm:5.2.0"
+ checksum: 5339c7a56f57f8d7d16ac8d15f588d155e5705cd4822e0d161ea45e6fbfe4a5226b464a331ec555a1ec9376ad04e5f61c125656cf3a1507900c1968ccbcfe80b
languageName: node
linkType: hard
@@ -393,14 +393,14 @@ __metadata:
languageName: node
linkType: hard
-"@electron/notarize@npm:2.1.0":
- version: 2.1.0
- resolution: "@electron/notarize@npm:2.1.0"
+"@electron/notarize@npm:2.2.1":
+ version: 2.2.1
+ resolution: "@electron/notarize@npm:2.2.1"
dependencies:
debug: "npm:^4.1.1"
fs-extra: "npm:^9.0.1"
promise-retry: "npm:^2.0.1"
- checksum: 0509c3bd922dd1ed6d1a2042dd78cefd3bd1530000b79c1b9983effb5d3816d5da7d22cfd1ec4d2191d536b1b9cd25f3bfb5202a6ffe58543b22fdf3b468c69f
+ checksum: 6d5bb78a0ba0af59a07daf01ace17a33869893641639c94d0f74ca060698d8cf61fca4002c61592a70f6f20e03987fc1138625853d947394749b1bd46ed2db3c
languageName: node
linkType: hard
@@ -430,9 +430,9 @@ __metadata:
languageName: node
linkType: hard
-"@electron/universal@npm:1.4.1":
- version: 1.4.1
- resolution: "@electron/universal@npm:1.4.1"
+"@electron/universal@npm:1.5.1":
+ version: 1.5.1
+ resolution: "@electron/universal@npm:1.5.1"
dependencies:
"@electron/asar": "npm:^3.2.1"
"@malept/cross-spawn-promise": "npm:^1.1.0"
@@ -441,7 +441,7 @@ __metadata:
fs-extra: "npm:^9.0.1"
minimatch: "npm:^3.0.4"
plist: "npm:^3.0.4"
- checksum: 41c03ff5a1928c49c0f05e5f4a17278f1d7142f72530a2a7b9c4a49308dd4a280d7576f4961315ee9d45755a772f0d7fdff2d67f5f2e61e962b7c1aa94c40185
+ checksum: 9e6cd5dbc05350c1a0e9a947651171de5d5e36976094f9dd2267451b872cd6b6759cb40cf222bf8b4383a7d86103cacb5eeeeb532f27c64c439c77ba50fa61f1
languageName: node
linkType: hard
@@ -2701,25 +2701,24 @@ __metadata:
languageName: node
linkType: hard
-"app-builder-lib@npm:24.8.0":
- version: 24.8.0
- resolution: "app-builder-lib@npm:24.8.0"
+"app-builder-lib@npm:24.13.3":
+ version: 24.13.3
+ resolution: "app-builder-lib@npm:24.13.3"
dependencies:
- 7zip-bin: "npm:~5.1.1"
"@develar/schema-utils": "npm:~2.6.5"
- "@electron/notarize": "npm:2.1.0"
+ "@electron/notarize": "npm:2.2.1"
"@electron/osx-sign": "npm:1.0.5"
- "@electron/universal": "npm:1.4.1"
+ "@electron/universal": "npm:1.5.1"
"@malept/flatpak-bundler": "npm:^0.4.0"
"@types/fs-extra": "npm:9.0.13"
async-exit-hook: "npm:^2.0.1"
bluebird-lst: "npm:^1.0.9"
- builder-util: "npm:24.8.0"
- builder-util-runtime: "npm:9.2.2"
+ builder-util: "npm:24.13.1"
+ builder-util-runtime: "npm:9.2.4"
chromium-pickle-js: "npm:^0.2.0"
debug: "npm:^4.3.4"
ejs: "npm:^3.1.8"
- electron-publish: "npm:24.8.0"
+ electron-publish: "npm:24.13.1"
form-data: "npm:^4.0.0"
fs-extra: "npm:^10.1.0"
hosted-git-info: "npm:^4.1.0"
@@ -2733,43 +2732,10 @@ __metadata:
semver: "npm:^7.3.8"
tar: "npm:^6.1.12"
temp-file: "npm:^3.4.0"
- checksum: 2f0d3c744790202a1cef26b43b7d88ee805266f82a2d473dd8c548addb5c4b6b6ca4de53b138d6d37390bf82b978e42c1614dbff6caa10348f319ac97da6e00f
- languageName: node
- linkType: hard
-
-"app-builder-lib@patch:app-builder-lib@npm%3A24.8.0#./.yarn/patches/app-builder-lib-npm-24.8.0-51e1f5cd3f.patch::locator=lossless-cut%40workspace%3A.":
- version: 24.8.0
- resolution: "app-builder-lib@patch:app-builder-lib@npm%3A24.8.0#./.yarn/patches/app-builder-lib-npm-24.8.0-51e1f5cd3f.patch::version=24.8.0&hash=eaba3b&locator=lossless-cut%40workspace%3A."
- dependencies:
- 7zip-bin: "npm:~5.1.1"
- "@develar/schema-utils": "npm:~2.6.5"
- "@electron/notarize": "npm:2.1.0"
- "@electron/osx-sign": "npm:1.0.5"
- "@electron/universal": "npm:1.4.1"
- "@malept/flatpak-bundler": "npm:^0.4.0"
- "@types/fs-extra": "npm:9.0.13"
- async-exit-hook: "npm:^2.0.1"
- bluebird-lst: "npm:^1.0.9"
- builder-util: "npm:24.8.0"
- builder-util-runtime: "npm:9.2.2"
- chromium-pickle-js: "npm:^0.2.0"
- debug: "npm:^4.3.4"
- ejs: "npm:^3.1.8"
- electron-publish: "npm:24.8.0"
- form-data: "npm:^4.0.0"
- fs-extra: "npm:^10.1.0"
- hosted-git-info: "npm:^4.1.0"
- is-ci: "npm:^3.0.0"
- isbinaryfile: "npm:^5.0.0"
- js-yaml: "npm:^4.1.0"
- lazy-val: "npm:^1.0.5"
- minimatch: "npm:^5.1.1"
- read-config-file: "npm:6.3.2"
- sanitize-filename: "npm:^1.6.3"
- semver: "npm:^7.3.8"
- tar: "npm:^6.1.12"
- temp-file: "npm:^3.4.0"
- checksum: 41e29a3390bb6137f00b9bddacf578ee970f5d7e89439c8c7e91c71e07a2cefa8727b9d4b0a923ae09b6322272107b969bfd0bbf63b678b68dd2aedd487a9a41
+ peerDependencies:
+ dmg-builder: 24.13.3
+ electron-builder-squirrel-windows: 24.13.3
+ checksum: 4379dc87e0e037a8e11eead68195673680fb4f90570bdc19fffa301d4c5bf5dcac2d38738885fed2cae5eeb5be9be0c93d682ee25e376322a25d0767dec4a415
languageName: node
linkType: hard
@@ -3279,25 +3245,25 @@ __metadata:
languageName: node
linkType: hard
-"builder-util-runtime@npm:9.2.2":
- version: 9.2.2
- resolution: "builder-util-runtime@npm:9.2.2"
+"builder-util-runtime@npm:9.2.4":
+ version: 9.2.4
+ resolution: "builder-util-runtime@npm:9.2.4"
dependencies:
debug: "npm:^4.3.4"
sax: "npm:^1.2.4"
- checksum: 09f667b802e9660015f4426fa99b5f0942845818e94caf6ac959b2c0a726e2aa79a505781862cf1b69e02ba9c3fd0bbe8f6fd865f4721ca7e5cbbe0e28ba417d
+ checksum: 6b4b6518f8859a90cd6b49ff8053134d731438a588496e5f517ec6d12baef3f1a1c74aaa3142f9d4c61979fca1addc3e47432a956c122cfad582b2145a3df077
languageName: node
linkType: hard
-"builder-util@npm:24.8.0":
- version: 24.8.0
- resolution: "builder-util@npm:24.8.0"
+"builder-util@npm:24.13.1":
+ version: 24.13.1
+ resolution: "builder-util@npm:24.13.1"
dependencies:
- 7zip-bin: "npm:~5.1.1"
+ 7zip-bin: "npm:~5.2.0"
"@types/debug": "npm:^4.1.6"
app-builder-bin: "npm:4.0.0"
bluebird-lst: "npm:^1.0.9"
- builder-util-runtime: "npm:9.2.2"
+ builder-util-runtime: "npm:9.2.4"
chalk: "npm:^4.1.2"
cross-spawn: "npm:^7.0.3"
debug: "npm:^4.3.4"
@@ -3309,7 +3275,7 @@ __metadata:
source-map-support: "npm:^0.5.19"
stat-mode: "npm:^1.0.0"
temp-file: "npm:^3.4.0"
- checksum: e90087845702f255781920d790591d07627257557aa8f6b9c75ef438e594f63812be7990d9f04dffc2f7c3ffd8d211980f8fdb8236ff7ab0c495792506e3e4f4
+ checksum: e63836c92010868e9ec8f06e7bfed9b4029915f4375e5173a46f14189204d2eacc1043495208f31d762ef519bcaaf70af625dc5db74290c551654afbb2aad0fd
languageName: node
linkType: hard
@@ -4237,13 +4203,13 @@ __metadata:
languageName: node
linkType: hard
-"dmg-builder@npm:24.8.0":
- version: 24.8.0
- resolution: "dmg-builder@npm:24.8.0"
+"dmg-builder@npm:24.13.3":
+ version: 24.13.3
+ resolution: "dmg-builder@npm:24.13.3"
dependencies:
- app-builder-lib: "npm:24.8.0"
- builder-util: "npm:24.8.0"
- builder-util-runtime: "npm:9.2.2"
+ app-builder-lib: "npm:24.13.3"
+ builder-util: "npm:24.13.1"
+ builder-util-runtime: "npm:9.2.4"
dmg-license: "npm:^1.0.11"
fs-extra: "npm:^10.1.0"
iconv-lite: "npm:^0.6.2"
@@ -4251,7 +4217,7 @@ __metadata:
dependenciesMeta:
dmg-license:
optional: true
- checksum: bd000f8ba0697c5a719e118ca1d6fdb3e9a815e8a02f194868975863a1994ffde42ae263dd7d11769676ca9d4c7198feca5f16ae96a02d4c64de9de71e02a90e
+ checksum: 091914493a94a63fd6ba6359c1c1b6b74b42c923b9bc89560d2685e8095e08399ea204ab9abb0bfbfa842d3c14b258e5a60391f3482920348edc57c59da0299f
languageName: node
linkType: hard
@@ -4401,15 +4367,15 @@ __metadata:
languageName: node
linkType: hard
-"electron-builder@npm:^24.6.4":
- version: 24.8.0
- resolution: "electron-builder@npm:24.8.0"
+"electron-builder@npm:^24.13.3":
+ version: 24.13.3
+ resolution: "electron-builder@npm:24.13.3"
dependencies:
- app-builder-lib: "npm:24.8.0"
- builder-util: "npm:24.8.0"
- builder-util-runtime: "npm:9.2.2"
+ app-builder-lib: "npm:24.13.3"
+ builder-util: "npm:24.13.1"
+ builder-util-runtime: "npm:9.2.4"
chalk: "npm:^4.1.2"
- dmg-builder: "npm:24.8.0"
+ dmg-builder: "npm:24.13.3"
fs-extra: "npm:^10.1.0"
is-ci: "npm:^3.0.0"
lazy-val: "npm:^1.0.5"
@@ -4419,7 +4385,7 @@ __metadata:
bin:
electron-builder: cli.js
install-app-deps: install-app-deps.js
- checksum: c1c8b42d0c7f84ef7a9dd590e3d290cfa1acc310b6394cd7ca08119df0016e77589da9e52efda81cba687f0e1ae480088e501a1206c904819e68e0765316a838
+ checksum: d210e787cd1763c108f4600184a02860a3d00553278ef7c9d3a23b46d1646cdbcfa7514f774effb917de17f037a53773b5a6159819fc19da764ad2a3235b1c0f
languageName: node
linkType: hard
@@ -4442,18 +4408,18 @@ __metadata:
languageName: node
linkType: hard
-"electron-publish@npm:24.8.0":
- version: 24.8.0
- resolution: "electron-publish@npm:24.8.0"
+"electron-publish@npm:24.13.1":
+ version: 24.13.1
+ resolution: "electron-publish@npm:24.13.1"
dependencies:
"@types/fs-extra": "npm:^9.0.11"
- builder-util: "npm:24.8.0"
- builder-util-runtime: "npm:9.2.2"
+ builder-util: "npm:24.13.1"
+ builder-util-runtime: "npm:9.2.4"
chalk: "npm:^4.1.2"
fs-extra: "npm:^10.1.0"
lazy-val: "npm:^1.0.5"
mime: "npm:^2.5.2"
- checksum: 6a5f6a8a6ac1f39dbecb318d437d4761885f46a9b40fa90c99b69accd8252c36e78c78b2d47f4dec23ea64f4ed0742bdadfefe1819dde0c458a183f16c2fde65
+ checksum: 60133b51bf186a70f710d6f656901d0ec358bcd688294c675711107d947fe961ebaf99fee7108f3a48270b09e0ef71568b0148df363de2dfb09a3c7bb1475c62
languageName: node
linkType: hard
@@ -7549,7 +7515,7 @@ __metadata:
cue-parser: "npm:^0.3.0"
data-uri-to-buffer: "npm:^4.0.0"
electron: "npm:^31.3.1"
- electron-builder: "npm:^24.6.4"
+ electron-builder: "npm:^24.13.3"
electron-devtools-installer: "npm:^3.2.0"
electron-store: "npm:5.1.1"
electron-unhandled: "npm:^5.0.0"