From 7554de42bcd56bcf167a18ef0720c1e35bb35ef7 Mon Sep 17 00:00:00 2001 From: Christiaan Landman Date: Tue, 8 Apr 2025 15:22:37 +0200 Subject: [PATCH 1/8] Exporting logger helper to avoid having to install js-logger in projects/demos. --- packages/common/src/index.ts | 1 + packages/common/src/utils/Logger.ts | 32 +++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 packages/common/src/utils/Logger.ts diff --git a/packages/common/src/index.ts b/packages/common/src/index.ts index 99497d151..667cd7232 100644 --- a/packages/common/src/index.ts +++ b/packages/common/src/index.ts @@ -34,6 +34,7 @@ export * from './db/DBAdapter.js'; export * from './utils/AbortOperation.js'; export * from './utils/BaseObserver.js'; export * from './utils/DataStream.js'; +export * from './utils/Logger.js'; export * from './utils/parseQuery.js'; export * from './types/types.js'; diff --git a/packages/common/src/utils/Logger.ts b/packages/common/src/utils/Logger.ts new file mode 100644 index 000000000..01689af56 --- /dev/null +++ b/packages/common/src/utils/Logger.ts @@ -0,0 +1,32 @@ +import Logger, { ILogger, ILogLevel } from 'js-logger'; + +export { GlobalLogger, ILogger, ILoggerOpts, ILogHandler, ILogLevel } from 'js-logger'; + +const TypedLogger: ILogger = Logger as any; + +export const LogLevels = { + TRACE: TypedLogger.TRACE, + DEBUG: TypedLogger.DEBUG, + INFO: TypedLogger.INFO, + TIME: TypedLogger.TIME, + WARN: TypedLogger.WARN, + ERROR: TypedLogger.ERROR, + OFF: TypedLogger.OFF +}; + +export interface CreateLoggerOptions { + logLevel?: ILogLevel; +} + +export function createBaseLogger() { + return Logger; +} + +export function createLogger(name: string, options: CreateLoggerOptions = {}): ILogger { + const logger = Logger.get(name); + if (options.logLevel) { + logger.setLevel(options.logLevel); + } + + return logger; +} From 4ad584e293beea0541bb7128b6cb5fa847efad57 Mon Sep 17 00:00:00 2001 From: Christiaan Landman Date: Wed, 16 Apr 2025 12:14:07 +0200 Subject: [PATCH 2/8] Switched js-logger usage in demos for ps logger helper. --- .../app/index.tsx | 7 +- .../django-react-native-todolist/package.json | 1 - demos/example-capacitor/package.json | 1 - .../components/providers/SystemProvider.tsx | 8 +- demos/example-electron/package.json | 1 - .../components/providers/SystemProvider.tsx | 8 +- demos/example-nextjs/package.json | 1 - .../components/providers/SystemProvider.tsx | 9 +- demos/example-vite-encryption/src/index.js | 7 +- demos/example-vite/src/index.js | 9 +- demos/example-webpack/src/index.js | 9 +- demos/react-multi-client/package.json | 1 - .../components/providers/SystemProvider.tsx | 9 +- .../src/providers/PowerSync.tsx | 7 +- .../app/index.tsx | 9 +- .../library/powersync/system.ts | 7 +- .../package.json | 1 - .../app/index.tsx | 5 +- .../library/powersync/system.ts | 7 +- .../package.json | 1 - .../package.json | 1 - .../components/providers/SystemProvider.tsx | 14 +- demos/react-supabase-todolist/package.json | 1 - .../components/providers/SystemProvider.tsx | 15 +- demos/vue-supabase-todolist/package.json | 1 - demos/vue-supabase-todolist/src/App.vue | 7 +- .../package.json | 1 - .../components/providers/SystemProvider.tsx | 10 +- pnpm-lock.yaml | 601 ++++++------------ tools/diagnostics-app/package.json | 1 - .../library/powersync/ConnectionManager.ts | 14 +- 31 files changed, 286 insertions(+), 488 deletions(-) diff --git a/demos/django-react-native-todolist/app/index.tsx b/demos/django-react-native-todolist/app/index.tsx index 15fd1332d..7e5bbdf54 100644 --- a/demos/django-react-native-todolist/app/index.tsx +++ b/demos/django-react-native-todolist/app/index.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { ActivityIndicator, View } from 'react-native'; import { router } from 'expo-router'; -import Logger from 'js-logger'; +import { createBaseLogger, LogLevels } from '@powersync/react-native'; /** * This is the entry point when the app loads. * Checks for a Supabase session. @@ -10,8 +10,9 @@ import Logger from 'js-logger'; */ const App = () => { React.useEffect(() => { - Logger.useDefaults(); - Logger.setLevel(Logger.DEBUG); + const defaultLogger = createBaseLogger(); + defaultLogger.useDefaults(); + defaultLogger.setLevel(LogLevels.DEBUG); setImmediate(() => router.replace('signin')); }, []); diff --git a/demos/django-react-native-todolist/package.json b/demos/django-react-native-todolist/package.json index 982101581..e351d988b 100644 --- a/demos/django-react-native-todolist/package.json +++ b/demos/django-react-native-todolist/package.json @@ -27,7 +27,6 @@ "expo-router": "3.5.21", "expo-splash-screen": "~0.27.4", "expo-status-bar": "~1.12.1", - "js-logger": "^1.6.1", "lodash": "^4.17.21", "metro": "~0.80.8", "react": "18.2.0", diff --git a/demos/example-capacitor/package.json b/demos/example-capacitor/package.json index 689831a66..b9609d0e9 100644 --- a/demos/example-capacitor/package.json +++ b/demos/example-capacitor/package.json @@ -26,7 +26,6 @@ "@journeyapps/wa-sqlite": "^1.2.0", "@powersync/react": "workspace:*", "@powersync/web": "workspace:*", - "js-logger": "^1.6.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.23.0" diff --git a/demos/example-capacitor/src/components/providers/SystemProvider.tsx b/demos/example-capacitor/src/components/providers/SystemProvider.tsx index 8db8d5638..9e27e2f5c 100644 --- a/demos/example-capacitor/src/components/providers/SystemProvider.tsx +++ b/demos/example-capacitor/src/components/providers/SystemProvider.tsx @@ -1,14 +1,14 @@ import { PowerSyncContext } from '@powersync/react'; -import { PowerSyncDatabase } from '@powersync/web'; +import { createBaseLogger, LogLevels, PowerSyncDatabase } from '@powersync/web'; import { CircularProgress } from '@mui/material'; -import Logger from 'js-logger'; import React, { Suspense } from 'react'; import { AppSchema } from '../../library/powersync/AppSchema.js'; import { BackendConnector } from '../../library/powersync/BackendConnector.js'; import { Capacitor } from '@capacitor/core'; -Logger.useDefaults(); -Logger.setLevel(Logger.DEBUG); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); const platform = Capacitor.getPlatform(); const isIOs = platform === 'ios'; diff --git a/demos/example-electron/package.json b/demos/example-electron/package.json index 852348a9e..917a20283 100644 --- a/demos/example-electron/package.json +++ b/demos/example-electron/package.json @@ -29,7 +29,6 @@ "@powersync/react": "workspace:*", "@powersync/web": "workspace:*", "electron-squirrel-startup": "^1.0.0", - "js-logger": "^1.6.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.23.0" diff --git a/demos/example-electron/src/components/providers/SystemProvider.tsx b/demos/example-electron/src/components/providers/SystemProvider.tsx index 0399d6fb3..b71a92b3c 100644 --- a/demos/example-electron/src/components/providers/SystemProvider.tsx +++ b/demos/example-electron/src/components/providers/SystemProvider.tsx @@ -1,13 +1,13 @@ import { PowerSyncContext } from '@powersync/react'; -import { PowerSyncDatabase } from '@powersync/web'; +import { createBaseLogger, LogLevels, PowerSyncDatabase } from '@powersync/web'; import { CircularProgress } from '@mui/material'; -import Logger from 'js-logger'; import React, { Suspense } from 'react'; import { AppSchema } from '../../library/powersync/AppSchema.js'; import { BackendConnector } from '../../library/powersync/BackendConnector.js'; -Logger.useDefaults(); -Logger.setLevel(Logger.DEBUG); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); const powerSync = new PowerSyncDatabase({ database: { dbFilename: 'powersync2.db' }, diff --git a/demos/example-nextjs/package.json b/demos/example-nextjs/package.json index 73f05b3b1..9fc5f61c3 100644 --- a/demos/example-nextjs/package.json +++ b/demos/example-nextjs/package.json @@ -20,7 +20,6 @@ "@mui/material": "^5.15.18", "@powersync/react": "workspace:*", "@powersync/web": "workspace:*", - "js-logger": "^1.6.1", "lato-font": "^3.0.0", "lexical": "^0.15.0", "next": "14.2.3", diff --git a/demos/example-nextjs/src/components/providers/SystemProvider.tsx b/demos/example-nextjs/src/components/providers/SystemProvider.tsx index 21ed328e8..4445bad29 100644 --- a/demos/example-nextjs/src/components/providers/SystemProvider.tsx +++ b/demos/example-nextjs/src/components/providers/SystemProvider.tsx @@ -3,14 +3,13 @@ import { AppSchema } from '@/library/powersync/AppSchema'; import { BackendConnector } from '@/library/powersync/BackendConnector'; import { PowerSyncContext } from '@powersync/react'; -import { PowerSyncDatabase } from '@powersync/web'; +import { createBaseLogger, LogLevels, PowerSyncDatabase } from '@powersync/web'; import { CircularProgress } from '@mui/material'; -import Logger from 'js-logger'; import React, { Suspense } from 'react'; -// eslint-disable-next-line react-hooks/rules-of-hooks -Logger.useDefaults(); -Logger.setLevel(Logger.DEBUG); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); const powerSync = new PowerSyncDatabase({ database: { dbFilename: 'powersync2.db' }, diff --git a/demos/example-vite-encryption/src/index.js b/demos/example-vite-encryption/src/index.js index 1a78af525..84294f606 100644 --- a/demos/example-vite-encryption/src/index.js +++ b/demos/example-vite-encryption/src/index.js @@ -1,7 +1,8 @@ -import { column, Schema, Table, PowerSyncDatabase } from '@powersync/web'; -import Logger from 'js-logger'; +import { column, Schema, Table, PowerSyncDatabase, createBaseLogger, LogLevels } from '@powersync/web'; -Logger.useDefaults(); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); const customers = new Table({ name: column.text }); diff --git a/demos/example-vite/src/index.js b/demos/example-vite/src/index.js index c2e8924cf..721c427aa 100644 --- a/demos/example-vite/src/index.js +++ b/demos/example-vite/src/index.js @@ -1,7 +1,8 @@ -import { column, Schema, Table, PowerSyncDatabase } from '@powersync/web'; -import Logger from 'js-logger'; +import { column, Schema, Table, PowerSyncDatabase, createBaseLogger, LogLevels } from '@powersync/web'; -Logger.useDefaults(); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); /** * A placeholder connector which doesn't do anything. @@ -19,7 +20,7 @@ class DummyConnector { async uploadData(database) {} } -const customers = new Table({ name: column.text }) +const customers = new Table({ name: column.text }); export const AppSchema = new Schema({ customers }); diff --git a/demos/example-webpack/src/index.js b/demos/example-webpack/src/index.js index bc4e0c93d..8b8f86f2a 100644 --- a/demos/example-webpack/src/index.js +++ b/demos/example-webpack/src/index.js @@ -1,7 +1,8 @@ -import { Schema, Table, PowerSyncDatabase, column } from '@powersync/web'; -import Logger from 'js-logger'; +import { Schema, Table, PowerSyncDatabase, column, createBaseLogger, LogLevels } from '@powersync/web'; -Logger.useDefaults(); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); /** * A placeholder connector which doesn't do anything. @@ -19,7 +20,7 @@ class DummyConnector { async uploadData(database) {} } -const customers = new Table({ name: column.text }) +const customers = new Table({ name: column.text }); export const AppSchema = new Schema({ customers }); diff --git a/demos/react-multi-client/package.json b/demos/react-multi-client/package.json index ce789cf73..b5f093ed9 100644 --- a/demos/react-multi-client/package.json +++ b/demos/react-multi-client/package.json @@ -18,7 +18,6 @@ "@webflow/webflow-cli": "^1.6.9", "async-mutex": "^0.5.0", "autoprefixer": "10.4.14", - "js-logger": "^1.6.1", "lodash": "^4.17.21", "postcss": "8.4.27", "react": "^18.2.0", diff --git a/demos/react-multi-client/src/components/providers/SystemProvider.tsx b/demos/react-multi-client/src/components/providers/SystemProvider.tsx index 21f2f244f..8a82cfae2 100644 --- a/demos/react-multi-client/src/components/providers/SystemProvider.tsx +++ b/demos/react-multi-client/src/components/providers/SystemProvider.tsx @@ -6,10 +6,11 @@ import { PowerSyncContext, usePowerSync as _usePowerSync } from '@powersync/reac import { AppSchema } from '@/definitions/Schema'; import { SupabaseConnector } from '@/library/SupabaseConnector'; import { useSupabase } from './SupabaseProvider'; -import Logger from 'js-logger'; +import { createBaseLogger, LogLevels } from '@powersync/web'; -Logger.useDefaults(); -Logger.setLevel(Logger.DEBUG); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); export interface SystemProviderProps { dbFilename: string; @@ -34,7 +35,7 @@ const SystemProvider: React.FC> = (props) powersync.init(); const l = connector.registerListener({ - initialized: () => {}, + initialized: () => { }, sessionStarted: async () => { await powersync.connect(connector); } diff --git a/demos/react-native-supabase-group-chat/src/providers/PowerSync.tsx b/demos/react-native-supabase-group-chat/src/providers/PowerSync.tsx index 67370ddbb..23136b604 100644 --- a/demos/react-native-supabase-group-chat/src/providers/PowerSync.tsx +++ b/demos/react-native-supabase-group-chat/src/providers/PowerSync.tsx @@ -1,13 +1,14 @@ import '@azure/core-asynciterator-polyfill'; -import { PowerSyncContext, PowerSyncDatabase } from '@powersync/react-native'; -import Logger from 'js-logger'; +import { createBaseLogger, LogLevels, PowerSyncContext, PowerSyncDatabase } from '@powersync/react-native'; import { ReactNode, useEffect, useMemo } from 'react'; import { useAuth } from './AuthProvider'; import { Connector } from '../lib/connector'; import { schema } from '../lib/schema'; -Logger.useDefaults(); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); const connector = new Connector(); diff --git a/demos/react-native-supabase-todolist/app/index.tsx b/demos/react-native-supabase-todolist/app/index.tsx index 7624da014..f494a58e5 100644 --- a/demos/react-native-supabase-todolist/app/index.tsx +++ b/demos/react-native-supabase-todolist/app/index.tsx @@ -3,14 +3,15 @@ import { ActivityIndicator, View } from 'react-native'; import { useSystem } from '../library/powersync/system'; import { router } from 'expo-router'; -import Logger from 'js-logger'; import { ThemeProvider, createTheme } from '@rneui/themed'; +import { createBaseLogger, LogLevels } from '@powersync/react-native'; const theme = createTheme({ mode: 'light' }); + /** * This is the entry point when the app loads. * Checks for a Supabase session. @@ -21,8 +22,10 @@ const App: React.FC = () => { const { supabaseConnector } = useSystem(); React.useEffect(() => { - Logger.useDefaults(); - Logger.setLevel(Logger.DEBUG); + const defaultLogger = createBaseLogger(); + defaultLogger.useDefaults(); + defaultLogger.setLevel(LogLevels.DEBUG); + supabaseConnector.client.auth .getSession() .then(({ data }) => { diff --git a/demos/react-native-supabase-todolist/library/powersync/system.ts b/demos/react-native-supabase-todolist/library/powersync/system.ts index d95650c4b..64852452e 100644 --- a/demos/react-native-supabase-todolist/library/powersync/system.ts +++ b/demos/react-native-supabase-todolist/library/powersync/system.ts @@ -1,11 +1,10 @@ import '@azure/core-asynciterator-polyfill'; -import { PowerSyncDatabase } from '@powersync/react-native'; +import { createBaseLogger, LogLevels, PowerSyncDatabase } from '@powersync/react-native'; import React from 'react'; import { SupabaseStorageAdapter } from '../storage/SupabaseStorageAdapter'; import { type AttachmentRecord } from '@powersync/attachments'; -import Logger from 'js-logger'; import { KVStorage } from '../storage/KVStorage'; import { AppConfig } from '../supabase/AppConfig'; import { SupabaseConnector } from '../supabase/SupabaseConnector'; @@ -13,7 +12,9 @@ import { AppSchema } from './AppSchema'; import { PhotoAttachmentQueue } from './PhotoAttachmentQueue'; import { configureFts } from '../fts/fts_setup'; -Logger.useDefaults(); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); export class System { kvStorage: KVStorage; diff --git a/demos/react-native-supabase-todolist/package.json b/demos/react-native-supabase-todolist/package.json index e30de4955..5cd3316fc 100644 --- a/demos/react-native-supabase-todolist/package.json +++ b/demos/react-native-supabase-todolist/package.json @@ -33,7 +33,6 @@ "expo-secure-store": "~13.0.1", "expo-splash-screen": "~0.27.6", "expo-status-bar": "~1.12.1", - "js-logger": "^1.6.1", "lodash": "^4.17.21", "metro": "~0.80.8", "react": "18.2.0", diff --git a/demos/react-native-web-supabase-todolist/app/index.tsx b/demos/react-native-web-supabase-todolist/app/index.tsx index 3f7b7d22b..53557bf75 100644 --- a/demos/react-native-web-supabase-todolist/app/index.tsx +++ b/demos/react-native-web-supabase-todolist/app/index.tsx @@ -3,7 +3,6 @@ import { ActivityIndicator, View } from 'react-native'; import { useSystem } from '../library/powersync/system'; import { router } from 'expo-router'; -import Logger from 'js-logger'; /** * This is the entry point when the app loads. @@ -13,10 +12,8 @@ import Logger from 'js-logger'; */ const App: React.FC = () => { const { supabaseConnector } = useSystem(); - React.useEffect(() => { - Logger.useDefaults(); - Logger.setLevel(Logger.DEBUG); + supabaseConnector.client.auth .getSession() .then(({ data }) => { diff --git a/demos/react-native-web-supabase-todolist/library/powersync/system.ts b/demos/react-native-web-supabase-todolist/library/powersync/system.ts index 7d31323f3..6c9f26810 100644 --- a/demos/react-native-web-supabase-todolist/library/powersync/system.ts +++ b/demos/react-native-web-supabase-todolist/library/powersync/system.ts @@ -3,17 +3,18 @@ import '@azure/core-asynciterator-polyfill'; import React from 'react'; import { PowerSyncDatabase as PowerSyncDatabaseNative } from '@powersync/react-native'; import { PowerSyncDatabase as PowerSyncDatabaseWeb, WASQLiteOpenFactory } from '@powersync/web'; -import { AbstractPowerSyncDatabase } from '@powersync/common'; +import { AbstractPowerSyncDatabase, createBaseLogger, LogLevels } from '@powersync/common'; import { SupabaseStorageAdapter } from '../storage/SupabaseStorageAdapter'; import { type AttachmentRecord } from '@powersync/attachments'; -import Logger from 'js-logger'; import { KVStorage } from '../storage/KVStorage'; import { AppConfig } from '../supabase/AppConfig'; import { SupabaseConnector } from '../supabase/SupabaseConnector'; import { AppSchema } from './AppSchema'; import { PhotoAttachmentQueue } from './PhotoAttachmentQueue'; -Logger.useDefaults(); +const defaultLogger = createBaseLogger(); +defaultLogger.useDefaults(); +defaultLogger.setLevel(LogLevels.DEBUG); export class System { kvStorage: KVStorage; diff --git a/demos/react-native-web-supabase-todolist/package.json b/demos/react-native-web-supabase-todolist/package.json index 0b58c36e3..0fc778a73 100644 --- a/demos/react-native-web-supabase-todolist/package.json +++ b/demos/react-native-web-supabase-todolist/package.json @@ -36,7 +36,6 @@ "expo-secure-store": "~13.0.1", "expo-splash-screen": "~0.27.4", "expo-status-bar": "~1.12.1", - "js-logger": "^1.6.1", "lodash": "^4.17.21", "metro": "~0.80.8", "react": "18.2.0", diff --git a/demos/react-supabase-todolist-optional-sync/package.json b/demos/react-supabase-todolist-optional-sync/package.json index cf1e04f27..441157828 100644 --- a/demos/react-supabase-todolist-optional-sync/package.json +++ b/demos/react-supabase-todolist-optional-sync/package.json @@ -19,7 +19,6 @@ "@mui/x-data-grid": "^6.19.6", "@supabase/supabase-js": "^2.39.7", "formik": "^2.4.6", - "js-logger": "^1.6.1", "lodash": "^4.17.21", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/demos/react-supabase-todolist-optional-sync/src/components/providers/SystemProvider.tsx b/demos/react-supabase-todolist-optional-sync/src/components/providers/SystemProvider.tsx index b5b4381d2..596de8c43 100644 --- a/demos/react-supabase-todolist-optional-sync/src/components/providers/SystemProvider.tsx +++ b/demos/react-supabase-todolist-optional-sync/src/components/providers/SystemProvider.tsx @@ -1,9 +1,8 @@ -import { AppSchema, makeSchema, switchToSyncedSchema } from '@/library/powersync/AppSchema'; +import { makeSchema, switchToSyncedSchema } from '@/library/powersync/AppSchema'; import { SupabaseConnector } from '@/library/powersync/SupabaseConnector'; import { CircularProgress } from '@mui/material'; import { PowerSyncContext } from '@powersync/react'; -import { PowerSyncDatabase } from '@powersync/web'; -import Logger from 'js-logger'; +import { createBaseLogger, LogLevels, PowerSyncDatabase } from '@powersync/web'; import React, { Suspense } from 'react'; import { NavigationPanelContextProvider } from '../navigation/NavigationPanelContext'; import { getSyncEnabled } from '@/library/powersync/SyncMode'; @@ -26,15 +25,16 @@ export const SystemProvider = ({ children }: { children: React.ReactNode }) => { const [powerSync] = React.useState(db); React.useEffect(() => { - // Linting thinks this is a hook due to it's name - Logger.useDefaults(); // eslint-disable-line - Logger.setLevel(Logger.DEBUG); + const defaultLogger = createBaseLogger(); + defaultLogger.useDefaults(); + defaultLogger.setLevel(LogLevels.DEBUG); + // For console testing purposes (window as any)._powersync = powerSync; powerSync.init(); const l = connector.registerListener({ - initialized: () => {}, + initialized: () => { }, sessionStarted: async () => { var isSyncMode = getSyncEnabled(dbName); diff --git a/demos/react-supabase-todolist/package.json b/demos/react-supabase-todolist/package.json index 8104be01d..62feb516e 100644 --- a/demos/react-supabase-todolist/package.json +++ b/demos/react-supabase-todolist/package.json @@ -19,7 +19,6 @@ "@mui/x-data-grid": "^6.19.6", "@supabase/supabase-js": "^2.39.7", "formik": "^2.4.6", - "js-logger": "^1.6.1", "lodash": "^4.17.21", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/demos/react-supabase-todolist/src/components/providers/SystemProvider.tsx b/demos/react-supabase-todolist/src/components/providers/SystemProvider.tsx index 07b597e15..bc696a63d 100644 --- a/demos/react-supabase-todolist/src/components/providers/SystemProvider.tsx +++ b/demos/react-supabase-todolist/src/components/providers/SystemProvider.tsx @@ -3,18 +3,21 @@ import { AppSchema } from '@/library/powersync/AppSchema'; import { SupabaseConnector } from '@/library/powersync/SupabaseConnector'; import { CircularProgress } from '@mui/material'; import { PowerSyncContext } from '@powersync/react'; -import { PowerSyncDatabase } from '@powersync/web'; -import Logger from 'js-logger'; +import { createBaseLogger, LogLevels, PowerSyncDatabase } from '@powersync/web'; import React, { Suspense } from 'react'; import { NavigationPanelContextProvider } from '../navigation/NavigationPanelContext'; +const baseLogger = createBaseLogger(); +baseLogger.useDefaults(); +baseLogger.setLevel(LogLevels.DEBUG); + const SupabaseContext = React.createContext(null); export const useSupabase = () => React.useContext(SupabaseContext); export const db = new PowerSyncDatabase({ schema: AppSchema, database: { - dbFilename: 'example.db' + dbFilename: 'example1.db' } }); @@ -23,15 +26,13 @@ export const SystemProvider = ({ children }: { children: React.ReactNode }) => { const [powerSync] = React.useState(db); React.useEffect(() => { - // Linting thinks this is a hook due to it's name - Logger.useDefaults(); // eslint-disable-line - Logger.setLevel(Logger.DEBUG); + // For console testing purposes (window as any)._powersync = powerSync; powerSync.init(); const l = connector.registerListener({ - initialized: () => {}, + initialized: () => { }, sessionStarted: () => { powerSync.connect(connector); } diff --git a/demos/vue-supabase-todolist/package.json b/demos/vue-supabase-todolist/package.json index 2a85040a5..b0f70ee00 100644 --- a/demos/vue-supabase-todolist/package.json +++ b/demos/vue-supabase-todolist/package.json @@ -17,7 +17,6 @@ "@supabase/supabase-js": "^2.39.7", "@vuelidate/core": "^2.0.3", "@vuelidate/validators": "^2.0.4", - "js-logger": "^1.6.1", "vue": "^3.4.21", "vue-router": "4", "vuetify": "3.6.8" diff --git a/demos/vue-supabase-todolist/src/App.vue b/demos/vue-supabase-todolist/src/App.vue index ac3370a7e..e37aa8359 100644 --- a/demos/vue-supabase-todolist/src/App.vue +++ b/demos/vue-supabase-todolist/src/App.vue @@ -1,10 +1,11 @@