@lark-apaas/fullstack-cli 1.1.28-alpha.22 → 1.1.28-alpha.24

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.
Files changed (2) hide show
  1. package/dist/index.js +35 -14
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -7256,6 +7256,12 @@ var SCENE_CONFIGS = {
7256
7256
  buildRequestBody: () => ({ commitID: "" })
7257
7257
  }
7258
7258
  };
7259
+ var UPLOAD_STATIC_DEFAULTS = {
7260
+ staticDir: "shared/static",
7261
+ tosutilPath: "tosutil",
7262
+ endpoint: "tos-cn-beijing.volces.com",
7263
+ region: "cn-beijing"
7264
+ };
7259
7265
 
7260
7266
  // src/commands/build/api-client.ts
7261
7267
  async function genArtifactUploadCredential(appId, body) {
@@ -7271,17 +7277,20 @@ async function genArtifactUploadCredential(appId, body) {
7271
7277
  }
7272
7278
  async function getDefaultBucketId(appId) {
7273
7279
  const client = getHttpClient();
7274
- const url = `/b/${appId}/get_published_v2`;
7275
- const response = await client.get(url);
7280
+ const url = `/v1/app/${appId}/storage/inner/staticBucket`;
7281
+ const response = await client.post(url, {});
7276
7282
  if (!response.ok || response.status !== 200) {
7277
7283
  throw new Error(
7278
- `get_published_v2 \u8BF7\u6C42\u5931\u8D25: ${response.status} ${response.statusText}`
7284
+ `getOrCreateStaticBucket \u8BF7\u6C42\u5931\u8D25: ${response.status} ${response.statusText}`
7279
7285
  );
7280
7286
  }
7281
7287
  const data = await response.json();
7282
- const bucketId = data?.data?.app_runtime_extra?.bucket?.default_bucket_id;
7288
+ if (data.status_code !== "0") {
7289
+ throw new Error(`getOrCreateStaticBucket \u8FD4\u56DE\u5F02\u5E38, status_code: ${data.status_code}`);
7290
+ }
7291
+ const bucketId = data?.data?.bucketID;
7283
7292
  if (!bucketId) {
7284
- throw new Error(`\u672A\u627E\u5230\u5E94\u7528 ${appId} \u7684\u9ED8\u8BA4\u5B58\u50A8\u6876`);
7293
+ throw new Error(`\u672A\u627E\u5230\u5E94\u7528 ${appId} \u7684\u9759\u6001\u8D44\u6E90\u5B58\u50A8\u6876`);
7285
7294
  }
7286
7295
  return bucketId;
7287
7296
  }
@@ -7361,10 +7370,10 @@ async function uploadStatic(options) {
7361
7370
  try {
7362
7371
  const {
7363
7372
  appId,
7364
- staticDir = "shared/static",
7365
- tosutilPath = "/workspace/tosutil",
7366
- endpoint = "tos-cn-beijing.volces.com",
7367
- region = "cn-beijing"
7373
+ staticDir = UPLOAD_STATIC_DEFAULTS.staticDir,
7374
+ tosutilPath = UPLOAD_STATIC_DEFAULTS.tosutilPath,
7375
+ endpoint = UPLOAD_STATIC_DEFAULTS.endpoint,
7376
+ region = UPLOAD_STATIC_DEFAULTS.region
7368
7377
  } = options;
7369
7378
  const resolvedStaticDir = path21.resolve(staticDir);
7370
7379
  if (!fs25.existsSync(resolvedStaticDir)) {
@@ -7375,9 +7384,10 @@ async function uploadStatic(options) {
7375
7384
  console.error(`${LOG_PREFIX} \u76EE\u5F55\u4E3A\u7A7A: ${resolvedStaticDir}\uFF0C\u8DF3\u8FC7\u4E0A\u4F20`);
7376
7385
  return;
7377
7386
  }
7378
- if (!fs25.existsSync(tosutilPath)) {
7387
+ const resolvedTosutil = resolveTosutilPath(tosutilPath);
7388
+ if (!resolvedTosutil) {
7379
7389
  throw new Error(
7380
- `tosutil \u4E0D\u5B58\u5728: ${tosutilPath}\u3002\u8BF7\u786E\u4FDD\u6D41\u6C34\u7EBF\u5DF2\u5728"\u4EA7\u7269\u6253\u5305\u4E0A\u4F20"\u6B65\u9AA4\u4E2D\u4E0B\u8F7D tosutil\u3002`
7390
+ `tosutil \u4E0D\u5B58\u5728: ${tosutilPath}\u3002\u8BF7\u786E\u4FDD tosutil \u5DF2\u5B89\u88C5\u5728\u7CFB\u7EDF PATH \u4E2D\u6216\u901A\u8FC7 --tosutil-path \u6307\u5B9A\u8DEF\u5F84\u3002`
7381
7391
  );
7382
7392
  }
7383
7393
  let uploadPrefix;
@@ -7400,7 +7410,7 @@ async function uploadStatic(options) {
7400
7410
  }
7401
7411
  console.error(`${LOG_PREFIX} \u4E0A\u4F20\u76EE\u6807: ${uploadPrefix}`);
7402
7412
  console.error(`${LOG_PREFIX} \u914D\u7F6E tosutil...`);
7403
- configureTosutil(tosutilPath, {
7413
+ configureTosutil(resolvedTosutil, {
7404
7414
  endpoint,
7405
7415
  region,
7406
7416
  accessKeyID,
@@ -7408,7 +7418,7 @@ async function uploadStatic(options) {
7408
7418
  sessionToken
7409
7419
  });
7410
7420
  console.error(`${LOG_PREFIX} \u4E0A\u4F20 ${resolvedStaticDir} -> ${uploadPrefix}`);
7411
- uploadToTos(tosutilPath, resolvedStaticDir, uploadPrefix);
7421
+ uploadToTos(resolvedTosutil, resolvedStaticDir, uploadPrefix);
7412
7422
  console.error(`${LOG_PREFIX} tosutil \u4E0A\u4F20\u5B8C\u6210`);
7413
7423
  console.error(`${LOG_PREFIX} \u8C03\u7528 callbackStatic (uploadID: ${uploadID})...`);
7414
7424
  const callbackResp = await uploadStaticAttachmentCallback(appId, bucketId, { uploadID });
@@ -7424,6 +7434,17 @@ async function uploadStatic(options) {
7424
7434
  process.exit(1);
7425
7435
  }
7426
7436
  }
7437
+ function resolveTosutilPath(tosutilPath) {
7438
+ if (path21.isAbsolute(tosutilPath)) {
7439
+ return fs25.existsSync(tosutilPath) ? tosutilPath : null;
7440
+ }
7441
+ try {
7442
+ const resolved = execFileSync("which", [tosutilPath], { encoding: "utf-8" }).trim();
7443
+ return resolved || null;
7444
+ } catch {
7445
+ return null;
7446
+ }
7447
+ }
7427
7448
  async function fetchPreUpload(appId, bucketId) {
7428
7449
  const response = await preUploadStaticAttachment(appId, bucketId);
7429
7450
  if (response.status_code !== "0") {
@@ -7518,7 +7539,7 @@ var uploadStaticCommand = {
7518
7539
  name: "upload-static",
7519
7540
  description: "Upload shared/static files to TOS",
7520
7541
  register(program) {
7521
- program.command(this.name).description(this.description).requiredOption("--app-id <id>", "Application ID").option("--static-dir <dir>", "Static files directory", "shared/static").option("--tosutil-path <path>", "Path to tosutil binary", "/workspace/tosutil").option("--endpoint <endpoint>", "TOS endpoint", "tos-cn-beijing.volces.com").option("--region <region>", "TOS region", "cn-beijing").action(async (options) => {
7542
+ program.command(this.name).description(this.description).requiredOption("--app-id <id>", "Application ID").option("--static-dir <dir>", "Static files directory", UPLOAD_STATIC_DEFAULTS.staticDir).option("--tosutil-path <path>", "Path to tosutil binary", UPLOAD_STATIC_DEFAULTS.tosutilPath).option("--endpoint <endpoint>", "TOS endpoint", UPLOAD_STATIC_DEFAULTS.endpoint).option("--region <region>", "TOS region", UPLOAD_STATIC_DEFAULTS.region).action(async (options) => {
7522
7543
  await uploadStatic(options);
7523
7544
  });
7524
7545
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/fullstack-cli",
3
- "version": "1.1.28-alpha.22",
3
+ "version": "1.1.28-alpha.24",
4
4
  "description": "CLI tool for fullstack template management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",