@sevenvip666/rop 0.1.1 → 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/bin/index.mjs +137 -77
- package/dist/cjs/index.js +65 -42
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +54 -27
- package/dist/esm/index.js.map +1 -1
- package/dist/types/types.d.ts +11 -0
- package/dist/types/utils.d.ts +1 -0
- package/package.json +1 -1
package/dist/cjs/index.js.map
CHANGED
|
@@ -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 var 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 { __assign, __awaiter, __generator } 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 var getBranch = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) {\n return exec('git rev-parse --abbrev-ref HEAD', function (err, stdout, stderr) {\n if (err) {\n console.log(\"getBranch Error: \".concat(err));\n }\n else if (stdout) {\n resolve(stdout.trim());\n return;\n }\n resolve('none');\n });\n })];\n });\n}); };\n// 读取 JSON 文件并替换模版变量\nexport function loadJsonWithEnv(_a) {\n var _b, _c, _d, _e, _f;\n var platform = _a.platform, arch = _a.arch;\n var configFilePath = path.join('.', 'rop.json');\n var configData = fs.readFileSync(configFilePath, 'utf8');\n var inputConfig = JSON.parse(configData);\n var _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 var env = {\n arch: _arch,\n };\n var config;\n if (!inputConfig.platforms && ((_b = inputConfig.framework) === null || _b === void 0 ? void 0 : _b.name) && frameworkList.includes((_c = inputConfig.framework) === null || _c === void 0 ? void 0 : _c.name)) {\n var framework = inputConfig.framework.name;\n var defaultPlatformConfig = platformDefaultConfigMap[framework];\n var _config = __assign(__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 var _autoEnv = getAutoEnvByFramework((_d = config === null || config === void 0 ? void 0 : config.framework) === null || _d === void 0 ? void 0 : _d.name, config.projectPath);\n env = __assign(__assign(__assign({}, env), (_autoEnv !== null && _autoEnv !== void 0 ? _autoEnv : {})), ((_f = (_e = config.framework) === null || _e === void 0 ? void 0 : _e.env) !== null && _f !== void 0 ? _f : {}));\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(function (key) {\n if (typeof obj[key] === 'string') {\n // 使用正则表达式替换模版变量(这里假设模版变量是 ${VAR} 格式的)\n // @ts-ignore\n obj[key] = obj[key].replace(/\\$\\{(\\w+)\\}/g, function (_, envVar) { return env[envVar] || ''; });\n }\n else if (typeof obj[key] === 'object' && obj[key] !== null) {\n replaceEnvInObject(obj[key]); // 递归处理嵌套对象\n }\n });\n }\n replaceEnvInObject(config);\n var targetInfos = getTargetInfo(config.platforms, platform, _arch);\n console.log('find target file:');\n console.log(targetInfos);\n return { config: config, targetInfos: targetInfos, version: env.version, arch: _arch };\n}\nexport var loadConfigJSON = function () {\n var configFilePath = path.join('.rop', 'config.json');\n if (!fs.existsSync(configFilePath)) {\n return {\n projectId: undefined,\n };\n }\n var configDataStr = fs.readFileSync(configFilePath, 'utf8');\n var configData = JSON.parse(configDataStr);\n return {\n projectId: configData.projectId,\n };\n};\nexport var getAutoEnvByFramework = function (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 var getTargetInfo = function (platforms, platform, arch) {\n var list = platforms[platform];\n if (list && list.length > 0) {\n var targetList = list.filter(function (item) { return 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, __generator } 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';\nvar RopUploadApi = /** @class */ (function () {\n function RopUploadApi(_a) {\n var baseDomain = _a.baseDomain;\n var _this = this;\n this.checkParams = function (config) { return __awaiter(_this, void 0, void 0, function () {\n var branch, _a;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\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 if (!((_b = config.branch) !== null && _b !== void 0)) return [3 /*break*/, 1];\n _a = _b;\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, getBranch()];\n case 2:\n _a = (_c.sent());\n _c.label = 3;\n case 3:\n branch = _a;\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: \".concat(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 [2 /*return*/, config];\n }\n });\n }); };\n this.baseDomain = baseDomain;\n }\n RopUploadApi.prototype.upload = function (_config) {\n return __awaiter(this, void 0, void 0, function () {\n var config, formData, fileStream, multibar, bar1, totalUploaded, updateFileStream, bar2_1, totalUpdateUploaded_1, res, body;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this.checkParams(_config)];\n case 1:\n config = _c.sent();\n formData = new FormData();\n fileStream = fs.createReadStream(config.targetPath);\n multibar = new cliProgress.MultiBar({\n format: 'Upload Progress |' + colors.cyan('{bar}') + '| {percentage}% | {filename}',\n barCompleteChar: '\\u2588',\n barIncompleteChar: '\\u2591',\n hideCursor: true,\n });\n bar1 = multibar.create(fs.statSync(config.targetPath).size, 0);\n totalUploaded = 0;\n fileStream.on('data', function (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 if (config.updatePath) {\n bar2_1 = multibar.create(fs.statSync(config.updatePath).size, 0);\n updateFileStream = fs.createReadStream(config.updatePath);\n totalUpdateUploaded_1 = 0;\n updateFileStream.on('data', function (chunk) {\n totalUpdateUploaded_1 += chunk.length;\n bar2_1.update(totalUpdateUploaded_1, { 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 return [4 /*yield*/, fetch(\"\".concat(this.baseDomain, \"/api/upload\"), {\n method: 'POST',\n headers: formData.getHeaders(),\n body: formData,\n })];\n case 2:\n res = _c.sent();\n return [4 /*yield*/, res.json()];\n case 3:\n body = _c.sent();\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 [2 /*return*/, { success: res.ok, body: body }];\n }\n });\n });\n };\n return RopUploadApi;\n}());\nexport { RopUploadApi };\n","import { __awaiter, __generator } from \"tslib\";\nimport { confirm } from '@inquirer/prompts';\nimport colors from 'ansi-colors';\nimport path from 'node:path';\nimport fs from 'node:fs';\nvar InitApi = /** @class */ (function () {\n function InitApi() {\n }\n InitApi.prototype.initProjectConfigJson = function (framework) {\n return __awaiter(this, void 0, void 0, function () {\n var jsonConfigPath, jsonConfigData, flag, str;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n jsonConfigPath = path.join('.', 'rop.json');\n if (!fs.existsSync(jsonConfigPath)) return [3 /*break*/, 2];\n return [4 /*yield*/, confirm({\n message: \"\".concat(colors.cyan('rop.json'), \" already exists, does it need to be overwritten?\"),\n })];\n case 1:\n flag = _a.sent();\n 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 return [3 /*break*/, 3];\n case 2:\n jsonConfigData = {\n framework: {\n name: framework,\n },\n };\n _a.label = 3;\n case 3:\n fs.writeFileSync(jsonConfigPath, JSON.stringify(jsonConfigData, null, 2), 'utf8');\n return [2 /*return*/];\n }\n });\n });\n };\n InitApi.prototype.initRopConfig = function (projectId) {\n return __awaiter(this, void 0, void 0, function () {\n var ropConfigDirPath, ropConfigPath, ropConfigData;\n return __generator(this, function (_a) {\n ropConfigDirPath = path.join('.', '.rop');\n if (!fs.existsSync(ropConfigDirPath)) {\n fs.mkdirSync(ropConfigDirPath);\n }\n ropConfigPath = path.join(ropConfigDirPath, 'config.json');\n ropConfigData = {};\n if (fs.existsSync(ropConfigPath)) {\n ropConfigData = JSON.parse(fs.readFileSync(ropConfigPath, 'utf8'));\n }\n ropConfigData.projectId = projectId;\n fs.writeFileSync(ropConfigPath, JSON.stringify(ropConfigData, null, 2), 'utf8');\n return [2 /*return*/];\n });\n });\n };\n InitApi.prototype.initGitignore = function () {\n return __awaiter(this, void 0, void 0, function () {\n var gitignorePath, gitignoreData;\n return __generator(this, function (_a) {\n gitignorePath = path.join('.', '.gitignore');\n if (fs.existsSync(gitignorePath)) {\n 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 return [2 /*return*/];\n });\n });\n };\n return InitApi;\n}());\nexport { InitApi };\n","export var defaultHost = 'http://rop.coolcat.tech:8100';\n","import { __awaiter, __generator } from \"tslib\";\nimport fs from 'fs';\nimport * as os from 'node:os';\nimport path from 'node:path';\nimport { defaultHost } from './config';\nvar LOGIN_API = '/api/auth/login';\nvar REFRESH_TOKEN_API = '/api/auth/refresh';\nvar CHECK_AND_REFRESH_TOKEN_API = '/api/auth/checkAndRefresh';\nvar AuthApi = /** @class */ (function () {\n function AuthApi(_a) {\n var baseDomain = _a.baseDomain;\n this.baseDomain = baseDomain !== null && baseDomain !== void 0 ? baseDomain : defaultHost;\n }\n AuthApi.prototype.login = function (req) {\n return __awaiter(this, void 0, void 0, function () {\n var res, resBody, homedir, userFilePath;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, fetch(\"\".concat(this.baseDomain).concat(LOGIN_API), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n },\n body: JSON.stringify(req),\n })];\n case 1:\n res = _a.sent();\n return [4 /*yield*/, res.json()];\n case 2:\n resBody = _a.sent();\n if (!res.ok || !resBody.data) {\n if (!resBody.message || res.status != 400) {\n console.log(\"Login failed: status=\".concat(res.status, \", statusText=\").concat(res.statusText));\n }\n else {\n console.log(JSON.stringify(resBody));\n }\n return [2 /*return*/];\n }\n homedir = path.join(os.homedir(), '.rop');\n if (!fs.existsSync(homedir)) {\n fs.mkdirSync(homedir);\n }\n userFilePath = path.join(homedir, 'user');\n fs.writeFileSync(userFilePath, JSON.stringify(resBody.data, null, 2), 'utf8');\n return [2 /*return*/];\n }\n });\n });\n };\n AuthApi.prototype.refreshToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var homedir, userFilePath, user, res, resBody;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n homedir = path.join(os.homedir(), '.rop');\n userFilePath = path.join(homedir, 'user');\n if (!fs.existsSync(userFilePath)) {\n console.log('Unauthorized. Please execute the login command');\n return [2 /*return*/];\n }\n user = JSON.parse(fs.readFileSync(userFilePath, 'utf8'));\n return [4 /*yield*/, fetch(\"\".concat(this.baseDomain).concat(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 case 1:\n res = _a.sent();\n return [4 /*yield*/, res.json()];\n case 2:\n resBody = _a.sent();\n if (!res.ok || !resBody.data) {\n if (!resBody.message || res.status != 400) {\n console.log(\"Refresh token failed: status=\".concat(res.status, \", statusText=\").concat(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 return [2 /*return*/];\n }\n });\n });\n };\n AuthApi.prototype.getToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var homedir, userFilePath;\n return __generator(this, function (_a) {\n homedir = path.join(os.homedir(), '.rop');\n userFilePath = path.join(homedir, 'user');\n if (!fs.existsSync(userFilePath)) {\n return [2 /*return*/, undefined];\n }\n return [2 /*return*/, JSON.parse(fs.readFileSync(userFilePath, 'utf8'))];\n });\n });\n };\n AuthApi.prototype.checkAndRefreshToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var user, res, resBody, homedir, userFilePath;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getToken()];\n case 1:\n user = _a.sent();\n if (!user) {\n return [2 /*return*/, undefined];\n }\n return [4 /*yield*/, fetch(\"\".concat(this.baseDomain).concat(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 case 2:\n res = _a.sent();\n return [4 /*yield*/, res.json()];\n case 3:\n resBody = _a.sent();\n if (!res.ok || !resBody.data) {\n return [2 /*return*/, undefined];\n }\n homedir = path.join(os.homedir(), '.rop');\n 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 [2 /*return*/, user];\n }\n });\n });\n };\n AuthApi.prototype.request = function (req) {\n return __awaiter(this, void 0, void 0, function () {\n var user, res, resBody, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.getToken()];\n case 1:\n user = _b.sent();\n if (!user) {\n console.log('Unauthorized. Please execute the login command');\n return [2 /*return*/, undefined];\n }\n return [4 /*yield*/, req(user.auth.accessToken)];\n case 2:\n res = _b.sent();\n return [4 /*yield*/, res.json()];\n case 3:\n resBody = _b.sent();\n if (!(!res.ok || !resBody.data)) return [3 /*break*/, 10];\n _a = res.status;\n switch (_a) {\n case 400: return [3 /*break*/, 4];\n case 401: return [3 /*break*/, 5];\n }\n return [3 /*break*/, 8];\n case 4:\n console.log(JSON.stringify(resBody));\n return [3 /*break*/, 9];\n case 5: return [4 /*yield*/, this.refreshToken()];\n case 6:\n _b.sent();\n return [4 /*yield*/, this.request(req)];\n case 7: return [2 /*return*/, _b.sent()];\n case 8:\n console.log(\"request failed: status=\".concat(res.status, \", statusText=\").concat(res.statusText));\n _b.label = 9;\n case 9: return [2 /*return*/, undefined];\n case 10: return [2 /*return*/, resBody.data];\n }\n });\n });\n };\n return AuthApi;\n}());\nexport { AuthApi };\n"],"names":["Framework","exec","fetch","path","fs","confirm","os"],"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 var 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 { __assign, __awaiter, __generator } 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 var getBranch = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) {\n return exec('git rev-parse --abbrev-ref HEAD', function (err, stdout, stderr) {\n if (err) {\n console.log(\"getBranch Error: \".concat(err));\n }\n else if (stdout) {\n resolve(stdout.trim());\n return;\n }\n resolve('none');\n });\n })];\n });\n}); };\n// 读取 JSON 文件并替换模版变量\nexport function loadJsonWithEnv(_a) {\n var _b, _c, _d, _e, _f;\n var platform = _a.platform, arch = _a.arch;\n var configFilePath = path.join('.', 'rop.json');\n var configData = fs.readFileSync(configFilePath, 'utf8');\n var inputConfig = JSON.parse(configData);\n var _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 var env = {\n arch: _arch,\n };\n var config;\n if (!inputConfig.platforms && ((_b = inputConfig.framework) === null || _b === void 0 ? void 0 : _b.name) && frameworkList.includes((_c = inputConfig.framework) === null || _c === void 0 ? void 0 : _c.name)) {\n var framework = inputConfig.framework.name;\n var defaultPlatformConfig = platformDefaultConfigMap[framework];\n var _config = __assign(__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 var _autoEnv = getAutoEnvByFramework((_d = config === null || config === void 0 ? void 0 : config.framework) === null || _d === void 0 ? void 0 : _d.name, config.projectPath);\n env = __assign(__assign(__assign({}, env), (_autoEnv !== null && _autoEnv !== void 0 ? _autoEnv : {})), ((_f = (_e = config.framework) === null || _e === void 0 ? void 0 : _e.env) !== null && _f !== void 0 ? _f : {}));\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(function (key) {\n if (typeof obj[key] === 'string') {\n // 使用正则表达式替换模版变量(这里假设模版变量是 ${VAR} 格式的)\n // @ts-ignore\n obj[key] = obj[key].replace(/\\$\\{(\\w+)\\}/g, function (_, envVar) { return env[envVar] || ''; });\n }\n else if (typeof obj[key] === 'object' && obj[key] !== null) {\n replaceEnvInObject(obj[key]); // 递归处理嵌套对象\n }\n });\n }\n replaceEnvInObject(config);\n var targetInfos = getTargetInfo(config.platforms, platform, _arch);\n console.log(colors.cyan(\"find target file:\"));\n console.log(\"\".concat(JSON.stringify(targetInfos)));\n return { config: config, targetInfos: targetInfos, version: env.version, arch: _arch };\n}\nexport var loadConfigJSON = function () {\n var configFilePath = path.join('.rop', 'config.json');\n if (!fs.existsSync(configFilePath)) {\n return {\n projectId: undefined,\n };\n }\n var configDataStr = fs.readFileSync(configFilePath, 'utf8');\n var configData = JSON.parse(configDataStr);\n return {\n projectId: configData.projectId,\n accessKey: configData.accessKey,\n };\n};\nexport var getAutoEnvByFramework = function (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 var getTargetInfo = function (platforms, platform, arch) {\n var list = platforms[platform];\n if (list && list.length > 0) {\n var targetList = list.filter(function (item) { return 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, __generator } 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';\nvar RopUploadApi = /** @class */ (function () {\n function RopUploadApi(_a) {\n var baseDomain = _a.baseDomain;\n var _this = this;\n this.checkParams = function (config) { return __awaiter(_this, void 0, void 0, function () {\n var branch, _a;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!config.accessKey) {\n if (!config.token) {\n console.log(colors.red(\"Either accessKey or token must be used\"));\n return [2 /*return*/, false];\n }\n if (!config.projectId) {\n console.log(colors.red(\"projectId cannot be empty\"));\n return [2 /*return*/, false];\n }\n }\n if (!((_b = config.branch) !== null && _b !== void 0)) return [3 /*break*/, 1];\n _a = _b;\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, getBranch()];\n case 2:\n _a = (_c.sent());\n _c.label = 3;\n case 3:\n branch = _a;\n if (!branch) {\n console.log(colors.red(\"branch cannot be empty\"));\n return [2 /*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 [2 /*return*/, false];\n }\n if (!config.arch) {\n console.log(colors.red(\"arch cannot be empty\"));\n return [2 /*return*/, false];\n }\n if (!config.targetPath) {\n console.log(colors.red(\"target path cannot be empty\"));\n return [2 /*return*/, false];\n }\n if (!fs.existsSync(config.targetPath)) {\n console.log(colors.red(\"target file not found, file path: \".concat(config.targetPath)));\n return [2 /*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 [2 /*return*/, false];\n }\n return [2 /*return*/, config];\n }\n });\n }); };\n this.baseDomain = baseDomain;\n }\n RopUploadApi.prototype.upload = function (_config) {\n return __awaiter(this, void 0, void 0, function () {\n var config, formData, fileStream, multibar, bar1, totalUploaded, updateFileStream, bar2_1, totalUpdateUploaded_1, res, body;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this.checkParams(_config)];\n case 1:\n config = _c.sent();\n if (!config) {\n return [2 /*return*/];\n }\n formData = new FormData();\n fileStream = fs.createReadStream(config.targetPath);\n multibar = new cliProgress.MultiBar({\n format: 'Upload Progress |' + colors.cyan('{bar}') + '| {percentage}% | {filename}',\n barCompleteChar: '\\u2588',\n barIncompleteChar: '\\u2591',\n hideCursor: true,\n });\n bar1 = multibar.create(fs.statSync(config.targetPath).size, 0);\n totalUploaded = 0;\n fileStream.on('data', function (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 if (config.updatePath) {\n bar2_1 = multibar.create(fs.statSync(config.updatePath).size, 0);\n updateFileStream = fs.createReadStream(config.updatePath);\n totalUpdateUploaded_1 = 0;\n updateFileStream.on('data', function (chunk) {\n totalUpdateUploaded_1 += chunk.length;\n bar2_1.update(totalUpdateUploaded_1, { 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 return [4 /*yield*/, fetch(\"\".concat(this.baseDomain, \"/api/upload\"), {\n method: 'POST',\n headers: formData.getHeaders(),\n body: formData,\n })];\n case 2:\n res = _c.sent();\n return [4 /*yield*/, res.json()];\n case 3:\n body = _c.sent();\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 [2 /*return*/, { success: res.ok, body: body }];\n }\n });\n });\n };\n return RopUploadApi;\n}());\nexport { RopUploadApi };\n","import { __awaiter, __generator } from \"tslib\";\nimport { confirm } from '@inquirer/prompts';\nimport colors from 'ansi-colors';\nimport path from 'node:path';\nimport fs from 'node:fs';\nvar InitApi = /** @class */ (function () {\n function InitApi() {\n }\n InitApi.prototype.initProjectConfigJson = function (framework) {\n return __awaiter(this, void 0, void 0, function () {\n var jsonConfigPath, jsonConfigData, flag, str;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n jsonConfigPath = path.join('.', 'rop.json');\n if (!fs.existsSync(jsonConfigPath)) return [3 /*break*/, 2];\n return [4 /*yield*/, confirm({\n message: \"\".concat(colors.cyan('rop.json'), \" already exists, does it need to be overwritten?\"),\n })];\n case 1:\n flag = _a.sent();\n if (!flag) {\n return [2 /*return*/, false];\n }\n 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 return [3 /*break*/, 3];\n case 2:\n jsonConfigData = {\n framework: {\n name: framework,\n },\n };\n _a.label = 3;\n case 3:\n fs.writeFileSync(jsonConfigPath, JSON.stringify(jsonConfigData, null, 2), 'utf8');\n return [2 /*return*/, true];\n }\n });\n });\n };\n InitApi.prototype.initRopConfig = function (projectId, accessKey) {\n return __awaiter(this, void 0, void 0, function () {\n var ropConfigDirPath, ropConfigPath, ropConfigData;\n return __generator(this, function (_a) {\n ropConfigDirPath = path.join('.', '.rop');\n if (!fs.existsSync(ropConfigDirPath)) {\n fs.mkdirSync(ropConfigDirPath);\n }\n ropConfigPath = path.join(ropConfigDirPath, 'config.json');\n 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 return [2 /*return*/];\n });\n });\n };\n InitApi.prototype.initGitignore = function () {\n return __awaiter(this, void 0, void 0, function () {\n var gitignorePath, gitignoreData;\n return __generator(this, function (_a) {\n gitignorePath = path.join('.', '.gitignore');\n if (fs.existsSync(gitignorePath)) {\n 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 return [2 /*return*/];\n });\n });\n };\n return InitApi;\n}());\nexport { InitApi };\n","export var defaultHost = 'https://rop.xh920.com';\n","import { __awaiter, __generator } 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';\nvar LOGIN_API = '/api/auth/login';\nvar REFRESH_TOKEN_API = '/api/auth/refresh';\nvar CHECK_AND_REFRESH_TOKEN_API = '/api/auth/checkAndRefresh';\nvar AuthApi = /** @class */ (function () {\n function AuthApi(_a) {\n var baseDomain = _a.baseDomain;\n this.baseDomain = baseDomain !== null && baseDomain !== void 0 ? baseDomain : defaultHost;\n }\n AuthApi.prototype.login = function (req) {\n return __awaiter(this, void 0, void 0, function () {\n var res, resBody, homedir, userFilePath;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, fetch(\"\".concat(this.baseDomain).concat(LOGIN_API), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n },\n body: JSON.stringify(req),\n })];\n case 1:\n res = _b.sent();\n return [4 /*yield*/, res.json()];\n case 2:\n resBody = _b.sent();\n if (!res.ok || !resBody.data) {\n console.log(chalk.red(\"Login failed: status:\".concat(res.status, \", message:\").concat((_a = resBody.message) !== null && _a !== void 0 ? _a : res.statusText)));\n return [2 /*return*/, false];\n }\n homedir = path.join(os.homedir(), '.rop');\n if (!fs.existsSync(homedir)) {\n fs.mkdirSync(homedir);\n }\n userFilePath = path.join(homedir, 'user');\n fs.writeFileSync(userFilePath, JSON.stringify(resBody.data, null, 2), 'utf8');\n return [2 /*return*/, true];\n }\n });\n });\n };\n AuthApi.prototype.refreshToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var homedir, userFilePath, user, res, resBody;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n homedir = path.join(os.homedir(), '.rop');\n 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 [2 /*return*/, false];\n }\n user = JSON.parse(fs.readFileSync(userFilePath, 'utf8'));\n return [4 /*yield*/, fetch(\"\".concat(this.baseDomain).concat(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 case 1:\n res = _a.sent();\n return [4 /*yield*/, res.json()];\n case 2:\n resBody = _a.sent();\n if (!res.ok || !resBody.data) {\n if (!resBody.message || res.status != 400) {\n console.log(chalk.red(\"Refresh token failed: status:\".concat(res.status, \", statusText:\").concat(res.statusText)));\n }\n else {\n console.log(chalk.red(\"Authorization expired please execute the login command\"));\n fs.rmSync(userFilePath);\n }\n return [2 /*return*/, false];\n }\n user.auth = resBody.data;\n fs.writeFileSync(userFilePath, JSON.stringify(user), 'utf8');\n return [2 /*return*/, true];\n }\n });\n });\n };\n AuthApi.prototype.getToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var homedir, userFilePath;\n return __generator(this, function (_a) {\n homedir = path.join(os.homedir(), '.rop');\n userFilePath = path.join(homedir, 'user');\n if (!fs.existsSync(userFilePath)) {\n return [2 /*return*/, undefined];\n }\n return [2 /*return*/, JSON.parse(fs.readFileSync(userFilePath, 'utf8'))];\n });\n });\n };\n AuthApi.prototype.checkAndRefreshToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var user, res, resBody, homedir, userFilePath;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getToken()];\n case 1:\n user = _a.sent();\n if (!user) {\n return [2 /*return*/, undefined];\n }\n return [4 /*yield*/, fetch(\"\".concat(this.baseDomain).concat(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 case 2:\n res = _a.sent();\n return [4 /*yield*/, res.json()];\n case 3:\n resBody = _a.sent();\n if (!res.ok || !resBody.data) {\n return [2 /*return*/, undefined];\n }\n homedir = path.join(os.homedir(), '.rop');\n 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 [2 /*return*/, user];\n }\n });\n });\n };\n AuthApi.prototype.request = function (req) {\n return __awaiter(this, void 0, void 0, function () {\n var user, res, resBody, _a, result;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.getToken()];\n case 1:\n user = _b.sent();\n if (!user) {\n console.log(colors.red(\"No permission! Please execute [rop login]\"));\n return [2 /*return*/, undefined];\n }\n return [4 /*yield*/, req(user.auth.accessToken)];\n case 2:\n res = _b.sent();\n return [4 /*yield*/, res.json()];\n case 3:\n resBody = _b.sent();\n if (!(!res.ok || !resBody.data)) return [3 /*break*/, 11];\n _a = res.status;\n switch (_a) {\n case 400: return [3 /*break*/, 4];\n case 401: return [3 /*break*/, 5];\n }\n return [3 /*break*/, 9];\n case 4:\n console.log(JSON.stringify(resBody));\n return [3 /*break*/, 10];\n case 5: return [4 /*yield*/, this.refreshToken()];\n case 6:\n result = _b.sent();\n if (!result) return [3 /*break*/, 8];\n return [4 /*yield*/, this.request(req)];\n case 7: return [2 /*return*/, _b.sent()];\n case 8: return [3 /*break*/, 10];\n case 9:\n console.log(colors.red(\"request failed: status:\".concat(res.status, \", statusText:\").concat(res.statusText)));\n _b.label = 10;\n case 10: return [2 /*return*/, undefined];\n case 11: return [2 /*return*/, resBody.data];\n }\n });\n });\n };\n return AuthApi;\n}());\nexport { AuthApi };\n"],"names":["Framework","exec","fetch","path","fs","confirm","os"],"mappings":"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","x_google_ignoreList":[0]}
|
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
|
|
78
|
-
|
|
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
|
-
|
|
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
|
-
|
|
96
|
+
console.log(colors.red(`platform cannot be empty`));
|
|
97
|
+
return false;
|
|
90
98
|
}
|
|
91
99
|
if (!config.arch) {
|
|
92
|
-
|
|
100
|
+
console.log(colors.red(`arch cannot be empty`));
|
|
101
|
+
return false;
|
|
93
102
|
}
|
|
94
103
|
if (!config.targetPath) {
|
|
95
|
-
|
|
104
|
+
console.log(colors.red(`target path cannot be empty`));
|
|
105
|
+
return false;
|
|
96
106
|
}
|
|
97
107
|
if (!fs.existsSync(config.targetPath)) {
|
|
98
|
-
|
|
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
|
-
|
|
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);
|
|
@@ -161,6 +176,9 @@ class RopUploadApi {
|
|
|
161
176
|
if (config.signature) {
|
|
162
177
|
formData.append('signature', config.signature);
|
|
163
178
|
}
|
|
179
|
+
if (config.autoRelease) {
|
|
180
|
+
formData.append('autoRelease', String(config.autoRelease));
|
|
181
|
+
}
|
|
164
182
|
const res = yield fetch$1(`${this.baseDomain}/api/upload`, {
|
|
165
183
|
method: 'POST',
|
|
166
184
|
headers: formData.getHeaders(),
|
|
@@ -173,6 +191,7 @@ class RopUploadApi {
|
|
|
173
191
|
multibar.stop();
|
|
174
192
|
fileStream.destroy();
|
|
175
193
|
updateFileStream === null || updateFileStream === void 0 ? void 0 : updateFileStream.destroy();
|
|
194
|
+
console.log(colors.green(`Upload success!`));
|
|
176
195
|
return { success: res.ok, body };
|
|
177
196
|
});
|
|
178
197
|
}
|
|
@@ -184,9 +203,12 @@ class InitApi {
|
|
|
184
203
|
const jsonConfigPath = path$1.join('.', 'rop.json');
|
|
185
204
|
let jsonConfigData;
|
|
186
205
|
if (fs$1.existsSync(jsonConfigPath)) {
|
|
187
|
-
yield confirm({
|
|
206
|
+
const flag = yield confirm({
|
|
188
207
|
message: `${colors.cyan('rop.json')} already exists, does it need to be overwritten?`,
|
|
189
208
|
});
|
|
209
|
+
if (!flag) {
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
190
212
|
const str = fs$1.readFileSync(jsonConfigPath, 'utf8');
|
|
191
213
|
jsonConfigData = JSON.parse(str);
|
|
192
214
|
if (!jsonConfigData.framework) {
|
|
@@ -206,9 +228,10 @@ class InitApi {
|
|
|
206
228
|
};
|
|
207
229
|
}
|
|
208
230
|
fs$1.writeFileSync(jsonConfigPath, JSON.stringify(jsonConfigData, null, 2), 'utf8');
|
|
231
|
+
return true;
|
|
209
232
|
});
|
|
210
233
|
}
|
|
211
|
-
initRopConfig(projectId) {
|
|
234
|
+
initRopConfig(projectId, accessKey) {
|
|
212
235
|
return __awaiter(this, void 0, void 0, function* () {
|
|
213
236
|
const ropConfigDirPath = path$1.join('.', '.rop');
|
|
214
237
|
if (!fs$1.existsSync(ropConfigDirPath)) {
|
|
@@ -220,6 +243,9 @@ class InitApi {
|
|
|
220
243
|
ropConfigData = JSON.parse(fs$1.readFileSync(ropConfigPath, 'utf8'));
|
|
221
244
|
}
|
|
222
245
|
ropConfigData.projectId = projectId;
|
|
246
|
+
if (accessKey) {
|
|
247
|
+
ropConfigData.accessKey = accessKey;
|
|
248
|
+
}
|
|
223
249
|
fs$1.writeFileSync(ropConfigPath, JSON.stringify(ropConfigData, null, 2), 'utf8');
|
|
224
250
|
});
|
|
225
251
|
}
|
|
@@ -239,7 +265,7 @@ class InitApi {
|
|
|
239
265
|
}
|
|
240
266
|
}
|
|
241
267
|
|
|
242
|
-
const defaultHost = '
|
|
268
|
+
const defaultHost = 'https://rop.xh920.com';
|
|
243
269
|
|
|
244
270
|
const LOGIN_API = '/api/auth/login';
|
|
245
271
|
const REFRESH_TOKEN_API = '/api/auth/refresh';
|
|
@@ -250,6 +276,7 @@ class AuthApi {
|
|
|
250
276
|
}
|
|
251
277
|
login(req) {
|
|
252
278
|
return __awaiter(this, void 0, void 0, function* () {
|
|
279
|
+
var _a;
|
|
253
280
|
const res = yield fetch(`${this.baseDomain}${LOGIN_API}`, {
|
|
254
281
|
method: 'POST',
|
|
255
282
|
headers: {
|
|
@@ -259,13 +286,8 @@ class AuthApi {
|
|
|
259
286
|
});
|
|
260
287
|
const resBody = yield res.json();
|
|
261
288
|
if (!res.ok || !resBody.data) {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
console.log(JSON.stringify(resBody));
|
|
267
|
-
}
|
|
268
|
-
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;
|
|
269
291
|
}
|
|
270
292
|
const homedir = path$1.join(os.homedir(), '.rop');
|
|
271
293
|
if (!fs.existsSync(homedir)) {
|
|
@@ -273,6 +295,7 @@ class AuthApi {
|
|
|
273
295
|
}
|
|
274
296
|
const userFilePath = path$1.join(homedir, 'user');
|
|
275
297
|
fs.writeFileSync(userFilePath, JSON.stringify(resBody.data, null, 2), 'utf8');
|
|
298
|
+
return true;
|
|
276
299
|
});
|
|
277
300
|
}
|
|
278
301
|
refreshToken() {
|
|
@@ -280,8 +303,8 @@ class AuthApi {
|
|
|
280
303
|
const homedir = path$1.join(os.homedir(), '.rop');
|
|
281
304
|
const userFilePath = path$1.join(homedir, 'user');
|
|
282
305
|
if (!fs.existsSync(userFilePath)) {
|
|
283
|
-
console.log(
|
|
284
|
-
return;
|
|
306
|
+
console.log(chalk.red(`No permission! Please execute [rop login] or use --accessKey`));
|
|
307
|
+
return false;
|
|
285
308
|
}
|
|
286
309
|
const user = JSON.parse(fs.readFileSync(userFilePath, 'utf8'));
|
|
287
310
|
const res = yield fetch(`${this.baseDomain}${REFRESH_TOKEN_API}`, {
|
|
@@ -294,16 +317,17 @@ class AuthApi {
|
|
|
294
317
|
const resBody = yield res.json();
|
|
295
318
|
if (!res.ok || !resBody.data) {
|
|
296
319
|
if (!resBody.message || res.status != 400) {
|
|
297
|
-
console.log(`Refresh token failed: status
|
|
320
|
+
console.log(chalk.red(`Refresh token failed: status:${res.status}, statusText:${res.statusText}`));
|
|
298
321
|
}
|
|
299
322
|
else {
|
|
300
|
-
console.log(
|
|
323
|
+
console.log(chalk.red(`Authorization expired please execute the login command`));
|
|
301
324
|
fs.rmSync(userFilePath);
|
|
302
325
|
}
|
|
303
|
-
|
|
326
|
+
return false;
|
|
304
327
|
}
|
|
305
328
|
user.auth = resBody.data;
|
|
306
329
|
fs.writeFileSync(userFilePath, JSON.stringify(user), 'utf8');
|
|
330
|
+
return true;
|
|
307
331
|
});
|
|
308
332
|
}
|
|
309
333
|
getToken() {
|
|
@@ -345,7 +369,7 @@ class AuthApi {
|
|
|
345
369
|
return __awaiter(this, void 0, void 0, function* () {
|
|
346
370
|
let user = yield this.getToken();
|
|
347
371
|
if (!user) {
|
|
348
|
-
console.log(
|
|
372
|
+
console.log(colors.red(`No permission! Please execute [rop login]`));
|
|
349
373
|
return undefined;
|
|
350
374
|
}
|
|
351
375
|
const res = yield req(user.auth.accessToken);
|
|
@@ -356,10 +380,13 @@ class AuthApi {
|
|
|
356
380
|
console.log(JSON.stringify(resBody));
|
|
357
381
|
break;
|
|
358
382
|
case 401:
|
|
359
|
-
yield this.refreshToken();
|
|
360
|
-
|
|
383
|
+
const result = yield this.refreshToken();
|
|
384
|
+
if (result) {
|
|
385
|
+
return yield this.request(req);
|
|
386
|
+
}
|
|
387
|
+
break;
|
|
361
388
|
default:
|
|
362
|
-
console.log(`request failed: status
|
|
389
|
+
console.log(colors.red(`request failed: status:${res.status}, statusText:${res.statusText}`));
|
|
363
390
|
}
|
|
364
391
|
return undefined;
|
|
365
392
|
}
|