@pmate/cli 0.15.0 → 0.16.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/dist/index.d.ts +2 -0
- package/dist/index.js +118 -82
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -13827,12 +13827,107 @@ var StsCommandHandler = class {
|
|
|
13827
13827
|
}
|
|
13828
13828
|
};
|
|
13829
13829
|
|
|
13830
|
+
// src/staticSiteSetup.ts
|
|
13831
|
+
async function setupStaticSiteBucket(input) {
|
|
13832
|
+
const bucketName = input.bucketName.trim();
|
|
13833
|
+
const domainName = input.domainName.trim();
|
|
13834
|
+
const subdomain = input.subdomain?.trim();
|
|
13835
|
+
const dnsRr = subdomain || "@";
|
|
13836
|
+
const cdnDomain = subdomain ? `${subdomain}.${domainName}` : domainName;
|
|
13837
|
+
await AliyunService.ensureBucket(bucketName);
|
|
13838
|
+
await sleep(2e3);
|
|
13839
|
+
await AliyunService.ensureCdnDomain(cdnDomain, bucketName);
|
|
13840
|
+
await sleep(2e3);
|
|
13841
|
+
await AliyunService.enableOssPrivateBucketOrigin(cdnDomain);
|
|
13842
|
+
await sleep(2e3);
|
|
13843
|
+
ui.success(`Enabled OSS private bucket origin for ${cdnDomain}`);
|
|
13844
|
+
await AliyunService.setDefaultCacheRules(cdnDomain);
|
|
13845
|
+
await sleep(2e3);
|
|
13846
|
+
ui.success(`Set default cache rules for ${cdnDomain}`);
|
|
13847
|
+
const cname = await AliyunService.getCdnCname(cdnDomain);
|
|
13848
|
+
if (!cname) {
|
|
13849
|
+
throw new Error(`No CNAME found for ${cdnDomain}. Try again in a minute.`);
|
|
13850
|
+
}
|
|
13851
|
+
ui.info(`CNAME for ${cdnDomain}:`, cname);
|
|
13852
|
+
const existingCname = await AliyunService.getCnameRecordValue(domainName, dnsRr);
|
|
13853
|
+
if (existingCname) {
|
|
13854
|
+
if (existingCname !== cname) {
|
|
13855
|
+
throw new Error(
|
|
13856
|
+
`Existing CNAME record for ${cdnDomain} points to ${existingCname}, not ${cname}.`
|
|
13857
|
+
);
|
|
13858
|
+
}
|
|
13859
|
+
ui.success(`CNAME record already exists for ${cdnDomain}`);
|
|
13860
|
+
} else {
|
|
13861
|
+
await AliyunService.addRecord({
|
|
13862
|
+
domainName,
|
|
13863
|
+
rr: dnsRr,
|
|
13864
|
+
type: "CNAME",
|
|
13865
|
+
value: cname,
|
|
13866
|
+
ttl: 600
|
|
13867
|
+
});
|
|
13868
|
+
await sleep(2e3);
|
|
13869
|
+
ui.success(`Added CNAME record ${cdnDomain} -> ${cname}`);
|
|
13870
|
+
}
|
|
13871
|
+
if (!subdomain) {
|
|
13872
|
+
const wwwCname = await AliyunService.getCnameRecordValue(domainName, "www");
|
|
13873
|
+
if (wwwCname) {
|
|
13874
|
+
if (wwwCname !== domainName) {
|
|
13875
|
+
throw new Error(
|
|
13876
|
+
`Existing CNAME record for www.${domainName} points to ${wwwCname}, not ${domainName}.`
|
|
13877
|
+
);
|
|
13878
|
+
}
|
|
13879
|
+
ui.success(`CNAME record already exists for www.${domainName}`);
|
|
13880
|
+
} else {
|
|
13881
|
+
await AliyunService.addRecord({
|
|
13882
|
+
domainName,
|
|
13883
|
+
rr: "www",
|
|
13884
|
+
type: "CNAME",
|
|
13885
|
+
value: domainName,
|
|
13886
|
+
ttl: 600
|
|
13887
|
+
});
|
|
13888
|
+
await sleep(2e3);
|
|
13889
|
+
ui.success(`Added CNAME record www.${domainName} -> ${domainName}`);
|
|
13890
|
+
}
|
|
13891
|
+
}
|
|
13892
|
+
await AliyunService.enableHttpsCertificate(cdnDomain);
|
|
13893
|
+
await sleep(2e3);
|
|
13894
|
+
ui.success(`Enabled HTTPS certificate for ${cdnDomain}`);
|
|
13895
|
+
if (input.routeType === "ssg") {
|
|
13896
|
+
await AliyunService.enableSsgRewriteRule(cdnDomain);
|
|
13897
|
+
await sleep(2e3);
|
|
13898
|
+
ui.success(`Enabled SSG rewrite rule for ${cdnDomain}`);
|
|
13899
|
+
return;
|
|
13900
|
+
}
|
|
13901
|
+
await AliyunService.enableSpaRewriteRule(cdnDomain);
|
|
13902
|
+
await sleep(2e3);
|
|
13903
|
+
ui.success(`Enabled SPA rewrite rule for ${cdnDomain}`);
|
|
13904
|
+
}
|
|
13905
|
+
function sleep(ms) {
|
|
13906
|
+
return new Promise((resolve) => {
|
|
13907
|
+
setTimeout(resolve, ms);
|
|
13908
|
+
});
|
|
13909
|
+
}
|
|
13910
|
+
|
|
13830
13911
|
// src/commands/BucketCommandHandler.ts
|
|
13831
13912
|
var BucketCommandHandler = class {
|
|
13832
13913
|
async handle(args) {
|
|
13833
13914
|
const bucketName = args.bucketName.trim();
|
|
13834
|
-
|
|
13835
|
-
|
|
13915
|
+
const subdomain = args.bucketSubdomain?.trim();
|
|
13916
|
+
if (!subdomain) {
|
|
13917
|
+
await AliyunService.createBucket(bucketName);
|
|
13918
|
+
ui.success(`Bucket created: ${bucketName}`);
|
|
13919
|
+
return;
|
|
13920
|
+
}
|
|
13921
|
+
const domainName = args.bucketDomain?.trim();
|
|
13922
|
+
if (!domainName) {
|
|
13923
|
+
throw new Error("Missing domain name. Use --domain <name> when --subdomain is set.");
|
|
13924
|
+
}
|
|
13925
|
+
await setupStaticSiteBucket({
|
|
13926
|
+
bucketName,
|
|
13927
|
+
domainName,
|
|
13928
|
+
subdomain,
|
|
13929
|
+
routeType: "spa"
|
|
13930
|
+
});
|
|
13836
13931
|
}
|
|
13837
13932
|
};
|
|
13838
13933
|
|
|
@@ -14301,82 +14396,12 @@ var InitCommandHandler = class {
|
|
|
14301
14396
|
if (!baseDomain) {
|
|
14302
14397
|
throw new Error(`Missing domain in ${import_node_path8.default.join(cwd, ".pmate.yaml")}`);
|
|
14303
14398
|
}
|
|
14304
|
-
|
|
14305
|
-
|
|
14306
|
-
|
|
14307
|
-
|
|
14308
|
-
|
|
14309
|
-
|
|
14310
|
-
await this.sleep(2e3);
|
|
14311
|
-
await AliyunService.enableOssPrivateBucketOrigin(cdnDomain);
|
|
14312
|
-
await this.sleep(2e3);
|
|
14313
|
-
ui.success(`Enabled OSS private bucket origin for ${cdnDomain}`);
|
|
14314
|
-
await AliyunService.setDefaultCacheRules(cdnDomain);
|
|
14315
|
-
await this.sleep(2e3);
|
|
14316
|
-
ui.success(`Set default cache rules for ${cdnDomain}`);
|
|
14317
|
-
const cname = await AliyunService.getCdnCname(cdnDomain);
|
|
14318
|
-
if (!cname) {
|
|
14319
|
-
throw new Error(`No CNAME found for ${cdnDomain}. Try again in a minute.`);
|
|
14320
|
-
}
|
|
14321
|
-
ui.info(`CNAME for ${cdnDomain}:`, cname);
|
|
14322
|
-
const existingCname = await AliyunService.getCnameRecordValue(
|
|
14323
|
-
baseDomain,
|
|
14324
|
-
dnsRr
|
|
14325
|
-
);
|
|
14326
|
-
if (existingCname) {
|
|
14327
|
-
if (existingCname !== cname) {
|
|
14328
|
-
throw new Error(
|
|
14329
|
-
`Existing CNAME record for ${cdnDomain} points to ${existingCname}, not ${cname}.`
|
|
14330
|
-
);
|
|
14331
|
-
}
|
|
14332
|
-
ui.success(`CNAME record already exists for ${cdnDomain}`);
|
|
14333
|
-
} else {
|
|
14334
|
-
await AliyunService.addRecord({
|
|
14335
|
-
domainName: baseDomain,
|
|
14336
|
-
rr: dnsRr,
|
|
14337
|
-
type: "CNAME",
|
|
14338
|
-
value: cname,
|
|
14339
|
-
ttl: 600
|
|
14340
|
-
});
|
|
14341
|
-
await this.sleep(2e3);
|
|
14342
|
-
ui.success(`Added CNAME record ${cdnDomain} -> ${cname}`);
|
|
14343
|
-
}
|
|
14344
|
-
if (!subdomain) {
|
|
14345
|
-
const wwwCname = await AliyunService.getCnameRecordValue(
|
|
14346
|
-
baseDomain,
|
|
14347
|
-
"www"
|
|
14348
|
-
);
|
|
14349
|
-
if (wwwCname) {
|
|
14350
|
-
if (wwwCname !== baseDomain) {
|
|
14351
|
-
throw new Error(
|
|
14352
|
-
`Existing CNAME record for www.${baseDomain} points to ${wwwCname}, not ${baseDomain}.`
|
|
14353
|
-
);
|
|
14354
|
-
}
|
|
14355
|
-
ui.success(`CNAME record already exists for www.${baseDomain}`);
|
|
14356
|
-
} else {
|
|
14357
|
-
await AliyunService.addRecord({
|
|
14358
|
-
domainName: baseDomain,
|
|
14359
|
-
rr: "www",
|
|
14360
|
-
type: "CNAME",
|
|
14361
|
-
value: baseDomain,
|
|
14362
|
-
ttl: 600
|
|
14363
|
-
});
|
|
14364
|
-
await this.sleep(2e3);
|
|
14365
|
-
ui.success(`Added CNAME record www.${baseDomain} -> ${baseDomain}`);
|
|
14366
|
-
}
|
|
14367
|
-
}
|
|
14368
|
-
await AliyunService.enableHttpsCertificate(cdnDomain);
|
|
14369
|
-
await this.sleep(2e3);
|
|
14370
|
-
ui.success(`Enabled HTTPS certificate for ${cdnDomain}`);
|
|
14371
|
-
if (appConfig.type === "vite" && appConfig.routeType === "ssg") {
|
|
14372
|
-
await AliyunService.enableSsgRewriteRule(cdnDomain);
|
|
14373
|
-
await this.sleep(2e3);
|
|
14374
|
-
ui.success(`Enabled SSG rewrite rule for ${cdnDomain}`);
|
|
14375
|
-
} else {
|
|
14376
|
-
await AliyunService.enableSpaRewriteRule(cdnDomain);
|
|
14377
|
-
await this.sleep(2e3);
|
|
14378
|
-
ui.success(`Enabled SPA rewrite rule for ${cdnDomain}`);
|
|
14379
|
-
}
|
|
14399
|
+
await setupStaticSiteBucket({
|
|
14400
|
+
bucketName,
|
|
14401
|
+
domainName: baseDomain,
|
|
14402
|
+
subdomain: appConfig.subdomain,
|
|
14403
|
+
routeType: appConfig.type === "vite" && appConfig.routeType === "ssg" ? "ssg" : "spa"
|
|
14404
|
+
});
|
|
14380
14405
|
}
|
|
14381
14406
|
async initNode(appConfig, cwd) {
|
|
14382
14407
|
console.log("Initializing node app...");
|
|
@@ -17194,7 +17219,7 @@ var LinearCommandHandler = class {
|
|
|
17194
17219
|
for (let attempt = 0; attempt < 12; attempt++) {
|
|
17195
17220
|
buffer = await this.captureClipboardImageAsPng();
|
|
17196
17221
|
if (buffer.length > 0) break;
|
|
17197
|
-
await
|
|
17222
|
+
await sleep2(150);
|
|
17198
17223
|
}
|
|
17199
17224
|
if (buffer.length === 0) {
|
|
17200
17225
|
const info = await this.getClipboardDebugInfo();
|
|
@@ -17645,7 +17670,7 @@ function parseJson(raw) {
|
|
|
17645
17670
|
return JSON.parse(match[0]);
|
|
17646
17671
|
}
|
|
17647
17672
|
}
|
|
17648
|
-
function
|
|
17673
|
+
function sleep2(ms) {
|
|
17649
17674
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
17650
17675
|
}
|
|
17651
17676
|
|
|
@@ -20063,7 +20088,7 @@ var HELP_TEXT = [
|
|
|
20063
20088
|
` ${import_chalk3.default.gray(" --type <t> --value <v> --rr <rr> [--ttl <n>] [--domain <name>]")}`,
|
|
20064
20089
|
` ${import_chalk3.default.cyan("sts")} Request an OSS STS token from the CI server`,
|
|
20065
20090
|
` ${import_chalk3.default.cyan("bucket")} Manage OSS buckets`,
|
|
20066
|
-
` ${import_chalk3.default.gray(" --create --name <bucket>")}`,
|
|
20091
|
+
` ${import_chalk3.default.gray(" --create --name <bucket> [--subdomain <name> --domain <name>]")}`,
|
|
20067
20092
|
` ${import_chalk3.default.cyan("deploy")} Deploy or view logs for app dir from .pmate.yaml`,
|
|
20068
20093
|
` ${import_chalk3.default.gray(" <app-name> [deploy|logs] [--cwd <dir>]")}`,
|
|
20069
20094
|
` ${import_chalk3.default.cyan("log")} Query app logs from the log indexer API`,
|
|
@@ -20379,7 +20404,9 @@ function parseAddDnsArgs(tokens) {
|
|
|
20379
20404
|
function parseBucketArgs(tokens) {
|
|
20380
20405
|
const options = {
|
|
20381
20406
|
bucketCreate: false,
|
|
20382
|
-
bucketName: ""
|
|
20407
|
+
bucketName: "",
|
|
20408
|
+
bucketSubdomain: void 0,
|
|
20409
|
+
bucketDomain: void 0
|
|
20383
20410
|
};
|
|
20384
20411
|
const rest = [...tokens];
|
|
20385
20412
|
while (rest.length > 0) {
|
|
@@ -20391,6 +20418,12 @@ function parseBucketArgs(tokens) {
|
|
|
20391
20418
|
case "--name":
|
|
20392
20419
|
options.bucketName = requireValue4(rest, token);
|
|
20393
20420
|
break;
|
|
20421
|
+
case "--subdomain":
|
|
20422
|
+
options.bucketSubdomain = requireValue4(rest, token);
|
|
20423
|
+
break;
|
|
20424
|
+
case "--domain":
|
|
20425
|
+
options.bucketDomain = requireValue4(rest, token);
|
|
20426
|
+
break;
|
|
20394
20427
|
default:
|
|
20395
20428
|
throw new Error(`Unknown bucket option: ${token}`);
|
|
20396
20429
|
}
|
|
@@ -20401,6 +20434,9 @@ function parseBucketArgs(tokens) {
|
|
|
20401
20434
|
if (!options.bucketName.trim()) {
|
|
20402
20435
|
throw new Error("Missing bucket name. Use --name <bucket>.");
|
|
20403
20436
|
}
|
|
20437
|
+
if (options.bucketSubdomain && !options.bucketDomain?.trim()) {
|
|
20438
|
+
throw new Error("Missing domain name. Use --domain <name> when --subdomain is set.");
|
|
20439
|
+
}
|
|
20404
20440
|
return { type: "bucket" /* Bucket */, ...options };
|
|
20405
20441
|
}
|
|
20406
20442
|
function parseDeployArgs(tokens) {
|