- Extract 4756 source files from cli.js.map (57MB) - Set up Bun build system with bun:bundle feature flag shim - Configure 90+ compile-time feature flags matching production defaults - Inject MACRO constants (VERSION, BUILD_TIME, etc.) - Create stubs for private packages (color-diff-napi, modifiers-napi, etc.) - Install all public dependencies via pnpm - Patch commander v14 to allow multi-char short flags (-d2e) - Build output: dist/cli.js (22MB), verified working
35 lines
1023 B
JavaScript
35 lines
1023 B
JavaScript
'use strict';
|
|
|
|
var querystringBuilder = require('@smithy/querystring-builder');
|
|
|
|
function formatUrl(request) {
|
|
const { port, query } = request;
|
|
let { protocol, path, hostname } = request;
|
|
if (protocol && protocol.slice(-1) !== ":") {
|
|
protocol += ":";
|
|
}
|
|
if (port) {
|
|
hostname += `:${port}`;
|
|
}
|
|
if (path && path.charAt(0) !== "/") {
|
|
path = `/${path}`;
|
|
}
|
|
let queryString = query ? querystringBuilder.buildQueryString(query) : "";
|
|
if (queryString && queryString[0] !== "?") {
|
|
queryString = `?${queryString}`;
|
|
}
|
|
let auth = "";
|
|
if (request.username != null || request.password != null) {
|
|
const username = request.username ?? "";
|
|
const password = request.password ?? "";
|
|
auth = `${username}:${password}@`;
|
|
}
|
|
let fragment = "";
|
|
if (request.fragment) {
|
|
fragment = `#${request.fragment}`;
|
|
}
|
|
return `${protocol}//${auth}${hostname}${path}${queryString}${fragment}`;
|
|
}
|
|
|
|
exports.formatUrl = formatUrl;
|