@stacksjs/browser-extension 0.70.239 → 0.70.241

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/README.md CHANGED
@@ -132,6 +132,27 @@ what `xcrun safari-web-extension-converter` generates, so day-to-day work
132
132
  never needs the converter; `--signed` builds need an Apple Development
133
133
  identity selected in Xcode.
134
134
 
135
+ ### Signing
136
+
137
+ Publishing needs **no signing identity on the machine that runs it**. Both
138
+ platforms archive with `CODE_SIGNING_ALLOWED=NO`, and only `-exportArchive`
139
+ signs — through App Store Connect, using the API key. Apple holds the
140
+ distribution identity, so there is nothing to install, store, rotate, or run
141
+ out of, and a CI runner never needs a keychain.
142
+
143
+ Keep it that way. Archiving *signed* on a runner looks harmless and is not: a
144
+ runner's keychain starts empty on every job, so `-allowProvisioningUpdates`
145
+ asks Apple for a **new** certificate, signs one archive, and throws the machine
146
+ away. Nothing fails at first — the count just climbs, invisibly, one per
147
+ release, until the team hits Apple's cap and every macOS build stops with
148
+ `Choose a certificate to revoke`, needing someone to prune the pile by hand
149
+ before anything can ship again.
150
+
151
+ `extension:safari:app --signed` is the exception, and deliberately so: it is a
152
+ local build against the Apple ID in Xcode → Settings → Accounts, where the
153
+ certificate lands in your own keychain and is reused by every later build. Do
154
+ not reach for it in CI.
155
+
135
156
  The provider-neutral App Store Connect client, certificate/profile
136
157
  provisioning, version reconciliation, and build attachment live in
137
158
  `ts-pantry`. Stacks keeps only the Safari-specific Bundle ID mapping, Xcode
package/dist/safari.js CHANGED
@@ -389,7 +389,7 @@ export async function publishSafariApp(config, options) {
389
389
  `CURRENT_PROJECT_VERSION=${buildNumber}`,
390
390
  `DEVELOPMENT_TEAM=${teamId}`,
391
391
  "INFOPLIST_KEY_ITSAppUsesNonExemptEncryption=NO",
392
- ...platform === "ios" ? ["CODE_SIGNING_ALLOWED=NO"] : [],
392
+ "CODE_SIGNING_ALLOWED=NO",
393
393
  ...platform === "macos" && config.safariAppCategory ? [`INFOPLIST_KEY_LSApplicationCategoryType=${config.safariAppCategory}`] : [],
394
394
  ...authArgs,
395
395
  "archive"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/browser-extension",
3
3
  "type": "module",
4
- "version": "0.70.239",
4
+ "version": "0.70.241",
5
5
  "description": "Build MV3 browser extensions (Chrome, Firefox, Safari) the Stacks way — manifest, content/background scripts, DNR rules, packaging, Safari container app, all config-driven.",
6
6
  "author": "Chris Breuer",
7
7
  "contributors": [