@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/cli/index.cjs
CHANGED
|
@@ -3122,25 +3122,13 @@ async function createApp(options) {
|
|
|
3122
3122
|
});
|
|
3123
3123
|
}
|
|
3124
3124
|
}
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
bundleId: options.bundleIdentifier,
|
|
3132
|
-
name: options.appName,
|
|
3133
|
-
sku,
|
|
3134
|
-
primaryLocale
|
|
3135
|
-
},
|
|
3136
|
-
relationships: {
|
|
3137
|
-
bundleId: {
|
|
3138
|
-
data: { type: "bundleIds", id: bundleId.id }
|
|
3139
|
-
}
|
|
3140
|
-
}
|
|
3141
|
-
}
|
|
3125
|
+
return options.client.apps.create({
|
|
3126
|
+
bundleIdentifier: options.bundleIdentifier,
|
|
3127
|
+
bundleIdId: bundleId.id,
|
|
3128
|
+
appName: options.appName,
|
|
3129
|
+
sku: options.sku ?? `${options.bundleIdentifier}.${Date.now()}`,
|
|
3130
|
+
primaryLocale: options.primaryLocale
|
|
3142
3131
|
});
|
|
3143
|
-
return response.data;
|
|
3144
3132
|
}
|
|
3145
3133
|
var SERVICE_NAME_TO_CAPABILITY;
|
|
3146
3134
|
var init_produce = __esm({
|
|
@@ -4934,6 +4922,43 @@ var init_apps = __esm({
|
|
|
4934
4922
|
});
|
|
4935
4923
|
return results[0] ?? null;
|
|
4936
4924
|
}
|
|
4925
|
+
/**
|
|
4926
|
+
* Create an App Store Connect **app record** (the thing that shows up
|
|
4927
|
+
* under "My Apps" and that TestFlight / App Store uploads require).
|
|
4928
|
+
*
|
|
4929
|
+
* This is distinct from registering an App ID in the Developer Portal —
|
|
4930
|
+
* you need BOTH. The Developer Portal App ID unlocks provisioning
|
|
4931
|
+
* profiles and entitlements; the App Store Connect app record unlocks
|
|
4932
|
+
* uploads. `upload_to_testflight` fails with "Couldn't find app
|
|
4933
|
+
* 'com.foo.bar' on the account…" when this record is missing.
|
|
4934
|
+
*
|
|
4935
|
+
* `bundleIdId` is the REST API primary key of the bundle id resource
|
|
4936
|
+
* (not the identifier string) — fetch it via `bundleIds.find(identifier)`
|
|
4937
|
+
* or from the response of `bundleIds.create()`.
|
|
4938
|
+
*
|
|
4939
|
+
* `sku` is an arbitrary unique string Apple uses to identify the app in
|
|
4940
|
+
* their internal records. If you don't have a meaningful one, pass the
|
|
4941
|
+
* bundle identifier itself or append a timestamp for uniqueness.
|
|
4942
|
+
*/
|
|
4943
|
+
async create(params) {
|
|
4944
|
+
const response = await this.http.post("/v1/apps", {
|
|
4945
|
+
data: {
|
|
4946
|
+
type: "apps",
|
|
4947
|
+
attributes: {
|
|
4948
|
+
bundleId: params.bundleIdentifier,
|
|
4949
|
+
name: params.appName,
|
|
4950
|
+
sku: params.sku,
|
|
4951
|
+
primaryLocale: params.primaryLocale ?? "en-US"
|
|
4952
|
+
},
|
|
4953
|
+
relationships: {
|
|
4954
|
+
bundleId: {
|
|
4955
|
+
data: { type: "bundleIds", id: params.bundleIdId }
|
|
4956
|
+
}
|
|
4957
|
+
}
|
|
4958
|
+
}
|
|
4959
|
+
});
|
|
4960
|
+
return response.data;
|
|
4961
|
+
}
|
|
4937
4962
|
};
|
|
4938
4963
|
}
|
|
4939
4964
|
});
|
|
@@ -6367,6 +6392,12 @@ var init_xcode_metrics = __esm({
|
|
|
6367
6392
|
});
|
|
6368
6393
|
|
|
6369
6394
|
// src/client/portal.ts
|
|
6395
|
+
function pickUniqueKeyName(base, taken) {
|
|
6396
|
+
if (!taken.has(base)) return base;
|
|
6397
|
+
let n = 1;
|
|
6398
|
+
while (taken.has(`${base} - ${n}`)) n++;
|
|
6399
|
+
return `${base} - ${n}`;
|
|
6400
|
+
}
|
|
6370
6401
|
var PORTAL_BASE, PortalClient;
|
|
6371
6402
|
var init_portal = __esm({
|
|
6372
6403
|
"src/client/portal.ts"() {
|
|
@@ -6485,12 +6516,17 @@ var init_portal = __esm({
|
|
|
6485
6516
|
* + period and collapse whitespace.
|
|
6486
6517
|
*/
|
|
6487
6518
|
async createApiKey(rawName, serviceConfigurations = {}) {
|
|
6488
|
-
const
|
|
6489
|
-
if (!
|
|
6519
|
+
const baseName = rawName.replace(/[^A-Za-z0-9 _\-.]/g, " ").replace(/\s+/g, " ").trim().slice(0, 45);
|
|
6520
|
+
if (!baseName) throw new Error("createApiKey: name is empty after sanitization");
|
|
6521
|
+
let existingNames = /* @__PURE__ */ new Set();
|
|
6490
6522
|
try {
|
|
6491
|
-
await this.listApiKeys();
|
|
6523
|
+
const list = await this.listApiKeys();
|
|
6524
|
+
existingNames = new Set(
|
|
6525
|
+
(list.keys ?? []).map((k) => String(k.keyName ?? "").trim())
|
|
6526
|
+
);
|
|
6492
6527
|
} catch {
|
|
6493
6528
|
}
|
|
6529
|
+
const name = pickUniqueKeyName(baseName, existingNames);
|
|
6494
6530
|
const body = {
|
|
6495
6531
|
teamId: this.teamId,
|
|
6496
6532
|
name,
|
|
@@ -6545,14 +6581,24 @@ var init_portal = __esm({
|
|
|
6545
6581
|
* The exact body comes from @expo/apple-utils v2.1.21 — both fields
|
|
6546
6582
|
* are produced by separate functions (`d` for the map, `h` for the
|
|
6547
6583
|
* array) and merged into the create payload.
|
|
6584
|
+
*
|
|
6585
|
+
* Apple also rejects duplicate key names ("Another key with same
|
|
6586
|
+
* name exists") — we dedupe by listing existing keys first and
|
|
6587
|
+
* appending " (N)" until we find a free slot, mirroring the
|
|
6588
|
+
* provisioning profile dedup.
|
|
6548
6589
|
*/
|
|
6549
6590
|
async createApnsAuthKey(rawName) {
|
|
6550
|
-
const
|
|
6551
|
-
if (!
|
|
6591
|
+
const baseName = rawName.replace(/[^A-Za-z0-9 _\-.]/g, " ").replace(/\s+/g, " ").trim().slice(0, 45);
|
|
6592
|
+
if (!baseName) throw new Error("createApnsAuthKey: name is empty after sanitization");
|
|
6593
|
+
let existingNames = /* @__PURE__ */ new Set();
|
|
6552
6594
|
try {
|
|
6553
|
-
await this.listApiKeys();
|
|
6595
|
+
const list = await this.listApiKeys();
|
|
6596
|
+
existingNames = new Set(
|
|
6597
|
+
(list.keys ?? []).map((k) => String(k.keyName ?? "").trim())
|
|
6598
|
+
);
|
|
6554
6599
|
} catch {
|
|
6555
6600
|
}
|
|
6601
|
+
const name = pickUniqueKeyName(baseName, existingNames);
|
|
6556
6602
|
const body = {
|
|
6557
6603
|
teamId: this.teamId,
|
|
6558
6604
|
name,
|