@proappstore/cli 2.6.7 → 2.6.8
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/publish.d.ts +1 -1
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +20 -61
- package/dist/publish.js.map +1 -1
- package/package.json +1 -1
package/dist/publish.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ interface PublishOptions {
|
|
|
11
11
|
* Publish an existing repo to ProAppStore.
|
|
12
12
|
*
|
|
13
13
|
* Reads the local package.json to discover the app id, then calls
|
|
14
|
-
* /v1/provision on the PAS backend which
|
|
14
|
+
* /v1/provision on the PAS backend which registers the R2 route,
|
|
15
15
|
* D1 database, and Data Worker. Idempotent — re-running on a
|
|
16
16
|
* partially-provisioned app fills in the missing pieces.
|
|
17
17
|
*/
|
package/dist/publish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAKA,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAKA,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2CD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HpE"}
|
package/dist/publish.js
CHANGED
|
@@ -26,13 +26,6 @@ function toTitleCase(id) {
|
|
|
26
26
|
*/
|
|
27
27
|
function hintForStep(name, detail) {
|
|
28
28
|
const d = detail.toLowerCase();
|
|
29
|
-
if (d.includes('limit of projects') || d.includes('reached the limit')) {
|
|
30
|
-
return ('CF Pages cap: this account is at the 100-project ceiling.\n' +
|
|
31
|
-
'→ Free a slot: npx wrangler pages project list\n' +
|
|
32
|
-
' npx wrangler pages project delete <name>\n' +
|
|
33
|
-
'→ Long-term: PAS apps are scheduled to migrate to Path B\n' +
|
|
34
|
-
' (single host Worker + R2) which removes the cap.');
|
|
35
|
-
}
|
|
36
29
|
if (name.toLowerCase().includes('analytics') && d.includes('auth')) {
|
|
37
30
|
return ('CF Web Analytics token lacks the analytics scope.\n' +
|
|
38
31
|
'→ Non-blocking — your app still ships; the analytics dashboard\n' +
|
|
@@ -48,7 +41,7 @@ function hintForStep(name, detail) {
|
|
|
48
41
|
* Publish an existing repo to ProAppStore.
|
|
49
42
|
*
|
|
50
43
|
* Reads the local package.json to discover the app id, then calls
|
|
51
|
-
* /v1/provision on the PAS backend which
|
|
44
|
+
* /v1/provision on the PAS backend which registers the R2 route,
|
|
52
45
|
* D1 database, and Data Worker. Idempotent — re-running on a
|
|
53
46
|
* partially-provisioned app fills in the missing pieces.
|
|
54
47
|
*/
|
|
@@ -146,13 +139,11 @@ export async function publishApp(opts) {
|
|
|
146
139
|
}
|
|
147
140
|
}
|
|
148
141
|
if (data.success) {
|
|
149
|
-
// Set deploy
|
|
150
|
-
await
|
|
142
|
+
// Set R2 deploy secrets on external-org repos
|
|
143
|
+
await ensureDeploySecrets(appId, token);
|
|
151
144
|
process.stdout.write(`\n Published. Push your code to deploy:\n`);
|
|
152
145
|
process.stdout.write(` git push origin main\n\n`);
|
|
153
146
|
process.stdout.write(` Live URL: https://${appId}.proappstore.online\n`);
|
|
154
|
-
if (data.pagesUrl)
|
|
155
|
-
process.stdout.write(` Pages preview: ${data.pagesUrl}\n`);
|
|
156
147
|
if (data.dataWorkerUrl)
|
|
157
148
|
process.stdout.write(` Data Worker: ${data.dataWorkerUrl}\n`);
|
|
158
149
|
process.stdout.write('\n');
|
|
@@ -163,72 +154,40 @@ export async function publishApp(opts) {
|
|
|
163
154
|
}
|
|
164
155
|
}
|
|
165
156
|
/**
|
|
166
|
-
*
|
|
167
|
-
* Repos in proappstore-online
|
|
157
|
+
* Check if an external-org repo needs R2 deploy secrets.
|
|
158
|
+
* Repos in proappstore-online inherit org-level secrets automatically.
|
|
159
|
+
* External repos need the secrets set manually (R2 tokens can't be
|
|
160
|
+
* programmatically shared — they're created in the CF dashboard).
|
|
168
161
|
*/
|
|
169
|
-
async function
|
|
170
|
-
// Parse git remote
|
|
162
|
+
async function ensureDeploySecrets(_appId, _token) {
|
|
171
163
|
let remoteUrl;
|
|
172
164
|
try {
|
|
173
165
|
remoteUrl = execFileSync('git', ['remote', 'get-url', 'origin'], { encoding: 'utf8' }).trim();
|
|
174
166
|
}
|
|
175
167
|
catch {
|
|
176
|
-
return;
|
|
168
|
+
return;
|
|
177
169
|
}
|
|
178
|
-
// Extract owner/repo from HTTPS or SSH URLs
|
|
179
170
|
const match = remoteUrl.match(/github\.com[/:]([^/]+)\/([^/.]+)/);
|
|
180
171
|
if (!match)
|
|
181
172
|
return;
|
|
182
|
-
const [, owner
|
|
183
|
-
const fullRepo = `${owner}/${repo}`;
|
|
184
|
-
// Skip if it's already in the platform org
|
|
173
|
+
const [, owner] = match;
|
|
185
174
|
if (owner === 'proappstore-online')
|
|
186
175
|
return;
|
|
187
|
-
//
|
|
176
|
+
// External repo — check if R2 secrets are set
|
|
177
|
+
const fullRepo = `${owner}/${match[2]}`;
|
|
188
178
|
try {
|
|
189
179
|
execFileSync('gh', ['--version'], { stdio: 'pipe' });
|
|
190
|
-
}
|
|
191
|
-
catch {
|
|
192
|
-
process.stdout.write(`\n Deploy secret needed for ${fullRepo}.\n`);
|
|
193
|
-
process.stdout.write(` Install GitHub CLI (gh) and rerun, or set manually:\n`);
|
|
194
|
-
process.stdout.write(` gh secret set CLOUDFLARE_API_TOKEN -R ${fullRepo}\n\n`);
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
// Check if secret already exists
|
|
198
|
-
try {
|
|
199
180
|
const secrets = execFileSync('gh', ['secret', 'list', '-R', fullRepo], { encoding: 'utf8', stdio: 'pipe' });
|
|
200
|
-
if (secrets.includes('
|
|
201
|
-
return; // Already set
|
|
202
|
-
}
|
|
203
|
-
catch {
|
|
204
|
-
// gh secret list failed — might not have admin access, skip silently
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
// Fetch deploy credentials from backend
|
|
208
|
-
// NOTE: Pre-launch only. Returns platform-wide CF token — acceptable while
|
|
209
|
-
// the only creator is the platform owner. Production should mint scoped
|
|
210
|
-
// per-project tokens via the CF API.
|
|
211
|
-
process.stdout.write(`\n Setting deploy secret on ${fullRepo}...\n`);
|
|
212
|
-
try {
|
|
213
|
-
const res = await fetch(`${PAS_API}/v1/apps/${appId}/deploy-credentials`, {
|
|
214
|
-
headers: { Authorization: `Bearer ${token}` },
|
|
215
|
-
});
|
|
216
|
-
if (!res.ok) {
|
|
217
|
-
process.stdout.write(` [!] Could not fetch deploy credentials (${res.status}). Set manually:\n`);
|
|
218
|
-
process.stdout.write(` gh secret set CLOUDFLARE_API_TOKEN -R ${fullRepo}\n\n`);
|
|
181
|
+
if (secrets.includes('R2_ACCESS_KEY_ID'))
|
|
219
182
|
return;
|
|
220
|
-
}
|
|
221
|
-
const creds = (await res.json());
|
|
222
|
-
// execFileSync avoids shell interpretation; gh reads secret value from stdin
|
|
223
|
-
execFileSync('gh', ['secret', 'set', 'CLOUDFLARE_API_TOKEN', '-R', fullRepo], {
|
|
224
|
-
input: creds.cfApiToken,
|
|
225
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
226
|
-
});
|
|
227
|
-
process.stdout.write(` [+] CLOUDFLARE_API_TOKEN set on ${fullRepo}\n`);
|
|
228
183
|
}
|
|
229
|
-
catch
|
|
230
|
-
|
|
231
|
-
process.stdout.write(` Set manually: gh secret set CLOUDFLARE_API_TOKEN -R ${fullRepo}\n\n`);
|
|
184
|
+
catch {
|
|
185
|
+
// gh not available or can't list secrets
|
|
232
186
|
}
|
|
187
|
+
process.stdout.write(`\n Your repo is outside the proappstore-online org.\n`);
|
|
188
|
+
process.stdout.write(` Set these GitHub Actions secrets on ${fullRepo}:\n`);
|
|
189
|
+
process.stdout.write(` R2_ACCESS_KEY_ID (from CF Dashboard → R2 → API Tokens)\n`);
|
|
190
|
+
process.stdout.write(` R2_SECRET_ACCESS_KEY\n`);
|
|
191
|
+
process.stdout.write(` R2_ACCOUNT_ID\n\n`);
|
|
233
192
|
}
|
|
234
193
|
//# sourceMappingURL=publish.js.map
|
package/dist/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAY/C,MAAM,OAAO,GAAG,gCAAgC,CAAC;AAEjD,SAAS,gBAAgB,CAAc,IAAY;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EAAU;IAC7B,OAAO,EAAE;SACN,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,MAAc;IAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,IAAI,
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|