@hot-updater/supabase 1.0.0-rc.2 → 1.0.0-rc.4
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/iac/index.cjs
CHANGED
|
@@ -6818,6 +6818,30 @@ const supabaseDatabase = (config) => {
|
|
|
6818
6818
|
});
|
|
6819
6819
|
};
|
|
6820
6820
|
//#endregion
|
|
6821
|
+
//#region iac/configTemplate.ts
|
|
6822
|
+
const getConfigScaffold = (build) => {
|
|
6823
|
+
return (0, _hot_updater_cli_tools.createHotUpdaterConfigScaffoldFromBuilder)(new _hot_updater_cli_tools.ConfigBuilder().setBuildType(build).setStorage({
|
|
6824
|
+
imports: [{
|
|
6825
|
+
pkg: "@hot-updater/supabase",
|
|
6826
|
+
named: ["supabaseStorage"]
|
|
6827
|
+
}],
|
|
6828
|
+
configString: `supabaseStorage({
|
|
6829
|
+
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
|
|
6830
|
+
supabaseServiceRoleKey: process.env.HOT_UPDATER_SUPABASE_SERVICE_ROLE_KEY!,
|
|
6831
|
+
bucketName: process.env.HOT_UPDATER_SUPABASE_BUCKET_NAME!,
|
|
6832
|
+
})`
|
|
6833
|
+
}).setDatabase({
|
|
6834
|
+
imports: [{
|
|
6835
|
+
pkg: "@hot-updater/supabase",
|
|
6836
|
+
named: ["supabaseDatabase"]
|
|
6837
|
+
}],
|
|
6838
|
+
configString: `supabaseDatabase({
|
|
6839
|
+
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
|
|
6840
|
+
supabaseServiceRoleKey: process.env.HOT_UPDATER_SUPABASE_SERVICE_ROLE_KEY!,
|
|
6841
|
+
})`
|
|
6842
|
+
}));
|
|
6843
|
+
};
|
|
6844
|
+
//#endregion
|
|
6821
6845
|
//#region iac/init/index.ts
|
|
6822
6846
|
const SUPABASE_DATABASE_PASSWORD_PROJECT_ID_ENV_KEY = "HOT_UPDATER_SUPABASE_DB_PASSWORD_PROJECT_ID";
|
|
6823
6847
|
const SUPABASE_REGION_VALUES = [
|
|
@@ -7116,6 +7140,9 @@ const pushDB = async (workdir, { accessToken, dbPassword }) => {
|
|
|
7116
7140
|
], {
|
|
7117
7141
|
cwd: workdir,
|
|
7118
7142
|
env: getSupabaseCommandEnv(accessToken, dbPassword)
|
|
7143
|
+
}).catch((error) => {
|
|
7144
|
+
if (error instanceof ExecaError && [error.stderr, error.stdout].some((output) => typeof output === "string" && /relation \\?"supabase_migrations\.schema_migrations\\?" does not exist/.test(output))) return;
|
|
7145
|
+
throw error;
|
|
7119
7146
|
});
|
|
7120
7147
|
const dbPush = await execa("npx", [
|
|
7121
7148
|
"supabase",
|
|
@@ -7440,28 +7467,6 @@ const SUPABASE_SCHEMA_READINESS_POLL_INTERVAL_MS = 1e3;
|
|
|
7440
7467
|
const LEGACY_SUPABASE_CATALOG_CDN_URL_ENV_KEY = "HOT_UPDATER_SUPABASE_CATALOG_CDN_URL";
|
|
7441
7468
|
const STATIC_IMPORT_SPECIFIER_PATTERN = /^\s*(?:import|export)\s+(?:type\s+)?(?:[^"'`]+?\s+from\s+)?["']([^"']+)["'];?/gm;
|
|
7442
7469
|
const DYNAMIC_IMPORT_SPECIFIER_PATTERN = /\bimport\s*\(\s*["']([^"']+)["']\s*\)/g;
|
|
7443
|
-
const getConfigScaffold = (build) => {
|
|
7444
|
-
return (0, _hot_updater_cli_tools.createHotUpdaterConfigScaffoldFromBuilder)(new _hot_updater_cli_tools.ConfigBuilder().setBuildType(build).setStorage({
|
|
7445
|
-
imports: [{
|
|
7446
|
-
pkg: "@hot-updater/supabase",
|
|
7447
|
-
named: ["supabaseStorage"]
|
|
7448
|
-
}],
|
|
7449
|
-
configString: `supabaseStorage({
|
|
7450
|
-
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
|
|
7451
|
-
supabaseServiceRoleKey: process.env.HOT_UPDATER_SUPABASE_SERVICE_ROLE_KEY!,
|
|
7452
|
-
bucketName: process.env.HOT_UPDATER_SUPABASE_BUCKET_NAME!,
|
|
7453
|
-
})`
|
|
7454
|
-
}).setDatabase({
|
|
7455
|
-
imports: [{
|
|
7456
|
-
pkg: "@hot-updater/supabase",
|
|
7457
|
-
named: ["supabaseDatabase"]
|
|
7458
|
-
}],
|
|
7459
|
-
configString: `supabaseDatabase({
|
|
7460
|
-
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
|
|
7461
|
-
supabaseServiceRoleKey: process.env.HOT_UPDATER_SUPABASE_SERVICE_ROLE_KEY!,
|
|
7462
|
-
})`
|
|
7463
|
-
}));
|
|
7464
|
-
};
|
|
7465
7470
|
const getLegacySupabaseConfigReference = (configText) => {
|
|
7466
7471
|
if (configText.includes("HOT_UPDATER_SUPABASE_ANON_KEY")) return "HOT_UPDATER_SUPABASE_ANON_KEY";
|
|
7467
7472
|
if (/\bsupabaseAnonKey\s*:/.test(configText)) return "supabaseAnonKey";
|
package/dist/iac/index.mjs
CHANGED
|
@@ -6813,6 +6813,30 @@ const supabaseDatabase = (config) => {
|
|
|
6813
6813
|
});
|
|
6814
6814
|
};
|
|
6815
6815
|
//#endregion
|
|
6816
|
+
//#region iac/configTemplate.ts
|
|
6817
|
+
const getConfigScaffold = (build) => {
|
|
6818
|
+
return createHotUpdaterConfigScaffoldFromBuilder(new ConfigBuilder().setBuildType(build).setStorage({
|
|
6819
|
+
imports: [{
|
|
6820
|
+
pkg: "@hot-updater/supabase",
|
|
6821
|
+
named: ["supabaseStorage"]
|
|
6822
|
+
}],
|
|
6823
|
+
configString: `supabaseStorage({
|
|
6824
|
+
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
|
|
6825
|
+
supabaseServiceRoleKey: process.env.HOT_UPDATER_SUPABASE_SERVICE_ROLE_KEY!,
|
|
6826
|
+
bucketName: process.env.HOT_UPDATER_SUPABASE_BUCKET_NAME!,
|
|
6827
|
+
})`
|
|
6828
|
+
}).setDatabase({
|
|
6829
|
+
imports: [{
|
|
6830
|
+
pkg: "@hot-updater/supabase",
|
|
6831
|
+
named: ["supabaseDatabase"]
|
|
6832
|
+
}],
|
|
6833
|
+
configString: `supabaseDatabase({
|
|
6834
|
+
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
|
|
6835
|
+
supabaseServiceRoleKey: process.env.HOT_UPDATER_SUPABASE_SERVICE_ROLE_KEY!,
|
|
6836
|
+
})`
|
|
6837
|
+
}));
|
|
6838
|
+
};
|
|
6839
|
+
//#endregion
|
|
6816
6840
|
//#region iac/init/index.ts
|
|
6817
6841
|
const SUPABASE_DATABASE_PASSWORD_PROJECT_ID_ENV_KEY = "HOT_UPDATER_SUPABASE_DB_PASSWORD_PROJECT_ID";
|
|
6818
6842
|
const SUPABASE_REGION_VALUES = [
|
|
@@ -7111,6 +7135,9 @@ const pushDB = async (workdir, { accessToken, dbPassword }) => {
|
|
|
7111
7135
|
], {
|
|
7112
7136
|
cwd: workdir,
|
|
7113
7137
|
env: getSupabaseCommandEnv(accessToken, dbPassword)
|
|
7138
|
+
}).catch((error) => {
|
|
7139
|
+
if (error instanceof ExecaError && [error.stderr, error.stdout].some((output) => typeof output === "string" && /relation \\?"supabase_migrations\.schema_migrations\\?" does not exist/.test(output))) return;
|
|
7140
|
+
throw error;
|
|
7114
7141
|
});
|
|
7115
7142
|
const dbPush = await execa("npx", [
|
|
7116
7143
|
"supabase",
|
|
@@ -7435,28 +7462,6 @@ const SUPABASE_SCHEMA_READINESS_POLL_INTERVAL_MS = 1e3;
|
|
|
7435
7462
|
const LEGACY_SUPABASE_CATALOG_CDN_URL_ENV_KEY = "HOT_UPDATER_SUPABASE_CATALOG_CDN_URL";
|
|
7436
7463
|
const STATIC_IMPORT_SPECIFIER_PATTERN = /^\s*(?:import|export)\s+(?:type\s+)?(?:[^"'`]+?\s+from\s+)?["']([^"']+)["'];?/gm;
|
|
7437
7464
|
const DYNAMIC_IMPORT_SPECIFIER_PATTERN = /\bimport\s*\(\s*["']([^"']+)["']\s*\)/g;
|
|
7438
|
-
const getConfigScaffold = (build) => {
|
|
7439
|
-
return createHotUpdaterConfigScaffoldFromBuilder(new ConfigBuilder().setBuildType(build).setStorage({
|
|
7440
|
-
imports: [{
|
|
7441
|
-
pkg: "@hot-updater/supabase",
|
|
7442
|
-
named: ["supabaseStorage"]
|
|
7443
|
-
}],
|
|
7444
|
-
configString: `supabaseStorage({
|
|
7445
|
-
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
|
|
7446
|
-
supabaseServiceRoleKey: process.env.HOT_UPDATER_SUPABASE_SERVICE_ROLE_KEY!,
|
|
7447
|
-
bucketName: process.env.HOT_UPDATER_SUPABASE_BUCKET_NAME!,
|
|
7448
|
-
})`
|
|
7449
|
-
}).setDatabase({
|
|
7450
|
-
imports: [{
|
|
7451
|
-
pkg: "@hot-updater/supabase",
|
|
7452
|
-
named: ["supabaseDatabase"]
|
|
7453
|
-
}],
|
|
7454
|
-
configString: `supabaseDatabase({
|
|
7455
|
-
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
|
|
7456
|
-
supabaseServiceRoleKey: process.env.HOT_UPDATER_SUPABASE_SERVICE_ROLE_KEY!,
|
|
7457
|
-
})`
|
|
7458
|
-
}));
|
|
7459
|
-
};
|
|
7460
7465
|
const getLegacySupabaseConfigReference = (configText) => {
|
|
7461
7466
|
if (configText.includes("HOT_UPDATER_SUPABASE_ANON_KEY")) return "HOT_UPDATER_SUPABASE_ANON_KEY";
|
|
7462
7467
|
if (/\bsupabaseAnonKey\s*:/.test(configText)) return "supabaseAnonKey";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hot-updater/supabase",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.0-rc.
|
|
4
|
+
"version": "1.0.0-rc.4",
|
|
5
5
|
"description": "React Native OTA solution for self-hosted",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
7
7
|
"module": "dist/index.mjs",
|
|
@@ -57,9 +57,9 @@
|
|
|
57
57
|
"hono": "4.12.34",
|
|
58
58
|
"uuidv7": "^1.0.2",
|
|
59
59
|
"@hot-updater/core": "1.0.0-rc.0",
|
|
60
|
-
"@hot-updater/plugin-core": "1.0.0-rc.
|
|
61
|
-
"@hot-updater/cli-tools": "1.0.0-rc.
|
|
62
|
-
"@hot-updater/server": "1.0.0-rc.
|
|
60
|
+
"@hot-updater/plugin-core": "1.0.0-rc.3",
|
|
61
|
+
"@hot-updater/cli-tools": "1.0.0-rc.3",
|
|
62
|
+
"@hot-updater/server": "1.0.0-rc.3"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@electric-sql/pglite": "0.4.1",
|
|
@@ -69,9 +69,9 @@
|
|
|
69
69
|
"execa": "9.5.2",
|
|
70
70
|
"@types/node": "^20",
|
|
71
71
|
"mime": "^4.0.4",
|
|
72
|
-
"@hot-updater/
|
|
73
|
-
"@hot-updater/
|
|
74
|
-
"@hot-updater/postgres": "1.0.0-rc.
|
|
72
|
+
"@hot-updater/test-utils": "1.0.0-rc.3",
|
|
73
|
+
"@hot-updater/mock": "1.0.0-rc.3",
|
|
74
|
+
"@hot-updater/postgres": "1.0.0-rc.3"
|
|
75
75
|
},
|
|
76
76
|
"scripts": {
|
|
77
77
|
"build": "tsdown",
|
|
@@ -117,13 +117,13 @@ CREATE TABLE public.hot_updater_v1_bundle_events (
|
|
|
117
117
|
sdk_version text,
|
|
118
118
|
received_at_ms double precision NOT NULL,
|
|
119
119
|
CONSTRAINT hot_updater_v1_bundle_events_type_check CHECK (
|
|
120
|
-
type IN ('UPDATE_APPLIED', 'RECOVERED', '
|
|
120
|
+
type IN ('UPDATE_APPLIED', 'RECOVERED', 'UNCHANGED')
|
|
121
121
|
),
|
|
122
122
|
CONSTRAINT hot_updater_v1_bundle_events_platform_check CHECK (
|
|
123
123
|
platform IN ('ios', 'android')
|
|
124
124
|
),
|
|
125
125
|
CONSTRAINT hot_updater_v1_bundle_events_shape_check CHECK (
|
|
126
|
-
(type IN ('UPDATE_APPLIED', 'RECOVERED'
|
|
126
|
+
(type IN ('UPDATE_APPLIED', 'RECOVERED')
|
|
127
127
|
AND from_bundle_id IS NOT NULL
|
|
128
128
|
AND update_strategy IS NOT NULL
|
|
129
129
|
AND update_strategy IN ('fingerprint', 'appVersion'))
|
|
@@ -141,7 +141,7 @@ CREATE TABLE public.hot_updater_v1_bundle_installations (
|
|
|
141
141
|
username text,
|
|
142
142
|
to_bundle_id uuid NOT NULL,
|
|
143
143
|
type text NOT NULL CHECK (
|
|
144
|
-
type IN ('UPDATE_APPLIED', 'RECOVERED', '
|
|
144
|
+
type IN ('UPDATE_APPLIED', 'RECOVERED', 'UNCHANGED')
|
|
145
145
|
),
|
|
146
146
|
platform text COLLATE "C" NOT NULL CHECK (platform IN ('ios', 'android')),
|
|
147
147
|
app_version text NOT NULL,
|