@hot-updater/console 0.30.7 → 0.30.9
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/.output/nitro.json +1 -1
- package/.output/public/assets/{main-CoPJhqkz.js → main-5MdOCmsM.js} +2 -2
- package/.output/public/assets/{routes-CVEbccVq.js → routes-BmbL4goz.js} +2 -2
- package/.output/server/{__tanstack-start-server-fn-resolver-DB7Vwz3A.mjs → __tanstack-start-server-fn-resolver-rXMsqALt.mjs} +11 -11
- package/.output/server/_ssr/{api-rpc-kX2sZt80.mjs → api-rpc-DYKuUgOh.mjs} +2 -2
- package/.output/server/_ssr/{router-fogqFSFT.mjs → router-D-WWsYjv.mjs} +3 -3
- package/.output/server/_ssr/{routes-CgYYFBNT.mjs → routes-DyUhibF4.mjs} +87 -67
- package/.output/server/_ssr/{sidebar-B6a7DDef.mjs → sidebar-DXng0IOP.mjs} +1 -1
- package/.output/server/_ssr/ssr.mjs +3 -3
- package/.output/server/{_tanstack-start-manifest_v-OXy-e32b.mjs → _tanstack-start-manifest_v-xpdCj2Ct.mjs} +4 -4
- package/.output/server/index.mjs +47 -47
- package/README.md +0 -1
- package/package.json +6 -6
- package/.output/server/_libs/chownr.mjs +0 -60
- package/.output/server/_libs/core-util-is.mjs +0 -67
- package/.output/server/_libs/immediate.mjs +0 -57
- package/.output/server/_libs/inherits.mjs +0 -39
- package/.output/server/_libs/isaacs__fs-minipass+minipass.mjs +0 -1154
- package/.output/server/_libs/isarray.mjs +0 -10
- package/.output/server/_libs/jszip+[...].mjs +0 -8311
- package/.output/server/_libs/minizlib.mjs +0 -368
- package/.output/server/_libs/tar+yallist.mjs +0 -3318
- package/.output/server/_ssr/extract-timestamp-from-uuidv7-DO_lXhMa.mjs +0 -24
- package/.output/server/_ssr/promoteBundle-BBOSMtwu.mjs +0 -1571
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/__tanstack-start-server-fn-resolver-
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/__tanstack-start-server-fn-resolver-rXMsqALt.js
|
|
2
2
|
var manifest = {
|
|
3
3
|
"51a34c05479a893c7d320bd4cd1604427289d667698c48b9f30a01aabf8a5e68": {
|
|
4
4
|
functionName: "getConfig_createServerFn_handler",
|
|
5
|
-
importer: () => import("./_ssr/api-rpc-
|
|
5
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
6
6
|
},
|
|
7
7
|
"79ada05964de8f2123bfcd62b10097d59bf8fd689ef5c7161031e5871d8396c5": {
|
|
8
8
|
functionName: "getChannels_createServerFn_handler",
|
|
9
|
-
importer: () => import("./_ssr/api-rpc-
|
|
9
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
10
10
|
},
|
|
11
11
|
"f8bdca3d0579adb812d6404f55d9261a89cdb025e920b1fcad82883646a5fe9e": {
|
|
12
12
|
functionName: "getConfigLoaded_createServerFn_handler",
|
|
13
|
-
importer: () => import("./_ssr/api-rpc-
|
|
13
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
14
14
|
},
|
|
15
15
|
"00ccacb4a0212c83ec29f4d11719046ad91ea8291cfc557d514dbf00d3bd7f5f": {
|
|
16
16
|
functionName: "getBundles_createServerFn_handler",
|
|
17
|
-
importer: () => import("./_ssr/api-rpc-
|
|
17
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
18
18
|
},
|
|
19
19
|
"1bd85c2a50e24785cb6abb023a247a9f048f37ddfa85cbb1c57e579563bad013": {
|
|
20
20
|
functionName: "getBundle_createServerFn_handler",
|
|
21
|
-
importer: () => import("./_ssr/api-rpc-
|
|
21
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
22
22
|
},
|
|
23
23
|
"e000081a14772a0496dfdf615232fbbb1a23b89191d0e32f89a05dd67a1916f7": {
|
|
24
24
|
functionName: "getBundleDownloadUrl_createServerFn_handler",
|
|
25
|
-
importer: () => import("./_ssr/api-rpc-
|
|
25
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
26
26
|
},
|
|
27
27
|
"67f90ce4cd10fd0226cd9d77cdcd8d0f25a59a6ac406360b655e44296bc4208b": {
|
|
28
28
|
functionName: "updateBundle_createServerFn_handler",
|
|
29
|
-
importer: () => import("./_ssr/api-rpc-
|
|
29
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
30
30
|
},
|
|
31
31
|
"c4ef3bbb77ea8a4410623fd18a4741e2ff0668b1a97510bcdd032a8428eaa5da": {
|
|
32
32
|
functionName: "promoteBundle_createServerFn_handler",
|
|
33
|
-
importer: () => import("./_ssr/api-rpc-
|
|
33
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
34
34
|
},
|
|
35
35
|
"16cc7c2f080ea5b73e0c6bba815b110dbd7727796036d248ba0d8ae819ddef08": {
|
|
36
36
|
functionName: "createBundle_createServerFn_handler",
|
|
37
|
-
importer: () => import("./_ssr/api-rpc-
|
|
37
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
38
38
|
},
|
|
39
39
|
"3a27ff5679228b86a346b3fe42142e7a5bf0264f73173c0dbe5f07fb37c43cf7": {
|
|
40
40
|
functionName: "deleteBundle_createServerFn_handler",
|
|
41
|
-
importer: () => import("./_ssr/api-rpc-
|
|
41
|
+
importer: () => import("./_ssr/api-rpc-DYKuUgOh.mjs")
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
async function getServerFnById(id) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as createServerFn, i as TSS_SERVER_FUNCTION } from "./createServerFn-CdeRXnVy.mjs";
|
|
2
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/api-rpc-
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/api-rpc-DYKuUgOh.js
|
|
3
3
|
var createServerRpc = (serverFnMeta, splitImportFn) => {
|
|
4
4
|
const url = "/_serverFn/" + serverFnMeta.id;
|
|
5
5
|
return Object.assign(splitImportFn, {
|
|
@@ -165,7 +165,7 @@ var promoteBundle_createServerFn_handler = createServerRpc({
|
|
|
165
165
|
var promoteBundle = createServerFn({ method: "POST" }).inputValidator((input) => input).handler(promoteBundle_createServerFn_handler, async ({ data }) => {
|
|
166
166
|
try {
|
|
167
167
|
const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
|
|
168
|
-
const { promoteBundle: promoteBundleWithConfig } = await import("
|
|
168
|
+
const { promoteBundle: promoteBundleWithConfig } = await import("@hot-updater/cli-tools");
|
|
169
169
|
const { config, databasePlugin, storagePlugin } = await prepareConfig();
|
|
170
170
|
return {
|
|
171
171
|
success: true,
|
|
@@ -2,13 +2,13 @@ import { r as __toESM } from "../_runtime.mjs";
|
|
|
2
2
|
import { P as require_jsx_runtime } from "../_libs/@radix-ui/react-alert-dialog+[...].mjs";
|
|
3
3
|
import { u as require_react } from "../_libs/@floating-ui/react-dom+[...].mjs";
|
|
4
4
|
import { _ as CircleCheck, c as Moon, f as Info, n as TriangleAlert, o as Package, r as Sun, s as OctagonX, u as LoaderCircle } from "../_libs/lucide-react.mjs";
|
|
5
|
-
import { T as TooltipProvider, _ as SidebarMenu, b as SidebarProvider, d as SidebarFooter, f as SidebarGroup, g as SidebarInset, h as SidebarHeader, l as Sidebar, m as SidebarGroupLabel, p as SidebarGroupContent, t as Button, u as SidebarContent, v as SidebarMenuButton, y as SidebarMenuItem } from "./sidebar-
|
|
5
|
+
import { T as TooltipProvider, _ as SidebarMenu, b as SidebarProvider, d as SidebarFooter, f as SidebarGroup, g as SidebarInset, h as SidebarHeader, l as Sidebar, m as SidebarGroupLabel, p as SidebarGroupContent, t as Button, u as SidebarContent, v as SidebarMenuButton, y as SidebarMenuItem } from "./sidebar-DXng0IOP.mjs";
|
|
6
6
|
import { a as createRouter, c as createFileRoute, l as createRootRoute, n as Scripts, o as Outlet, p as useRouterState, r as HeadContent, s as lazyRouteComponent, u as Link } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
7
7
|
import { t as QueryClient } from "../_libs/tanstack__query-core.mjs";
|
|
8
8
|
import { r as QueryClientProvider } from "../_libs/tanstack__react-query.mjs";
|
|
9
9
|
import { t as z } from "../_libs/next-themes.mjs";
|
|
10
10
|
import { t as Toaster } from "../_libs/sonner.mjs";
|
|
11
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/router-
|
|
11
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/router-D-WWsYjv.js
|
|
12
12
|
var import_jsx_runtime = require_jsx_runtime();
|
|
13
13
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
14
14
|
function HotUpdaterLogo({ className }) {
|
|
@@ -227,7 +227,7 @@ function RootLayout() {
|
|
|
227
227
|
(0, import_react.useEffect)(() => {}, []);
|
|
228
228
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SidebarProvider, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppSidebar, {}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SidebarInset, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Outlet, {}) })] });
|
|
229
229
|
}
|
|
230
|
-
var $$splitComponentImporter = () => import("./routes-
|
|
230
|
+
var $$splitComponentImporter = () => import("./routes-DyUhibF4.mjs");
|
|
231
231
|
var rootRouteChildren = { IndexRoute: createFileRoute("/")({
|
|
232
232
|
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
233
233
|
validateSearch: (search) => {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { r as __toESM } from "../_runtime.mjs";
|
|
2
2
|
import { c as createServerFn, i as TSS_SERVER_FUNCTION } from "./createServerFn-CdeRXnVy.mjs";
|
|
3
|
-
import { n as extractTimestampFromUUIDv7, t as createUUIDv7 } from "./extract-timestamp-from-uuidv7-DO_lXhMa.mjs";
|
|
4
3
|
import { A as Slot, P as require_jsx_runtime, a as Overlay2, c as Title2, d as Description, f as Overlay, g as Trigger, h as Title, i as Description2, l as Close, m as Root, n as Cancel, o as Portal2, p as Portal, r as Content2, s as Root2, t as Action, u as Content } from "../_libs/@radix-ui/react-alert-dialog+[...].mjs";
|
|
5
4
|
import { u as require_react } from "../_libs/@floating-ui/react-dom+[...].mjs";
|
|
6
5
|
import { S as Check, b as ChevronLeft, d as List, g as Download, h as ExternalLink, i as Plus, l as Minus, m as FingerprintPattern, n as TriangleAlert, o as Package, p as Funnel, t as X, v as ChevronUp, x as ChevronDown, y as ChevronRight } from "../_libs/lucide-react.mjs";
|
|
@@ -9,21 +8,84 @@ import { a as ItemText, c as ScrollDownButton, d as Value, f as Viewport, i as I
|
|
|
9
8
|
import { t as Root$1 } from "../_libs/radix-ui__react-label.mjs";
|
|
10
9
|
import { i as Track, n as Root$2, r as Thumb, t as Range } from "../_libs/radix-ui__react-slider.mjs";
|
|
11
10
|
import { n as Thumb$1, t as Root$3 } from "../_libs/radix-ui__react-switch.mjs";
|
|
12
|
-
import { C as Tooltip$1, D as cn, E as TooltipTrigger, S as Skeleton, T as TooltipProvider, a as SheetContent, c as SheetTitle, i as Sheet, n as Input, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button, w as TooltipContent, x as SidebarTrigger } from "./sidebar-
|
|
11
|
+
import { C as Tooltip$1, D as cn, E as TooltipTrigger, S as Skeleton, T as TooltipProvider, a as SheetContent, c as SheetTitle, i as Sheet, n as Input, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button, w as TooltipContent, x as SidebarTrigger } from "./sidebar-DXng0IOP.mjs";
|
|
13
12
|
import { d as useNavigate, f as useSearch } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
14
13
|
import { n as useStore, t as useForm } from "../_libs/@tanstack/react-form+[...].mjs";
|
|
15
14
|
import { i as useQueryClient, n as useQuery, t as useMutation } from "../_libs/tanstack__react-query.mjs";
|
|
16
15
|
import { n as toast } from "../_libs/sonner.mjs";
|
|
17
|
-
import { t as getServerFnById } from "../__tanstack-start-server-fn-resolver-
|
|
16
|
+
import { t as getServerFnById } from "../__tanstack-start-server-fn-resolver-rXMsqALt.mjs";
|
|
18
17
|
import { t as require_semver } from "../_libs/semver.mjs";
|
|
19
18
|
import { i as getCoreRowModel, n as useReactTable, r as createColumnHelper, t as flexRender } from "../_libs/@tanstack/react-table+[...].mjs";
|
|
20
19
|
import { n as require_dayjs_min, t as require_relativeTime } from "../_libs/dayjs.mjs";
|
|
21
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/routes-
|
|
20
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-DyUhibF4.js
|
|
22
21
|
var import_jsx_runtime = require_jsx_runtime();
|
|
23
22
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
24
23
|
var import_semver = /* @__PURE__ */ __toESM(require_semver());
|
|
25
24
|
var import_dayjs_min = /* @__PURE__ */ __toESM(require_dayjs_min());
|
|
26
25
|
var import_relativeTime = /* @__PURE__ */ __toESM(require_relativeTime());
|
|
26
|
+
function AppleIcon({ className }) {
|
|
27
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
|
|
28
|
+
role: "img",
|
|
29
|
+
"aria-label": "iOS",
|
|
30
|
+
viewBox: "0 0 24 24",
|
|
31
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
32
|
+
className,
|
|
33
|
+
fill: "currentColor",
|
|
34
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701" })
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function AndroidIcon({ className }) {
|
|
38
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
|
|
39
|
+
role: "img",
|
|
40
|
+
"aria-label": "Android",
|
|
41
|
+
viewBox: "0 0 24 24",
|
|
42
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
43
|
+
className,
|
|
44
|
+
fill: "currentColor",
|
|
45
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M18.4395 5.5586c-.675 1.1664-1.352 2.3318-2.0274 3.498-.0366-.0155-.0742-.0286-.1113-.043-1.8249-.6957-3.484-.8-4.42-.787-1.8551.0185-3.3544.4643-4.2597.8203-.084-.1494-1.7526-3.021-2.0215-3.4864a1.1451 1.1451 0 0 0-.1406-.1914c-.3312-.364-.9054-.4859-1.379-.203-.475.282-.7136.9361-.3886 1.5019 1.9466 3.3696-.0966-.2158 1.9473 3.3593.0172.031-.4946.2642-1.3926 1.0177C2.8987 12.176.452 14.772 0 18.9902h24c-.119-1.1108-.3686-2.099-.7461-3.0683-.7438-1.9118-1.8435-3.2928-2.7402-4.1836a12.1048 12.1048 0 0 0-2.1309-1.6875c.6594-1.122 1.312-2.2559 1.9649-3.3848.2077-.3615.1886-.7956-.0079-1.1191a1.1001 1.1001 0 0 0-.8515-.5332c-.5225-.0536-.9392.3128-1.0488.5449zm-.0391 8.461c.3944.5926.324 1.3306-.1563 1.6503-.4799.3197-1.188.0985-1.582-.4941-.3944-.5927-.324-1.3307.1563-1.6504.4727-.315 1.1812-.1086 1.582.4941zM7.207 13.5273c.4803.3197.5506 1.0577.1563 1.6504-.394.5926-1.1038.8138-1.584.4941-.48-.3197-.5503-1.0577-.1563-1.6504.4008-.6021 1.1087-.8106 1.584-.4941z" })
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function PlatformIcon({ platform, className }) {
|
|
49
|
+
if (platform === "ios") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppleIcon, { className });
|
|
50
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AndroidIcon, { className });
|
|
51
|
+
}
|
|
52
|
+
function BundleBasicInfo({ bundle }) {
|
|
53
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
54
|
+
className: "flex flex-col gap-3 text-sm mt-1",
|
|
55
|
+
children: [
|
|
56
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
57
|
+
className: "flex items-center gap-2",
|
|
58
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(PlatformIcon, {
|
|
59
|
+
platform: bundle.platform,
|
|
60
|
+
className: "h-4 w-4"
|
|
61
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
62
|
+
className: "font-medium",
|
|
63
|
+
children: bundle.platform === "ios" ? "iOS" : "Android"
|
|
64
|
+
})]
|
|
65
|
+
}),
|
|
66
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
67
|
+
className: "flex items-center gap-2",
|
|
68
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69
|
+
className: "font-medium text-muted-foreground",
|
|
70
|
+
children: "Bundle ID"
|
|
71
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
72
|
+
className: "text-xs text-foreground",
|
|
73
|
+
children: bundle.id
|
|
74
|
+
})]
|
|
75
|
+
}),
|
|
76
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
77
|
+
className: "flex items-center gap-2",
|
|
78
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
79
|
+
className: "font-medium text-muted-foreground",
|
|
80
|
+
children: "Channel"
|
|
81
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
82
|
+
className: "text-xs text-foreground",
|
|
83
|
+
children: bundle.channel
|
|
84
|
+
})]
|
|
85
|
+
})
|
|
86
|
+
]
|
|
87
|
+
});
|
|
88
|
+
}
|
|
27
89
|
var NUMERIC_COHORT_SIZE = 1e3;
|
|
28
90
|
var DEFAULT_ROLLOUT_COHORT_COUNT = NUMERIC_COHORT_SIZE;
|
|
29
91
|
var INVALID_COHORT_ERROR_MESSAGE = `Invalid cohort. Use 1-1000 or a lowercase slug without spaces, up to 64 characters.`;
|
|
@@ -114,69 +176,6 @@ function getNumericCohortRolloutPosition(bundleId, cohortValue) {
|
|
|
114
176
|
const { offset, inverseMultiplier } = getRolloutShuffleParameters(bundleId);
|
|
115
177
|
return positiveMod(inverseMultiplier * (cohortValue - 1 - offset), NUMERIC_COHORT_SIZE);
|
|
116
178
|
}
|
|
117
|
-
function AppleIcon({ className }) {
|
|
118
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
|
|
119
|
-
role: "img",
|
|
120
|
-
"aria-label": "iOS",
|
|
121
|
-
viewBox: "0 0 24 24",
|
|
122
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
123
|
-
className,
|
|
124
|
-
fill: "currentColor",
|
|
125
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701" })
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
function AndroidIcon({ className }) {
|
|
129
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
|
|
130
|
-
role: "img",
|
|
131
|
-
"aria-label": "Android",
|
|
132
|
-
viewBox: "0 0 24 24",
|
|
133
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
134
|
-
className,
|
|
135
|
-
fill: "currentColor",
|
|
136
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M18.4395 5.5586c-.675 1.1664-1.352 2.3318-2.0274 3.498-.0366-.0155-.0742-.0286-.1113-.043-1.8249-.6957-3.484-.8-4.42-.787-1.8551.0185-3.3544.4643-4.2597.8203-.084-.1494-1.7526-3.021-2.0215-3.4864a1.1451 1.1451 0 0 0-.1406-.1914c-.3312-.364-.9054-.4859-1.379-.203-.475.282-.7136.9361-.3886 1.5019 1.9466 3.3696-.0966-.2158 1.9473 3.3593.0172.031-.4946.2642-1.3926 1.0177C2.8987 12.176.452 14.772 0 18.9902h24c-.119-1.1108-.3686-2.099-.7461-3.0683-.7438-1.9118-1.8435-3.2928-2.7402-4.1836a12.1048 12.1048 0 0 0-2.1309-1.6875c.6594-1.122 1.312-2.2559 1.9649-3.3848.2077-.3615.1886-.7956-.0079-1.1191a1.1001 1.1001 0 0 0-.8515-.5332c-.5225-.0536-.9392.3128-1.0488.5449zm-.0391 8.461c.3944.5926.324 1.3306-.1563 1.6503-.4799.3197-1.188.0985-1.582-.4941-.3944-.5927-.324-1.3307.1563-1.6504.4727-.315 1.1812-.1086 1.582.4941zM7.207 13.5273c.4803.3197.5506 1.0577.1563 1.6504-.394.5926-1.1038.8138-1.584.4941-.48-.3197-.5503-1.0577-.1563-1.6504.4008-.6021 1.1087-.8106 1.584-.4941z" })
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
function PlatformIcon({ platform, className }) {
|
|
140
|
-
if (platform === "ios") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppleIcon, { className });
|
|
141
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AndroidIcon, { className });
|
|
142
|
-
}
|
|
143
|
-
function BundleBasicInfo({ bundle }) {
|
|
144
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
145
|
-
className: "flex flex-col gap-3 text-sm mt-1",
|
|
146
|
-
children: [
|
|
147
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
148
|
-
className: "flex items-center gap-2",
|
|
149
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(PlatformIcon, {
|
|
150
|
-
platform: bundle.platform,
|
|
151
|
-
className: "h-4 w-4"
|
|
152
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
153
|
-
className: "font-medium",
|
|
154
|
-
children: bundle.platform === "ios" ? "iOS" : "Android"
|
|
155
|
-
})]
|
|
156
|
-
}),
|
|
157
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
158
|
-
className: "flex items-center gap-2",
|
|
159
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
160
|
-
className: "font-medium text-muted-foreground",
|
|
161
|
-
children: "Bundle ID"
|
|
162
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
163
|
-
className: "text-xs text-foreground",
|
|
164
|
-
children: bundle.id
|
|
165
|
-
})]
|
|
166
|
-
}),
|
|
167
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
168
|
-
className: "flex items-center gap-2",
|
|
169
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
170
|
-
className: "font-medium text-muted-foreground",
|
|
171
|
-
children: "Channel"
|
|
172
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
173
|
-
className: "text-xs text-foreground",
|
|
174
|
-
children: bundle.channel
|
|
175
|
-
})]
|
|
176
|
-
})
|
|
177
|
-
]
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
179
|
var badgeVariants = cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", {
|
|
181
180
|
variants: { variant: {
|
|
182
181
|
default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
|
|
@@ -549,6 +548,27 @@ function DeleteBundleDialog({ bundle, open, onOpenChange, onSuccess }) {
|
|
|
549
548
|
})
|
|
550
549
|
});
|
|
551
550
|
}
|
|
551
|
+
var extractTimestampFromUUIDv7 = (uuid) => {
|
|
552
|
+
const timestampHex = uuid.split("-").join("").slice(0, 12);
|
|
553
|
+
return Number.parseInt(timestampHex, 16);
|
|
554
|
+
};
|
|
555
|
+
function createUUIDv7FromTimestampHex(timestampHex) {
|
|
556
|
+
const randomBytes = new Uint8Array(10);
|
|
557
|
+
crypto.getRandomValues(randomBytes);
|
|
558
|
+
const randomHex = Array.from(randomBytes).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
559
|
+
const randA = randomHex.slice(0, 3);
|
|
560
|
+
const randBHex = randomHex.slice(3, 19);
|
|
561
|
+
const versionAndRandA = `7${randA}`;
|
|
562
|
+
const variantAndFirstRandB = (128 | parseInt(randBHex.slice(0, 2), 16) & 63).toString(16).padStart(2, "0");
|
|
563
|
+
return [
|
|
564
|
+
timestampHex.slice(0, 8),
|
|
565
|
+
timestampHex.slice(8, 12),
|
|
566
|
+
versionAndRandA,
|
|
567
|
+
variantAndFirstRandB + randBHex.slice(2, 4),
|
|
568
|
+
randBHex.slice(4, 16)
|
|
569
|
+
].join("-");
|
|
570
|
+
}
|
|
571
|
+
var createUUIDv7 = () => createUUIDv7FromTimestampHex(Date.now().toString(16).padStart(12, "0"));
|
|
552
572
|
function Dialog$1({ ...props }) {
|
|
553
573
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Root, {
|
|
554
574
|
"data-slot": "dialog",
|
|
@@ -6,7 +6,7 @@ import { n as clsx, t as cva } from "../_libs/class-variance-authority+clsx.mjs"
|
|
|
6
6
|
import { t as Root$1 } from "../_libs/radix-ui__react-separator.mjs";
|
|
7
7
|
import { a as Root3, i as Provider, n as Content2, o as Trigger, r as Portal$1, t as Arrow2 } from "../_libs/radix-ui__react-tooltip.mjs";
|
|
8
8
|
import { t as twMerge } from "../_libs/tailwind-merge.mjs";
|
|
9
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/sidebar-
|
|
9
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/sidebar-DXng0IOP.js
|
|
10
10
|
var import_jsx_runtime = require_jsx_runtime();
|
|
11
11
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
12
12
|
function cn(...inputs) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as X_TSS_RAW_RESPONSE, d as isRedirect, f as isResolvedRedirect, h as safeObjectMerge, i as TSS_SERVER_FUNCTION, l as flattenMiddlewares, m as runWithStartContext, n as TSS_CONTENT_TYPE_FRAMED_VERSIONED, o as X_TSS_SERIALIZED, p as mergeHeaders, r as TSS_FORMDATA_CONTEXT, s as createNullProtoObject, t as FrameType, u as getStartOptions } from "./createServerFn-CdeRXnVy.mjs";
|
|
2
2
|
import { P as require_jsx_runtime } from "../_libs/@radix-ui/react-alert-dialog+[...].mjs";
|
|
3
3
|
import { i as RouterProvider, t as renderRouterToStream } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
4
|
-
import { t as getServerFnById } from "../__tanstack-start-server-fn-resolver-
|
|
4
|
+
import { t as getServerFnById } from "../__tanstack-start-server-fn-resolver-rXMsqALt.mjs";
|
|
5
5
|
import { t as defineHandlerCallback } from "../_libs/tanstack__router-core.mjs";
|
|
6
6
|
import { PassThrough, Readable } from "node:stream";
|
|
7
7
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
@@ -3955,7 +3955,7 @@ function getResponse() {
|
|
|
3955
3955
|
return getH3Event().res;
|
|
3956
3956
|
}
|
|
3957
3957
|
async function getStartManifest(matchedRoutes) {
|
|
3958
|
-
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-
|
|
3958
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-xpdCj2Ct.mjs");
|
|
3959
3959
|
const startManifest = tsrStartManifest();
|
|
3960
3960
|
const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes["__root__"] || {};
|
|
3961
3961
|
rootRoute.assets = rootRoute.assets || [];
|
|
@@ -4375,7 +4375,7 @@ var entriesPromise;
|
|
|
4375
4375
|
var baseManifestPromise;
|
|
4376
4376
|
var cachedFinalManifestPromise;
|
|
4377
4377
|
async function loadEntries() {
|
|
4378
|
-
const routerEntry = await import("./router-
|
|
4378
|
+
const routerEntry = await import("./router-D-WWsYjv.mjs");
|
|
4379
4379
|
return {
|
|
4380
4380
|
startEntry: await import("./start-DsRb6TkZ.mjs"),
|
|
4381
4381
|
routerEntry
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-xpdCj2Ct.js
|
|
2
2
|
var tsrStartManifest = () => ({
|
|
3
3
|
"routes": {
|
|
4
4
|
"__root__": {
|
|
5
5
|
"filePath": "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/__root.tsx",
|
|
6
6
|
"children": ["/"],
|
|
7
|
-
"preloads": ["/assets/main-
|
|
7
|
+
"preloads": ["/assets/main-5MdOCmsM.js", "/assets/dist-BKho179_.js"]
|
|
8
8
|
},
|
|
9
9
|
"/": {
|
|
10
10
|
"filePath": "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/index.tsx",
|
|
11
|
-
"preloads": ["/assets/routes-
|
|
11
|
+
"preloads": ["/assets/routes-BmbL4goz.js"]
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
|
-
"clientEntry": "/assets/main-
|
|
14
|
+
"clientEntry": "/assets/main-5MdOCmsM.js"
|
|
15
15
|
});
|
|
16
16
|
//#endregion
|
|
17
17
|
export { tsrStartManifest };
|
package/.output/server/index.mjs
CHANGED
|
@@ -80,128 +80,128 @@ var public_assets_data_default = {
|
|
|
80
80
|
"/apple-touch-icon.png": {
|
|
81
81
|
"type": "image/png",
|
|
82
82
|
"etag": "\"329e-uyxOmLQHjRnOIdaE3FE7O/uZ9l4\"",
|
|
83
|
-
"mtime": "2026-05-
|
|
83
|
+
"mtime": "2026-05-06T16:33:29.489Z",
|
|
84
84
|
"size": 12958,
|
|
85
85
|
"path": "../public/apple-touch-icon.png"
|
|
86
86
|
},
|
|
87
87
|
"/favicon-16x16.png": {
|
|
88
88
|
"type": "image/png",
|
|
89
89
|
"etag": "\"240-h6ktCVLfjIcsDJuLwUXP4nCJxlI\"",
|
|
90
|
-
"mtime": "2026-05-
|
|
90
|
+
"mtime": "2026-05-06T16:33:29.490Z",
|
|
91
91
|
"size": 576,
|
|
92
92
|
"path": "../public/favicon-16x16.png"
|
|
93
93
|
},
|
|
94
94
|
"/favicon-32x32.png": {
|
|
95
95
|
"type": "image/png",
|
|
96
96
|
"etag": "\"4f0-0qQrV3Eq3PzIigrp+8htf8vFCYA\"",
|
|
97
|
-
"mtime": "2026-05-
|
|
97
|
+
"mtime": "2026-05-06T16:33:29.490Z",
|
|
98
98
|
"size": 1264,
|
|
99
99
|
"path": "../public/favicon-32x32.png"
|
|
100
100
|
},
|
|
101
101
|
"/favicon.ico": {
|
|
102
102
|
"type": "image/vnd.microsoft.icon",
|
|
103
103
|
"etag": "\"3c2e-eMwmbJNNg6G+Uu+rqWtuvtI2Om4\"",
|
|
104
|
-
"mtime": "2026-05-
|
|
104
|
+
"mtime": "2026-05-06T16:33:29.490Z",
|
|
105
105
|
"size": 15406,
|
|
106
106
|
"path": "../public/favicon.ico"
|
|
107
107
|
},
|
|
108
108
|
"/logo.svg": {
|
|
109
109
|
"type": "image/svg+xml",
|
|
110
110
|
"etag": "\"478-zKvD9Jp5dDLCBmng0McewYMBxfs\"",
|
|
111
|
-
"mtime": "2026-05-
|
|
111
|
+
"mtime": "2026-05-06T16:33:29.489Z",
|
|
112
112
|
"size": 1144,
|
|
113
113
|
"path": "../public/logo.svg"
|
|
114
114
|
},
|
|
115
|
-
"/manifest.json": {
|
|
116
|
-
"type": "application/json",
|
|
117
|
-
"etag": "\"258-CQdbkGDhbZhU+yrcSXanXKWFEpw\"",
|
|
118
|
-
"mtime": "2026-05-02T07:14:38.375Z",
|
|
119
|
-
"size": 600,
|
|
120
|
-
"path": "../public/manifest.json"
|
|
121
|
-
},
|
|
122
115
|
"/robots.txt": {
|
|
123
116
|
"type": "text/plain; charset=utf-8",
|
|
124
117
|
"etag": "\"43-BEzmj4PuhUNHX+oW9uOnPSihxtU\"",
|
|
125
|
-
"mtime": "2026-05-
|
|
118
|
+
"mtime": "2026-05-06T16:33:29.490Z",
|
|
126
119
|
"size": 67,
|
|
127
120
|
"path": "../public/robots.txt"
|
|
128
121
|
},
|
|
129
|
-
"/
|
|
130
|
-
"type": "
|
|
131
|
-
"etag": "\"
|
|
132
|
-
"mtime": "2026-05-
|
|
133
|
-
"size":
|
|
134
|
-
"path": "../public/
|
|
122
|
+
"/manifest.json": {
|
|
123
|
+
"type": "application/json",
|
|
124
|
+
"etag": "\"258-CQdbkGDhbZhU+yrcSXanXKWFEpw\"",
|
|
125
|
+
"mtime": "2026-05-06T16:33:29.490Z",
|
|
126
|
+
"size": 600,
|
|
127
|
+
"path": "../public/manifest.json"
|
|
128
|
+
},
|
|
129
|
+
"/assets/dist-BKho179_.js": {
|
|
130
|
+
"type": "text/javascript; charset=utf-8",
|
|
131
|
+
"etag": "\"35235-u/sDKSWfxLQCuHBIXR8IYoldgSQ\"",
|
|
132
|
+
"mtime": "2026-05-06T16:33:28.780Z",
|
|
133
|
+
"size": 217653,
|
|
134
|
+
"path": "../public/assets/dist-BKho179_.js"
|
|
135
135
|
},
|
|
136
136
|
"/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2": {
|
|
137
137
|
"type": "font/woff2",
|
|
138
138
|
"etag": "\"6568-cF1iUGbboMFZ8TfnP5HiMgl9II0\"",
|
|
139
|
-
"mtime": "2026-05-
|
|
139
|
+
"mtime": "2026-05-06T16:33:28.781Z",
|
|
140
140
|
"size": 25960,
|
|
141
141
|
"path": "../public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2"
|
|
142
142
|
},
|
|
143
|
+
"/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2": {
|
|
144
|
+
"type": "font/woff2",
|
|
145
|
+
"etag": "\"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ\"",
|
|
146
|
+
"mtime": "2026-05-06T16:33:28.781Z",
|
|
147
|
+
"size": 18748,
|
|
148
|
+
"path": "../public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2"
|
|
149
|
+
},
|
|
143
150
|
"/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2": {
|
|
144
151
|
"type": "font/woff2",
|
|
145
152
|
"etag": "\"2be0-BP5iTzJeB8nLqYAgKpWNi5o1Zm8\"",
|
|
146
|
-
"mtime": "2026-05-
|
|
153
|
+
"mtime": "2026-05-06T16:33:28.781Z",
|
|
147
154
|
"size": 11232,
|
|
148
155
|
"path": "../public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2"
|
|
149
156
|
},
|
|
150
|
-
"/assets/dist-BKho179_.js": {
|
|
151
|
-
"type": "text/javascript; charset=utf-8",
|
|
152
|
-
"etag": "\"35235-u/sDKSWfxLQCuHBIXR8IYoldgSQ\"",
|
|
153
|
-
"mtime": "2026-05-02T07:14:37.725Z",
|
|
154
|
-
"size": 217653,
|
|
155
|
-
"path": "../public/assets/dist-BKho179_.js"
|
|
156
|
-
},
|
|
157
157
|
"/assets/inter-greek-wght-normal-CkhJZR-_.woff2": {
|
|
158
158
|
"type": "font/woff2",
|
|
159
159
|
"etag": "\"4a34-xor/hj4YNqI52zFecXnUbzQ4Xs4\"",
|
|
160
|
-
"mtime": "2026-05-
|
|
160
|
+
"mtime": "2026-05-06T16:33:28.781Z",
|
|
161
161
|
"size": 18996,
|
|
162
162
|
"path": "../public/assets/inter-greek-wght-normal-CkhJZR-_.woff2"
|
|
163
163
|
},
|
|
164
164
|
"/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2": {
|
|
165
165
|
"type": "font/woff2",
|
|
166
166
|
"etag": "\"14c4c-zz61D7IQFMB9QxHvTAOk/Vh4ibQ\"",
|
|
167
|
-
"mtime": "2026-05-
|
|
167
|
+
"mtime": "2026-05-06T16:33:28.781Z",
|
|
168
168
|
"size": 85068,
|
|
169
169
|
"path": "../public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2"
|
|
170
170
|
},
|
|
171
171
|
"/assets/inter-latin-wght-normal-Dx4kXJAl.woff2": {
|
|
172
172
|
"type": "font/woff2",
|
|
173
173
|
"etag": "\"bc80-8R1ym7Ck2DUNLqPQ/AYs9u8tUpg\"",
|
|
174
|
-
"mtime": "2026-05-
|
|
174
|
+
"mtime": "2026-05-06T16:33:28.781Z",
|
|
175
175
|
"size": 48256,
|
|
176
176
|
"path": "../public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2"
|
|
177
177
|
},
|
|
178
178
|
"/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2": {
|
|
179
179
|
"type": "font/woff2",
|
|
180
180
|
"etag": "\"280c-nBythjoDQ0+5wVAendJ6wU7Xz2M\"",
|
|
181
|
-
"mtime": "2026-05-
|
|
181
|
+
"mtime": "2026-05-06T16:33:28.781Z",
|
|
182
182
|
"size": 10252,
|
|
183
183
|
"path": "../public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2"
|
|
184
184
|
},
|
|
185
|
+
"/assets/main-5MdOCmsM.js": {
|
|
186
|
+
"type": "text/javascript; charset=utf-8",
|
|
187
|
+
"etag": "\"439bb-FgeNTu4/ahv5yeqyOp0U8vweFm4\"",
|
|
188
|
+
"mtime": "2026-05-06T16:33:28.780Z",
|
|
189
|
+
"size": 276923,
|
|
190
|
+
"path": "../public/assets/main-5MdOCmsM.js"
|
|
191
|
+
},
|
|
192
|
+
"/assets/routes-BmbL4goz.js": {
|
|
193
|
+
"type": "text/javascript; charset=utf-8",
|
|
194
|
+
"etag": "\"34b05-9Vhnbv8DForMLWH+sVIYv/OBY6Q\"",
|
|
195
|
+
"mtime": "2026-05-06T16:33:28.780Z",
|
|
196
|
+
"size": 215813,
|
|
197
|
+
"path": "../public/assets/routes-BmbL4goz.js"
|
|
198
|
+
},
|
|
185
199
|
"/assets/styles-M2W42JQb.css": {
|
|
186
200
|
"type": "text/css; charset=utf-8",
|
|
187
201
|
"etag": "\"16c09-0PgJUH0UJ7vffHYoje/awxCquoI\"",
|
|
188
|
-
"mtime": "2026-05-
|
|
202
|
+
"mtime": "2026-05-06T16:33:28.781Z",
|
|
189
203
|
"size": 93193,
|
|
190
204
|
"path": "../public/assets/styles-M2W42JQb.css"
|
|
191
|
-
},
|
|
192
|
-
"/assets/routes-CVEbccVq.js": {
|
|
193
|
-
"type": "text/javascript; charset=utf-8",
|
|
194
|
-
"etag": "\"34b05-3mdibK1idGwv4pZIDgSJq2HS4Vc\"",
|
|
195
|
-
"mtime": "2026-05-02T07:14:37.725Z",
|
|
196
|
-
"size": 215813,
|
|
197
|
-
"path": "../public/assets/routes-CVEbccVq.js"
|
|
198
|
-
},
|
|
199
|
-
"/assets/main-CoPJhqkz.js": {
|
|
200
|
-
"type": "text/javascript; charset=utf-8",
|
|
201
|
-
"etag": "\"439bb-uLvRmjLg5Gac65VCaKbIpqIGKpo\"",
|
|
202
|
-
"mtime": "2026-05-02T07:14:37.723Z",
|
|
203
|
-
"size": 276923,
|
|
204
|
-
"path": "../public/assets/main-CoPJhqkz.js"
|
|
205
205
|
}
|
|
206
206
|
};
|
|
207
207
|
//#endregion
|
package/README.md
CHANGED
|
@@ -83,7 +83,6 @@ src/
|
|
|
83
83
|
│ ├── api.ts # React Query hooks
|
|
84
84
|
│ ├── constants.ts # Shared constants
|
|
85
85
|
│ ├── utils.ts # Utility functions
|
|
86
|
-
│ ├── extract-timestamp-from-uuidv7.ts
|
|
87
86
|
│ └── server/
|
|
88
87
|
│ ├── api.server.ts # Server functions
|
|
89
88
|
│ └── config.server.ts # Hot Updater config loader
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hot-updater/console",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.30.
|
|
4
|
+
"version": "0.30.9",
|
|
5
5
|
"files": [
|
|
6
6
|
".output",
|
|
7
7
|
"package.json"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"./package.json": "./package.json"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
|
-
"@hot-updater/cli-tools": "0.30.
|
|
13
|
+
"@hot-updater/cli-tools": "0.30.9"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@base-ui/react": "^1.3.0",
|
|
@@ -58,10 +58,10 @@
|
|
|
58
58
|
"vite-tsconfig-paths": "^6.1.1",
|
|
59
59
|
"vitest": "4.1.4",
|
|
60
60
|
"web-vitals": "^5.1.0",
|
|
61
|
-
"@hot-updater/cli-tools": "0.30.
|
|
62
|
-
"@hot-updater/core": "0.30.
|
|
63
|
-
"@hot-updater/mock": "0.30.
|
|
64
|
-
"@hot-updater/plugin-core": "0.30.
|
|
61
|
+
"@hot-updater/cli-tools": "0.30.9",
|
|
62
|
+
"@hot-updater/core": "0.30.9",
|
|
63
|
+
"@hot-updater/mock": "0.30.9",
|
|
64
|
+
"@hot-updater/plugin-core": "0.30.9"
|
|
65
65
|
},
|
|
66
66
|
"description": "React Native OTA solution for self-hosted",
|
|
67
67
|
"license": "MIT",
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
//#region ../../node_modules/.pnpm/chownr@3.0.0/node_modules/chownr/dist/esm/index.js
|
|
4
|
-
var lchownSync = (path, uid, gid) => {
|
|
5
|
-
try {
|
|
6
|
-
return fs.lchownSync(path, uid, gid);
|
|
7
|
-
} catch (er) {
|
|
8
|
-
if (er?.code !== "ENOENT") throw er;
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
var chown = (cpath, uid, gid, cb) => {
|
|
12
|
-
fs.lchown(cpath, uid, gid, (er) => {
|
|
13
|
-
cb(er && er?.code !== "ENOENT" ? er : null);
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
var chownrKid = (p, child, uid, gid, cb) => {
|
|
17
|
-
if (child.isDirectory()) chownr(path.resolve(p, child.name), uid, gid, (er) => {
|
|
18
|
-
if (er) return cb(er);
|
|
19
|
-
chown(path.resolve(p, child.name), uid, gid, cb);
|
|
20
|
-
});
|
|
21
|
-
else chown(path.resolve(p, child.name), uid, gid, cb);
|
|
22
|
-
};
|
|
23
|
-
var chownr = (p, uid, gid, cb) => {
|
|
24
|
-
fs.readdir(p, { withFileTypes: true }, (er, children) => {
|
|
25
|
-
if (er) {
|
|
26
|
-
if (er.code === "ENOENT") return cb();
|
|
27
|
-
else if (er.code !== "ENOTDIR" && er.code !== "ENOTSUP") return cb(er);
|
|
28
|
-
}
|
|
29
|
-
if (er || !children.length) return chown(p, uid, gid, cb);
|
|
30
|
-
let len = children.length;
|
|
31
|
-
let errState = null;
|
|
32
|
-
const then = (er) => {
|
|
33
|
-
/* c8 ignore start */
|
|
34
|
-
if (errState) return;
|
|
35
|
-
/* c8 ignore stop */
|
|
36
|
-
if (er) return cb(errState = er);
|
|
37
|
-
if (--len === 0) return chown(p, uid, gid, cb);
|
|
38
|
-
};
|
|
39
|
-
for (const child of children) chownrKid(p, child, uid, gid, then);
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
var chownrKidSync = (p, child, uid, gid) => {
|
|
43
|
-
if (child.isDirectory()) chownrSync(path.resolve(p, child.name), uid, gid);
|
|
44
|
-
lchownSync(path.resolve(p, child.name), uid, gid);
|
|
45
|
-
};
|
|
46
|
-
var chownrSync = (p, uid, gid) => {
|
|
47
|
-
let children;
|
|
48
|
-
try {
|
|
49
|
-
children = fs.readdirSync(p, { withFileTypes: true });
|
|
50
|
-
} catch (er) {
|
|
51
|
-
const e = er;
|
|
52
|
-
if (e?.code === "ENOENT") return;
|
|
53
|
-
else if (e?.code === "ENOTDIR" || e?.code === "ENOTSUP") return lchownSync(p, uid, gid);
|
|
54
|
-
else throw e;
|
|
55
|
-
}
|
|
56
|
-
for (const child of children) chownrKidSync(p, child, uid, gid);
|
|
57
|
-
return lchownSync(p, uid, gid);
|
|
58
|
-
};
|
|
59
|
-
//#endregion
|
|
60
|
-
export { chownrSync as n, chownr as t };
|