@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.
@@ -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";
@@ -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.2",
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.2",
61
- "@hot-updater/cli-tools": "1.0.0-rc.2",
62
- "@hot-updater/server": "1.0.0-rc.2"
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/mock": "1.0.0-rc.2",
73
- "@hot-updater/test-utils": "1.0.0-rc.2",
74
- "@hot-updater/postgres": "1.0.0-rc.2"
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', 'RELEASE_ADOPTED', 'UNCHANGED')
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', 'RELEASE_ADOPTED')
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', 'RELEASE_ADOPTED', 'UNCHANGED')
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,