@sevenvip666/rop 0.1.2 → 0.1.3

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/esm/index.js CHANGED
@@ -13,6 +13,7 @@ import 'json5';
13
13
  import 'js-yaml';
14
14
  import { confirm } from '@inquirer/prompts';
15
15
  import * as os from 'node:os';
16
+ import chalk from 'chalk';
16
17
 
17
18
  /******************************************************************************
18
19
  Copyright (c) Microsoft Corporation.
@@ -74,28 +75,38 @@ class RopUploadApi {
74
75
  this.checkParams = (config) => __awaiter(this, void 0, void 0, function* () {
75
76
  var _a;
76
77
  if (!config.accessKey) {
77
- if (!config.token || !config.projectId) {
78
- throw new Error('accessKey, token, projectId cannot be empty at the same time');
78
+ if (!config.token) {
79
+ console.log(colors.red(`Either accessKey or token must be used`));
80
+ return false;
81
+ }
82
+ if (!config.projectId) {
83
+ console.log(colors.red(`projectId cannot be empty`));
84
+ return false;
79
85
  }
80
86
  }
81
87
  const branch = (_a = config.branch) !== null && _a !== void 0 ? _a : (yield getBranch());
82
88
  if (!branch) {
83
- throw new Error('branch not null');
89
+ console.log(colors.red(`branch cannot be empty`));
90
+ return false;
84
91
  }
85
92
  else {
86
93
  config.branch = branch;
87
94
  }
88
95
  if (!config.platform) {
89
- throw new Error('platform not null');
96
+ console.log(colors.red(`platform cannot be empty`));
97
+ return false;
90
98
  }
91
99
  if (!config.arch) {
92
- throw new Error('arch not null');
100
+ console.log(colors.red(`arch cannot be empty`));
101
+ return false;
93
102
  }
94
103
  if (!config.targetPath) {
95
- throw new Error('target path not null');
104
+ console.log(colors.red(`target path cannot be empty`));
105
+ return false;
96
106
  }
97
107
  if (!fs.existsSync(config.targetPath)) {
98
- throw new Error(`target file not found, file path: ${config.targetPath}`);
108
+ console.log(colors.red(`target file not found, file path: ${config.targetPath}`));
109
+ return false;
99
110
  }
100
111
  // 如果更新包不存在的情况使用本身的包
101
112
  if (config.updatePath && !fs.existsSync(config.updatePath)) {
@@ -103,7 +114,8 @@ class RopUploadApi {
103
114
  config.updateName = config.targetName;
104
115
  }
105
116
  if (!config.version) {
106
- throw new Error('version not null');
117
+ console.log(colors.red(`version cannot be empty`));
118
+ return false;
107
119
  }
108
120
  return config;
109
121
  });
@@ -113,6 +125,9 @@ class RopUploadApi {
113
125
  return __awaiter(this, void 0, void 0, function* () {
114
126
  var _a, _b;
115
127
  const config = yield this.checkParams(_config);
128
+ if (!config) {
129
+ return;
130
+ }
116
131
  // 以下代码帮我改成 上传文件 fetch 上传文件
117
132
  const formData = new FormData();
118
133
  const fileStream = fs.createReadStream(config.targetPath);
@@ -162,7 +177,7 @@ class RopUploadApi {
162
177
  formData.append('signature', config.signature);
163
178
  }
164
179
  if (config.autoRelease) {
165
- formData.append('autoRelease', config.autoRelease);
180
+ formData.append('autoRelease', String(config.autoRelease));
166
181
  }
167
182
  const res = yield fetch$1(`${this.baseDomain}/api/upload`, {
168
183
  method: 'POST',
@@ -176,6 +191,7 @@ class RopUploadApi {
176
191
  multibar.stop();
177
192
  fileStream.destroy();
178
193
  updateFileStream === null || updateFileStream === void 0 ? void 0 : updateFileStream.destroy();
194
+ console.log(colors.green(`Upload success!`));
179
195
  return { success: res.ok, body };
180
196
  });
181
197
  }
@@ -260,6 +276,7 @@ class AuthApi {
260
276
  }
261
277
  login(req) {
262
278
  return __awaiter(this, void 0, void 0, function* () {
279
+ var _a;
263
280
  const res = yield fetch(`${this.baseDomain}${LOGIN_API}`, {
264
281
  method: 'POST',
265
282
  headers: {
@@ -269,13 +286,8 @@ class AuthApi {
269
286
  });
270
287
  const resBody = yield res.json();
271
288
  if (!res.ok || !resBody.data) {
272
- if (!resBody.message || res.status != 400) {
273
- console.log(`Login failed: status=${res.status}, statusText=${res.statusText}`);
274
- }
275
- else {
276
- console.log(JSON.stringify(resBody));
277
- }
278
- return;
289
+ console.log(chalk.red(`Login failed: status:${res.status}, message:${(_a = resBody.message) !== null && _a !== void 0 ? _a : res.statusText}`));
290
+ return false;
279
291
  }
280
292
  const homedir = path$1.join(os.homedir(), '.rop');
281
293
  if (!fs.existsSync(homedir)) {
@@ -283,6 +295,7 @@ class AuthApi {
283
295
  }
284
296
  const userFilePath = path$1.join(homedir, 'user');
285
297
  fs.writeFileSync(userFilePath, JSON.stringify(resBody.data, null, 2), 'utf8');
298
+ return true;
286
299
  });
287
300
  }
288
301
  refreshToken() {
@@ -290,8 +303,8 @@ class AuthApi {
290
303
  const homedir = path$1.join(os.homedir(), '.rop');
291
304
  const userFilePath = path$1.join(homedir, 'user');
292
305
  if (!fs.existsSync(userFilePath)) {
293
- console.log('Unauthorized. Please execute the login command');
294
- return;
306
+ console.log(chalk.red(`No permission! Please execute [rop login] or use --accessKey`));
307
+ return false;
295
308
  }
296
309
  const user = JSON.parse(fs.readFileSync(userFilePath, 'utf8'));
297
310
  const res = yield fetch(`${this.baseDomain}${REFRESH_TOKEN_API}`, {
@@ -304,16 +317,17 @@ class AuthApi {
304
317
  const resBody = yield res.json();
305
318
  if (!res.ok || !resBody.data) {
306
319
  if (!resBody.message || res.status != 400) {
307
- console.log(`Refresh token failed: status=${res.status}, statusText=${res.statusText}`);
320
+ console.log(chalk.red(`Refresh token failed: status:${res.status}, statusText:${res.statusText}`));
308
321
  }
309
322
  else {
310
- console.log('Authorization expired please execute the login command');
323
+ console.log(chalk.red(`Authorization expired please execute the login command`));
311
324
  fs.rmSync(userFilePath);
312
325
  }
313
- throw new Error('Refresh token failed');
326
+ return false;
314
327
  }
315
328
  user.auth = resBody.data;
316
329
  fs.writeFileSync(userFilePath, JSON.stringify(user), 'utf8');
330
+ return true;
317
331
  });
318
332
  }
319
333
  getToken() {
@@ -355,7 +369,7 @@ class AuthApi {
355
369
  return __awaiter(this, void 0, void 0, function* () {
356
370
  let user = yield this.getToken();
357
371
  if (!user) {
358
- console.log('Unauthorized. Please execute the login command');
372
+ console.log(colors.red(`No permission! Please execute [rop login]`));
359
373
  return undefined;
360
374
  }
361
375
  const res = yield req(user.auth.accessToken);
@@ -366,10 +380,13 @@ class AuthApi {
366
380
  console.log(JSON.stringify(resBody));
367
381
  break;
368
382
  case 401:
369
- yield this.refreshToken();
370
- return yield this.request(req);
383
+ const result = yield this.refreshToken();
384
+ if (result) {
385
+ return yield this.request(req);
386
+ }
387
+ break;
371
388
  default:
372
- console.log(`request failed: status=${res.status}, statusText=${res.statusText}`);
389
+ console.log(colors.red(`request failed: status:${res.status}, statusText:${res.statusText}`));
373
390
  }
374
391
  return undefined;
375
392
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.19.1_tslib@2.6.3_typescript@5.4.5/node_modules/tslib/tslib.es6.js","../../src/types.ts","../../src/utils.ts","../../src/uploadApi.ts","../../src/initApi.ts","../../src/config.ts","../../src/authApi.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export const frameworkList = ['tauri', 'ionic', 'flutter'];\nexport var Framework;\n(function (Framework) {\n Framework[\"TAURI\"] = \"tauri\";\n Framework[\"IONIC\"] = \"ionic\";\n Framework[\"FLUTTER\"] = \"flutter\";\n})(Framework || (Framework = {}));\n","import { __awaiter } from \"tslib\";\nimport { exec } from 'child_process';\nimport path from 'node:path';\nimport fs from 'node:fs';\nimport { Framework, frameworkList, } from './types';\nimport { getTauriEnv } from './tauri';\nimport platformDefaultConfigMap from './default-platform.json';\nimport { getFlutterEnv } from './flutter';\nimport { getIonicEnv } from './ionic';\nexport const getBranch = () => __awaiter(void 0, void 0, void 0, function* () {\n return new Promise((resolve) => {\n return exec('git rev-parse --abbrev-ref HEAD', (err, stdout, stderr) => {\n if (err) {\n console.log(`getBranch Error: ${err}`);\n }\n else if (stdout) {\n resolve(stdout.trim());\n return;\n }\n resolve('none');\n });\n });\n});\n// 读取 JSON 文件并替换模版变量\nexport function loadJsonWithEnv({ platform, arch }) {\n var _a, _b, _c, _d, _e;\n const configFilePath = path.join('.', 'rop.json');\n const configData = fs.readFileSync(configFilePath, 'utf8');\n const inputConfig = JSON.parse(configData);\n let _arch = arch !== null && arch !== void 0 ? arch : 'universal';\n if (arch == 'x86_64') {\n _arch = 'x64';\n }\n else if (arch == 'i386' || arch == 'i686') {\n _arch = 'x86';\n }\n else if (arch == 'aarch64') {\n _arch = 'arm64';\n }\n let env = {\n arch: _arch,\n };\n let config;\n if (!inputConfig.platforms && ((_a = inputConfig.framework) === null || _a === void 0 ? void 0 : _a.name) && frameworkList.includes((_b = inputConfig.framework) === null || _b === void 0 ? void 0 : _b.name)) {\n const framework = inputConfig.framework.name;\n const defaultPlatformConfig = platformDefaultConfigMap[framework];\n const _config = Object.assign(Object.assign({}, inputConfig), { platforms: defaultPlatformConfig });\n config = _config;\n }\n else {\n config = inputConfig;\n }\n if (!config.platforms || Object.keys(config.platforms).length == 0) {\n throw new Error('platforms is not null');\n }\n const _autoEnv = getAutoEnvByFramework((_c = config === null || config === void 0 ? void 0 : config.framework) === null || _c === void 0 ? void 0 : _c.name, config.projectPath);\n env = Object.assign(Object.assign(Object.assign({}, env), (_autoEnv !== null && _autoEnv !== void 0 ? _autoEnv : {})), ((_e = (_d = config.framework) === null || _d === void 0 ? void 0 : _d.env) !== null && _e !== void 0 ? _e : {}));\n // 确保配置文件中存在 host 属性\n if (!env.version) {\n throw new Error('Missing \"version\" property in the configuration file.');\n }\n // 递归函数来替换对象中的字符串值\n function replaceEnvInObject(obj) {\n Object.keys(obj).forEach((key) => {\n if (typeof obj[key] === 'string') {\n // 使用正则表达式替换模版变量(这里假设模版变量是 ${VAR} 格式的)\n // @ts-ignore\n obj[key] = obj[key].replace(/\\$\\{(\\w+)\\}/g, (_, envVar) => env[envVar] || '');\n }\n else if (typeof obj[key] === 'object' && obj[key] !== null) {\n replaceEnvInObject(obj[key]); // 递归处理嵌套对象\n }\n });\n }\n replaceEnvInObject(config);\n const targetInfos = getTargetInfo(config.platforms, platform, _arch);\n console.log('find target file:');\n console.log(targetInfos);\n return { config, targetInfos, version: env.version, arch: _arch };\n}\nexport const loadConfigJSON = () => {\n const configFilePath = path.join('.rop', 'config.json');\n if (!fs.existsSync(configFilePath)) {\n return {\n projectId: undefined,\n };\n }\n const configDataStr = fs.readFileSync(configFilePath, 'utf8');\n const configData = JSON.parse(configDataStr);\n return {\n projectId: configData.projectId,\n accessKey: configData.accessKey,\n };\n};\nexport const getAutoEnvByFramework = (framework, projectPath) => {\n if (!framework) {\n return undefined;\n }\n switch (framework.toLowerCase()) {\n case Framework.TAURI:\n return getTauriEnv(projectPath);\n case Framework.FLUTTER:\n return getFlutterEnv(projectPath);\n case Framework.IONIC:\n return getIonicEnv(projectPath);\n default:\n return undefined;\n }\n};\nexport const getTargetInfo = (platforms, platform, arch) => {\n const list = platforms[platform];\n if (list && list.length > 0) {\n const targetList = list.filter((item) => item.arch == arch);\n if (targetList.length > 0) {\n return targetList;\n }\n }\n throw new Error('Not find artifacts file');\n};\n","import { __awaiter } from \"tslib\";\nimport fs from 'fs';\nimport fetch from 'node-fetch';\nimport FormData from 'form-data';\nimport cliProgress from 'cli-progress';\nimport colors from 'ansi-colors';\nimport path from 'path';\nimport { getBranch } from './utils';\nexport class RopUploadApi {\n constructor({ baseDomain }) {\n this.checkParams = (config) => __awaiter(this, void 0, void 0, function* () {\n var _a;\n if (!config.accessKey) {\n if (!config.token || !config.projectId) {\n throw new Error('accessKey, token, projectId cannot be empty at the same time');\n }\n }\n const branch = (_a = config.branch) !== null && _a !== void 0 ? _a : (yield getBranch());\n if (!branch) {\n throw new Error('branch not null');\n }\n else {\n config.branch = branch;\n }\n if (!config.platform) {\n throw new Error('platform not null');\n }\n if (!config.arch) {\n throw new Error('arch not null');\n }\n if (!config.targetPath) {\n throw new Error('target path not null');\n }\n if (!fs.existsSync(config.targetPath)) {\n throw new Error(`target file not found, file path: ${config.targetPath}`);\n }\n // 如果更新包不存在的情况使用本身的包\n if (config.updatePath && !fs.existsSync(config.updatePath)) {\n config.updatePath = config.targetPath;\n config.updateName = config.targetName;\n }\n if (!config.version) {\n throw new Error('version not null');\n }\n return config;\n });\n this.baseDomain = baseDomain;\n }\n upload(_config) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n const config = yield this.checkParams(_config);\n // 以下代码帮我改成 上传文件 fetch 上传文件\n const formData = new FormData();\n const fileStream = fs.createReadStream(config.targetPath);\n // 监听文件流的 'data' 事件来跟踪进度\n const multibar = new cliProgress.MultiBar({\n format: 'Upload Progress |' + colors.cyan('{bar}') + '| {percentage}% | {filename}',\n barCompleteChar: '\\u2588',\n barIncompleteChar: '\\u2591',\n hideCursor: true,\n });\n const bar1 = multibar.create(fs.statSync(config.targetPath).size, 0);\n let totalUploaded = 0;\n fileStream.on('data', (chunk) => {\n totalUploaded += chunk.length;\n bar1.update(totalUploaded, { filename: path.basename(config.targetPath) });\n });\n formData.append('targetFile', fileStream, {\n filename: (_a = config.targetName) !== null && _a !== void 0 ? _a : path.basename(config.targetPath),\n });\n let updateFileStream;\n if (config.updatePath) {\n const bar2 = multibar.create(fs.statSync(config.updatePath).size, 0);\n updateFileStream = fs.createReadStream(config.updatePath);\n let totalUpdateUploaded = 0;\n updateFileStream.on('data', (chunk) => {\n totalUpdateUploaded += chunk.length;\n bar2.update(totalUpdateUploaded, { filename: path.basename(config.updatePath) });\n });\n formData.append('updateFile', updateFileStream, {\n filename: (_b = config.updateName) !== null && _b !== void 0 ? _b : path.basename(config.updatePath),\n });\n }\n if (config.accessKey) {\n formData.append('accessKey', config.accessKey);\n }\n if (config.projectId) {\n formData.append('projectId', config.projectId);\n }\n if (config.token) {\n formData.append('token', config.token);\n }\n formData.append('branch', config.branch);\n formData.append('version', config.version);\n formData.append('platform', config.platform);\n formData.append('arch', config.arch);\n if (config.signature) {\n formData.append('signature', config.signature);\n }\n if (config.autoRelease) {\n formData.append('autoRelease', config.autoRelease);\n }\n const res = yield fetch(`${this.baseDomain}/api/upload`, {\n method: 'POST',\n headers: formData.getHeaders(),\n body: formData,\n });\n const body = yield res.json();\n if (!res.ok) {\n console.log(res.status, res.statusText, body);\n }\n else {\n // console.log('上传成功!');\n }\n multibar.stop();\n fileStream.destroy();\n updateFileStream === null || updateFileStream === void 0 ? void 0 : updateFileStream.destroy();\n return { success: res.ok, body };\n });\n }\n}\n","import { __awaiter } from \"tslib\";\nimport { confirm } from '@inquirer/prompts';\nimport colors from 'ansi-colors';\nimport path from 'node:path';\nimport fs from 'node:fs';\nexport class InitApi {\n initProjectConfigJson(framework) {\n return __awaiter(this, void 0, void 0, function* () {\n const jsonConfigPath = path.join('.', 'rop.json');\n let jsonConfigData;\n if (fs.existsSync(jsonConfigPath)) {\n const flag = yield confirm({\n message: `${colors.cyan('rop.json')} already exists, does it need to be overwritten?`,\n });\n if (!flag) {\n return false;\n }\n const str = fs.readFileSync(jsonConfigPath, 'utf8');\n jsonConfigData = JSON.parse(str);\n if (!jsonConfigData.framework) {\n jsonConfigData.framework = {\n name: framework,\n };\n }\n else {\n jsonConfigData.framework.name = framework;\n }\n }\n else {\n jsonConfigData = {\n framework: {\n name: framework,\n },\n };\n }\n fs.writeFileSync(jsonConfigPath, JSON.stringify(jsonConfigData, null, 2), 'utf8');\n return true;\n });\n }\n initRopConfig(projectId, accessKey) {\n return __awaiter(this, void 0, void 0, function* () {\n const ropConfigDirPath = path.join('.', '.rop');\n if (!fs.existsSync(ropConfigDirPath)) {\n fs.mkdirSync(ropConfigDirPath);\n }\n const ropConfigPath = path.join(ropConfigDirPath, 'config.json');\n let ropConfigData = {};\n if (fs.existsSync(ropConfigPath)) {\n ropConfigData = JSON.parse(fs.readFileSync(ropConfigPath, 'utf8'));\n }\n ropConfigData.projectId = projectId;\n if (accessKey) {\n ropConfigData.accessKey = accessKey;\n }\n fs.writeFileSync(ropConfigPath, JSON.stringify(ropConfigData, null, 2), 'utf8');\n });\n }\n initGitignore() {\n return __awaiter(this, void 0, void 0, function* () {\n const gitignorePath = path.join('.', '.gitignore');\n if (fs.existsSync(gitignorePath)) {\n const gitignoreData = fs.readFileSync(gitignorePath, 'utf8');\n if (!gitignoreData.includes('.rop')) {\n fs.appendFileSync(gitignorePath, `\\n.rop`, 'utf8');\n }\n }\n else {\n fs.writeFileSync(gitignorePath, `.rop`, 'utf8');\n }\n });\n }\n}\n","export const defaultHost = 'https://rop.xh920.com';\n","import { __awaiter } from \"tslib\";\nimport fs from 'fs';\nimport * as os from 'node:os';\nimport path from 'node:path';\nimport { defaultHost } from './config';\nconst LOGIN_API = '/api/auth/login';\nconst REFRESH_TOKEN_API = '/api/auth/refresh';\nconst CHECK_AND_REFRESH_TOKEN_API = '/api/auth/checkAndRefresh';\nexport class AuthApi {\n constructor({ baseDomain }) {\n this.baseDomain = baseDomain !== null && baseDomain !== void 0 ? baseDomain : defaultHost;\n }\n login(req) {\n return __awaiter(this, void 0, void 0, function* () {\n const res = yield fetch(`${this.baseDomain}${LOGIN_API}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n },\n body: JSON.stringify(req),\n });\n const resBody = yield res.json();\n if (!res.ok || !resBody.data) {\n if (!resBody.message || res.status != 400) {\n console.log(`Login failed: status=${res.status}, statusText=${res.statusText}`);\n }\n else {\n console.log(JSON.stringify(resBody));\n }\n return;\n }\n const homedir = path.join(os.homedir(), '.rop');\n if (!fs.existsSync(homedir)) {\n fs.mkdirSync(homedir);\n }\n const userFilePath = path.join(homedir, 'user');\n fs.writeFileSync(userFilePath, JSON.stringify(resBody.data, null, 2), 'utf8');\n });\n }\n refreshToken() {\n return __awaiter(this, void 0, void 0, function* () {\n const homedir = path.join(os.homedir(), '.rop');\n const userFilePath = path.join(homedir, 'user');\n if (!fs.existsSync(userFilePath)) {\n console.log('Unauthorized. Please execute the login command');\n return;\n }\n const user = JSON.parse(fs.readFileSync(userFilePath, 'utf8'));\n const res = yield fetch(`${this.baseDomain}${REFRESH_TOKEN_API}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n },\n body: JSON.stringify({ token: user.auth.refreshToken }),\n });\n const resBody = yield res.json();\n if (!res.ok || !resBody.data) {\n if (!resBody.message || res.status != 400) {\n console.log(`Refresh token failed: status=${res.status}, statusText=${res.statusText}`);\n }\n else {\n console.log('Authorization expired please execute the login command');\n fs.rmSync(userFilePath);\n }\n throw new Error('Refresh token failed');\n }\n user.auth = resBody.data;\n fs.writeFileSync(userFilePath, JSON.stringify(user), 'utf8');\n });\n }\n getToken() {\n return __awaiter(this, void 0, void 0, function* () {\n const homedir = path.join(os.homedir(), '.rop');\n const userFilePath = path.join(homedir, 'user');\n if (!fs.existsSync(userFilePath)) {\n return undefined;\n }\n return JSON.parse(fs.readFileSync(userFilePath, 'utf8'));\n });\n }\n checkAndRefreshToken() {\n return __awaiter(this, void 0, void 0, function* () {\n let user = yield this.getToken();\n if (!user) {\n return undefined;\n }\n const res = yield fetch(`${this.baseDomain}${CHECK_AND_REFRESH_TOKEN_API}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n },\n body: JSON.stringify(user.auth),\n });\n const resBody = yield res.json();\n if (!res.ok || !resBody.data) {\n return undefined;\n }\n const homedir = path.join(os.homedir(), '.rop');\n const userFilePath = path.join(homedir, 'user');\n user = JSON.parse(fs.readFileSync(userFilePath, 'utf8'));\n user.auth = resBody.data;\n fs.writeFileSync(userFilePath, JSON.stringify(user), 'utf8');\n return user;\n });\n }\n request(req) {\n return __awaiter(this, void 0, void 0, function* () {\n let user = yield this.getToken();\n if (!user) {\n console.log('Unauthorized. Please execute the login command');\n return undefined;\n }\n const res = yield req(user.auth.accessToken);\n const resBody = yield res.json();\n if (!res.ok || !resBody.data) {\n switch (res.status) {\n case 400:\n console.log(JSON.stringify(resBody));\n break;\n case 401:\n yield this.refreshToken();\n return yield this.request(req);\n default:\n console.log(`request failed: status=${res.status}, statusText=${res.statusText}`);\n }\n return undefined;\n }\n return resBody.data;\n });\n }\n}\n"],"names":["fetch","path","fs"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.19.1_tslib@2.6.3_typescript@5.4.5/node_modules/tslib/tslib.es6.js","../../src/types.ts","../../src/utils.ts","../../src/uploadApi.ts","../../src/initApi.ts","../../src/config.ts","../../src/authApi.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export const frameworkList = ['tauri', 'ionic', 'flutter'];\nexport var Framework;\n(function (Framework) {\n Framework[\"TAURI\"] = \"tauri\";\n Framework[\"IONIC\"] = \"ionic\";\n Framework[\"FLUTTER\"] = \"flutter\";\n})(Framework || (Framework = {}));\n","import { __awaiter } from \"tslib\";\nimport { exec } from 'child_process';\nimport path from 'node:path';\nimport fs from 'node:fs';\nimport { Framework, frameworkList, } from './types';\nimport { getTauriEnv } from './tauri';\nimport platformDefaultConfigMap from './default-platform.json';\nimport { getFlutterEnv } from './flutter';\nimport { getIonicEnv } from './ionic';\nimport colors from 'ansi-colors';\nexport const getBranch = () => __awaiter(void 0, void 0, void 0, function* () {\n return new Promise((resolve) => {\n return exec('git rev-parse --abbrev-ref HEAD', (err, stdout, stderr) => {\n if (err) {\n console.log(`getBranch Error: ${err}`);\n }\n else if (stdout) {\n resolve(stdout.trim());\n return;\n }\n resolve('none');\n });\n });\n});\n// 读取 JSON 文件并替换模版变量\nexport function loadJsonWithEnv({ platform, arch }) {\n var _a, _b, _c, _d, _e;\n const configFilePath = path.join('.', 'rop.json');\n const configData = fs.readFileSync(configFilePath, 'utf8');\n const inputConfig = JSON.parse(configData);\n let _arch = arch !== null && arch !== void 0 ? arch : 'universal';\n if (arch == 'x86_64') {\n _arch = 'x64';\n }\n else if (arch == 'i386' || arch == 'i686') {\n _arch = 'x86';\n }\n else if (arch == 'aarch64') {\n _arch = 'arm64';\n }\n let env = {\n arch: _arch,\n };\n let config;\n if (!inputConfig.platforms && ((_a = inputConfig.framework) === null || _a === void 0 ? void 0 : _a.name) && frameworkList.includes((_b = inputConfig.framework) === null || _b === void 0 ? void 0 : _b.name)) {\n const framework = inputConfig.framework.name;\n const defaultPlatformConfig = platformDefaultConfigMap[framework];\n const _config = Object.assign(Object.assign({}, inputConfig), { platforms: defaultPlatformConfig });\n config = _config;\n }\n else {\n config = inputConfig;\n }\n if (!config.platforms || Object.keys(config.platforms).length == 0) {\n console.log(colors.red('The platforms property in rop.json cannot be empty.'));\n return;\n }\n const _autoEnv = getAutoEnvByFramework((_c = config === null || config === void 0 ? void 0 : config.framework) === null || _c === void 0 ? void 0 : _c.name, config.projectPath);\n env = Object.assign(Object.assign(Object.assign({}, env), (_autoEnv !== null && _autoEnv !== void 0 ? _autoEnv : {})), ((_e = (_d = config.framework) === null || _d === void 0 ? void 0 : _d.env) !== null && _e !== void 0 ? _e : {}));\n // 确保配置文件中存在 host 属性\n if (!env.version) {\n console.log(colors.red('The version property in rop.json cannot be empty.'));\n return;\n }\n // 递归函数来替换对象中的字符串值\n function replaceEnvInObject(obj) {\n Object.keys(obj).forEach((key) => {\n if (typeof obj[key] === 'string') {\n // 使用正则表达式替换模版变量(这里假设模版变量是 ${VAR} 格式的)\n // @ts-ignore\n obj[key] = obj[key].replace(/\\$\\{(\\w+)\\}/g, (_, envVar) => env[envVar] || '');\n }\n else if (typeof obj[key] === 'object' && obj[key] !== null) {\n replaceEnvInObject(obj[key]); // 递归处理嵌套对象\n }\n });\n }\n replaceEnvInObject(config);\n const targetInfos = getTargetInfo(config.platforms, platform, _arch);\n console.log(colors.cyan(`find target file:`));\n console.log(`${JSON.stringify(targetInfos)}`);\n return { config, targetInfos, version: env.version, arch: _arch };\n}\nexport const loadConfigJSON = () => {\n const configFilePath = path.join('.rop', 'config.json');\n if (!fs.existsSync(configFilePath)) {\n return {\n projectId: undefined,\n };\n }\n const configDataStr = fs.readFileSync(configFilePath, 'utf8');\n const configData = JSON.parse(configDataStr);\n return {\n projectId: configData.projectId,\n accessKey: configData.accessKey,\n };\n};\nexport const getAutoEnvByFramework = (framework, projectPath) => {\n if (!framework) {\n return undefined;\n }\n switch (framework.toLowerCase()) {\n case Framework.TAURI:\n return getTauriEnv(projectPath);\n case Framework.FLUTTER:\n return getFlutterEnv(projectPath);\n case Framework.IONIC:\n return getIonicEnv(projectPath);\n default:\n return undefined;\n }\n};\nexport const getTargetInfo = (platforms, platform, arch) => {\n const list = platforms[platform];\n if (list && list.length > 0) {\n const targetList = list.filter((item) => item.arch == arch);\n if (targetList.length > 0) {\n return targetList;\n }\n }\n throw new Error('Not find artifacts file');\n};\n","import { __awaiter } from \"tslib\";\nimport fs from 'fs';\nimport fetch from 'node-fetch';\nimport FormData from 'form-data';\nimport cliProgress from 'cli-progress';\nimport colors from 'ansi-colors';\nimport path from 'path';\nimport { getBranch } from './utils';\nexport class RopUploadApi {\n constructor({ baseDomain }) {\n this.checkParams = (config) => __awaiter(this, void 0, void 0, function* () {\n var _a;\n if (!config.accessKey) {\n if (!config.token) {\n console.log(colors.red(`Either accessKey or token must be used`));\n return false;\n }\n if (!config.projectId) {\n console.log(colors.red(`projectId cannot be empty`));\n return false;\n }\n }\n const branch = (_a = config.branch) !== null && _a !== void 0 ? _a : (yield getBranch());\n if (!branch) {\n console.log(colors.red(`branch cannot be empty`));\n return false;\n }\n else {\n config.branch = branch;\n }\n if (!config.platform) {\n console.log(colors.red(`platform cannot be empty`));\n return false;\n }\n if (!config.arch) {\n console.log(colors.red(`arch cannot be empty`));\n return false;\n }\n if (!config.targetPath) {\n console.log(colors.red(`target path cannot be empty`));\n return false;\n }\n if (!fs.existsSync(config.targetPath)) {\n console.log(colors.red(`target file not found, file path: ${config.targetPath}`));\n return false;\n }\n // 如果更新包不存在的情况使用本身的包\n if (config.updatePath && !fs.existsSync(config.updatePath)) {\n config.updatePath = config.targetPath;\n config.updateName = config.targetName;\n }\n if (!config.version) {\n console.log(colors.red(`version cannot be empty`));\n return false;\n }\n return config;\n });\n this.baseDomain = baseDomain;\n }\n upload(_config) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n const config = yield this.checkParams(_config);\n if (!config) {\n return;\n }\n // 以下代码帮我改成 上传文件 fetch 上传文件\n const formData = new FormData();\n const fileStream = fs.createReadStream(config.targetPath);\n // 监听文件流的 'data' 事件来跟踪进度\n const multibar = new cliProgress.MultiBar({\n format: 'Upload Progress |' + colors.cyan('{bar}') + '| {percentage}% | {filename}',\n barCompleteChar: '\\u2588',\n barIncompleteChar: '\\u2591',\n hideCursor: true,\n });\n const bar1 = multibar.create(fs.statSync(config.targetPath).size, 0);\n let totalUploaded = 0;\n fileStream.on('data', (chunk) => {\n totalUploaded += chunk.length;\n bar1.update(totalUploaded, { filename: path.basename(config.targetPath) });\n });\n formData.append('targetFile', fileStream, {\n filename: (_a = config.targetName) !== null && _a !== void 0 ? _a : path.basename(config.targetPath),\n });\n let updateFileStream;\n if (config.updatePath) {\n const bar2 = multibar.create(fs.statSync(config.updatePath).size, 0);\n updateFileStream = fs.createReadStream(config.updatePath);\n let totalUpdateUploaded = 0;\n updateFileStream.on('data', (chunk) => {\n totalUpdateUploaded += chunk.length;\n bar2.update(totalUpdateUploaded, { filename: path.basename(config.updatePath) });\n });\n formData.append('updateFile', updateFileStream, {\n filename: (_b = config.updateName) !== null && _b !== void 0 ? _b : path.basename(config.updatePath),\n });\n }\n if (config.accessKey) {\n formData.append('accessKey', config.accessKey);\n }\n if (config.projectId) {\n formData.append('projectId', config.projectId);\n }\n if (config.token) {\n formData.append('token', config.token);\n }\n formData.append('branch', config.branch);\n formData.append('version', config.version);\n formData.append('platform', config.platform);\n formData.append('arch', config.arch);\n if (config.signature) {\n formData.append('signature', config.signature);\n }\n if (config.autoRelease) {\n formData.append('autoRelease', String(config.autoRelease));\n }\n const res = yield fetch(`${this.baseDomain}/api/upload`, {\n method: 'POST',\n headers: formData.getHeaders(),\n body: formData,\n });\n const body = yield res.json();\n if (!res.ok) {\n console.log(res.status, res.statusText, body);\n }\n else {\n // console.log('上传成功!');\n }\n multibar.stop();\n fileStream.destroy();\n updateFileStream === null || updateFileStream === void 0 ? void 0 : updateFileStream.destroy();\n console.log(colors.green(`Upload success!`));\n return { success: res.ok, body };\n });\n }\n}\n","import { __awaiter } from \"tslib\";\nimport { confirm } from '@inquirer/prompts';\nimport colors from 'ansi-colors';\nimport path from 'node:path';\nimport fs from 'node:fs';\nexport class InitApi {\n initProjectConfigJson(framework) {\n return __awaiter(this, void 0, void 0, function* () {\n const jsonConfigPath = path.join('.', 'rop.json');\n let jsonConfigData;\n if (fs.existsSync(jsonConfigPath)) {\n const flag = yield confirm({\n message: `${colors.cyan('rop.json')} already exists, does it need to be overwritten?`,\n });\n if (!flag) {\n return false;\n }\n const str = fs.readFileSync(jsonConfigPath, 'utf8');\n jsonConfigData = JSON.parse(str);\n if (!jsonConfigData.framework) {\n jsonConfigData.framework = {\n name: framework,\n };\n }\n else {\n jsonConfigData.framework.name = framework;\n }\n }\n else {\n jsonConfigData = {\n framework: {\n name: framework,\n },\n };\n }\n fs.writeFileSync(jsonConfigPath, JSON.stringify(jsonConfigData, null, 2), 'utf8');\n return true;\n });\n }\n initRopConfig(projectId, accessKey) {\n return __awaiter(this, void 0, void 0, function* () {\n const ropConfigDirPath = path.join('.', '.rop');\n if (!fs.existsSync(ropConfigDirPath)) {\n fs.mkdirSync(ropConfigDirPath);\n }\n const ropConfigPath = path.join(ropConfigDirPath, 'config.json');\n let ropConfigData = {};\n if (fs.existsSync(ropConfigPath)) {\n ropConfigData = JSON.parse(fs.readFileSync(ropConfigPath, 'utf8'));\n }\n ropConfigData.projectId = projectId;\n if (accessKey) {\n ropConfigData.accessKey = accessKey;\n }\n fs.writeFileSync(ropConfigPath, JSON.stringify(ropConfigData, null, 2), 'utf8');\n });\n }\n initGitignore() {\n return __awaiter(this, void 0, void 0, function* () {\n const gitignorePath = path.join('.', '.gitignore');\n if (fs.existsSync(gitignorePath)) {\n const gitignoreData = fs.readFileSync(gitignorePath, 'utf8');\n if (!gitignoreData.includes('.rop')) {\n fs.appendFileSync(gitignorePath, `\\n.rop`, 'utf8');\n }\n }\n else {\n fs.writeFileSync(gitignorePath, `.rop`, 'utf8');\n }\n });\n }\n}\n","export const defaultHost = 'https://rop.xh920.com';\n","import { __awaiter } from \"tslib\";\nimport fs from 'fs';\nimport * as os from 'node:os';\nimport path from 'node:path';\nimport { defaultHost } from './config';\nimport chalk from 'chalk';\nimport colors from 'ansi-colors';\nconst LOGIN_API = '/api/auth/login';\nconst REFRESH_TOKEN_API = '/api/auth/refresh';\nconst CHECK_AND_REFRESH_TOKEN_API = '/api/auth/checkAndRefresh';\nexport class AuthApi {\n constructor({ baseDomain }) {\n this.baseDomain = baseDomain !== null && baseDomain !== void 0 ? baseDomain : defaultHost;\n }\n login(req) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n const res = yield fetch(`${this.baseDomain}${LOGIN_API}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n },\n body: JSON.stringify(req),\n });\n const resBody = yield res.json();\n if (!res.ok || !resBody.data) {\n console.log(chalk.red(`Login failed: status:${res.status}, message:${(_a = resBody.message) !== null && _a !== void 0 ? _a : res.statusText}`));\n return false;\n }\n const homedir = path.join(os.homedir(), '.rop');\n if (!fs.existsSync(homedir)) {\n fs.mkdirSync(homedir);\n }\n const userFilePath = path.join(homedir, 'user');\n fs.writeFileSync(userFilePath, JSON.stringify(resBody.data, null, 2), 'utf8');\n return true;\n });\n }\n refreshToken() {\n return __awaiter(this, void 0, void 0, function* () {\n const homedir = path.join(os.homedir(), '.rop');\n const userFilePath = path.join(homedir, 'user');\n if (!fs.existsSync(userFilePath)) {\n console.log(chalk.red(`No permission! Please execute [rop login] or use --accessKey`));\n return false;\n }\n const user = JSON.parse(fs.readFileSync(userFilePath, 'utf8'));\n const res = yield fetch(`${this.baseDomain}${REFRESH_TOKEN_API}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n },\n body: JSON.stringify({ token: user.auth.refreshToken }),\n });\n const resBody = yield res.json();\n if (!res.ok || !resBody.data) {\n if (!resBody.message || res.status != 400) {\n console.log(chalk.red(`Refresh token failed: status:${res.status}, statusText:${res.statusText}`));\n }\n else {\n console.log(chalk.red(`Authorization expired please execute the login command`));\n fs.rmSync(userFilePath);\n }\n return false;\n }\n user.auth = resBody.data;\n fs.writeFileSync(userFilePath, JSON.stringify(user), 'utf8');\n return true;\n });\n }\n getToken() {\n return __awaiter(this, void 0, void 0, function* () {\n const homedir = path.join(os.homedir(), '.rop');\n const userFilePath = path.join(homedir, 'user');\n if (!fs.existsSync(userFilePath)) {\n return undefined;\n }\n return JSON.parse(fs.readFileSync(userFilePath, 'utf8'));\n });\n }\n checkAndRefreshToken() {\n return __awaiter(this, void 0, void 0, function* () {\n let user = yield this.getToken();\n if (!user) {\n return undefined;\n }\n const res = yield fetch(`${this.baseDomain}${CHECK_AND_REFRESH_TOKEN_API}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n },\n body: JSON.stringify(user.auth),\n });\n const resBody = yield res.json();\n if (!res.ok || !resBody.data) {\n return undefined;\n }\n const homedir = path.join(os.homedir(), '.rop');\n const userFilePath = path.join(homedir, 'user');\n user = JSON.parse(fs.readFileSync(userFilePath, 'utf8'));\n user.auth = resBody.data;\n fs.writeFileSync(userFilePath, JSON.stringify(user), 'utf8');\n return user;\n });\n }\n request(req) {\n return __awaiter(this, void 0, void 0, function* () {\n let user = yield this.getToken();\n if (!user) {\n console.log(colors.red(`No permission! Please execute [rop login]`));\n return undefined;\n }\n const res = yield req(user.auth.accessToken);\n const resBody = yield res.json();\n if (!res.ok || !resBody.data) {\n switch (res.status) {\n case 400:\n console.log(JSON.stringify(resBody));\n break;\n case 401:\n const result = yield this.refreshToken();\n if (result) {\n return yield this.request(req);\n }\n break;\n default:\n console.log(colors.red(`request failed: status:${res.status}, statusText:${res.statusText}`));\n }\n return undefined;\n }\n return resBody.data;\n });\n }\n}\n"],"names":["fetch","path","fs"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sevenvip666/rop",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "files": [
5
5
  "dist"
6
6
  ],