@hot-updater/server 1.0.0-rc.2 → 1.0.0-rc.21
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/LICENSE +12 -14
- package/dist/adapters/drizzle.cjs +32 -75
- package/dist/adapters/drizzle.d.cts +13 -5
- package/dist/adapters/drizzle.d.mts +13 -5
- package/dist/adapters/drizzle.mjs +32 -77
- package/dist/adapters/drizzleExecutor.cjs +114 -0
- package/dist/adapters/drizzleExecutor.d.cts +9 -0
- package/dist/adapters/drizzleExecutor.d.mts +9 -0
- package/dist/adapters/drizzleExecutor.mjs +112 -0
- package/dist/adapters/kysely.cjs +22 -31
- package/dist/adapters/kysely.d.cts +10 -6
- package/dist/adapters/kysely.d.mts +10 -6
- package/dist/adapters/kysely.mjs +23 -33
- package/dist/adapters/kyselyExecutor.cjs +32 -0
- package/dist/adapters/kyselyExecutor.d.cts +11 -0
- package/dist/adapters/kyselyExecutor.d.mts +11 -0
- package/dist/adapters/kyselyExecutor.mjs +32 -0
- package/dist/adapters/mongodb.cjs +18 -54
- package/dist/adapters/mongodb.d.cts +10 -5
- package/dist/adapters/mongodb.d.mts +10 -5
- package/dist/adapters/mongodb.mjs +19 -56
- package/dist/adapters/mongodbAdapter.cjs +192 -0
- package/dist/adapters/mongodbAdapter.d.cts +9 -0
- package/dist/adapters/mongodbAdapter.d.mts +9 -0
- package/dist/adapters/mongodbAdapter.mjs +191 -0
- package/dist/adapters/prisma.cjs +35 -267
- package/dist/adapters/prisma.d.cts +12 -7
- package/dist/adapters/prisma.d.mts +12 -7
- package/dist/adapters/prisma.mjs +36 -268
- package/dist/adapters/prismaExecutor.cjs +63 -0
- package/dist/adapters/prismaExecutor.mjs +63 -0
- package/dist/adapters/sqlProviders.cjs +14 -0
- package/dist/adapters/sqlProviders.mjs +14 -0
- package/dist/assembly/assemblePlugins.cjs +144 -0
- package/dist/assembly/assemblePlugins.d.cts +5 -0
- package/dist/assembly/assemblePlugins.d.mts +5 -0
- package/dist/assembly/assemblePlugins.mjs +139 -0
- package/dist/assembly/clientPlugins.cjs +88 -0
- package/dist/assembly/clientPlugins.mjs +88 -0
- package/dist/assembly/configError.d.cts +2 -0
- package/dist/assembly/configError.d.mts +2 -0
- package/dist/assembly/configError.mjs +2 -0
- package/dist/core/api.cjs +51 -0
- package/dist/core/api.d.cts +54 -0
- package/dist/core/api.d.mts +54 -0
- package/dist/core/api.mjs +51 -0
- package/dist/core/baseCandidates.cjs +28 -0
- package/dist/core/baseCandidates.mjs +28 -0
- package/dist/core/operations.cjs +351 -0
- package/dist/core/operations.mjs +351 -0
- package/dist/core/reads.cjs +273 -0
- package/dist/core/reads.d.cts +9 -0
- package/dist/core/reads.d.mts +9 -0
- package/dist/core/reads.mjs +267 -0
- package/dist/core/releases.cjs +193 -0
- package/dist/core/releases.mjs +190 -0
- package/dist/core/writes.cjs +96 -0
- package/dist/core/writes.mjs +91 -0
- package/dist/createHotUpdaterCore.cjs +72 -91
- package/dist/createHotUpdaterCore.d.cts +106 -38
- package/dist/createHotUpdaterCore.d.mts +106 -38
- package/dist/createHotUpdaterCore.mjs +74 -89
- package/dist/db/engineDrizzleSchema.cjs +53 -0
- package/dist/db/engineDrizzleSchema.mjs +53 -0
- package/dist/db/enginePrismaSchema.cjs +84 -0
- package/dist/db/enginePrismaSchema.d.cts +5 -0
- package/dist/db/enginePrismaSchema.d.mts +5 -0
- package/dist/db/enginePrismaSchema.mjs +83 -0
- package/dist/db/releaseCatalog.cjs +24 -47
- package/dist/db/releaseCatalog.mjs +20 -44
- package/dist/db/updateArtifacts.cjs +43 -72
- package/dist/db/updateArtifacts.mjs +40 -69
- package/dist/handler.cjs +59 -43
- package/dist/handler.d.cts +3 -5
- package/dist/handler.d.mts +3 -5
- package/dist/handler.mjs +61 -43
- package/dist/handlerAdminRoutes.cjs +374 -0
- package/dist/handlerAdminRoutes.mjs +372 -0
- package/dist/handlerParameters.cjs +6 -11
- package/dist/handlerParameters.mjs +6 -10
- package/dist/handlerReleaseCatalogRoutes.cjs +32 -15
- package/dist/handlerReleaseCatalogRoutes.mjs +32 -15
- package/dist/handlerTypes.d.cts +2 -55
- package/dist/handlerTypes.d.mts +2 -55
- package/dist/handlerVersionRoutes.cjs +20 -4
- package/dist/handlerVersionRoutes.mjs +20 -4
- package/dist/index.cjs +9 -9
- package/dist/index.d.cts +8 -9
- package/dist/index.d.mts +8 -9
- package/dist/index.mjs +3 -4
- package/dist/node.cjs +3 -6
- package/dist/node.d.cts +2 -2
- package/dist/node.d.mts +2 -2
- package/dist/node.mjs +4 -4
- package/dist/package.cjs +1 -1
- package/dist/package.mjs +1 -1
- package/dist/plugins/api-keys/index.cjs +9 -0
- package/dist/plugins/api-keys/index.d.cts +1 -0
- package/dist/plugins/api-keys/index.d.mts +1 -0
- package/dist/plugins/api-keys/index.mjs +2 -0
- package/dist/plugins/definePlugin.d.cts +2 -0
- package/dist/plugins/definePlugin.d.mts +2 -0
- package/dist/plugins/insights/index.cjs +9 -0
- package/dist/plugins/insights/index.d.cts +1 -0
- package/dist/plugins/insights/index.d.mts +1 -0
- package/dist/plugins/insights/index.mjs +2 -0
- package/dist/plugins/official.cjs +30 -0
- package/dist/plugins/official.mjs +29 -0
- package/dist/storageAccess.cjs +13 -10
- package/dist/storageAccess.mjs +13 -10
- package/dist/types/index.d.cts +2 -28
- package/dist/types/index.d.mts +2 -28
- package/package.json +26 -14
- package/dist/_virtual/_rolldown/runtime.cjs +0 -23
- package/dist/adapters/databaseConstraintErrors.cjs +0 -22
- package/dist/adapters/databaseConstraintErrors.mjs +0 -21
- package/dist/adapters/databasePluginUtils.cjs +0 -116
- package/dist/adapters/databasePluginUtils.mjs +0 -106
- package/dist/adapters/drizzleCrud.cjs +0 -311
- package/dist/adapters/drizzleCrud.mjs +0 -308
- package/dist/adapters/drizzleLazyDB.cjs +0 -106
- package/dist/adapters/drizzleLazyDB.mjs +0 -106
- package/dist/adapters/drizzleQuery.cjs +0 -69
- package/dist/adapters/drizzleQuery.mjs +0 -69
- package/dist/adapters/insightsTransaction.cjs +0 -22
- package/dist/adapters/insightsTransaction.mjs +0 -22
- package/dist/adapters/kyselyCrud.cjs +0 -305
- package/dist/adapters/kyselyCrud.mjs +0 -304
- package/dist/adapters/kyselyQuery.cjs +0 -56
- package/dist/adapters/kyselyQuery.mjs +0 -56
- package/dist/adapters/mongodbCollections.cjs +0 -38
- package/dist/adapters/mongodbCollections.mjs +0 -32
- package/dist/adapters/mongodbQuery.cjs +0 -94
- package/dist/adapters/mongodbQuery.mjs +0 -86
- package/dist/adapters/mongodbReads.cjs +0 -210
- package/dist/adapters/mongodbReads.mjs +0 -210
- package/dist/adapters/mongodbWrites.cjs +0 -148
- package/dist/adapters/mongodbWrites.mjs +0 -148
- package/dist/adapters/prismaQuery.cjs +0 -57
- package/dist/adapters/prismaQuery.mjs +0 -56
- package/dist/adapters/prismaRows.cjs +0 -219
- package/dist/adapters/prismaRows.mjs +0 -209
- package/dist/apiKeys.cjs +0 -143
- package/dist/apiKeys.d.cts +0 -49
- package/dist/apiKeys.d.mts +0 -49
- package/dist/apiKeys.mjs +0 -133
- package/dist/db/createBundleDiff.cjs +0 -144
- package/dist/db/createBundleDiff.d.cts +0 -16
- package/dist/db/createBundleDiff.d.mts +0 -16
- package/dist/db/createBundleDiff.mjs +0 -141
- package/dist/db/databasePluginCore.cjs +0 -137
- package/dist/db/databasePluginCore.mjs +0 -137
- package/dist/db/fixedMigrator.cjs +0 -79
- package/dist/db/fixedMigrator.mjs +0 -78
- package/dist/db/fixedMigratorMongo.cjs +0 -321
- package/dist/db/fixedMigratorMongo.mjs +0 -321
- package/dist/db/fixedMigratorShared.cjs +0 -23
- package/dist/db/fixedMigratorShared.mjs +0 -18
- package/dist/db/index.cjs +0 -27
- package/dist/db/index.d.cts +0 -12
- package/dist/db/index.d.mts +0 -12
- package/dist/db/index.mjs +0 -22
- package/dist/db/mongoMigrationExecution.cjs +0 -11
- package/dist/db/mongoMigrationExecution.mjs +0 -11
- package/dist/db/releaseCatalog.d.cts +0 -16
- package/dist/db/releaseCatalog.d.mts +0 -16
- package/dist/db/schema/insightsCollation.cjs +0 -14
- package/dist/db/schema/insightsCollation.mjs +0 -14
- package/dist/db/schema/mongodb.cjs +0 -25
- package/dist/db/schema/mongodb.mjs +0 -25
- package/dist/db/schema/registry.cjs +0 -21
- package/dist/db/schema/registry.mjs +0 -17
- package/dist/db/schema/sql.cjs +0 -105
- package/dist/db/schema/sql.mjs +0 -97
- package/dist/db/schema/sqlOperations.cjs +0 -27
- package/dist/db/schema/sqlOperations.mjs +0 -26
- package/dist/db/schemaGenerators.cjs +0 -275
- package/dist/db/schemaGenerators.mjs +0 -273
- package/dist/db/schemaReadiness.cjs +0 -26
- package/dist/db/schemaReadiness.d.cts +0 -9
- package/dist/db/schemaReadiness.d.mts +0 -9
- package/dist/db/schemaReadiness.mjs +0 -25
- package/dist/db/sqlMigrationExecution.cjs +0 -67
- package/dist/db/sqlMigrationExecution.mjs +0 -67
- package/dist/db/types.cjs +0 -22
- package/dist/db/types.d.cts +0 -118
- package/dist/db/types.d.mts +0 -118
- package/dist/db/types.mjs +0 -19
- package/dist/handlerBundleRoutes.cjs +0 -155
- package/dist/handlerBundleRoutes.mjs +0 -155
- package/dist/handlerReleaseManagementRoutes.cjs +0 -124
- package/dist/handlerReleaseManagementRoutes.mjs +0 -124
- package/dist/insights/domain.d.cts +0 -89
- package/dist/insights/domain.d.mts +0 -89
- package/dist/insights/errors.cjs +0 -15
- package/dist/insights/errors.mjs +0 -14
- package/dist/insights/eventInput.cjs +0 -155
- package/dist/insights/eventInput.mjs +0 -153
- package/dist/insights/provider.cjs +0 -314
- package/dist/insights/provider.d.cts +0 -6
- package/dist/insights/provider.d.mts +0 -6
- package/dist/insights/provider.mjs +0 -314
- package/dist/insights/queryInput.cjs +0 -93
- package/dist/insights/queryInput.mjs +0 -91
- package/dist/insights/routes.cjs +0 -58
- package/dist/insights/routes.mjs +0 -56
- package/dist/insights/types.d.cts +0 -32
- package/dist/insights/types.d.mts +0 -32
- package/dist/schema/dsl.cjs +0 -103
- package/dist/schema/dsl.mjs +0 -87
- package/dist/schema/index.cjs +0 -20
- package/dist/schema/index.mjs +0 -7
- package/dist/schema/settings.cjs +0 -9
- package/dist/schema/settings.mjs +0 -9
- package/dist/schema/types.cjs +0 -8
- package/dist/schema/types.mjs +0 -6
- package/dist/schema/v1_0_0.cjs +0 -406
- package/dist/schema/v1_0_0.mjs +0 -398
- package/src/adapters/databaseConstraintErrors.ts +0 -25
- package/src/adapters/databasePluginTestDatabase.ts +0 -120
- package/src/adapters/databasePluginUtils.spec.ts +0 -29
- package/src/adapters/databasePluginUtils.ts +0 -214
- package/src/adapters/drizzle.spec.ts +0 -336
- package/src/adapters/drizzle.ts +0 -162
- package/src/adapters/drizzleCrud.ts +0 -571
- package/src/adapters/drizzleLazyDB.ts +0 -271
- package/src/adapters/drizzleQuery.ts +0 -164
- package/src/adapters/insightsTransaction.ts +0 -32
- package/src/adapters/kysely.spec.ts +0 -174
- package/src/adapters/kysely.ts +0 -110
- package/src/adapters/kyselyCrud.ts +0 -709
- package/src/adapters/kyselyQuery.ts +0 -128
- package/src/adapters/mongodb.integration.spec.ts +0 -210
- package/src/adapters/mongodb.spec.ts +0 -209
- package/src/adapters/mongodb.ts +0 -138
- package/src/adapters/mongodbCollections.ts +0 -67
- package/src/adapters/mongodbQuery.ts +0 -255
- package/src/adapters/mongodbReads.ts +0 -380
- package/src/adapters/mongodbRows.spec.ts +0 -64
- package/src/adapters/mongodbRows.ts +0 -118
- package/src/adapters/mongodbTestClient.ts +0 -377
- package/src/adapters/mongodbTestFilter.ts +0 -169
- package/src/adapters/mongodbWrites.ts +0 -287
- package/src/adapters/prisma.spec.ts +0 -293
- package/src/adapters/prisma.ts +0 -565
- package/src/adapters/prismaQuery.ts +0 -129
- package/src/adapters/prismaRows.spec.ts +0 -98
- package/src/adapters/prismaRows.ts +0 -337
- package/src/adapters/prismaTestClient.ts +0 -413
- package/src/apiKeys.integration.spec.ts +0 -192
- package/src/apiKeys.spec.ts +0 -162
- package/src/apiKeys.ts +0 -220
- package/src/calculatePagination.ts +0 -34
- package/src/createHotUpdaterCore.ts +0 -246
- package/src/db/bundleRows.spec.ts +0 -164
- package/src/db/bundleRows.ts +0 -10
- package/src/db/createBundleDiff.spec.ts +0 -450
- package/src/db/createBundleDiff.ts +0 -364
- package/src/db/databasePluginCore.spec.ts +0 -62
- package/src/db/databasePluginCore.testFixtures.ts +0 -76
- package/src/db/databasePluginCore.ts +0 -185
- package/src/db/databasePluginUpdateCheck.bench.ts +0 -110
- package/src/db/fixedMigrator.spec.ts +0 -296
- package/src/db/fixedMigrator.ts +0 -147
- package/src/db/fixedMigratorMongo.spec.ts +0 -239
- package/src/db/fixedMigratorMongo.ts +0 -425
- package/src/db/fixedMigratorShared.ts +0 -36
- package/src/db/hotUpdaterSchema.ts +0 -5
- package/src/db/index.spec.ts +0 -1269
- package/src/db/index.ts +0 -47
- package/src/db/mongoMigrationExecution.ts +0 -23
- package/src/db/node-sqlite.d.ts +0 -25
- package/src/db/releaseCatalog.ts +0 -148
- package/src/db/schema/definitions.ts +0 -1
- package/src/db/schema/insightsCollation.ts +0 -21
- package/src/db/schema/mongodb.ts +0 -40
- package/src/db/schema/registry.ts +0 -55
- package/src/db/schema/sql.ts +0 -244
- package/src/db/schema/sqlOperations.ts +0 -63
- package/src/db/schema/types.ts +0 -1
- package/src/db/schemaGenerators.ts +0 -494
- package/src/db/schemaReadiness.ts +0 -34
- package/src/db/sqlMigrationExecution.spec.ts +0 -65
- package/src/db/sqlMigrationExecution.ts +0 -108
- package/src/db/types.spec.ts +0 -63
- package/src/db/types.ts +0 -228
- package/src/db/updateArtifacts.spec.ts +0 -359
- package/src/db/updateArtifacts.ts +0 -541
- package/src/handler-standalone.integration.spec.ts +0 -528
- package/src/handler.spec.ts +0 -190
- package/src/handler.testFixtures.ts +0 -30
- package/src/handler.ts +0 -245
- package/src/handlerAuth.integration.spec.ts +0 -33
- package/src/handlerBundleRoutes.ts +0 -259
- package/src/handlerErrors.ts +0 -7
- package/src/handlerManagement.spec.ts +0 -262
- package/src/handlerParameters.ts +0 -105
- package/src/handlerReleaseCatalogRoutes.ts +0 -154
- package/src/handlerReleaseManagementRoutes.ts +0 -213
- package/src/handlerTypes.ts +0 -96
- package/src/handlerVersionRoutes.ts +0 -12
- package/src/index.ts +0 -30
- package/src/insights/domain.ts +0 -103
- package/src/insights/errors.ts +0 -11
- package/src/insights/eventInput.ts +0 -225
- package/src/insights/insights.integration.spec.ts +0 -381
- package/src/insights/provider.spec.ts +0 -385
- package/src/insights/provider.ts +0 -591
- package/src/insights/queryInput.ts +0 -141
- package/src/insights/routes.ts +0 -104
- package/src/insights/types.ts +0 -55
- package/src/internalRouter.ts +0 -104
- package/src/node.spec.ts +0 -119
- package/src/node.ts +0 -111
- package/src/releaseCatalogRoutes.integration.spec.ts +0 -238
- package/src/runtime.spec.ts +0 -194
- package/src/runtime.testFixtures.ts +0 -71
- package/src/schema/dsl-all-versions.spec.ts +0 -37
- package/src/schema/dsl.ts +0 -187
- package/src/schema/index.ts +0 -10
- package/src/schema/settings.ts +0 -15
- package/src/schema/types.ts +0 -79
- package/src/schema/v1_0_0.spec.ts +0 -220
- package/src/schema/v1_0_0.ts +0 -529
- package/src/storageAccess.spec.ts +0 -152
- package/src/storageAccess.ts +0 -141
- package/src/types/index.ts +0 -34
- package/src/version.ts +0 -3
package/dist/types/index.d.cts
CHANGED
|
@@ -1,29 +1,3 @@
|
|
|
1
1
|
import { HotUpdaterAPI } from "../createHotUpdaterCore.cjs";
|
|
2
|
-
import { Bundle
|
|
3
|
-
|
|
4
|
-
//#region src/types/index.d.ts
|
|
5
|
-
interface PaginationInfo {
|
|
6
|
-
total: number;
|
|
7
|
-
hasNextPage: boolean;
|
|
8
|
-
hasPreviousPage: boolean;
|
|
9
|
-
currentPage: number;
|
|
10
|
-
totalPages: number;
|
|
11
|
-
nextCursor?: string | null;
|
|
12
|
-
previousCursor?: string | null;
|
|
13
|
-
}
|
|
14
|
-
interface PaginationOptions {
|
|
15
|
-
limit: number;
|
|
16
|
-
offset: number;
|
|
17
|
-
}
|
|
18
|
-
interface DataResponse<TData> {
|
|
19
|
-
data: TData;
|
|
20
|
-
}
|
|
21
|
-
interface Paginated<TData> extends DataResponse<TData> {
|
|
22
|
-
pagination: PaginationInfo;
|
|
23
|
-
}
|
|
24
|
-
type PaginatedResult = Paginated<Bundle[]>;
|
|
25
|
-
type ChannelsResponse = DataResponse<{
|
|
26
|
-
channels: readonly ChannelRow[];
|
|
27
|
-
}>;
|
|
28
|
-
//#endregion
|
|
29
|
-
export { type Bundle$2 as Bundle, ChannelsResponse, DataResponse, Paginated, PaginatedResult, PaginationInfo, PaginationOptions };
|
|
2
|
+
import { Bundle } from "@hot-updater/protocol";
|
|
3
|
+
export type { Bundle };
|
package/dist/types/index.d.mts
CHANGED
|
@@ -1,29 +1,3 @@
|
|
|
1
1
|
import { HotUpdaterAPI } from "../createHotUpdaterCore.mjs";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
//#region src/types/index.d.ts
|
|
5
|
-
interface PaginationInfo {
|
|
6
|
-
total: number;
|
|
7
|
-
hasNextPage: boolean;
|
|
8
|
-
hasPreviousPage: boolean;
|
|
9
|
-
currentPage: number;
|
|
10
|
-
totalPages: number;
|
|
11
|
-
nextCursor?: string | null;
|
|
12
|
-
previousCursor?: string | null;
|
|
13
|
-
}
|
|
14
|
-
interface PaginationOptions {
|
|
15
|
-
limit: number;
|
|
16
|
-
offset: number;
|
|
17
|
-
}
|
|
18
|
-
interface DataResponse<TData> {
|
|
19
|
-
data: TData;
|
|
20
|
-
}
|
|
21
|
-
interface Paginated<TData> extends DataResponse<TData> {
|
|
22
|
-
pagination: PaginationInfo;
|
|
23
|
-
}
|
|
24
|
-
type PaginatedResult = Paginated<Bundle$1[]>;
|
|
25
|
-
type ChannelsResponse = DataResponse<{
|
|
26
|
-
channels: readonly ChannelRow[];
|
|
27
|
-
}>;
|
|
28
|
-
//#endregion
|
|
29
|
-
export { type Bundle$2 as Bundle, ChannelsResponse, DataResponse, Paginated, PaginatedResult, PaginationInfo, PaginationOptions };
|
|
2
|
+
import { Bundle } from "@hot-updater/protocol";
|
|
3
|
+
export type { Bundle };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hot-updater/server",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.21",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "React Native OTA solution for self-hosted",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -28,22 +28,21 @@
|
|
|
28
28
|
"import": "./dist/adapters/prisma.mjs",
|
|
29
29
|
"require": "./dist/adapters/prisma.cjs"
|
|
30
30
|
},
|
|
31
|
-
"./
|
|
32
|
-
"import": "./dist/
|
|
33
|
-
"require": "./dist/
|
|
31
|
+
"./plugins/api-keys": {
|
|
32
|
+
"import": "./dist/plugins/api-keys/index.mjs",
|
|
33
|
+
"require": "./dist/plugins/api-keys/index.cjs"
|
|
34
34
|
},
|
|
35
|
-
"./
|
|
36
|
-
"import": "./dist/
|
|
37
|
-
"require": "./dist/
|
|
35
|
+
"./plugins/insights": {
|
|
36
|
+
"import": "./dist/plugins/insights/index.mjs",
|
|
37
|
+
"require": "./dist/plugins/insights/index.cjs"
|
|
38
38
|
},
|
|
39
39
|
"./package.json": "./package.json"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
"dist",
|
|
43
|
-
"src",
|
|
44
43
|
"package.json"
|
|
45
44
|
],
|
|
46
|
-
"license": "
|
|
45
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
47
46
|
"repository": {
|
|
48
47
|
"type": "git",
|
|
49
48
|
"url": "https://github.com/gronxb/hot-updater"
|
|
@@ -55,9 +54,10 @@
|
|
|
55
54
|
"dependencies": {
|
|
56
55
|
"rou3": "0.7.9",
|
|
57
56
|
"verkit": "0.4.0",
|
|
58
|
-
"@hot-updater/core": "1.0.0-rc.
|
|
59
|
-
"@hot-updater/
|
|
60
|
-
"@hot-updater/
|
|
57
|
+
"@hot-updater/plugin-core": "1.0.0-rc.21",
|
|
58
|
+
"@hot-updater/protocol": "1.0.0-rc.21",
|
|
59
|
+
"@hot-updater/plugin-api-keys": "1.0.0-rc.21",
|
|
60
|
+
"@hot-updater/plugin-insights": "1.0.0-rc.21"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"@prisma/client": "*",
|
|
@@ -81,8 +81,11 @@
|
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@electric-sql/pglite": "0.4.1",
|
|
84
|
+
"@libsql/client": "0.15.15",
|
|
84
85
|
"@types/express": "^5.0.0",
|
|
85
86
|
"@types/node": "^20",
|
|
87
|
+
"@types/pg": "^8.11.10",
|
|
88
|
+
"drizzle-kit": "^0.31.6",
|
|
86
89
|
"drizzle-orm": "0.45.2",
|
|
87
90
|
"express": "^4.22.2",
|
|
88
91
|
"execa": "9.5.2",
|
|
@@ -90,9 +93,18 @@
|
|
|
90
93
|
"kysely-pglite-dialect": "1.2.0",
|
|
91
94
|
"mongodb": "6.20.0",
|
|
92
95
|
"msw": "^2.7.0",
|
|
96
|
+
"mysql2": "3.19.1",
|
|
97
|
+
"pg": "8.13.1",
|
|
98
|
+
"prisma": "6.19.3",
|
|
93
99
|
"uuidv7": "^1.0.2",
|
|
94
|
-
"
|
|
95
|
-
"@hot-updater/
|
|
100
|
+
"wrangler": "^4.69.0",
|
|
101
|
+
"@hot-updater/standalone": "1.0.0-rc.21",
|
|
102
|
+
"@hot-updater/test-utils": "1.0.0-rc.21"
|
|
103
|
+
},
|
|
104
|
+
"nx": {
|
|
105
|
+
"implicitDependencies": [
|
|
106
|
+
"!@hot-updater/test-utils"
|
|
107
|
+
]
|
|
96
108
|
},
|
|
97
109
|
"scripts": {
|
|
98
110
|
"build": "tsdown",
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
//#region \0rolldown/runtime.js
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
-
key = keys[i];
|
|
11
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
-
get: ((k) => from[k]).bind(null, key),
|
|
13
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
19
|
-
value: mod,
|
|
20
|
-
enumerable: true
|
|
21
|
-
}) : target, mod));
|
|
22
|
-
//#endregion
|
|
23
|
-
exports.__toESM = __toESM;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
let _hot_updater_plugin_core_internal = require("@hot-updater/plugin-core/internal");
|
|
2
|
-
//#region src/adapters/databaseConstraintErrors.ts
|
|
3
|
-
const readErrorCode = (error) => {
|
|
4
|
-
if (typeof error !== "object" || error === null) return void 0;
|
|
5
|
-
const code = Reflect.get(error, "code");
|
|
6
|
-
return typeof code === "string" ? code : void 0;
|
|
7
|
-
};
|
|
8
|
-
const isChannelDeleteReferencedError = (error) => error instanceof _hot_updater_plugin_core_internal.DatabaseRowReferencedError || [
|
|
9
|
-
"23503",
|
|
10
|
-
"SQLITE_CONSTRAINT_FOREIGNKEY",
|
|
11
|
-
"SQLITE_CONSTRAINT",
|
|
12
|
-
"ER_ROW_IS_REFERENCED",
|
|
13
|
-
"ER_ROW_IS_REFERENCED_2",
|
|
14
|
-
"P2003"
|
|
15
|
-
].includes(readErrorCode(error) ?? "");
|
|
16
|
-
const translateChannelDeleteError = (error) => {
|
|
17
|
-
if (isChannelDeleteReferencedError(error)) throw new _hot_updater_plugin_core_internal.DatabaseRowReferencedError();
|
|
18
|
-
throw error;
|
|
19
|
-
};
|
|
20
|
-
//#endregion
|
|
21
|
-
exports.isChannelDeleteReferencedError = isChannelDeleteReferencedError;
|
|
22
|
-
exports.translateChannelDeleteError = translateChannelDeleteError;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { DatabaseRowReferencedError } from "@hot-updater/plugin-core/internal";
|
|
2
|
-
//#region src/adapters/databaseConstraintErrors.ts
|
|
3
|
-
const readErrorCode = (error) => {
|
|
4
|
-
if (typeof error !== "object" || error === null) return void 0;
|
|
5
|
-
const code = Reflect.get(error, "code");
|
|
6
|
-
return typeof code === "string" ? code : void 0;
|
|
7
|
-
};
|
|
8
|
-
const isChannelDeleteReferencedError = (error) => error instanceof DatabaseRowReferencedError || [
|
|
9
|
-
"23503",
|
|
10
|
-
"SQLITE_CONSTRAINT_FOREIGNKEY",
|
|
11
|
-
"SQLITE_CONSTRAINT",
|
|
12
|
-
"ER_ROW_IS_REFERENCED",
|
|
13
|
-
"ER_ROW_IS_REFERENCED_2",
|
|
14
|
-
"P2003"
|
|
15
|
-
].includes(readErrorCode(error) ?? "");
|
|
16
|
-
const translateChannelDeleteError = (error) => {
|
|
17
|
-
if (isChannelDeleteReferencedError(error)) throw new DatabaseRowReferencedError();
|
|
18
|
-
throw error;
|
|
19
|
-
};
|
|
20
|
-
//#endregion
|
|
21
|
-
export { isChannelDeleteReferencedError, translateChannelDeleteError };
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
let _hot_updater_plugin_core = require("@hot-updater/plugin-core");
|
|
2
|
-
//#region src/adapters/databasePluginUtils.ts
|
|
3
|
-
var StoredBundleRowError = class extends Error {
|
|
4
|
-
name = "StoredBundleRowError";
|
|
5
|
-
};
|
|
6
|
-
const parseStoredBoolean = (value, field) => {
|
|
7
|
-
if (value === true || value === 1) return true;
|
|
8
|
-
if (value === false || value === 0) return false;
|
|
9
|
-
throw new StoredBundleRowError(`Invalid boolean value for ${field}.`);
|
|
10
|
-
};
|
|
11
|
-
const parseJson = (value) => {
|
|
12
|
-
try {
|
|
13
|
-
return JSON.parse(value);
|
|
14
|
-
} catch (error) {
|
|
15
|
-
if (error instanceof SyntaxError) return value;
|
|
16
|
-
throw error;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
const parseTargetCohorts = (value) => {
|
|
20
|
-
if (value === null) return null;
|
|
21
|
-
const parsed = typeof value === "string" ? parseJson(value) : value;
|
|
22
|
-
if (!Array.isArray(parsed) || !parsed.every((item) => typeof item === "string")) throw new StoredBundleRowError("Invalid target_cohorts field.");
|
|
23
|
-
return parsed;
|
|
24
|
-
};
|
|
25
|
-
const parseMetadata = (value) => {
|
|
26
|
-
const parsed = typeof value === "string" ? parseJson(value) : value;
|
|
27
|
-
if (!(0, _hot_updater_plugin_core.isDatabaseMetadataObject)(parsed)) throw new StoredBundleRowError("Invalid metadata field.");
|
|
28
|
-
return parsed;
|
|
29
|
-
};
|
|
30
|
-
const compareOrderValues = (left, right) => {
|
|
31
|
-
if (typeof left === "number" && typeof right === "number") return left - right;
|
|
32
|
-
if (typeof left === "string" && typeof right === "string") return left.localeCompare(right);
|
|
33
|
-
if (typeof left === "boolean" && typeof right === "boolean") return Number(left) - Number(right);
|
|
34
|
-
if (left === right) return 0;
|
|
35
|
-
return String(left).localeCompare(String(right));
|
|
36
|
-
};
|
|
37
|
-
const normalizeOrderBy = (orderBy) => {
|
|
38
|
-
if (orderBy === void 0) return [];
|
|
39
|
-
return Array.isArray(orderBy) ? orderBy : [orderBy];
|
|
40
|
-
};
|
|
41
|
-
const hasNullOrderOverrides = (orderBy) => normalizeOrderBy(orderBy).some((clause) => clause.nulls !== void 0);
|
|
42
|
-
const sortRowsByOrder = (rows, orderBy) => {
|
|
43
|
-
const clauses = normalizeOrderBy(orderBy);
|
|
44
|
-
if (clauses.length === 0) return [...rows];
|
|
45
|
-
return [...rows].toSorted((left, right) => {
|
|
46
|
-
for (const clause of clauses) {
|
|
47
|
-
const leftValue = Reflect.get(left, clause.field);
|
|
48
|
-
const rightValue = Reflect.get(right, clause.field);
|
|
49
|
-
if (leftValue == null || rightValue == null) {
|
|
50
|
-
if (leftValue == null && rightValue == null) continue;
|
|
51
|
-
const nulls = clause.nulls ?? (clause.direction === "asc" ? "last" : "first");
|
|
52
|
-
const order = leftValue == null ? -1 : 1;
|
|
53
|
-
return nulls === "first" ? order : -order;
|
|
54
|
-
}
|
|
55
|
-
const result = compareOrderValues(leftValue, rightValue);
|
|
56
|
-
if (result !== 0) return clause.direction === "desc" ? -result : result;
|
|
57
|
-
}
|
|
58
|
-
return 0;
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
const fromStoredBundleRow = (row) => ({
|
|
62
|
-
...row,
|
|
63
|
-
metadata: parseMetadata(row.metadata)
|
|
64
|
-
});
|
|
65
|
-
const toStoredBundleRow = (row, provider) => {
|
|
66
|
-
if (provider !== "mysql" && provider !== "sqlite") return row;
|
|
67
|
-
return {
|
|
68
|
-
...row,
|
|
69
|
-
metadata: JSON.stringify(row.metadata)
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
const toStoredBundleUpdate = (update, provider) => {
|
|
73
|
-
if (provider !== "mysql" && provider !== "sqlite") return update;
|
|
74
|
-
return {
|
|
75
|
-
...update,
|
|
76
|
-
..."metadata" in update ? { metadata: JSON.stringify(update.metadata) } : {}
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
const fromStoredReleaseRow = (row) => ({
|
|
80
|
-
...row,
|
|
81
|
-
enabled: parseStoredBoolean(row.enabled, "enabled"),
|
|
82
|
-
should_force_update: parseStoredBoolean(row.should_force_update, "should_force_update"),
|
|
83
|
-
target_cohorts: parseTargetCohorts(row.target_cohorts) ?? []
|
|
84
|
-
});
|
|
85
|
-
const toStoredReleaseRow = (row, provider) => {
|
|
86
|
-
if (provider !== "mysql" && provider !== "sqlite") return row;
|
|
87
|
-
return {
|
|
88
|
-
...row,
|
|
89
|
-
target_cohorts: JSON.stringify(row.target_cohorts)
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
const toStoredReleaseUpdate = (update, provider) => {
|
|
93
|
-
if (provider !== "mysql" && provider !== "sqlite") return update;
|
|
94
|
-
return {
|
|
95
|
-
...update,
|
|
96
|
-
...update.target_cohorts === void 0 ? {} : { target_cohorts: JSON.stringify(update.target_cohorts) }
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
const fromStoredReleaseCatalogRow = (row) => ({
|
|
100
|
-
...row,
|
|
101
|
-
is_tombstone: parseStoredBoolean(row.is_tombstone, "is_tombstone")
|
|
102
|
-
});
|
|
103
|
-
const escapeLikePattern = (value) => value.replaceAll("\\", "\\\\").replaceAll("%", "\\%").replaceAll("_", "\\_");
|
|
104
|
-
const escapeGlobPattern = (value) => value.replaceAll("[", "[[]").replaceAll("*", "[*]").replaceAll("?", "[?]");
|
|
105
|
-
//#endregion
|
|
106
|
-
exports.escapeGlobPattern = escapeGlobPattern;
|
|
107
|
-
exports.escapeLikePattern = escapeLikePattern;
|
|
108
|
-
exports.fromStoredBundleRow = fromStoredBundleRow;
|
|
109
|
-
exports.fromStoredReleaseCatalogRow = fromStoredReleaseCatalogRow;
|
|
110
|
-
exports.fromStoredReleaseRow = fromStoredReleaseRow;
|
|
111
|
-
exports.hasNullOrderOverrides = hasNullOrderOverrides;
|
|
112
|
-
exports.sortRowsByOrder = sortRowsByOrder;
|
|
113
|
-
exports.toStoredBundleRow = toStoredBundleRow;
|
|
114
|
-
exports.toStoredBundleUpdate = toStoredBundleUpdate;
|
|
115
|
-
exports.toStoredReleaseRow = toStoredReleaseRow;
|
|
116
|
-
exports.toStoredReleaseUpdate = toStoredReleaseUpdate;
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { isDatabaseMetadataObject } from "@hot-updater/plugin-core";
|
|
2
|
-
//#region src/adapters/databasePluginUtils.ts
|
|
3
|
-
var StoredBundleRowError = class extends Error {
|
|
4
|
-
name = "StoredBundleRowError";
|
|
5
|
-
};
|
|
6
|
-
const parseStoredBoolean = (value, field) => {
|
|
7
|
-
if (value === true || value === 1) return true;
|
|
8
|
-
if (value === false || value === 0) return false;
|
|
9
|
-
throw new StoredBundleRowError(`Invalid boolean value for ${field}.`);
|
|
10
|
-
};
|
|
11
|
-
const parseJson = (value) => {
|
|
12
|
-
try {
|
|
13
|
-
return JSON.parse(value);
|
|
14
|
-
} catch (error) {
|
|
15
|
-
if (error instanceof SyntaxError) return value;
|
|
16
|
-
throw error;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
const parseTargetCohorts = (value) => {
|
|
20
|
-
if (value === null) return null;
|
|
21
|
-
const parsed = typeof value === "string" ? parseJson(value) : value;
|
|
22
|
-
if (!Array.isArray(parsed) || !parsed.every((item) => typeof item === "string")) throw new StoredBundleRowError("Invalid target_cohorts field.");
|
|
23
|
-
return parsed;
|
|
24
|
-
};
|
|
25
|
-
const parseMetadata = (value) => {
|
|
26
|
-
const parsed = typeof value === "string" ? parseJson(value) : value;
|
|
27
|
-
if (!isDatabaseMetadataObject(parsed)) throw new StoredBundleRowError("Invalid metadata field.");
|
|
28
|
-
return parsed;
|
|
29
|
-
};
|
|
30
|
-
const compareOrderValues = (left, right) => {
|
|
31
|
-
if (typeof left === "number" && typeof right === "number") return left - right;
|
|
32
|
-
if (typeof left === "string" && typeof right === "string") return left.localeCompare(right);
|
|
33
|
-
if (typeof left === "boolean" && typeof right === "boolean") return Number(left) - Number(right);
|
|
34
|
-
if (left === right) return 0;
|
|
35
|
-
return String(left).localeCompare(String(right));
|
|
36
|
-
};
|
|
37
|
-
const normalizeOrderBy = (orderBy) => {
|
|
38
|
-
if (orderBy === void 0) return [];
|
|
39
|
-
return Array.isArray(orderBy) ? orderBy : [orderBy];
|
|
40
|
-
};
|
|
41
|
-
const hasNullOrderOverrides = (orderBy) => normalizeOrderBy(orderBy).some((clause) => clause.nulls !== void 0);
|
|
42
|
-
const sortRowsByOrder = (rows, orderBy) => {
|
|
43
|
-
const clauses = normalizeOrderBy(orderBy);
|
|
44
|
-
if (clauses.length === 0) return [...rows];
|
|
45
|
-
return [...rows].toSorted((left, right) => {
|
|
46
|
-
for (const clause of clauses) {
|
|
47
|
-
const leftValue = Reflect.get(left, clause.field);
|
|
48
|
-
const rightValue = Reflect.get(right, clause.field);
|
|
49
|
-
if (leftValue == null || rightValue == null) {
|
|
50
|
-
if (leftValue == null && rightValue == null) continue;
|
|
51
|
-
const nulls = clause.nulls ?? (clause.direction === "asc" ? "last" : "first");
|
|
52
|
-
const order = leftValue == null ? -1 : 1;
|
|
53
|
-
return nulls === "first" ? order : -order;
|
|
54
|
-
}
|
|
55
|
-
const result = compareOrderValues(leftValue, rightValue);
|
|
56
|
-
if (result !== 0) return clause.direction === "desc" ? -result : result;
|
|
57
|
-
}
|
|
58
|
-
return 0;
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
const fromStoredBundleRow = (row) => ({
|
|
62
|
-
...row,
|
|
63
|
-
metadata: parseMetadata(row.metadata)
|
|
64
|
-
});
|
|
65
|
-
const toStoredBundleRow = (row, provider) => {
|
|
66
|
-
if (provider !== "mysql" && provider !== "sqlite") return row;
|
|
67
|
-
return {
|
|
68
|
-
...row,
|
|
69
|
-
metadata: JSON.stringify(row.metadata)
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
const toStoredBundleUpdate = (update, provider) => {
|
|
73
|
-
if (provider !== "mysql" && provider !== "sqlite") return update;
|
|
74
|
-
return {
|
|
75
|
-
...update,
|
|
76
|
-
..."metadata" in update ? { metadata: JSON.stringify(update.metadata) } : {}
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
const fromStoredReleaseRow = (row) => ({
|
|
80
|
-
...row,
|
|
81
|
-
enabled: parseStoredBoolean(row.enabled, "enabled"),
|
|
82
|
-
should_force_update: parseStoredBoolean(row.should_force_update, "should_force_update"),
|
|
83
|
-
target_cohorts: parseTargetCohorts(row.target_cohorts) ?? []
|
|
84
|
-
});
|
|
85
|
-
const toStoredReleaseRow = (row, provider) => {
|
|
86
|
-
if (provider !== "mysql" && provider !== "sqlite") return row;
|
|
87
|
-
return {
|
|
88
|
-
...row,
|
|
89
|
-
target_cohorts: JSON.stringify(row.target_cohorts)
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
const toStoredReleaseUpdate = (update, provider) => {
|
|
93
|
-
if (provider !== "mysql" && provider !== "sqlite") return update;
|
|
94
|
-
return {
|
|
95
|
-
...update,
|
|
96
|
-
...update.target_cohorts === void 0 ? {} : { target_cohorts: JSON.stringify(update.target_cohorts) }
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
const fromStoredReleaseCatalogRow = (row) => ({
|
|
100
|
-
...row,
|
|
101
|
-
is_tombstone: parseStoredBoolean(row.is_tombstone, "is_tombstone")
|
|
102
|
-
});
|
|
103
|
-
const escapeLikePattern = (value) => value.replaceAll("\\", "\\\\").replaceAll("%", "\\%").replaceAll("_", "\\_");
|
|
104
|
-
const escapeGlobPattern = (value) => value.replaceAll("[", "[[]").replaceAll("*", "[*]").replaceAll("?", "[?]");
|
|
105
|
-
//#endregion
|
|
106
|
-
export { escapeGlobPattern, escapeLikePattern, fromStoredBundleRow, fromStoredReleaseCatalogRow, fromStoredReleaseRow, hasNullOrderOverrides, sortRowsByOrder, toStoredBundleRow, toStoredBundleUpdate, toStoredReleaseRow, toStoredReleaseUpdate };
|