@sitepong/fastnode 0.1.0
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 +81 -0
- package/bin/fastnode.js +13 -0
- package/bin/fastnode.ts +5 -0
- package/dist/actions/index.cjs +7405 -0
- package/dist/actions/index.cjs.map +1 -0
- package/dist/actions/index.d.cts +15 -0
- package/dist/actions/index.d.ts +15 -0
- package/dist/actions/index.mjs +7377 -0
- package/dist/actions/index.mjs.map +1 -0
- package/dist/cert/index.cjs +219 -0
- package/dist/cert/index.cjs.map +1 -0
- package/dist/cert/index.d.cts +4 -0
- package/dist/cert/index.d.ts +4 -0
- package/dist/cert/index.mjs +191 -0
- package/dist/cert/index.mjs.map +1 -0
- package/dist/cert-BmJGtYtb.d.cts +27 -0
- package/dist/cert-owkOFNW8.d.ts +27 -0
- package/dist/cli/index.cjs +7998 -0
- package/dist/cli/index.cjs.map +1 -0
- package/dist/cli/index.d.cts +9 -0
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/index.mjs +7972 -0
- package/dist/cli/index.mjs.map +1 -0
- package/dist/client/index.cjs +2592 -0
- package/dist/client/index.cjs.map +1 -0
- package/dist/client/index.d.cts +2 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.mjs +2582 -0
- package/dist/client/index.mjs.map +1 -0
- package/dist/context-CymLkfrS.d.cts +13 -0
- package/dist/context-CymLkfrS.d.ts +13 -0
- package/dist/core/index.cjs +281 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.cts +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.mjs +254 -0
- package/dist/core/index.mjs.map +1 -0
- package/dist/deliver/index.cjs +328 -0
- package/dist/deliver/index.cjs.map +1 -0
- package/dist/deliver/index.d.cts +3 -0
- package/dist/deliver/index.d.ts +3 -0
- package/dist/deliver/index.mjs +322 -0
- package/dist/deliver/index.mjs.map +1 -0
- package/dist/enums-B609j2rb.d.cts +20 -0
- package/dist/enums-B609j2rb.d.ts +20 -0
- package/dist/frameit/index.cjs +247 -0
- package/dist/frameit/index.cjs.map +1 -0
- package/dist/frameit/index.d.cts +1 -0
- package/dist/frameit/index.d.ts +1 -0
- package/dist/frameit/index.mjs +242 -0
- package/dist/frameit/index.mjs.map +1 -0
- package/dist/gym/index.cjs +356 -0
- package/dist/gym/index.cjs.map +1 -0
- package/dist/gym/index.d.cts +2 -0
- package/dist/gym/index.d.ts +2 -0
- package/dist/gym/index.mjs +346 -0
- package/dist/gym/index.mjs.map +1 -0
- package/dist/index-1Vu2cRQ2.d.ts +99 -0
- package/dist/index-A5MimeQk.d.ts +72 -0
- package/dist/index-B0yhu_LZ.d.ts +76 -0
- package/dist/index-B9yXicrQ.d.ts +62 -0
- package/dist/index-BFdNOmPJ.d.cts +53 -0
- package/dist/index-BLubSlgK.d.cts +1513 -0
- package/dist/index-BN0ubxjZ.d.ts +70 -0
- package/dist/index-BQJIJlK7.d.cts +70 -0
- package/dist/index-BYonklf3.d.cts +84 -0
- package/dist/index-BYonklf3.d.ts +84 -0
- package/dist/index-BimqCmY8.d.cts +78 -0
- package/dist/index-BimqCmY8.d.ts +78 -0
- package/dist/index-BoU8qt8r.d.cts +59 -0
- package/dist/index-BoU8qt8r.d.ts +59 -0
- package/dist/index-C2yG3wXA.d.cts +95 -0
- package/dist/index-C2yG3wXA.d.ts +95 -0
- package/dist/index-CR3BFPIz.d.cts +77 -0
- package/dist/index-CR3BFPIz.d.ts +77 -0
- package/dist/index-CWNLnSOL.d.cts +99 -0
- package/dist/index-Cp6cjtd-.d.cts +65 -0
- package/dist/index-Cp6cjtd-.d.ts +65 -0
- package/dist/index-D1Izm7qt.d.ts +1513 -0
- package/dist/index-D5eihzwM.d.cts +76 -0
- package/dist/index-DImN9PWc.d.ts +155 -0
- package/dist/index-DfCUVJX1.d.cts +62 -0
- package/dist/index-DfirmFbC.d.ts +32 -0
- package/dist/index-DkvinY7_.d.ts +54 -0
- package/dist/index-DrUpRXRG.d.cts +155 -0
- package/dist/index-EcVvViW8.d.cts +72 -0
- package/dist/index-HRiaaX-Q.d.cts +54 -0
- package/dist/index-TfXqwuac.d.ts +53 -0
- package/dist/index-lt819Jgj.d.cts +32 -0
- package/dist/index.cjs +8464 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +23 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.mjs +8410 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lane/index.cjs +7641 -0
- package/dist/lane/index.cjs.map +1 -0
- package/dist/lane/index.d.cts +51 -0
- package/dist/lane/index.d.ts +51 -0
- package/dist/lane/index.mjs +7603 -0
- package/dist/lane/index.mjs.map +1 -0
- package/dist/match/index.cjs +942 -0
- package/dist/match/index.cjs.map +1 -0
- package/dist/match/index.d.cts +5 -0
- package/dist/match/index.d.ts +5 -0
- package/dist/match/index.mjs +913 -0
- package/dist/match/index.mjs.map +1 -0
- package/dist/pem/index.cjs +195 -0
- package/dist/pem/index.cjs.map +1 -0
- package/dist/pem/index.d.cts +3 -0
- package/dist/pem/index.d.ts +3 -0
- package/dist/pem/index.mjs +170 -0
- package/dist/pem/index.mjs.map +1 -0
- package/dist/pilot/index.cjs +206 -0
- package/dist/pilot/index.cjs.map +1 -0
- package/dist/pilot/index.d.cts +3 -0
- package/dist/pilot/index.d.ts +3 -0
- package/dist/pilot/index.mjs +196 -0
- package/dist/pilot/index.mjs.map +1 -0
- package/dist/precheck/index.cjs +277 -0
- package/dist/precheck/index.cjs.map +1 -0
- package/dist/precheck/index.d.cts +3 -0
- package/dist/precheck/index.d.ts +3 -0
- package/dist/precheck/index.mjs +274 -0
- package/dist/precheck/index.mjs.map +1 -0
- package/dist/produce/index.cjs +200 -0
- package/dist/produce/index.cjs.map +1 -0
- package/dist/produce/index.d.cts +3 -0
- package/dist/produce/index.d.ts +3 -0
- package/dist/produce/index.mjs +191 -0
- package/dist/produce/index.mjs.map +1 -0
- package/dist/scan/index.cjs +187 -0
- package/dist/scan/index.cjs.map +1 -0
- package/dist/scan/index.d.cts +1 -0
- package/dist/scan/index.d.ts +1 -0
- package/dist/scan/index.mjs +183 -0
- package/dist/scan/index.mjs.map +1 -0
- package/dist/sigh/index.cjs +203 -0
- package/dist/sigh/index.cjs.map +1 -0
- package/dist/sigh/index.d.cts +3 -0
- package/dist/sigh/index.d.ts +3 -0
- package/dist/sigh/index.mjs +198 -0
- package/dist/sigh/index.mjs.map +1 -0
- package/dist/snapshot/index.cjs +448 -0
- package/dist/snapshot/index.cjs.map +1 -0
- package/dist/snapshot/index.d.cts +1 -0
- package/dist/snapshot/index.d.ts +1 -0
- package/dist/snapshot/index.mjs +438 -0
- package/dist/snapshot/index.mjs.map +1 -0
- package/dist/trainer/index.cjs +395 -0
- package/dist/trainer/index.cjs.map +1 -0
- package/dist/trainer/index.d.cts +1 -0
- package/dist/trainer/index.d.ts +1 -0
- package/dist/trainer/index.mjs +372 -0
- package/dist/trainer/index.mjs.map +1 -0
- package/dist/xcode/index.cjs +188 -0
- package/dist/xcode/index.cjs.map +1 -0
- package/dist/xcode/index.d.cts +1 -0
- package/dist/xcode/index.d.ts +1 -0
- package/dist/xcode/index.mjs +176 -0
- package/dist/xcode/index.mjs.map +1 -0
- package/package.json +223 -0
package/README.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# @sitepong/fastnode
|
|
2
|
+
|
|
3
|
+
A Node.js/TypeScript toolkit for iOS & Android build automation, code signing,
|
|
4
|
+
and App Store / TestFlight distribution. Inspired by Fastlane, rewritten in
|
|
5
|
+
TypeScript with no Ruby dependency.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @sitepong/fastnode
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quick start
|
|
14
|
+
|
|
15
|
+
### As a library
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { AppStoreConnectClient } from "@sitepong/fastnode/client";
|
|
19
|
+
import { createCertificate } from "@sitepong/fastnode/cert";
|
|
20
|
+
|
|
21
|
+
const client = new AppStoreConnectClient({
|
|
22
|
+
keyId: process.env.APP_STORE_CONNECT_API_KEY_ID!,
|
|
23
|
+
issuerId: process.env.APP_STORE_CONNECT_API_KEY_ISSUER_ID!,
|
|
24
|
+
privateKey: process.env.APP_STORE_CONNECT_API_KEY!,
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const cert = await createCertificate({
|
|
28
|
+
client,
|
|
29
|
+
type: "IOS_DISTRIBUTION",
|
|
30
|
+
outputDir: "./certs",
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
console.log("Issued cert:", cert.certificate.id);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### CLI
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx @sitepong/fastnode --help
|
|
40
|
+
npx @sitepong/fastnode cert --development
|
|
41
|
+
npx @sitepong/fastnode sigh --bundle-id com.example.app
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Modules
|
|
45
|
+
|
|
46
|
+
Each module can be imported separately:
|
|
47
|
+
|
|
48
|
+
| Module | Purpose |
|
|
49
|
+
|---|---|
|
|
50
|
+
| `@sitepong/fastnode/client` | App Store Connect REST client (JWT) + Apple Developer Portal client (session) |
|
|
51
|
+
| `@sitepong/fastnode/cert` | Create, list, revoke signing certificates |
|
|
52
|
+
| `@sitepong/fastnode/sigh` | Create and download provisioning profiles |
|
|
53
|
+
| `@sitepong/fastnode/match` | Sync certs + profiles across machines via git/S3/local storage |
|
|
54
|
+
| `@sitepong/fastnode/produce` | Create App Store Connect apps and bundle IDs, manage capabilities |
|
|
55
|
+
| `@sitepong/fastnode/pilot` | Upload builds to TestFlight, manage beta groups, set changelog |
|
|
56
|
+
| `@sitepong/fastnode/deliver` | Upload metadata, screenshots, submit to App Review |
|
|
57
|
+
| `@sitepong/fastnode/pem` | Create APNS push notification certificates |
|
|
58
|
+
| `@sitepong/fastnode/gym` | Build and archive iOS apps via xcodebuild |
|
|
59
|
+
| `@sitepong/fastnode/scan` | Run tests via xcodebuild, parse xcresult |
|
|
60
|
+
| `@sitepong/fastnode/snapshot` | Capture localized screenshots across devices |
|
|
61
|
+
| `@sitepong/fastnode/trainer` | Parse `.xcresult` / `.plist` test output → JUnit XML |
|
|
62
|
+
| `@sitepong/fastnode/precheck` | Static-analyze App Store metadata against review rules |
|
|
63
|
+
| `@sitepong/fastnode/frameit` | Composite screenshots into device frames |
|
|
64
|
+
|
|
65
|
+
## Environment
|
|
66
|
+
|
|
67
|
+
The library pulls App Store Connect credentials from:
|
|
68
|
+
|
|
69
|
+
- `APP_STORE_CONNECT_API_KEY_ID` — the 10-character key ID
|
|
70
|
+
- `APP_STORE_CONNECT_API_KEY_ISSUER_ID` — the issuer UUID (omit for individual keys)
|
|
71
|
+
- `APP_STORE_CONNECT_API_KEY` — the `-----BEGIN PRIVATE KEY-----` PEM contents
|
|
72
|
+
|
|
73
|
+
## Requirements
|
|
74
|
+
|
|
75
|
+
- Node.js ≥ 20
|
|
76
|
+
- macOS for Xcode-driven operations (`gym`, `scan`, `snapshot`, `trainer`)
|
|
77
|
+
- `xcodebuild`, `security`, and `codesign` on PATH for code-signing flows
|
|
78
|
+
|
|
79
|
+
## License
|
|
80
|
+
|
|
81
|
+
MIT
|
package/bin/fastnode.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Entry shim for the published CLI. Loads the compiled ESM build so we don't
|
|
3
|
+
// need `tsx` at runtime for installed users. Keep this file in sync with
|
|
4
|
+
// `src/cli/index.ts` whose compiled output lives at `dist/cli/index.mjs`.
|
|
5
|
+
|
|
6
|
+
import("../dist/cli/index.mjs")
|
|
7
|
+
.then(({ createCli }) => {
|
|
8
|
+
createCli().parse(process.argv);
|
|
9
|
+
})
|
|
10
|
+
.catch((err) => {
|
|
11
|
+
console.error(err);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
});
|