From cb6dd00cb54db53f16955ae205808b29a5dd9a35 Mon Sep 17 00:00:00 2001 From: Dylan Vorster Date: Mon, 5 Aug 2024 02:44:09 -0600 Subject: [PATCH] wip --- .../app/_layout.tsx | 2 +- .../app/views/console.tsx | 2 +- .../app/views/todos/edit/[id].tsx | 2 +- .../app/views/todos/lists.tsx | 2 +- .../library/powersync/AppSchema.ts | 2 +- .../library/powersync/system.ts | 28 +- .../library/supabase/SupabaseConnector.ts | 2 +- .../metro.config.js | 24 ++ .../package.json | 3 + packages/web/package.json | 11 +- packages/web/webpack.config.js | 43 ++ pnpm-lock.yaml | 383 +++++++++++++++++- 12 files changed, 477 insertions(+), 27 deletions(-) create mode 100644 packages/web/webpack.config.js diff --git a/demos/react-native-supabase-todolist/app/_layout.tsx b/demos/react-native-supabase-todolist/app/_layout.tsx index 8efcf8ab..a6a0ea0a 100644 --- a/demos/react-native-supabase-todolist/app/_layout.tsx +++ b/demos/react-native-supabase-todolist/app/_layout.tsx @@ -1,7 +1,7 @@ import { Stack } from 'expo-router'; import React, { useMemo } from 'react'; import { useSystem } from '../library/powersync/system'; -import { PowerSyncContext } from '@powersync/react-native'; +import { PowerSyncContext } from '@powersync/react'; /** * This App uses a nested navigation stack. diff --git a/demos/react-native-supabase-todolist/app/views/console.tsx b/demos/react-native-supabase-todolist/app/views/console.tsx index 451a9acd..924499a1 100644 --- a/demos/react-native-supabase-todolist/app/views/console.tsx +++ b/demos/react-native-supabase-todolist/app/views/console.tsx @@ -1,7 +1,7 @@ import _ from 'lodash'; import React from 'react'; import { Table, Row } from 'react-native-reanimated-table'; -import { QueryResult } from '@powersync/react-native'; +import { QueryResult } from '@powersync/common'; import { useSystem } from '../../library/powersync/system'; import { ScrollView, TextInput } from 'react-native-gesture-handler'; diff --git a/demos/react-native-supabase-todolist/app/views/todos/edit/[id].tsx b/demos/react-native-supabase-todolist/app/views/todos/edit/[id].tsx index c76d57ed..bb700a32 100644 --- a/demos/react-native-supabase-todolist/app/views/todos/edit/[id].tsx +++ b/demos/react-native-supabase-todolist/app/views/todos/edit/[id].tsx @@ -1,5 +1,5 @@ import { ATTACHMENT_TABLE, AttachmentRecord } from '@powersync/attachments'; -import { usePowerSync, useQuery } from '@powersync/react-native'; +import { usePowerSync, useQuery } from '@powersync/react'; import { CameraCapturedPicture } from 'expo-camera'; import _ from 'lodash'; import * as React from 'react'; diff --git a/demos/react-native-supabase-todolist/app/views/todos/lists.tsx b/demos/react-native-supabase-todolist/app/views/todos/lists.tsx index 441b2c17..ccf0a9b5 100644 --- a/demos/react-native-supabase-todolist/app/views/todos/lists.tsx +++ b/demos/react-native-supabase-todolist/app/views/todos/lists.tsx @@ -7,7 +7,7 @@ import prompt from 'react-native-prompt-android'; import { router, Stack } from 'expo-router'; import { LIST_TABLE, TODO_TABLE, ListRecord } from '../../../library/powersync/AppSchema'; import { useSystem } from '../../../library/powersync/system'; -import { useQuery, useStatus } from '@powersync/react-native'; +import { useQuery, useStatus } from '@powersync/react'; import { ListItemWidget } from '../../../library/widgets/ListItemWidget'; const description = (total: number, completed: number = 0) => { diff --git a/demos/react-native-supabase-todolist/library/powersync/AppSchema.ts b/demos/react-native-supabase-todolist/library/powersync/AppSchema.ts index 18d43b10..6fc8be58 100644 --- a/demos/react-native-supabase-todolist/library/powersync/AppSchema.ts +++ b/demos/react-native-supabase-todolist/library/powersync/AppSchema.ts @@ -1,5 +1,5 @@ import { AttachmentTable } from '@powersync/attachments'; -import { Column, ColumnType, Index, IndexedColumn, Schema, Table } from '@powersync/react-native'; +import { Column, ColumnType, Index, IndexedColumn, Schema, Table } from '@powersync/common'; export const TODO_TABLE = 'todos'; export const LIST_TABLE = 'lists'; diff --git a/demos/react-native-supabase-todolist/library/powersync/system.ts b/demos/react-native-supabase-todolist/library/powersync/system.ts index d9f8ed21..e3b7afd9 100644 --- a/demos/react-native-supabase-todolist/library/powersync/system.ts +++ b/demos/react-native-supabase-todolist/library/powersync/system.ts @@ -1,7 +1,9 @@ import '@azure/core-asynciterator-polyfill'; import React from 'react'; -import { PowerSyncDatabase, SyncStreamConnectionMethod } from '@powersync/react-native'; +import { PowerSyncDatabase as PowerSyncDatabaseNative } from '@powersync/react-native'; +import { PowerSyncDatabase as PowerSyncDatabaseWeb } from '@powersync/web'; +import { AbstractPowerSyncDatabase, SyncStreamConnectionMethod } from '@powersync/common'; import { SupabaseStorageAdapter } from '../storage/SupabaseStorageAdapter'; import { AppSchema } from './AppSchema'; @@ -18,19 +20,28 @@ export class System { kvStorage: KVStorage; storage: SupabaseStorageAdapter; supabaseConnector: SupabaseConnector; - powersync: PowerSyncDatabase; + powersync: AbstractPowerSyncDatabase; attachmentQueue: PhotoAttachmentQueue | undefined = undefined; constructor() { this.kvStorage = new KVStorage(); this.supabaseConnector = new SupabaseConnector(this); this.storage = this.supabaseConnector.storage; - this.powersync = new PowerSyncDatabase({ - schema: AppSchema, - database: { - dbFilename: 'sqlite.db' - } - }); + if (PowerSyncDatabaseNative) { + this.powersync = new PowerSyncDatabaseNative({ + schema: AppSchema, + database: { + dbFilename: 'sqlite.db' + } + }); + } else { + this.powersync = new PowerSyncDatabaseWeb({ + schema: AppSchema, + database: { + dbFilename: 'sqlite.db' + }, + }); + } if (AppConfig.supabaseBucket) { this.attachmentQueue = new PhotoAttachmentQueue({ @@ -53,6 +64,7 @@ export class System { await this.powersync.init(); await this.powersync.connect(this.supabaseConnector, { connectionMethod: SyncStreamConnectionMethod.WEB_SOCKET }); + console.log("connected") if (this.attachmentQueue) { await this.attachmentQueue.init(); } diff --git a/demos/react-native-supabase-todolist/library/supabase/SupabaseConnector.ts b/demos/react-native-supabase-todolist/library/supabase/SupabaseConnector.ts index 6c6db246..5a20632a 100644 --- a/demos/react-native-supabase-todolist/library/supabase/SupabaseConnector.ts +++ b/demos/react-native-supabase-todolist/library/supabase/SupabaseConnector.ts @@ -1,4 +1,4 @@ -import { AbstractPowerSyncDatabase, CrudEntry, PowerSyncBackendConnector, UpdateType } from '@powersync/react-native'; +import { AbstractPowerSyncDatabase, CrudEntry, PowerSyncBackendConnector, UpdateType } from '@powersync/common'; import { SupabaseClient, createClient } from '@supabase/supabase-js'; import { AppConfig } from './AppConfig'; diff --git a/demos/react-native-supabase-todolist/metro.config.js b/demos/react-native-supabase-todolist/metro.config.js index 174cb2a3..8681b136 100644 --- a/demos/react-native-supabase-todolist/metro.config.js +++ b/demos/react-native-supabase-todolist/metro.config.js @@ -19,4 +19,28 @@ config.resolver.nodeModulesPaths = [ config.resolver.disableHierarchicalLookup = true; config.resolver.unstable_enableSymlinks = true; +config.resolver.resolveRequest = (context, moduleName, platform) => { + if (platform === 'web') { + if (['react-native-prompt-android', '@powersync/react-native'].includes(moduleName)) { + return { + type: 'empty' + }; + } + const mapping = { 'react-native': 'react-native-web', '@powersync/web':'@powersync/web/dist/index.umd.js' }; + if (mapping[moduleName]) { + console.log('remapping', moduleName); + return context.resolveRequest(context, mapping[moduleName], platform); + } + } else { + if (['@powersync/web'].includes(moduleName)) { + return { + type: 'empty' + }; + } + } + + // Ensure you call the default resolver. + return context.resolveRequest(context, moduleName, platform); +}; + module.exports = config; diff --git a/demos/react-native-supabase-todolist/package.json b/demos/react-native-supabase-todolist/package.json index 8d4f96e2..41ed29aa 100644 --- a/demos/react-native-supabase-todolist/package.json +++ b/demos/react-native-supabase-todolist/package.json @@ -10,8 +10,10 @@ "dependencies": { "@azure/core-asynciterator-polyfill": "^1.0.2", "@expo/vector-icons": "^14.0.0", + "@expo/metro-runtime": "^3.2.1", "@journeyapps/react-native-quick-sqlite": "^1.1.7", "@powersync/attachments": "workspace:*", + "@powersync/web": "workspace:*", "@powersync/common": "workspace:*", "@powersync/react": "workspace:*", "@powersync/react-native": "workspace:*", @@ -46,6 +48,7 @@ "react-native-safe-area-view": "^1.1.1", "react-native-screens": "~3.31.1", "react-native-vector-icons": "^10.0.0", + "react-native-web": "^0.19.12", "react-navigation-stack": "^2.10.4" }, "devDependencies": { diff --git a/packages/web/package.json b/packages/web/package.json index c5a713a9..7d089927 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -19,7 +19,7 @@ }, "homepage": "https://docs.powersync.com", "scripts": { - "build": "tsc --build", + "build": "tsc --build && webpack", "clean": "rm -rf lib tsconfig.tsbuildinfo", "watch": "tsc --build -w", "test": "pnpm build && vitest" @@ -54,14 +54,21 @@ "@types/lodash": "^4.14.200", "@types/uuid": "^9.0.6", "@vitest/browser": "^1.3.1", + "crypto-browserify": "^3.12.0", "p-defer": "^4.0.1", "rollup": "4.14.3", + "stream-browserify": "^3.0.0", + "terser-webpack-plugin": "^5.3.9", "typescript": "^5.5.3", "uuid": "^9.0.1", "vite": "^5.1.1", "vite-plugin-top-level-await": "^1.4.1", "vite-plugin-wasm": "^3.3.0", "vitest": "^1.3.1", - "webdriverio": "^8.32.3" + "vm-browserify": "^1.1.2", + "webdriverio": "^8.32.3", + "webpack": "^5.90.1", + "webpack-cli": "^5.1.4", + "webpack-node-externals": "^3.0.0" } } diff --git a/packages/web/webpack.config.js b/packages/web/webpack.config.js new file mode 100644 index 00000000..0adefdef --- /dev/null +++ b/packages/web/webpack.config.js @@ -0,0 +1,43 @@ +const production = process.env.NODE_ENV === 'production'; +const TerserPlugin = require('terser-webpack-plugin'); +const path = require('path'); +module.exports = () => { + return { + entry: path.join(__dirname, './lib/src/index.js'), + output: { + filename: 'index.umd.js', + path: path.join(__dirname, 'dist'), + // libraryTarget: 'commonjs', + library: { + name: 'sdk_web', + type: 'umd' + } + /** + * Disables webpack top-level function wrapping (appears to be different in Webpack 4 -> 5) + */ + // iife: false + }, + module: { + rules: [ + { + enforce: 'pre', + test: /\.js$/, + loader: 'source-map-loader' + } + ] + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'], + fallback: { + crypto: require.resolve('crypto-browserify'), + stream: require.resolve('stream-browserify'), + vm: require.resolve('vm-browserify') + } + }, + devtool: production ? 'source-map' : 'cheap-module-source-map', + mode: production ? 'production' : 'development', + optimization: { + minimizer: [new TerserPlugin()] + } + }; +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 46b127e7..25f73c45 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -758,6 +758,9 @@ importers: '@azure/core-asynciterator-polyfill': specifier: ^1.0.2 version: 1.0.2 + '@expo/metro-runtime': + specifier: ^3.2.1 + version: 3.2.1(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0)) '@expo/vector-icons': specifier: ^14.0.0 version: 14.0.2 @@ -776,6 +779,9 @@ importers: '@powersync/react-native': specifier: workspace:* version: link:../../packages/react-native + '@powersync/web': + specifier: workspace:* + version: link:../../packages/web '@react-native-community/masked-view': specifier: ^0.1.11 version: 0.1.11(react-native@0.74.1(@babel/core@7.24.5)(@babel/preset-env@7.24.8(@babel/core@7.24.5))(@types/react@18.2.79)(encoding@0.1.13)(react@18.2.0))(react@18.2.0) @@ -869,6 +875,9 @@ importers: react-native-vector-icons: specifier: ^10.0.0 version: 10.1.0 + react-native-web: + specifier: ^0.19.12 + version: 0.19.12(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-navigation-stack: specifier: ^2.10.4 version: 2.10.4(ely7qc3yi7iq67i3txk34molke) @@ -1558,12 +1567,21 @@ importers: '@vitest/browser': specifier: ^1.3.1 version: 1.6.0(vitest@1.6.0)(webdriverio@8.39.1(typescript@5.5.4)) + crypto-browserify: + specifier: ^3.12.0 + version: 3.12.0 p-defer: specifier: ^4.0.1 version: 4.0.1 rollup: specifier: 4.14.3 version: 4.14.3 + stream-browserify: + specifier: ^3.0.0 + version: 3.0.0 + terser-webpack-plugin: + specifier: ^5.3.9 + version: 5.3.10(webpack@5.93.0(webpack-cli@5.1.4)) typescript: specifier: ^5.5.3 version: 5.5.4 @@ -1582,9 +1600,21 @@ importers: vitest: specifier: ^1.3.1 version: 1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@24.1.1)(less@4.2.0)(sass@1.77.8)(terser@5.31.3) + vm-browserify: + specifier: ^1.1.2 + version: 1.1.2 webdriverio: specifier: ^8.32.3 version: 8.39.1(typescript@5.5.4) + webpack: + specifier: ^5.90.1 + version: 5.93.0(webpack-cli@5.1.4) + webpack-cli: + specifier: ^5.1.4 + version: 5.1.4(webpack@5.93.0) + webpack-node-externals: + specifier: ^3.0.0 + version: 3.0.0 tools/diagnostics-app: dependencies: @@ -4731,7 +4761,7 @@ packages: engines: {node: '>=16.3.0'} hasBin: true peerDependencies: - typescript: '>= 4.7.4' + typescript: '*' peerDependenciesMeta: typescript: optional: true @@ -6749,13 +6779,15 @@ packages: peerDependencies: playwright: '*' safaridriver: '*' - vitest: 1.6.0 + vitest: '*' webdriverio: '*' peerDependenciesMeta: playwright: optional: true safaridriver: optional: true + vitest: + optional: true webdriverio: optional: true @@ -7290,6 +7322,9 @@ packages: deprecated: Please use @electron/asar moving forward. There is no API change, just a package name change hasBin: true + asn1.js@4.10.1: + resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + asn1@0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} @@ -7390,8 +7425,13 @@ packages: resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' + '@babel/core': '*' + webpack: '*' + peerDependenciesMeta: + '@babel/core': + optional: true + webpack: + optional: true babel-plugin-dynamic-import-node@2.3.3: resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} @@ -7503,6 +7543,12 @@ packages: bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -7562,6 +7608,25 @@ packages: breakword@1.0.6: resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + + browserify-sign@4.2.3: + resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} + engines: {node: '>= 0.12'} + browserslist@4.23.2: resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -7596,6 +7661,9 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -7819,6 +7887,9 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} + cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + clean-css@5.3.3: resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} @@ -8178,6 +8249,15 @@ packages: resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} engines: {node: '>= 14'} + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -8214,6 +8294,9 @@ packages: crypt@0.0.2: resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + crypto-browserify@3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + crypto-random-string@1.0.0: resolution: {integrity: sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==} engines: {node: '>=4'} @@ -8712,6 +8795,9 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -8769,6 +8855,9 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dir-compare@4.2.0: resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} @@ -8919,6 +9008,9 @@ packages: resolution: {integrity: sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==} engines: {node: '>= 0.4.0'} + elliptic@6.5.6: + resolution: {integrity: sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ==} + emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -9324,6 +9416,9 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + exec-async@2.2.0: resolution: {integrity: sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==} @@ -10125,9 +10220,20 @@ packages: resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hash-base@3.0.4: + resolution: {integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==} + engines: {node: '>=4'} + + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + hash-sum@2.0.0: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -10196,6 +10302,9 @@ packages: history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hoist-non-react-statics@2.5.5: resolution: {integrity: sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==} @@ -11508,6 +11617,9 @@ packages: engines: {node: '>=0.10'} hasBin: true + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + md5@2.2.1: resolution: {integrity: sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==} @@ -11911,6 +12023,10 @@ packages: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + mime-db@1.33.0: resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} engines: {node: '>= 0.6'} @@ -11987,6 +12103,9 @@ packages: minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -12687,6 +12806,10 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-asn1@5.1.7: + resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} + engines: {node: '>= 0.10'} + parse-author@2.0.0: resolution: {integrity: sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==} engines: {node: '>=0.10.0'} @@ -12826,6 +12949,10 @@ packages: pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + pe-library@1.0.1: resolution: {integrity: sha512-nh39Mo1eGWmZS7y+mK/dQIqg7S1lp38DpRxkyoHf0ZcUs/HDc+yyTjuOtTvSMZHmfSLuSQaX945u05Y2Q6UWZg==} engines: {node: '>=14', npm: '>=7'} @@ -13413,6 +13540,9 @@ packages: psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} @@ -13495,6 +13625,9 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + range-parser@1.2.0: resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} engines: {node: '>= 0.6'} @@ -14184,6 +14317,9 @@ packages: engines: {node: 14 >=14.20 || 16 >=16.20 || >=18} hasBin: true + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + roarr@2.15.4: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} @@ -14467,6 +14603,10 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -14746,6 +14886,9 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} + stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + stream-buffers@2.2.0: resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} engines: {node: '>= 0.10.0'} @@ -15884,6 +16027,9 @@ packages: vlq@1.0.1: resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} + vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + vscode-oniguruma@1.7.0: resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} @@ -16099,6 +16245,10 @@ packages: resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} engines: {node: '>=10.0.0'} + webpack-node-externals@3.0.0: + resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==} + engines: {node: '>=6'} + webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} @@ -25737,7 +25887,7 @@ snapshots: '@types/react-native@0.70.19': dependencies: - '@types/react': 18.2.79 + '@types/react': 18.3.3 '@types/react-router-config@5.0.11': dependencies: @@ -26034,8 +26184,8 @@ snapshots: '@vitest/utils': 1.6.0 magic-string: 0.30.10 sirv: 2.0.4 - vitest: 1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@24.1.1)(less@4.2.0)(sass@1.77.8)(terser@5.31.3) optionalDependencies: + vitest: 1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@24.1.1)(less@4.2.0)(sass@1.77.8)(terser@5.31.3) webdriverio: 8.39.1(typescript@5.5.4) '@vitest/expect@1.6.0': @@ -26711,6 +26861,12 @@ snapshots: '@types/glob': 7.2.0 optional: true + asn1.js@4.10.1: + dependencies: + bn.js: 4.12.0 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + asn1@0.2.6: dependencies: safer-buffer: 2.1.2 @@ -26814,37 +26970,42 @@ snapshots: babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.93.0(@swc/core@1.6.13(@swc/helpers@0.5.5))): dependencies: - '@babel/core': 7.24.5 find-cache-dir: 4.0.0 schema-utils: 4.2.0 + optionalDependencies: + '@babel/core': 7.24.5 webpack: 5.93.0(@swc/core@1.6.13(@swc/helpers@0.5.5)) babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.93.0): dependencies: - '@babel/core': 7.24.5 find-cache-dir: 4.0.0 schema-utils: 4.2.0 + optionalDependencies: + '@babel/core': 7.24.5 webpack: 5.93.0 babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.1(@swc/core@1.7.0)(esbuild@0.21.5)): dependencies: - '@babel/core': 7.24.7 find-cache-dir: 4.0.0 schema-utils: 4.2.0 + optionalDependencies: + '@babel/core': 7.24.7 webpack: 5.92.1(@swc/core@1.7.0)(esbuild@0.21.5) babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.93.0(@swc/core@1.6.13(@swc/helpers@0.5.5))): dependencies: - '@babel/core': 7.24.7 find-cache-dir: 4.0.0 schema-utils: 4.2.0 + optionalDependencies: + '@babel/core': 7.24.7 webpack: 5.93.0(@swc/core@1.6.13(@swc/helpers@0.5.5)) babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.93.0): dependencies: - '@babel/core': 7.24.7 find-cache-dir: 4.0.0 schema-utils: 4.2.0 + optionalDependencies: + '@babel/core': 7.24.7 webpack: 5.93.0 babel-plugin-dynamic-import-node@2.3.3: @@ -27066,6 +27227,10 @@ snapshots: bluebird@3.7.2: {} + bn.js@4.12.0: {} + + bn.js@5.2.1: {} + body-parser@1.20.2: dependencies: bytes: 3.1.2 @@ -27175,6 +27340,48 @@ snapshots: dependencies: wcwidth: 1.0.1 + brorand@1.1.0: {} + + browserify-aes@1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-cipher@1.0.1: + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + + browserify-des@1.0.2: + dependencies: + cipher-base: 1.0.4 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-rsa@4.1.0: + dependencies: + bn.js: 5.2.1 + randombytes: 2.1.0 + + browserify-sign@4.2.3: + dependencies: + bn.js: 5.2.1 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.5.6 + hash-base: 3.0.4 + inherits: 2.0.4 + parse-asn1: 5.1.7 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + browserslist@4.23.2: dependencies: caniuse-lite: 1.0.30001643 @@ -27205,6 +27412,8 @@ snapshots: buffer-from@1.1.2: {} + buffer-xor@1.0.3: {} + buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -27476,6 +27685,11 @@ snapshots: ci-info@3.9.0: {} + cipher-base@1.0.4: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + clean-css@5.3.3: dependencies: source-map: 0.6.1 @@ -27821,6 +28035,28 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.5.2 + create-ecdh@4.0.4: + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.6 + + create-hash@1.2.0: + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + create-require@1.1.1: {} crelt@1.0.6: {} @@ -27873,6 +28109,20 @@ snapshots: crypt@0.0.2: {} + crypto-browserify@3.12.0: + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.3 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + crypto-random-string@1.0.0: {} crypto-random-string@2.0.0: {} @@ -28398,6 +28648,11 @@ snapshots: dequal@2.0.3: {} + des.js@1.1.0: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + destroy@1.2.0: {} detect-indent@6.1.0: {} @@ -28442,6 +28697,12 @@ snapshots: diff@4.0.2: {} + diffie-hellman@5.0.3: + dependencies: + bn.js: 4.12.0 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dir-compare@4.2.0: dependencies: minimatch: 3.1.2 @@ -28730,6 +28991,16 @@ snapshots: dependencies: sax: 1.1.4 + elliptic@6.5.6: + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + emoji-regex@10.3.0: {} emoji-regex@8.0.0: {} @@ -29414,6 +29685,11 @@ snapshots: events@3.3.0: {} + evp_bytestokey@1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + exec-async@2.2.0: {} execa@1.0.0: @@ -30604,8 +30880,24 @@ snapshots: has-yarn@3.0.0: {} + hash-base@3.0.4: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + hash-base@3.1.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + hash-sum@2.0.0: {} + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -30743,6 +31035,12 @@ snapshots: tiny-warning: 1.0.3 value-equal: 1.0.1 + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + hoist-non-react-statics@2.5.5: {} hoist-non-react-statics@3.3.2: @@ -32157,6 +32455,12 @@ snapshots: dependencies: buffer-alloc: 1.2.0 + md5.js@1.3.5: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + md5@2.2.1: dependencies: charenc: 0.0.2 @@ -33164,6 +33468,11 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + miller-rabin@4.0.1: + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + mime-db@1.33.0: {} mime-db@1.52.0: {} @@ -33214,6 +33523,8 @@ snapshots: minimalistic-assert@1.0.1: {} + minimalistic-crypto-utils@1.0.1: {} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -33985,6 +34296,15 @@ snapshots: dependencies: callsites: 3.1.0 + parse-asn1@5.1.7: + dependencies: + asn1.js: 4.10.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + hash-base: 3.0.4 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + parse-author@2.0.0: dependencies: author-regex: 1.0.0 @@ -34112,6 +34432,14 @@ snapshots: pathval@1.1.1: {} + pbkdf2@3.1.2: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + pe-library@1.0.1: {} pend@1.2.0: {} @@ -34740,6 +35068,15 @@ snapshots: psl@1.9.0: {} + public-encrypt@4.0.3: + dependencies: + bn.js: 4.12.0 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + parse-asn1: 5.1.7 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + pump@3.0.0: dependencies: end-of-stream: 1.4.4 @@ -34819,6 +35156,11 @@ snapshots: dependencies: safe-buffer: 5.2.1 + randomfill@1.0.4: + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + range-parser@1.2.0: {} range-parser@1.2.1: {} @@ -35982,6 +36324,11 @@ snapshots: dependencies: glob: 10.4.5 + ripemd160@2.0.2: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + roarr@2.15.4: dependencies: boolean: 3.2.0 @@ -36318,6 +36665,11 @@ snapshots: setprototypeof@1.2.0: {} + sha.js@2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 @@ -36621,6 +36973,11 @@ snapshots: dependencies: internal-slot: 1.0.7 + stream-browserify@3.0.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + stream-buffers@2.2.0: {} stream-slice@0.1.2: {} @@ -38011,6 +38368,8 @@ snapshots: vlq@1.0.1: {} + vm-browserify@1.1.2: {} + vscode-oniguruma@1.7.0: {} vscode-textmate@5.2.0: {} @@ -38317,6 +38676,8 @@ snapshots: flat: 5.0.2 wildcard: 2.0.1 + webpack-node-externals@3.0.0: {} + webpack-sources@3.2.3: {} webpack-subresource-integrity@5.1.0(html-webpack-plugin@5.6.0(webpack@5.92.1(@swc/core@1.7.0)))(webpack@5.92.1(@swc/core@1.7.0)(esbuild@0.21.5)):