@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 +21 -0
- package/dist/safari.js +1 -1
- package/package.json +1 -1
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
|
-
|
|
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.
|
|
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": [
|