pinme 2.0.5-beta.1 → 2.0.6-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +564 -256
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5978,7 +5978,7 @@ var import_chalk26 = __toESM(require("chalk"));
|
|
|
5978
5978
|
var import_figlet5 = __toESM(require("figlet"));
|
|
5979
5979
|
|
|
5980
5980
|
// package.json
|
|
5981
|
-
var version = "2.0.
|
|
5981
|
+
var version = "2.0.6-beta.1";
|
|
5982
5982
|
|
|
5983
5983
|
// bin/upload.ts
|
|
5984
5984
|
var import_path7 = __toESM(require("path"));
|
|
@@ -6025,7 +6025,7 @@ function getUid() {
|
|
|
6025
6025
|
// bin/utils/uploadToIpfsSplit.ts
|
|
6026
6026
|
init_axios2();
|
|
6027
6027
|
var import_fs_extra4 = __toESM(require("fs-extra"));
|
|
6028
|
-
var
|
|
6028
|
+
var import_path6 = __toESM(require("path"));
|
|
6029
6029
|
var import_form_data2 = __toESM(require("form-data"));
|
|
6030
6030
|
var import_ora = __toESM(require("ora"));
|
|
6031
6031
|
var crypto2 = __toESM(require("crypto"));
|
|
@@ -6077,13 +6077,326 @@ init_cliError();
|
|
|
6077
6077
|
|
|
6078
6078
|
// bin/utils/history.ts
|
|
6079
6079
|
var import_fs_extra3 = __toESM(require("fs-extra"));
|
|
6080
|
-
var
|
|
6081
|
-
var
|
|
6080
|
+
var import_path5 = __toESM(require("path"));
|
|
6081
|
+
var import_os4 = __toESM(require("os"));
|
|
6082
6082
|
var import_dayjs = __toESM(require("dayjs"));
|
|
6083
6083
|
var import_chalk5 = __toESM(require("chalk"));
|
|
6084
6084
|
init_pinmeApi();
|
|
6085
|
-
|
|
6086
|
-
|
|
6085
|
+
|
|
6086
|
+
// bin/utils/tracker.ts
|
|
6087
|
+
var import_os3 = __toESM(require("os"));
|
|
6088
|
+
var import_fs2 = __toESM(require("fs"));
|
|
6089
|
+
var import_path4 = __toESM(require("path"));
|
|
6090
|
+
var import_child_process2 = require("child_process");
|
|
6091
|
+
var REQUEST_TIMEOUT_MS = 1500;
|
|
6092
|
+
var DEFAULT_GATEWAY = "https://pinme.dev";
|
|
6093
|
+
var DEFAULT_PRODUCT = "pinme-cli";
|
|
6094
|
+
var ACTION_OVERRIDES = {
|
|
6095
|
+
cli_login_success: "success",
|
|
6096
|
+
cli_login_failed: "fail",
|
|
6097
|
+
appkey_set_success: "success",
|
|
6098
|
+
appkey_set_failed: "fail",
|
|
6099
|
+
appkey_shown_success: "view",
|
|
6100
|
+
appkey_shown_failed: "fail",
|
|
6101
|
+
my_domains_success: "view",
|
|
6102
|
+
my_domains_failed: "fail",
|
|
6103
|
+
wallet_balance_success: "view",
|
|
6104
|
+
wallet_balance_failed: "fail",
|
|
6105
|
+
upload_history_viewed: "view",
|
|
6106
|
+
upload_history_cleared: "click",
|
|
6107
|
+
upload_history_failed: "fail"
|
|
6108
|
+
};
|
|
6109
|
+
var TRACK_CHILD_SCRIPT = `
|
|
6110
|
+
const rawUrl = process.argv[1];
|
|
6111
|
+
if (!rawUrl) process.exit(0);
|
|
6112
|
+
try {
|
|
6113
|
+
const transport = rawUrl.startsWith('https:') ? require('https') : require('http');
|
|
6114
|
+
const req = transport.get(rawUrl, {
|
|
6115
|
+
headers: {
|
|
6116
|
+
'User-Agent': 'Pinme-CLI-Tracker'
|
|
6117
|
+
}
|
|
6118
|
+
}, (res) => {
|
|
6119
|
+
res.resume();
|
|
6120
|
+
res.on('end', () => process.exit(0));
|
|
6121
|
+
});
|
|
6122
|
+
req.setTimeout(${REQUEST_TIMEOUT_MS}, () => req.destroy());
|
|
6123
|
+
req.on('error', () => process.exit(0));
|
|
6124
|
+
req.on('close', () => process.exit(0));
|
|
6125
|
+
} catch (_) {
|
|
6126
|
+
process.exit(0);
|
|
6127
|
+
}
|
|
6128
|
+
`;
|
|
6129
|
+
function trimTrailingSlash2(value) {
|
|
6130
|
+
return value.replace(/\/+$/, "");
|
|
6131
|
+
}
|
|
6132
|
+
function shouldDisableTracking() {
|
|
6133
|
+
return process.env.PINME_TRACKING_DISABLED === "1" || process.env.DO_NOT_TRACK === "1";
|
|
6134
|
+
}
|
|
6135
|
+
function sanitizeTrackValue(value) {
|
|
6136
|
+
if (value === void 0 || value === null) {
|
|
6137
|
+
return void 0;
|
|
6138
|
+
}
|
|
6139
|
+
return String(value).trim().slice(0, 200);
|
|
6140
|
+
}
|
|
6141
|
+
function getTrackErrorReason(error) {
|
|
6142
|
+
var _a2, _b, _c, _d, _e;
|
|
6143
|
+
const candidate = ((_b = (_a2 = error == null ? void 0 : error.response) == null ? void 0 : _a2.data) == null ? void 0 : _b.msg) || ((_d = (_c = error == null ? void 0 : error.response) == null ? void 0 : _c.data) == null ? void 0 : _d.message) || (error == null ? void 0 : error.message) || ((_e = error == null ? void 0 : error.toString) == null ? void 0 : _e.call(error)) || "unknown_error";
|
|
6144
|
+
return sanitizeTrackValue(candidate) || "unknown_error";
|
|
6145
|
+
}
|
|
6146
|
+
function resolveTrackAction(event, data = {}) {
|
|
6147
|
+
const explicitAction = data.a;
|
|
6148
|
+
if (typeof explicitAction === "string" && explicitAction.trim()) {
|
|
6149
|
+
return explicitAction.trim();
|
|
6150
|
+
}
|
|
6151
|
+
if (ACTION_OVERRIDES[event]) {
|
|
6152
|
+
return ACTION_OVERRIDES[event];
|
|
6153
|
+
}
|
|
6154
|
+
if (event.endsWith("_success")) {
|
|
6155
|
+
return "success";
|
|
6156
|
+
}
|
|
6157
|
+
if (event.endsWith("_failed") || event.endsWith("_fail")) {
|
|
6158
|
+
return "fail";
|
|
6159
|
+
}
|
|
6160
|
+
if (event.includes("click") || event.includes("copied")) {
|
|
6161
|
+
return "click";
|
|
6162
|
+
}
|
|
6163
|
+
if (event.includes("exposure")) {
|
|
6164
|
+
return "exposure";
|
|
6165
|
+
}
|
|
6166
|
+
if (event.includes("view")) {
|
|
6167
|
+
return "view";
|
|
6168
|
+
}
|
|
6169
|
+
if (event.endsWith("_started") || event.endsWith("_submit")) {
|
|
6170
|
+
return "submit";
|
|
6171
|
+
}
|
|
6172
|
+
return "view";
|
|
6173
|
+
}
|
|
6174
|
+
var cachedProjectContext = null;
|
|
6175
|
+
var cachedProjectContextCwd = null;
|
|
6176
|
+
function resolveProjectContext() {
|
|
6177
|
+
const cwd = process.cwd();
|
|
6178
|
+
if (cachedProjectContext && cachedProjectContextCwd === cwd) {
|
|
6179
|
+
return cachedProjectContext;
|
|
6180
|
+
}
|
|
6181
|
+
const context = {};
|
|
6182
|
+
const configPath = import_path4.default.join(cwd, "pinme.toml");
|
|
6183
|
+
if (import_fs2.default.existsSync(configPath)) {
|
|
6184
|
+
try {
|
|
6185
|
+
const configContent = import_fs2.default.readFileSync(configPath, "utf8");
|
|
6186
|
+
const projectNameMatch = configContent.match(
|
|
6187
|
+
/project_name\s*=\s*"([^"]+)"/
|
|
6188
|
+
);
|
|
6189
|
+
context.projectName = sanitizeTrackValue(projectNameMatch == null ? void 0 : projectNameMatch[1]) || sanitizeTrackValue(process.env.PINME_PROJECT_NAME);
|
|
6190
|
+
context.projectDir = sanitizeTrackValue(import_path4.default.basename(cwd));
|
|
6191
|
+
} catch (_) {
|
|
6192
|
+
context.projectName = sanitizeTrackValue(process.env.PINME_PROJECT_NAME);
|
|
6193
|
+
}
|
|
6194
|
+
} else {
|
|
6195
|
+
context.projectName = sanitizeTrackValue(process.env.PINME_PROJECT_NAME);
|
|
6196
|
+
}
|
|
6197
|
+
cachedProjectContext = context;
|
|
6198
|
+
cachedProjectContextCwd = cwd;
|
|
6199
|
+
return context;
|
|
6200
|
+
}
|
|
6201
|
+
function getPathKind(pathValue) {
|
|
6202
|
+
try {
|
|
6203
|
+
const stat = import_fs2.default.statSync(pathValue);
|
|
6204
|
+
if (stat.isDirectory()) {
|
|
6205
|
+
return "directory";
|
|
6206
|
+
}
|
|
6207
|
+
if (stat.isFile()) {
|
|
6208
|
+
return "file";
|
|
6209
|
+
}
|
|
6210
|
+
} catch (_) {
|
|
6211
|
+
return "unknown";
|
|
6212
|
+
}
|
|
6213
|
+
return "unknown";
|
|
6214
|
+
}
|
|
6215
|
+
var Tracker = class _Tracker {
|
|
6216
|
+
static instance;
|
|
6217
|
+
gateway;
|
|
6218
|
+
product;
|
|
6219
|
+
source;
|
|
6220
|
+
disabled;
|
|
6221
|
+
constructor(gateway, product) {
|
|
6222
|
+
this.gateway = trimTrailingSlash2(
|
|
6223
|
+
gateway || process.env.PINME_TRACKER_GATEWAY || DEFAULT_GATEWAY
|
|
6224
|
+
);
|
|
6225
|
+
this.product = product || DEFAULT_PRODUCT;
|
|
6226
|
+
this.source = sanitizeTrackValue(process.env.PINME_TRACK_SOURCE);
|
|
6227
|
+
this.disabled = shouldDisableTracking();
|
|
6228
|
+
}
|
|
6229
|
+
static getInstance(gateway, product) {
|
|
6230
|
+
if (!_Tracker.instance) {
|
|
6231
|
+
_Tracker.instance = new _Tracker(gateway, product);
|
|
6232
|
+
}
|
|
6233
|
+
return _Tracker.instance;
|
|
6234
|
+
}
|
|
6235
|
+
trackEvent(event, page, data = {}) {
|
|
6236
|
+
if (this.disabled || !this.gateway) {
|
|
6237
|
+
return Promise.resolve();
|
|
6238
|
+
}
|
|
6239
|
+
try {
|
|
6240
|
+
const payload = this.buildPayload(event, page, data);
|
|
6241
|
+
const params = new URLSearchParams(payload).toString();
|
|
6242
|
+
const url2 = `${this.gateway}/track.gif?${params}`;
|
|
6243
|
+
this.dispatch(url2);
|
|
6244
|
+
} catch (_) {
|
|
6245
|
+
}
|
|
6246
|
+
return Promise.resolve();
|
|
6247
|
+
}
|
|
6248
|
+
buildPayload(event, page, data) {
|
|
6249
|
+
const projectContext = resolveProjectContext();
|
|
6250
|
+
const action = resolveTrackAction(event, data);
|
|
6251
|
+
const payload = {
|
|
6252
|
+
...data,
|
|
6253
|
+
u: getUid(),
|
|
6254
|
+
s: this.source,
|
|
6255
|
+
pd: this.product,
|
|
6256
|
+
p: page,
|
|
6257
|
+
a: action,
|
|
6258
|
+
ev: event,
|
|
6259
|
+
event,
|
|
6260
|
+
project_name: projectContext.projectName,
|
|
6261
|
+
project_dir: projectContext.projectDir,
|
|
6262
|
+
cli_version: version,
|
|
6263
|
+
node_version: process.version,
|
|
6264
|
+
os: import_os3.default.platform(),
|
|
6265
|
+
arch: import_os3.default.arch()
|
|
6266
|
+
};
|
|
6267
|
+
const filtered = {};
|
|
6268
|
+
for (const [key, value] of Object.entries(payload)) {
|
|
6269
|
+
const normalized = sanitizeTrackValue(value);
|
|
6270
|
+
if (normalized) {
|
|
6271
|
+
filtered[key] = normalized;
|
|
6272
|
+
}
|
|
6273
|
+
}
|
|
6274
|
+
return filtered;
|
|
6275
|
+
}
|
|
6276
|
+
dispatch(url2) {
|
|
6277
|
+
const child = (0, import_child_process2.spawn)(process.execPath, ["-e", TRACK_CHILD_SCRIPT, url2], {
|
|
6278
|
+
detached: true,
|
|
6279
|
+
stdio: "ignore",
|
|
6280
|
+
windowsHide: true
|
|
6281
|
+
});
|
|
6282
|
+
child.unref();
|
|
6283
|
+
}
|
|
6284
|
+
};
|
|
6285
|
+
var tracker = Tracker.getInstance();
|
|
6286
|
+
var tracker_default = tracker;
|
|
6287
|
+
|
|
6288
|
+
// bin/utils/trackerEvents.ts
|
|
6289
|
+
var TRACK_PAGES = {
|
|
6290
|
+
auth: "cli_auth",
|
|
6291
|
+
login: "cli_login",
|
|
6292
|
+
upload: "cli_upload",
|
|
6293
|
+
import: "cli_import",
|
|
6294
|
+
export: "cli_export",
|
|
6295
|
+
remove: "cli_remove",
|
|
6296
|
+
domain: "cli_domain",
|
|
6297
|
+
wallet: "cli_wallet",
|
|
6298
|
+
project: "cli_project",
|
|
6299
|
+
deploy: "cli_deploy"
|
|
6300
|
+
};
|
|
6301
|
+
var TRACK_EVENTS = {
|
|
6302
|
+
cliLoginSuccess: "cli_login_success",
|
|
6303
|
+
cliLoginFailed: "cli_login_failed",
|
|
6304
|
+
appKeySetSuccess: "appkey_set_success",
|
|
6305
|
+
appKeySetFailed: "appkey_set_failed",
|
|
6306
|
+
logoutSuccess: "logout_success",
|
|
6307
|
+
logoutFailed: "logout_failed",
|
|
6308
|
+
uploadSuccess: "upload_success",
|
|
6309
|
+
uploadFailed: "upload_failed",
|
|
6310
|
+
importSuccess: "import_success",
|
|
6311
|
+
importFailed: "import_failed",
|
|
6312
|
+
exportSuccess: "export_success",
|
|
6313
|
+
exportFailed: "export_failed",
|
|
6314
|
+
removeSuccess: "remove_success",
|
|
6315
|
+
removeFailed: "remove_failed",
|
|
6316
|
+
domainBindSuccess: "domain_bind_success",
|
|
6317
|
+
domainBindFailed: "domain_bind_failed",
|
|
6318
|
+
myDomainsSuccess: "my_domains_success",
|
|
6319
|
+
myDomainsFailed: "my_domains_failed",
|
|
6320
|
+
walletBalanceSuccess: "wallet_balance_success",
|
|
6321
|
+
walletBalanceFailed: "wallet_balance_failed",
|
|
6322
|
+
projectCreateSuccess: "project_create_success",
|
|
6323
|
+
projectCreateFailed: "project_create_failed",
|
|
6324
|
+
projectSaveSuccess: "project_save_success",
|
|
6325
|
+
projectSaveFailed: "project_save_failed",
|
|
6326
|
+
projectUpdateDbSuccess: "project_update_db_success",
|
|
6327
|
+
projectUpdateDbFailed: "project_update_db_failed",
|
|
6328
|
+
projectUpdateWorkerSuccess: "project_update_worker_success",
|
|
6329
|
+
projectUpdateWorkerFailed: "project_update_worker_failed",
|
|
6330
|
+
projectDeleteSuccess: "project_delete_success",
|
|
6331
|
+
projectDeleteFailed: "project_delete_failed",
|
|
6332
|
+
projectUpdateWebSuccess: "project_update_web_success",
|
|
6333
|
+
projectUpdateWebFailed: "project_update_web_failed",
|
|
6334
|
+
appKeyShownSuccess: "appkey_shown_success",
|
|
6335
|
+
appKeyShownFailed: "appkey_shown_failed",
|
|
6336
|
+
uploadHistoryViewed: "upload_history_viewed",
|
|
6337
|
+
uploadHistoryCleared: "upload_history_cleared",
|
|
6338
|
+
uploadHistoryFailed: "upload_history_failed"
|
|
6339
|
+
};
|
|
6340
|
+
var TRACK_ACTIONS = {
|
|
6341
|
+
init: "init",
|
|
6342
|
+
click: "click",
|
|
6343
|
+
view: "view",
|
|
6344
|
+
exposure: "exposure",
|
|
6345
|
+
submit: "submit",
|
|
6346
|
+
success: "success",
|
|
6347
|
+
fail: "fail"
|
|
6348
|
+
};
|
|
6349
|
+
function resolveTrackAction2(event) {
|
|
6350
|
+
switch (event) {
|
|
6351
|
+
case TRACK_EVENTS.uploadHistoryViewed:
|
|
6352
|
+
case TRACK_EVENTS.myDomainsSuccess:
|
|
6353
|
+
case TRACK_EVENTS.walletBalanceSuccess:
|
|
6354
|
+
case TRACK_EVENTS.appKeyShownSuccess:
|
|
6355
|
+
return TRACK_ACTIONS.view;
|
|
6356
|
+
case TRACK_EVENTS.uploadHistoryCleared:
|
|
6357
|
+
return TRACK_ACTIONS.click;
|
|
6358
|
+
case TRACK_EVENTS.uploadSuccess:
|
|
6359
|
+
case TRACK_EVENTS.importSuccess:
|
|
6360
|
+
case TRACK_EVENTS.exportSuccess:
|
|
6361
|
+
case TRACK_EVENTS.removeSuccess:
|
|
6362
|
+
case TRACK_EVENTS.domainBindSuccess:
|
|
6363
|
+
case TRACK_EVENTS.cliLoginSuccess:
|
|
6364
|
+
case TRACK_EVENTS.appKeySetSuccess:
|
|
6365
|
+
case TRACK_EVENTS.logoutSuccess:
|
|
6366
|
+
case TRACK_EVENTS.projectCreateSuccess:
|
|
6367
|
+
case TRACK_EVENTS.projectSaveSuccess:
|
|
6368
|
+
case TRACK_EVENTS.projectUpdateDbSuccess:
|
|
6369
|
+
case TRACK_EVENTS.projectUpdateWorkerSuccess:
|
|
6370
|
+
case TRACK_EVENTS.projectUpdateWebSuccess:
|
|
6371
|
+
case TRACK_EVENTS.projectDeleteSuccess:
|
|
6372
|
+
return TRACK_ACTIONS.success;
|
|
6373
|
+
case TRACK_EVENTS.uploadFailed:
|
|
6374
|
+
case TRACK_EVENTS.importFailed:
|
|
6375
|
+
case TRACK_EVENTS.exportFailed:
|
|
6376
|
+
case TRACK_EVENTS.removeFailed:
|
|
6377
|
+
case TRACK_EVENTS.domainBindFailed:
|
|
6378
|
+
case TRACK_EVENTS.cliLoginFailed:
|
|
6379
|
+
case TRACK_EVENTS.appKeySetFailed:
|
|
6380
|
+
case TRACK_EVENTS.logoutFailed:
|
|
6381
|
+
case TRACK_EVENTS.myDomainsFailed:
|
|
6382
|
+
case TRACK_EVENTS.walletBalanceFailed:
|
|
6383
|
+
case TRACK_EVENTS.projectCreateFailed:
|
|
6384
|
+
case TRACK_EVENTS.projectSaveFailed:
|
|
6385
|
+
case TRACK_EVENTS.projectUpdateDbFailed:
|
|
6386
|
+
case TRACK_EVENTS.projectUpdateWorkerFailed:
|
|
6387
|
+
case TRACK_EVENTS.projectUpdateWebFailed:
|
|
6388
|
+
case TRACK_EVENTS.projectDeleteFailed:
|
|
6389
|
+
case TRACK_EVENTS.appKeyShownFailed:
|
|
6390
|
+
case TRACK_EVENTS.uploadHistoryFailed:
|
|
6391
|
+
return TRACK_ACTIONS.fail;
|
|
6392
|
+
default:
|
|
6393
|
+
return TRACK_ACTIONS.view;
|
|
6394
|
+
}
|
|
6395
|
+
}
|
|
6396
|
+
|
|
6397
|
+
// bin/utils/history.ts
|
|
6398
|
+
var HISTORY_DIR = import_path5.default.join(import_os4.default.homedir(), ".pinme");
|
|
6399
|
+
var HISTORY_FILE = import_path5.default.join(HISTORY_DIR, "upload-history.json");
|
|
6087
6400
|
var ensureHistoryDir = () => {
|
|
6088
6401
|
if (!import_fs_extra3.default.existsSync(HISTORY_DIR)) {
|
|
6089
6402
|
import_fs_extra3.default.mkdirSync(HISTORY_DIR, { recursive: true });
|
|
@@ -6100,7 +6413,7 @@ var saveUploadHistory = (uploadData) => {
|
|
|
6100
6413
|
timestamp: Date.now(),
|
|
6101
6414
|
date: (0, import_dayjs.default)().format("YYYY-MM-DD HH:mm:ss"),
|
|
6102
6415
|
path: uploadData.path,
|
|
6103
|
-
filename: uploadData.filename ||
|
|
6416
|
+
filename: uploadData.filename || import_path5.default.basename(uploadData.path),
|
|
6104
6417
|
contentHash: uploadData.contentHash,
|
|
6105
6418
|
previewHash: uploadData.previewHash,
|
|
6106
6419
|
size: uploadData.size,
|
|
@@ -6159,55 +6472,78 @@ async function formatHistoryUrl(value, options) {
|
|
|
6159
6472
|
return `https://${normalized}`;
|
|
6160
6473
|
}
|
|
6161
6474
|
var displayUploadHistory = async (limit = 10) => {
|
|
6162
|
-
const history = getUploadHistory(limit);
|
|
6163
|
-
if (history.length === 0) {
|
|
6164
|
-
console.log(import_chalk5.default.yellow("No upload history found."));
|
|
6165
|
-
return;
|
|
6166
|
-
}
|
|
6167
|
-
console.log(import_chalk5.default.cyan("Upload History:"));
|
|
6168
|
-
console.log(import_chalk5.default.cyan("-".repeat(80)));
|
|
6169
|
-
let rootDomain = null;
|
|
6170
6475
|
try {
|
|
6171
|
-
|
|
6172
|
-
|
|
6173
|
-
|
|
6174
|
-
|
|
6175
|
-
|
|
6176
|
-
for (const [index, item] of recentHistory.entries()) {
|
|
6177
|
-
console.log(import_chalk5.default.green(`${index + 1}. ${item.filename}`));
|
|
6178
|
-
console.log(import_chalk5.default.white(` Path: ${item.path}`));
|
|
6179
|
-
console.log(import_chalk5.default.white(` IPFS CID: ${item.contentHash}`));
|
|
6180
|
-
const preferredUrl = await formatHistoryUrl(item.dnsUrl) || await formatHistoryUrl(item.pinmeUrl, {
|
|
6181
|
-
appendRootDomain: true,
|
|
6182
|
-
rootDomain
|
|
6183
|
-
}) || await formatHistoryUrl(item.shortUrl, {
|
|
6184
|
-
appendRootDomain: true,
|
|
6185
|
-
rootDomain
|
|
6476
|
+
const history = getUploadHistory(limit);
|
|
6477
|
+
void tracker_default.trackEvent(TRACK_EVENTS.uploadHistoryViewed, TRACK_PAGES.upload, {
|
|
6478
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadHistoryViewed),
|
|
6479
|
+
record_count: history.length,
|
|
6480
|
+
limit
|
|
6186
6481
|
});
|
|
6187
|
-
if (
|
|
6188
|
-
console.log(import_chalk5.default.
|
|
6189
|
-
|
|
6190
|
-
console.log(import_chalk5.default.white(` Size: ${formatSize(item.size)}`));
|
|
6191
|
-
console.log(import_chalk5.default.white(` Files: ${item.fileCount}`));
|
|
6192
|
-
console.log(import_chalk5.default.white(` Type: ${item.type === "directory" ? "Directory" : "File"}`));
|
|
6193
|
-
if (item.timestamp) {
|
|
6194
|
-
console.log(import_chalk5.default.white(` Date: ${new Date(item.timestamp).toLocaleString()}`));
|
|
6482
|
+
if (history.length === 0) {
|
|
6483
|
+
console.log(import_chalk5.default.yellow("No upload history found."));
|
|
6484
|
+
return;
|
|
6195
6485
|
}
|
|
6486
|
+
console.log(import_chalk5.default.cyan("Upload History:"));
|
|
6196
6487
|
console.log(import_chalk5.default.cyan("-".repeat(80)));
|
|
6488
|
+
let rootDomain = null;
|
|
6489
|
+
try {
|
|
6490
|
+
rootDomain = await getRootDomain();
|
|
6491
|
+
} catch {
|
|
6492
|
+
rootDomain = null;
|
|
6493
|
+
}
|
|
6494
|
+
const recentHistory = history.slice(-limit);
|
|
6495
|
+
for (const [index, item] of recentHistory.entries()) {
|
|
6496
|
+
console.log(import_chalk5.default.green(`${index + 1}. ${item.filename}`));
|
|
6497
|
+
console.log(import_chalk5.default.white(` Path: ${item.path}`));
|
|
6498
|
+
console.log(import_chalk5.default.white(` IPFS CID: ${item.contentHash}`));
|
|
6499
|
+
const preferredUrl = await formatHistoryUrl(item.dnsUrl) || await formatHistoryUrl(item.pinmeUrl, {
|
|
6500
|
+
appendRootDomain: true,
|
|
6501
|
+
rootDomain
|
|
6502
|
+
}) || await formatHistoryUrl(item.shortUrl, {
|
|
6503
|
+
appendRootDomain: true,
|
|
6504
|
+
rootDomain
|
|
6505
|
+
});
|
|
6506
|
+
if (preferredUrl) {
|
|
6507
|
+
console.log(import_chalk5.default.white(` URL: ${preferredUrl}`));
|
|
6508
|
+
}
|
|
6509
|
+
console.log(import_chalk5.default.white(` Size: ${formatSize(item.size)}`));
|
|
6510
|
+
console.log(import_chalk5.default.white(` Files: ${item.fileCount}`));
|
|
6511
|
+
console.log(import_chalk5.default.white(` Type: ${item.type === "directory" ? "Directory" : "File"}`));
|
|
6512
|
+
if (item.timestamp) {
|
|
6513
|
+
console.log(import_chalk5.default.white(` Date: ${new Date(item.timestamp).toLocaleString()}`));
|
|
6514
|
+
}
|
|
6515
|
+
console.log(import_chalk5.default.cyan("-".repeat(80)));
|
|
6516
|
+
}
|
|
6517
|
+
const totalSize = history.reduce((sum, record) => sum + record.size, 0);
|
|
6518
|
+
const totalFiles = history.reduce((sum, record) => sum + record.fileCount, 0);
|
|
6519
|
+
console.log(import_chalk5.default.bold(`Total Uploads: ${history.length}`));
|
|
6520
|
+
console.log(import_chalk5.default.bold(`Total Files: ${totalFiles}`));
|
|
6521
|
+
console.log(import_chalk5.default.bold(`Total Size: ${formatSize(totalSize)}`));
|
|
6522
|
+
} catch (error) {
|
|
6523
|
+
void tracker_default.trackEvent(TRACK_EVENTS.uploadHistoryFailed, TRACK_PAGES.upload, {
|
|
6524
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadHistoryFailed),
|
|
6525
|
+
action: "view",
|
|
6526
|
+
reason: getTrackErrorReason(error)
|
|
6527
|
+
});
|
|
6528
|
+
throw error;
|
|
6197
6529
|
}
|
|
6198
|
-
const totalSize = history.reduce((sum, record) => sum + record.size, 0);
|
|
6199
|
-
const totalFiles = history.reduce((sum, record) => sum + record.fileCount, 0);
|
|
6200
|
-
console.log(import_chalk5.default.bold(`Total Uploads: ${history.length}`));
|
|
6201
|
-
console.log(import_chalk5.default.bold(`Total Files: ${totalFiles}`));
|
|
6202
|
-
console.log(import_chalk5.default.bold(`Total Size: ${formatSize(totalSize)}`));
|
|
6203
6530
|
};
|
|
6204
6531
|
var clearUploadHistory = () => {
|
|
6205
6532
|
try {
|
|
6206
6533
|
ensureHistoryDir();
|
|
6207
6534
|
import_fs_extra3.default.writeJsonSync(HISTORY_FILE, { uploads: [] });
|
|
6535
|
+
void tracker_default.trackEvent(TRACK_EVENTS.uploadHistoryCleared, TRACK_PAGES.upload, {
|
|
6536
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadHistoryCleared),
|
|
6537
|
+
cleared: true
|
|
6538
|
+
});
|
|
6208
6539
|
console.log(import_chalk5.default.green("Upload history cleared successfully."));
|
|
6209
6540
|
return true;
|
|
6210
6541
|
} catch (error) {
|
|
6542
|
+
void tracker_default.trackEvent(TRACK_EVENTS.uploadHistoryFailed, TRACK_PAGES.upload, {
|
|
6543
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadHistoryFailed),
|
|
6544
|
+
action: "clear",
|
|
6545
|
+
reason: getTrackErrorReason(error)
|
|
6546
|
+
});
|
|
6211
6547
|
console.error(import_chalk5.default.red(`Error clearing upload history: ${error.message}`));
|
|
6212
6548
|
return false;
|
|
6213
6549
|
}
|
|
@@ -6411,9 +6747,9 @@ async function compressDirectory(sourcePath) {
|
|
|
6411
6747
|
if (!import_fs_extra4.default.existsSync(tempDir)) {
|
|
6412
6748
|
import_fs_extra4.default.mkdirSync(tempDir, { recursive: true });
|
|
6413
6749
|
}
|
|
6414
|
-
const outputPath =
|
|
6750
|
+
const outputPath = import_path6.default.join(
|
|
6415
6751
|
tempDir,
|
|
6416
|
-
`pinme_${
|
|
6752
|
+
`pinme_${import_path6.default.basename(sourcePath)}_${Date.now()}.zip`
|
|
6417
6753
|
);
|
|
6418
6754
|
const output = import_fs_extra4.default.createWriteStream(outputPath);
|
|
6419
6755
|
const zlib2 = require("zlib");
|
|
@@ -6438,7 +6774,7 @@ async function compressDirectory(sourcePath) {
|
|
|
6438
6774
|
async function initChunkSession(filePath, deviceId, options = {}, isDirectory = false) {
|
|
6439
6775
|
var _a2;
|
|
6440
6776
|
const stats = import_fs_extra4.default.statSync(filePath);
|
|
6441
|
-
const fileName =
|
|
6777
|
+
const fileName = import_path6.default.basename(filePath);
|
|
6442
6778
|
const fileSize = stats.size;
|
|
6443
6779
|
const md5 = await calculateMD5(filePath);
|
|
6444
6780
|
try {
|
|
@@ -6768,7 +7104,7 @@ async function uploadDirectoryInChunks(directoryPath, deviceId, options = {}) {
|
|
|
6768
7104
|
)} (size: ${formatSize(sizeCheck.size)})`
|
|
6769
7105
|
);
|
|
6770
7106
|
}
|
|
6771
|
-
const progressBar = new StepProgressBar(
|
|
7107
|
+
const progressBar = new StepProgressBar(import_path6.default.basename(directoryPath), true);
|
|
6772
7108
|
try {
|
|
6773
7109
|
progressBar.startStep(0, "Preparing compression");
|
|
6774
7110
|
const compressedPath = await compressDirectory(directoryPath);
|
|
@@ -6812,7 +7148,7 @@ async function uploadDirectoryInChunks(directoryPath, deviceId, options = {}) {
|
|
|
6812
7148
|
}
|
|
6813
7149
|
const uploadData = {
|
|
6814
7150
|
path: directoryPath,
|
|
6815
|
-
filename:
|
|
7151
|
+
filename: import_path6.default.basename(directoryPath),
|
|
6816
7152
|
contentHash: (result == null ? void 0 : result.hash) || "unknown",
|
|
6817
7153
|
size: sizeCheck.size,
|
|
6818
7154
|
fileCount: 0,
|
|
@@ -6841,7 +7177,7 @@ async function uploadFileInChunks(filePath, deviceId, options = {}) {
|
|
|
6841
7177
|
)} (size: ${formatSize(sizeCheck.size)})`
|
|
6842
7178
|
);
|
|
6843
7179
|
}
|
|
6844
|
-
const fileName =
|
|
7180
|
+
const fileName = import_path6.default.basename(filePath);
|
|
6845
7181
|
const progressBar = new StepProgressBar(fileName, false);
|
|
6846
7182
|
try {
|
|
6847
7183
|
progressBar.startStep(0, "Initializing session");
|
|
@@ -7031,206 +7367,6 @@ function printHighlightedUrl(label, url2, tone = "primary") {
|
|
|
7031
7367
|
console.log("");
|
|
7032
7368
|
}
|
|
7033
7369
|
|
|
7034
|
-
// bin/utils/tracker.ts
|
|
7035
|
-
var import_os4 = __toESM(require("os"));
|
|
7036
|
-
var import_fs2 = __toESM(require("fs"));
|
|
7037
|
-
var import_path6 = __toESM(require("path"));
|
|
7038
|
-
var import_child_process2 = require("child_process");
|
|
7039
|
-
var REQUEST_TIMEOUT_MS = 1500;
|
|
7040
|
-
var DEFAULT_GATEWAY = "https://pinme.dev";
|
|
7041
|
-
var DEFAULT_PRODUCT = "pinme-cli";
|
|
7042
|
-
var TRACK_CHILD_SCRIPT = `
|
|
7043
|
-
const rawUrl = process.argv[1];
|
|
7044
|
-
if (!rawUrl) process.exit(0);
|
|
7045
|
-
try {
|
|
7046
|
-
const transport = rawUrl.startsWith('https:') ? require('https') : require('http');
|
|
7047
|
-
const req = transport.get(rawUrl, {
|
|
7048
|
-
headers: {
|
|
7049
|
-
'User-Agent': 'Pinme-CLI-Tracker'
|
|
7050
|
-
}
|
|
7051
|
-
}, (res) => {
|
|
7052
|
-
res.resume();
|
|
7053
|
-
res.on('end', () => process.exit(0));
|
|
7054
|
-
});
|
|
7055
|
-
req.setTimeout(${REQUEST_TIMEOUT_MS}, () => req.destroy());
|
|
7056
|
-
req.on('error', () => process.exit(0));
|
|
7057
|
-
req.on('close', () => process.exit(0));
|
|
7058
|
-
} catch (_) {
|
|
7059
|
-
process.exit(0);
|
|
7060
|
-
}
|
|
7061
|
-
`;
|
|
7062
|
-
function trimTrailingSlash2(value) {
|
|
7063
|
-
return value.replace(/\/+$/, "");
|
|
7064
|
-
}
|
|
7065
|
-
function shouldDisableTracking() {
|
|
7066
|
-
return process.env.PINME_TRACKING_DISABLED === "1" || process.env.DO_NOT_TRACK === "1";
|
|
7067
|
-
}
|
|
7068
|
-
function sanitizeTrackValue(value) {
|
|
7069
|
-
if (value === void 0 || value === null) {
|
|
7070
|
-
return void 0;
|
|
7071
|
-
}
|
|
7072
|
-
return String(value).trim().slice(0, 200);
|
|
7073
|
-
}
|
|
7074
|
-
function getTrackErrorReason(error) {
|
|
7075
|
-
var _a2, _b, _c, _d, _e;
|
|
7076
|
-
const candidate = ((_b = (_a2 = error == null ? void 0 : error.response) == null ? void 0 : _a2.data) == null ? void 0 : _b.msg) || ((_d = (_c = error == null ? void 0 : error.response) == null ? void 0 : _c.data) == null ? void 0 : _d.message) || (error == null ? void 0 : error.message) || ((_e = error == null ? void 0 : error.toString) == null ? void 0 : _e.call(error)) || "unknown_error";
|
|
7077
|
-
return sanitizeTrackValue(candidate) || "unknown_error";
|
|
7078
|
-
}
|
|
7079
|
-
var cachedProjectContext = null;
|
|
7080
|
-
var cachedProjectContextCwd = null;
|
|
7081
|
-
function resolveProjectContext() {
|
|
7082
|
-
const cwd = process.cwd();
|
|
7083
|
-
if (cachedProjectContext && cachedProjectContextCwd === cwd) {
|
|
7084
|
-
return cachedProjectContext;
|
|
7085
|
-
}
|
|
7086
|
-
const context = {};
|
|
7087
|
-
const configPath = import_path6.default.join(cwd, "pinme.toml");
|
|
7088
|
-
if (import_fs2.default.existsSync(configPath)) {
|
|
7089
|
-
try {
|
|
7090
|
-
const configContent = import_fs2.default.readFileSync(configPath, "utf8");
|
|
7091
|
-
const projectNameMatch = configContent.match(
|
|
7092
|
-
/project_name\s*=\s*"([^"]+)"/
|
|
7093
|
-
);
|
|
7094
|
-
context.projectName = sanitizeTrackValue(projectNameMatch == null ? void 0 : projectNameMatch[1]) || sanitizeTrackValue(process.env.PINME_PROJECT_NAME);
|
|
7095
|
-
context.projectDir = sanitizeTrackValue(import_path6.default.basename(cwd));
|
|
7096
|
-
} catch (_) {
|
|
7097
|
-
context.projectName = sanitizeTrackValue(process.env.PINME_PROJECT_NAME);
|
|
7098
|
-
}
|
|
7099
|
-
} else {
|
|
7100
|
-
context.projectName = sanitizeTrackValue(process.env.PINME_PROJECT_NAME);
|
|
7101
|
-
}
|
|
7102
|
-
cachedProjectContext = context;
|
|
7103
|
-
cachedProjectContextCwd = cwd;
|
|
7104
|
-
return context;
|
|
7105
|
-
}
|
|
7106
|
-
function getPathKind(pathValue) {
|
|
7107
|
-
try {
|
|
7108
|
-
const stat = import_fs2.default.statSync(pathValue);
|
|
7109
|
-
if (stat.isDirectory()) {
|
|
7110
|
-
return "directory";
|
|
7111
|
-
}
|
|
7112
|
-
if (stat.isFile()) {
|
|
7113
|
-
return "file";
|
|
7114
|
-
}
|
|
7115
|
-
} catch (_) {
|
|
7116
|
-
return "unknown";
|
|
7117
|
-
}
|
|
7118
|
-
return "unknown";
|
|
7119
|
-
}
|
|
7120
|
-
var Tracker = class _Tracker {
|
|
7121
|
-
static instance;
|
|
7122
|
-
gateway;
|
|
7123
|
-
product;
|
|
7124
|
-
source;
|
|
7125
|
-
disabled;
|
|
7126
|
-
constructor(gateway, product) {
|
|
7127
|
-
this.gateway = trimTrailingSlash2(
|
|
7128
|
-
gateway || process.env.PINME_TRACKER_GATEWAY || DEFAULT_GATEWAY
|
|
7129
|
-
);
|
|
7130
|
-
this.product = product || DEFAULT_PRODUCT;
|
|
7131
|
-
this.source = sanitizeTrackValue(process.env.PINME_TRACK_SOURCE);
|
|
7132
|
-
this.disabled = shouldDisableTracking();
|
|
7133
|
-
}
|
|
7134
|
-
static getInstance(gateway, product) {
|
|
7135
|
-
if (!_Tracker.instance) {
|
|
7136
|
-
_Tracker.instance = new _Tracker(gateway, product);
|
|
7137
|
-
}
|
|
7138
|
-
return _Tracker.instance;
|
|
7139
|
-
}
|
|
7140
|
-
trackEvent(event, page, data = {}) {
|
|
7141
|
-
if (this.disabled || !this.gateway) {
|
|
7142
|
-
return Promise.resolve();
|
|
7143
|
-
}
|
|
7144
|
-
try {
|
|
7145
|
-
const payload = this.buildPayload(event, page, data);
|
|
7146
|
-
const params = new URLSearchParams(payload).toString();
|
|
7147
|
-
const url2 = `${this.gateway}/track.gif?${params}`;
|
|
7148
|
-
this.dispatch(url2);
|
|
7149
|
-
} catch (_) {
|
|
7150
|
-
}
|
|
7151
|
-
return Promise.resolve();
|
|
7152
|
-
}
|
|
7153
|
-
buildPayload(event, page, data) {
|
|
7154
|
-
const projectContext = resolveProjectContext();
|
|
7155
|
-
const payload = {
|
|
7156
|
-
u: getUid(),
|
|
7157
|
-
s: this.source,
|
|
7158
|
-
pd: this.product,
|
|
7159
|
-
p: page,
|
|
7160
|
-
event,
|
|
7161
|
-
project_name: projectContext.projectName,
|
|
7162
|
-
project_dir: projectContext.projectDir,
|
|
7163
|
-
cli_version: version,
|
|
7164
|
-
node_version: process.version,
|
|
7165
|
-
os: import_os4.default.platform(),
|
|
7166
|
-
arch: import_os4.default.arch(),
|
|
7167
|
-
...data
|
|
7168
|
-
};
|
|
7169
|
-
const filtered = {};
|
|
7170
|
-
for (const [key, value] of Object.entries(payload)) {
|
|
7171
|
-
const normalized = sanitizeTrackValue(value);
|
|
7172
|
-
if (normalized) {
|
|
7173
|
-
filtered[key] = normalized;
|
|
7174
|
-
}
|
|
7175
|
-
}
|
|
7176
|
-
return filtered;
|
|
7177
|
-
}
|
|
7178
|
-
dispatch(url2) {
|
|
7179
|
-
const child = (0, import_child_process2.spawn)(process.execPath, ["-e", TRACK_CHILD_SCRIPT, url2], {
|
|
7180
|
-
detached: true,
|
|
7181
|
-
stdio: "ignore",
|
|
7182
|
-
windowsHide: true
|
|
7183
|
-
});
|
|
7184
|
-
child.unref();
|
|
7185
|
-
}
|
|
7186
|
-
};
|
|
7187
|
-
var tracker = Tracker.getInstance();
|
|
7188
|
-
var tracker_default = tracker;
|
|
7189
|
-
|
|
7190
|
-
// bin/utils/trackerEvents.ts
|
|
7191
|
-
var TRACK_PAGES = {
|
|
7192
|
-
auth: "cli_auth",
|
|
7193
|
-
login: "cli_login",
|
|
7194
|
-
upload: "cli_upload",
|
|
7195
|
-
import: "cli_import",
|
|
7196
|
-
export: "cli_export",
|
|
7197
|
-
remove: "cli_remove",
|
|
7198
|
-
domain: "cli_domain",
|
|
7199
|
-
wallet: "cli_wallet",
|
|
7200
|
-
project: "cli_project",
|
|
7201
|
-
deploy: "cli_deploy"
|
|
7202
|
-
};
|
|
7203
|
-
var TRACK_EVENTS = {
|
|
7204
|
-
cliLoginSuccess: "cli_login_success",
|
|
7205
|
-
cliLoginFailed: "cli_login_failed",
|
|
7206
|
-
appKeySetSuccess: "appkey_set_success",
|
|
7207
|
-
appKeySetFailed: "appkey_set_failed",
|
|
7208
|
-
logoutSuccess: "logout_success",
|
|
7209
|
-
logoutFailed: "logout_failed",
|
|
7210
|
-
uploadSuccess: "upload_success",
|
|
7211
|
-
uploadFailed: "upload_failed",
|
|
7212
|
-
importSuccess: "import_success",
|
|
7213
|
-
importFailed: "import_failed",
|
|
7214
|
-
exportSuccess: "export_success",
|
|
7215
|
-
exportFailed: "export_failed",
|
|
7216
|
-
removeSuccess: "remove_success",
|
|
7217
|
-
removeFailed: "remove_failed",
|
|
7218
|
-
domainBindSuccess: "domain_bind_success",
|
|
7219
|
-
domainBindFailed: "domain_bind_failed",
|
|
7220
|
-
myDomainsSuccess: "my_domains_success",
|
|
7221
|
-
myDomainsFailed: "my_domains_failed",
|
|
7222
|
-
walletBalanceSuccess: "wallet_balance_success",
|
|
7223
|
-
walletBalanceFailed: "wallet_balance_failed",
|
|
7224
|
-
projectCreateSuccess: "project_create_success",
|
|
7225
|
-
projectCreateFailed: "project_create_failed",
|
|
7226
|
-
projectSaveSuccess: "project_save_success",
|
|
7227
|
-
projectSaveFailed: "project_save_failed",
|
|
7228
|
-
projectDeleteSuccess: "project_delete_success",
|
|
7229
|
-
projectDeleteFailed: "project_delete_failed",
|
|
7230
|
-
projectUpdateWebSuccess: "project_update_web_success",
|
|
7231
|
-
projectUpdateWebFailed: "project_update_web_failed"
|
|
7232
|
-
};
|
|
7233
|
-
|
|
7234
7370
|
// bin/upload.ts
|
|
7235
7371
|
checkNodeVersion();
|
|
7236
7372
|
function checkPathSync(inputPath) {
|
|
@@ -7245,8 +7381,7 @@ function checkPathSync(inputPath) {
|
|
|
7245
7381
|
return null;
|
|
7246
7382
|
}
|
|
7247
7383
|
}
|
|
7248
|
-
async function printUploadUrls(result) {
|
|
7249
|
-
const projectName = APP_CONFIG.pinmeProjectName;
|
|
7384
|
+
async function printUploadUrls(result, projectName) {
|
|
7250
7385
|
const { publicUrl, managementUrl } = await resolveUploadUrls(
|
|
7251
7386
|
result.contentHash,
|
|
7252
7387
|
{
|
|
@@ -7259,6 +7394,52 @@ async function printUploadUrls(result) {
|
|
|
7259
7394
|
printHighlightedUrl("URL", publicUrl, "primary");
|
|
7260
7395
|
printHighlightedUrl("Management URL", managementUrl, "management");
|
|
7261
7396
|
}
|
|
7397
|
+
function readProjectNameFromConfig(configPath) {
|
|
7398
|
+
var _a2;
|
|
7399
|
+
try {
|
|
7400
|
+
const config = import_fs3.default.readFileSync(configPath, "utf-8");
|
|
7401
|
+
const match = config.match(/project_name\s*=\s*"([^"]+)"/);
|
|
7402
|
+
return ((_a2 = match == null ? void 0 : match[1]) == null ? void 0 : _a2.trim()) || void 0;
|
|
7403
|
+
} catch {
|
|
7404
|
+
return void 0;
|
|
7405
|
+
}
|
|
7406
|
+
}
|
|
7407
|
+
function findPinmeConfig(startPath) {
|
|
7408
|
+
try {
|
|
7409
|
+
let current = import_fs3.default.statSync(startPath).isDirectory() ? startPath : import_path7.default.dirname(startPath);
|
|
7410
|
+
while (true) {
|
|
7411
|
+
const configPath = import_path7.default.join(current, "pinme.toml");
|
|
7412
|
+
if (import_fs3.default.existsSync(configPath)) {
|
|
7413
|
+
return configPath;
|
|
7414
|
+
}
|
|
7415
|
+
const parent = import_path7.default.dirname(current);
|
|
7416
|
+
if (parent === current) {
|
|
7417
|
+
return void 0;
|
|
7418
|
+
}
|
|
7419
|
+
current = parent;
|
|
7420
|
+
}
|
|
7421
|
+
} catch {
|
|
7422
|
+
return void 0;
|
|
7423
|
+
}
|
|
7424
|
+
}
|
|
7425
|
+
function resolveUploadProjectName(targetPath) {
|
|
7426
|
+
if (APP_CONFIG.pinmeProjectName) {
|
|
7427
|
+
return APP_CONFIG.pinmeProjectName;
|
|
7428
|
+
}
|
|
7429
|
+
const configPaths = [
|
|
7430
|
+
findPinmeConfig(targetPath),
|
|
7431
|
+
findPinmeConfig(process.cwd())
|
|
7432
|
+
].filter(
|
|
7433
|
+
(value, index, values) => Boolean(value) && values.indexOf(value) === index
|
|
7434
|
+
);
|
|
7435
|
+
for (const configPath of configPaths) {
|
|
7436
|
+
const projectName = readProjectNameFromConfig(configPath);
|
|
7437
|
+
if (projectName) {
|
|
7438
|
+
return projectName;
|
|
7439
|
+
}
|
|
7440
|
+
}
|
|
7441
|
+
return void 0;
|
|
7442
|
+
}
|
|
7262
7443
|
function getDomainFromArgs() {
|
|
7263
7444
|
const args = process.argv.slice(2);
|
|
7264
7445
|
const dIdx = args.findIndex((a) => a === "--domain" || a === "-d");
|
|
@@ -7308,6 +7489,7 @@ async function bindDomain(domain, contentHash, isDns, authConfig) {
|
|
|
7308
7489
|
);
|
|
7309
7490
|
if (dnsResult.code !== 200) {
|
|
7310
7491
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindFailed, TRACK_PAGES.domain, {
|
|
7492
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindFailed),
|
|
7311
7493
|
domain_type: domainType,
|
|
7312
7494
|
domain_name: displayDomain,
|
|
7313
7495
|
bind_source: "upload",
|
|
@@ -7317,6 +7499,7 @@ async function bindDomain(domain, contentHash, isDns, authConfig) {
|
|
|
7317
7499
|
return false;
|
|
7318
7500
|
}
|
|
7319
7501
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindSuccess, TRACK_PAGES.domain, {
|
|
7502
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindSuccess),
|
|
7320
7503
|
domain_type: domainType,
|
|
7321
7504
|
domain_name: displayDomain,
|
|
7322
7505
|
bind_source: "upload"
|
|
@@ -7333,6 +7516,7 @@ async function bindDomain(domain, contentHash, isDns, authConfig) {
|
|
|
7333
7516
|
const ok = await bindPinmeDomain(displayDomain, contentHash);
|
|
7334
7517
|
if (!ok) {
|
|
7335
7518
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindFailed, TRACK_PAGES.domain, {
|
|
7519
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindFailed),
|
|
7336
7520
|
domain_type: domainType,
|
|
7337
7521
|
domain_name: displayDomain,
|
|
7338
7522
|
bind_source: "upload",
|
|
@@ -7342,6 +7526,7 @@ async function bindDomain(domain, contentHash, isDns, authConfig) {
|
|
|
7342
7526
|
return false;
|
|
7343
7527
|
}
|
|
7344
7528
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindSuccess, TRACK_PAGES.domain, {
|
|
7529
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindSuccess),
|
|
7345
7530
|
domain_type: domainType,
|
|
7346
7531
|
domain_name: displayDomain,
|
|
7347
7532
|
bind_source: "upload"
|
|
@@ -7378,6 +7563,10 @@ var upload_default = async (options) => {
|
|
|
7378
7563
|
return;
|
|
7379
7564
|
}
|
|
7380
7565
|
const pathKind = getPathKind(absolutePath);
|
|
7566
|
+
const projectName = resolveUploadProjectName(absolutePath);
|
|
7567
|
+
if (projectName) {
|
|
7568
|
+
console.log(import_chalk7.default.gray(`Project: ${projectName}`));
|
|
7569
|
+
}
|
|
7381
7570
|
const isDns = dnsArg || (domainArg ? isDnsDomain(domainArg) : false);
|
|
7382
7571
|
const displayDomain = domainArg == null ? void 0 : domainArg.replace(/^https?:\/\//, "").replace(/\/$/, "");
|
|
7383
7572
|
if (isDns && domainArg) {
|
|
@@ -7429,11 +7618,12 @@ var upload_default = async (options) => {
|
|
|
7429
7618
|
let result;
|
|
7430
7619
|
try {
|
|
7431
7620
|
result = await uploadPath(absolutePath, {
|
|
7432
|
-
projectName
|
|
7621
|
+
projectName,
|
|
7433
7622
|
uid: authConfig == null ? void 0 : authConfig.address
|
|
7434
7623
|
});
|
|
7435
7624
|
} catch (error) {
|
|
7436
7625
|
void tracker_default.trackEvent(TRACK_EVENTS.uploadFailed, TRACK_PAGES.upload, {
|
|
7626
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadFailed),
|
|
7437
7627
|
path_kind: pathKind,
|
|
7438
7628
|
has_domain: Boolean(domainArg),
|
|
7439
7629
|
reason: getTrackErrorReason(error)
|
|
@@ -7443,6 +7633,7 @@ var upload_default = async (options) => {
|
|
|
7443
7633
|
}
|
|
7444
7634
|
if (!result) {
|
|
7445
7635
|
void tracker_default.trackEvent(TRACK_EVENTS.uploadFailed, TRACK_PAGES.upload, {
|
|
7636
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadFailed),
|
|
7446
7637
|
path_kind: pathKind,
|
|
7447
7638
|
has_domain: Boolean(domainArg),
|
|
7448
7639
|
reason: "no_result_returned"
|
|
@@ -7451,14 +7642,15 @@ var upload_default = async (options) => {
|
|
|
7451
7642
|
process.exit(1);
|
|
7452
7643
|
}
|
|
7453
7644
|
void tracker_default.trackEvent(TRACK_EVENTS.uploadSuccess, TRACK_PAGES.upload, {
|
|
7645
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadSuccess),
|
|
7454
7646
|
path_kind: pathKind,
|
|
7455
7647
|
has_domain: Boolean(domainArg),
|
|
7456
|
-
project_name:
|
|
7648
|
+
project_name: projectName
|
|
7457
7649
|
});
|
|
7458
7650
|
console.log(
|
|
7459
7651
|
import_chalk7.default.cyan(import_figlet.default.textSync("Successful", { horizontalLayout: "full" }))
|
|
7460
7652
|
);
|
|
7461
|
-
await printUploadUrls(result);
|
|
7653
|
+
await printUploadUrls(result, projectName);
|
|
7462
7654
|
if (domainArg) {
|
|
7463
7655
|
console.log(
|
|
7464
7656
|
import_chalk7.default.blue(
|
|
@@ -7490,6 +7682,11 @@ var upload_default = async (options) => {
|
|
|
7490
7682
|
console.log(import_chalk7.default.red(`path ${answer.path} does not exist`));
|
|
7491
7683
|
return;
|
|
7492
7684
|
}
|
|
7685
|
+
const pathKind = getPathKind(absolutePath);
|
|
7686
|
+
const projectName = resolveUploadProjectName(absolutePath);
|
|
7687
|
+
if (projectName) {
|
|
7688
|
+
console.log(import_chalk7.default.gray(`Project: ${projectName}`));
|
|
7689
|
+
}
|
|
7493
7690
|
const isDns = dnsArg || (domainArg ? isDnsDomain(domainArg) : false);
|
|
7494
7691
|
const displayDomain = domainArg == null ? void 0 : domainArg.replace(/^https?:\/\//, "").replace(/\/$/, "");
|
|
7495
7692
|
if (isDns && domainArg) {
|
|
@@ -7541,21 +7738,39 @@ var upload_default = async (options) => {
|
|
|
7541
7738
|
let result;
|
|
7542
7739
|
try {
|
|
7543
7740
|
result = await uploadPath(absolutePath, {
|
|
7544
|
-
projectName
|
|
7741
|
+
projectName,
|
|
7545
7742
|
uid: authConfig == null ? void 0 : authConfig.address
|
|
7546
7743
|
});
|
|
7547
7744
|
} catch (error) {
|
|
7745
|
+
void tracker_default.trackEvent(TRACK_EVENTS.uploadFailed, TRACK_PAGES.upload, {
|
|
7746
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadFailed),
|
|
7747
|
+
path_kind: pathKind,
|
|
7748
|
+
has_domain: Boolean(domainArg),
|
|
7749
|
+
reason: getTrackErrorReason(error)
|
|
7750
|
+
});
|
|
7548
7751
|
printCliError(error, "Upload failed.");
|
|
7549
7752
|
process.exit(1);
|
|
7550
7753
|
}
|
|
7551
7754
|
if (!result) {
|
|
7755
|
+
void tracker_default.trackEvent(TRACK_EVENTS.uploadFailed, TRACK_PAGES.upload, {
|
|
7756
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadFailed),
|
|
7757
|
+
path_kind: pathKind,
|
|
7758
|
+
has_domain: Boolean(domainArg),
|
|
7759
|
+
reason: "no_result_returned"
|
|
7760
|
+
});
|
|
7552
7761
|
console.error(import_chalk7.default.red("Upload failed: no result returned"));
|
|
7553
7762
|
process.exit(1);
|
|
7554
7763
|
}
|
|
7764
|
+
void tracker_default.trackEvent(TRACK_EVENTS.uploadSuccess, TRACK_PAGES.upload, {
|
|
7765
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadSuccess),
|
|
7766
|
+
path_kind: pathKind,
|
|
7767
|
+
has_domain: Boolean(domainArg),
|
|
7768
|
+
project_name: projectName
|
|
7769
|
+
});
|
|
7555
7770
|
console.log(
|
|
7556
7771
|
import_chalk7.default.cyan(import_figlet.default.textSync("Successful", { horizontalLayout: "full" }))
|
|
7557
7772
|
);
|
|
7558
|
-
await printUploadUrls(result);
|
|
7773
|
+
await printUploadUrls(result, projectName);
|
|
7559
7774
|
if (domainArg) {
|
|
7560
7775
|
console.log(
|
|
7561
7776
|
import_chalk7.default.blue(
|
|
@@ -7677,6 +7892,7 @@ var importCar_default = async (options) => {
|
|
|
7677
7892
|
});
|
|
7678
7893
|
if (result) {
|
|
7679
7894
|
void tracker_default.trackEvent(TRACK_EVENTS.importSuccess, TRACK_PAGES.import, {
|
|
7895
|
+
a: resolveTrackAction2(TRACK_EVENTS.importSuccess),
|
|
7680
7896
|
path_kind: pathKind,
|
|
7681
7897
|
has_domain: Boolean(domainArg)
|
|
7682
7898
|
});
|
|
@@ -7705,6 +7921,7 @@ var importCar_default = async (options) => {
|
|
|
7705
7921
|
const ok = await bindPinmeDomain(domainArg, result.contentHash);
|
|
7706
7922
|
if (ok) {
|
|
7707
7923
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindSuccess, TRACK_PAGES.domain, {
|
|
7924
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindSuccess),
|
|
7708
7925
|
domain_type: "pinme_subdomain",
|
|
7709
7926
|
domain_name: domainArg,
|
|
7710
7927
|
bind_source: "import"
|
|
@@ -7718,6 +7935,7 @@ var importCar_default = async (options) => {
|
|
|
7718
7935
|
);
|
|
7719
7936
|
} else {
|
|
7720
7937
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindFailed, TRACK_PAGES.domain, {
|
|
7938
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindFailed),
|
|
7721
7939
|
domain_type: "pinme_subdomain",
|
|
7722
7940
|
domain_name: domainArg,
|
|
7723
7941
|
bind_source: "import",
|
|
@@ -7730,6 +7948,7 @@ var importCar_default = async (options) => {
|
|
|
7730
7948
|
}
|
|
7731
7949
|
} catch (error) {
|
|
7732
7950
|
void tracker_default.trackEvent(TRACK_EVENTS.importFailed, TRACK_PAGES.import, {
|
|
7951
|
+
a: resolveTrackAction2(TRACK_EVENTS.importFailed),
|
|
7733
7952
|
path_kind: pathKind,
|
|
7734
7953
|
has_domain: Boolean(domainArg),
|
|
7735
7954
|
reason: getTrackErrorReason(error)
|
|
@@ -7772,6 +7991,7 @@ var importCar_default = async (options) => {
|
|
|
7772
7991
|
});
|
|
7773
7992
|
if (result) {
|
|
7774
7993
|
void tracker_default.trackEvent(TRACK_EVENTS.importSuccess, TRACK_PAGES.import, {
|
|
7994
|
+
a: resolveTrackAction2(TRACK_EVENTS.importSuccess),
|
|
7775
7995
|
path_kind: pathKind,
|
|
7776
7996
|
has_domain: Boolean(domainArg)
|
|
7777
7997
|
});
|
|
@@ -7800,6 +8020,7 @@ var importCar_default = async (options) => {
|
|
|
7800
8020
|
const ok = await bindPinmeDomain(domainArg, result.contentHash);
|
|
7801
8021
|
if (ok) {
|
|
7802
8022
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindSuccess, TRACK_PAGES.domain, {
|
|
8023
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindSuccess),
|
|
7803
8024
|
domain_type: "pinme_subdomain",
|
|
7804
8025
|
domain_name: domainArg,
|
|
7805
8026
|
bind_source: "import"
|
|
@@ -7813,6 +8034,7 @@ var importCar_default = async (options) => {
|
|
|
7813
8034
|
);
|
|
7814
8035
|
} else {
|
|
7815
8036
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindFailed, TRACK_PAGES.domain, {
|
|
8037
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindFailed),
|
|
7816
8038
|
domain_type: "pinme_subdomain",
|
|
7817
8039
|
domain_name: domainArg,
|
|
7818
8040
|
bind_source: "import",
|
|
@@ -7825,6 +8047,7 @@ var importCar_default = async (options) => {
|
|
|
7825
8047
|
}
|
|
7826
8048
|
} catch (error) {
|
|
7827
8049
|
void tracker_default.trackEvent(TRACK_EVENTS.importFailed, TRACK_PAGES.import, {
|
|
8050
|
+
a: resolveTrackAction2(TRACK_EVENTS.importFailed),
|
|
7828
8051
|
path_kind: pathKind,
|
|
7829
8052
|
has_domain: Boolean(domainArg),
|
|
7830
8053
|
reason: getTrackErrorReason(error)
|
|
@@ -7835,6 +8058,7 @@ var importCar_default = async (options) => {
|
|
|
7835
8058
|
}
|
|
7836
8059
|
} catch (error) {
|
|
7837
8060
|
void tracker_default.trackEvent(TRACK_EVENTS.importFailed, TRACK_PAGES.import, {
|
|
8061
|
+
a: resolveTrackAction2(TRACK_EVENTS.importFailed),
|
|
7838
8062
|
reason: getTrackErrorReason(error)
|
|
7839
8063
|
});
|
|
7840
8064
|
printCliError(error, "Import failed.");
|
|
@@ -8022,6 +8246,7 @@ var exportCar_default = async () => {
|
|
|
8022
8246
|
);
|
|
8023
8247
|
if (!downloadUrl) {
|
|
8024
8248
|
void tracker_default.trackEvent(TRACK_EVENTS.exportFailed, TRACK_PAGES.export, {
|
|
8249
|
+
a: resolveTrackAction2(TRACK_EVENTS.exportFailed),
|
|
8025
8250
|
cid,
|
|
8026
8251
|
reason: "export_failed_or_timed_out"
|
|
8027
8252
|
});
|
|
@@ -8031,6 +8256,7 @@ var exportCar_default = async () => {
|
|
|
8031
8256
|
const success = await downloadCarFile(downloadUrl, finalOutputPath);
|
|
8032
8257
|
if (success) {
|
|
8033
8258
|
void tracker_default.trackEvent(TRACK_EVENTS.exportSuccess, TRACK_PAGES.export, {
|
|
8259
|
+
a: resolveTrackAction2(TRACK_EVENTS.exportSuccess),
|
|
8034
8260
|
cid,
|
|
8035
8261
|
output_dir: outputDir
|
|
8036
8262
|
});
|
|
@@ -8048,6 +8274,7 @@ var exportCar_default = async () => {
|
|
|
8048
8274
|
console.log(import_chalk9.default.cyan(`CID: ${cid}`));
|
|
8049
8275
|
} else {
|
|
8050
8276
|
void tracker_default.trackEvent(TRACK_EVENTS.exportFailed, TRACK_PAGES.export, {
|
|
8277
|
+
a: resolveTrackAction2(TRACK_EVENTS.exportFailed),
|
|
8051
8278
|
cid,
|
|
8052
8279
|
reason: "download_failed"
|
|
8053
8280
|
});
|
|
@@ -8055,6 +8282,7 @@ var exportCar_default = async () => {
|
|
|
8055
8282
|
}
|
|
8056
8283
|
} catch (error) {
|
|
8057
8284
|
void tracker_default.trackEvent(TRACK_EVENTS.exportFailed, TRACK_PAGES.export, {
|
|
8285
|
+
a: resolveTrackAction2(TRACK_EVENTS.exportFailed),
|
|
8058
8286
|
cid,
|
|
8059
8287
|
reason: getTrackErrorReason(error)
|
|
8060
8288
|
});
|
|
@@ -8063,6 +8291,7 @@ var exportCar_default = async () => {
|
|
|
8063
8291
|
}
|
|
8064
8292
|
} catch (error) {
|
|
8065
8293
|
void tracker_default.trackEvent(TRACK_EVENTS.exportFailed, TRACK_PAGES.export, {
|
|
8294
|
+
a: resolveTrackAction2(TRACK_EVENTS.exportFailed),
|
|
8066
8295
|
reason: getTrackErrorReason(error)
|
|
8067
8296
|
});
|
|
8068
8297
|
printCliError(error, "Export failed.");
|
|
@@ -8213,6 +8442,7 @@ var remove_default = async (options) => {
|
|
|
8213
8442
|
const success = await removeFromIpfs(parsedInput.value, parsedInput.type);
|
|
8214
8443
|
if (success) {
|
|
8215
8444
|
void tracker_default.trackEvent(TRACK_EVENTS.removeSuccess, TRACK_PAGES.remove, {
|
|
8445
|
+
a: resolveTrackAction2(TRACK_EVENTS.removeSuccess),
|
|
8216
8446
|
input_type: parsedInput.type
|
|
8217
8447
|
});
|
|
8218
8448
|
console.log(
|
|
@@ -8223,6 +8453,7 @@ var remove_default = async (options) => {
|
|
|
8223
8453
|
}
|
|
8224
8454
|
} catch (error) {
|
|
8225
8455
|
void tracker_default.trackEvent(TRACK_EVENTS.removeFailed, TRACK_PAGES.remove, {
|
|
8456
|
+
a: resolveTrackAction2(TRACK_EVENTS.removeFailed),
|
|
8226
8457
|
input_type: parsedInput.type,
|
|
8227
8458
|
reason: getTrackErrorReason(error)
|
|
8228
8459
|
});
|
|
@@ -8284,6 +8515,7 @@ var remove_default = async (options) => {
|
|
|
8284
8515
|
const success = await removeFromIpfs(parsedInput.value, parsedInput.type);
|
|
8285
8516
|
if (success) {
|
|
8286
8517
|
void tracker_default.trackEvent(TRACK_EVENTS.removeSuccess, TRACK_PAGES.remove, {
|
|
8518
|
+
a: resolveTrackAction2(TRACK_EVENTS.removeSuccess),
|
|
8287
8519
|
input_type: parsedInput.type
|
|
8288
8520
|
});
|
|
8289
8521
|
console.log(
|
|
@@ -8294,6 +8526,7 @@ var remove_default = async (options) => {
|
|
|
8294
8526
|
}
|
|
8295
8527
|
} catch (error) {
|
|
8296
8528
|
void tracker_default.trackEvent(TRACK_EVENTS.removeFailed, TRACK_PAGES.remove, {
|
|
8529
|
+
a: resolveTrackAction2(TRACK_EVENTS.removeFailed),
|
|
8297
8530
|
input_type: parsedInput.type,
|
|
8298
8531
|
reason: getTrackErrorReason(error)
|
|
8299
8532
|
});
|
|
@@ -8302,6 +8535,7 @@ var remove_default = async (options) => {
|
|
|
8302
8535
|
}
|
|
8303
8536
|
} catch (error) {
|
|
8304
8537
|
void tracker_default.trackEvent(TRACK_EVENTS.removeFailed, TRACK_PAGES.remove, {
|
|
8538
|
+
a: resolveTrackAction2(TRACK_EVENTS.removeFailed),
|
|
8305
8539
|
reason: getTrackErrorReason(error)
|
|
8306
8540
|
});
|
|
8307
8541
|
console.error(import_chalk11.default.red(`Error executing remove command: ${error.message}`));
|
|
@@ -8342,11 +8576,13 @@ async function setAppKeyCmd() {
|
|
|
8342
8576
|
console.log(import_chalk12.default.yellow("Anonymous history merge not confirmed. You may retry later."));
|
|
8343
8577
|
}
|
|
8344
8578
|
void tracker_default.trackEvent(TRACK_EVENTS.appKeySetSuccess, TRACK_PAGES.auth, {
|
|
8579
|
+
a: resolveTrackAction2(TRACK_EVENTS.appKeySetSuccess),
|
|
8345
8580
|
merged_anonymous_history: ok,
|
|
8346
8581
|
has_token_address: Boolean(saved.address)
|
|
8347
8582
|
});
|
|
8348
8583
|
} catch (e) {
|
|
8349
8584
|
void tracker_default.trackEvent(TRACK_EVENTS.appKeySetFailed, TRACK_PAGES.auth, {
|
|
8585
|
+
a: resolveTrackAction2(TRACK_EVENTS.appKeySetFailed),
|
|
8350
8586
|
reason: getTrackErrorReason(e)
|
|
8351
8587
|
});
|
|
8352
8588
|
console.log(import_chalk12.default.red(`Failed to set AppKey: ${(e == null ? void 0 : e.message) || e}`));
|
|
@@ -8378,12 +8614,14 @@ async function logoutCmd() {
|
|
|
8378
8614
|
}
|
|
8379
8615
|
clearAuthToken();
|
|
8380
8616
|
void tracker_default.trackEvent(TRACK_EVENTS.logoutSuccess, TRACK_PAGES.auth, {
|
|
8617
|
+
a: resolveTrackAction2(TRACK_EVENTS.logoutSuccess),
|
|
8381
8618
|
had_session: true
|
|
8382
8619
|
});
|
|
8383
8620
|
console.log(import_chalk13.default.green("Successfully logged out."));
|
|
8384
8621
|
console.log(import_chalk13.default.gray(`Address ${auth.address} has been removed from local storage.`));
|
|
8385
8622
|
} catch (e) {
|
|
8386
8623
|
void tracker_default.trackEvent(TRACK_EVENTS.logoutFailed, TRACK_PAGES.auth, {
|
|
8624
|
+
a: resolveTrackAction2(TRACK_EVENTS.logoutFailed),
|
|
8387
8625
|
reason: getTrackErrorReason(e)
|
|
8388
8626
|
});
|
|
8389
8627
|
console.log(import_chalk13.default.red(`Failed to logout: ${(e == null ? void 0 : e.message) || e}`));
|
|
@@ -8397,6 +8635,10 @@ function showAppKeyCmd() {
|
|
|
8397
8635
|
try {
|
|
8398
8636
|
const auth = getAuthConfig();
|
|
8399
8637
|
if (!auth) {
|
|
8638
|
+
void tracker_default.trackEvent(TRACK_EVENTS.appKeyShownFailed, TRACK_PAGES.auth, {
|
|
8639
|
+
a: resolveTrackAction2(TRACK_EVENTS.appKeyShownFailed),
|
|
8640
|
+
reason: "no_appkey_found"
|
|
8641
|
+
});
|
|
8400
8642
|
console.log(import_chalk14.default.yellow("No AppKey found. Please set your AppKey first."));
|
|
8401
8643
|
console.log(import_chalk14.default.gray("Run: pinme set-appkey <AppKey>"));
|
|
8402
8644
|
return;
|
|
@@ -8417,7 +8659,15 @@ function showAppKeyCmd() {
|
|
|
8417
8659
|
} else {
|
|
8418
8660
|
console.log(import_chalk14.default.cyan(` AppKey: ${"*".repeat(combined.length)}`));
|
|
8419
8661
|
}
|
|
8662
|
+
void tracker_default.trackEvent(TRACK_EVENTS.appKeyShownSuccess, TRACK_PAGES.auth, {
|
|
8663
|
+
a: resolveTrackAction2(TRACK_EVENTS.appKeyShownSuccess),
|
|
8664
|
+
has_token_address: Boolean(auth.address)
|
|
8665
|
+
});
|
|
8420
8666
|
} catch (e) {
|
|
8667
|
+
void tracker_default.trackEvent(TRACK_EVENTS.appKeyShownFailed, TRACK_PAGES.auth, {
|
|
8668
|
+
a: resolveTrackAction2(TRACK_EVENTS.appKeyShownFailed),
|
|
8669
|
+
reason: getTrackErrorReason(e)
|
|
8670
|
+
});
|
|
8421
8671
|
console.log(import_chalk14.default.red(`Failed to show AppKey: ${(e == null ? void 0 : e.message) || e}`));
|
|
8422
8672
|
}
|
|
8423
8673
|
}
|
|
@@ -8431,6 +8681,7 @@ async function myDomainsCmd() {
|
|
|
8431
8681
|
try {
|
|
8432
8682
|
const list = await getMyDomains();
|
|
8433
8683
|
void tracker_default.trackEvent(TRACK_EVENTS.myDomainsSuccess, TRACK_PAGES.domain, {
|
|
8684
|
+
a: resolveTrackAction2(TRACK_EVENTS.myDomainsSuccess),
|
|
8434
8685
|
domain_count: list.length
|
|
8435
8686
|
});
|
|
8436
8687
|
if (!list.length) {
|
|
@@ -8453,6 +8704,7 @@ async function myDomainsCmd() {
|
|
|
8453
8704
|
});
|
|
8454
8705
|
} catch (e) {
|
|
8455
8706
|
void tracker_default.trackEvent(TRACK_EVENTS.myDomainsFailed, TRACK_PAGES.domain, {
|
|
8707
|
+
a: resolveTrackAction2(TRACK_EVENTS.myDomainsFailed),
|
|
8456
8708
|
reason: getTrackErrorReason(e)
|
|
8457
8709
|
});
|
|
8458
8710
|
printCliError(e, "Failed to fetch domains.");
|
|
@@ -8477,12 +8729,14 @@ async function walletBalanceCmd() {
|
|
|
8477
8729
|
const balance = Number(((_a2 = result.data) == null ? void 0 : _a2.wallet_balance_usd) ?? 0);
|
|
8478
8730
|
if (!Number.isFinite(balance)) {
|
|
8479
8731
|
void tracker_default.trackEvent(TRACK_EVENTS.walletBalanceFailed, TRACK_PAGES.wallet, {
|
|
8732
|
+
a: resolveTrackAction2(TRACK_EVENTS.walletBalanceFailed),
|
|
8480
8733
|
reason: "invalid_balance_value"
|
|
8481
8734
|
});
|
|
8482
8735
|
console.log(import_chalk16.default.red("Failed to parse wallet balance."));
|
|
8483
8736
|
return;
|
|
8484
8737
|
}
|
|
8485
8738
|
void tracker_default.trackEvent(TRACK_EVENTS.walletBalanceSuccess, TRACK_PAGES.wallet, {
|
|
8739
|
+
a: resolveTrackAction2(TRACK_EVENTS.walletBalanceSuccess),
|
|
8486
8740
|
has_balance: balance > 0,
|
|
8487
8741
|
balance_usd: balance.toFixed(2)
|
|
8488
8742
|
});
|
|
@@ -8494,6 +8748,7 @@ async function walletBalanceCmd() {
|
|
|
8494
8748
|
}
|
|
8495
8749
|
} catch (e) {
|
|
8496
8750
|
void tracker_default.trackEvent(TRACK_EVENTS.walletBalanceFailed, TRACK_PAGES.wallet, {
|
|
8751
|
+
a: resolveTrackAction2(TRACK_EVENTS.walletBalanceFailed),
|
|
8497
8752
|
reason: getTrackErrorReason(e)
|
|
8498
8753
|
});
|
|
8499
8754
|
printCliError(e, "Failed to fetch wallet balance.");
|
|
@@ -8636,6 +8891,7 @@ async function bindCmd() {
|
|
|
8636
8891
|
const up = await uploadPath(absolutePath, { uid: authConfig.address });
|
|
8637
8892
|
if (!(up == null ? void 0 : up.contentHash)) {
|
|
8638
8893
|
void tracker_default.trackEvent(TRACK_EVENTS.uploadFailed, TRACK_PAGES.upload, {
|
|
8894
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadFailed),
|
|
8639
8895
|
path_kind: pathKind,
|
|
8640
8896
|
has_domain: true,
|
|
8641
8897
|
reason: "no_content_hash"
|
|
@@ -8644,6 +8900,7 @@ async function bindCmd() {
|
|
|
8644
8900
|
return;
|
|
8645
8901
|
}
|
|
8646
8902
|
void tracker_default.trackEvent(TRACK_EVENTS.uploadSuccess, TRACK_PAGES.upload, {
|
|
8903
|
+
a: resolveTrackAction2(TRACK_EVENTS.uploadSuccess),
|
|
8647
8904
|
path_kind: pathKind,
|
|
8648
8905
|
has_domain: true
|
|
8649
8906
|
});
|
|
@@ -8659,6 +8916,7 @@ async function bindCmd() {
|
|
|
8659
8916
|
);
|
|
8660
8917
|
if (dnsResult.code !== 200) {
|
|
8661
8918
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindFailed, TRACK_PAGES.domain, {
|
|
8919
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindFailed),
|
|
8662
8920
|
domain_type: domainType,
|
|
8663
8921
|
domain_name: displayDomain,
|
|
8664
8922
|
bind_source: "bind",
|
|
@@ -8668,6 +8926,7 @@ async function bindCmd() {
|
|
|
8668
8926
|
return;
|
|
8669
8927
|
}
|
|
8670
8928
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindSuccess, TRACK_PAGES.domain, {
|
|
8929
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindSuccess),
|
|
8671
8930
|
domain_type: domainType,
|
|
8672
8931
|
domain_name: displayDomain,
|
|
8673
8932
|
bind_source: "bind"
|
|
@@ -8684,6 +8943,7 @@ async function bindCmd() {
|
|
|
8684
8943
|
const ok = await bindPinmeDomain(displayDomain, up.contentHash);
|
|
8685
8944
|
if (!ok) {
|
|
8686
8945
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindFailed, TRACK_PAGES.domain, {
|
|
8946
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindFailed),
|
|
8687
8947
|
domain_type: domainType,
|
|
8688
8948
|
domain_name: displayDomain,
|
|
8689
8949
|
bind_source: "bind",
|
|
@@ -8693,6 +8953,7 @@ async function bindCmd() {
|
|
|
8693
8953
|
return;
|
|
8694
8954
|
}
|
|
8695
8955
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindSuccess, TRACK_PAGES.domain, {
|
|
8956
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindSuccess),
|
|
8696
8957
|
domain_type: domainType,
|
|
8697
8958
|
domain_name: displayDomain,
|
|
8698
8959
|
bind_source: "bind"
|
|
@@ -8711,6 +8972,7 @@ async function bindCmd() {
|
|
|
8711
8972
|
}
|
|
8712
8973
|
} catch (e) {
|
|
8713
8974
|
void tracker_default.trackEvent(TRACK_EVENTS.domainBindFailed, TRACK_PAGES.domain, {
|
|
8975
|
+
a: resolveTrackAction2(TRACK_EVENTS.domainBindFailed),
|
|
8714
8976
|
bind_source: "bind",
|
|
8715
8977
|
reason: getTrackErrorReason(e)
|
|
8716
8978
|
});
|
|
@@ -8752,6 +9014,7 @@ async function loginCmd(options = {}) {
|
|
|
8752
9014
|
console.log(import_chalk18.default.green("History merged to your account"));
|
|
8753
9015
|
}
|
|
8754
9016
|
void tracker_default.trackEvent(TRACK_EVENTS.cliLoginSuccess, TRACK_PAGES.login, {
|
|
9017
|
+
a: resolveTrackAction2(TRACK_EVENTS.cliLoginSuccess),
|
|
8755
9018
|
env,
|
|
8756
9019
|
has_token_address: true,
|
|
8757
9020
|
merged_anonymous_history: ok
|
|
@@ -8759,6 +9022,7 @@ async function loginCmd(options = {}) {
|
|
|
8759
9022
|
process.exit(0);
|
|
8760
9023
|
} catch (e) {
|
|
8761
9024
|
void tracker_default.trackEvent(TRACK_EVENTS.cliLoginFailed, TRACK_PAGES.login, {
|
|
9025
|
+
a: resolveTrackAction2(TRACK_EVENTS.cliLoginFailed),
|
|
8762
9026
|
env,
|
|
8763
9027
|
reason: getTrackErrorReason(e)
|
|
8764
9028
|
});
|
|
@@ -9266,6 +9530,7 @@ Next steps:`));
|
|
|
9266
9530
|
TRACK_EVENTS.projectCreateSuccess,
|
|
9267
9531
|
TRACK_PAGES.project,
|
|
9268
9532
|
{
|
|
9533
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectCreateSuccess),
|
|
9269
9534
|
project_name: workerData.project_name,
|
|
9270
9535
|
template_branch: TEMPLATE_BRANCH,
|
|
9271
9536
|
force: Boolean(options.force)
|
|
@@ -9277,6 +9542,7 @@ Next steps:`));
|
|
|
9277
9542
|
TRACK_EVENTS.projectCreateFailed,
|
|
9278
9543
|
TRACK_PAGES.project,
|
|
9279
9544
|
{
|
|
9545
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectCreateFailed),
|
|
9280
9546
|
project_name: options.name,
|
|
9281
9547
|
template_branch: TEMPLATE_BRANCH,
|
|
9282
9548
|
force: Boolean(options.force),
|
|
@@ -9616,6 +9882,7 @@ async function saveCmd(options) {
|
|
|
9616
9882
|
);
|
|
9617
9883
|
console.log(import_chalk21.default.green("\nDeployment complete."));
|
|
9618
9884
|
void tracker_default.trackEvent(TRACK_EVENTS.projectSaveSuccess, TRACK_PAGES.deploy, {
|
|
9885
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectSaveSuccess),
|
|
9619
9886
|
project_name: projectName,
|
|
9620
9887
|
has_domain: Boolean(options.domain),
|
|
9621
9888
|
domain_type: options.domain ? isDnsDomain(options.domain) ? "dns" : "pinme_subdomain" : void 0
|
|
@@ -9623,6 +9890,7 @@ async function saveCmd(options) {
|
|
|
9623
9890
|
process.exit(0);
|
|
9624
9891
|
} catch (error) {
|
|
9625
9892
|
void tracker_default.trackEvent(TRACK_EVENTS.projectSaveFailed, TRACK_PAGES.deploy, {
|
|
9893
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectSaveFailed),
|
|
9626
9894
|
project_name: options.projectName || options.name,
|
|
9627
9895
|
has_domain: Boolean(options.domain),
|
|
9628
9896
|
reason: getTrackErrorReason(error)
|
|
@@ -9758,8 +10026,26 @@ async function updateDbCmd(options) {
|
|
|
9758
10026
|
console.log(import_chalk22.default.gray(`Found ${sqlFiles.length} SQL file(s) in db`));
|
|
9759
10027
|
await updateDb(sqlFiles, projectName);
|
|
9760
10028
|
console.log(import_chalk22.default.green("\nDatabase update complete."));
|
|
10029
|
+
void tracker_default.trackEvent(
|
|
10030
|
+
TRACK_EVENTS.projectUpdateDbSuccess,
|
|
10031
|
+
TRACK_PAGES.deploy,
|
|
10032
|
+
{
|
|
10033
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectUpdateDbSuccess),
|
|
10034
|
+
project_name: projectName,
|
|
10035
|
+
sql_file_count: sqlFiles.length
|
|
10036
|
+
}
|
|
10037
|
+
);
|
|
9761
10038
|
process.exit(0);
|
|
9762
10039
|
} catch (error) {
|
|
10040
|
+
void tracker_default.trackEvent(
|
|
10041
|
+
TRACK_EVENTS.projectUpdateDbFailed,
|
|
10042
|
+
TRACK_PAGES.deploy,
|
|
10043
|
+
{
|
|
10044
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectUpdateDbFailed),
|
|
10045
|
+
project_name: (options == null ? void 0 : options.projectName) || (options == null ? void 0 : options.name),
|
|
10046
|
+
reason: getTrackErrorReason(error)
|
|
10047
|
+
}
|
|
10048
|
+
);
|
|
9763
10049
|
printCliError(error, "Database update failed.");
|
|
9764
10050
|
process.exit(1);
|
|
9765
10051
|
}
|
|
@@ -9942,8 +10228,26 @@ async function updateWorkerCmd(options) {
|
|
|
9942
10228
|
console.log(import_chalk23.default.gray(`SQL files: ignored (not processed for update_worker)`));
|
|
9943
10229
|
await updateWorker(workerJsPath, modulePaths, metadata, projectName);
|
|
9944
10230
|
console.log(import_chalk23.default.green("\nWorker update complete."));
|
|
10231
|
+
void tracker_default.trackEvent(
|
|
10232
|
+
TRACK_EVENTS.projectUpdateWorkerSuccess,
|
|
10233
|
+
TRACK_PAGES.deploy,
|
|
10234
|
+
{
|
|
10235
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectUpdateWorkerSuccess),
|
|
10236
|
+
project_name: projectName,
|
|
10237
|
+
module_count: modulePaths.length
|
|
10238
|
+
}
|
|
10239
|
+
);
|
|
9945
10240
|
process.exit(0);
|
|
9946
10241
|
} catch (error) {
|
|
10242
|
+
void tracker_default.trackEvent(
|
|
10243
|
+
TRACK_EVENTS.projectUpdateWorkerFailed,
|
|
10244
|
+
TRACK_PAGES.deploy,
|
|
10245
|
+
{
|
|
10246
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectUpdateWorkerFailed),
|
|
10247
|
+
project_name: (options == null ? void 0 : options.projectName) || (options == null ? void 0 : options.name),
|
|
10248
|
+
reason: getTrackErrorReason(error)
|
|
10249
|
+
}
|
|
10250
|
+
);
|
|
9947
10251
|
printCliError(error, "Worker update failed.");
|
|
9948
10252
|
process.exit(1);
|
|
9949
10253
|
}
|
|
@@ -10040,6 +10344,7 @@ async function updateWebCmd(options) {
|
|
|
10040
10344
|
TRACK_EVENTS.projectUpdateWebSuccess,
|
|
10041
10345
|
TRACK_PAGES.deploy,
|
|
10042
10346
|
{
|
|
10347
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectUpdateWebSuccess),
|
|
10043
10348
|
project_name: projectName
|
|
10044
10349
|
}
|
|
10045
10350
|
);
|
|
@@ -10049,6 +10354,7 @@ async function updateWebCmd(options) {
|
|
|
10049
10354
|
TRACK_EVENTS.projectUpdateWebFailed,
|
|
10050
10355
|
TRACK_PAGES.deploy,
|
|
10051
10356
|
{
|
|
10357
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectUpdateWebFailed),
|
|
10052
10358
|
project_name: (options == null ? void 0 : options.projectName) || (options == null ? void 0 : options.name),
|
|
10053
10359
|
reason: getTrackErrorReason(error)
|
|
10054
10360
|
}
|
|
@@ -10138,6 +10444,7 @@ async function deleteCmd(options) {
|
|
|
10138
10444
|
TRACK_EVENTS.projectDeleteSuccess,
|
|
10139
10445
|
TRACK_PAGES.project,
|
|
10140
10446
|
{
|
|
10447
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectDeleteSuccess),
|
|
10141
10448
|
project_name: data.data.project_name,
|
|
10142
10449
|
domain_deleted: Boolean(data.data.domain_deleted),
|
|
10143
10450
|
worker_deleted: Boolean(data.data.worker_deleted),
|
|
@@ -10161,6 +10468,7 @@ Project: ${data.data.project_name}`));
|
|
|
10161
10468
|
TRACK_EVENTS.projectDeleteFailed,
|
|
10162
10469
|
TRACK_PAGES.project,
|
|
10163
10470
|
{
|
|
10471
|
+
a: resolveTrackAction2(TRACK_EVENTS.projectDeleteFailed),
|
|
10164
10472
|
project_name: options.name || getProjectName() || void 0,
|
|
10165
10473
|
force: Boolean(options.force),
|
|
10166
10474
|
reason: getTrackErrorReason(error)
|