@sitepong/fastnode 0.2.0 → 0.2.2
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/actions/index.cjs +70 -24
- package/dist/actions/index.cjs.map +1 -1
- package/dist/actions/index.mjs +70 -24
- package/dist/actions/index.mjs.map +1 -1
- package/dist/cert/index.cjs +17822 -24
- package/dist/cert/index.cjs.map +1 -1
- package/dist/cert/index.d.cts +3 -3
- package/dist/cert/index.d.ts +3 -3
- package/dist/cert/index.mjs +17807 -6
- package/dist/cert/index.mjs.map +1 -1
- package/dist/{cert-DtYDJBjG.d.ts → cert-Ddl7FpFT.d.ts} +1 -1
- package/dist/{cert-6m1R8UeW.d.cts → cert-FehieKeb.d.cts} +1 -1
- package/dist/cli/index.cjs +70 -24
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.mjs +70 -24
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/index.cjs +64 -6
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.mjs +64 -6
- package/dist/client/index.mjs.map +1 -1
- package/dist/deliver/index.d.cts +2 -2
- package/dist/deliver/index.d.ts +2 -2
- package/dist/{index-CojSGJ7m.d.ts → index-B8FOfxOw.d.ts} +1 -1
- package/dist/{index-CdYdwxpQ.d.cts → index-B9QeTpQK.d.cts} +1 -1
- package/dist/{index-AD8QXY1T.d.cts → index-BICa8odo.d.cts} +1 -1
- package/dist/{index-CMH_GpN9.d.cts → index-BKUapQP2.d.cts} +30 -0
- package/dist/{index-Ce-WMV7c.d.cts → index-BZWmOTWE.d.cts} +1 -1
- package/dist/{index-BWK-T2-S.d.cts → index-Bk1Gd-qE.d.cts} +1 -1
- package/dist/{index-D2z7RiAM.d.ts → index-CCtYhPN9.d.ts} +30 -0
- package/dist/{index-CCs5irG7.d.cts → index-CNHf7I4v.d.cts} +1 -1
- package/dist/{index-CQKpbHZt.d.ts → index-CplRWSUc.d.ts} +1 -1
- package/dist/{index-BpiEBPVd.d.ts → index-CtPyeMLH.d.ts} +1 -1
- package/dist/{index-BW8wQUGC.d.cts → index-D13sn8DO.d.cts} +1 -1
- package/dist/{index-Kq3rbG0u.d.ts → index-DFni8oZt.d.ts} +1 -1
- package/dist/{index-D82CmjMP.d.ts → index-DI1ZHr-3.d.ts} +1 -1
- package/dist/{index-DZaPkUnC.d.ts → index-DZoPGCbE.d.ts} +3 -3
- package/dist/{index-KCB2q1-8.d.cts → index-OelCoOth.d.cts} +1 -1
- package/dist/{index-CLsvyTkh.d.ts → index-YcKz4aRS.d.ts} +1 -1
- package/dist/{index-CQd4bo3G.d.cts → index-oVyLLIEK.d.cts} +3 -3
- package/dist/{index-CsFIp7OO.d.ts → index-xykpq6Lz.d.ts} +1 -1
- package/dist/index.cjs +18237 -202
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +81 -21
- package/dist/index.d.ts +81 -21
- package/dist/index.mjs +18237 -201
- package/dist/index.mjs.map +1 -1
- package/dist/lane/index.cjs +70 -24
- package/dist/lane/index.cjs.map +1 -1
- package/dist/lane/index.mjs +70 -24
- package/dist/lane/index.mjs.map +1 -1
- package/dist/match/index.d.cts +4 -4
- package/dist/match/index.d.ts +4 -4
- package/dist/pem/index.d.cts +2 -2
- package/dist/pem/index.d.ts +2 -2
- package/dist/pilot/index.d.cts +2 -2
- package/dist/pilot/index.d.ts +2 -2
- package/dist/precheck/index.d.cts +2 -2
- package/dist/precheck/index.d.ts +2 -2
- package/dist/produce/index.cjs +6 -18
- package/dist/produce/index.cjs.map +1 -1
- package/dist/produce/index.d.cts +2 -2
- package/dist/produce/index.d.ts +2 -2
- package/dist/produce/index.mjs +6 -18
- package/dist/produce/index.mjs.map +1 -1
- package/dist/sigh/index.d.cts +2 -2
- package/dist/sigh/index.d.ts +2 -2
- package/package.json +1 -1
package/dist/actions/index.cjs
CHANGED
|
@@ -3091,25 +3091,13 @@ async function createApp(options) {
|
|
|
3091
3091
|
});
|
|
3092
3092
|
}
|
|
3093
3093
|
}
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
bundleId: options.bundleIdentifier,
|
|
3101
|
-
name: options.appName,
|
|
3102
|
-
sku,
|
|
3103
|
-
primaryLocale
|
|
3104
|
-
},
|
|
3105
|
-
relationships: {
|
|
3106
|
-
bundleId: {
|
|
3107
|
-
data: { type: "bundleIds", id: bundleId.id }
|
|
3108
|
-
}
|
|
3109
|
-
}
|
|
3110
|
-
}
|
|
3094
|
+
return options.client.apps.create({
|
|
3095
|
+
bundleIdentifier: options.bundleIdentifier,
|
|
3096
|
+
bundleIdId: bundleId.id,
|
|
3097
|
+
appName: options.appName,
|
|
3098
|
+
sku: options.sku ?? `${options.bundleIdentifier}.${Date.now()}`,
|
|
3099
|
+
primaryLocale: options.primaryLocale
|
|
3111
3100
|
});
|
|
3112
|
-
return response.data;
|
|
3113
3101
|
}
|
|
3114
3102
|
var SERVICE_NAME_TO_CAPABILITY;
|
|
3115
3103
|
var init_produce = __esm({
|
|
@@ -4903,6 +4891,43 @@ var init_apps = __esm({
|
|
|
4903
4891
|
});
|
|
4904
4892
|
return results[0] ?? null;
|
|
4905
4893
|
}
|
|
4894
|
+
/**
|
|
4895
|
+
* Create an App Store Connect **app record** (the thing that shows up
|
|
4896
|
+
* under "My Apps" and that TestFlight / App Store uploads require).
|
|
4897
|
+
*
|
|
4898
|
+
* This is distinct from registering an App ID in the Developer Portal —
|
|
4899
|
+
* you need BOTH. The Developer Portal App ID unlocks provisioning
|
|
4900
|
+
* profiles and entitlements; the App Store Connect app record unlocks
|
|
4901
|
+
* uploads. `upload_to_testflight` fails with "Couldn't find app
|
|
4902
|
+
* 'com.foo.bar' on the account…" when this record is missing.
|
|
4903
|
+
*
|
|
4904
|
+
* `bundleIdId` is the REST API primary key of the bundle id resource
|
|
4905
|
+
* (not the identifier string) — fetch it via `bundleIds.find(identifier)`
|
|
4906
|
+
* or from the response of `bundleIds.create()`.
|
|
4907
|
+
*
|
|
4908
|
+
* `sku` is an arbitrary unique string Apple uses to identify the app in
|
|
4909
|
+
* their internal records. If you don't have a meaningful one, pass the
|
|
4910
|
+
* bundle identifier itself or append a timestamp for uniqueness.
|
|
4911
|
+
*/
|
|
4912
|
+
async create(params) {
|
|
4913
|
+
const response = await this.http.post("/v1/apps", {
|
|
4914
|
+
data: {
|
|
4915
|
+
type: "apps",
|
|
4916
|
+
attributes: {
|
|
4917
|
+
bundleId: params.bundleIdentifier,
|
|
4918
|
+
name: params.appName,
|
|
4919
|
+
sku: params.sku,
|
|
4920
|
+
primaryLocale: params.primaryLocale ?? "en-US"
|
|
4921
|
+
},
|
|
4922
|
+
relationships: {
|
|
4923
|
+
bundleId: {
|
|
4924
|
+
data: { type: "bundleIds", id: params.bundleIdId }
|
|
4925
|
+
}
|
|
4926
|
+
}
|
|
4927
|
+
}
|
|
4928
|
+
});
|
|
4929
|
+
return response.data;
|
|
4930
|
+
}
|
|
4906
4931
|
};
|
|
4907
4932
|
}
|
|
4908
4933
|
});
|
|
@@ -6336,6 +6361,12 @@ var init_xcode_metrics = __esm({
|
|
|
6336
6361
|
});
|
|
6337
6362
|
|
|
6338
6363
|
// src/client/portal.ts
|
|
6364
|
+
function pickUniqueKeyName(base, taken) {
|
|
6365
|
+
if (!taken.has(base)) return base;
|
|
6366
|
+
let n = 1;
|
|
6367
|
+
while (taken.has(`${base} - ${n}`)) n++;
|
|
6368
|
+
return `${base} - ${n}`;
|
|
6369
|
+
}
|
|
6339
6370
|
var PORTAL_BASE, PortalClient;
|
|
6340
6371
|
var init_portal = __esm({
|
|
6341
6372
|
"src/client/portal.ts"() {
|
|
@@ -6454,12 +6485,17 @@ var init_portal = __esm({
|
|
|
6454
6485
|
* + period and collapse whitespace.
|
|
6455
6486
|
*/
|
|
6456
6487
|
async createApiKey(rawName, serviceConfigurations = {}) {
|
|
6457
|
-
const
|
|
6458
|
-
if (!
|
|
6488
|
+
const baseName = rawName.replace(/[^A-Za-z0-9 _\-.]/g, " ").replace(/\s+/g, " ").trim().slice(0, 45);
|
|
6489
|
+
if (!baseName) throw new Error("createApiKey: name is empty after sanitization");
|
|
6490
|
+
let existingNames = /* @__PURE__ */ new Set();
|
|
6459
6491
|
try {
|
|
6460
|
-
await this.listApiKeys();
|
|
6492
|
+
const list = await this.listApiKeys();
|
|
6493
|
+
existingNames = new Set(
|
|
6494
|
+
(list.keys ?? []).map((k) => String(k.keyName ?? "").trim())
|
|
6495
|
+
);
|
|
6461
6496
|
} catch {
|
|
6462
6497
|
}
|
|
6498
|
+
const name = pickUniqueKeyName(baseName, existingNames);
|
|
6463
6499
|
const body = {
|
|
6464
6500
|
teamId: this.teamId,
|
|
6465
6501
|
name,
|
|
@@ -6514,14 +6550,24 @@ var init_portal = __esm({
|
|
|
6514
6550
|
* The exact body comes from @expo/apple-utils v2.1.21 — both fields
|
|
6515
6551
|
* are produced by separate functions (`d` for the map, `h` for the
|
|
6516
6552
|
* array) and merged into the create payload.
|
|
6553
|
+
*
|
|
6554
|
+
* Apple also rejects duplicate key names ("Another key with same
|
|
6555
|
+
* name exists") — we dedupe by listing existing keys first and
|
|
6556
|
+
* appending " (N)" until we find a free slot, mirroring the
|
|
6557
|
+
* provisioning profile dedup.
|
|
6517
6558
|
*/
|
|
6518
6559
|
async createApnsAuthKey(rawName) {
|
|
6519
|
-
const
|
|
6520
|
-
if (!
|
|
6560
|
+
const baseName = rawName.replace(/[^A-Za-z0-9 _\-.]/g, " ").replace(/\s+/g, " ").trim().slice(0, 45);
|
|
6561
|
+
if (!baseName) throw new Error("createApnsAuthKey: name is empty after sanitization");
|
|
6562
|
+
let existingNames = /* @__PURE__ */ new Set();
|
|
6521
6563
|
try {
|
|
6522
|
-
await this.listApiKeys();
|
|
6564
|
+
const list = await this.listApiKeys();
|
|
6565
|
+
existingNames = new Set(
|
|
6566
|
+
(list.keys ?? []).map((k) => String(k.keyName ?? "").trim())
|
|
6567
|
+
);
|
|
6523
6568
|
} catch {
|
|
6524
6569
|
}
|
|
6570
|
+
const name = pickUniqueKeyName(baseName, existingNames);
|
|
6525
6571
|
const body = {
|
|
6526
6572
|
teamId: this.teamId,
|
|
6527
6573
|
name,
|