From bbd6688be4243b8e77bcde5212e0da7ffbbe52c2 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Wed, 6 Dec 2023 12:35:59 -0600 Subject: [PATCH 01/22] feat: first pass foreign mssql extractor --- plugins/foreign-db-extractor/package.json | 43 +++ plugins/foreign-db-extractor/src/index.ts | 127 ++++++++ plugins/foreign-db-extractor/src/make.id.ts | 33 ++ .../src/restore.database.ts | 286 ++++++++++++++++++ .../src/setup.resources.ts | 249 +++++++++++++++ plugins/foreign-db-extractor/src/utils.ts | 65 ++++ 6 files changed, 803 insertions(+) create mode 100644 plugins/foreign-db-extractor/package.json create mode 100644 plugins/foreign-db-extractor/src/index.ts create mode 100644 plugins/foreign-db-extractor/src/make.id.ts create mode 100644 plugins/foreign-db-extractor/src/restore.database.ts create mode 100644 plugins/foreign-db-extractor/src/setup.resources.ts create mode 100644 plugins/foreign-db-extractor/src/utils.ts diff --git a/plugins/foreign-db-extractor/package.json b/plugins/foreign-db-extractor/package.json new file mode 100644 index 000000000..aea00b5bf --- /dev/null +++ b/plugins/foreign-db-extractor/package.json @@ -0,0 +1,43 @@ +{ + "name": "@flatfile/plugin-foreign-db-extractor", + "version": "0.0.0", + "description": "A plugin for extracting MSSQL DBs from a .bak file.", + "registryMetadata": { + "category": "extractor" + }, + "engines": { + "node": ">= 16" + }, + "source": "src/index.ts", + "main": "dist/main.js", + "module": "dist/module.mjs", + "types": "dist/types.d.ts", + "scripts": { + "build": "parcel build", + "dev": "parcel watch", + "check": "tsc ./**/*.ts --noEmit --esModuleInterop", + "test": "jest --passWithNoTests" + }, + "keywords": [], + "author": "Flatfile, Inc.", + "repository": { + "type": "git", + "url": "https://github.com/FlatFilers/flatfile-plugins.git", + "directory": "plugins/foreign-db-extractor" + }, + "type": "module", + "license": "ISC", + "dependencies": { + "@aws-sdk/client-lambda": "^3.460.0", + "@aws-sdk/client-rds": "^3.458.0", + "@aws-sdk/client-s3": "^3.458.0", + "@flatfile/api": "^1.5.37", + "@flatfile/id": "^1.0.0", + "@flatfile/listener": "^0.3.17", + "@flatfile/util-file-buffer": "^0.1.3", + "mssql": "^10.0.1", + "nanoid": "^5.0.3", + "nanoid-dictionary": "^4.3.0", + "uuid": "^9.0.1" + } +} diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts new file mode 100644 index 000000000..2a00f5441 --- /dev/null +++ b/plugins/foreign-db-extractor/src/index.ts @@ -0,0 +1,127 @@ +import api, { Flatfile } from '@flatfile/api' +import FlatfileListener from '@flatfile/listener' +import { getFileBuffer } from '@flatfile/util-file-buffer' +import sql from 'mssql' +import { + createWorkbook, + generateSheets, + getTablesAndColumns, + restoreDatabaseFromBackup, + sheetsTransformer, +} from './restore.database' +import { createResources } from './setup.resources' +import { generateMssqlConnectionString } from './utils' + +export const foreignDBExtractor = () => { + return (listener: FlatfileListener) => { + // Step 1: Create resource setup job + listener.on('file:created', async (event) => { + const { data: file } = await api.files.get(event.context.fileId) + if (file.mode === 'export') { + return false + } + + // Filter on MSSQL backup file type + if (!file.name.endsWith('.bak')) { + return false + } + + const jobs = await api.jobs.create({ + type: Flatfile.JobType.File, + operation: `extract-plugin-foreign-mssql-db`, + status: Flatfile.JobStatus.Ready, + source: event.context.fileId, + input: { + fileName: file.name, + }, + }) + await api.jobs.execute(jobs.data.id) + }) + + // Step 2: Create resources & create restore job + listener.on( + 'job:ready', + { operation: `extract-plugin-foreign-mssql-db` }, + async (event) => { + const { spaceId, environmentId, fileId, jobId } = event.context + + try { + const tick = async (progress: number, info?: string) => { + return await api.jobs.ack(jobId, { + progress, + ...(info !== undefined && { info }), + }) + } + + const job = await api.jobs.get(jobId) + const { fileName } = job.data.input + + await tick(0, 'Retrieving file') + const buffer = await getFileBuffer(event) + + // Step 1: Create AWS resources + const { server, port, bucketName, user, password } = + await createResources(buffer, fileName, tick) + + const database = fileName.replace('.bak', '') + const connConfig: sql.config = { + user, + password, + server, + database, + options: { + port, + trustServerCertificate: true, + }, + connectionTimeout: 30_000, + requestTimeout: 90_000, + timeout: 15_000, + } + const arn = `arn:aws:s3:::${bucketName}/${fileName}` + await tick(50, 'Starting Database Restore') + + // Step 2: Restore DB from Backup + await restoreDatabaseFromBackup(connConfig, arn) + await tick(55, 'Restored DB from backup') + + // Step 3: Create a Workbook + // Get column names for all tables, loop through them and create Sheets for each table + await tick(65, 'Creating workbook') + const tables = await getTablesAndColumns(connConfig) + const sheets = generateSheets(tables) + const connectionString = generateMssqlConnectionString(connConfig) + const workbook = await createWorkbook( + spaceId, + environmentId, + sheets, + connConfig.database, + connectionString + ) + await tick(70, 'Created workbook') + + // Step 4: Apply Flatfile Record transformation + await tick(75, 'Applying Flatfile Record transformation') + await sheetsTransformer(workbook.sheets, connConfig) + await tick(80, 'Finished applying Flatfile Record transformation') + + await tick(95, 'Wrapping up') + await api.files.update(fileId, { + workbookId: workbook.id, + }) + + await api.jobs.complete(jobId, { + info: 'Extraction complete', + outcome: { + message: 'Extracted DB from backup', + }, + }) + } catch (e) { + console.log(`error ${e}`) + await api.jobs.fail(jobId, { + info: `Extraction failed ${e.message}`, + }) + } + } + ) + } +} diff --git a/plugins/foreign-db-extractor/src/make.id.ts b/plugins/foreign-db-extractor/src/make.id.ts new file mode 100644 index 000000000..60d432db2 --- /dev/null +++ b/plugins/foreign-db-extractor/src/make.id.ts @@ -0,0 +1,33 @@ +import { customAlphabet } from 'nanoid' +import { alphanumeric } from 'nanoid-dictionary' +import { v4 as uuidv4 } from 'uuid' + +// Copied from platform +export const MINIMUM_LENGTH = 8 +export const DEFAULT_LENGTH = 8 +export const MAXIMUM_LENGTH = 64 + +export function makeId(length?: number) { + const idLength = getValidLength(length) + if (idLength === 32) { + return uuidv4().replace(/-/g, '') + } + const nanoid = customAlphabet(alphanumeric, idLength) + + return nanoid(idLength) +} + +function getValidLength(providedLength?: number) { + const defaultLength = process.env.DEFAULT_ID_LENGTH + ? parseInt(process.env.DEFAULT_ID_LENGTH, 10) + : DEFAULT_LENGTH + const length = providedLength ?? defaultLength + + if (length < MINIMUM_LENGTH) { + throw new Error(`The id length must be >= ${MINIMUM_LENGTH}`) + } + if (length > MAXIMUM_LENGTH) { + throw new Error(`The id length must be <= ${MAXIMUM_LENGTH}`) + } + return length +} diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/restore.database.ts new file mode 100644 index 000000000..b85294fdf --- /dev/null +++ b/plugins/foreign-db-extractor/src/restore.database.ts @@ -0,0 +1,286 @@ +import api, { Flatfile } from '@flatfile/api' +import sql from 'mssql' +import { makeId } from './make.id' + +const recordIdField = '_flatfile_record_id' + +export async function restoreDatabaseFromBackup( + connConfig: sql.config, + s3Arn: string +) { + let conn + const dbName = connConfig.database + try { + conn = await sql.connect({ ...connConfig, database: 'master' }) // Connecting to the master database to execute restore command + const command = ` + exec msdb.dbo.rds_restore_database + @restore_db_name='${dbName}', + @s3_arn_to_restore_from='${s3Arn}' + ` + + await conn.query(command) + console.log(`Database restore initiated for ${dbName}`) + + // Checking if the database is available + let isAvailable = false + while (!isAvailable) { + const result = await conn.query( + `SELECT state_desc FROM sys.databases WHERE name = '${dbName}'` + ) + if (result.recordset.length > 0 && result.recordset[0].state_desc) { + const dbState = result.recordset[0].state_desc + if (dbState === 'ONLINE') { + isAvailable = true + console.log(`Database ${dbName} is available.`) + } else { + console.log( + `Waiting for database ${dbName} to become available... Current state: ${dbState}` + ) + await new Promise((resolve) => setTimeout(resolve, 30_000)) + } + } else { + console.log(`Database ${dbName} not found, waiting...`) + await new Promise((resolve) => setTimeout(resolve, 30_000)) + } + } + } catch (error) { + console.error('Error during database restore:', error) + } finally { + if (conn) { + conn.close() + console.log('Closed SQL connection.') + } + } +} + +export async function getTablesAndColumns(connConfig: sql.config) { + let tables = {} + let conn + let connectionError = true + let retries = 0 + while (connectionError && retries < 6) { + try { + conn = await sql.connect(connConfig) + connectionError = false + console.log(`Connected to SQL. Retried ${retries} times.`) + await conn.query(`DROP TABLE Sales`) // TODO: Hack -- drop the 7 million row table on the example .bak + const query = ` + SELECT + TABLE_NAME, COLUMN_NAME + FROM + INFORMATION_SCHEMA.COLUMNS + ORDER BY + TABLE_NAME, ORDINAL_POSITION + ` + + const result = await conn.query(query) + result.recordset.forEach((row) => { + if (!tables[row.TABLE_NAME]) { + tables[row.TABLE_NAME] = [] + } + tables[row.TABLE_NAME].push(row.COLUMN_NAME) + }) + } catch (error) { + if (error.name === 'ConnectionError') { + console.log('Waiting for SQL connection to be available...') + retries++ + await new Promise((resolve) => setTimeout(resolve, 15_000)) + } else { + console.log('Error connecting to SQL:', error) + throw error + } + } finally { + if (conn) { + conn.close() + console.log('Closed SQL connection.') + } + } + } + + return tables +} + +export function generateSheets(tables: object) { + return Object.keys(tables).map((tableName) => { + return { + name: tableName, + fields: tables[tableName].map((columnName) => { + return { + key: columnName, + label: columnName, + type: 'string', + } + }), + } + }) +} + +export async function createWorkbook( + spaceId: string, + environmentId: string, + sheets: Flatfile.SheetConfig[], + name: string, + connectionString: string +) { + const { data: workbook } = await api.workbooks.create({ + name: `[file] ${name}`, + labels: ['file'], + spaceId, + environmentId, + sheets, + metadata: { + connectionType: 'FOREIGN_MSSQL', + connectionString, + }, + }) + + return workbook +} + +// TODO this probably should be in Platform +export async function sheetsTransformer( + sheets: Flatfile.Sheet[], + connConfig: sql.config +) { + for (let i = 0; i < sheets.length; i++) { + const sheet = sheets[i] + const parts = sheet.id.split('_') + const newTableName = parts[parts.length - 1] + const sheetName = sheet.name + + try { + // Rename the table to match the sheet ID + await renameTable(connConfig, sheetName, newTableName) + + // Populate the `_flatfile_record_id` and add a `rowid` column + await recordTransformer(connConfig, newTableName) + } catch (error) { + console.error(`Error processing sheet ${sheetName}:`, error) + } + } +} + +async function renameTable( + connConfig: sql.config, + oldTableName: string, + newTableName: string +) { + let conn + try { + conn = await sql.connect(connConfig) + const request = conn.request() + + request.input('oldName', sql.VarChar, oldTableName) + request.input('newName', sql.VarChar, newTableName) + + await request.query(`EXEC sp_rename @oldName, @newName, 'OBJECT'`) + console.log(`Table renamed from ${oldTableName} to ${newTableName}`) + } catch (error) { + console.error('Error renaming table:', error) + throw error + } finally { + if (conn) { + conn.close() + console.log('Closed SQL connection.') + } + } +} + +// This function adds a _flatfile_record_id and rowid columns to the table +async function recordTransformer(connConfig: sql.config, tableName: string) { + let conn + try { + console.log(`Populating record IDs for table: ${tableName}`) + conn = await sql.connect(connConfig) + const request = conn.request() + + // Ensure the field name is properly enclosed in square brackets + const safeRecordIdField = `[${recordIdField}]` + + // Check if the column exists... + console.log(`Check if the column exists...`) + const columnCheck = await request.query( + `SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '${tableName}' AND COLUMN_NAME = '${recordIdField}'` + ) + if (columnCheck.recordset.length === 0) { + // Add _flatfile_record_id column to the table + console.log(`Add _flatfile_record_id column to the table`) + await request.query( + `ALTER TABLE ${tableName} ADD ${safeRecordIdField} VARCHAR(255);` + ) + } + + // Add a `rowid` column to the table to join on later (instead of the identity column) + console.log(`Add a rowid column to the table`) + await request.query(` + CREATE SEQUENCE ${tableName}_rowid + START WITH 1 + INCREMENT BY 1; + `) + await request.query(` + ALTER TABLE ${tableName} + ADD rowid INT; + `) + await request.query(` + UPDATE ${tableName} + SET rowid = NEXT VALUE FOR ${tableName}_rowid; + `) + + // Count Rows + console.log(`Count Rows`) + const countsResult = await request.query( + `SELECT COUNT(*) as count FROM ${tableName};` + ) + const count = countsResult.recordset[0].count + + // Generate record IDs + const recordIds = Array.from({ length: count }, () => makeId()) + + // Create a temporary ${tableName}_tmp_record_ids table + console.log(`Create a temporary ${tableName}_tmp_record_ids table`) + await request.query( + `CREATE TABLE ${tableName}_tmp_record_ids (id VARCHAR(255), rowid INT IDENTITY(1,1))` + ) + + // Insert RecordIds into Temporary Table in chunks + console.log(`Insert RecordIds into Temporary Table in chunks`) + const chunkSize = 1000 // Max number of rows MSSQL can insert at once + for (let i = 0; i < recordIds.length; i += chunkSize) { + const chunk = recordIds.slice(i, i + chunkSize) + const values = chunk.map((id) => `('${id}')`).join(', ') + await request.query( + `INSERT INTO ${tableName}_tmp_record_ids (id) VALUES ${values}` + ) + } + + // Populate the _flatfile_record_id + console.log(`Populate the _flatfile_record_id`) + let updatedRows = 0 + let totalUpdated = 0 + do { + const updateQuery = ` + UPDATE TOP (${chunkSize}) t + SET t.${safeRecordIdField} = r.id + FROM ${tableName} t + INNER JOIN ${tableName}_tmp_record_ids r ON t.rowid = r.rowid + WHERE t.${safeRecordIdField} IS NULL; + ` + const result = await request.query(updateQuery) + updatedRows = result.rowsAffected[0] + totalUpdated += updatedRows + console.log(`Updated ${updatedRows} rows. Total updated: ${totalUpdated}`) + } while (updatedRows === chunkSize) + + // Drop the temporary table + await request.query(`DROP TABLE ${tableName}_tmp_record_ids`) + console.log(`Record IDs populated for table: ${tableName}`) + } catch (error) { + console.error('Error adding record id:', error) + throw error + } finally { + if (conn) { + conn.close() + console.log('Closed SQL connection.') + } + } +} diff --git a/plugins/foreign-db-extractor/src/setup.resources.ts b/plugins/foreign-db-extractor/src/setup.resources.ts new file mode 100644 index 000000000..c7db568ba --- /dev/null +++ b/plugins/foreign-db-extractor/src/setup.resources.ts @@ -0,0 +1,249 @@ +import { + CreateDBInstanceCommand, + CreateOptionGroupCommand, + DescribeDBInstancesCommand, + ModifyDBInstanceCommand, + ModifyOptionGroupCommand, + RDSClient, +} from '@aws-sdk/client-rds' +import { + CreateBucketCommand, + HeadBucketCommand, + PutObjectCommand, + S3Client, +} from '@aws-sdk/client-s3' +import { Flatfile } from '@flatfile/api' +import { v4 as uuidv4 } from 'uuid' +import { generatePassword, generateUsername } from './utils' + +const s3Client = new S3Client({ + region: 'us-west-2', + credentials: { + accessKeyId: process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, + }, +}) + +const rdsClient = new RDSClient({ + region: 'us-west-2', + credentials: { + accessKeyId: process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, + }, +}) + +export async function createResources( + buffer: Buffer, + fileName: string, + tick: (progress: number, message?: string) => Promise +) { + // Step 1: Create S3 Bucket + const bucketName = `foreign-db-extractor-s3-bucket` + await createS3BucketIfNotExists(bucketName) + await tick(5, 'Created S3 bucket') + + // Step 2: Upload .bak file to S3 + try { + const putObjectCommand = new PutObjectCommand({ + Bucket: bucketName, + Key: fileName, + Body: buffer, + }) + await s3Client.send(putObjectCommand) + await tick(10, 'Uploaded .bak file to S3') + } catch (error) { + console.error('Error during S3 upload:', error) + } + + // Step 3: Create RDS Instance + const dbInstanceIdentifier = `foreign-db-extractor-${uuidv4()}` + console.log(`Creating RDS instance with identifier "${dbInstanceIdentifier}"`) + const user = generateUsername() + console.log(`Creating RDS instance with username "${user}"`) + const password = generatePassword() + console.log(`Creating RDS instance with password "${password}"`) + try { + const createDBInstanceCommand = new CreateDBInstanceCommand({ + DBInstanceIdentifier: dbInstanceIdentifier, + AllocatedStorage: 20, + DBInstanceClass: 'db.t3.micro', + Engine: 'sqlserver-ex', + MasterUsername: user, + MasterUserPassword: password, + BackupRetentionPeriod: 0, + PubliclyAccessible: true, + }) + await rdsClient.send(createDBInstanceCommand) + console.log('RDS instance creation initiated.') + await tick(20, 'Created RDS instance') + } catch (error) { + console.error('Error during RDS instance creation:', error) + } + + // Wait for the RDS instance to become ready and get its endpoint and port + const { server, port } = await waitForRDSInstance( + rdsClient, + dbInstanceIdentifier + ) + await tick(30, 'RDS instance is ready') + + // Step 4: Create a `SQLSERVER_BACKUP_RESTORE` option group for the RDS instance + const optionGroupName = 'sql-rds-native-backup-restore' + try { + const majorEngineVersion = await getMajorEngineVersion(dbInstanceIdentifier) + await createOptionGroup(optionGroupName, majorEngineVersion) + await addBackupRestoreOption(optionGroupName) + await associateOptionGroupToInstance(dbInstanceIdentifier, optionGroupName) + await waitForRDSInstance(rdsClient, dbInstanceIdentifier, 'modifying') + await waitForRDSInstance(rdsClient, dbInstanceIdentifier) + await tick(40, 'Option group created') + } catch (error) { + console.error('Error during RDS option group creation:', error) + } + + return { + server, + port, + bucketName, + user, + password, + } +} + +async function createS3BucketIfNotExists(bucketName: string) { + try { + // Check if the bucket already exists and is owned by you + const headBucketCommand = new HeadBucketCommand({ Bucket: bucketName }) + await s3Client.send(headBucketCommand) + + console.log(`Bucket "${bucketName}" already exists and is owned by you.`) + } catch (error) { + if (error.name === 'NotFound' || error.name === 'NoSuchBucket') { + // Bucket does not exist, create it + const createBucketCommand = new CreateBucketCommand({ + Bucket: bucketName, + }) + await s3Client.send(createBucketCommand) + console.log(`Bucket "${bucketName}" created.`) + } else { + // Other errors + throw error + } + } +} + +async function waitForRDSInstance( + rdsClient: RDSClient, + dbInstanceIdentifier: string, + status: string = 'available' +): Promise<{ server: string; port: number }> { + let instanceReady = false + let server = '' + let port = 0 + await new Promise((resolve) => setTimeout(resolve, 30_000)) + while (!instanceReady) { + const describeCommand = new DescribeDBInstancesCommand({ + DBInstanceIdentifier: dbInstanceIdentifier, + }) + const response = await rdsClient.send(describeCommand) + const dbInstance = response.DBInstances[0] + const dbInstanceStatus = dbInstance.DBInstanceStatus + + if (dbInstanceStatus === status) { + instanceReady = true + server = dbInstance.Endpoint.Address + port = dbInstance.Endpoint.Port + console.log(`RDS instance is ${status}.`) + } else { + console.log( + `Waiting for RDS instance to be ${status}... Current status: ${dbInstanceStatus}` + ) + await new Promise((resolve) => setTimeout(resolve, 30_000)) + } + } + + return { server, port } +} + +async function getMajorEngineVersion( + instanceIdentifier: string +): Promise { + const command = new DescribeDBInstancesCommand({ + DBInstanceIdentifier: instanceIdentifier, + }) + + const response = await rdsClient.send(command) + const dbInstance = response.DBInstances[0] + const fullEngineVersion = dbInstance.EngineVersion + const majorEngineVersion = + fullEngineVersion.split('.')[0] + '.' + fullEngineVersion.split('.')[1] + + return majorEngineVersion +} + +async function createOptionGroup( + optionGroupName: string, + engineVersion: string +) { + const createOptionGroupParams = { + OptionGroupName: optionGroupName, + EngineName: 'sqlserver-ex', + MajorEngineVersion: engineVersion, + OptionGroupDescription: 'Option group for SQL Server Backup and Restore', + } + + try { + await rdsClient.send(new CreateOptionGroupCommand(createOptionGroupParams)) + console.log('Option Group Created') + } catch (error) { + if (error.name === 'OptionGroupAlreadyExistsFault') { + console.log('Option Group already exists') + } else { + console.error('Error creating option group:', error) + throw error + } + } +} + +async function addBackupRestoreOption(optionGroupName: string) { + const addOptionParams = { + OptionGroupName: optionGroupName, + OptionsToInclude: [ + { + OptionName: 'SQLSERVER_BACKUP_RESTORE', + OptionSettings: [ + { + Name: 'IAM_ROLE_ARN', + Value: process.env.AWS_RESTORE_ROLE_ARN, + }, + ], + }, + ], + ApplyImmediately: true, + } + + try { + await rdsClient.send(new ModifyOptionGroupCommand(addOptionParams)) + console.log('Option Added') + } catch (error) { + console.error('Error', error) + } +} + +async function associateOptionGroupToInstance( + dbInstanceIdentifier: string, + optionGroupName: string +) { + const modifyDbInstanceParams = { + DBInstanceIdentifier: dbInstanceIdentifier, + OptionGroupName: optionGroupName, + ApplyImmediately: true, + } + + try { + await rdsClient.send(new ModifyDBInstanceCommand(modifyDbInstanceParams)) + console.log('Option Group Association Initiated') + } catch (error) { + console.error('Error', error) + } +} diff --git a/plugins/foreign-db-extractor/src/utils.ts b/plugins/foreign-db-extractor/src/utils.ts new file mode 100644 index 000000000..66f1eb55c --- /dev/null +++ b/plugins/foreign-db-extractor/src/utils.ts @@ -0,0 +1,65 @@ +import * as crypto from 'crypto' +import sql from 'mssql' + +export function generatePassword(length = 12) { + const charset = + 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%^&*()_+~`|}{[]:;<>,.?-=' + let password = '' + + for (let i = 0; i < length; i++) { + const randomIndex = crypto.randomBytes(1)[0] % charset.length + password += charset[randomIndex] + } + + return password +} + +export function generateUsername() { + const adjectives = [ + 'Fast', + 'Quick', + 'Rapid', + 'Speedy', + 'Flying', + 'Wild', + 'Silent', + 'Red', + 'Blue', + 'Green', + 'Yellow', + 'Swift', + 'Bright', + 'Dark', + 'Light', + ] + const nouns = [ + 'Cheetah', + 'Eagle', + 'Falcon', + 'Panther', + 'Shark', + 'Tiger', + 'Wolf', + 'Lion', + 'Dragon', + 'Phoenix', + 'Hawk', + 'Sparrow', + 'Fox', + 'Bear', + 'Leopard', + ] + + const randomNumber = Math.floor(Math.random() * 10000) + .toString() + .padStart(4, '0') + const randomAdjective = + adjectives[Math.floor(Math.random() * adjectives.length)] + const randomNoun = nouns[Math.floor(Math.random() * nouns.length)] + + return `${randomAdjective}${randomNoun}${randomNumber}` +} + +export function generateMssqlConnectionString(connConfig: sql.config) { + return `Server=${connConfig.server};Port=${connConfig.options.port};User Id=${connConfig.user};Password='${connConfig.password}';Database=${connConfig.database};Encrypt=true;TrustServerCertificate=true;Connection Timeout=30;` +} From 3dccfd6e1d9f11b338580a8b05d7de5c96169ad5 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Wed, 6 Dec 2023 12:42:17 -0600 Subject: [PATCH 02/22] chore: package-lock --- package-lock.json | 7053 ++++++++++++++++++++++++++++++--------------- 1 file changed, 4750 insertions(+), 2303 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80a1261f9..157cc8c9c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -97,1050 +97,2874 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "license": "MIT", + "node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" } }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/@babel/core": { - "version": "7.23.7", - "license": "MIT", + "node_modules/@aws-crypto/crc32c": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz", + "integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" } }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.4", - "license": "MIT", + "node_modules/@aws-crypto/crc32c/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "tslib": "^1.11.1" } }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/@aws-crypto/sha1-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz", + "integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "license": "MIT", + "node_modules/@aws-crypto/sha1-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "license": "MIT", + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "dependencies": { + "tslib": "^1.11.1" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "license": "MIT", + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/util": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-lambda": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.525.0.tgz", + "integrity": "sha512-Jsz2F6X6DBV962T4wTyQgP2KqsIS3Hxw6shC5653tapCrR+AK2psFpeKs9w3SQA8D0SnEOAQf/5ay4n9sL+fZw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.525.0", + "@aws-sdk/core": "3.525.0", + "@aws-sdk/credential-provider-node": "3.525.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/eventstream-serde-browser": "^2.1.3", + "@smithy/eventstream-serde-config-resolver": "^2.1.3", + "@smithy/eventstream-serde-node": "^2.1.3", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-stream": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "@smithy/util-waiter": "^2.1.3", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "node_modules/@aws-sdk/client-rds": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-rds/-/client-rds-3.525.0.tgz", + "integrity": "sha512-fo6TpRWFkG6A45c/tlDqk2EjDGu/TnV0p4Az6jB1XJUuD5+ti8S3k22CIecFCoo7jjHvjnCjPbYa5R6RIb2tPA==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.525.0", + "@aws-sdk/core": "3.525.0", + "@aws-sdk/credential-provider-node": "3.525.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-sdk-rds": "3.525.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "@smithy/util-waiter": "^2.1.3", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" + "node_modules/@aws-sdk/client-s3": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.525.0.tgz", + "integrity": "sha512-hoMGH8G9rezZDiJPsMjsyRVNfVHHa4u6lcZ09SQMmtFHWK0FUcC0DIKR5ripV5qGDbnV54i2JotXlLzAv0aNCQ==", + "dependencies": { + "@aws-crypto/sha1-browser": "3.0.0", + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.525.0", + "@aws-sdk/core": "3.525.0", + "@aws-sdk/credential-provider-node": "3.525.0", + "@aws-sdk/middleware-bucket-endpoint": "3.525.0", + "@aws-sdk/middleware-expect-continue": "3.523.0", + "@aws-sdk/middleware-flexible-checksums": "3.523.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-location-constraint": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-sdk-s3": "3.525.0", + "@aws-sdk/middleware-signing": "3.523.0", + "@aws-sdk/middleware-ssec": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/signature-v4-multi-region": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@aws-sdk/xml-builder": "3.523.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/eventstream-serde-browser": "^2.1.3", + "@smithy/eventstream-serde-config-resolver": "^2.1.3", + "@smithy/eventstream-serde-node": "^2.1.3", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-blob-browser": "^2.1.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/hash-stream-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/md5-js": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-stream": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "@smithy/util-waiter": "^2.1.3", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15" + "node_modules/@aws-sdk/client-sso": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.525.0.tgz", + "integrity": "sha512-6KwGQWFoNLH1UupdWPFdKPfTgjSz1kN8/r8aCzuvvXBe4Pz+iDUZ6FEJzGWNc9AapjvZDNO1hs23slomM9rTaA==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.525.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.525.0.tgz", + "integrity": "sha512-zz13k/6RkjPSLmReSeGxd8wzGiiZa4Odr2Tv3wTcxClM4wOjD+zOgGv4Fe32b9AMqaueiCdjbvdu7AKcYxFA4A==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.525.0", + "@aws-sdk/core": "3.525.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "license": "MIT", + "@aws-sdk/credential-provider-node": "^3.525.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.525.0.tgz", + "integrity": "sha512-a8NUGRvO6rkfTZCbMaCsjDjLbERCwIUU9dIywFYcRgbFhkupJ7fSaZz3Het98U51M9ZbTEpaTa3fz0HaJv8VJw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.525.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-utf8": "^2.1.1", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/credential-provider-node": "^3.525.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "license": "MIT", + "node_modules/@aws-sdk/core": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.525.0.tgz", + "integrity": "sha512-E3LtEtMWCriQOFZpVKpLYzbdw/v2PAOEAMhn2VRRZ1g0/g1TXzQrfhEU2yd8l/vQEJaCJ82ooGGg7YECviBUxA==", "dependencies": { - "@babel/types": "^7.22.5" + "@smithy/core": "^1.3.5", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.523.0.tgz", + "integrity": "sha512-Y6DWdH6/OuMDoNKVzZlNeBc6f1Yjk1lYMjANKpIhMbkRCvLJw/PYZKOZa8WpXbTYdgg9XLjKybnLIb3ww3uuzA==", "dependencies": { - "@babel/types": "^7.22.5" + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.525.0.tgz", + "integrity": "sha512-RNWQGuSBQZhl3iqklOslUEfQ4br1V3DCPboMpeqFtddUWJV3m2u2extFur9/4Uy+1EHVF120IwZUKtd8dF+ibw==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/property-provider": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/util-stream": "^2.1.3", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.525.0.tgz", + "integrity": "sha512-JDnccfK5JRb9jcgpc9lirL9PyCwGIqY0nKdw3LlX5WL5vTpTG4E1q7rLAlpNh7/tFD1n66Itarfv2tsyHMIqCw==", + "dependencies": { + "@aws-sdk/client-sts": "3.525.0", + "@aws-sdk/credential-provider-env": "3.523.0", + "@aws-sdk/credential-provider-process": "3.523.0", + "@aws-sdk/credential-provider-sso": "3.525.0", + "@aws-sdk/credential-provider-web-identity": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@smithy/credential-provider-imds": "^2.2.3", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.525.0.tgz", + "integrity": "sha512-RJXlO8goGXpnoHQAyrCcJ0QtWEOFa34LSbfdqBIjQX/fwnjUuEmiGdXTV3AZmwYQ7juk49tfBneHbtOP3AGqsQ==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.523.0", + "@aws-sdk/credential-provider-http": "3.525.0", + "@aws-sdk/credential-provider-ini": "3.525.0", + "@aws-sdk/credential-provider-process": "3.523.0", + "@aws-sdk/credential-provider-sso": "3.525.0", + "@aws-sdk/credential-provider-web-identity": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@smithy/credential-provider-imds": "^2.2.3", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helpers": { - "version": "7.23.8", - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.523.0.tgz", + "integrity": "sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "license": "MIT", + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.525.0.tgz", + "integrity": "sha512-7V7ybtufxdD3plxeIeB6aqHZeFIUlAyPphXIUgXrGY10iNcosL970rQPBeggsohe4gCM6UvY2TfMeEcr+ZE8FA==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@aws-sdk/client-sso": "3.525.0", + "@aws-sdk/token-providers": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.23.6", - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.525.0.tgz", + "integrity": "sha512-sAukOjR1oKb2JXG4nPpuBFpSwGUhrrY17PG/xbTy8NAoLLhrqRwnErcLfdTfmj6tH+3094k6ws/Sh8a35ae7fA==", + "dependencies": { + "@aws-sdk/client-sts": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "license": "MIT", + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.525.0.tgz", + "integrity": "sha512-nYfQ2Xspfef7j8mZO7varUWLPH6HQlXateH7tBVtBNUAazyQE4UJEvC0fbQ+Y01e+FKlirim/m2umkdMXqAlTg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-arn-parser": "3.495.0", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "@smithy/util-config-provider": "^2.2.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.523.0.tgz", + "integrity": "sha512-E5DyRAHU39VHaAlQLqXYS/IKpgk3vsryuU6kkOcIIK8Dgw0a2tjoh5AOCaNa8pD+KgAGrFp35JIMSX1zui5diA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "license": "MIT", + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.523.0.tgz", + "integrity": "sha512-lIa1TdWY9q4zsDFarfSnYcdrwPR+nypaU4n6hb95i620/1F5M5s6H8P0hYtwTNNvx+slrR8F3VBML9pjBtzAHw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@aws-crypto/crc32": "3.0.0", + "@aws-crypto/crc32c": "3.0.0", + "@aws-sdk/types": "3.523.0", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "license": "MIT", + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.523.0.tgz", + "integrity": "sha512-4g3q7Ta9sdD9TMUuohBAkbx/e3I/juTqfKi7TPgP+8jxcYX72MOsgemAMHuP6CX27eyj4dpvjH+w4SIVDiDSmg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.523.0.tgz", + "integrity": "sha512-1QAUXX3U0jkARnU0yyjk81EO4Uw5dCeQOtvUY5s3bUOHatR3ThosQeIr6y9BCsbXHzNnDe1ytCjqAPyo8r/bYw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "license": "MIT", + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.523.0.tgz", + "integrity": "sha512-PeDNJNhfiaZx54LBaLTXzUaJ9LXFwDFFIksipjqjvxMafnoVcQwKbkoPUWLe5ytT4nnL1LogD3s55mERFUsnwg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "license": "MIT", + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.523.0.tgz", + "integrity": "sha512-nZ3Vt7ehfSDYnrcg/aAfjjvpdE+61B3Zk68i6/hSUIegT3IH9H1vSW67NDKVp+50hcEfzWwM2HMPXxlzuyFyrw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@aws-sdk/middleware-sdk-rds": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-rds/-/middleware-sdk-rds-3.525.0.tgz", + "integrity": "sha512-3RbR01vta/1T0/BP+hnaJ5nspb3wRDR+2TDLOm1pmj0KZTR1yQHYYYLLBtZ0n1XkK7yxtDr0FT/EWQYVSf2ibw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-format-url": "3.523.0", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "license": "MIT", + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.525.0.tgz", + "integrity": "sha512-ewFyyFM6wdFTOqCiId5GQNi7owDdLEonQhB4h8tF6r3HV52bRlDvZA4aDos+ft6N/XY2J6L0qlFTFq+/oiurXw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-arn-parser": "3.495.0", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/util-config-provider": "^2.2.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.523.0.tgz", + "integrity": "sha512-pFXV4don6qcmew/OvEjLUr2foVjzoJ8o5k57Oz9yAHz8INx3RHK8MP/K4mVhHo6n0SquRcWrm4kY/Tw+89gkEA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/types": "^2.10.1", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.523.0.tgz", + "integrity": "sha512-FaqAZQeF5cQzZLOIboIJRaWVOQ2F2pJZAXGF5D7nJsxYNFChotA0O0iWimBRxU35RNn7yirVxz35zQzs20ddIw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.525.0.tgz", + "integrity": "sha512-4al/6uO+t/QIYXK2OgqzDKQzzLAYJza1vWFS+S0lJ3jLNGyLB5BMU5KqWjDzevYZ4eCnz2Nn7z0FveUTNz8YdQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "license": "MIT", + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.525.0.tgz", + "integrity": "sha512-8kFqXk6UyKgTMi7N7QlhA6qM4pGPWbiUXqEY2RgUWngtxqNFGeM9JTexZeuavQI+qLLe09VPShPNX71fEDcM6w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@aws-sdk/types": "3.523.0", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/types": "^2.10.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.525.0.tgz", + "integrity": "sha512-j8gkdfiokaherRgokfZBl2azYBMHlegT7pOnR/3Y79TSz6G+bJeIkuNk8aUbJArr6R8nvAM1j4dt1rBM+efolQ==", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "license": "MIT", + "node_modules/@aws-sdk/token-providers": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.525.0.tgz", + "integrity": "sha512-puVjbxuK0Dq7PTQ2HdddHy2eQjOH8GZbump74yWJa6JVpRW84LlOcNmP+79x4Kscvz2ldWB8XDFw/pcCiSDe5A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@aws-sdk/client-sso-oidc": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.523.0.tgz", + "integrity": "sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/runtime": { - "version": "7.23.8", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.495.0.tgz", + "integrity": "sha512-hwdA3XAippSEUxs7jpznwD63YYFR+LtQvlEcebPTgWR9oQgG9TfS+39PUfbnEeje1ICuOrN3lrFqFbmP9uzbMg==", "dependencies": { - "regenerator-runtime": "^0.14.0" + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "license": "MIT", + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.525.0.tgz", + "integrity": "sha512-DIW7WWU5tIGkeeKX6NJUyrEIdWMiqjLQG3XBzaUj+ufIENwNjdAHhlD8l2vX7Yr3JZRT6yN/84wBCj7Tw1xd1g==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "@smithy/util-endpoints": "^1.1.4", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.7", - "license": "MIT", + "node_modules/@aws-sdk/util-format-url": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.523.0.tgz", + "integrity": "sha512-OWi+8bsEfxG4DvHkWauxyWVZMbYrezC49DbGDEu1lJgk9eqQALlyGkZHt9O8KKfyT/mdqQbR8qbpkxqYcGuHVA==", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@aws-sdk/types": "3.523.0", + "@smithy/querystring-builder": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.4", - "license": "MIT", + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz", + "integrity": "sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==", "dependencies": { - "ms": "2.1.2" + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.523.0.tgz", + "integrity": "sha512-6ZRNdGHX6+HQFqTbIA5+i8RWzxFyxsZv8D3soRfpdyWIKkzhSz8IyRKXRciwKBJDaC7OX2jzGE90wxRQft27nA==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.525.0.tgz", + "integrity": "sha512-88Wjt4efyUSBGcyIuh1dvoMqY1k15jpJc5A/3yi67clBQEFsu9QCodQCQPqmRjV3VRcMtBOk+jeCTiUzTY5dRQ==", + "dependencies": { + "@aws-sdk/types": "3.523.0", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" }, "peerDependenciesMeta": { - "supports-color": { + "aws-crt": { "optional": true } } }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "dependencies": { + "tslib": "^2.3.1" + } }, - "node_modules/@babel/types": { - "version": "7.23.6", - "license": "MIT", + "node_modules/@aws-sdk/xml-builder": { + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.523.0.tgz", + "integrity": "sha512-wfvyVymj2TUw7SuDor9IuFcAzJZvWRBZotvY/wQJOlYa3UP3Oezzecy64N4FWfBJEsZdrTN+HOZFl+IzTWWnUA==", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@changesets/apply-release-plan": { - "version": "7.0.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/abort-controller": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", + "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/config": "^3.0.0", - "@changesets/get-version-range-type": "^0.4.0", - "@changesets/git": "^3.0.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "detect-indent": "^6.0.0", - "fs-extra": "^7.0.1", - "lodash.startcase": "^4.4.0", - "outdent": "^0.5.0", - "prettier": "^2.7.1", - "resolve-from": "^5.0.0", - "semver": "^7.5.3" + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/@changesets/assemble-release-plan": { - "version": "6.0.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-auth": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.6.0.tgz", + "integrity": "sha512-3X9wzaaGgRaBCwhLQZDtFp5uLIXCPrGbwJNWPPugvL4xbIGgScv77YzzxToKGLAKvG9amDoofMoP+9hsH1vs1w==", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "semver": "^7.5.3" + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@changesets/changelog-git": { - "version": "0.2.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-auth/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", + "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", "dependencies": { - "@changesets/types": "^6.0.0" + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@changesets/cli": { - "version": "2.27.1", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-client": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.8.0.tgz", + "integrity": "sha512-+gHS3gEzPlhyQBMoqVPOTeNH031R5DM/xpCvz72y38C09rg4Hui/1sJS/ujoisDZbbSHyuRLVWdFlwL0pIFwbg==", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/apply-release-plan": "^7.0.0", - "@changesets/assemble-release-plan": "^6.0.0", - "@changesets/changelog-git": "^0.2.0", - "@changesets/config": "^3.0.0", - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", - "@changesets/get-release-plan": "^4.0.0", - "@changesets/git": "^3.0.0", - "@changesets/logger": "^0.1.0", - "@changesets/pre": "^2.0.0", - "@changesets/read": "^0.6.0", - "@changesets/types": "^6.0.0", - "@changesets/write": "^0.3.0", - "@manypkg/get-packages": "^1.1.3", - "@types/semver": "^7.5.0", - "ansi-colors": "^4.1.3", - "chalk": "^2.1.0", - "ci-info": "^3.7.0", - "enquirer": "^2.3.0", - "external-editor": "^3.1.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "meow": "^6.0.0", - "outdent": "^0.5.0", - "p-limit": "^2.2.0", - "preferred-pm": "^3.0.0", - "resolve-from": "^5.0.0", - "semver": "^7.5.3", - "spawndamnit": "^2.0.0", - "term-size": "^2.1.0", - "tty-table": "^4.1.5" + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-rest-pipeline": "^1.9.1", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.0.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" }, - "bin": { - "changeset": "bin.js" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@changesets/config": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-client/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", + "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", - "@changesets/logger": "^0.1.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1", - "micromatch": "^4.0.2" + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@changesets/errors": { - "version": "0.2.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-http-compat": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.0.1.tgz", + "integrity": "sha512-xpQZz/q7E0jSW4rckrTo2mDFDQgo6I69hBU4voMQi7REi6JRW5a+KfVkbJCFCWnkFmP6cAJ0IbuudTdf/MEBOQ==", "dependencies": { - "extendable-error": "^0.1.5" + "@azure/abort-controller": "^1.0.4", + "@azure/core-client": "^1.3.0", + "@azure/core-rest-pipeline": "^1.3.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@changesets/get-dependents-graph": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-lro": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.6.0.tgz", + "integrity": "sha512-PyRNcaIOfMgoUC01/24NoG+k8O81VrKxYARnDlo+Q2xji0/0/j2nIt8BwQh294pb1c5QnXTDPbNR4KzoDKXEoQ==", "dependencies": { - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "semver": "^7.5.3" + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.2.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@changesets/get-release-plan": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-lro/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", + "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/assemble-release-plan": "^6.0.0", - "@changesets/config": "^3.0.0", - "@changesets/pre": "^2.0.0", - "@changesets/read": "^0.6.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3" + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@changesets/get-version-range-type": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@changesets/git": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-paging": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.5.0.tgz", + "integrity": "sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "is-subdir": "^1.1.1", - "micromatch": "^4.0.2", - "spawndamnit": "^2.0.0" + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@changesets/logger": { - "version": "0.1.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-rest-pipeline": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.14.0.tgz", + "integrity": "sha512-Tp4M6NsjCmn9L5p7HsW98eSOS7A0ibl3e5ntZglozT0XuD/0y6i36iW829ZbBq0qihlGgfaeFpkLjZ418KDm1Q==", "dependencies": { - "chalk": "^2.1.0" + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@changesets/parse": { - "version": "0.4.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-rest-pipeline/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", + "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", "dependencies": { - "@changesets/types": "^6.0.0", - "js-yaml": "^3.13.1" + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@changesets/pre": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-rest-pipeline/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1" + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/@changesets/read": { - "version": "0.6.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-rest-pipeline/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/git": "^3.0.0", - "@changesets/logger": "^0.1.0", - "@changesets/parse": "^0.4.0", - "@changesets/types": "^6.0.0", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "p-filter": "^2.1.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@changesets/types": { - "version": "6.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@changesets/write": { - "version": "0.3.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-rest-pipeline/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/types": "^6.0.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "prettier": "^2.7.1" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.19", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@azure/core-rest-pipeline/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, "engines": { - "node": ">=12" + "node": ">= 6" } }, - "node_modules/@faker-js/faker": { - "version": "7.6.0", - "dev": true, - "license": "MIT", + "node_modules/@azure/core-rest-pipeline/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@azure/core-tracing": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.1.tgz", + "integrity": "sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==", + "dependencies": { + "tslib": "^2.2.0" + }, "engines": { - "node": ">=14.0.0", - "npm": ">=6.0.0" + "node": ">=12.0.0" } }, - "node_modules/@flatfile/api": { - "version": "1.7.4", + "node_modules/@azure/core-util": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.7.0.tgz", + "integrity": "sha512-Zq2i3QO6k9DA8vnm29mYM4G8IE9u1mhF1GUabVEqPNX8Lj833gdxQ2NAFxt2BZsfAL+e9cT8SyVN7dFVJ/Hf0g==", "dependencies": { - "@flatfile/cross-env-config": "0.0.4", - "@types/pako": "2.0.1", - "form-data": "4.0.0", - "js-base64": "3.7.2", - "node-fetch": "2.7.0", - "pako": "2.0.1", - "qs": "6.11.2", - "url-join": "4.0.1" + "@azure/abort-controller": "^2.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@flatfile/blueprint": { - "version": "0.0.9", - "dev": true, + "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", + "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", "dependencies": { - "openapi-typescript-codegen": "^0.23.0" + "tslib": "^2.2.0" }, "engines": { - "node": ">=16 || >=18", - "pnpm": ">=7" + "node": ">=18.0.0" } }, - "node_modules/@flatfile/common-plugin-utils": { - "resolved": "support/common-utils", - "link": true - }, - "node_modules/@flatfile/configure": { - "version": "0.5.39", - "dev": true, - "license": "ISC", + "node_modules/@azure/identity": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-3.4.2.tgz", + "integrity": "sha512-0q5DL4uyR0EZ4RXQKD8MadGH6zTIcloUoS/RVbCpNpej4pwte0xpqYxk8K97Py2RiuUvI7F4GXpoT4046VfufA==", "dependencies": { - "@flatfile/hooks": "^1.3.1", - "@flatfile/schema": "^0.2.16", - "case-anything": "^2.1.10", - "date-fns": "^2.29.1", - "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz" + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.5.0", + "@azure/core-client": "^1.4.0", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.6.1", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^3.5.0", + "@azure/msal-node": "^2.5.1", + "events": "^3.0.0", + "jws": "^4.0.0", + "open": "^8.0.0", + "stoppable": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@flatfile/cross-env-config": { - "version": "0.0.4", - "license": "ISC" - }, - "node_modules/@flatfile/hooks": { - "version": "1.3.2", - "license": "ISC" - }, - "node_modules/@flatfile/listener": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@azure/keyvault-keys": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@azure/keyvault-keys/-/keyvault-keys-4.8.0.tgz", + "integrity": "sha512-jkuYxgkw0aaRfk40OQhFqDIupqblIOIlYESWB6DKCVDxQet1pyv86Tfk9M+5uFM0+mCs6+MUHU+Hxh3joiUn4Q==", "dependencies": { - "ansi-colors": "^4.1.3", - "cross-fetch": "^4.0.0", - "flat": "^5.0.2", - "pako": "^2.1.0", - "wildcard-match": "^5.1.2" + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.5.0", + "@azure/core-http-compat": "^2.0.1", + "@azure/core-lro": "^2.2.0", + "@azure/core-paging": "^1.1.1", + "@azure/core-rest-pipeline": "^1.8.1", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.0.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" }, - "peerDependencies": { - "@flatfile/api": "^1.5.10" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@flatfile/listener-driver-pubsub": { - "version": "2.0.3", - "license": "ISC", + "node_modules/@azure/logger": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.4.tgz", + "integrity": "sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==", "dependencies": { - "@flatfile/api": "^1.5.5", - "@flatfile/listener": "^1.0.0", - "@flatfile/utils-debugger": "^0.0.5", - "axios": "^1.4.0", - "pubnub": "^7.2.2" + "tslib": "^2.2.0" }, - "peerDependencies": { - "@flatfile/listener": "1.0.0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@flatfile/listener/node_modules/pako": { - "version": "2.1.0", - "license": "(MIT AND Zlib)" - }, - "node_modules/@flatfile/plugin-autocast": { - "resolved": "plugins/autocast", - "link": true + "node_modules/@azure/msal-browser": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.10.0.tgz", + "integrity": "sha512-mnmi8dCXVNZI+AGRq0jKQ3YiodlIC4W9npr6FCB9WN6NQT+6rq+cIlxgUb//BjLyzKsnYo+i4LROGeMyU+6v1A==", + "dependencies": { + "@azure/msal-common": "14.7.1" + }, + "engines": { + "node": ">=0.8.0" + } }, - "node_modules/@flatfile/plugin-automap": { - "resolved": "plugins/automap", - "link": true + "node_modules/@azure/msal-common": { + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.7.1.tgz", + "integrity": "sha512-v96btzjM7KrAu4NSEdOkhQSTGOuNUIIsUdB8wlyB9cdgl5KqEKnTonHUZ8+khvZ6Ap542FCErbnTyDWl8lZ2rA==", + "engines": { + "node": ">=0.8.0" + } }, - "node_modules/@flatfile/plugin-connect-via-merge": { - "resolved": "plugins/merge-connection", - "link": true + "node_modules/@azure/msal-node": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.6.4.tgz", + "integrity": "sha512-nNvEPx009/80UATCToF+29NZYocn01uKrB91xtFr7bSqkqO1PuQGXRyYwryWRztUrYZ1YsSbw9A+LmwOhpVvcg==", + "dependencies": { + "@azure/msal-common": "14.7.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" + } }, - "node_modules/@flatfile/plugin-constraints": { - "resolved": "plugins/constraints", - "link": true + "node_modules/@azure/msal-node/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } }, - "node_modules/@flatfile/plugin-convert-json-schema": { - "resolved": "plugins/json-schema", - "link": true + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@flatfile/plugin-convert-openapi-schema": { - "resolved": "plugins/openapi-schema", - "link": true + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@flatfile/plugin-convert-sql-ddl": { - "resolved": "plugins/sql-ddl-converter", - "link": true + "node_modules/@babel/core": { + "version": "7.23.7", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.4", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.8", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.6", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.8", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.7", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.4", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/@babel/types": { + "version": "7.23.6", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@changesets/apply-release-plan": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/config": "^3.0.0", + "@changesets/get-version-range-type": "^0.4.0", + "@changesets/git": "^3.0.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "detect-indent": "^6.0.0", + "fs-extra": "^7.0.1", + "lodash.startcase": "^4.4.0", + "outdent": "^0.5.0", + "prettier": "^2.7.1", + "resolve-from": "^5.0.0", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/assemble-release-plan": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/changelog-git": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@changesets/types": "^6.0.0" + } + }, + "node_modules/@changesets/cli": { + "version": "2.27.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/apply-release-plan": "^7.0.0", + "@changesets/assemble-release-plan": "^6.0.0", + "@changesets/changelog-git": "^0.2.0", + "@changesets/config": "^3.0.0", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/get-release-plan": "^4.0.0", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/types": "^6.0.0", + "@changesets/write": "^0.3.0", + "@manypkg/get-packages": "^1.1.3", + "@types/semver": "^7.5.0", + "ansi-colors": "^4.1.3", + "chalk": "^2.1.0", + "ci-info": "^3.7.0", + "enquirer": "^2.3.0", + "external-editor": "^3.1.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "meow": "^6.0.0", + "outdent": "^0.5.0", + "p-limit": "^2.2.0", + "preferred-pm": "^3.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.5.3", + "spawndamnit": "^2.0.0", + "term-size": "^2.1.0", + "tty-table": "^4.1.5" + }, + "bin": { + "changeset": "bin.js" + } + }, + "node_modules/@changesets/config": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1", + "micromatch": "^4.0.2" + } + }, + "node_modules/@changesets/errors": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "extendable-error": "^0.1.5" + } + }, + "node_modules/@changesets/get-dependents-graph": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/get-release-plan": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/assemble-release-plan": "^6.0.0", + "@changesets/config": "^3.0.0", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" + } + }, + "node_modules/@changesets/get-version-range-type": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@changesets/git": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "is-subdir": "^1.1.1", + "micromatch": "^4.0.2", + "spawndamnit": "^2.0.0" + } + }, + "node_modules/@changesets/logger": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.1.0" + } + }, + "node_modules/@changesets/parse": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@changesets/types": "^6.0.0", + "js-yaml": "^3.13.1" + } + }, + "node_modules/@changesets/pre": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1" + } + }, + "node_modules/@changesets/read": { + "version": "0.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/parse": "^0.4.0", + "@changesets/types": "^6.0.0", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "p-filter": "^2.1.0" + } + }, + "node_modules/@changesets/types": { + "version": "6.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@changesets/write": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "prettier": "^2.7.1" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@faker-js/faker": { + "version": "7.6.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/@flatfile/api": { + "version": "1.7.4", + "dependencies": { + "@flatfile/cross-env-config": "0.0.4", + "@types/pako": "2.0.1", + "form-data": "4.0.0", + "js-base64": "3.7.2", + "node-fetch": "2.7.0", + "pako": "2.0.1", + "qs": "6.11.2", + "url-join": "4.0.1" + } + }, + "node_modules/@flatfile/blueprint": { + "version": "0.0.9", + "dev": true, + "dependencies": { + "openapi-typescript-codegen": "^0.23.0" + }, + "engines": { + "node": ">=16 || >=18", + "pnpm": ">=7" + } + }, + "node_modules/@flatfile/common-plugin-utils": { + "resolved": "support/common-utils", + "link": true + }, + "node_modules/@flatfile/configure": { + "version": "0.5.39", + "dev": true, + "license": "ISC", + "dependencies": { + "@flatfile/hooks": "^1.3.1", + "@flatfile/schema": "^0.2.16", + "case-anything": "^2.1.10", + "date-fns": "^2.29.1", + "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz" + } + }, + "node_modules/@flatfile/cross-env-config": { + "version": "0.0.4", + "license": "ISC" + }, + "node_modules/@flatfile/hooks": { + "version": "1.3.2", + "license": "ISC" + }, + "node_modules/@flatfile/id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@flatfile/id/-/id-1.0.0.tgz", + "integrity": "sha512-Xqo9LWxA6FGvHCHM2Hh1tKyMC9pZsuqqvva8nPwXAqcmnKUr9osyWMJLraS0dnN2qalesTpHVH+RE8jjVMfZjA==", + "dependencies": { + "nanoid": "^3.3.4" + } + }, + "node_modules/@flatfile/id/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/@flatfile/listener": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.3", + "cross-fetch": "^4.0.0", + "flat": "^5.0.2", + "pako": "^2.1.0", + "wildcard-match": "^5.1.2" + }, + "peerDependencies": { + "@flatfile/api": "^1.5.10" + } + }, + "node_modules/@flatfile/listener-driver-pubsub": { + "version": "2.0.3", + "license": "ISC", + "dependencies": { + "@flatfile/api": "^1.5.5", + "@flatfile/listener": "^1.0.0", + "@flatfile/utils-debugger": "^0.0.5", + "axios": "^1.4.0", + "pubnub": "^7.2.2" + }, + "peerDependencies": { + "@flatfile/listener": "1.0.0" + } + }, + "node_modules/@flatfile/listener/node_modules/pako": { + "version": "2.1.0", + "license": "(MIT AND Zlib)" + }, + "node_modules/@flatfile/plugin-autocast": { + "resolved": "plugins/autocast", + "link": true + }, + "node_modules/@flatfile/plugin-automap": { + "resolved": "plugins/automap", + "link": true + }, + "node_modules/@flatfile/plugin-connect-via-merge": { + "resolved": "plugins/merge-connection", + "link": true + }, + "node_modules/@flatfile/plugin-constraints": { + "resolved": "plugins/constraints", + "link": true + }, + "node_modules/@flatfile/plugin-convert-json-schema": { + "resolved": "plugins/json-schema", + "link": true + }, + "node_modules/@flatfile/plugin-convert-openapi-schema": { + "resolved": "plugins/openapi-schema", + "link": true + }, + "node_modules/@flatfile/plugin-convert-sql-ddl": { + "resolved": "plugins/sql-ddl-converter", + "link": true + }, + "node_modules/@flatfile/plugin-convert-yaml-schema": { + "resolved": "plugins/yaml-schema", + "link": true + }, + "node_modules/@flatfile/plugin-dedupe": { + "resolved": "plugins/dedupe", + "link": true + }, + "node_modules/@flatfile/plugin-delimiter-extractor": { + "resolved": "plugins/delimiter-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-dxp-configure": { + "resolved": "plugins/dxp-configure", + "link": true + }, + "node_modules/@flatfile/plugin-export-workbook": { + "resolved": "plugins/export-workbook", + "link": true + }, + "node_modules/@flatfile/plugin-foreign-db-extractor": { + "resolved": "plugins/foreign-db-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-graphql": { + "resolved": "plugins/graphql", + "link": true + }, + "node_modules/@flatfile/plugin-job-handler": { + "resolved": "plugins/job-handler", + "link": true + }, + "node_modules/@flatfile/plugin-json-extractor": { + "resolved": "plugins/json-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-pdf-extractor": { + "resolved": "plugins/pdf-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-psv-extractor": { + "resolved": "plugins/psv-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-record-hook": { + "resolved": "plugins/record-hook", + "link": true + }, + "node_modules/@flatfile/plugin-space-configure": { + "resolved": "plugins/space-configure", + "link": true + }, + "node_modules/@flatfile/plugin-tsv-extractor": { + "resolved": "plugins/tsv-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-webhook-egress": { + "resolved": "plugins/webhook-egress", + "link": true + }, + "node_modules/@flatfile/plugin-webhook-event-forwarder": { + "resolved": "plugins/webhook-event-forwarder", + "link": true + }, + "node_modules/@flatfile/plugin-xlsx-extractor": { + "resolved": "plugins/xlsx-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-xml-extractor": { + "resolved": "plugins/xml-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-zip-extractor": { + "resolved": "plugins/zip-extractor", + "link": true + }, + "node_modules/@flatfile/schema": { + "version": "0.2.17", + "dev": true, + "dependencies": { + "@flatfile/blueprint": "^0.0.9" + } + }, + "node_modules/@flatfile/util-common": { + "resolved": "utils/common", + "link": true + }, + "node_modules/@flatfile/util-extractor": { + "resolved": "utils/extractor", + "link": true + }, + "node_modules/@flatfile/util-fetch-schema": { + "resolved": "utils/fetch-schema", + "link": true + }, + "node_modules/@flatfile/util-file-buffer": { + "resolved": "utils/file-buffer", + "link": true + }, + "node_modules/@flatfile/util-response-rejection": { + "resolved": "utils/response-rejection", + "link": true + }, + "node_modules/@flatfile/utils-debugger": { + "version": "0.0.5", + "license": "ISC", + "dependencies": { + "ansi-colors": "^4.1.3" + } + }, + "node_modules/@flatfile/utils-testing": { + "resolved": "utils/testing", + "link": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } }, - "node_modules/@flatfile/plugin-convert-yaml-schema": { - "resolved": "plugins/yaml-schema", - "link": true + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, - "node_modules/@flatfile/plugin-dedupe": { - "resolved": "plugins/dedupe", - "link": true + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@flatfile/plugin-delimiter-extractor": { - "resolved": "plugins/delimiter-extractor", - "link": true + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@flatfile/plugin-dxp-configure": { - "resolved": "plugins/dxp-configure", - "link": true + "node_modules/@jest/console": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/@flatfile/plugin-export-workbook": { - "resolved": "plugins/export-workbook", - "link": true + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/@flatfile/plugin-graphql": { - "resolved": "plugins/graphql", - "link": true + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "node_modules/@flatfile/plugin-job-handler": { - "resolved": "plugins/job-handler", - "link": true + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/@flatfile/plugin-json-extractor": { - "resolved": "plugins/json-extractor", - "link": true + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "node_modules/@flatfile/plugin-pdf-extractor": { - "resolved": "plugins/pdf-extractor", - "link": true + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@flatfile/plugin-psv-extractor": { - "resolved": "plugins/psv-extractor", - "link": true + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@flatfile/plugin-record-hook": { - "resolved": "plugins/record-hook", - "link": true + "node_modules/@jest/core": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } }, - "node_modules/@flatfile/plugin-space-configure": { - "resolved": "plugins/space-configure", - "link": true + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/@flatfile/plugin-tsv-extractor": { - "resolved": "plugins/tsv-extractor", - "link": true + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@flatfile/plugin-webhook-egress": { - "resolved": "plugins/webhook-egress", - "link": true + "node_modules/@jest/environment": { + "version": "29.7.0", + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/@flatfile/plugin-webhook-event-forwarder": { - "resolved": "plugins/webhook-event-forwarder", - "link": true + "node_modules/@jest/expect": { + "version": "29.7.0", + "license": "MIT", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/@flatfile/plugin-xlsx-extractor": { - "resolved": "plugins/xlsx-extractor", - "link": true + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/@flatfile/plugin-xml-extractor": { - "resolved": "plugins/xml-extractor", - "link": true + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/@flatfile/plugin-zip-extractor": { - "resolved": "plugins/zip-extractor", - "link": true + "node_modules/@jest/globals": { + "version": "29.7.0", + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/@flatfile/schema": { - "version": "0.2.17", + "node_modules/@jest/reporters": { + "version": "29.7.0", "dev": true, + "license": "MIT", "dependencies": { - "@flatfile/blueprint": "^0.0.9" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@flatfile/util-common": { - "resolved": "utils/common", - "link": true + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/@flatfile/util-extractor": { - "resolved": "utils/extractor", - "link": true + "node_modules/@jest/reporters/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "node_modules/@flatfile/util-fetch-schema": { - "resolved": "utils/fetch-schema", - "link": true + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "node_modules/@flatfile/util-file-buffer": { - "resolved": "utils/file-buffer", - "link": true + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/@flatfile/util-response-rejection": { - "resolved": "utils/response-rejection", - "link": true + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "node_modules/@flatfile/utils-debugger": { - "version": "0.0.5", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "dev": true, "license": "ISC", "dependencies": { - "ansi-colors": "^4.1.3" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@flatfile/utils-testing": { - "resolved": "utils/testing", - "link": true + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, "license": "ISC", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", + "node_modules/@jest/test-result": { + "version": "29.7.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", + "node_modules/@jest/transform": { + "version": "29.7.0", "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "license": "ISC", + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/@jest/console": { - "version": "29.7.0", - "dev": true, + "node_modules/@jest/types": { + "version": "29.6.3", "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { + "node_modules/@jest/types/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -1152,9 +2976,8 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/console/node_modules/chalk": { + "node_modules/@jest/types/node_modules/chalk": { "version": "4.1.2", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -1167,9 +2990,8 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/console/node_modules/color-convert": { + "node_modules/@jest/types/node_modules/color-convert": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -1178,22 +3000,19 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/console/node_modules/color-name": { + "node_modules/@jest/types/node_modules/color-name": { "version": "1.1.4", - "dev": true, "license": "MIT" }, - "node_modules/@jest/console/node_modules/has-flag": { + "node_modules/@jest/types/node_modules/has-flag": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@jest/console/node_modules/supports-color": { + "node_modules/@jest/types/node_modules/supports-color": { "version": "7.2.0", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -1202,221 +3021,259 @@ "node": ">=8" } }, - "node_modules/@jest/core": { - "version": "29.7.0", - "dev": true, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", "license": "MIT", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.21", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@js-joda/core": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.6.1.tgz", + "integrity": "sha512-Xla/d7ZMMR6+zRd6lTio0wRZECfcfFJP7GGe9A9L4tDOlD5CX4YcZ4YZle9w58bBYzssojVapI84RraKWDQZRg==" + }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@lezer/common": { + "version": "1.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@lezer/lr": { + "version": "1.3.14", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "2.8.5", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@manypkg/find-root": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@babel/runtime": "^7.5.5", + "@types/node": "^12.7.1", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0" } }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@manypkg/find-root/node_modules/@types/node": { + "version": "12.20.55", + "dev": true, + "license": "MIT" + }, + "node_modules/@manypkg/find-root/node_modules/fs-extra": { + "version": "8.1.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=6 <7 || >=8" } }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@manypkg/get-packages": { + "version": "1.1.3", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@babel/runtime": "^7.5.5", + "@changesets/types": "^4.0.1", + "@manypkg/find-root": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "^11.0.0", + "read-yaml-file": "^1.1.0" } }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", + "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { + "version": "4.1.0", "dev": true, "license": "MIT" }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@manypkg/get-packages/node_modules/fs-extra": { + "version": "8.1.0", "dev": true, "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, "engines": { - "node": ">=8" + "node": ">=6 <7 || >=8" } }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@mischnic/json-sourcemap": { + "version": "0.1.1", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@lezer/common": "^1.0.0", + "@lezer/lr": "^1.0.0", + "json5": "^2.2.1" }, "engines": { - "node": ">=8" + "node": ">=12.0.0" } }, - "node_modules/@jest/environment": { - "version": "29.7.0", + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.2", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "license": "MIT", "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@jest/expect": { - "version": "29.7.0", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", "license": "MIT", - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "license": "MIT", "dependencies": { - "jest-get-type": "^29.6.3" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", + "node_modules/@parcel/bundler-default": { + "version": "2.12.0", + "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/graph": "3.2.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jest/globals": { - "version": "29.7.0", + "node_modules/@parcel/cache": { + "version": "2.12.0", + "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/utils": "2.12.0", + "lmdb": "2.8.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@jest/reporters": { - "version": "29.7.0", + "node_modules/@parcel/codeframe": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "chalk": "^4.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">= 12.0.0" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { + "node_modules/@parcel/codeframe/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -1430,16 +3287,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/reporters/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { + "node_modules/@parcel/codeframe/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -1454,7 +3302,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/reporters/node_modules/color-convert": { + "node_modules/@parcel/codeframe/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -1465,50 +3313,20 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/reporters/node_modules/color-name": { + "node_modules/@parcel/codeframe/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" - }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/minimatch": { - "version": "3.1.2", + }, + "node_modules/@parcel/codeframe/node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT", "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/supports-color": { + "node_modules/@parcel/codeframe/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -1519,156 +3337,218 @@ "node": ">=8" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", + "node_modules/@parcel/compressor-raw": { + "version": "2.12.0", + "dev": true, "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@parcel/plugin": "2.12.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jest/source-map": { - "version": "29.6.3", + "node_modules/@parcel/config-default": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@parcel/bundler-default": "2.12.0", + "@parcel/compressor-raw": "2.12.0", + "@parcel/namer-default": "2.12.0", + "@parcel/optimizer-css": "2.12.0", + "@parcel/optimizer-htmlnano": "2.12.0", + "@parcel/optimizer-image": "2.12.0", + "@parcel/optimizer-svgo": "2.12.0", + "@parcel/optimizer-swc": "2.12.0", + "@parcel/packager-css": "2.12.0", + "@parcel/packager-html": "2.12.0", + "@parcel/packager-js": "2.12.0", + "@parcel/packager-raw": "2.12.0", + "@parcel/packager-svg": "2.12.0", + "@parcel/packager-wasm": "2.12.0", + "@parcel/reporter-dev-server": "2.12.0", + "@parcel/resolver-default": "2.12.0", + "@parcel/runtime-browser-hmr": "2.12.0", + "@parcel/runtime-js": "2.12.0", + "@parcel/runtime-react-refresh": "2.12.0", + "@parcel/runtime-service-worker": "2.12.0", + "@parcel/transformer-babel": "2.12.0", + "@parcel/transformer-css": "2.12.0", + "@parcel/transformer-html": "2.12.0", + "@parcel/transformer-image": "2.12.0", + "@parcel/transformer-js": "2.12.0", + "@parcel/transformer-json": "2.12.0", + "@parcel/transformer-postcss": "2.12.0", + "@parcel/transformer-posthtml": "2.12.0", + "@parcel/transformer-raw": "2.12.0", + "@parcel/transformer-react-refresh-wrap": "2.12.0", + "@parcel/transformer-svg": "2.12.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@jest/test-result": { - "version": "29.7.0", + "node_modules/@parcel/core": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/graph": "3.2.0", + "@parcel/logger": "2.12.0", + "@parcel/package-manager": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/profiler": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.9.9", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", + "node_modules/@parcel/core/node_modules/dotenv": { + "version": "7.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, + "license": "BSD-2-Clause", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/@jest/transform": { - "version": "29.7.0", + "node_modules/@parcel/core/node_modules/dotenv-expand": { + "version": "5.1.0", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/@parcel/diagnostic": { + "version": "2.12.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@parcel/events": { + "version": "2.12.0", + "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@parcel/fs": { + "version": "2.12.0", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@parcel/rust": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.12.0" }, "engines": { - "node": ">=10" + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@parcel/graph": { + "version": "3.2.0", + "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@parcel/logger": { + "version": "2.12.0", + "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0" }, "engines": { - "node": ">=8" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jest/types": { - "version": "29.6.3", + "node_modules/@parcel/markdown-ansi": { + "version": "2.12.0", + "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "chalk": "^4.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { + "node_modules/@parcel/markdown-ansi/node_modules/ansi-styles": { "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -1680,8 +3560,9 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/types/node_modules/chalk": { + "node_modules/@parcel/markdown-ansi/node_modules/chalk": { "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -1694,8 +3575,9 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/types/node_modules/color-convert": { + "node_modules/@parcel/markdown-ansi/node_modules/color-convert": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -1704,19 +3586,22 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/types/node_modules/color-name": { + "node_modules/@parcel/markdown-ansi/node_modules/color-name": { "version": "1.1.4", + "dev": true, "license": "MIT" }, - "node_modules/@jest/types/node_modules/has-flag": { + "node_modules/@parcel/markdown-ansi/node_modules/has-flag": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@jest/types/node_modules/supports-color": { + "node_modules/@parcel/markdown-ansi/node_modules/supports-color": { "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -1725,225 +3610,160 @@ "node": ">=8" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", + "node_modules/@parcel/namer-default": { + "version": "2.12.0", + "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.21", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@lezer/common": { - "version": "1.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@lezer/lr": { - "version": "1.3.14", + "node_modules/@parcel/node-resolver-core": { + "version": "3.3.0", "dev": true, "license": "MIT", "dependencies": { - "@lezer/common": "^1.0.0" + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "2.8.5", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@manypkg/find-root": { - "version": "1.1.0", + "node_modules/@parcel/optimizer-css": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.5.5", - "@types/node": "^12.7.1", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "browserslist": "^4.6.6", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@manypkg/find-root/node_modules/@types/node": { - "version": "12.20.55", - "dev": true, - "license": "MIT" - }, - "node_modules/@manypkg/find-root/node_modules/fs-extra": { - "version": "8.1.0", + "node_modules/@parcel/optimizer-htmlnano": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "@parcel/plugin": "2.12.0", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@manypkg/get-packages": { - "version": "1.1.3", + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": { + "version": "4.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "@babel/runtime": "^7.5.5", - "@changesets/types": "^4.0.1", - "@manypkg/find-root": "^1.1.0", - "fs-extra": "^8.1.0", - "globby": "^11.0.0", - "read-yaml-file": "^1.1.0" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { - "version": "4.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@manypkg/get-packages/node_modules/fs-extra": { - "version": "8.1.0", + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": { + "version": "1.1.3", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" }, "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@mergeapi/merge-node-client": { - "version": "0.1.8", - "dependencies": { - "@types/url-join": "4.0.1", - "@ungap/url-search-params": "0.2.2", - "axios": "0.27.2", - "js-base64": "3.7.2", - "url-join": "4.0.1" - } - }, - "node_modules/@mergeapi/merge-node-client/node_modules/axios": { - "version": "0.27.2", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "node": ">=8.0.0" } }, - "node_modules/@mischnic/json-sourcemap": { - "version": "0.1.1", + "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "@lezer/common": "^1.0.0", - "@lezer/lr": "^1.0.0", - "json5": "^2.2.1" + "css-tree": "^1.1.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=8.0.0" } }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.2", - "cpu": [ - "arm64" - ], + "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": { + "version": "2.0.14", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "license": "CC0-1.0" }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": { + "version": "2.8.0", + "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "bin": { + "svgo": "bin/svgo" }, "engines": { - "node": ">= 8" + "node": ">=10.13.0" } }, - "node_modules/@parcel/bundler-default": { + "node_modules/@parcel/optimizer-image": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/diagnostic": "2.12.0", - "@parcel/graph": "3.2.0", "@parcel/plugin": "2.12.0", "@parcel/rust": "2.12.0", "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" + "@parcel/workers": "2.12.0" }, "engines": { "node": ">= 12.0.0", @@ -1952,114 +3772,151 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/cache": { + "node_modules/@parcel/optimizer-svgo": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", "@parcel/utils": "2.12.0", - "lmdb": "2.8.5" + "svgo": "^2.4.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/codeframe": { - "version": "2.12.0", + "node_modules/@parcel/optimizer-svgo/node_modules/css-select": { + "version": "4.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "chalk": "^4.1.0" - }, - "engines": { - "node": ">= 12.0.0" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/@parcel/codeframe/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": { + "version": "1.1.3", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8.0.0" } }, - "node_modules/@parcel/codeframe/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@parcel/optimizer-svgo/node_modules/csso": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "css-tree": "^1.1.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8.0.0" } }, - "node_modules/@parcel/codeframe/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/@parcel/optimizer-svgo/node_modules/svgo": { + "version": "2.8.0", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" }, "engines": { - "node": ">=7.0.0" + "node": ">=10.13.0" } }, - "node_modules/@parcel/codeframe/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@parcel/codeframe/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@parcel/optimizer-swc": { + "version": "2.12.0", "dev": true, "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "@swc/core": "^1.3.36", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">=8" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/codeframe/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@parcel/package-manager": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/node-resolver-core": "3.3.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "@swc/core": "^1.3.36", + "semver": "^7.5.2" }, "engines": { - "node": ">=8" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/compressor-raw": { + "node_modules/@parcel/packager-css": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", @@ -2070,159 +3927,147 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/config-default": { + "node_modules/@parcel/packager-html": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/bundler-default": "2.12.0", - "@parcel/compressor-raw": "2.12.0", - "@parcel/namer-default": "2.12.0", - "@parcel/optimizer-css": "2.12.0", - "@parcel/optimizer-htmlnano": "2.12.0", - "@parcel/optimizer-image": "2.12.0", - "@parcel/optimizer-svgo": "2.12.0", - "@parcel/optimizer-swc": "2.12.0", - "@parcel/packager-css": "2.12.0", - "@parcel/packager-html": "2.12.0", - "@parcel/packager-js": "2.12.0", - "@parcel/packager-raw": "2.12.0", - "@parcel/packager-svg": "2.12.0", - "@parcel/packager-wasm": "2.12.0", - "@parcel/reporter-dev-server": "2.12.0", - "@parcel/resolver-default": "2.12.0", - "@parcel/runtime-browser-hmr": "2.12.0", - "@parcel/runtime-js": "2.12.0", - "@parcel/runtime-react-refresh": "2.12.0", - "@parcel/runtime-service-worker": "2.12.0", - "@parcel/transformer-babel": "2.12.0", - "@parcel/transformer-css": "2.12.0", - "@parcel/transformer-html": "2.12.0", - "@parcel/transformer-image": "2.12.0", - "@parcel/transformer-js": "2.12.0", - "@parcel/transformer-json": "2.12.0", - "@parcel/transformer-postcss": "2.12.0", - "@parcel/transformer-posthtml": "2.12.0", - "@parcel/transformer-raw": "2.12.0", - "@parcel/transformer-react-refresh-wrap": "2.12.0", - "@parcel/transformer-svg": "2.12.0" + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/core": { + "node_modules/@parcel/packager-js": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/cache": "2.12.0", "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/graph": "3.2.0", - "@parcel/logger": "2.12.0", - "@parcel/package-manager": "2.12.0", "@parcel/plugin": "2.12.0", - "@parcel/profiler": "2.12.0", "@parcel/rust": "2.12.0", "@parcel/source-map": "^2.1.1", "@parcel/types": "2.12.0", "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "abortcontroller-polyfill": "^1.1.9", - "base-x": "^3.0.8", - "browserslist": "^4.6.6", - "clone": "^2.1.1", - "dotenv": "^7.0.0", - "dotenv-expand": "^5.1.0", - "json5": "^2.2.0", - "msgpackr": "^1.9.9", - "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "globals": "^13.2.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/core/node_modules/dotenv": { - "version": "7.0.0", + "node_modules/@parcel/packager-js/node_modules/globals": { + "version": "13.24.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@parcel/packager-js/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@parcel/packager-raw": { + "version": "2.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/core/node_modules/dotenv-expand": { - "version": "5.1.0", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/@parcel/diagnostic": { + "node_modules/@parcel/packager-svg": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "nullthrows": "^1.1.1" + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "posthtml": "^0.16.4" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/events": { + "node_modules/@parcel/packager-ts": { "version": "2.12.0", "dev": true, "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0" + }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/fs": { + "node_modules/@parcel/packager-wasm": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/rust": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.12.0" + "@parcel/plugin": "2.12.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/graph": { - "version": "3.2.0", + "node_modules/@parcel/plugin": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "nullthrows": "^1.1.1" + "@parcel/types": "2.12.0" }, "engines": { "node": ">= 12.0.0" @@ -2232,13 +4077,14 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/logger": { + "node_modules/@parcel/profiler": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0" + "@parcel/events": "2.12.0", + "chrome-trace-event": "^1.0.2" }, "engines": { "node": ">= 12.0.0" @@ -2248,22 +4094,27 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/markdown-ansi": { + "node_modules/@parcel/reporter-cli": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.0" + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "chalk": "^4.1.0", + "term-size": "^2.2.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/markdown-ansi/node_modules/ansi-styles": { + "node_modules/@parcel/reporter-cli/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -2277,7 +4128,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@parcel/markdown-ansi/node_modules/chalk": { + "node_modules/@parcel/reporter-cli/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -2292,7 +4143,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@parcel/markdown-ansi/node_modules/color-convert": { + "node_modules/@parcel/reporter-cli/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -2303,12 +4154,12 @@ "node": ">=7.0.0" } }, - "node_modules/@parcel/markdown-ansi/node_modules/color-name": { + "node_modules/@parcel/reporter-cli/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/@parcel/markdown-ansi/node_modules/has-flag": { + "node_modules/@parcel/reporter-cli/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -2316,7 +4167,7 @@ "node": ">=8" } }, - "node_modules/@parcel/markdown-ansi/node_modules/supports-color": { + "node_modules/@parcel/reporter-cli/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -2327,14 +4178,13 @@ "node": ">=8" } }, - "node_modules/@parcel/namer-default": { + "node_modules/@parcel/reporter-dev-server": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", - "nullthrows": "^1.1.1" + "@parcel/utils": "2.12.0" }, "engines": { "node": ">= 12.0.0", @@ -2345,39 +4195,32 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/node-resolver-core": { - "version": "3.3.0", + "node_modules/@parcel/reporter-tracer": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/rust": "2.12.0", + "@parcel/plugin": "2.12.0", "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "chrome-trace-event": "^1.0.3", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-css": { + "node_modules/@parcel/resolver-default": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "browserslist": "^4.6.6", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" + "@parcel/node-resolver-core": "3.3.0", + "@parcel/plugin": "2.12.0" }, "engines": { "node": ">= 12.0.0", @@ -2388,16 +4231,13 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-htmlnano": { + "node_modules/@parcel/runtime-browser-hmr": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/plugin": "2.12.0", - "htmlnano": "^2.0.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "svgo": "^2.4.0" + "@parcel/utils": "2.12.0" }, "engines": { "node": ">= 12.0.0", @@ -2408,79 +4248,34 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { - "version": "4.2.0", + "node_modules/@parcel/runtime-js": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "css-tree": "^1.1.2" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": { - "version": "2.0.14", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": { - "version": "2.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, - "engines": { - "node": ">=10.13.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-image": { + "node_modules/@parcel/runtime-react-refresh": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0" + "react-error-overlay": "6.0.9", + "react-refresh": "^0.9.0" }, "engines": { "node": ">= 12.0.0", @@ -2489,20 +4284,16 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/optimizer-svgo": { + "node_modules/@parcel/runtime-service-worker": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", "@parcel/utils": "2.12.0", - "svgo": "^2.4.0" + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", @@ -2513,70 +4304,53 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/css-select": { - "version": "4.3.0", + "node_modules/@parcel/rust": { + "version": "2.12.0", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": { - "version": "1.1.3", + "node_modules/@parcel/source-map": { + "version": "2.1.1", "dev": true, "license": "MIT", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "detect-libc": "^1.0.3" }, "engines": { - "node": ">=8.0.0" + "node": "^12.18.3 || >=14" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/csso": { - "version": "4.2.0", + "node_modules/@parcel/transformer-babel": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "css-tree": "^1.1.2" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/@parcel/optimizer-svgo/node_modules/svgo": { - "version": "2.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, - "engines": { - "node": ">=10.13.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-swc": { + "node_modules/@parcel/transformer-css": { "version": "2.12.0", "dev": true, "license": "MIT", @@ -2585,7 +4359,8 @@ "@parcel/plugin": "2.12.0", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.12.0", - "@swc/core": "^1.3.36", + "browserslist": "^4.6.6", + "lightningcss": "^1.22.1", "nullthrows": "^1.1.1" }, "engines": { @@ -2597,43 +4372,64 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/package-manager": { + "node_modules/@parcel/transformer-html": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/node-resolver-core": "3.3.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "@swc/core": "^1.3.36", - "semver": "^7.5.2" + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2", + "srcset": "4" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-image": { + "version": "2.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "peerDependencies": { "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/packager-css": { + "node_modules/@parcel/transformer-js": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.12.0", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" + "@parcel/workers": "2.12.0", + "@swc/helpers": "^0.5.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^7.5.2" }, "engines": { "node": ">= 12.0.0", @@ -2642,18 +4438,23 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/packager-html": { + "node_modules/@parcel/transformer-js/node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" + }, + "node_modules/@parcel/transformer-json": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5" + "json5": "^2.2.0" }, "engines": { "node": ">= 12.0.0", @@ -2664,7 +4465,7 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-js": { + "node_modules/@parcel/transformer-postcss": { "version": "2.12.0", "dev": true, "license": "MIT", @@ -2672,11 +4473,11 @@ "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.12.0", "@parcel/utils": "2.12.0", - "globals": "^13.2.0", - "nullthrows": "^1.1.1" + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.2" }, "engines": { "node": ">= 12.0.0", @@ -2687,32 +4488,29 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-js/node_modules/globals": { - "version": "13.24.0", + "node_modules/@parcel/transformer-posthtml": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@parcel/packager-js/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-raw": { + "node_modules/@parcel/transformer-raw": { "version": "2.12.0", "dev": true, "license": "MIT", @@ -2728,15 +4526,14 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-svg": { + "node_modules/@parcel/transformer-react-refresh-wrap": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", "@parcel/utils": "2.12.0", - "posthtml": "^0.16.4" + "react-refresh": "^0.9.0" }, "engines": { "node": ">= 12.0.0", @@ -2747,12 +4544,19 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-ts": { + "node_modules/@parcel/transformer-svg": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" }, "engines": { "node": ">= 12.0.0", @@ -2763,28 +4567,36 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-wasm": { + "node_modules/@parcel/transformer-typescript-types": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/ts-utils": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=12.0.0", + "node": ">= 12.0.0", "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "typescript": ">=3.0.0" } }, - "node_modules/@parcel/plugin": { + "node_modules/@parcel/ts-utils": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/types": "2.12.0" + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0" @@ -2792,46 +4604,48 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "typescript": ">=3.0.0" } }, - "node_modules/@parcel/profiler": { + "node_modules/@parcel/types": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { + "@parcel/cache": "2.12.0", "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", - "chrome-trace-event": "^1.0.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@parcel/fs": "2.12.0", + "@parcel/package-manager": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/workers": "2.12.0", + "utility-types": "^3.10.0" } }, - "node_modules/@parcel/reporter-cli": { + "node_modules/@parcel/utils": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/codeframe": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/markdown-ansi": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/source-map": "^2.1.1", "chalk": "^4.1.0", - "term-size": "^2.2.1" + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/reporter-cli/node_modules/ansi-styles": { + "node_modules/@parcel/utils/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -2845,7 +4659,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@parcel/reporter-cli/node_modules/chalk": { + "node_modules/@parcel/utils/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -2860,7 +4674,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@parcel/reporter-cli/node_modules/color-convert": { + "node_modules/@parcel/utils/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -2871,12 +4685,12 @@ "node": ">=7.0.0" } }, - "node_modules/@parcel/reporter-cli/node_modules/color-name": { + "node_modules/@parcel/utils/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/@parcel/reporter-cli/node_modules/has-flag": { + "node_modules/@parcel/utils/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -2884,7 +4698,7 @@ "node": ">=8" } }, - "node_modules/@parcel/reporter-cli/node_modules/supports-color": { + "node_modules/@parcel/utils/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -2895,262 +4709,310 @@ "node": ">=8" } }, - "node_modules/@parcel/reporter-dev-server": { - "version": "2.12.0", + "node_modules/@parcel/watcher": { + "version": "2.4.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0" + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.0", + "@parcel/watcher-darwin-arm64": "2.4.0", + "@parcel/watcher-darwin-x64": "2.4.0", + "@parcel/watcher-freebsd-x64": "2.4.0", + "@parcel/watcher-linux-arm-glibc": "2.4.0", + "@parcel/watcher-linux-arm64-glibc": "2.4.0", + "@parcel/watcher-linux-arm64-musl": "2.4.0", + "@parcel/watcher-linux-x64-glibc": "2.4.0", + "@parcel/watcher-linux-x64-musl": "2.4.0", + "@parcel/watcher-win32-arm64": "2.4.0", + "@parcel/watcher-win32-ia32": "2.4.0", + "@parcel/watcher-win32-x64": "2.4.0" } }, - "node_modules/@parcel/reporter-tracer": { - "version": "2.12.0", + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", + "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "chrome-trace-event": "^1.0.3", - "nullthrows": "^1.1.1" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.4.0", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/resolver-default": { - "version": "2.12.0", + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", + "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/node-resolver-core": "3.3.0", - "@parcel/plugin": "2.12.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/runtime-browser-hmr": { - "version": "2.12.0", + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", + "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/runtime-js": { - "version": "2.12.0", + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", + "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/runtime-react-refresh": { - "version": "2.12.0", + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", + "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "react-error-overlay": "6.0.9", - "react-refresh": "^0.9.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/runtime-service-worker": { - "version": "2.12.0", + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", + "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/rust": { - "version": "2.12.0", - "dev": true, - "license": "MIT", + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 12.0.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/source-map": { - "version": "2.1.1", + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", + "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "detect-libc": "^1.0.3" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.18.3 || >=14" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-babel": { - "version": "2.12.0", + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", + "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "browserslist": "^4.6.6", - "json5": "^2.2.0", - "nullthrows": "^1.1.1", - "semver": "^7.5.2" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-css": { - "version": "2.12.0", + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", + "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "browserslist": "^4.6.6", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-html": { - "version": "2.12.0", + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", + "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^7.5.2", - "srcset": "4" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-image": { - "version": "2.12.0", + "node_modules/@parcel/watcher/node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", + "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "nullthrows": "^1.1.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 10.0.0" }, - "peerDependencies": { - "@parcel/core": "^2.12.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-js": { + "node_modules/@parcel/workers": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", + "@parcel/logger": "2.12.0", + "@parcel/profiler": "2.12.0", + "@parcel/types": "2.12.0", "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "@swc/helpers": "^0.5.0", - "browserslist": "^4.6.6", - "nullthrows": "^1.1.1", - "regenerator-runtime": "^0.13.7", - "semver": "^7.5.2" + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", @@ -3160,765 +5022,830 @@ "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/transformer-js/node_modules/regenerator-runtime": { - "version": "0.13.11", - "dev": true, - "license": "MIT" + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } }, - "node_modules/@parcel/transformer-json": { - "version": "2.12.0", + "node_modules/@rollup/plugin-commonjs": { + "version": "25.0.7", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "json5": "^2.2.0" + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">=14.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@parcel/transformer-postcss": { - "version": "2.12.0", - "dev": true, + "node_modules/@rollup/plugin-json": { + "version": "6.1.0", "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", - "clone": "^2.1.1", - "nullthrows": "^1.1.1", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.2" + "@rollup/pluginutils": "^5.1.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">=14.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@parcel/transformer-posthtml": { - "version": "2.12.0", - "dev": true, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^7.5.2" + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">=14.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@parcel/transformer-raw": { - "version": "2.12.0", + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">=14.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@parcel/transformer-react-refresh-wrap": { - "version": "2.12.0", + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.6", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "react-refresh": "^0.9.0" + "@rollup/pluginutils": "^5.1.0", + "resolve": "^1.22.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">=14.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0||^4.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } } }, - "node_modules/@parcel/transformer-svg": { - "version": "2.12.0", + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "license": "BSD-3-Clause", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^7.5.2" + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.3.tgz", + "integrity": "sha512-c2aYH2Wu1RVE3rLlVgg2kQOBJGM0WbjReQi5DnPTm2Zb7F0gk7J2aeQeaX2u/lQZoHl6gv8Oac7mt9alU3+f4A==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/chunked-blob-reader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.1.1.tgz", + "integrity": "sha512-NjNFCKxC4jVvn+lUr3Yo4/PmUJj3tbyqH6GNHueyTGS5Q27vlEJ1MkNhUDV8QGxJI7Bodnc2pD18lU2zRfhHlQ==", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.1.tgz", + "integrity": "sha512-zNW+43dltfNMUrBEYLMWgI8lQr0uhtTcUyxkgC9EP4j17WREzgSFMPUFVrVV6Rc2+QtWERYjb4tzZnQGa7R9fQ==", + "dependencies": { + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.4.tgz", + "integrity": "sha512-AW2WUZmBAzgO3V3ovKtsUbI3aBNMeQKFDumoqkNxaVDWF/xfnxAWqBKDr/NuG7c06N2Rm4xeZLPiJH/d+na0HA==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.4", + "@smithy/types": "^2.10.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=14.0.0" } }, - "node_modules/@parcel/transformer-typescript-types": { - "version": "2.12.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/core": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.5.tgz", + "integrity": "sha512-Rrc+e2Jj6Gu7Xbn0jvrzZlSiP2CZocIOfZ9aNUA82+1sa6GBnxqL9+iZ9EKHeD9aqD1nU8EK4+oN2EiFpSv7Yw==", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/ts-utils": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "typescript": ">=3.0.0" + "node": ">=14.0.0" } }, - "node_modules/@parcel/ts-utils": { - "version": "2.12.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/credential-provider-imds": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.4.tgz", + "integrity": "sha512-DdatjmBZQnhGe1FhI8gO98f7NmvQFSDiZTwC3WMvLTCKQUY+Y1SVkhJqIuLu50Eb7pTheoXQmK+hKYUgpUWsNA==", "dependencies": { - "nullthrows": "^1.1.1" + "@smithy/node-config-provider": "^2.2.4", + "@smithy/property-provider": "^2.1.3", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "typescript": ">=3.0.0" + "node": ">=14.0.0" } }, - "node_modules/@parcel/types": { - "version": "2.12.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/eventstream-codec": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.3.tgz", + "integrity": "sha512-rGlCVuwSDv6qfKH4/lRxFjcZQnIE0LZ3D4lkMHg7ZSltK9rA74r0VuGSvWVQ4N/d70VZPaniFhp4Z14QYZsa+A==", "dependencies": { - "@parcel/cache": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/package-manager": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/workers": "2.12.0", - "utility-types": "^3.10.0" + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.10.1", + "@smithy/util-hex-encoding": "^2.1.1", + "tslib": "^2.5.0" } }, - "node_modules/@parcel/utils": { - "version": "2.12.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/eventstream-serde-browser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.3.tgz", + "integrity": "sha512-qAgKbZ9m2oBfSyJWWurX/MvQFRPrYypj79cDSleEgDwBoez6Tfd+FTpu2L/j3ZeC3mDlDHIKWksoeaXZpLLAHw==", "dependencies": { - "@parcel/codeframe": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/markdown-ansi": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", - "chalk": "^4.1.0", - "nullthrows": "^1.1.1" + "@smithy/eventstream-serde-universal": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=14.0.0" } }, - "node_modules/@parcel/utils/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.3.tgz", + "integrity": "sha512-48rvsNv/MgAFCxOE0qwR7ZwKhaEdDoTxqH5HM+T6SDxICmPGb7gEuQzjTxQhcieCPgqyXeZFW8cU0QJxdowuIg==", "dependencies": { - "color-convert": "^2.0.1" + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=14.0.0" } }, - "node_modules/@parcel/utils/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", + "node_modules/@smithy/eventstream-serde-node": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.3.tgz", + "integrity": "sha512-RPJWWDhj8isk3NtGfm3Xt1WdHyX9ZE42V+m1nLU1I0zZ1hEol/oawHsTnhva/VR5bn+bJ2zscx+BYr0cEPRtmg==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@smithy/eventstream-serde-universal": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=14.0.0" } }, - "node_modules/@parcel/utils/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/@smithy/eventstream-serde-universal": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.3.tgz", + "integrity": "sha512-ssvSMk1LX2jRhiOVgVLGfNJXdB8SvyjieKcJDHq698Gi3LOog6g/+l7ggrN+hZxyjUiDF4cUxgKaZTBUghzhLw==", "dependencies": { - "color-name": "~1.1.4" + "@smithy/eventstream-codec": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=14.0.0" } }, - "node_modules/@parcel/utils/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" + "node_modules/@smithy/fetch-http-handler": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.3.tgz", + "integrity": "sha512-Fn/KYJFo6L5I4YPG8WQb2hOmExgRmNpVH5IK2zU3JKrY5FKW7y9ar5e0BexiIC9DhSKqKX+HeWq/Y18fq7Dkpw==", + "dependencies": { + "@smithy/protocol-http": "^3.2.1", + "@smithy/querystring-builder": "^2.1.3", + "@smithy/types": "^2.10.1", + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } }, - "node_modules/@parcel/utils/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/@smithy/hash-blob-browser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.3.tgz", + "integrity": "sha512-sHLTM5xQYw5Wxz07DFo+eh1PVC6P5+kazQRF1k5nsvOhZG5VnkIy4LZ7N0ZNWqJx16g9otGd5MvqUOpb3WWtgA==", + "dependencies": { + "@smithy/chunked-blob-reader": "^2.1.1", + "@smithy/chunked-blob-reader-native": "^2.1.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" } }, - "node_modules/@parcel/utils/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/hash-node": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.3.tgz", + "integrity": "sha512-FsAPCUj7VNJIdHbSxMd5uiZiF20G2zdSDgrgrDrHqIs/VMxK85Vqk5kMVNNDMCZmMezp6UKnac0B4nAyx7HJ9g==", "dependencies": { - "has-flag": "^4.0.0" + "@smithy/types": "^2.10.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher": { - "version": "2.4.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/hash-stream-node": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.3.tgz", + "integrity": "sha512-fWpUx2ca/u5lcD5RhNJogEG5FD7H0RDDpYmfQgxFqIUv3Ow7bZsapMukh8uzQPVO8R+NDAvSdxmgXoy4Hz8sFw==", "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" + "@smithy/types": "^2.10.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.0", - "@parcel/watcher-darwin-arm64": "2.4.0", - "@parcel/watcher-darwin-x64": "2.4.0", - "@parcel/watcher-freebsd-x64": "2.4.0", - "@parcel/watcher-linux-arm-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-musl": "2.4.0", - "@parcel/watcher-linux-x64-glibc": "2.4.0", - "@parcel/watcher-linux-x64-musl": "2.4.0", - "@parcel/watcher-win32-arm64": "2.4.0", - "@parcel/watcher-win32-ia32": "2.4.0", - "@parcel/watcher-win32-x64": "2.4.0" + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", - "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node_modules/@smithy/invalid-dependency": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.3.tgz", + "integrity": "sha512-wkra7d/G4CbngV4xsjYyAYOvdAhahQje/WymuQdVEnXFExJopEu7fbL5AEAlBPgWHXwu94VnCSG00gVzRfExyg==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" } }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.0", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" + "node_modules/@smithy/is-array-buffer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz", + "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==", + "dependencies": { + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", - "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node_modules/@smithy/md5-js": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.3.tgz", + "integrity": "sha512-zmn3M6+mP4IJlSmXBN9964AztgkIO8b5lRzAgdJn9AdCFwA6xLkcW2B6uEnpBjvotxtQMmXTUP19tIO7NmFPpw==", + "dependencies": { + "@smithy/types": "^2.10.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" } }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", - "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" + "node_modules/@smithy/middleware-content-length": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.3.tgz", + "integrity": "sha512-aJduhkC+dcXxdnv5ZpM3uMmtGmVFKx412R1gbeykS5HXDmRU6oSsyy2SoHENCkfOGKAQOjVE2WVqDJibC0d21g==", + "dependencies": { + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", - "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node_modules/@smithy/middleware-endpoint": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.4.tgz", + "integrity": "sha512-4yjHyHK2Jul4JUDBo2sTsWY9UshYUnXeb/TAK/MTaPEb8XQvDmpwSFnfIRDU45RY1a6iC9LCnmJNg/yHyfxqkw==", + "dependencies": { + "@smithy/middleware-serde": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/shared-ini-file-loader": "^2.3.4", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", + "@smithy/util-middleware": "^2.1.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", - "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/@smithy/middleware-retry": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.4.tgz", + "integrity": "sha512-Cyolv9YckZTPli1EkkaS39UklonxMd08VskiuMhURDjC0HHa/AD6aK/YoD21CHv9s0QLg0WMLvk9YeLTKkXaFQ==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.4", + "@smithy/protocol-http": "^3.2.1", + "@smithy/service-error-classification": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.3.tgz", + "integrity": "sha512-s76LId+TwASrHhUa9QS4k/zeXDUAuNuddKklQzRgumbzge5BftVXHXIqL4wQxKGLocPwfgAOXWx+HdWhQk9hTg==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", - "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/@smithy/middleware-stack": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.3.tgz", + "integrity": "sha512-opMFufVQgvBSld/b7mD7OOEBxF6STyraVr1xel1j0abVILM8ALJvRoFbqSWHGmaDlRGIiV9Q5cGbWi0sdiEaLQ==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.4.tgz", + "integrity": "sha512-nqazHCp8r4KHSFhRQ+T0VEkeqvA0U+RhehBSr1gunUuNW3X7j0uDrWBxB2gE9eutzy6kE3Y7L+Dov/UXT871vg==", + "dependencies": { + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.4", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-linux-x64-glibc": { + "node_modules/@smithy/node-http-handler": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", - "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.1.tgz", + "integrity": "sha512-HCkb94soYhJMxPCa61wGKgmeKpJ3Gftx1XD6bcWEB2wMV1L9/SkQu/6/ysKBnbOzWRE01FGzwrTxucHypZ8rdg==", + "dependencies": { + "@smithy/abort-controller": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/querystring-builder": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.3.tgz", + "integrity": "sha512-bMz3se+ySKWNrgm7eIiQMa2HO/0fl2D0HvLAdg9pTMcpgp4SqOAh6bz7Ik6y7uQqSrk4rLjIKgbQ6yzYgGehCQ==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", - "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/@smithy/protocol-http": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.1.tgz", + "integrity": "sha512-KLrQkEw4yJCeAmAH7hctE8g9KwA7+H2nSJwxgwIxchbp/L0B5exTdOQi9D5HinPLlothoervGmhpYKelZ6AxIA==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.3.tgz", + "integrity": "sha512-kFD3PnNqKELe6m9GRHQw/ftFFSZpnSeQD4qvgDB6BQN6hREHELSosVFUMPN4M3MDKN2jAwk35vXHLoDrNfKu0A==", + "dependencies": { + "@smithy/types": "^2.10.1", + "@smithy/util-uri-escape": "^2.1.1", + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", - "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], + "node_modules/@smithy/querystring-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.3.tgz", + "integrity": "sha512-3+CWJoAqcBMR+yvz6D+Fc5VdoGFtfenW6wqSWATWajrRMGVwJGPT3Vy2eb2bnMktJc4HU4bpjeovFa566P3knQ==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.3.tgz", + "integrity": "sha512-iUrpSsem97bbXHHT/v3s7vaq8IIeMo6P6cXdeYHrx0wOJpMeBGQF7CB0mbJSiTm3//iq3L55JiEm8rA7CTVI8A==", + "dependencies": { + "@smithy/types": "^2.10.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", - "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.4.tgz", + "integrity": "sha512-CiZmPg9GeDKbKmJGEFvJBsJcFnh0AQRzOtQAzj1XEa8N/0/uSN/v1LYzgO7ry8hhO8+9KB7+DhSW0weqBra4Aw==", + "dependencies": { + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.3.tgz", + "integrity": "sha512-Jq4iPPdCmJojZTsPePn4r1ULShh6ONkokLuxp1Lnk4Sq7r7rJp4HlA1LbPBq4bD64TIzQezIpr1X+eh5NYkNxw==", + "dependencies": { + "@smithy/eventstream-codec": "^2.1.3", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/types": "^2.10.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-uri-escape": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", - "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], + "node_modules/@smithy/smithy-client": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.2.tgz", + "integrity": "sha512-ntAFYN51zu3N3mCd95YFcFi/8rmvm//uX+HnK24CRbI6k5Rjackn0JhgKz5zOx/tbNvOpgQIwhSX+1EvEsBLbA==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", + "@smithy/util-stream": "^2.1.3", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.1.tgz", + "integrity": "sha512-hjQO+4ru4cQ58FluQvKKiyMsFg0A6iRpGm2kqdH8fniyNd2WyanoOsYJfMX/IFLuLxEoW6gnRkNZy1y6fUUhtA==", + "dependencies": { + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/watcher/node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", - "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/@smithy/url-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.3.tgz", + "integrity": "sha512-X1NRA4WzK/ihgyzTpeGvI9Wn45y8HmqF4AZ/FazwAv8V203Ex+4lXqcYI70naX9ETqbqKVzFk88W6WJJzCggTQ==", + "dependencies": { + "@smithy/querystring-parser": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-base64": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", + "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", + "dependencies": { + "@smithy/util-buffer-from": "^2.1.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz", + "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz", + "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==", + "dependencies": { + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@parcel/workers": { - "version": "2.12.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-buffer-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz", + "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" + "@smithy/is-array-buffer": "^2.1.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz", + "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==", + "dependencies": { + "tslib": "^2.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.4.tgz", + "integrity": "sha512-J6XAVY+/g7jf03QMnvqPyU+8jqGrrtXoKWFVOS+n1sz0Lg8HjHJ1ANqaDN+KTTKZRZlvG8nU5ZrJOUL6VdwgcQ==", + "dependencies": { + "@smithy/property-provider": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "bowser": "^2.11.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@parcel/core": "^2.12.0" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "license": "MIT", - "optional": true, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.3.tgz", + "integrity": "sha512-ttUISrv1uVOjTlDa3nznX33f0pthoUlP+4grhTvOzcLhzArx8qHB94/untGACOG3nlf8vU20nI2iWImfzoLkYA==", + "dependencies": { + "@smithy/config-resolver": "^2.1.4", + "@smithy/credential-provider-imds": "^2.2.4", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/property-provider": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=14" + "node": ">= 10.0.0" } }, - "node_modules/@rollup/plugin-commonjs": { - "version": "25.0.7", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-endpoints": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.4.tgz", + "integrity": "sha512-/qAeHmK5l4yQ4/bCIJ9p49wDe9rwWtOzhPHblu386fwPNT3pxmodgcs9jDCV52yK9b4rB8o9Sj31P/7Vzka1cg==", "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "commondir": "^1.0.1", - "estree-walker": "^2.0.2", - "glob": "^8.0.3", - "is-reference": "1.2.1", - "magic-string": "^0.30.3" + "@smithy/node-config-provider": "^2.2.4", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.68.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "node": ">= 14.0.0" } }, - "node_modules/@rollup/plugin-json": { - "version": "6.1.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-hex-encoding": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz", + "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==", "dependencies": { - "@rollup/pluginutils": "^5.1.0" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.2.3", - "license": "MIT", + "node_modules/@smithy/util-middleware": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.3.tgz", + "integrity": "sha512-/+2fm7AZ2ozl5h8wM++ZP0ovE9/tiUUAHIbCfGfb3Zd3+Dyk17WODPKXBeJ/TnK5U+x743QmA0xHzlSm8I/qhw==", "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } } }, - "node_modules/@rollup/plugin-terser": { - "version": "0.4.4", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-retry": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.3.tgz", + "integrity": "sha512-Kbvd+GEMuozbNUU3B89mb99tbufwREcyx2BOX0X2+qHjq6Gvsah8xSDDgxISDwcOHoDqUWO425F0Uc/QIRhYkg==", "dependencies": { - "serialize-javascript": "^6.0.1", - "smob": "^1.0.0", - "terser": "^5.17.4" + "@smithy/service-error-classification": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "node": ">= 14.0.0" } }, - "node_modules/@rollup/plugin-typescript": { - "version": "11.1.6", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-stream": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.3.tgz", + "integrity": "sha512-HvpEQbP8raTy9n86ZfXiAkf3ezp1c3qeeO//zGqwZdrfaoOpGKQgF2Sv1IqZp7wjhna7pvczWaGUHjcOPuQwKw==", "dependencies": { - "@rollup/pluginutils": "^5.1.0", - "resolve": "^1.22.1" + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/types": "^2.10.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.14.0||^3.0.0||^4.0.0", - "tslib": "*", - "typescript": ">=3.7.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - }, - "tslib": { - "optional": true - } } }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.0", - "license": "MIT", + "node_modules/@smithy/util-uri-escape": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz", + "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.12.0", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", - "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "license": "MIT" - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "license": "BSD-3-Clause", + "node_modules/@smithy/util-utf8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", + "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", "dependencies": { - "type-detect": "4.0.8" + "@smithy/util-buffer-from": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "license": "BSD-3-Clause", + "node_modules/@smithy/util-waiter": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.3.tgz", + "integrity": "sha512-3R0wNFAQQoH9e4m+bVLDYNOst2qNxtxFgq03WoNHWTBOqQT3jFnOBRj1W51Rf563xDA5kwqjziksxn6RKkHB+Q==", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "@smithy/abort-controller": "^2.1.3", + "@smithy/types": "^2.10.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, "node_modules/@swc/core": { @@ -3991,6 +5918,19 @@ "devOptional": true, "license": "Apache-2.0" }, + "node_modules/@tediousjs/connection-string": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@tediousjs/connection-string/-/connection-string-0.5.0.tgz", + "integrity": "sha512-7qSgZbincDDDFyRweCIEvZULFAw5iz/DeunhvuxpL31nfntX3P4Yd4HkHBRg9H8CdqY1e5WFN1PZIz/REL9MVQ==" + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, "node_modules/@tootallnate/quickjs-emscripten": { "version": "0.23.0", "license": "MIT" @@ -4150,6 +6090,20 @@ "@types/node": "*" } }, + "node_modules/@types/readable-stream": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.10.tgz", + "integrity": "sha512-AbUKBjcC8SHmImNi4yK2bbjogQlkFSg7shZCcicxPQapniOlajG8GCc39lvXzCWX4lLRRs7DM3VAeSlqmEVZUA==", + "dependencies": { + "@types/node": "*", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/@types/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/@types/resolve": { "version": "1.20.2", "license": "MIT" @@ -4165,7 +6119,8 @@ }, "node_modules/@types/url-join": { "version": "4.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-wDXw9LEEUHyV+7UWy7U315nrJGJ7p1BzaCxDpEoLr789Dk1WDVMMlf3iBfbG2F8NdWnYyFbtTxUn2ZNbm1Q4LQ==" }, "node_modules/@types/yargs": { "version": "17.0.32", @@ -4180,7 +6135,8 @@ }, "node_modules/@ungap/url-search-params": { "version": "0.2.2", - "license": "ISC" + "resolved": "https://registry.npmjs.org/@ungap/url-search-params/-/url-search-params-0.2.2.tgz", + "integrity": "sha512-qQsguKXZVKdCixOHX9jqnX/K/1HekPDpGKyEcXHT+zR6EjGA7S4boSuelL4uuPv6YfhN0n8c4UxW+v/Z3gM2iw==" }, "node_modules/@vercel/ncc": { "version": "0.36.1", @@ -4189,6 +6145,17 @@ "ncc": "dist/ncc/cli.js" } }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/abortcontroller-polyfill": { "version": "1.7.5", "dev": true, @@ -4338,7 +6305,6 @@ }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -4379,7 +6345,6 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.2", - "dev": true, "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", @@ -4724,6 +6689,11 @@ "dev": true, "license": "ISC" }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, "node_modules/brace-expansion": { "version": "2.0.1", "license": "MIT", @@ -4819,6 +6789,11 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, "node_modules/buffer-from": { "version": "1.1.2", "license": "MIT" @@ -5592,9 +7567,16 @@ "node": ">= 0.4" } }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, "node_modules/define-properties": { "version": "1.2.1", - "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", @@ -5800,6 +7782,14 @@ "version": "0.2.0", "license": "MIT" }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "dev": true, @@ -5865,7 +7855,6 @@ }, "node_modules/es-abstract": { "version": "1.22.3", - "dev": true, "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", @@ -5915,9 +7904,37 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-aggregate-error": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.12.tgz", + "integrity": "sha512-j0PupcmELoVbYS2NNrsn5zcLLEsryQwP02x8fRawh7c2eEaPHwJFAxltZsqV7HJjsF57+SMpYyVRWgbVLfOagg==", + "dependencies": { + "define-data-property": "^1.1.1", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "function-bind": "^1.1.2", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.1", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-set-tostringtag": { "version": "2.0.2", - "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.2", @@ -5938,7 +7955,6 @@ }, "node_modules/es-to-primitive": { "version": "1.2.1", - "dev": true, "license": "MIT", "dependencies": { "is-callable": "^1.1.4", @@ -6062,6 +8078,22 @@ "node": ">= 0.6" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/execa": { "version": "5.1.1", "license": "MIT", @@ -6217,6 +8249,27 @@ "version": "2.1.1", "license": "MIT" }, + "node_modules/fast-xml-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fastq": { "version": "1.16.0", "license": "ISC", @@ -6493,17 +8546,6 @@ "node": ">=4.2.0" } }, - "node_modules/flatfile/node_modules/uuid": { - "version": "9.0.1", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/follow-redirects": { "version": "1.15.5", "funding": [ @@ -6641,7 +8683,6 @@ }, "node_modules/function.prototype.name": { "version": "1.1.6", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -6658,7 +8699,6 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6719,7 +8759,6 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -6812,7 +8851,6 @@ }, "node_modules/globalthis": { "version": "1.0.3", - "dev": true, "license": "MIT", "dependencies": { "define-properties": "^1.1.3" @@ -6929,7 +8967,6 @@ }, "node_modules/has-bigints": { "version": "1.0.2", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7280,7 +9317,6 @@ }, "node_modules/internal-slot": { "version": "1.0.6", - "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.2", @@ -7331,7 +9367,6 @@ }, "node_modules/is-array-buffer": { "version": "3.0.2", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -7349,7 +9384,6 @@ }, "node_modules/is-bigint": { "version": "1.0.4", - "dev": true, "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" @@ -7370,7 +9404,6 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -7418,16 +9451,29 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "dev": true, "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-extglob": { @@ -7493,7 +9539,6 @@ }, "node_modules/is-negative-zero": { "version": "2.0.2", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7511,7 +9556,6 @@ }, "node_modules/is-number-object": { "version": "1.0.7", - "dev": true, "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" @@ -7540,7 +9584,6 @@ }, "node_modules/is-regex": { "version": "1.1.4", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -7555,7 +9598,6 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2" @@ -7576,7 +9618,6 @@ }, "node_modules/is-string": { "version": "1.0.7", - "dev": true, "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" @@ -7601,7 +9642,6 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "dev": true, "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" @@ -7638,7 +9678,6 @@ }, "node_modules/is-weakref": { "version": "1.0.2", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2" @@ -7655,9 +9694,19 @@ "node": ">=0.10.0" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "2.0.5", - "dev": true, "license": "MIT" }, "node_modules/isexe": { @@ -9317,6 +11366,11 @@ "version": "3.7.2", "license": "BSD-3-Clause" }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==" + }, "node_modules/js-tokens": { "version": "4.0.0", "license": "MIT" @@ -9332,6 +11386,11 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbi": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jsbi/-/jsbi-4.3.0.tgz", + "integrity": "sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==" + }, "node_modules/jsesc": { "version": "2.5.2", "license": "MIT", @@ -9383,6 +11442,70 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jsonwebtoken/node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, "node_modules/kind-of": { "version": "6.0.3", "dev": true, @@ -9534,11 +11657,46 @@ "node": ">=8" } }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "dev": true, "license": "MIT" }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, "node_modules/lodash.sortby": { "version": "4.7.0", "license": "MIT" @@ -9899,6 +12057,54 @@ "node-gyp-build-optional-packages-test": "build-test.js" } }, + "node_modules/mssql": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/mssql/-/mssql-10.0.2.tgz", + "integrity": "sha512-GrQ6gzv2xA7ndOvONyZ++4RZsNkr8qDiIpvuFn2pR3TPiSk/cKdmvOrDU3jWgon7EPj7CPgmDiMh7Hgtft2xLg==", + "dependencies": { + "@tediousjs/connection-string": "^0.5.0", + "commander": "^11.0.0", + "debug": "^4.3.3", + "rfdc": "^1.3.0", + "tarn": "^3.0.2", + "tedious": "^16.4.0" + }, + "bin": { + "mssql": "bin/mssql" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/mssql/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/mssql/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mssql/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "node_modules/mz": { "version": "2.7.0", "license": "MIT", @@ -9908,6 +12114,33 @@ "thenify-all": "^1.0.0" } }, + "node_modules/nanoid": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.6.tgz", + "integrity": "sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/nanoid-dictionary": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/nanoid-dictionary/-/nanoid-dictionary-4.3.0.tgz", + "integrity": "sha512-Xw1+/QnRGWO1KJ0rLfU1xR85qXmAHyLbE3TUkklu9gOIDburP6CsUnLmTaNECGpBh5SHb2uPFmx0VT8UPyoeyw==" + }, + "node_modules/native-duplexpair": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz", + "integrity": "sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA==" + }, "node_modules/natural-compare": { "version": "1.4.0", "license": "MIT" @@ -9956,6 +12189,11 @@ "node": ">= 0.4.0" } }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, "node_modules/node-addon-api": { "version": "7.0.0", "dev": true, @@ -10100,7 +12338,6 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -10108,7 +12345,6 @@ }, "node_modules/object.assign": { "version": "4.1.5", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.5", @@ -10154,6 +12390,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/openapi-typescript-codegen": { "version": "0.23.0", "dev": true, @@ -10836,6 +13088,14 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/promise-polyfill": { "version": "8.3.0", "dev": true, @@ -11286,7 +13546,6 @@ }, "node_modules/regexp.prototype.flags": { "version": "1.5.1", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -11391,6 +13650,11 @@ "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" + }, "node_modules/rollup": { "version": "4.12.0", "devOptional": true, @@ -11488,7 +13752,6 @@ }, "node_modules/safe-array-concat": { "version": "1.1.0", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.5", @@ -11523,7 +13786,6 @@ }, "node_modules/safe-regex-test": { "version": "1.0.2", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.5", @@ -11539,7 +13801,6 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, "license": "MIT" }, "node_modules/sax": { @@ -11644,7 +13905,6 @@ }, "node_modules/set-function-name": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", @@ -12082,6 +14342,15 @@ "node": ">= 0.8" } }, + "node_modules/stoppable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", + "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "engines": { + "node": ">=4", + "npm": ">=6" + } + }, "node_modules/stream-transform": { "version": "2.1.3", "dev": true, @@ -12136,7 +14405,6 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.8", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -12152,7 +14420,6 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.7", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -12165,7 +14432,6 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.7", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -12234,6 +14500,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "node_modules/sucrase": { "version": "3.35.0", "license": "MIT", @@ -12402,6 +14673,100 @@ "node": ">=10.0.0" } }, + "node_modules/tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/tedious": { + "version": "16.7.1", + "resolved": "https://registry.npmjs.org/tedious/-/tedious-16.7.1.tgz", + "integrity": "sha512-NmedZS0NJiTv3CoYnf1FtjxIDUgVYzEmavrc8q2WHRb+lP4deI9BpQfmNnBZZaWusDbP5FVFZCcvzb3xOlNVlQ==", + "dependencies": { + "@azure/identity": "^3.4.1", + "@azure/keyvault-keys": "^4.4.0", + "@js-joda/core": "^5.5.3", + "bl": "^6.0.3", + "es-aggregate-error": "^1.0.9", + "iconv-lite": "^0.6.3", + "js-md4": "^0.3.2", + "jsbi": "^4.3.0", + "native-duplexpair": "^1.0.0", + "node-abort-controller": "^3.1.1", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tedious/node_modules/bl": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.11.tgz", + "integrity": "sha512-Ok/NWrEA0mlEEbWzckkZVLq6Nv1m2xZ+i9Jq5hZ9Ph/YEcP5dExqls9wUzpluhQRPzdeT8oZNOXAytta6YN8pQ==", + "dependencies": { + "@types/readable-stream": "^4.0.0", + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^4.2.0" + } + }, + "node_modules/tedious/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/tedious/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tedious/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/tedious/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, "node_modules/term-size": { "version": "2.2.1", "dev": true, @@ -12890,7 +15255,6 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.0", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -12903,7 +15267,6 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.0", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -12920,7 +15283,6 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.0", - "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", @@ -12938,7 +15300,6 @@ }, "node_modules/typed-array-length": { "version": "1.0.4", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -12975,7 +15336,6 @@ }, "node_modules/unbox-primitive": { "version": "1.0.2", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -13076,6 +15436,18 @@ "node": ">= 0.4.0" } }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/v8-to-istanbul": { "version": "9.2.0", "dev": true, @@ -13158,7 +15530,6 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "dev": true, "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", @@ -13423,12 +15794,12 @@ }, "plugins/autocast": { "name": "@flatfile/plugin-autocast", - "version": "0.7.5", + "version": "0.7.6", "license": "ISC", "dependencies": { "@flatfile/api": "^1.7.4", "@flatfile/hooks": "^1.3.2", - "@flatfile/plugin-record-hook": "^1.4.4", + "@flatfile/plugin-record-hook": "^1.4.5", "@flatfile/util-common": "^1.0.0" }, "engines": { @@ -13457,11 +15828,11 @@ }, "plugins/constraints": { "name": "@flatfile/plugin-constraints", - "version": "1.1.5", + "version": "1.1.6", "license": "ISC", "dependencies": { "@flatfile/api": "^1.7.4", - "@flatfile/plugin-record-hook": "^1.4.4" + "@flatfile/plugin-record-hook": "^1.4.5" }, "devDependencies": { "@flatfile/utils-testing": "^0.1.3", @@ -13535,7 +15906,7 @@ }, "plugins/export-workbook": { "name": "@flatfile/plugin-export-workbook", - "version": "0.1.4", + "version": "0.1.5", "license": "ISC", "dependencies": { "@flatfile/api": "^1.7.4", @@ -13548,6 +15919,61 @@ "node": ">= 16" } }, + "plugins/foreign-db-extractor": { + "name": "@flatfile/plugin-foreign-db-extractor", + "version": "0.0.0", + "license": "ISC", + "dependencies": { + "@aws-sdk/client-lambda": "^3.460.0", + "@aws-sdk/client-rds": "^3.458.0", + "@aws-sdk/client-s3": "^3.458.0", + "@flatfile/api": "^1.5.37", + "@flatfile/id": "^1.0.0", + "@flatfile/listener": "^0.3.17", + "@flatfile/util-file-buffer": "^0.1.3", + "mssql": "^10.0.1", + "nanoid": "^5.0.3", + "nanoid-dictionary": "^4.3.0", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">= 16" + } + }, + "plugins/foreign-db-extractor/node_modules/@flatfile/listener": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@flatfile/listener/-/listener-0.3.19.tgz", + "integrity": "sha512-EywBIzQ2y1NjtXZdj/3EKJAnf+Kzw/o0cvCy1xj/r5HRP4O9S2qW9muIuSyhxWRQWlLyf64UKhGX1+Se++0S+A==", + "dependencies": { + "@rollup/plugin-json": "^6.0.1", + "@rollup/plugin-node-resolve": "^15.2.3", + "ansi-colors": "^4.1.3", + "flat": "^5.0.2", + "pako": "^2.1.0", + "wildcard-match": "^5.1.2" + }, + "peerDependencies": { + "@flatfile/api": "^1.5.10", + "axios": "^1.4.0" + } + }, + "plugins/foreign-db-extractor/node_modules/@flatfile/util-file-buffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@flatfile/util-file-buffer/-/util-file-buffer-0.1.4.tgz", + "integrity": "sha512-Xy4o4dimWa4xmKzkZw5E8mDwqVbtlaLJVuJ0FS26SjTsUluVmT3wmd0nLDP4c0LqMcbSKQ4B8qrCcdldPh+AuA==", + "dependencies": { + "@flatfile/api": "^1.6.0", + "@flatfile/listener": "^0.3.17" + }, + "engines": { + "node": ">= 16" + } + }, + "plugins/foreign-db-extractor/node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, "plugins/graphql": { "name": "@flatfile/plugin-graphql", "version": "0.0.2", @@ -13617,6 +16043,27 @@ "node": ">= 16" } }, + "plugins/merge-connection/node_modules/@mergeapi/merge-node-client": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@mergeapi/merge-node-client/-/merge-node-client-0.1.8.tgz", + "integrity": "sha512-fU3fwTrFRC1Z2rTo8D8TpMGsh+ZRynfRbTF9pPS6WB/DA5HAOgr3IILWvyqLR6fXFSSAUt+uxTFcHPYnW+D4TQ==", + "dependencies": { + "@types/url-join": "4.0.1", + "@ungap/url-search-params": "0.2.2", + "axios": "0.27.2", + "js-base64": "3.7.2", + "url-join": "4.0.1" + } + }, + "plugins/merge-connection/node_modules/@mergeapi/merge-node-client/node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "plugins/openapi-schema": { "name": "@flatfile/plugin-convert-openapi-schema", "version": "0.1.2", @@ -13699,7 +16146,7 @@ }, "plugins/record-hook": { "name": "@flatfile/plugin-record-hook", - "version": "1.4.4", + "version": "1.4.5", "license": "ISC", "dependencies": { "@flatfile/hooks": "^1.3.1", From 2bb4306e12a5d00b620a29fd01f4641cb7c891bb Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Wed, 6 Dec 2023 12:43:22 -0600 Subject: [PATCH 03/22] Update package.json --- plugins/foreign-db-extractor/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/foreign-db-extractor/package.json b/plugins/foreign-db-extractor/package.json index aea00b5bf..3a71ba065 100644 --- a/plugins/foreign-db-extractor/package.json +++ b/plugins/foreign-db-extractor/package.json @@ -6,7 +6,7 @@ "category": "extractor" }, "engines": { - "node": ">= 16" + "node": ">= 18" }, "source": "src/index.ts", "main": "dist/main.js", From 893ae520fe91485bd1582fde9ca83451334af18f Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Wed, 6 Dec 2023 12:44:33 -0600 Subject: [PATCH 04/22] Update package-lock.json --- package-lock.json | 207 ++++++++++++++++++++++++++++------------------ 1 file changed, 126 insertions(+), 81 deletions(-) diff --git a/package-lock.json b/package-lock.json index 157cc8c9c..d4ff09cb1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -99,8 +99,7 @@ }, "node_modules/@aws-crypto/crc32": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^3.0.0", "@aws-sdk/types": "^3.222.0", @@ -109,13 +108,11 @@ }, "node_modules/@aws-crypto/crc32/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/@aws-crypto/crc32c": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz", - "integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^3.0.0", "@aws-sdk/types": "^3.222.0", @@ -124,26 +121,22 @@ }, "node_modules/@aws-crypto/crc32c/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/@aws-crypto/ie11-detection": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", - "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } }, "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/@aws-crypto/sha1-browser": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz", - "integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/ie11-detection": "^3.0.0", "@aws-crypto/supports-web-crypto": "^3.0.0", @@ -156,13 +149,11 @@ }, "node_modules/@aws-crypto/sha1-browser/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/@aws-crypto/sha256-browser": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", - "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/ie11-detection": "^3.0.0", "@aws-crypto/sha256-js": "^3.0.0", @@ -176,13 +167,11 @@ }, "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/@aws-crypto/sha256-js": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", - "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^3.0.0", "@aws-sdk/types": "^3.222.0", @@ -191,26 +180,22 @@ }, "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/@aws-crypto/supports-web-crypto": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } }, "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/@aws-crypto/util": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-utf8-browser": "^3.0.0", @@ -219,13 +204,13 @@ }, "node_modules/@aws-crypto/util/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/@aws-sdk/client-lambda": { "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.525.0.tgz", "integrity": "sha512-Jsz2F6X6DBV962T4wTyQgP2KqsIS3Hxw6shC5653tapCrR+AK2psFpeKs9w3SQA8D0SnEOAQf/5ay4n9sL+fZw==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", @@ -281,6 +266,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-rds/-/client-rds-3.525.0.tgz", "integrity": "sha512-fo6TpRWFkG6A45c/tlDqk2EjDGu/TnV0p4Az6jB1XJUuD5+ti8S3k22CIecFCoo7jjHvjnCjPbYa5R6RIb2tPA==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", @@ -334,6 +320,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.525.0.tgz", "integrity": "sha512-hoMGH8G9rezZDiJPsMjsyRVNfVHHa4u6lcZ09SQMmtFHWK0FUcC0DIKR5ripV5qGDbnV54i2JotXlLzAv0aNCQ==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha1-browser": "3.0.0", "@aws-crypto/sha256-browser": "3.0.0", @@ -402,6 +389,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.525.0.tgz", "integrity": "sha512-6KwGQWFoNLH1UupdWPFdKPfTgjSz1kN8/r8aCzuvvXBe4Pz+iDUZ6FEJzGWNc9AapjvZDNO1hs23slomM9rTaA==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", @@ -450,6 +438,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.525.0.tgz", "integrity": "sha512-zz13k/6RkjPSLmReSeGxd8wzGiiZa4Odr2Tv3wTcxClM4wOjD+zOgGv4Fe32b9AMqaueiCdjbvdu7AKcYxFA4A==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", @@ -502,6 +491,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.525.0.tgz", "integrity": "sha512-a8NUGRvO6rkfTZCbMaCsjDjLbERCwIUU9dIywFYcRgbFhkupJ7fSaZz3Het98U51M9ZbTEpaTa3fz0HaJv8VJw==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", @@ -554,6 +544,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.525.0.tgz", "integrity": "sha512-E3LtEtMWCriQOFZpVKpLYzbdw/v2PAOEAMhn2VRRZ1g0/g1TXzQrfhEU2yd8l/vQEJaCJ82ooGGg7YECviBUxA==", + "license": "Apache-2.0", "dependencies": { "@smithy/core": "^1.3.5", "@smithy/protocol-http": "^3.2.1", @@ -570,6 +561,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.523.0.tgz", "integrity": "sha512-Y6DWdH6/OuMDoNKVzZlNeBc6f1Yjk1lYMjANKpIhMbkRCvLJw/PYZKOZa8WpXbTYdgg9XLjKybnLIb3ww3uuzA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/property-provider": "^2.1.3", @@ -584,6 +576,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.525.0.tgz", "integrity": "sha512-RNWQGuSBQZhl3iqklOslUEfQ4br1V3DCPboMpeqFtddUWJV3m2u2extFur9/4Uy+1EHVF120IwZUKtd8dF+ibw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/fetch-http-handler": "^2.4.3", @@ -603,6 +596,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.525.0.tgz", "integrity": "sha512-JDnccfK5JRb9jcgpc9lirL9PyCwGIqY0nKdw3LlX5WL5vTpTG4E1q7rLAlpNh7/tFD1n66Itarfv2tsyHMIqCw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-sts": "3.525.0", "@aws-sdk/credential-provider-env": "3.523.0", @@ -624,6 +618,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.525.0.tgz", "integrity": "sha512-RJXlO8goGXpnoHQAyrCcJ0QtWEOFa34LSbfdqBIjQX/fwnjUuEmiGdXTV3AZmwYQ7juk49tfBneHbtOP3AGqsQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.523.0", "@aws-sdk/credential-provider-http": "3.525.0", @@ -646,6 +641,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.523.0.tgz", "integrity": "sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/property-provider": "^2.1.3", @@ -661,6 +657,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.525.0.tgz", "integrity": "sha512-7V7ybtufxdD3plxeIeB6aqHZeFIUlAyPphXIUgXrGY10iNcosL970rQPBeggsohe4gCM6UvY2TfMeEcr+ZE8FA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-sso": "3.525.0", "@aws-sdk/token-providers": "3.525.0", @@ -678,6 +675,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.525.0.tgz", "integrity": "sha512-sAukOjR1oKb2JXG4nPpuBFpSwGUhrrY17PG/xbTy8NAoLLhrqRwnErcLfdTfmj6tH+3094k6ws/Sh8a35ae7fA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-sts": "3.525.0", "@aws-sdk/types": "3.523.0", @@ -693,6 +691,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.525.0.tgz", "integrity": "sha512-nYfQ2Xspfef7j8mZO7varUWLPH6HQlXateH7tBVtBNUAazyQE4UJEvC0fbQ+Y01e+FKlirim/m2umkdMXqAlTg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@aws-sdk/util-arn-parser": "3.495.0", @@ -710,6 +709,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.523.0.tgz", "integrity": "sha512-E5DyRAHU39VHaAlQLqXYS/IKpgk3vsryuU6kkOcIIK8Dgw0a2tjoh5AOCaNa8pD+KgAGrFp35JIMSX1zui5diA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/protocol-http": "^3.2.1", @@ -724,6 +724,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.523.0.tgz", "integrity": "sha512-lIa1TdWY9q4zsDFarfSnYcdrwPR+nypaU4n6hb95i620/1F5M5s6H8P0hYtwTNNvx+slrR8F3VBML9pjBtzAHw==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/crc32": "3.0.0", "@aws-crypto/crc32c": "3.0.0", @@ -742,6 +743,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.523.0.tgz", "integrity": "sha512-4g3q7Ta9sdD9TMUuohBAkbx/e3I/juTqfKi7TPgP+8jxcYX72MOsgemAMHuP6CX27eyj4dpvjH+w4SIVDiDSmg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/protocol-http": "^3.2.1", @@ -756,6 +758,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.523.0.tgz", "integrity": "sha512-1QAUXX3U0jkARnU0yyjk81EO4Uw5dCeQOtvUY5s3bUOHatR3ThosQeIr6y9BCsbXHzNnDe1ytCjqAPyo8r/bYw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/types": "^2.10.1", @@ -769,6 +772,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.523.0.tgz", "integrity": "sha512-PeDNJNhfiaZx54LBaLTXzUaJ9LXFwDFFIksipjqjvxMafnoVcQwKbkoPUWLe5ytT4nnL1LogD3s55mERFUsnwg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/types": "^2.10.1", @@ -782,6 +786,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.523.0.tgz", "integrity": "sha512-nZ3Vt7ehfSDYnrcg/aAfjjvpdE+61B3Zk68i6/hSUIegT3IH9H1vSW67NDKVp+50hcEfzWwM2HMPXxlzuyFyrw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/protocol-http": "^3.2.1", @@ -796,6 +801,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-rds/-/middleware-sdk-rds-3.525.0.tgz", "integrity": "sha512-3RbR01vta/1T0/BP+hnaJ5nspb3wRDR+2TDLOm1pmj0KZTR1yQHYYYLLBtZ0n1XkK7yxtDr0FT/EWQYVSf2ibw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@aws-sdk/util-format-url": "3.523.0", @@ -813,6 +819,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.525.0.tgz", "integrity": "sha512-ewFyyFM6wdFTOqCiId5GQNi7owDdLEonQhB4h8tF6r3HV52bRlDvZA4aDos+ft6N/XY2J6L0qlFTFq+/oiurXw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@aws-sdk/util-arn-parser": "3.495.0", @@ -832,6 +839,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.523.0.tgz", "integrity": "sha512-pFXV4don6qcmew/OvEjLUr2foVjzoJ8o5k57Oz9yAHz8INx3RHK8MP/K4mVhHo6n0SquRcWrm4kY/Tw+89gkEA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/property-provider": "^2.1.3", @@ -849,6 +857,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.523.0.tgz", "integrity": "sha512-FaqAZQeF5cQzZLOIboIJRaWVOQ2F2pJZAXGF5D7nJsxYNFChotA0O0iWimBRxU35RNn7yirVxz35zQzs20ddIw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/types": "^2.10.1", @@ -862,6 +871,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.525.0.tgz", "integrity": "sha512-4al/6uO+t/QIYXK2OgqzDKQzzLAYJza1vWFS+S0lJ3jLNGyLB5BMU5KqWjDzevYZ4eCnz2Nn7z0FveUTNz8YdQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@aws-sdk/util-endpoints": "3.525.0", @@ -877,6 +887,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.525.0.tgz", "integrity": "sha512-8kFqXk6UyKgTMi7N7QlhA6qM4pGPWbiUXqEY2RgUWngtxqNFGeM9JTexZeuavQI+qLLe09VPShPNX71fEDcM6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/node-config-provider": "^2.2.4", @@ -893,6 +904,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.525.0.tgz", "integrity": "sha512-j8gkdfiokaherRgokfZBl2azYBMHlegT7pOnR/3Y79TSz6G+bJeIkuNk8aUbJArr6R8nvAM1j4dt1rBM+efolQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-sdk-s3": "3.525.0", "@aws-sdk/types": "3.523.0", @@ -909,6 +921,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.525.0.tgz", "integrity": "sha512-puVjbxuK0Dq7PTQ2HdddHy2eQjOH8GZbump74yWJa6JVpRW84LlOcNmP+79x4Kscvz2ldWB8XDFw/pcCiSDe5A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-sso-oidc": "3.525.0", "@aws-sdk/types": "3.523.0", @@ -925,6 +938,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.523.0.tgz", "integrity": "sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -935,8 +949,7 @@ }, "node_modules/@aws-sdk/util-arn-parser": { "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.495.0.tgz", - "integrity": "sha512-hwdA3XAippSEUxs7jpznwD63YYFR+LtQvlEcebPTgWR9oQgG9TfS+39PUfbnEeje1ICuOrN3lrFqFbmP9uzbMg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" }, @@ -948,6 +961,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.525.0.tgz", "integrity": "sha512-DIW7WWU5tIGkeeKX6NJUyrEIdWMiqjLQG3XBzaUj+ufIENwNjdAHhlD8l2vX7Yr3JZRT6yN/84wBCj7Tw1xd1g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/types": "^2.10.1", @@ -962,6 +976,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.523.0.tgz", "integrity": "sha512-OWi+8bsEfxG4DvHkWauxyWVZMbYrezC49DbGDEu1lJgk9eqQALlyGkZHt9O8KKfyT/mdqQbR8qbpkxqYcGuHVA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/querystring-builder": "^2.1.3", @@ -974,8 +989,7 @@ }, "node_modules/@aws-sdk/util-locate-window": { "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz", - "integrity": "sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" }, @@ -987,6 +1001,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.523.0.tgz", "integrity": "sha512-6ZRNdGHX6+HQFqTbIA5+i8RWzxFyxsZv8D3soRfpdyWIKkzhSz8IyRKXRciwKBJDaC7OX2jzGE90wxRQft27nA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/types": "^2.10.1", @@ -998,6 +1013,7 @@ "version": "3.525.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.525.0.tgz", "integrity": "sha512-88Wjt4efyUSBGcyIuh1dvoMqY1k15jpJc5A/3yi67clBQEFsu9QCodQCQPqmRjV3VRcMtBOk+jeCTiUzTY5dRQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", "@smithy/node-config-provider": "^2.2.4", @@ -1018,8 +1034,7 @@ }, "node_modules/@aws-sdk/util-utf8-browser": { "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -1028,6 +1043,7 @@ "version": "3.523.0", "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.523.0.tgz", "integrity": "sha512-wfvyVymj2TUw7SuDor9IuFcAzJZvWRBZotvY/wQJOlYa3UP3Oezzecy64N4FWfBJEsZdrTN+HOZFl+IzTWWnUA==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -2118,22 +2134,20 @@ }, "node_modules/@flatfile/id": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@flatfile/id/-/id-1.0.0.tgz", - "integrity": "sha512-Xqo9LWxA6FGvHCHM2Hh1tKyMC9pZsuqqvva8nPwXAqcmnKUr9osyWMJLraS0dnN2qalesTpHVH+RE8jjVMfZjA==", + "license": "ISC", "dependencies": { "nanoid": "^3.3.4" } }, "node_modules/@flatfile/id/node_modules/nanoid": { "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -5207,6 +5221,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.3.tgz", "integrity": "sha512-c2aYH2Wu1RVE3rLlVgg2kQOBJGM0WbjReQi5DnPTm2Zb7F0gk7J2aeQeaX2u/lQZoHl6gv8Oac7mt9alU3+f4A==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5217,16 +5232,14 @@ }, "node_modules/@smithy/chunked-blob-reader": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.1.1.tgz", - "integrity": "sha512-NjNFCKxC4jVvn+lUr3Yo4/PmUJj3tbyqH6GNHueyTGS5Q27vlEJ1MkNhUDV8QGxJI7Bodnc2pD18lU2zRfhHlQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" } }, "node_modules/@smithy/chunked-blob-reader-native": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.1.tgz", - "integrity": "sha512-zNW+43dltfNMUrBEYLMWgI8lQr0uhtTcUyxkgC9EP4j17WREzgSFMPUFVrVV6Rc2+QtWERYjb4tzZnQGa7R9fQ==", + "license": "Apache-2.0", "dependencies": { "@smithy/util-base64": "^2.1.1", "tslib": "^2.5.0" @@ -5236,6 +5249,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.4.tgz", "integrity": "sha512-AW2WUZmBAzgO3V3ovKtsUbI3aBNMeQKFDumoqkNxaVDWF/xfnxAWqBKDr/NuG7c06N2Rm4xeZLPiJH/d+na0HA==", + "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^2.2.4", "@smithy/types": "^2.10.1", @@ -5251,6 +5265,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.5.tgz", "integrity": "sha512-Rrc+e2Jj6Gu7Xbn0jvrzZlSiP2CZocIOfZ9aNUA82+1sa6GBnxqL9+iZ9EKHeD9aqD1nU8EK4+oN2EiFpSv7Yw==", + "license": "Apache-2.0", "dependencies": { "@smithy/middleware-endpoint": "^2.4.4", "@smithy/middleware-retry": "^2.1.4", @@ -5269,6 +5284,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.4.tgz", "integrity": "sha512-DdatjmBZQnhGe1FhI8gO98f7NmvQFSDiZTwC3WMvLTCKQUY+Y1SVkhJqIuLu50Eb7pTheoXQmK+hKYUgpUWsNA==", + "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^2.2.4", "@smithy/property-provider": "^2.1.3", @@ -5284,6 +5300,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.3.tgz", "integrity": "sha512-rGlCVuwSDv6qfKH4/lRxFjcZQnIE0LZ3D4lkMHg7ZSltK9rA74r0VuGSvWVQ4N/d70VZPaniFhp4Z14QYZsa+A==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/crc32": "3.0.0", "@smithy/types": "^2.10.1", @@ -5295,6 +5312,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.3.tgz", "integrity": "sha512-qAgKbZ9m2oBfSyJWWurX/MvQFRPrYypj79cDSleEgDwBoez6Tfd+FTpu2L/j3ZeC3mDlDHIKWksoeaXZpLLAHw==", + "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-serde-universal": "^2.1.3", "@smithy/types": "^2.10.1", @@ -5308,6 +5326,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.3.tgz", "integrity": "sha512-48rvsNv/MgAFCxOE0qwR7ZwKhaEdDoTxqH5HM+T6SDxICmPGb7gEuQzjTxQhcieCPgqyXeZFW8cU0QJxdowuIg==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5320,6 +5339,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.3.tgz", "integrity": "sha512-RPJWWDhj8isk3NtGfm3Xt1WdHyX9ZE42V+m1nLU1I0zZ1hEol/oawHsTnhva/VR5bn+bJ2zscx+BYr0cEPRtmg==", + "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-serde-universal": "^2.1.3", "@smithy/types": "^2.10.1", @@ -5333,6 +5353,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.3.tgz", "integrity": "sha512-ssvSMk1LX2jRhiOVgVLGfNJXdB8SvyjieKcJDHq698Gi3LOog6g/+l7ggrN+hZxyjUiDF4cUxgKaZTBUghzhLw==", + "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-codec": "^2.1.3", "@smithy/types": "^2.10.1", @@ -5346,6 +5367,7 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.3.tgz", "integrity": "sha512-Fn/KYJFo6L5I4YPG8WQb2hOmExgRmNpVH5IK2zU3JKrY5FKW7y9ar5e0BexiIC9DhSKqKX+HeWq/Y18fq7Dkpw==", + "license": "Apache-2.0", "dependencies": { "@smithy/protocol-http": "^3.2.1", "@smithy/querystring-builder": "^2.1.3", @@ -5358,6 +5380,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.3.tgz", "integrity": "sha512-sHLTM5xQYw5Wxz07DFo+eh1PVC6P5+kazQRF1k5nsvOhZG5VnkIy4LZ7N0ZNWqJx16g9otGd5MvqUOpb3WWtgA==", + "license": "Apache-2.0", "dependencies": { "@smithy/chunked-blob-reader": "^2.1.1", "@smithy/chunked-blob-reader-native": "^2.1.1", @@ -5369,6 +5392,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.3.tgz", "integrity": "sha512-FsAPCUj7VNJIdHbSxMd5uiZiF20G2zdSDgrgrDrHqIs/VMxK85Vqk5kMVNNDMCZmMezp6UKnac0B4nAyx7HJ9g==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "@smithy/util-buffer-from": "^2.1.1", @@ -5383,6 +5407,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.3.tgz", "integrity": "sha512-fWpUx2ca/u5lcD5RhNJogEG5FD7H0RDDpYmfQgxFqIUv3Ow7bZsapMukh8uzQPVO8R+NDAvSdxmgXoy4Hz8sFw==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "@smithy/util-utf8": "^2.1.1", @@ -5396,6 +5421,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.3.tgz", "integrity": "sha512-wkra7d/G4CbngV4xsjYyAYOvdAhahQje/WymuQdVEnXFExJopEu7fbL5AEAlBPgWHXwu94VnCSG00gVzRfExyg==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5403,8 +5429,7 @@ }, "node_modules/@smithy/is-array-buffer": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz", - "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" }, @@ -5416,6 +5441,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.3.tgz", "integrity": "sha512-zmn3M6+mP4IJlSmXBN9964AztgkIO8b5lRzAgdJn9AdCFwA6xLkcW2B6uEnpBjvotxtQMmXTUP19tIO7NmFPpw==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "@smithy/util-utf8": "^2.1.1", @@ -5426,6 +5452,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.3.tgz", "integrity": "sha512-aJduhkC+dcXxdnv5ZpM3uMmtGmVFKx412R1gbeykS5HXDmRU6oSsyy2SoHENCkfOGKAQOjVE2WVqDJibC0d21g==", + "license": "Apache-2.0", "dependencies": { "@smithy/protocol-http": "^3.2.1", "@smithy/types": "^2.10.1", @@ -5439,6 +5466,7 @@ "version": "2.4.4", "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.4.tgz", "integrity": "sha512-4yjHyHK2Jul4JUDBo2sTsWY9UshYUnXeb/TAK/MTaPEb8XQvDmpwSFnfIRDU45RY1a6iC9LCnmJNg/yHyfxqkw==", + "license": "Apache-2.0", "dependencies": { "@smithy/middleware-serde": "^2.1.3", "@smithy/node-config-provider": "^2.2.4", @@ -5456,6 +5484,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.4.tgz", "integrity": "sha512-Cyolv9YckZTPli1EkkaS39UklonxMd08VskiuMhURDjC0HHa/AD6aK/YoD21CHv9s0QLg0WMLvk9YeLTKkXaFQ==", + "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^2.2.4", "@smithy/protocol-http": "^3.2.1", @@ -5483,6 +5512,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.3.tgz", "integrity": "sha512-s76LId+TwASrHhUa9QS4k/zeXDUAuNuddKklQzRgumbzge5BftVXHXIqL4wQxKGLocPwfgAOXWx+HdWhQk9hTg==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5495,6 +5525,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.3.tgz", "integrity": "sha512-opMFufVQgvBSld/b7mD7OOEBxF6STyraVr1xel1j0abVILM8ALJvRoFbqSWHGmaDlRGIiV9Q5cGbWi0sdiEaLQ==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5507,6 +5538,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.4.tgz", "integrity": "sha512-nqazHCp8r4KHSFhRQ+T0VEkeqvA0U+RhehBSr1gunUuNW3X7j0uDrWBxB2gE9eutzy6kE3Y7L+Dov/UXT871vg==", + "license": "Apache-2.0", "dependencies": { "@smithy/property-provider": "^2.1.3", "@smithy/shared-ini-file-loader": "^2.3.4", @@ -5521,6 +5553,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.1.tgz", "integrity": "sha512-HCkb94soYhJMxPCa61wGKgmeKpJ3Gftx1XD6bcWEB2wMV1L9/SkQu/6/ysKBnbOzWRE01FGzwrTxucHypZ8rdg==", + "license": "Apache-2.0", "dependencies": { "@smithy/abort-controller": "^2.1.3", "@smithy/protocol-http": "^3.2.1", @@ -5536,6 +5569,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.3.tgz", "integrity": "sha512-bMz3se+ySKWNrgm7eIiQMa2HO/0fl2D0HvLAdg9pTMcpgp4SqOAh6bz7Ik6y7uQqSrk4rLjIKgbQ6yzYgGehCQ==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5548,6 +5582,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.1.tgz", "integrity": "sha512-KLrQkEw4yJCeAmAH7hctE8g9KwA7+H2nSJwxgwIxchbp/L0B5exTdOQi9D5HinPLlothoervGmhpYKelZ6AxIA==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5560,6 +5595,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.3.tgz", "integrity": "sha512-kFD3PnNqKELe6m9GRHQw/ftFFSZpnSeQD4qvgDB6BQN6hREHELSosVFUMPN4M3MDKN2jAwk35vXHLoDrNfKu0A==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "@smithy/util-uri-escape": "^2.1.1", @@ -5573,6 +5609,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.3.tgz", "integrity": "sha512-3+CWJoAqcBMR+yvz6D+Fc5VdoGFtfenW6wqSWATWajrRMGVwJGPT3Vy2eb2bnMktJc4HU4bpjeovFa566P3knQ==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5585,6 +5622,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.3.tgz", "integrity": "sha512-iUrpSsem97bbXHHT/v3s7vaq8IIeMo6P6cXdeYHrx0wOJpMeBGQF7CB0mbJSiTm3//iq3L55JiEm8rA7CTVI8A==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1" }, @@ -5596,6 +5634,7 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.4.tgz", "integrity": "sha512-CiZmPg9GeDKbKmJGEFvJBsJcFnh0AQRzOtQAzj1XEa8N/0/uSN/v1LYzgO7ry8hhO8+9KB7+DhSW0weqBra4Aw==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5608,6 +5647,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.3.tgz", "integrity": "sha512-Jq4iPPdCmJojZTsPePn4r1ULShh6ONkokLuxp1Lnk4Sq7r7rJp4HlA1LbPBq4bD64TIzQezIpr1X+eh5NYkNxw==", + "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-codec": "^2.1.3", "@smithy/is-array-buffer": "^2.1.1", @@ -5626,6 +5666,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.2.tgz", "integrity": "sha512-ntAFYN51zu3N3mCd95YFcFi/8rmvm//uX+HnK24CRbI6k5Rjackn0JhgKz5zOx/tbNvOpgQIwhSX+1EvEsBLbA==", + "license": "Apache-2.0", "dependencies": { "@smithy/middleware-endpoint": "^2.4.4", "@smithy/middleware-stack": "^2.1.3", @@ -5642,6 +5683,7 @@ "version": "2.10.1", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.1.tgz", "integrity": "sha512-hjQO+4ru4cQ58FluQvKKiyMsFg0A6iRpGm2kqdH8fniyNd2WyanoOsYJfMX/IFLuLxEoW6gnRkNZy1y6fUUhtA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" }, @@ -5653,6 +5695,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.3.tgz", "integrity": "sha512-X1NRA4WzK/ihgyzTpeGvI9Wn45y8HmqF4AZ/FazwAv8V203Ex+4lXqcYI70naX9ETqbqKVzFk88W6WJJzCggTQ==", + "license": "Apache-2.0", "dependencies": { "@smithy/querystring-parser": "^2.1.3", "@smithy/types": "^2.10.1", @@ -5661,8 +5704,7 @@ }, "node_modules/@smithy/util-base64": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", - "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", + "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^2.1.1", "tslib": "^2.5.0" @@ -5673,16 +5715,14 @@ }, "node_modules/@smithy/util-body-length-browser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz", - "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" } }, "node_modules/@smithy/util-body-length-node": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz", - "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" }, @@ -5692,8 +5732,7 @@ }, "node_modules/@smithy/util-buffer-from": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz", - "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==", + "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^2.1.1", "tslib": "^2.5.0" @@ -5704,8 +5743,7 @@ }, "node_modules/@smithy/util-config-provider": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz", - "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" }, @@ -5717,6 +5755,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.4.tgz", "integrity": "sha512-J6XAVY+/g7jf03QMnvqPyU+8jqGrrtXoKWFVOS+n1sz0Lg8HjHJ1ANqaDN+KTTKZRZlvG8nU5ZrJOUL6VdwgcQ==", + "license": "Apache-2.0", "dependencies": { "@smithy/property-provider": "^2.1.3", "@smithy/smithy-client": "^2.4.2", @@ -5732,6 +5771,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.3.tgz", "integrity": "sha512-ttUISrv1uVOjTlDa3nznX33f0pthoUlP+4grhTvOzcLhzArx8qHB94/untGACOG3nlf8vU20nI2iWImfzoLkYA==", + "license": "Apache-2.0", "dependencies": { "@smithy/config-resolver": "^2.1.4", "@smithy/credential-provider-imds": "^2.2.4", @@ -5749,6 +5789,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.4.tgz", "integrity": "sha512-/qAeHmK5l4yQ4/bCIJ9p49wDe9rwWtOzhPHblu386fwPNT3pxmodgcs9jDCV52yK9b4rB8o9Sj31P/7Vzka1cg==", + "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^2.2.4", "@smithy/types": "^2.10.1", @@ -5760,8 +5801,7 @@ }, "node_modules/@smithy/util-hex-encoding": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz", - "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" }, @@ -5773,6 +5813,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.3.tgz", "integrity": "sha512-/+2fm7AZ2ozl5h8wM++ZP0ovE9/tiUUAHIbCfGfb3Zd3+Dyk17WODPKXBeJ/TnK5U+x743QmA0xHzlSm8I/qhw==", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", "tslib": "^2.5.0" @@ -5785,6 +5826,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.3.tgz", "integrity": "sha512-Kbvd+GEMuozbNUU3B89mb99tbufwREcyx2BOX0X2+qHjq6Gvsah8xSDDgxISDwcOHoDqUWO425F0Uc/QIRhYkg==", + "license": "Apache-2.0", "dependencies": { "@smithy/service-error-classification": "^2.1.3", "@smithy/types": "^2.10.1", @@ -5798,6 +5840,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.3.tgz", "integrity": "sha512-HvpEQbP8raTy9n86ZfXiAkf3ezp1c3qeeO//zGqwZdrfaoOpGKQgF2Sv1IqZp7wjhna7pvczWaGUHjcOPuQwKw==", + "license": "Apache-2.0", "dependencies": { "@smithy/fetch-http-handler": "^2.4.3", "@smithy/node-http-handler": "^2.4.1", @@ -5814,8 +5857,7 @@ }, "node_modules/@smithy/util-uri-escape": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz", - "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" }, @@ -5825,8 +5867,7 @@ }, "node_modules/@smithy/util-utf8": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", - "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", + "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^2.1.1", "tslib": "^2.5.0" @@ -5839,6 +5880,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.3.tgz", "integrity": "sha512-3R0wNFAQQoH9e4m+bVLDYNOst2qNxtxFgq03WoNHWTBOqQT3jFnOBRj1W51Rf563xDA5kwqjziksxn6RKkHB+Q==", + "license": "Apache-2.0", "dependencies": { "@smithy/abort-controller": "^2.1.3", "@smithy/types": "^2.10.1", @@ -6691,8 +6733,7 @@ }, "node_modules/bowser": { "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + "license": "MIT" }, "node_modules/brace-expansion": { "version": "2.0.1", @@ -8251,8 +8292,6 @@ }, "node_modules/fast-xml-parser": { "version": "4.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", - "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", "funding": [ { "type": "paypal", @@ -8263,6 +8302,7 @@ "url": "https://github.com/sponsors/NaturalIntelligence" } ], + "license": "MIT", "dependencies": { "strnum": "^1.0.5" }, @@ -12116,14 +12156,13 @@ }, "node_modules/nanoid": { "version": "5.0.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.6.tgz", - "integrity": "sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.js" }, @@ -12133,8 +12172,7 @@ }, "node_modules/nanoid-dictionary": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/nanoid-dictionary/-/nanoid-dictionary-4.3.0.tgz", - "integrity": "sha512-Xw1+/QnRGWO1KJ0rLfU1xR85qXmAHyLbE3TUkklu9gOIDburP6CsUnLmTaNECGpBh5SHb2uPFmx0VT8UPyoeyw==" + "license": "MIT" }, "node_modules/native-duplexpair": { "version": "1.0.0", @@ -14502,8 +14540,7 @@ }, "node_modules/strnum": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + "license": "MIT" }, "node_modules/sucrase": { "version": "3.35.0", @@ -15937,13 +15974,12 @@ "uuid": "^9.0.1" }, "engines": { - "node": ">= 16" + "node": ">= 18" } }, "plugins/foreign-db-extractor/node_modules/@flatfile/listener": { "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@flatfile/listener/-/listener-0.3.19.tgz", - "integrity": "sha512-EywBIzQ2y1NjtXZdj/3EKJAnf+Kzw/o0cvCy1xj/r5HRP4O9S2qW9muIuSyhxWRQWlLyf64UKhGX1+Se++0S+A==", + "license": "MIT", "dependencies": { "@rollup/plugin-json": "^6.0.1", "@rollup/plugin-node-resolve": "^15.2.3", @@ -15959,8 +15995,7 @@ }, "plugins/foreign-db-extractor/node_modules/@flatfile/util-file-buffer": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@flatfile/util-file-buffer/-/util-file-buffer-0.1.4.tgz", - "integrity": "sha512-Xy4o4dimWa4xmKzkZw5E8mDwqVbtlaLJVuJ0FS26SjTsUluVmT3wmd0nLDP4c0LqMcbSKQ4B8qrCcdldPh+AuA==", + "license": "ISC", "dependencies": { "@flatfile/api": "^1.6.0", "@flatfile/listener": "^0.3.17" @@ -15971,8 +16006,18 @@ }, "plugins/foreign-db-extractor/node_modules/pako": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + "license": "(MIT AND Zlib)" + }, + "plugins/foreign-db-extractor/node_modules/uuid": { + "version": "9.0.1", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } }, "plugins/graphql": { "name": "@flatfile/plugin-graphql", From ce3e21eee4f1eb1ef4e24e68fe2a40baeb78d0c4 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Fri, 8 Dec 2023 09:35:13 -0600 Subject: [PATCH 05/22] feat: save connConfig obj to workbook metadata --- plugins/foreign-db-extractor/src/index.ts | 4 +--- plugins/foreign-db-extractor/src/restore.database.ts | 4 ++-- plugins/foreign-db-extractor/src/utils.ts | 4 ---- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index 2a00f5441..13c4476d2 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -10,7 +10,6 @@ import { sheetsTransformer, } from './restore.database' import { createResources } from './setup.resources' -import { generateMssqlConnectionString } from './utils' export const foreignDBExtractor = () => { return (listener: FlatfileListener) => { @@ -89,13 +88,12 @@ export const foreignDBExtractor = () => { await tick(65, 'Creating workbook') const tables = await getTablesAndColumns(connConfig) const sheets = generateSheets(tables) - const connectionString = generateMssqlConnectionString(connConfig) const workbook = await createWorkbook( spaceId, environmentId, sheets, connConfig.database, - connectionString + connConfig ) await tick(70, 'Created workbook') diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/restore.database.ts index b85294fdf..25bdbfa91 100644 --- a/plugins/foreign-db-extractor/src/restore.database.ts +++ b/plugins/foreign-db-extractor/src/restore.database.ts @@ -120,7 +120,7 @@ export async function createWorkbook( environmentId: string, sheets: Flatfile.SheetConfig[], name: string, - connectionString: string + connectionConfig: sql.config ) { const { data: workbook } = await api.workbooks.create({ name: `[file] ${name}`, @@ -130,7 +130,7 @@ export async function createWorkbook( sheets, metadata: { connectionType: 'FOREIGN_MSSQL', - connectionString, + connectionConfig, }, }) diff --git a/plugins/foreign-db-extractor/src/utils.ts b/plugins/foreign-db-extractor/src/utils.ts index 66f1eb55c..d325b6b1f 100644 --- a/plugins/foreign-db-extractor/src/utils.ts +++ b/plugins/foreign-db-extractor/src/utils.ts @@ -59,7 +59,3 @@ export function generateUsername() { return `${randomAdjective}${randomNoun}${randomNumber}` } - -export function generateMssqlConnectionString(connConfig: sql.config) { - return `Server=${connConfig.server};Port=${connConfig.options.port};User Id=${connConfig.user};Password='${connConfig.password}';Database=${connConfig.database};Encrypt=true;TrustServerCertificate=true;Connection Timeout=30;` -} From a90748c259632091cdc5fb6ecd8c9883342b9699 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Wed, 13 Dec 2023 19:29:04 -0600 Subject: [PATCH 06/22] Add index on rowid --- plugins/foreign-db-extractor/src/restore.database.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/restore.database.ts index 25bdbfa91..fdc60fa90 100644 --- a/plugins/foreign-db-extractor/src/restore.database.ts +++ b/plugins/foreign-db-extractor/src/restore.database.ts @@ -225,6 +225,8 @@ async function recordTransformer(connConfig: sql.config, tableName: string) { UPDATE ${tableName} SET rowid = NEXT VALUE FOR ${tableName}_rowid; `) + await request.query(`CREATE UNIQUE INDEX rowid_index ON ${tableName} (rowid); + `) // Count Rows console.log(`Count Rows`) From 3977eb871f8b0ddf86d012eb0bb5026118dfeded Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Thu, 21 Dec 2023 12:31:08 -0600 Subject: [PATCH 07/22] feat: more logging --- .../src/restore.database.ts | 32 +++++++++++++------ .../src/setup.resources.ts | 2 ++ 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/restore.database.ts index fdc60fa90..881b75e49 100644 --- a/plugins/foreign-db-extractor/src/restore.database.ts +++ b/plugins/foreign-db-extractor/src/restore.database.ts @@ -24,6 +24,7 @@ export async function restoreDatabaseFromBackup( // Checking if the database is available let isAvailable = false while (!isAvailable) { + //TODO needs to timeout after so many tries const result = await conn.query( `SELECT state_desc FROM sys.databases WHERE name = '${dbName}'` ) @@ -151,11 +152,18 @@ export async function sheetsTransformer( try { // Rename the table to match the sheet ID await renameTable(connConfig, sheetName, newTableName) + } catch (error) { + console.error(`Error renaming sheet ${sheetName}:`, error) + } + try { // Populate the `_flatfile_record_id` and add a `rowid` column await recordTransformer(connConfig, newTableName) } catch (error) { - console.error(`Error processing sheet ${sheetName}:`, error) + console.error( + `Error transforming rows to records in sheet ${sheetName}:`, + error + ) } } } @@ -186,7 +194,7 @@ async function renameTable( } } -// This function adds a _flatfile_record_id and rowid columns to the table +// This function adds a `_flatfile_record_id` and `rowid` columns to the table async function recordTransformer(connConfig: sql.config, tableName: string) { let conn try { @@ -203,30 +211,34 @@ async function recordTransformer(connConfig: sql.config, tableName: string) { `SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '${tableName}' AND COLUMN_NAME = '${recordIdField}'` ) if (columnCheck.recordset.length === 0) { - // Add _flatfile_record_id column to the table + // Add `_flatfile_record_id` column to the table console.log(`Add _flatfile_record_id column to the table`) await request.query( `ALTER TABLE ${tableName} ADD ${safeRecordIdField} VARCHAR(255);` ) } - // Add a `rowid` column to the table to join on later (instead of the identity column) - console.log(`Add a rowid column to the table`) + // Add a sequenial `rowid` column to the table to join on later + console.log(`Add a rowid sequence`) await request.query(` CREATE SEQUENCE ${tableName}_rowid START WITH 1 INCREMENT BY 1; `) + console.log(`Add a rowid column to the table`) await request.query(` ALTER TABLE ${tableName} ADD rowid INT; `) + console.log(`Populate the rowid column`) await request.query(` UPDATE ${tableName} SET rowid = NEXT VALUE FOR ${tableName}_rowid; `) - await request.query(`CREATE UNIQUE INDEX rowid_index ON ${tableName} (rowid); - `) + console.log(`Create an index on the rowid column`) + await request.query( + `CREATE UNIQUE INDEX rowid_index ON ${tableName} (rowid);` + ) // Count Rows console.log(`Count Rows`) @@ -234,11 +246,11 @@ async function recordTransformer(connConfig: sql.config, tableName: string) { `SELECT COUNT(*) as count FROM ${tableName};` ) const count = countsResult.recordset[0].count - + console.log(`${tableName} has ${count} rows`) // Generate record IDs const recordIds = Array.from({ length: count }, () => makeId()) - // Create a temporary ${tableName}_tmp_record_ids table + // Create a temporary `${tableName}_tmp_record_ids` table console.log(`Create a temporary ${tableName}_tmp_record_ids table`) await request.query( `CREATE TABLE ${tableName}_tmp_record_ids (id VARCHAR(255), rowid INT IDENTITY(1,1))` @@ -255,7 +267,7 @@ async function recordTransformer(connConfig: sql.config, tableName: string) { ) } - // Populate the _flatfile_record_id + // Populate the `_flatfile_record_id` console.log(`Populate the _flatfile_record_id`) let updatedRows = 0 let totalUpdated = 0 diff --git a/plugins/foreign-db-extractor/src/setup.resources.ts b/plugins/foreign-db-extractor/src/setup.resources.ts index c7db568ba..963472497 100644 --- a/plugins/foreign-db-extractor/src/setup.resources.ts +++ b/plugins/foreign-db-extractor/src/setup.resources.ts @@ -53,6 +53,7 @@ export async function createResources( await tick(10, 'Uploaded .bak file to S3') } catch (error) { console.error('Error during S3 upload:', error) + throw new Error('Error during S3 upload') } // Step 3: Create RDS Instance @@ -78,6 +79,7 @@ export async function createResources( await tick(20, 'Created RDS instance') } catch (error) { console.error('Error during RDS instance creation:', error) + throw new Error('Error during RDS instance creation') } // Wait for the RDS instance to become ready and get its endpoint and port From 6fa32c96895ba227825fe53b61b4f720759233a2 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Wed, 3 Jan 2024 10:23:14 -0600 Subject: [PATCH 08/22] feat: remove table/data transformations --- plugins/foreign-db-extractor/src/index.ts | 25 +-- plugins/foreign-db-extractor/src/make.id.ts | 33 --- .../src/restore.database.ts | 188 ------------------ .../src/setup.resources.ts | 9 +- 4 files changed, 16 insertions(+), 239 deletions(-) delete mode 100644 plugins/foreign-db-extractor/src/make.id.ts diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index 13c4476d2..4b3b3bad6 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -3,11 +3,9 @@ import FlatfileListener from '@flatfile/listener' import { getFileBuffer } from '@flatfile/util-file-buffer' import sql from 'mssql' import { - createWorkbook, generateSheets, getTablesAndColumns, restoreDatabaseFromBackup, - sheetsTransformer, } from './restore.database' import { createResources } from './setup.resources' @@ -63,7 +61,7 @@ export const foreignDBExtractor = () => { await createResources(buffer, fileName, tick) const database = fileName.replace('.bak', '') - const connConfig: sql.config = { + const connectionConfig: sql.config = { user, password, server, @@ -80,28 +78,27 @@ export const foreignDBExtractor = () => { await tick(50, 'Starting Database Restore') // Step 2: Restore DB from Backup - await restoreDatabaseFromBackup(connConfig, arn) + await restoreDatabaseFromBackup(connectionConfig, arn) await tick(55, 'Restored DB from backup') // Step 3: Create a Workbook // Get column names for all tables, loop through them and create Sheets for each table await tick(65, 'Creating workbook') - const tables = await getTablesAndColumns(connConfig) + const tables = await getTablesAndColumns(connectionConfig) const sheets = generateSheets(tables) - const workbook = await createWorkbook( + const { data: workbook } = await api.workbooks.create({ + name: `[file] ${database}`, + labels: ['file'], spaceId, environmentId, sheets, - connConfig.database, - connConfig - ) + metadata: { + connectionType: 'FOREIGN_MSSQL', + connectionConfig, + }, + }) await tick(70, 'Created workbook') - // Step 4: Apply Flatfile Record transformation - await tick(75, 'Applying Flatfile Record transformation') - await sheetsTransformer(workbook.sheets, connConfig) - await tick(80, 'Finished applying Flatfile Record transformation') - await tick(95, 'Wrapping up') await api.files.update(fileId, { workbookId: workbook.id, diff --git a/plugins/foreign-db-extractor/src/make.id.ts b/plugins/foreign-db-extractor/src/make.id.ts deleted file mode 100644 index 60d432db2..000000000 --- a/plugins/foreign-db-extractor/src/make.id.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { customAlphabet } from 'nanoid' -import { alphanumeric } from 'nanoid-dictionary' -import { v4 as uuidv4 } from 'uuid' - -// Copied from platform -export const MINIMUM_LENGTH = 8 -export const DEFAULT_LENGTH = 8 -export const MAXIMUM_LENGTH = 64 - -export function makeId(length?: number) { - const idLength = getValidLength(length) - if (idLength === 32) { - return uuidv4().replace(/-/g, '') - } - const nanoid = customAlphabet(alphanumeric, idLength) - - return nanoid(idLength) -} - -function getValidLength(providedLength?: number) { - const defaultLength = process.env.DEFAULT_ID_LENGTH - ? parseInt(process.env.DEFAULT_ID_LENGTH, 10) - : DEFAULT_LENGTH - const length = providedLength ?? defaultLength - - if (length < MINIMUM_LENGTH) { - throw new Error(`The id length must be >= ${MINIMUM_LENGTH}`) - } - if (length > MAXIMUM_LENGTH) { - throw new Error(`The id length must be <= ${MAXIMUM_LENGTH}`) - } - return length -} diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/restore.database.ts index 881b75e49..67f9a3ba2 100644 --- a/plugins/foreign-db-extractor/src/restore.database.ts +++ b/plugins/foreign-db-extractor/src/restore.database.ts @@ -1,8 +1,4 @@ -import api, { Flatfile } from '@flatfile/api' import sql from 'mssql' -import { makeId } from './make.id' - -const recordIdField = '_flatfile_record_id' export async function restoreDatabaseFromBackup( connConfig: sql.config, @@ -64,7 +60,6 @@ export async function getTablesAndColumns(connConfig: sql.config) { conn = await sql.connect(connConfig) connectionError = false console.log(`Connected to SQL. Retried ${retries} times.`) - await conn.query(`DROP TABLE Sales`) // TODO: Hack -- drop the 7 million row table on the example .bak const query = ` SELECT TABLE_NAME, COLUMN_NAME @@ -115,186 +110,3 @@ export function generateSheets(tables: object) { } }) } - -export async function createWorkbook( - spaceId: string, - environmentId: string, - sheets: Flatfile.SheetConfig[], - name: string, - connectionConfig: sql.config -) { - const { data: workbook } = await api.workbooks.create({ - name: `[file] ${name}`, - labels: ['file'], - spaceId, - environmentId, - sheets, - metadata: { - connectionType: 'FOREIGN_MSSQL', - connectionConfig, - }, - }) - - return workbook -} - -// TODO this probably should be in Platform -export async function sheetsTransformer( - sheets: Flatfile.Sheet[], - connConfig: sql.config -) { - for (let i = 0; i < sheets.length; i++) { - const sheet = sheets[i] - const parts = sheet.id.split('_') - const newTableName = parts[parts.length - 1] - const sheetName = sheet.name - - try { - // Rename the table to match the sheet ID - await renameTable(connConfig, sheetName, newTableName) - } catch (error) { - console.error(`Error renaming sheet ${sheetName}:`, error) - } - - try { - // Populate the `_flatfile_record_id` and add a `rowid` column - await recordTransformer(connConfig, newTableName) - } catch (error) { - console.error( - `Error transforming rows to records in sheet ${sheetName}:`, - error - ) - } - } -} - -async function renameTable( - connConfig: sql.config, - oldTableName: string, - newTableName: string -) { - let conn - try { - conn = await sql.connect(connConfig) - const request = conn.request() - - request.input('oldName', sql.VarChar, oldTableName) - request.input('newName', sql.VarChar, newTableName) - - await request.query(`EXEC sp_rename @oldName, @newName, 'OBJECT'`) - console.log(`Table renamed from ${oldTableName} to ${newTableName}`) - } catch (error) { - console.error('Error renaming table:', error) - throw error - } finally { - if (conn) { - conn.close() - console.log('Closed SQL connection.') - } - } -} - -// This function adds a `_flatfile_record_id` and `rowid` columns to the table -async function recordTransformer(connConfig: sql.config, tableName: string) { - let conn - try { - console.log(`Populating record IDs for table: ${tableName}`) - conn = await sql.connect(connConfig) - const request = conn.request() - - // Ensure the field name is properly enclosed in square brackets - const safeRecordIdField = `[${recordIdField}]` - - // Check if the column exists... - console.log(`Check if the column exists...`) - const columnCheck = await request.query( - `SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '${tableName}' AND COLUMN_NAME = '${recordIdField}'` - ) - if (columnCheck.recordset.length === 0) { - // Add `_flatfile_record_id` column to the table - console.log(`Add _flatfile_record_id column to the table`) - await request.query( - `ALTER TABLE ${tableName} ADD ${safeRecordIdField} VARCHAR(255);` - ) - } - - // Add a sequenial `rowid` column to the table to join on later - console.log(`Add a rowid sequence`) - await request.query(` - CREATE SEQUENCE ${tableName}_rowid - START WITH 1 - INCREMENT BY 1; - `) - console.log(`Add a rowid column to the table`) - await request.query(` - ALTER TABLE ${tableName} - ADD rowid INT; - `) - console.log(`Populate the rowid column`) - await request.query(` - UPDATE ${tableName} - SET rowid = NEXT VALUE FOR ${tableName}_rowid; - `) - console.log(`Create an index on the rowid column`) - await request.query( - `CREATE UNIQUE INDEX rowid_index ON ${tableName} (rowid);` - ) - - // Count Rows - console.log(`Count Rows`) - const countsResult = await request.query( - `SELECT COUNT(*) as count FROM ${tableName};` - ) - const count = countsResult.recordset[0].count - console.log(`${tableName} has ${count} rows`) - // Generate record IDs - const recordIds = Array.from({ length: count }, () => makeId()) - - // Create a temporary `${tableName}_tmp_record_ids` table - console.log(`Create a temporary ${tableName}_tmp_record_ids table`) - await request.query( - `CREATE TABLE ${tableName}_tmp_record_ids (id VARCHAR(255), rowid INT IDENTITY(1,1))` - ) - - // Insert RecordIds into Temporary Table in chunks - console.log(`Insert RecordIds into Temporary Table in chunks`) - const chunkSize = 1000 // Max number of rows MSSQL can insert at once - for (let i = 0; i < recordIds.length; i += chunkSize) { - const chunk = recordIds.slice(i, i + chunkSize) - const values = chunk.map((id) => `('${id}')`).join(', ') - await request.query( - `INSERT INTO ${tableName}_tmp_record_ids (id) VALUES ${values}` - ) - } - - // Populate the `_flatfile_record_id` - console.log(`Populate the _flatfile_record_id`) - let updatedRows = 0 - let totalUpdated = 0 - do { - const updateQuery = ` - UPDATE TOP (${chunkSize}) t - SET t.${safeRecordIdField} = r.id - FROM ${tableName} t - INNER JOIN ${tableName}_tmp_record_ids r ON t.rowid = r.rowid - WHERE t.${safeRecordIdField} IS NULL; - ` - const result = await request.query(updateQuery) - updatedRows = result.rowsAffected[0] - totalUpdated += updatedRows - console.log(`Updated ${updatedRows} rows. Total updated: ${totalUpdated}`) - } while (updatedRows === chunkSize) - - // Drop the temporary table - await request.query(`DROP TABLE ${tableName}_tmp_record_ids`) - console.log(`Record IDs populated for table: ${tableName}`) - } catch (error) { - console.error('Error adding record id:', error) - throw error - } finally { - if (conn) { - conn.close() - console.log('Closed SQL connection.') - } - } -} diff --git a/plugins/foreign-db-extractor/src/setup.resources.ts b/plugins/foreign-db-extractor/src/setup.resources.ts index 963472497..9915f4bea 100644 --- a/plugins/foreign-db-extractor/src/setup.resources.ts +++ b/plugins/foreign-db-extractor/src/setup.resources.ts @@ -38,11 +38,12 @@ export async function createResources( tick: (progress: number, message?: string) => Promise ) { // Step 1: Create S3 Bucket + await tick(5, 'Creating S3 bucket') const bucketName = `foreign-db-extractor-s3-bucket` await createS3BucketIfNotExists(bucketName) - await tick(5, 'Created S3 bucket') // Step 2: Upload .bak file to S3 + await tick(10, 'Uploading .bak file to S3') try { const putObjectCommand = new PutObjectCommand({ Bucket: bucketName, @@ -50,13 +51,13 @@ export async function createResources( Body: buffer, }) await s3Client.send(putObjectCommand) - await tick(10, 'Uploaded .bak file to S3') } catch (error) { console.error('Error during S3 upload:', error) throw new Error('Error during S3 upload') } // Step 3: Create RDS Instance + await tick(20, 'Creating RDS instance') const dbInstanceIdentifier = `foreign-db-extractor-${uuidv4()}` console.log(`Creating RDS instance with identifier "${dbInstanceIdentifier}"`) const user = generateUsername() @@ -76,7 +77,6 @@ export async function createResources( }) await rdsClient.send(createDBInstanceCommand) console.log('RDS instance creation initiated.') - await tick(20, 'Created RDS instance') } catch (error) { console.error('Error during RDS instance creation:', error) throw new Error('Error during RDS instance creation') @@ -87,9 +87,11 @@ export async function createResources( rdsClient, dbInstanceIdentifier ) + console.log(`RDS instance is ready at ${server}:${port}`) await tick(30, 'RDS instance is ready') // Step 4: Create a `SQLSERVER_BACKUP_RESTORE` option group for the RDS instance + await tick(40, 'Creating option group') const optionGroupName = 'sql-rds-native-backup-restore' try { const majorEngineVersion = await getMajorEngineVersion(dbInstanceIdentifier) @@ -98,7 +100,6 @@ export async function createResources( await associateOptionGroupToInstance(dbInstanceIdentifier, optionGroupName) await waitForRDSInstance(rdsClient, dbInstanceIdentifier, 'modifying') await waitForRDSInstance(rdsClient, dbInstanceIdentifier) - await tick(40, 'Option group created') } catch (error) { console.error('Error during RDS option group creation:', error) } From 04fd3f0c97b0ebd1270f0632131d6f3f554de979 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Tue, 9 Jan 2024 15:07:07 -0600 Subject: [PATCH 09/22] wip: initial hot RDS implementation --- package-lock.json | 531 ++++-------------- plugins/foreign-db-extractor/package.json | 11 +- ...estore.database.ts => database.restore.ts} | 48 ++ plugins/foreign-db-extractor/src/index.ts | 63 ++- .../src/setup.resources.ts | 252 --------- 5 files changed, 193 insertions(+), 712 deletions(-) rename plugins/foreign-db-extractor/src/{restore.database.ts => database.restore.ts} (71%) delete mode 100644 plugins/foreign-db-extractor/src/setup.resources.ts diff --git a/package-lock.json b/package-lock.json index d4ff09cb1..a772f4431 100644 --- a/package-lock.json +++ b/package-lock.json @@ -206,66 +206,8 @@ "version": "1.14.1", "license": "0BSD" }, - "node_modules/@aws-sdk/client-lambda": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.525.0.tgz", - "integrity": "sha512-Jsz2F6X6DBV962T4wTyQgP2KqsIS3Hxw6shC5653tapCrR+AK2psFpeKs9w3SQA8D0SnEOAQf/5ay4n9sL+fZw==", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/credential-provider-node": "3.525.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/eventstream-serde-browser": "^2.1.3", - "@smithy/eventstream-serde-config-resolver": "^2.1.3", - "@smithy/eventstream-serde-node": "^2.1.3", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-stream": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", - "@smithy/util-waiter": "^2.1.3", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/client-rds": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-rds/-/client-rds-3.525.0.tgz", - "integrity": "sha512-fo6TpRWFkG6A45c/tlDqk2EjDGu/TnV0p4Az6jB1XJUuD5+ti8S3k22CIecFCoo7jjHvjnCjPbYa5R6RIb2tPA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", @@ -318,8 +260,6 @@ }, "node_modules/@aws-sdk/client-s3": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.525.0.tgz", - "integrity": "sha512-hoMGH8G9rezZDiJPsMjsyRVNfVHHa4u6lcZ09SQMmtFHWK0FUcC0DIKR5ripV5qGDbnV54i2JotXlLzAv0aNCQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha1-browser": "3.0.0", @@ -387,8 +327,6 @@ }, "node_modules/@aws-sdk/client-sso": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.525.0.tgz", - "integrity": "sha512-6KwGQWFoNLH1UupdWPFdKPfTgjSz1kN8/r8aCzuvvXBe4Pz+iDUZ6FEJzGWNc9AapjvZDNO1hs23slomM9rTaA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", @@ -436,8 +374,6 @@ }, "node_modules/@aws-sdk/client-sso-oidc": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.525.0.tgz", - "integrity": "sha512-zz13k/6RkjPSLmReSeGxd8wzGiiZa4Odr2Tv3wTcxClM4wOjD+zOgGv4Fe32b9AMqaueiCdjbvdu7AKcYxFA4A==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", @@ -489,8 +425,6 @@ }, "node_modules/@aws-sdk/client-sts": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.525.0.tgz", - "integrity": "sha512-a8NUGRvO6rkfTZCbMaCsjDjLbERCwIUU9dIywFYcRgbFhkupJ7fSaZz3Het98U51M9ZbTEpaTa3fz0HaJv8VJw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", @@ -542,8 +476,6 @@ }, "node_modules/@aws-sdk/core": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.525.0.tgz", - "integrity": "sha512-E3LtEtMWCriQOFZpVKpLYzbdw/v2PAOEAMhn2VRRZ1g0/g1TXzQrfhEU2yd8l/vQEJaCJ82ooGGg7YECviBUxA==", "license": "Apache-2.0", "dependencies": { "@smithy/core": "^1.3.5", @@ -559,8 +491,6 @@ }, "node_modules/@aws-sdk/credential-provider-env": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.523.0.tgz", - "integrity": "sha512-Y6DWdH6/OuMDoNKVzZlNeBc6f1Yjk1lYMjANKpIhMbkRCvLJw/PYZKOZa8WpXbTYdgg9XLjKybnLIb3ww3uuzA==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -574,8 +504,6 @@ }, "node_modules/@aws-sdk/credential-provider-http": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.525.0.tgz", - "integrity": "sha512-RNWQGuSBQZhl3iqklOslUEfQ4br1V3DCPboMpeqFtddUWJV3m2u2extFur9/4Uy+1EHVF120IwZUKtd8dF+ibw==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -594,8 +522,6 @@ }, "node_modules/@aws-sdk/credential-provider-ini": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.525.0.tgz", - "integrity": "sha512-JDnccfK5JRb9jcgpc9lirL9PyCwGIqY0nKdw3LlX5WL5vTpTG4E1q7rLAlpNh7/tFD1n66Itarfv2tsyHMIqCw==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-sts": "3.525.0", @@ -616,8 +542,6 @@ }, "node_modules/@aws-sdk/credential-provider-node": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.525.0.tgz", - "integrity": "sha512-RJXlO8goGXpnoHQAyrCcJ0QtWEOFa34LSbfdqBIjQX/fwnjUuEmiGdXTV3AZmwYQ7juk49tfBneHbtOP3AGqsQ==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.523.0", @@ -639,8 +563,6 @@ }, "node_modules/@aws-sdk/credential-provider-process": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.523.0.tgz", - "integrity": "sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -655,8 +577,6 @@ }, "node_modules/@aws-sdk/credential-provider-sso": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.525.0.tgz", - "integrity": "sha512-7V7ybtufxdD3plxeIeB6aqHZeFIUlAyPphXIUgXrGY10iNcosL970rQPBeggsohe4gCM6UvY2TfMeEcr+ZE8FA==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-sso": "3.525.0", @@ -673,8 +593,6 @@ }, "node_modules/@aws-sdk/credential-provider-web-identity": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.525.0.tgz", - "integrity": "sha512-sAukOjR1oKb2JXG4nPpuBFpSwGUhrrY17PG/xbTy8NAoLLhrqRwnErcLfdTfmj6tH+3094k6ws/Sh8a35ae7fA==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-sts": "3.525.0", @@ -689,8 +607,6 @@ }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.525.0.tgz", - "integrity": "sha512-nYfQ2Xspfef7j8mZO7varUWLPH6HQlXateH7tBVtBNUAazyQE4UJEvC0fbQ+Y01e+FKlirim/m2umkdMXqAlTg==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -707,8 +623,6 @@ }, "node_modules/@aws-sdk/middleware-expect-continue": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.523.0.tgz", - "integrity": "sha512-E5DyRAHU39VHaAlQLqXYS/IKpgk3vsryuU6kkOcIIK8Dgw0a2tjoh5AOCaNa8pD+KgAGrFp35JIMSX1zui5diA==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -722,8 +636,6 @@ }, "node_modules/@aws-sdk/middleware-flexible-checksums": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.523.0.tgz", - "integrity": "sha512-lIa1TdWY9q4zsDFarfSnYcdrwPR+nypaU4n6hb95i620/1F5M5s6H8P0hYtwTNNvx+slrR8F3VBML9pjBtzAHw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/crc32": "3.0.0", @@ -741,8 +653,6 @@ }, "node_modules/@aws-sdk/middleware-host-header": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.523.0.tgz", - "integrity": "sha512-4g3q7Ta9sdD9TMUuohBAkbx/e3I/juTqfKi7TPgP+8jxcYX72MOsgemAMHuP6CX27eyj4dpvjH+w4SIVDiDSmg==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -756,8 +666,6 @@ }, "node_modules/@aws-sdk/middleware-location-constraint": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.523.0.tgz", - "integrity": "sha512-1QAUXX3U0jkARnU0yyjk81EO4Uw5dCeQOtvUY5s3bUOHatR3ThosQeIr6y9BCsbXHzNnDe1ytCjqAPyo8r/bYw==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -770,8 +678,6 @@ }, "node_modules/@aws-sdk/middleware-logger": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.523.0.tgz", - "integrity": "sha512-PeDNJNhfiaZx54LBaLTXzUaJ9LXFwDFFIksipjqjvxMafnoVcQwKbkoPUWLe5ytT4nnL1LogD3s55mERFUsnwg==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -784,8 +690,6 @@ }, "node_modules/@aws-sdk/middleware-recursion-detection": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.523.0.tgz", - "integrity": "sha512-nZ3Vt7ehfSDYnrcg/aAfjjvpdE+61B3Zk68i6/hSUIegT3IH9H1vSW67NDKVp+50hcEfzWwM2HMPXxlzuyFyrw==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -799,8 +703,6 @@ }, "node_modules/@aws-sdk/middleware-sdk-rds": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-rds/-/middleware-sdk-rds-3.525.0.tgz", - "integrity": "sha512-3RbR01vta/1T0/BP+hnaJ5nspb3wRDR+2TDLOm1pmj0KZTR1yQHYYYLLBtZ0n1XkK7yxtDr0FT/EWQYVSf2ibw==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -817,8 +719,6 @@ }, "node_modules/@aws-sdk/middleware-sdk-s3": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.525.0.tgz", - "integrity": "sha512-ewFyyFM6wdFTOqCiId5GQNi7owDdLEonQhB4h8tF6r3HV52bRlDvZA4aDos+ft6N/XY2J6L0qlFTFq+/oiurXw==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -837,8 +737,6 @@ }, "node_modules/@aws-sdk/middleware-signing": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.523.0.tgz", - "integrity": "sha512-pFXV4don6qcmew/OvEjLUr2foVjzoJ8o5k57Oz9yAHz8INx3RHK8MP/K4mVhHo6n0SquRcWrm4kY/Tw+89gkEA==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -855,8 +753,6 @@ }, "node_modules/@aws-sdk/middleware-ssec": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.523.0.tgz", - "integrity": "sha512-FaqAZQeF5cQzZLOIboIJRaWVOQ2F2pJZAXGF5D7nJsxYNFChotA0O0iWimBRxU35RNn7yirVxz35zQzs20ddIw==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -869,8 +765,6 @@ }, "node_modules/@aws-sdk/middleware-user-agent": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.525.0.tgz", - "integrity": "sha512-4al/6uO+t/QIYXK2OgqzDKQzzLAYJza1vWFS+S0lJ3jLNGyLB5BMU5KqWjDzevYZ4eCnz2Nn7z0FveUTNz8YdQ==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -885,8 +779,6 @@ }, "node_modules/@aws-sdk/region-config-resolver": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.525.0.tgz", - "integrity": "sha512-8kFqXk6UyKgTMi7N7QlhA6qM4pGPWbiUXqEY2RgUWngtxqNFGeM9JTexZeuavQI+qLLe09VPShPNX71fEDcM6w==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -902,8 +794,6 @@ }, "node_modules/@aws-sdk/signature-v4-multi-region": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.525.0.tgz", - "integrity": "sha512-j8gkdfiokaherRgokfZBl2azYBMHlegT7pOnR/3Y79TSz6G+bJeIkuNk8aUbJArr6R8nvAM1j4dt1rBM+efolQ==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-sdk-s3": "3.525.0", @@ -919,8 +809,6 @@ }, "node_modules/@aws-sdk/token-providers": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.525.0.tgz", - "integrity": "sha512-puVjbxuK0Dq7PTQ2HdddHy2eQjOH8GZbump74yWJa6JVpRW84LlOcNmP+79x4Kscvz2ldWB8XDFw/pcCiSDe5A==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-sso-oidc": "3.525.0", @@ -936,8 +824,6 @@ }, "node_modules/@aws-sdk/types": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.523.0.tgz", - "integrity": "sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -959,8 +845,6 @@ }, "node_modules/@aws-sdk/util-endpoints": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.525.0.tgz", - "integrity": "sha512-DIW7WWU5tIGkeeKX6NJUyrEIdWMiqjLQG3XBzaUj+ufIENwNjdAHhlD8l2vX7Yr3JZRT6yN/84wBCj7Tw1xd1g==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -974,8 +858,6 @@ }, "node_modules/@aws-sdk/util-format-url": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.523.0.tgz", - "integrity": "sha512-OWi+8bsEfxG4DvHkWauxyWVZMbYrezC49DbGDEu1lJgk9eqQALlyGkZHt9O8KKfyT/mdqQbR8qbpkxqYcGuHVA==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -999,8 +881,6 @@ }, "node_modules/@aws-sdk/util-user-agent-browser": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.523.0.tgz", - "integrity": "sha512-6ZRNdGHX6+HQFqTbIA5+i8RWzxFyxsZv8D3soRfpdyWIKkzhSz8IyRKXRciwKBJDaC7OX2jzGE90wxRQft27nA==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -1011,8 +891,6 @@ }, "node_modules/@aws-sdk/util-user-agent-node": { "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.525.0.tgz", - "integrity": "sha512-88Wjt4efyUSBGcyIuh1dvoMqY1k15jpJc5A/3yi67clBQEFsu9QCodQCQPqmRjV3VRcMtBOk+jeCTiUzTY5dRQ==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.523.0", @@ -1041,8 +919,6 @@ }, "node_modules/@aws-sdk/xml-builder": { "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.523.0.tgz", - "integrity": "sha512-wfvyVymj2TUw7SuDor9IuFcAzJZvWRBZotvY/wQJOlYa3UP3Oezzecy64N4FWfBJEsZdrTN+HOZFl+IzTWWnUA==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -1054,8 +930,7 @@ }, "node_modules/@azure/abort-controller": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", - "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", + "license": "MIT", "dependencies": { "tslib": "^2.2.0" }, @@ -1065,8 +940,7 @@ }, "node_modules/@azure/core-auth": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.6.0.tgz", - "integrity": "sha512-3X9wzaaGgRaBCwhLQZDtFp5uLIXCPrGbwJNWPPugvL4xbIGgScv77YzzxToKGLAKvG9amDoofMoP+9hsH1vs1w==", + "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-util": "^1.1.0", @@ -1078,8 +952,7 @@ }, "node_modules/@azure/core-auth/node_modules/@azure/abort-controller": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", - "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", + "license": "MIT", "dependencies": { "tslib": "^2.2.0" }, @@ -1089,8 +962,7 @@ }, "node_modules/@azure/core-client": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.8.0.tgz", - "integrity": "sha512-+gHS3gEzPlhyQBMoqVPOTeNH031R5DM/xpCvz72y38C09rg4Hui/1sJS/ujoisDZbbSHyuRLVWdFlwL0pIFwbg==", + "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.4.0", @@ -1106,8 +978,7 @@ }, "node_modules/@azure/core-client/node_modules/@azure/abort-controller": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", - "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", + "license": "MIT", "dependencies": { "tslib": "^2.2.0" }, @@ -1117,8 +988,7 @@ }, "node_modules/@azure/core-http-compat": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.0.1.tgz", - "integrity": "sha512-xpQZz/q7E0jSW4rckrTo2mDFDQgo6I69hBU4voMQi7REi6JRW5a+KfVkbJCFCWnkFmP6cAJ0IbuudTdf/MEBOQ==", + "license": "MIT", "dependencies": { "@azure/abort-controller": "^1.0.4", "@azure/core-client": "^1.3.0", @@ -1130,8 +1000,7 @@ }, "node_modules/@azure/core-lro": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.6.0.tgz", - "integrity": "sha512-PyRNcaIOfMgoUC01/24NoG+k8O81VrKxYARnDlo+Q2xji0/0/j2nIt8BwQh294pb1c5QnXTDPbNR4KzoDKXEoQ==", + "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-util": "^1.2.0", @@ -1144,8 +1013,7 @@ }, "node_modules/@azure/core-lro/node_modules/@azure/abort-controller": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", - "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", + "license": "MIT", "dependencies": { "tslib": "^2.2.0" }, @@ -1155,8 +1023,7 @@ }, "node_modules/@azure/core-paging": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.5.0.tgz", - "integrity": "sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==", + "license": "MIT", "dependencies": { "tslib": "^2.2.0" }, @@ -1166,8 +1033,7 @@ }, "node_modules/@azure/core-rest-pipeline": { "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.14.0.tgz", - "integrity": "sha512-Tp4M6NsjCmn9L5p7HsW98eSOS7A0ibl3e5ntZglozT0XuD/0y6i36iW829ZbBq0qihlGgfaeFpkLjZ418KDm1Q==", + "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.4.0", @@ -1184,8 +1050,7 @@ }, "node_modules/@azure/core-rest-pipeline/node_modules/@azure/abort-controller": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", - "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", + "license": "MIT", "dependencies": { "tslib": "^2.2.0" }, @@ -1195,8 +1060,7 @@ }, "node_modules/@azure/core-rest-pipeline/node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", "dependencies": { "debug": "4" }, @@ -1206,8 +1070,7 @@ }, "node_modules/@azure/core-rest-pipeline/node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -1222,8 +1085,7 @@ }, "node_modules/@azure/core-rest-pipeline/node_modules/http-proxy-agent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -1235,8 +1097,7 @@ }, "node_modules/@azure/core-rest-pipeline/node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -1247,13 +1108,11 @@ }, "node_modules/@azure/core-rest-pipeline/node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "license": "MIT" }, "node_modules/@azure/core-tracing": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.1.tgz", - "integrity": "sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==", + "license": "MIT", "dependencies": { "tslib": "^2.2.0" }, @@ -1263,8 +1122,7 @@ }, "node_modules/@azure/core-util": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.7.0.tgz", - "integrity": "sha512-Zq2i3QO6k9DA8vnm29mYM4G8IE9u1mhF1GUabVEqPNX8Lj833gdxQ2NAFxt2BZsfAL+e9cT8SyVN7dFVJ/Hf0g==", + "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", "tslib": "^2.2.0" @@ -1275,8 +1133,7 @@ }, "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", - "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", + "license": "MIT", "dependencies": { "tslib": "^2.2.0" }, @@ -1286,8 +1143,7 @@ }, "node_modules/@azure/identity": { "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-3.4.2.tgz", - "integrity": "sha512-0q5DL4uyR0EZ4RXQKD8MadGH6zTIcloUoS/RVbCpNpej4pwte0xpqYxk8K97Py2RiuUvI7F4GXpoT4046VfufA==", + "license": "MIT", "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/core-auth": "^1.5.0", @@ -1310,8 +1166,7 @@ }, "node_modules/@azure/keyvault-keys": { "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@azure/keyvault-keys/-/keyvault-keys-4.8.0.tgz", - "integrity": "sha512-jkuYxgkw0aaRfk40OQhFqDIupqblIOIlYESWB6DKCVDxQet1pyv86Tfk9M+5uFM0+mCs6+MUHU+Hxh3joiUn4Q==", + "license": "MIT", "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/core-auth": "^1.3.0", @@ -1331,8 +1186,7 @@ }, "node_modules/@azure/logger": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.4.tgz", - "integrity": "sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==", + "license": "MIT", "dependencies": { "tslib": "^2.2.0" }, @@ -1342,8 +1196,7 @@ }, "node_modules/@azure/msal-browser": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.10.0.tgz", - "integrity": "sha512-mnmi8dCXVNZI+AGRq0jKQ3YiodlIC4W9npr6FCB9WN6NQT+6rq+cIlxgUb//BjLyzKsnYo+i4LROGeMyU+6v1A==", + "license": "MIT", "dependencies": { "@azure/msal-common": "14.7.1" }, @@ -1353,16 +1206,14 @@ }, "node_modules/@azure/msal-common": { "version": "14.7.1", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.7.1.tgz", - "integrity": "sha512-v96btzjM7KrAu4NSEdOkhQSTGOuNUIIsUdB8wlyB9cdgl5KqEKnTonHUZ8+khvZ6Ap542FCErbnTyDWl8lZ2rA==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.6.4.tgz", - "integrity": "sha512-nNvEPx009/80UATCToF+29NZYocn01uKrB91xtFr7bSqkqO1PuQGXRyYwryWRztUrYZ1YsSbw9A+LmwOhpVvcg==", + "license": "MIT", "dependencies": { "@azure/msal-common": "14.7.1", "jsonwebtoken": "^9.0.0", @@ -1374,8 +1225,7 @@ }, "node_modules/@azure/msal-node/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -2132,29 +1982,6 @@ "version": "1.3.2", "license": "ISC" }, - "node_modules/@flatfile/id": { - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "nanoid": "^3.3.4" - } - }, - "node_modules/@flatfile/id/node_modules/nanoid": { - "version": "3.3.7", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/@flatfile/listener": { "version": "1.0.1", "license": "MIT", @@ -3083,8 +2910,7 @@ }, "node_modules/@js-joda/core": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.6.1.tgz", - "integrity": "sha512-Xla/d7ZMMR6+zRd6lTio0wRZECfcfFJP7GGe9A9L4tDOlD5CX4YcZ4YZle9w58bBYzssojVapI84RraKWDQZRg==" + "license": "BSD-3-Clause" }, "node_modules/@jsdevtools/ono": { "version": "7.1.3", @@ -5219,8 +5045,6 @@ }, "node_modules/@smithy/abort-controller": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.3.tgz", - "integrity": "sha512-c2aYH2Wu1RVE3rLlVgg2kQOBJGM0WbjReQi5DnPTm2Zb7F0gk7J2aeQeaX2u/lQZoHl6gv8Oac7mt9alU3+f4A==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5247,8 +5071,6 @@ }, "node_modules/@smithy/config-resolver": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.4.tgz", - "integrity": "sha512-AW2WUZmBAzgO3V3ovKtsUbI3aBNMeQKFDumoqkNxaVDWF/xfnxAWqBKDr/NuG7c06N2Rm4xeZLPiJH/d+na0HA==", "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^2.2.4", @@ -5263,8 +5085,6 @@ }, "node_modules/@smithy/core": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.5.tgz", - "integrity": "sha512-Rrc+e2Jj6Gu7Xbn0jvrzZlSiP2CZocIOfZ9aNUA82+1sa6GBnxqL9+iZ9EKHeD9aqD1nU8EK4+oN2EiFpSv7Yw==", "license": "Apache-2.0", "dependencies": { "@smithy/middleware-endpoint": "^2.4.4", @@ -5282,8 +5102,6 @@ }, "node_modules/@smithy/credential-provider-imds": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.4.tgz", - "integrity": "sha512-DdatjmBZQnhGe1FhI8gO98f7NmvQFSDiZTwC3WMvLTCKQUY+Y1SVkhJqIuLu50Eb7pTheoXQmK+hKYUgpUWsNA==", "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^2.2.4", @@ -5298,8 +5116,6 @@ }, "node_modules/@smithy/eventstream-codec": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.3.tgz", - "integrity": "sha512-rGlCVuwSDv6qfKH4/lRxFjcZQnIE0LZ3D4lkMHg7ZSltK9rA74r0VuGSvWVQ4N/d70VZPaniFhp4Z14QYZsa+A==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/crc32": "3.0.0", @@ -5310,8 +5126,6 @@ }, "node_modules/@smithy/eventstream-serde-browser": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.3.tgz", - "integrity": "sha512-qAgKbZ9m2oBfSyJWWurX/MvQFRPrYypj79cDSleEgDwBoez6Tfd+FTpu2L/j3ZeC3mDlDHIKWksoeaXZpLLAHw==", "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-serde-universal": "^2.1.3", @@ -5324,8 +5138,6 @@ }, "node_modules/@smithy/eventstream-serde-config-resolver": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.3.tgz", - "integrity": "sha512-48rvsNv/MgAFCxOE0qwR7ZwKhaEdDoTxqH5HM+T6SDxICmPGb7gEuQzjTxQhcieCPgqyXeZFW8cU0QJxdowuIg==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5337,8 +5149,6 @@ }, "node_modules/@smithy/eventstream-serde-node": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.3.tgz", - "integrity": "sha512-RPJWWDhj8isk3NtGfm3Xt1WdHyX9ZE42V+m1nLU1I0zZ1hEol/oawHsTnhva/VR5bn+bJ2zscx+BYr0cEPRtmg==", "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-serde-universal": "^2.1.3", @@ -5351,8 +5161,6 @@ }, "node_modules/@smithy/eventstream-serde-universal": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.3.tgz", - "integrity": "sha512-ssvSMk1LX2jRhiOVgVLGfNJXdB8SvyjieKcJDHq698Gi3LOog6g/+l7ggrN+hZxyjUiDF4cUxgKaZTBUghzhLw==", "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-codec": "^2.1.3", @@ -5365,8 +5173,6 @@ }, "node_modules/@smithy/fetch-http-handler": { "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.3.tgz", - "integrity": "sha512-Fn/KYJFo6L5I4YPG8WQb2hOmExgRmNpVH5IK2zU3JKrY5FKW7y9ar5e0BexiIC9DhSKqKX+HeWq/Y18fq7Dkpw==", "license": "Apache-2.0", "dependencies": { "@smithy/protocol-http": "^3.2.1", @@ -5378,8 +5184,6 @@ }, "node_modules/@smithy/hash-blob-browser": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.3.tgz", - "integrity": "sha512-sHLTM5xQYw5Wxz07DFo+eh1PVC6P5+kazQRF1k5nsvOhZG5VnkIy4LZ7N0ZNWqJx16g9otGd5MvqUOpb3WWtgA==", "license": "Apache-2.0", "dependencies": { "@smithy/chunked-blob-reader": "^2.1.1", @@ -5390,8 +5194,6 @@ }, "node_modules/@smithy/hash-node": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.3.tgz", - "integrity": "sha512-FsAPCUj7VNJIdHbSxMd5uiZiF20G2zdSDgrgrDrHqIs/VMxK85Vqk5kMVNNDMCZmMezp6UKnac0B4nAyx7HJ9g==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5405,8 +5207,6 @@ }, "node_modules/@smithy/hash-stream-node": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.3.tgz", - "integrity": "sha512-fWpUx2ca/u5lcD5RhNJogEG5FD7H0RDDpYmfQgxFqIUv3Ow7bZsapMukh8uzQPVO8R+NDAvSdxmgXoy4Hz8sFw==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5419,8 +5219,6 @@ }, "node_modules/@smithy/invalid-dependency": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.3.tgz", - "integrity": "sha512-wkra7d/G4CbngV4xsjYyAYOvdAhahQje/WymuQdVEnXFExJopEu7fbL5AEAlBPgWHXwu94VnCSG00gVzRfExyg==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5439,8 +5237,6 @@ }, "node_modules/@smithy/md5-js": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.3.tgz", - "integrity": "sha512-zmn3M6+mP4IJlSmXBN9964AztgkIO8b5lRzAgdJn9AdCFwA6xLkcW2B6uEnpBjvotxtQMmXTUP19tIO7NmFPpw==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5450,8 +5246,6 @@ }, "node_modules/@smithy/middleware-content-length": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.3.tgz", - "integrity": "sha512-aJduhkC+dcXxdnv5ZpM3uMmtGmVFKx412R1gbeykS5HXDmRU6oSsyy2SoHENCkfOGKAQOjVE2WVqDJibC0d21g==", "license": "Apache-2.0", "dependencies": { "@smithy/protocol-http": "^3.2.1", @@ -5464,8 +5258,6 @@ }, "node_modules/@smithy/middleware-endpoint": { "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.4.tgz", - "integrity": "sha512-4yjHyHK2Jul4JUDBo2sTsWY9UshYUnXeb/TAK/MTaPEb8XQvDmpwSFnfIRDU45RY1a6iC9LCnmJNg/yHyfxqkw==", "license": "Apache-2.0", "dependencies": { "@smithy/middleware-serde": "^2.1.3", @@ -5482,8 +5274,6 @@ }, "node_modules/@smithy/middleware-retry": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.4.tgz", - "integrity": "sha512-Cyolv9YckZTPli1EkkaS39UklonxMd08VskiuMhURDjC0HHa/AD6aK/YoD21CHv9s0QLg0WMLvk9YeLTKkXaFQ==", "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^2.2.4", @@ -5502,16 +5292,13 @@ }, "node_modules/@smithy/middleware-retry/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@smithy/middleware-serde": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.3.tgz", - "integrity": "sha512-s76LId+TwASrHhUa9QS4k/zeXDUAuNuddKklQzRgumbzge5BftVXHXIqL4wQxKGLocPwfgAOXWx+HdWhQk9hTg==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5523,8 +5310,6 @@ }, "node_modules/@smithy/middleware-stack": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.3.tgz", - "integrity": "sha512-opMFufVQgvBSld/b7mD7OOEBxF6STyraVr1xel1j0abVILM8ALJvRoFbqSWHGmaDlRGIiV9Q5cGbWi0sdiEaLQ==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5536,8 +5321,6 @@ }, "node_modules/@smithy/node-config-provider": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.4.tgz", - "integrity": "sha512-nqazHCp8r4KHSFhRQ+T0VEkeqvA0U+RhehBSr1gunUuNW3X7j0uDrWBxB2gE9eutzy6kE3Y7L+Dov/UXT871vg==", "license": "Apache-2.0", "dependencies": { "@smithy/property-provider": "^2.1.3", @@ -5551,8 +5334,6 @@ }, "node_modules/@smithy/node-http-handler": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.1.tgz", - "integrity": "sha512-HCkb94soYhJMxPCa61wGKgmeKpJ3Gftx1XD6bcWEB2wMV1L9/SkQu/6/ysKBnbOzWRE01FGzwrTxucHypZ8rdg==", "license": "Apache-2.0", "dependencies": { "@smithy/abort-controller": "^2.1.3", @@ -5567,8 +5348,6 @@ }, "node_modules/@smithy/property-provider": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.3.tgz", - "integrity": "sha512-bMz3se+ySKWNrgm7eIiQMa2HO/0fl2D0HvLAdg9pTMcpgp4SqOAh6bz7Ik6y7uQqSrk4rLjIKgbQ6yzYgGehCQ==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5580,8 +5359,6 @@ }, "node_modules/@smithy/protocol-http": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.1.tgz", - "integrity": "sha512-KLrQkEw4yJCeAmAH7hctE8g9KwA7+H2nSJwxgwIxchbp/L0B5exTdOQi9D5HinPLlothoervGmhpYKelZ6AxIA==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5593,8 +5370,6 @@ }, "node_modules/@smithy/querystring-builder": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.3.tgz", - "integrity": "sha512-kFD3PnNqKELe6m9GRHQw/ftFFSZpnSeQD4qvgDB6BQN6hREHELSosVFUMPN4M3MDKN2jAwk35vXHLoDrNfKu0A==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5607,8 +5382,6 @@ }, "node_modules/@smithy/querystring-parser": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.3.tgz", - "integrity": "sha512-3+CWJoAqcBMR+yvz6D+Fc5VdoGFtfenW6wqSWATWajrRMGVwJGPT3Vy2eb2bnMktJc4HU4bpjeovFa566P3knQ==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5620,8 +5393,6 @@ }, "node_modules/@smithy/service-error-classification": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.3.tgz", - "integrity": "sha512-iUrpSsem97bbXHHT/v3s7vaq8IIeMo6P6cXdeYHrx0wOJpMeBGQF7CB0mbJSiTm3//iq3L55JiEm8rA7CTVI8A==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1" @@ -5632,8 +5403,6 @@ }, "node_modules/@smithy/shared-ini-file-loader": { "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.4.tgz", - "integrity": "sha512-CiZmPg9GeDKbKmJGEFvJBsJcFnh0AQRzOtQAzj1XEa8N/0/uSN/v1LYzgO7ry8hhO8+9KB7+DhSW0weqBra4Aw==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5645,8 +5414,6 @@ }, "node_modules/@smithy/signature-v4": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.3.tgz", - "integrity": "sha512-Jq4iPPdCmJojZTsPePn4r1ULShh6ONkokLuxp1Lnk4Sq7r7rJp4HlA1LbPBq4bD64TIzQezIpr1X+eh5NYkNxw==", "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-codec": "^2.1.3", @@ -5664,8 +5431,6 @@ }, "node_modules/@smithy/smithy-client": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.2.tgz", - "integrity": "sha512-ntAFYN51zu3N3mCd95YFcFi/8rmvm//uX+HnK24CRbI6k5Rjackn0JhgKz5zOx/tbNvOpgQIwhSX+1EvEsBLbA==", "license": "Apache-2.0", "dependencies": { "@smithy/middleware-endpoint": "^2.4.4", @@ -5681,8 +5446,6 @@ }, "node_modules/@smithy/types": { "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.1.tgz", - "integrity": "sha512-hjQO+4ru4cQ58FluQvKKiyMsFg0A6iRpGm2kqdH8fniyNd2WyanoOsYJfMX/IFLuLxEoW6gnRkNZy1y6fUUhtA==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.5.0" @@ -5693,8 +5456,6 @@ }, "node_modules/@smithy/url-parser": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.3.tgz", - "integrity": "sha512-X1NRA4WzK/ihgyzTpeGvI9Wn45y8HmqF4AZ/FazwAv8V203Ex+4lXqcYI70naX9ETqbqKVzFk88W6WJJzCggTQ==", "license": "Apache-2.0", "dependencies": { "@smithy/querystring-parser": "^2.1.3", @@ -5753,8 +5514,6 @@ }, "node_modules/@smithy/util-defaults-mode-browser": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.4.tgz", - "integrity": "sha512-J6XAVY+/g7jf03QMnvqPyU+8jqGrrtXoKWFVOS+n1sz0Lg8HjHJ1ANqaDN+KTTKZRZlvG8nU5ZrJOUL6VdwgcQ==", "license": "Apache-2.0", "dependencies": { "@smithy/property-provider": "^2.1.3", @@ -5769,8 +5528,6 @@ }, "node_modules/@smithy/util-defaults-mode-node": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.3.tgz", - "integrity": "sha512-ttUISrv1uVOjTlDa3nznX33f0pthoUlP+4grhTvOzcLhzArx8qHB94/untGACOG3nlf8vU20nI2iWImfzoLkYA==", "license": "Apache-2.0", "dependencies": { "@smithy/config-resolver": "^2.1.4", @@ -5787,8 +5544,6 @@ }, "node_modules/@smithy/util-endpoints": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.4.tgz", - "integrity": "sha512-/qAeHmK5l4yQ4/bCIJ9p49wDe9rwWtOzhPHblu386fwPNT3pxmodgcs9jDCV52yK9b4rB8o9Sj31P/7Vzka1cg==", "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^2.2.4", @@ -5811,8 +5566,6 @@ }, "node_modules/@smithy/util-middleware": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.3.tgz", - "integrity": "sha512-/+2fm7AZ2ozl5h8wM++ZP0ovE9/tiUUAHIbCfGfb3Zd3+Dyk17WODPKXBeJ/TnK5U+x743QmA0xHzlSm8I/qhw==", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^2.10.1", @@ -5824,8 +5577,6 @@ }, "node_modules/@smithy/util-retry": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.3.tgz", - "integrity": "sha512-Kbvd+GEMuozbNUU3B89mb99tbufwREcyx2BOX0X2+qHjq6Gvsah8xSDDgxISDwcOHoDqUWO425F0Uc/QIRhYkg==", "license": "Apache-2.0", "dependencies": { "@smithy/service-error-classification": "^2.1.3", @@ -5838,8 +5589,6 @@ }, "node_modules/@smithy/util-stream": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.3.tgz", - "integrity": "sha512-HvpEQbP8raTy9n86ZfXiAkf3ezp1c3qeeO//zGqwZdrfaoOpGKQgF2Sv1IqZp7wjhna7pvczWaGUHjcOPuQwKw==", "license": "Apache-2.0", "dependencies": { "@smithy/fetch-http-handler": "^2.4.3", @@ -5878,8 +5627,6 @@ }, "node_modules/@smithy/util-waiter": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.3.tgz", - "integrity": "sha512-3R0wNFAQQoH9e4m+bVLDYNOst2qNxtxFgq03WoNHWTBOqQT3jFnOBRj1W51Rf563xDA5kwqjziksxn6RKkHB+Q==", "license": "Apache-2.0", "dependencies": { "@smithy/abort-controller": "^2.1.3", @@ -5962,13 +5709,11 @@ }, "node_modules/@tediousjs/connection-string": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@tediousjs/connection-string/-/connection-string-0.5.0.tgz", - "integrity": "sha512-7qSgZbincDDDFyRweCIEvZULFAw5iz/DeunhvuxpL31nfntX3P4Yd4HkHBRg9H8CdqY1e5WFN1PZIz/REL9MVQ==" + "license": "MIT" }, "node_modules/@tootallnate/once": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -6134,8 +5879,7 @@ }, "node_modules/@types/readable-stream": { "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.10.tgz", - "integrity": "sha512-AbUKBjcC8SHmImNi4yK2bbjogQlkFSg7shZCcicxPQapniOlajG8GCc39lvXzCWX4lLRRs7DM3VAeSlqmEVZUA==", + "license": "MIT", "dependencies": { "@types/node": "*", "safe-buffer": "~5.1.1" @@ -6143,8 +5887,7 @@ }, "node_modules/@types/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/@types/resolve": { "version": "1.20.2", @@ -6161,8 +5904,7 @@ }, "node_modules/@types/url-join": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-wDXw9LEEUHyV+7UWy7U315nrJGJ7p1BzaCxDpEoLr789Dk1WDVMMlf3iBfbG2F8NdWnYyFbtTxUn2ZNbm1Q4LQ==" + "license": "MIT" }, "node_modules/@types/yargs": { "version": "17.0.32", @@ -6177,8 +5919,7 @@ }, "node_modules/@ungap/url-search-params": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@ungap/url-search-params/-/url-search-params-0.2.2.tgz", - "integrity": "sha512-qQsguKXZVKdCixOHX9jqnX/K/1HekPDpGKyEcXHT+zR6EjGA7S4boSuelL4uuPv6YfhN0n8c4UxW+v/Z3gM2iw==" + "license": "ISC" }, "node_modules/@vercel/ncc": { "version": "0.36.1", @@ -6189,8 +5930,7 @@ }, "node_modules/abort-controller": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -6832,8 +6572,7 @@ }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "license": "BSD-3-Clause" }, "node_modules/buffer-from": { "version": "1.1.2", @@ -7610,8 +7349,7 @@ }, "node_modules/define-lazy-prop": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", "engines": { "node": ">=8" } @@ -7825,8 +7563,7 @@ }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" } @@ -7947,8 +7684,7 @@ }, "node_modules/es-aggregate-error": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.12.tgz", - "integrity": "sha512-j0PupcmELoVbYS2NNrsn5zcLLEsryQwP02x8fRawh7c2eEaPHwJFAxltZsqV7HJjsF57+SMpYyVRWgbVLfOagg==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.1", "define-properties": "^1.2.1", @@ -7968,8 +7704,7 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -8121,16 +7856,14 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -9504,8 +9237,7 @@ }, "node_modules/is-docker": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -9736,8 +9468,7 @@ }, "node_modules/is-wsl": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -11408,8 +11139,7 @@ }, "node_modules/js-md4": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz", - "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==" + "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", @@ -11428,8 +11158,7 @@ }, "node_modules/jsbi": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jsbi/-/jsbi-4.3.0.tgz", - "integrity": "sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==" + "license": "Apache-2.0" }, "node_modules/jsesc": { "version": "2.5.2", @@ -11484,8 +11213,7 @@ }, "node_modules/jsonwebtoken": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -11505,8 +11233,7 @@ }, "node_modules/jsonwebtoken/node_modules/jwa": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "license": "MIT", "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -11515,8 +11242,7 @@ }, "node_modules/jsonwebtoken/node_modules/jws": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -11524,13 +11250,11 @@ }, "node_modules/jsonwebtoken/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "license": "MIT" }, "node_modules/jwa": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", - "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "license": "MIT", "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -11539,8 +11263,7 @@ }, "node_modules/jws": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", - "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "license": "MIT", "dependencies": { "jwa": "^2.0.0", "safe-buffer": "^5.0.1" @@ -11699,33 +11422,27 @@ }, "node_modules/lodash.includes": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "license": "MIT" }, "node_modules/lodash.isboolean": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "license": "MIT" }, "node_modules/lodash.isinteger": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "license": "MIT" }, "node_modules/lodash.isnumber": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", @@ -11734,8 +11451,7 @@ }, "node_modules/lodash.once": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "license": "MIT" }, "node_modules/lodash.sortby": { "version": "4.7.0", @@ -12099,8 +11815,7 @@ }, "node_modules/mssql": { "version": "10.0.2", - "resolved": "https://registry.npmjs.org/mssql/-/mssql-10.0.2.tgz", - "integrity": "sha512-GrQ6gzv2xA7ndOvONyZ++4RZsNkr8qDiIpvuFn2pR3TPiSk/cKdmvOrDU3jWgon7EPj7CPgmDiMh7Hgtft2xLg==", + "license": "MIT", "dependencies": { "@tediousjs/connection-string": "^0.5.0", "commander": "^11.0.0", @@ -12118,16 +11833,14 @@ }, "node_modules/mssql/node_modules/commander": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", "engines": { "node": ">=16" } }, "node_modules/mssql/node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -12142,8 +11855,7 @@ }, "node_modules/mssql/node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "license": "MIT" }, "node_modules/mz": { "version": "2.7.0", @@ -12154,30 +11866,9 @@ "thenify-all": "^1.0.0" } }, - "node_modules/nanoid": { - "version": "5.0.6", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.js" - }, - "engines": { - "node": "^18 || >=20" - } - }, - "node_modules/nanoid-dictionary": { - "version": "4.3.0", - "license": "MIT" - }, "node_modules/native-duplexpair": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz", - "integrity": "sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA==" + "license": "MIT" }, "node_modules/natural-compare": { "version": "1.4.0", @@ -12229,8 +11920,7 @@ }, "node_modules/node-abort-controller": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + "license": "MIT" }, "node_modules/node-addon-api": { "version": "7.0.0", @@ -12430,8 +12120,7 @@ }, "node_modules/open": { "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -13128,8 +12817,7 @@ }, "node_modules/process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", "engines": { "node": ">= 0.6.0" } @@ -13690,8 +13378,7 @@ }, "node_modules/rfdc": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", - "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" + "license": "MIT" }, "node_modules/rollup": { "version": "4.12.0", @@ -14382,8 +14069,7 @@ }, "node_modules/stoppable": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", - "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "license": "MIT", "engines": { "node": ">=4", "npm": ">=6" @@ -14712,16 +14398,14 @@ }, "node_modules/tarn": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", - "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", + "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/tedious": { "version": "16.7.1", - "resolved": "https://registry.npmjs.org/tedious/-/tedious-16.7.1.tgz", - "integrity": "sha512-NmedZS0NJiTv3CoYnf1FtjxIDUgVYzEmavrc8q2WHRb+lP4deI9BpQfmNnBZZaWusDbP5FVFZCcvzb3xOlNVlQ==", + "license": "MIT", "dependencies": { "@azure/identity": "^3.4.1", "@azure/keyvault-keys": "^4.4.0", @@ -14741,8 +14425,7 @@ }, "node_modules/tedious/node_modules/bl": { "version": "6.0.11", - "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.11.tgz", - "integrity": "sha512-Ok/NWrEA0mlEEbWzckkZVLq6Nv1m2xZ+i9Jq5hZ9Ph/YEcP5dExqls9wUzpluhQRPzdeT8oZNOXAytta6YN8pQ==", + "license": "MIT", "dependencies": { "@types/readable-stream": "^4.0.0", "buffer": "^6.0.3", @@ -14752,8 +14435,6 @@ }, "node_modules/tedious/node_modules/buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -14768,6 +14449,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -14775,8 +14457,7 @@ }, "node_modules/tedious/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -14786,8 +14467,7 @@ }, "node_modules/tedious/node_modules/readable-stream": { "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -14801,8 +14481,7 @@ }, "node_modules/tedious/node_modules/sprintf-js": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + "license": "BSD-3-Clause" }, "node_modules/term-size": { "version": "2.2.1", @@ -15475,12 +15154,11 @@ }, "node_modules/uuid": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -15961,36 +15639,30 @@ "version": "0.0.0", "license": "ISC", "dependencies": { - "@aws-sdk/client-lambda": "^3.460.0", "@aws-sdk/client-rds": "^3.458.0", "@aws-sdk/client-s3": "^3.458.0", - "@flatfile/api": "^1.5.37", - "@flatfile/id": "^1.0.0", - "@flatfile/listener": "^0.3.17", + "@flatfile/api": "^1.6.3", + "@flatfile/listener": "^0.4.0", "@flatfile/util-file-buffer": "^0.1.3", - "mssql": "^10.0.1", - "nanoid": "^5.0.3", - "nanoid-dictionary": "^4.3.0", - "uuid": "^9.0.1" + "mssql": "^10.0.1" }, "engines": { "node": ">= 18" } }, "plugins/foreign-db-extractor/node_modules/@flatfile/listener": { - "version": "0.3.19", - "license": "MIT", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@flatfile/listener/-/listener-0.4.2.tgz", + "integrity": "sha512-2p0vlAlQ+FnMo5uC1oHdNwJWSlmNKmo/2HVA3Ued3h1nzmu5Zaag/kb+9rerRbxS1sSnyl/Kht6Mr/HWGXKJtA==", "dependencies": { - "@rollup/plugin-json": "^6.0.1", - "@rollup/plugin-node-resolve": "^15.2.3", "ansi-colors": "^4.1.3", + "cross-fetch": "^4.0.0", "flat": "^5.0.2", "pako": "^2.1.0", "wildcard-match": "^5.1.2" }, "peerDependencies": { - "@flatfile/api": "^1.5.10", - "axios": "^1.4.0" + "@flatfile/api": "^1.5.10" } }, "plugins/foreign-db-extractor/node_modules/@flatfile/util-file-buffer": { @@ -16004,21 +15676,27 @@ "node": ">= 16" } }, + "plugins/foreign-db-extractor/node_modules/@flatfile/util-file-buffer/node_modules/@flatfile/listener": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@flatfile/listener/-/listener-0.3.19.tgz", + "integrity": "sha512-EywBIzQ2y1NjtXZdj/3EKJAnf+Kzw/o0cvCy1xj/r5HRP4O9S2qW9muIuSyhxWRQWlLyf64UKhGX1+Se++0S+A==", + "dependencies": { + "@rollup/plugin-json": "^6.0.1", + "@rollup/plugin-node-resolve": "^15.2.3", + "ansi-colors": "^4.1.3", + "flat": "^5.0.2", + "pako": "^2.1.0", + "wildcard-match": "^5.1.2" + }, + "peerDependencies": { + "@flatfile/api": "^1.5.10", + "axios": "^1.4.0" + } + }, "plugins/foreign-db-extractor/node_modules/pako": { "version": "2.1.0", "license": "(MIT AND Zlib)" }, - "plugins/foreign-db-extractor/node_modules/uuid": { - "version": "9.0.1", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "plugins/graphql": { "name": "@flatfile/plugin-graphql", "version": "0.0.2", @@ -16090,8 +15768,6 @@ }, "plugins/merge-connection/node_modules/@mergeapi/merge-node-client": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@mergeapi/merge-node-client/-/merge-node-client-0.1.8.tgz", - "integrity": "sha512-fU3fwTrFRC1Z2rTo8D8TpMGsh+ZRynfRbTF9pPS6WB/DA5HAOgr3IILWvyqLR6fXFSSAUt+uxTFcHPYnW+D4TQ==", "dependencies": { "@types/url-join": "4.0.1", "@ungap/url-search-params": "0.2.2", @@ -16102,8 +15778,7 @@ }, "plugins/merge-connection/node_modules/@mergeapi/merge-node-client/node_modules/axios": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" diff --git a/plugins/foreign-db-extractor/package.json b/plugins/foreign-db-extractor/package.json index 3a71ba065..89c8cf819 100644 --- a/plugins/foreign-db-extractor/package.json +++ b/plugins/foreign-db-extractor/package.json @@ -28,16 +28,11 @@ "type": "module", "license": "ISC", "dependencies": { - "@aws-sdk/client-lambda": "^3.460.0", "@aws-sdk/client-rds": "^3.458.0", "@aws-sdk/client-s3": "^3.458.0", - "@flatfile/api": "^1.5.37", - "@flatfile/id": "^1.0.0", - "@flatfile/listener": "^0.3.17", + "@flatfile/api": "^1.6.3", + "@flatfile/listener": "^0.4.0", "@flatfile/util-file-buffer": "^0.1.3", - "mssql": "^10.0.1", - "nanoid": "^5.0.3", - "nanoid-dictionary": "^4.3.0", - "uuid": "^9.0.1" + "mssql": "^10.0.1" } } diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/database.restore.ts similarity index 71% rename from plugins/foreign-db-extractor/src/restore.database.ts rename to plugins/foreign-db-extractor/src/database.restore.ts index 67f9a3ba2..aa6c15225 100644 --- a/plugins/foreign-db-extractor/src/restore.database.ts +++ b/plugins/foreign-db-extractor/src/database.restore.ts @@ -1,5 +1,32 @@ +import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3' import sql from 'mssql' +const s3Client = new S3Client({ + region: 'us-west-2', + credentials: { + accessKeyId: process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, + }, +}) + +export async function uploadFileToS3Bucket( + bucketName: string, + buffer: Buffer, + fileName: string +) { + try { + const putObjectCommand = new PutObjectCommand({ + Bucket: bucketName, + Key: fileName, + Body: buffer, + }) + await s3Client.send(putObjectCommand) + } catch (error) { + console.error('Error during S3 upload:', error) + throw new Error('Error during S3 upload') + } +} + export async function restoreDatabaseFromBackup( connConfig: sql.config, s3Arn: string @@ -110,3 +137,24 @@ export function generateSheets(tables: object) { } }) } + +export async function renameDatabase( + connConfig: sql.config, + oldName: string, + newName: string +) { + let conn + try { + conn = await sql.connect({ ...connConfig, database: 'master' }) + const renameDbCommand = `EXECUTE rdsadmin.dbo.rds_modify_db_name N'${oldName}', N'${newName}'` + await conn.query(renameDbCommand) + console.log(`Database ${oldName} renamed to ${newName} in RDS instance.`) + } catch (error) { + console.error('Error during database rename in RDS:', error) + throw new Error('Error during database rename in RDS') + } finally { + if (conn) { + conn.close() + } + } +} diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index 4b3b3bad6..bbd6edd3c 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -5,9 +5,10 @@ import sql from 'mssql' import { generateSheets, getTablesAndColumns, + renameDatabase, restoreDatabaseFromBackup, -} from './restore.database' -import { createResources } from './setup.resources' + uploadFileToS3Bucket, +} from './database.restore' export const foreignDBExtractor = () => { return (listener: FlatfileListener) => { @@ -15,12 +16,12 @@ export const foreignDBExtractor = () => { listener.on('file:created', async (event) => { const { data: file } = await api.files.get(event.context.fileId) if (file.mode === 'export') { - return false + return } // Filter on MSSQL backup file type if (!file.name.endsWith('.bak')) { - return false + return } const jobs = await api.jobs.create({ @@ -56,34 +57,32 @@ export const foreignDBExtractor = () => { await tick(0, 'Retrieving file') const buffer = await getFileBuffer(event) - // Step 1: Create AWS resources - const { server, port, bucketName, user, password } = - await createResources(buffer, fileName, tick) + // Step 1: Upload file to S3 + await tick(20, 'Uploading file to S3 bucket') + const bucketName = `foreign-db-extractor-s3-bucket` + await uploadFileToS3Bucket(bucketName, buffer, fileName) + // Step 2: Restore DB from Backup + await tick(30, 'Restoring database') const database = fileName.replace('.bak', '') + // TODO: Move this to a config file const connectionConfig: sql.config = { - user, - password, - server, + user: 'QuickFalcon0798', + password: 'q,Bj{~Q]?56J', + server: + 'foreign-mssql-db-instance.c3buptdb8fco.us-west-2.rds.amazonaws.com', database, - options: { - port, - trustServerCertificate: true, - }, - connectionTimeout: 30_000, - requestTimeout: 90_000, - timeout: 15_000, + options: { port: 1433, trustServerCertificate: true }, + connectionTimeout: 30000, + requestTimeout: 90000, + timeout: 15000, } const arn = `arn:aws:s3:::${bucketName}/${fileName}` - await tick(50, 'Starting Database Restore') - - // Step 2: Restore DB from Backup await restoreDatabaseFromBackup(connectionConfig, arn) - await tick(55, 'Restored DB from backup') // Step 3: Create a Workbook // Get column names for all tables, loop through them and create Sheets for each table - await tick(65, 'Creating workbook') + await tick(40, 'Creating workbook') const tables = await getTablesAndColumns(connectionConfig) const sheets = generateSheets(tables) const { data: workbook } = await api.workbooks.create({ @@ -97,9 +96,25 @@ export const foreignDBExtractor = () => { connectionConfig, }, }) - await tick(70, 'Created workbook') - await tick(95, 'Wrapping up') + // Step 4: Rename database to workbookId + await tick(50, 'Renaming database') + await renameDatabase(connectionConfig, database, workbook.id) + + // Step 5: Update workbook with new DB name in connection config + await tick(60, 'Updating workbook connection config') + await api.workbooks.update(workbook.id, { + metadata: { + connectionType: 'FOREIGN_MSSQL', + connectionConfig: { + ...connectionConfig, + database: workbook.id, + }, + }, + }) + + // Step 6: Update file with workbookId + await tick(70, 'Updating file') await api.files.update(fileId, { workbookId: workbook.id, }) diff --git a/plugins/foreign-db-extractor/src/setup.resources.ts b/plugins/foreign-db-extractor/src/setup.resources.ts deleted file mode 100644 index 9915f4bea..000000000 --- a/plugins/foreign-db-extractor/src/setup.resources.ts +++ /dev/null @@ -1,252 +0,0 @@ -import { - CreateDBInstanceCommand, - CreateOptionGroupCommand, - DescribeDBInstancesCommand, - ModifyDBInstanceCommand, - ModifyOptionGroupCommand, - RDSClient, -} from '@aws-sdk/client-rds' -import { - CreateBucketCommand, - HeadBucketCommand, - PutObjectCommand, - S3Client, -} from '@aws-sdk/client-s3' -import { Flatfile } from '@flatfile/api' -import { v4 as uuidv4 } from 'uuid' -import { generatePassword, generateUsername } from './utils' - -const s3Client = new S3Client({ - region: 'us-west-2', - credentials: { - accessKeyId: process.env.AWS_ACCESS_KEY_ID, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, - }, -}) - -const rdsClient = new RDSClient({ - region: 'us-west-2', - credentials: { - accessKeyId: process.env.AWS_ACCESS_KEY_ID, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, - }, -}) - -export async function createResources( - buffer: Buffer, - fileName: string, - tick: (progress: number, message?: string) => Promise -) { - // Step 1: Create S3 Bucket - await tick(5, 'Creating S3 bucket') - const bucketName = `foreign-db-extractor-s3-bucket` - await createS3BucketIfNotExists(bucketName) - - // Step 2: Upload .bak file to S3 - await tick(10, 'Uploading .bak file to S3') - try { - const putObjectCommand = new PutObjectCommand({ - Bucket: bucketName, - Key: fileName, - Body: buffer, - }) - await s3Client.send(putObjectCommand) - } catch (error) { - console.error('Error during S3 upload:', error) - throw new Error('Error during S3 upload') - } - - // Step 3: Create RDS Instance - await tick(20, 'Creating RDS instance') - const dbInstanceIdentifier = `foreign-db-extractor-${uuidv4()}` - console.log(`Creating RDS instance with identifier "${dbInstanceIdentifier}"`) - const user = generateUsername() - console.log(`Creating RDS instance with username "${user}"`) - const password = generatePassword() - console.log(`Creating RDS instance with password "${password}"`) - try { - const createDBInstanceCommand = new CreateDBInstanceCommand({ - DBInstanceIdentifier: dbInstanceIdentifier, - AllocatedStorage: 20, - DBInstanceClass: 'db.t3.micro', - Engine: 'sqlserver-ex', - MasterUsername: user, - MasterUserPassword: password, - BackupRetentionPeriod: 0, - PubliclyAccessible: true, - }) - await rdsClient.send(createDBInstanceCommand) - console.log('RDS instance creation initiated.') - } catch (error) { - console.error('Error during RDS instance creation:', error) - throw new Error('Error during RDS instance creation') - } - - // Wait for the RDS instance to become ready and get its endpoint and port - const { server, port } = await waitForRDSInstance( - rdsClient, - dbInstanceIdentifier - ) - console.log(`RDS instance is ready at ${server}:${port}`) - await tick(30, 'RDS instance is ready') - - // Step 4: Create a `SQLSERVER_BACKUP_RESTORE` option group for the RDS instance - await tick(40, 'Creating option group') - const optionGroupName = 'sql-rds-native-backup-restore' - try { - const majorEngineVersion = await getMajorEngineVersion(dbInstanceIdentifier) - await createOptionGroup(optionGroupName, majorEngineVersion) - await addBackupRestoreOption(optionGroupName) - await associateOptionGroupToInstance(dbInstanceIdentifier, optionGroupName) - await waitForRDSInstance(rdsClient, dbInstanceIdentifier, 'modifying') - await waitForRDSInstance(rdsClient, dbInstanceIdentifier) - } catch (error) { - console.error('Error during RDS option group creation:', error) - } - - return { - server, - port, - bucketName, - user, - password, - } -} - -async function createS3BucketIfNotExists(bucketName: string) { - try { - // Check if the bucket already exists and is owned by you - const headBucketCommand = new HeadBucketCommand({ Bucket: bucketName }) - await s3Client.send(headBucketCommand) - - console.log(`Bucket "${bucketName}" already exists and is owned by you.`) - } catch (error) { - if (error.name === 'NotFound' || error.name === 'NoSuchBucket') { - // Bucket does not exist, create it - const createBucketCommand = new CreateBucketCommand({ - Bucket: bucketName, - }) - await s3Client.send(createBucketCommand) - console.log(`Bucket "${bucketName}" created.`) - } else { - // Other errors - throw error - } - } -} - -async function waitForRDSInstance( - rdsClient: RDSClient, - dbInstanceIdentifier: string, - status: string = 'available' -): Promise<{ server: string; port: number }> { - let instanceReady = false - let server = '' - let port = 0 - await new Promise((resolve) => setTimeout(resolve, 30_000)) - while (!instanceReady) { - const describeCommand = new DescribeDBInstancesCommand({ - DBInstanceIdentifier: dbInstanceIdentifier, - }) - const response = await rdsClient.send(describeCommand) - const dbInstance = response.DBInstances[0] - const dbInstanceStatus = dbInstance.DBInstanceStatus - - if (dbInstanceStatus === status) { - instanceReady = true - server = dbInstance.Endpoint.Address - port = dbInstance.Endpoint.Port - console.log(`RDS instance is ${status}.`) - } else { - console.log( - `Waiting for RDS instance to be ${status}... Current status: ${dbInstanceStatus}` - ) - await new Promise((resolve) => setTimeout(resolve, 30_000)) - } - } - - return { server, port } -} - -async function getMajorEngineVersion( - instanceIdentifier: string -): Promise { - const command = new DescribeDBInstancesCommand({ - DBInstanceIdentifier: instanceIdentifier, - }) - - const response = await rdsClient.send(command) - const dbInstance = response.DBInstances[0] - const fullEngineVersion = dbInstance.EngineVersion - const majorEngineVersion = - fullEngineVersion.split('.')[0] + '.' + fullEngineVersion.split('.')[1] - - return majorEngineVersion -} - -async function createOptionGroup( - optionGroupName: string, - engineVersion: string -) { - const createOptionGroupParams = { - OptionGroupName: optionGroupName, - EngineName: 'sqlserver-ex', - MajorEngineVersion: engineVersion, - OptionGroupDescription: 'Option group for SQL Server Backup and Restore', - } - - try { - await rdsClient.send(new CreateOptionGroupCommand(createOptionGroupParams)) - console.log('Option Group Created') - } catch (error) { - if (error.name === 'OptionGroupAlreadyExistsFault') { - console.log('Option Group already exists') - } else { - console.error('Error creating option group:', error) - throw error - } - } -} - -async function addBackupRestoreOption(optionGroupName: string) { - const addOptionParams = { - OptionGroupName: optionGroupName, - OptionsToInclude: [ - { - OptionName: 'SQLSERVER_BACKUP_RESTORE', - OptionSettings: [ - { - Name: 'IAM_ROLE_ARN', - Value: process.env.AWS_RESTORE_ROLE_ARN, - }, - ], - }, - ], - ApplyImmediately: true, - } - - try { - await rdsClient.send(new ModifyOptionGroupCommand(addOptionParams)) - console.log('Option Added') - } catch (error) { - console.error('Error', error) - } -} - -async function associateOptionGroupToInstance( - dbInstanceIdentifier: string, - optionGroupName: string -) { - const modifyDbInstanceParams = { - DBInstanceIdentifier: dbInstanceIdentifier, - OptionGroupName: optionGroupName, - ApplyImmediately: true, - } - - try { - await rdsClient.send(new ModifyDBInstanceCommand(modifyDbInstanceParams)) - console.log('Option Group Association Initiated') - } catch (error) { - console.error('Error', error) - } -} From 578dc74a2cb2c9508c7e179d611858f7df4e8d6a Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Tue, 9 Jan 2024 16:41:00 -0600 Subject: [PATCH 10/22] fix: use env vars --- plugins/foreign-db-extractor/src/index.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index bbd6edd3c..602df3f75 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -67,10 +67,9 @@ export const foreignDBExtractor = () => { const database = fileName.replace('.bak', '') // TODO: Move this to a config file const connectionConfig: sql.config = { - user: 'QuickFalcon0798', - password: 'q,Bj{~Q]?56J', - server: - 'foreign-mssql-db-instance.c3buptdb8fco.us-west-2.rds.amazonaws.com', + user: process.env.FOREIGN_MSSQL_USER, + password: process.env.FOREIGN_MSSQL_PASSWORD, + server: process.env.FOREIGN_MSSQL_SERVER, database, options: { port: 1433, trustServerCertificate: true }, connectionTimeout: 30000, From 5b330ac876ab63f8fed9f8030b3ee1d1b423f391 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Tue, 9 Jan 2024 16:51:27 -0600 Subject: [PATCH 11/22] feat: add some retry logic to renaming db --- .../src/database.restore.ts | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/plugins/foreign-db-extractor/src/database.restore.ts b/plugins/foreign-db-extractor/src/database.restore.ts index aa6c15225..e5f89d020 100644 --- a/plugins/foreign-db-extractor/src/database.restore.ts +++ b/plugins/foreign-db-extractor/src/database.restore.ts @@ -144,17 +144,30 @@ export async function renameDatabase( newName: string ) { let conn - try { - conn = await sql.connect({ ...connConfig, database: 'master' }) - const renameDbCommand = `EXECUTE rdsadmin.dbo.rds_modify_db_name N'${oldName}', N'${newName}'` - await conn.query(renameDbCommand) - console.log(`Database ${oldName} renamed to ${newName} in RDS instance.`) - } catch (error) { - console.error('Error during database rename in RDS:', error) - throw new Error('Error during database rename in RDS') - } finally { - if (conn) { - conn.close() + let connectionError = true + let retries = 0 + while (connectionError && retries < 6) { + try { + conn = await sql.connect({ ...connConfig, database: 'master' }) + connectionError = false + const renameDbCommand = `EXECUTE rdsadmin.dbo.rds_modify_db_name N'${oldName}', N'${newName}'` + await conn.query(renameDbCommand) + console.log(`Database ${oldName} renamed to ${newName} in RDS instance.`) + } catch (error) { + console.error('Error during database rename in RDS:', error) + if (error.name === 'ConnectionError') { + console.log('Waiting for SQL connection to be available...') + retries++ + await new Promise((resolve) => setTimeout(resolve, 15_000)) + } else { + console.error('Error during database rename in RDS:', error) + throw error + } + } finally { + if (conn) { + conn.close() + console.log('Closed SQL connection.') + } } } } From 9506f0f74ccb7a1544f71d5b475a0861e05cab4d Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Thu, 11 Jan 2024 10:16:57 -0600 Subject: [PATCH 12/22] feat: improve comments --- plugins/foreign-db-extractor/src/database.restore.ts | 2 +- plugins/foreign-db-extractor/src/index.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/foreign-db-extractor/src/database.restore.ts b/plugins/foreign-db-extractor/src/database.restore.ts index e5f89d020..b15357d39 100644 --- a/plugins/foreign-db-extractor/src/database.restore.ts +++ b/plugins/foreign-db-extractor/src/database.restore.ts @@ -148,7 +148,7 @@ export async function renameDatabase( let retries = 0 while (connectionError && retries < 6) { try { - conn = await sql.connect({ ...connConfig, database: 'master' }) + conn = await sql.connect({ ...connConfig, database: 'master' }) // Connecting to the master database to execute rename command connectionError = false const renameDbCommand = `EXECUTE rdsadmin.dbo.rds_modify_db_name N'${oldName}', N'${newName}'` await conn.query(renameDbCommand) diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index 602df3f75..4dbac80c0 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -54,6 +54,7 @@ export const foreignDBExtractor = () => { const job = await api.jobs.get(jobId) const { fileName } = job.data.input + //Step 0: Get file buffer await tick(0, 'Retrieving file') const buffer = await getFileBuffer(event) @@ -64,8 +65,10 @@ export const foreignDBExtractor = () => { // Step 2: Restore DB from Backup await tick(30, 'Restoring database') + // We are expecting to retrieve the database name from the file name const database = fileName.replace('.bak', '') - // TODO: Move this to a config file + // Connection config for hot RDS instance + // The restore requires access to the master database const connectionConfig: sql.config = { user: process.env.FOREIGN_MSSQL_USER, password: process.env.FOREIGN_MSSQL_PASSWORD, From 208f7be6529f631de01b094f8fdc86d3f91f4fe3 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Fri, 19 Jan 2024 15:04:20 -0600 Subject: [PATCH 13/22] feat: set database name to workbookId on creation & reorganize code --- package-lock.json | 47 +++---- plugins/foreign-db-extractor/package.json | 6 +- .../src/database.restore.ts | 125 +----------------- .../src/generate.sheets.ts | 63 +++++++++ plugins/foreign-db-extractor/src/index.ts | 62 ++++----- plugins/foreign-db-extractor/src/put.s3.ts | 27 ++++ 6 files changed, 136 insertions(+), 194 deletions(-) create mode 100644 plugins/foreign-db-extractor/src/generate.sheets.ts create mode 100644 plugins/foreign-db-extractor/src/put.s3.ts diff --git a/package-lock.json b/package-lock.json index a772f4431..e11e4112e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4896,6 +4896,7 @@ }, "node_modules/@rollup/plugin-json": { "version": "6.1.0", + "dev": true, "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.1.0" @@ -8319,6 +8320,17 @@ "node": ">=4.2.0" } }, + "node_modules/flatfile/node_modules/uuid": { + "version": "9.0.1", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/follow-redirects": { "version": "1.15.5", "funding": [ @@ -15152,17 +15164,6 @@ "node": ">= 0.4.0" } }, - "node_modules/uuid": { - "version": "9.0.1", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/v8-to-istanbul": { "version": "9.2.0", "dev": true, @@ -15639,11 +15640,11 @@ "version": "0.0.0", "license": "ISC", "dependencies": { - "@aws-sdk/client-rds": "^3.458.0", - "@aws-sdk/client-s3": "^3.458.0", + "@aws-sdk/client-rds": "^3.496.0", + "@aws-sdk/client-s3": "^3.496.0", "@flatfile/api": "^1.6.3", "@flatfile/listener": "^0.4.0", - "@flatfile/util-file-buffer": "^0.1.3", + "@flatfile/util-file-buffer": "^0.2.0", "mssql": "^10.0.1" }, "engines": { @@ -15652,8 +15653,7 @@ }, "plugins/foreign-db-extractor/node_modules/@flatfile/listener": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@flatfile/listener/-/listener-0.4.2.tgz", - "integrity": "sha512-2p0vlAlQ+FnMo5uC1oHdNwJWSlmNKmo/2HVA3Ued3h1nzmu5Zaag/kb+9rerRbxS1sSnyl/Kht6Mr/HWGXKJtA==", + "license": "MIT", "dependencies": { "ansi-colors": "^4.1.3", "cross-fetch": "^4.0.0", @@ -15665,21 +15665,10 @@ "@flatfile/api": "^1.5.10" } }, - "plugins/foreign-db-extractor/node_modules/@flatfile/util-file-buffer": { - "version": "0.1.4", - "license": "ISC", - "dependencies": { - "@flatfile/api": "^1.6.0", - "@flatfile/listener": "^0.3.17" - }, - "engines": { - "node": ">= 16" - } - }, "plugins/foreign-db-extractor/node_modules/@flatfile/util-file-buffer/node_modules/@flatfile/listener": { "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@flatfile/listener/-/listener-0.3.19.tgz", - "integrity": "sha512-EywBIzQ2y1NjtXZdj/3EKJAnf+Kzw/o0cvCy1xj/r5HRP4O9S2qW9muIuSyhxWRQWlLyf64UKhGX1+Se++0S+A==", + "extraneous": true, + "license": "MIT", "dependencies": { "@rollup/plugin-json": "^6.0.1", "@rollup/plugin-node-resolve": "^15.2.3", diff --git a/plugins/foreign-db-extractor/package.json b/plugins/foreign-db-extractor/package.json index 89c8cf819..5f4bfa8e8 100644 --- a/plugins/foreign-db-extractor/package.json +++ b/plugins/foreign-db-extractor/package.json @@ -28,11 +28,11 @@ "type": "module", "license": "ISC", "dependencies": { - "@aws-sdk/client-rds": "^3.458.0", - "@aws-sdk/client-s3": "^3.458.0", + "@aws-sdk/client-rds": "^3.496.0", + "@aws-sdk/client-s3": "^3.496.0", "@flatfile/api": "^1.6.3", "@flatfile/listener": "^0.4.0", - "@flatfile/util-file-buffer": "^0.1.3", + "@flatfile/util-file-buffer": "^0.2.0", "mssql": "^10.0.1" } } diff --git a/plugins/foreign-db-extractor/src/database.restore.ts b/plugins/foreign-db-extractor/src/database.restore.ts index b15357d39..b590a33bc 100644 --- a/plugins/foreign-db-extractor/src/database.restore.ts +++ b/plugins/foreign-db-extractor/src/database.restore.ts @@ -1,32 +1,5 @@ -import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3' import sql from 'mssql' -const s3Client = new S3Client({ - region: 'us-west-2', - credentials: { - accessKeyId: process.env.AWS_ACCESS_KEY_ID, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, - }, -}) - -export async function uploadFileToS3Bucket( - bucketName: string, - buffer: Buffer, - fileName: string -) { - try { - const putObjectCommand = new PutObjectCommand({ - Bucket: bucketName, - Key: fileName, - Body: buffer, - }) - await s3Client.send(putObjectCommand) - } catch (error) { - console.error('Error during S3 upload:', error) - throw new Error('Error during S3 upload') - } -} - export async function restoreDatabaseFromBackup( connConfig: sql.config, s3Arn: string @@ -34,7 +7,8 @@ export async function restoreDatabaseFromBackup( let conn const dbName = connConfig.database try { - conn = await sql.connect({ ...connConfig, database: 'master' }) // Connecting to the master database to execute restore command + // Connecting to the master database to execute restore command + conn = await sql.connect({ ...connConfig, database: 'master' }) const command = ` exec msdb.dbo.rds_restore_database @restore_db_name='${dbName}', @@ -76,98 +50,3 @@ export async function restoreDatabaseFromBackup( } } } - -export async function getTablesAndColumns(connConfig: sql.config) { - let tables = {} - let conn - let connectionError = true - let retries = 0 - while (connectionError && retries < 6) { - try { - conn = await sql.connect(connConfig) - connectionError = false - console.log(`Connected to SQL. Retried ${retries} times.`) - const query = ` - SELECT - TABLE_NAME, COLUMN_NAME - FROM - INFORMATION_SCHEMA.COLUMNS - ORDER BY - TABLE_NAME, ORDINAL_POSITION - ` - - const result = await conn.query(query) - result.recordset.forEach((row) => { - if (!tables[row.TABLE_NAME]) { - tables[row.TABLE_NAME] = [] - } - tables[row.TABLE_NAME].push(row.COLUMN_NAME) - }) - } catch (error) { - if (error.name === 'ConnectionError') { - console.log('Waiting for SQL connection to be available...') - retries++ - await new Promise((resolve) => setTimeout(resolve, 15_000)) - } else { - console.log('Error connecting to SQL:', error) - throw error - } - } finally { - if (conn) { - conn.close() - console.log('Closed SQL connection.') - } - } - } - - return tables -} - -export function generateSheets(tables: object) { - return Object.keys(tables).map((tableName) => { - return { - name: tableName, - fields: tables[tableName].map((columnName) => { - return { - key: columnName, - label: columnName, - type: 'string', - } - }), - } - }) -} - -export async function renameDatabase( - connConfig: sql.config, - oldName: string, - newName: string -) { - let conn - let connectionError = true - let retries = 0 - while (connectionError && retries < 6) { - try { - conn = await sql.connect({ ...connConfig, database: 'master' }) // Connecting to the master database to execute rename command - connectionError = false - const renameDbCommand = `EXECUTE rdsadmin.dbo.rds_modify_db_name N'${oldName}', N'${newName}'` - await conn.query(renameDbCommand) - console.log(`Database ${oldName} renamed to ${newName} in RDS instance.`) - } catch (error) { - console.error('Error during database rename in RDS:', error) - if (error.name === 'ConnectionError') { - console.log('Waiting for SQL connection to be available...') - retries++ - await new Promise((resolve) => setTimeout(resolve, 15_000)) - } else { - console.error('Error during database rename in RDS:', error) - throw error - } - } finally { - if (conn) { - conn.close() - console.log('Closed SQL connection.') - } - } - } -} diff --git a/plugins/foreign-db-extractor/src/generate.sheets.ts b/plugins/foreign-db-extractor/src/generate.sheets.ts new file mode 100644 index 000000000..0f4680e9b --- /dev/null +++ b/plugins/foreign-db-extractor/src/generate.sheets.ts @@ -0,0 +1,63 @@ +import sql from 'mssql' + +export async function generateSheets(connConfig: sql.config) { + const tables = await getTablesAndColumns(connConfig) + return Object.keys(tables).map((tableName) => { + return { + name: tableName, + fields: tables[tableName].map((columnName) => { + return { + key: columnName, + label: columnName, + type: 'string', + } + }), + } + }) +} + +async function getTablesAndColumns(connConfig: sql.config) { + let tables = {} + let conn + let connectionError = true + let retries = 0 + while (connectionError && retries < 6) { + try { + conn = await sql.connect(connConfig) + connectionError = false + console.log(`Connected to SQL. Retried ${retries} times.`) + const query = ` + SELECT + TABLE_NAME, COLUMN_NAME + FROM + INFORMATION_SCHEMA.COLUMNS + ORDER BY + TABLE_NAME, ORDINAL_POSITION + ` + + const result = await conn.query(query) + result.recordset.forEach((row) => { + if (!tables[row.TABLE_NAME]) { + tables[row.TABLE_NAME] = [] + } + tables[row.TABLE_NAME].push(row.COLUMN_NAME) + }) + } catch (error) { + if (error.name === 'ConnectionError') { + console.log('Waiting for SQL connection to be available...') + retries++ + await new Promise((resolve) => setTimeout(resolve, 15_000)) + } else { + console.log('Error connecting to SQL:', error) + throw error + } + } finally { + if (conn) { + conn.close() + console.log('Closed SQL connection.') + } + } + } + + return tables +} diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index 4dbac80c0..2b5e89b50 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -2,13 +2,9 @@ import api, { Flatfile } from '@flatfile/api' import FlatfileListener from '@flatfile/listener' import { getFileBuffer } from '@flatfile/util-file-buffer' import sql from 'mssql' -import { - generateSheets, - getTablesAndColumns, - renameDatabase, - restoreDatabaseFromBackup, - uploadFileToS3Bucket, -} from './database.restore' +import { restoreDatabaseFromBackup } from './database.restore' +import { generateSheets } from './generate.sheets' +import { putInS3Bucket } from './put.s3' export const foreignDBExtractor = () => { return (listener: FlatfileListener) => { @@ -59,21 +55,30 @@ export const foreignDBExtractor = () => { const buffer = await getFileBuffer(event) // Step 1: Upload file to S3 - await tick(20, 'Uploading file to S3 bucket') + await tick(10, 'Uploading file to S3 bucket') const bucketName = `foreign-db-extractor-s3-bucket` - await uploadFileToS3Bucket(bucketName, buffer, fileName) + await putInS3Bucket(bucketName, buffer, fileName) - // Step 2: Restore DB from Backup + // Step 2: Create a Workbook + await tick(20, 'Creating workbook') + + // Create a workbook so we can use the workbookId to name the database + const { data: workbook } = await api.workbooks.create({ + name: `[file] ${fileName}`, + labels: ['file'], + spaceId, + environmentId, + }) + + // Step 3: Restore DB from Backup await tick(30, 'Restoring database') - // We are expecting to retrieve the database name from the file name - const database = fileName.replace('.bak', '') // Connection config for hot RDS instance // The restore requires access to the master database const connectionConfig: sql.config = { user: process.env.FOREIGN_MSSQL_USER, password: process.env.FOREIGN_MSSQL_PASSWORD, server: process.env.FOREIGN_MSSQL_SERVER, - database, + database: workbook.id, options: { port: 1433, trustServerCertificate: true }, connectionTimeout: 30000, requestTimeout: 90000, @@ -82,16 +87,11 @@ export const foreignDBExtractor = () => { const arn = `arn:aws:s3:::${bucketName}/${fileName}` await restoreDatabaseFromBackup(connectionConfig, arn) - // Step 3: Create a Workbook + // Step 4: Create a Workbook // Get column names for all tables, loop through them and create Sheets for each table await tick(40, 'Creating workbook') - const tables = await getTablesAndColumns(connectionConfig) - const sheets = generateSheets(tables) - const { data: workbook } = await api.workbooks.create({ - name: `[file] ${database}`, - labels: ['file'], - spaceId, - environmentId, + const sheets = await generateSheets(connectionConfig) + await api.workbooks.update(workbook.id, { sheets, metadata: { connectionType: 'FOREIGN_MSSQL', @@ -99,24 +99,8 @@ export const foreignDBExtractor = () => { }, }) - // Step 4: Rename database to workbookId - await tick(50, 'Renaming database') - await renameDatabase(connectionConfig, database, workbook.id) - - // Step 5: Update workbook with new DB name in connection config - await tick(60, 'Updating workbook connection config') - await api.workbooks.update(workbook.id, { - metadata: { - connectionType: 'FOREIGN_MSSQL', - connectionConfig: { - ...connectionConfig, - database: workbook.id, - }, - }, - }) - - // Step 6: Update file with workbookId - await tick(70, 'Updating file') + // Step 5: Update file with workbookId + await tick(50, 'Updating file') await api.files.update(fileId, { workbookId: workbook.id, }) diff --git a/plugins/foreign-db-extractor/src/put.s3.ts b/plugins/foreign-db-extractor/src/put.s3.ts new file mode 100644 index 000000000..9f482400c --- /dev/null +++ b/plugins/foreign-db-extractor/src/put.s3.ts @@ -0,0 +1,27 @@ +import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3' + +const s3Client = new S3Client({ + region: 'us-west-2', + credentials: { + accessKeyId: process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, + }, +}) + +export async function putInS3Bucket( + bucketName: string, + buffer: Buffer, + fileName: string +) { + try { + const putObjectCommand = new PutObjectCommand({ + Bucket: bucketName, + Key: fileName, + Body: buffer, + }) + await s3Client.send(putObjectCommand) + } catch (error) { + console.error('Error during S3 upload:', error) + throw new Error('Error during S3 upload') + } +} From 12e2b27bcd4f3a033bfa125dae6150678ea2431d Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Fri, 19 Jan 2024 15:20:10 -0600 Subject: [PATCH 14/22] chore: update package.json --- package-lock.json | 1584 +++------------------------------------------ package.json | 1 - 2 files changed, 97 insertions(+), 1488 deletions(-) diff --git a/package-lock.json b/package-lock.json index e11e4112e..a5d59ae26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,6 @@ "version": "0.0.0", "license": "MIT", "workspaces": [ - "flatfilers/*", "plugins/*", "support/*", "utils/*" @@ -51,6 +50,7 @@ "flatfilers/playground": { "name": "flatfile-playground", "version": "0.0.0", + "extraneous": true, "license": "ISC", "dependencies": { "@flatfile/api": "^1.7.4", @@ -1911,20 +1911,6 @@ "prettier": "^2.7.1" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.19", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@faker-js/faker": { "version": "7.6.0", "dev": true, @@ -2156,88 +2142,6 @@ "resolved": "utils/testing", "link": true }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "license": "ISC", @@ -2890,6 +2794,7 @@ }, "node_modules/@jridgewell/source-map": { "version": "0.3.5", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -3029,6 +2934,7 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -3040,6 +2946,7 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -3047,6 +2954,7 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -4862,14 +4770,6 @@ "@parcel/core": "^2.12.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@rollup/plugin-commonjs": { "version": "25.0.7", "dev": true, @@ -4915,6 +4815,7 @@ }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.2.3", + "dev": true, "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", @@ -4984,6 +4885,7 @@ }, "node_modules/@rollup/pluginutils": { "version": "5.1.0", + "dev": true, "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", @@ -5640,7 +5542,7 @@ }, "node_modules/@swc/core": { "version": "1.3.104", - "devOptional": true, + "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -5692,7 +5594,7 @@ }, "node_modules/@swc/counter": { "version": "0.1.2", - "devOptional": true, + "dev": true, "license": "Apache-2.0" }, "node_modules/@swc/helpers": { @@ -5705,7 +5607,7 @@ }, "node_modules/@swc/types": { "version": "0.1.5", - "devOptional": true, + "dev": true, "license": "Apache-2.0" }, "node_modules/@tediousjs/connection-string": { @@ -5778,6 +5680,7 @@ }, "node_modules/@types/estree": { "version": "1.0.5", + "dev": true, "license": "MIT" }, "node_modules/@types/flat": { @@ -5853,14 +5756,6 @@ "undici-types": "~5.26.4" } }, - "node_modules/@types/node-fetch": { - "version": "2.6.11", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" - } - }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", "dev": true, @@ -5892,6 +5787,7 @@ }, "node_modules/@types/resolve": { "version": "1.20.2", + "dev": true, "license": "MIT" }, "node_modules/@types/semver": { @@ -5922,13 +5818,6 @@ "version": "0.2.2", "license": "ISC" }, - "node_modules/@vercel/ncc": { - "version": "0.36.1", - "license": "MIT", - "bin": { - "ncc": "dist/ncc/cli.js" - } - }, "node_modules/abort-controller": { "version": "3.0.0", "license": "MIT", @@ -5958,6 +5847,7 @@ }, "node_modules/acorn": { "version": "8.11.3", + "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -6012,20 +5902,6 @@ "node": ">= 4.0.0" } }, - "node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/ansi-colors": { "version": "4.1.3", "license": "MIT", @@ -6049,6 +5925,7 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -6064,10 +5941,6 @@ "node": ">=4" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "license": "MIT" - }, "node_modules/anymatch": { "version": "3.1.3", "license": "ISC", @@ -6104,6 +5977,7 @@ }, "node_modules/array-union": { "version": "2.1.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -6167,13 +6041,6 @@ "node": ">=4" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/asynckit": { "version": "0.4.0", "license": "MIT" @@ -6414,22 +6281,6 @@ "node": ">=4" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "node_modules/body-parser": { "version": "1.20.1", "dev": true, @@ -6478,6 +6329,7 @@ }, "node_modules/brace-expansion": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -6549,38 +6401,18 @@ "node-int64": "^0.4.0" } }, - "node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "license": "BSD-3-Clause" }, "node_modules/buffer-from": { "version": "1.1.2", + "dev": true, "license": "MIT" }, "node_modules/builtin-modules": { "version": "3.3.0", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -6589,19 +6421,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bundle-require": { - "version": "4.0.2", - "license": "MIT", - "dependencies": { - "load-tsconfig": "^0.2.3" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "peerDependencies": { - "esbuild": ">=0.17" - } - }, "node_modules/bytes": { "version": "3.1.2", "dev": true, @@ -6610,13 +6429,6 @@ "node": ">= 0.8" } }, - "node_modules/cac": { - "version": "6.7.14", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/call-bind": { "version": "1.0.5", "license": "MIT", @@ -6727,28 +6539,6 @@ "dev": true, "license": "MIT" }, - "node_modules/chokidar": { - "version": "3.6.0", - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.3", "dev": true, @@ -6775,26 +6565,6 @@ "dev": true, "license": "MIT" }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cliui": { "version": "8.0.1", "dev": true, @@ -6861,6 +6631,7 @@ }, "node_modules/commondir": { "version": "1.0.1", + "dev": true, "license": "MIT" }, "node_modules/component-emitter": { @@ -7048,6 +6819,7 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", + "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -7224,13 +6996,6 @@ "dev": true, "license": "MIT" }, - "node_modules/custom-exception": { - "version": "0.1.2", - "license": "MIT", - "engines": { - "node": ">=10.12.0" - } - }, "node_modules/data-uri-to-buffer": { "version": "6.0.1", "license": "MIT", @@ -7305,15 +7070,9 @@ } } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/deepmerge": { "version": "4.3.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -7321,6 +7080,7 @@ }, "node_modules/defaults": { "version": "1.0.4", + "dev": true, "license": "MIT", "dependencies": { "clone": "^1.0.2" @@ -7331,6 +7091,7 @@ }, "node_modules/defaults/node_modules/clone": { "version": "1.0.4", + "dev": true, "license": "MIT", "engines": { "node": ">=0.8" @@ -7450,6 +7211,7 @@ }, "node_modules/dir-glob": { "version": "3.0.1", + "dev": true, "license": "MIT", "dependencies": { "path-type": "^4.0.0" @@ -7523,6 +7285,7 @@ }, "node_modules/dotenv": { "version": "16.3.1", + "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=12" @@ -7558,10 +7321,6 @@ "node": ">=10" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "license": "MIT" - }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "license": "Apache-2.0", @@ -7591,6 +7350,7 @@ }, "node_modules/emoji-regex": { "version": "8.0.0", + "dev": true, "license": "MIT" }, "node_modules/encodeurl": { @@ -7745,41 +7505,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild": { - "version": "0.17.19", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" - } - }, "node_modules/escalade": { "version": "3.1.1", "license": "MIT", @@ -7838,6 +7563,7 @@ }, "node_modules/estree-walker": { "version": "2.0.2", + "dev": true, "license": "MIT" }, "node_modules/esutils": { @@ -7871,6 +7597,7 @@ }, "node_modules/execa": { "version": "5.1.1", + "dev": true, "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", @@ -7966,10 +7693,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/extend": { - "version": "3.0.2", - "license": "MIT" - }, "node_modules/extendable-error": { "version": "0.1.7", "dev": true, @@ -7988,22 +7711,9 @@ "node": ">=4" } }, - "node_modules/extract-files": { - "version": "9.0.0", - "license": "MIT", - "engines": { - "node": "^10.17.0 || ^12.0.0 || >= 13.7.0" - }, - "funding": { - "url": "https://github.com/sponsors/jaydenseric" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, "node_modules/fast-glob": { "version": "3.3.2", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -8046,6 +7756,7 @@ }, "node_modules/fastq": { "version": "1.16.0", + "dev": true, "license": "ISC", "dependencies": { "reusify": "^1.0.4" @@ -8079,16 +7790,6 @@ "node": "^12.20 || >= 14.13" } }, - "node_modules/figlet": { - "version": "1.7.0", - "license": "MIT", - "bin": { - "figlet": "bin/index.js" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/fill-range": { "version": "7.0.1", "license": "MIT", @@ -8143,194 +7844,6 @@ "flat": "cli.js" } }, - "node_modules/flatfile": { - "version": "3.6.1", - "dependencies": { - "@flatfile/cross-env-config": "^0.0.5", - "@flatfile/listener": "^1.0.0", - "@flatfile/listener-driver-pubsub": "^2.0.3", - "@rollup/plugin-commonjs": "^23.0.3", - "@rollup/plugin-json": "^5.0.2", - "@rollup/plugin-node-resolve": "^15.0.1", - "@rollup/plugin-terser": "^0.1.0", - "@rollup/plugin-typescript": "^10.0.1", - "@types/node-fetch": "^2.6.2", - "@vercel/ncc": "^0.36.1", - "axios": "^1.6.0", - "commander": "^9.3.0", - "dotenv": "^16.0.1", - "figlet": "^1.5.2", - "graphql": "^16.5.0", - "graphql-request": "^4.3.0", - "interpolate-json": "^2.2.2", - "node-fetch": "^2.6.7", - "ora": "^5.4.1", - "prompts": "^2.4.2", - "rc": "^1.2.8", - "read-package-json": "^6.0.2", - "remeda": "^0.0.35", - "rollup": "^2.79.1", - "rollup-plugin-inject-process-env": "^1.3.1", - "simple-mock": "^0.8.0", - "table": "^6.8.1", - "tsup": "^6.1.3", - "typescript": "^4.9.3", - "util": "^0.12.5", - "uuid": "^9.0.0", - "wildcard-match": "^5.1.2", - "zod": "^3.19.1" - }, - "bin": { - "flatfile": "dist/index.js" - } - }, - "node_modules/flatfile-playground": { - "resolved": "flatfilers/playground", - "link": true - }, - "node_modules/flatfile/node_modules/@flatfile/cross-env-config": { - "version": "0.0.5", - "license": "ISC" - }, - "node_modules/flatfile/node_modules/@rollup/plugin-commonjs": { - "version": "23.0.7", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "commondir": "^1.0.1", - "estree-walker": "^2.0.2", - "glob": "^8.0.3", - "is-reference": "1.2.1", - "magic-string": "^0.27.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.68.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/flatfile/node_modules/@rollup/plugin-json": { - "version": "5.0.2", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/flatfile/node_modules/@rollup/plugin-terser": { - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "terser": "^5.15.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.x || ^3.x" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/flatfile/node_modules/@rollup/plugin-typescript": { - "version": "10.0.1", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.14.0||^3.0.0", - "tslib": "*", - "typescript": ">=3.7.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - }, - "tslib": { - "optional": true - } - } - }, - "node_modules/flatfile/node_modules/commander": { - "version": "9.5.0", - "license": "MIT", - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/flatfile/node_modules/magic-string": { - "version": "0.27.0", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/flatfile/node_modules/remeda": { - "version": "0.0.35", - "license": "MIT" - }, - "node_modules/flatfile/node_modules/rollup": { - "version": "2.79.1", - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/flatfile/node_modules/typescript": { - "version": "4.9.5", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/flatfile/node_modules/uuid": { - "version": "9.0.1", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/follow-redirects": { "version": "1.15.5", "funding": [ @@ -8356,30 +7869,6 @@ "is-callable": "^1.1.3" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/form-data": { "version": "4.0.0", "license": "MIT", @@ -8534,6 +8023,7 @@ }, "node_modules/get-stream": { "version": "6.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -8602,6 +8092,7 @@ }, "node_modules/glob": { "version": "8.1.0", + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -8619,6 +8110,7 @@ }, "node_modules/glob-parent": { "version": "5.1.2", + "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -8649,6 +8141,7 @@ }, "node_modules/globby": { "version": "11.1.0", + "dev": true, "license": "MIT", "dependencies": { "array-union": "^2.1.0", @@ -8684,44 +8177,6 @@ "dev": true, "license": "MIT" }, - "node_modules/graphql": { - "version": "16.8.1", - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" - } - }, - "node_modules/graphql-request": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "cross-fetch": "^3.1.5", - "extract-files": "^9.0.0", - "form-data": "^3.0.0" - }, - "peerDependencies": { - "graphql": "14 - 16" - } - }, - "node_modules/graphql-request/node_modules/cross-fetch": { - "version": "3.1.8", - "license": "MIT", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, - "node_modules/graphql-request/node_modules/form-data": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/handlebars": { "version": "4.7.8", "dev": true, @@ -8980,6 +8435,7 @@ }, "node_modules/human-signals": { "version": "2.1.0", + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=10.17.0" @@ -9023,6 +8479,7 @@ }, "node_modules/ignore": { "version": "5.3.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 4" @@ -9096,10 +8553,6 @@ "version": "2.0.4", "license": "ISC" }, - "node_modules/ini": { - "version": "1.3.8", - "license": "ISC" - }, "node_modules/internal-slot": { "version": "1.0.6", "license": "MIT", @@ -9112,18 +8565,6 @@ "node": ">= 0.4" } }, - "node_modules/interpolate-json": { - "version": "2.3.3", - "license": "MIT", - "dependencies": { - "custom-exception": "^0.1.2", - "extend": "^3.0.2", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/ip": { "version": "1.1.8", "license": "MIT" @@ -9136,20 +8577,6 @@ "node": ">= 0.10" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.2", "license": "MIT", @@ -9177,16 +8604,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-boolean-object": { "version": "1.1.2", "license": "MIT", @@ -9203,6 +8620,7 @@ }, "node_modules/is-builtin-module": { "version": "3.2.1", + "dev": true, "license": "MIT", "dependencies": { "builtin-modules": "^3.3.0" @@ -9226,6 +8644,7 @@ }, "node_modules/is-core-module": { "version": "2.13.1", + "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.0" @@ -9262,6 +8681,7 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -9269,6 +8689,7 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -9282,21 +8703,9 @@ "node": ">=6" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-glob": { "version": "4.0.3", + "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -9305,13 +8714,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-json": { "version": "2.0.1", "dev": true, @@ -9319,6 +8721,7 @@ }, "node_modules/is-module": { "version": "1.0.0", + "dev": true, "license": "MIT" }, "node_modules/is-negative-zero": { @@ -9361,6 +8764,7 @@ }, "node_modules/is-reference": { "version": "1.2.1", + "dev": true, "license": "MIT", "dependencies": { "@types/estree": "*" @@ -9392,6 +8796,7 @@ }, "node_modules/is-stream": { "version": "2.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -9450,16 +8855,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-weakref": { "version": "1.0.2", "license": "MIT", @@ -9494,6 +8889,7 @@ }, "node_modules/isexe": { "version": "2.0.0", + "dev": true, "license": "ISC" }, "node_modules/istanbul-lib-coverage": { @@ -9596,22 +8992,6 @@ "node": ">=8" } }, - "node_modules/jackspeak": { - "version": "2.3.6", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/jest": { "version": "29.7.0", "dev": true, @@ -11138,13 +10518,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/joycon": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, "node_modules/js-base64": { "version": "3.7.2", "license": "BSD-3-Clause" @@ -11202,10 +10575,6 @@ "node": ">=10" } }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/json5": { "version": "2.2.3", "license": "MIT", @@ -11291,6 +10660,7 @@ }, "node_modules/kleur": { "version": "3.0.3", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -11353,15 +10723,9 @@ "version": "0.1.1", "license": "MIT" }, - "node_modules/lilconfig": { - "version": "2.1.0", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", + "dev": true, "license": "MIT" }, "node_modules/lmdb": { @@ -11393,13 +10757,6 @@ "dev": true, "license": "MIT" }, - "node_modules/load-tsconfig": { - "version": "0.2.5", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/load-yaml-file": { "version": "0.2.0", "dev": true, @@ -11465,91 +10822,11 @@ "version": "4.1.1", "license": "MIT" }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "license": "MIT" - }, "node_modules/lodash.startcase": { "version": "4.4.0", "dev": true, "license": "MIT" }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/lru-cache": { "version": "5.1.1", "license": "ISC", @@ -11666,6 +10943,7 @@ }, "node_modules/merge2": { "version": "1.4.1", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -11719,6 +10997,7 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -11734,6 +11013,7 @@ }, "node_modules/minimatch": { "version": "5.1.6", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -11744,6 +11024,7 @@ }, "node_modules/minimist": { "version": "1.2.8", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11762,13 +11043,6 @@ "node": ">= 6" } }, - "node_modules/minipass": { - "version": "7.0.4", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/mixme": { "version": "0.5.10", "dev": true, @@ -11869,15 +11143,6 @@ "version": "2.1.2", "license": "MIT" }, - "node_modules/mz": { - "version": "2.7.0", - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, "node_modules/native-duplexpair": { "version": "1.0.0", "license": "MIT" @@ -12029,15 +11294,9 @@ "node": ">=0.10.0" } }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.1", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", + "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.0.0" @@ -12062,13 +11321,6 @@ "dev": true, "license": "MIT" }, - "node_modules/object-assign": { - "version": "4.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.13.1", "license": "MIT", @@ -12119,6 +11371,7 @@ }, "node_modules/onetime": { "version": "5.1.2", + "dev": true, "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" @@ -12211,85 +11464,6 @@ "node": ">= 10.0.0" } }, - "node_modules/ora": { - "version": "5.4.1", - "license": "MIT", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ordered-binary": { "version": "1.5.1", "dev": true, @@ -12561,6 +11735,7 @@ }, "node_modules/path-key": { "version": "3.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -12568,29 +11743,9 @@ }, "node_modules/path-parse": { "version": "1.0.7", + "dev": true, "license": "MIT" }, - "node_modules/path-scurry": { - "version": "1.10.1", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "license": "ISC", - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/path-to-regexp": { "version": "0.1.7", "dev": true, @@ -12598,6 +11753,7 @@ }, "node_modules/path-type": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -12643,33 +11799,6 @@ "node": ">=8" } }, - "node_modules/postcss-load-config": { - "version": "3.1.4", - "license": "MIT", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, "node_modules/postcss-value-parser": { "version": "4.2.0", "dev": true, @@ -12841,6 +11970,7 @@ }, "node_modules/prompts": { "version": "2.4.2", + "dev": true, "license": "MIT", "dependencies": { "kleur": "^3.0.3", @@ -12949,13 +12079,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/punycode": { - "version": "2.3.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/pure-rand": { "version": "6.0.4", "dev": true, @@ -12986,6 +12109,7 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", + "dev": true, "funding": [ { "type": "github", @@ -13055,26 +12179,6 @@ "node": ">= 0.8" } }, - "node_modules/rc": { - "version": "1.2.8", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-error-overlay": { "version": "6.0.9", "dev": true, @@ -13092,111 +12196,28 @@ "node": ">=0.10.0" } }, - "node_modules/read-package-json": { - "version": "6.0.4", - "license": "ISC", + "node_modules/read-pkg": { + "version": "5.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/read-package-json/node_modules/glob": { - "version": "10.3.10", - "license": "ISC", + "node_modules/read-pkg-up": { + "version": "7.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/read-package-json/node_modules/hosted-git-info": { - "version": "6.1.1", - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.1", - "license": "MIT", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/lru-cache": { - "version": "7.18.3", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "9.0.3", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/read-package-json/node_modules/normalize-package-data": { - "version": "5.0.0", - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { "node": ">=8" @@ -13243,28 +12264,6 @@ "node": ">=4" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/redent": { "version": "3.0.0", "dev": true, @@ -13309,13 +12308,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/require-main-filename": { "version": "2.0.0", "dev": true, @@ -13323,6 +12315,7 @@ }, "node_modules/resolve": { "version": "1.22.8", + "dev": true, "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", @@ -13362,17 +12355,6 @@ "node": ">=10" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ret": { "version": "0.1.15", "license": "MIT", @@ -13382,6 +12364,7 @@ }, "node_modules/reusify": { "version": "1.0.4", + "dev": true, "license": "MIT", "engines": { "iojs": ">=1.0.0", @@ -13394,7 +12377,7 @@ }, "node_modules/rollup": { "version": "4.12.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/estree": "1.0.5" @@ -13444,20 +12427,6 @@ "typescript": "^4.5 || ^5.0" } }, - "node_modules/rollup-plugin-inject-process-env": { - "version": "1.3.1", - "license": "MIT", - "dependencies": { - "magic-string": "^0.25.7" - } - }, - "node_modules/rollup-plugin-inject-process-env/node_modules/magic-string": { - "version": "0.25.9", - "license": "MIT", - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, "node_modules/rollup-plugin-peer-deps-external": { "version": "2.2.4", "dev": true, @@ -13468,6 +12437,7 @@ }, "node_modules/run-parallel": { "version": "1.2.0", + "dev": true, "funding": [ { "type": "github", @@ -13659,6 +12629,7 @@ }, "node_modules/shebang-command": { "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -13669,6 +12640,7 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -13690,12 +12662,9 @@ "version": "3.0.7", "license": "ISC" }, - "node_modules/simple-mock": { - "version": "0.8.0", - "license": "MIT" - }, "node_modules/sisteransi": { "version": "1.0.5", + "dev": true, "license": "MIT" }, "node_modules/slash": { @@ -13705,48 +12674,6 @@ "node": ">=8" } }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, "node_modules/smart-buffer": { "version": "4.2.0", "license": "MIT", @@ -13907,6 +12834,7 @@ }, "node_modules/source-map": { "version": "0.6.1", + "devOptional": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -13931,10 +12859,6 @@ "source-map": "^0.6.0" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "license": "MIT" - }, "node_modules/spawndamnit": { "version": "2.0.0", "dev": true, @@ -14000,6 +12924,7 @@ }, "node_modules/spdx-correct": { "version": "3.2.0", + "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", @@ -14008,10 +12933,12 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", + "dev": true, "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "dev": true, "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", @@ -14020,6 +12947,7 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.16", + "dev": true, "license": "CC0-1.0" }, "node_modules/sprintf-js": { @@ -14116,19 +13044,7 @@ }, "node_modules/string-width": { "version": "4.2.3", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", + "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -14180,17 +13096,7 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -14209,6 +13115,7 @@ }, "node_modules/strip-final-newline": { "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -14240,66 +13147,6 @@ "version": "1.0.5", "license": "MIT" }, - "node_modules/sucrase": { - "version": "3.35.0", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.3.10", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/node_modules/minimatch": { - "version": "9.0.3", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/superagent": { "version": "8.1.2", "license": "MIT", @@ -14360,6 +13207,7 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -14394,20 +13242,6 @@ "url": "https://opencollective.com/svgo" } }, - "node_modules/table": { - "version": "6.8.1", - "license": "BSD-3-Clause", - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/tarn": { "version": "3.0.2", "license": "MIT", @@ -14508,6 +13342,7 @@ }, "node_modules/terser": { "version": "5.27.0", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -14524,10 +13359,12 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", + "dev": true, "license": "MIT" }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.21", + "dev": true, "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", @@ -14582,23 +13419,6 @@ "node": "*" } }, - "node_modules/thenify": { - "version": "3.3.1", - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/timsort": { "version": "0.3.0", "dev": true, @@ -14648,13 +13468,6 @@ "version": "0.0.3", "license": "MIT" }, - "node_modules/tree-kill": { - "version": "1.2.2", - "license": "MIT", - "bin": { - "tree-kill": "cli.js" - } - }, "node_modules/trim-newlines": { "version": "3.0.1", "dev": true, @@ -14663,10 +13476,6 @@ "node": ">=8" } }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "license": "Apache-2.0" - }, "node_modules/ts-jest": { "version": "29.1.2", "dev": true, @@ -14725,112 +13534,6 @@ "version": "2.6.2", "license": "0BSD" }, - "node_modules/tsup": { - "version": "6.7.0", - "license": "MIT", - "dependencies": { - "bundle-require": "^4.0.0", - "cac": "^6.7.12", - "chokidar": "^3.5.1", - "debug": "^4.3.1", - "esbuild": "^0.17.6", - "execa": "^5.0.0", - "globby": "^11.0.3", - "joycon": "^3.0.1", - "postcss-load-config": "^3.0.1", - "resolve-from": "^5.0.0", - "rollup": "^3.2.5", - "source-map": "0.8.0-beta.0", - "sucrase": "^3.20.3", - "tree-kill": "^1.2.2" - }, - "bin": { - "tsup": "dist/cli-default.js", - "tsup-node": "dist/cli-node.js" - }, - "engines": { - "node": ">=14.18" - }, - "peerDependencies": { - "@swc/core": "^1", - "postcss": "^8.4.12", - "typescript": ">=4.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "postcss": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/tsup/node_modules/debug": { - "version": "4.3.4", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/tsup/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/tsup/node_modules/rollup": { - "version": "3.29.4", - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/tsup/node_modules/source-map": { - "version": "0.8.0-beta.0", - "license": "BSD-3-Clause", - "dependencies": { - "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tsup/node_modules/tr46": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/tsup/node_modules/webidl-conversions": { - "version": "4.0.2", - "license": "BSD-2-Clause" - }, - "node_modules/tsup/node_modules/whatwg-url": { - "version": "7.1.0", - "license": "MIT", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, "node_modules/tty-table": { "version": "4.2.3", "dev": true, @@ -15040,7 +13743,7 @@ }, "node_modules/typescript": { "version": "5.3.3", - "devOptional": true, + "dev": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -15122,32 +13825,10 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/url-join": { "version": "4.0.1", "license": "MIT" }, - "node_modules/util": { - "version": "0.12.5", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" - }, "node_modules/utility-types": { "version": "3.11.0", "dev": true, @@ -15179,6 +13860,7 @@ }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", @@ -15202,6 +13884,7 @@ }, "node_modules/wcwidth": { "version": "1.0.1", + "dev": true, "license": "MIT", "dependencies": { "defaults": "^1.0.3" @@ -15233,6 +13916,7 @@ }, "node_modules/which": { "version": "2.0.2", + "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -15317,49 +14001,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, @@ -15446,13 +14087,6 @@ "version": "3.1.1", "license": "ISC" }, - "node_modules/yaml": { - "version": "1.10.2", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, "node_modules/yargs": { "version": "17.7.2", "dev": true, @@ -15501,13 +14135,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/zod": { - "version": "3.22.4", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, "plugins/autocast": { "name": "@flatfile/plugin-autocast", "version": "0.7.6", @@ -15665,23 +14292,6 @@ "@flatfile/api": "^1.5.10" } }, - "plugins/foreign-db-extractor/node_modules/@flatfile/util-file-buffer/node_modules/@flatfile/listener": { - "version": "0.3.19", - "extraneous": true, - "license": "MIT", - "dependencies": { - "@rollup/plugin-json": "^6.0.1", - "@rollup/plugin-node-resolve": "^15.2.3", - "ansi-colors": "^4.1.3", - "flat": "^5.0.2", - "pako": "^2.1.0", - "wildcard-match": "^5.1.2" - }, - "peerDependencies": { - "@flatfile/api": "^1.5.10", - "axios": "^1.4.0" - } - }, "plugins/foreign-db-extractor/node_modules/pako": { "version": "2.1.0", "license": "(MIT AND Zlib)" diff --git a/package.json b/package.json index c251e74c4..77636149f 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "node": ">=16" }, "workspaces": [ - "flatfilers/*", "plugins/*", "support/*", "utils/*" From 68d0ff9d81f2b9b491cba63ca37b13f36bfcba01 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Fri, 2 Feb 2024 20:44:36 -0600 Subject: [PATCH 15/22] feat: use API endpoints --- .../src/database.restore.ts | 52 ----------- .../src/generate.sheets.ts | 48 ++++------- plugins/foreign-db-extractor/src/index.ts | 86 ++++++++++--------- 3 files changed, 64 insertions(+), 122 deletions(-) delete mode 100644 plugins/foreign-db-extractor/src/database.restore.ts diff --git a/plugins/foreign-db-extractor/src/database.restore.ts b/plugins/foreign-db-extractor/src/database.restore.ts deleted file mode 100644 index b590a33bc..000000000 --- a/plugins/foreign-db-extractor/src/database.restore.ts +++ /dev/null @@ -1,52 +0,0 @@ -import sql from 'mssql' - -export async function restoreDatabaseFromBackup( - connConfig: sql.config, - s3Arn: string -) { - let conn - const dbName = connConfig.database - try { - // Connecting to the master database to execute restore command - conn = await sql.connect({ ...connConfig, database: 'master' }) - const command = ` - exec msdb.dbo.rds_restore_database - @restore_db_name='${dbName}', - @s3_arn_to_restore_from='${s3Arn}' - ` - - await conn.query(command) - console.log(`Database restore initiated for ${dbName}`) - - // Checking if the database is available - let isAvailable = false - while (!isAvailable) { - //TODO needs to timeout after so many tries - const result = await conn.query( - `SELECT state_desc FROM sys.databases WHERE name = '${dbName}'` - ) - if (result.recordset.length > 0 && result.recordset[0].state_desc) { - const dbState = result.recordset[0].state_desc - if (dbState === 'ONLINE') { - isAvailable = true - console.log(`Database ${dbName} is available.`) - } else { - console.log( - `Waiting for database ${dbName} to become available... Current state: ${dbState}` - ) - await new Promise((resolve) => setTimeout(resolve, 30_000)) - } - } else { - console.log(`Database ${dbName} not found, waiting...`) - await new Promise((resolve) => setTimeout(resolve, 30_000)) - } - } - } catch (error) { - console.error('Error during database restore:', error) - } finally { - if (conn) { - conn.close() - console.log('Closed SQL connection.') - } - } -} diff --git a/plugins/foreign-db-extractor/src/generate.sheets.ts b/plugins/foreign-db-extractor/src/generate.sheets.ts index 0f4680e9b..abf0627ec 100644 --- a/plugins/foreign-db-extractor/src/generate.sheets.ts +++ b/plugins/foreign-db-extractor/src/generate.sheets.ts @@ -1,6 +1,6 @@ import sql from 'mssql' -export async function generateSheets(connConfig: sql.config) { +export async function generateSheets(connConfig: string) { const tables = await getTablesAndColumns(connConfig) return Object.keys(tables).map((tableName) => { return { @@ -16,17 +16,12 @@ export async function generateSheets(connConfig: sql.config) { }) } -async function getTablesAndColumns(connConfig: sql.config) { +async function getTablesAndColumns(connConfig: string) { let tables = {} let conn - let connectionError = true - let retries = 0 - while (connectionError && retries < 6) { - try { - conn = await sql.connect(connConfig) - connectionError = false - console.log(`Connected to SQL. Retried ${retries} times.`) - const query = ` + try { + conn = await sql.connect(connConfig) + const query = ` SELECT TABLE_NAME, COLUMN_NAME FROM @@ -35,27 +30,20 @@ async function getTablesAndColumns(connConfig: sql.config) { TABLE_NAME, ORDINAL_POSITION ` - const result = await conn.query(query) - result.recordset.forEach((row) => { - if (!tables[row.TABLE_NAME]) { - tables[row.TABLE_NAME] = [] - } - tables[row.TABLE_NAME].push(row.COLUMN_NAME) - }) - } catch (error) { - if (error.name === 'ConnectionError') { - console.log('Waiting for SQL connection to be available...') - retries++ - await new Promise((resolve) => setTimeout(resolve, 15_000)) - } else { - console.log('Error connecting to SQL:', error) - throw error - } - } finally { - if (conn) { - conn.close() - console.log('Closed SQL connection.') + const result = await conn.query(query) + result.recordset.forEach((row) => { + if (!tables[row.TABLE_NAME]) { + tables[row.TABLE_NAME] = [] } + tables[row.TABLE_NAME].push(row.COLUMN_NAME) + }) + } catch (error) { + console.log('Error connecting to SQL:', error) + throw error + } finally { + if (conn) { + conn.close() + console.log('Closed SQL connection.') } } diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index 2b5e89b50..f85a4d875 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -1,10 +1,6 @@ import api, { Flatfile } from '@flatfile/api' import FlatfileListener from '@flatfile/listener' -import { getFileBuffer } from '@flatfile/util-file-buffer' -import sql from 'mssql' -import { restoreDatabaseFromBackup } from './database.restore' import { generateSheets } from './generate.sheets' -import { putInS3Bucket } from './put.s3' export const foreignDBExtractor = () => { return (listener: FlatfileListener) => { @@ -22,7 +18,7 @@ export const foreignDBExtractor = () => { const jobs = await api.jobs.create({ type: Flatfile.JobType.File, - operation: `extract-plugin-foreign-mssql-db`, + operation: 'extract-foreign-mssql-db', status: Flatfile.JobStatus.Ready, source: event.context.fileId, input: { @@ -35,32 +31,40 @@ export const foreignDBExtractor = () => { // Step 2: Create resources & create restore job listener.on( 'job:ready', - { operation: `extract-plugin-foreign-mssql-db` }, + { operation: 'extract-foreign-mssql-db' }, async (event) => { const { spaceId, environmentId, fileId, jobId } = event.context + const tick = async (progress: number, info?: string) => { + return await api.jobs.ack(jobId, { + progress, + ...(info !== undefined && { info }), + }) + } try { - const tick = async (progress: number, info?: string) => { - return await api.jobs.ack(jobId, { - progress, - ...(info !== undefined && { info }), - }) - } - const job = await api.jobs.get(jobId) const { fileName } = job.data.input - //Step 0: Get file buffer - await tick(0, 'Retrieving file') - const buffer = await getFileBuffer(event) - // Step 1: Upload file to S3 - await tick(10, 'Uploading file to S3 bucket') - const bucketName = `foreign-db-extractor-s3-bucket` - await putInS3Bucket(bucketName, buffer, fileName) + await tick(1, 'Uploading file to S3 bucket') + + const storageResponse = await fetch( + `${process.env.FLATFILE_API_URL}/v1/storage/upload`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.FLATFILE_API_KEY!}`, + }, + body: JSON.stringify({ + fileId, + }), + } + ) + const { arn } = await storageResponse.json() // Step 2: Create a Workbook - await tick(20, 'Creating workbook') + await tick(10, 'Creating workbook') // Create a workbook so we can use the workbookId to name the database const { data: workbook } = await api.workbooks.create({ @@ -71,36 +75,38 @@ export const foreignDBExtractor = () => { }) // Step 3: Restore DB from Backup - await tick(30, 'Restoring database') - // Connection config for hot RDS instance - // The restore requires access to the master database - const connectionConfig: sql.config = { - user: process.env.FOREIGN_MSSQL_USER, - password: process.env.FOREIGN_MSSQL_PASSWORD, - server: process.env.FOREIGN_MSSQL_SERVER, - database: workbook.id, - options: { port: 1433, trustServerCertificate: true }, - connectionTimeout: 30000, - requestTimeout: 90000, - timeout: 15000, - } - const arn = `arn:aws:s3:::${bucketName}/${fileName}` - await restoreDatabaseFromBackup(connectionConfig, arn) + await tick(20, 'Restoring database') + const restoreResponse = await fetch( + `${process.env.FLATFILE_API_URL}/v1/database/restore`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.FLATFILE_API_KEY!}`, + }, + body: JSON.stringify({ + databaseName: workbook.id, + arn, + }), + } + ) + + const { connection } = await restoreResponse.json() // Step 4: Create a Workbook // Get column names for all tables, loop through them and create Sheets for each table - await tick(40, 'Creating workbook') - const sheets = await generateSheets(connectionConfig) + await tick(30, 'Creating workbook') + const sheets = await generateSheets(connection) await api.workbooks.update(workbook.id, { sheets, metadata: { connectionType: 'FOREIGN_MSSQL', - connectionConfig, + connectionConfig: connection, }, }) // Step 5: Update file with workbookId - await tick(50, 'Updating file') + await tick(40, 'Updating file') await api.files.update(fileId, { workbookId: workbook.id, }) From 67361562ff93cf8a153b750887a899cb6e552111 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Mon, 5 Feb 2024 17:07:11 -0600 Subject: [PATCH 16/22] Check for non-ok http statuses --- plugins/foreign-db-extractor/src/index.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index f85a4d875..adbad3b61 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -48,7 +48,7 @@ export const foreignDBExtractor = () => { // Step 1: Upload file to S3 await tick(1, 'Uploading file to S3 bucket') - const storageResponse = await fetch( + const storageUploadResponse = await fetch( `${process.env.FLATFILE_API_URL}/v1/storage/upload`, { method: 'POST', @@ -61,7 +61,13 @@ export const foreignDBExtractor = () => { }), } ) - const { arn } = await storageResponse.json() + + if (storageUploadResponse.status !== 200) { + const errorBody = await storageUploadResponse.json() + throw new Error(errorBody.errors[0].message) + } + + const { arn } = await storageUploadResponse.json() // Step 2: Create a Workbook await tick(10, 'Creating workbook') @@ -76,7 +82,7 @@ export const foreignDBExtractor = () => { // Step 3: Restore DB from Backup await tick(20, 'Restoring database') - const restoreResponse = await fetch( + const databaseRestoreResponse = await fetch( `${process.env.FLATFILE_API_URL}/v1/database/restore`, { method: 'POST', @@ -91,7 +97,12 @@ export const foreignDBExtractor = () => { } ) - const { connection } = await restoreResponse.json() + if (databaseRestoreResponse.status !== 200) { + const errorBody = await databaseRestoreResponse.json() + throw new Error(errorBody.errors[0].message) + } + + const { connection } = await databaseRestoreResponse.json() // Step 4: Create a Workbook // Get column names for all tables, loop through them and create Sheets for each table From eacc362b860b955830ee2ea29a017bc1c509f6ba Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Tue, 6 Feb 2024 13:36:15 -0600 Subject: [PATCH 17/22] remove unused/moved code --- plugins/foreign-db-extractor/src/put.s3.ts | 27 ---------- plugins/foreign-db-extractor/src/utils.ts | 61 ---------------------- 2 files changed, 88 deletions(-) delete mode 100644 plugins/foreign-db-extractor/src/put.s3.ts delete mode 100644 plugins/foreign-db-extractor/src/utils.ts diff --git a/plugins/foreign-db-extractor/src/put.s3.ts b/plugins/foreign-db-extractor/src/put.s3.ts deleted file mode 100644 index 9f482400c..000000000 --- a/plugins/foreign-db-extractor/src/put.s3.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3' - -const s3Client = new S3Client({ - region: 'us-west-2', - credentials: { - accessKeyId: process.env.AWS_ACCESS_KEY_ID, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, - }, -}) - -export async function putInS3Bucket( - bucketName: string, - buffer: Buffer, - fileName: string -) { - try { - const putObjectCommand = new PutObjectCommand({ - Bucket: bucketName, - Key: fileName, - Body: buffer, - }) - await s3Client.send(putObjectCommand) - } catch (error) { - console.error('Error during S3 upload:', error) - throw new Error('Error during S3 upload') - } -} diff --git a/plugins/foreign-db-extractor/src/utils.ts b/plugins/foreign-db-extractor/src/utils.ts deleted file mode 100644 index d325b6b1f..000000000 --- a/plugins/foreign-db-extractor/src/utils.ts +++ /dev/null @@ -1,61 +0,0 @@ -import * as crypto from 'crypto' -import sql from 'mssql' - -export function generatePassword(length = 12) { - const charset = - 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%^&*()_+~`|}{[]:;<>,.?-=' - let password = '' - - for (let i = 0; i < length; i++) { - const randomIndex = crypto.randomBytes(1)[0] % charset.length - password += charset[randomIndex] - } - - return password -} - -export function generateUsername() { - const adjectives = [ - 'Fast', - 'Quick', - 'Rapid', - 'Speedy', - 'Flying', - 'Wild', - 'Silent', - 'Red', - 'Blue', - 'Green', - 'Yellow', - 'Swift', - 'Bright', - 'Dark', - 'Light', - ] - const nouns = [ - 'Cheetah', - 'Eagle', - 'Falcon', - 'Panther', - 'Shark', - 'Tiger', - 'Wolf', - 'Lion', - 'Dragon', - 'Phoenix', - 'Hawk', - 'Sparrow', - 'Fox', - 'Bear', - 'Leopard', - ] - - const randomNumber = Math.floor(Math.random() * 10000) - .toString() - .padStart(4, '0') - const randomAdjective = - adjectives[Math.floor(Math.random() * adjectives.length)] - const randomNoun = nouns[Math.floor(Math.random() * nouns.length)] - - return `${randomAdjective}${randomNoun}${randomNumber}` -} From 675153fab27c8b8ef748a812fe2eb2a7abec63d5 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Wed, 7 Feb 2024 16:17:08 -0600 Subject: [PATCH 18/22] Reorganize & change build tool --- package-lock.json | 6386 +++++++---------- plugins/foreign-db-extractor/package.json | 35 +- .../foreign-db-extractor/rollup.config.mjs | 84 + plugins/foreign-db-extractor/src/index.ts | 62 +- .../src/restore.database.ts | 32 + plugins/foreign-db-extractor/src/upload.s3.ts | 29 + 6 files changed, 2643 insertions(+), 3985 deletions(-) create mode 100644 plugins/foreign-db-extractor/rollup.config.mjs create mode 100644 plugins/foreign-db-extractor/src/restore.database.ts create mode 100644 plugins/foreign-db-extractor/src/upload.s3.ts diff --git a/package-lock.json b/package-lock.json index a5d59ae26..6dc6dea85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,18 +47,6 @@ "@rollup/rollup-linux-x64-gnu": "^4.8.0" } }, - "flatfilers/playground": { - "name": "flatfile-playground", - "version": "0.0.0", - "extraneous": true, - "license": "ISC", - "dependencies": { - "@flatfile/api": "^1.7.4", - "@flatfile/listener": "^1.0.1", - "@flatfile/plugin-record-hook": "^1.4.4", - "flatfile": "^3.6.1" - } - }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "license": "Apache-2.0", @@ -97,2931 +85,1536 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@aws-crypto/crc32": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/crc32/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-crypto/crc32c": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/crc32c/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-crypto/sha1-browser": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/sha1-browser/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "license": "Apache-2.0", + "node_modules/@azure/abort-controller": { + "version": "1.1.0", + "license": "MIT", "dependencies": { - "tslib": "^1.11.1" + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-crypto/util": { - "version": "3.0.0", - "license": "Apache-2.0", + "node_modules/@azure/core-auth": { + "version": "1.6.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-sdk/client-rds": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-auth/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/credential-provider-node": "3.525.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-sdk-rds": "3.525.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", - "@smithy/util-waiter": "^2.1.3", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/client-s3": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-client": { + "version": "1.8.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha1-browser": "3.0.0", - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/credential-provider-node": "3.525.0", - "@aws-sdk/middleware-bucket-endpoint": "3.525.0", - "@aws-sdk/middleware-expect-continue": "3.523.0", - "@aws-sdk/middleware-flexible-checksums": "3.523.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-location-constraint": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-sdk-s3": "3.525.0", - "@aws-sdk/middleware-signing": "3.523.0", - "@aws-sdk/middleware-ssec": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/signature-v4-multi-region": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@aws-sdk/xml-builder": "3.523.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/eventstream-serde-browser": "^2.1.3", - "@smithy/eventstream-serde-config-resolver": "^2.1.3", - "@smithy/eventstream-serde-node": "^2.1.3", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-blob-browser": "^2.1.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/hash-stream-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/md5-js": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-stream": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", - "@smithy/util-waiter": "^2.1.3", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-rest-pipeline": "^1.9.1", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.0.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-client/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-http-compat": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" + "@azure/abort-controller": "^1.0.4", + "@azure/core-client": "^1.3.0", + "@azure/core-rest-pipeline": "^1.3.0" }, "engines": { "node": ">=14.0.0" - }, - "peerDependencies": { - "@aws-sdk/credential-provider-node": "^3.525.0" } }, - "node_modules/@aws-sdk/client-sts": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-lro": { + "version": "2.6.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.2.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "@aws-sdk/credential-provider-node": "^3.525.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/core": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-lro/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "@smithy/core": "^1.3.5", - "@smithy/protocol-http": "^3.2.1", - "@smithy/signature-v4": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@azure/core-paging": { + "version": "1.5.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "tslib": "^2.2.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-rest-pipeline": { + "version": "1.14.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/property-provider": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-stream": "^2.1.3", - "tslib": "^2.5.0" + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-rest-pipeline/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/credential-provider-env": "3.523.0", - "@aws-sdk/credential-provider-process": "3.523.0", - "@aws-sdk/credential-provider-sso": "3.525.0", - "@aws-sdk/credential-provider-web-identity": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/credential-provider-imds": "^2.2.3", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-rest-pipeline/node_modules/agent-base": { + "version": "6.0.2", + "license": "MIT", "dependencies": { - "@aws-sdk/credential-provider-env": "3.523.0", - "@aws-sdk/credential-provider-http": "3.525.0", - "@aws-sdk/credential-provider-ini": "3.525.0", - "@aws-sdk/credential-provider-process": "3.523.0", - "@aws-sdk/credential-provider-sso": "3.525.0", - "@aws-sdk/credential-provider-web-identity": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/credential-provider-imds": "^2.2.3", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "debug": "4" }, "engines": { - "node": ">=14.0.0" + "node": ">= 6.0.0" } }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@azure/core-rest-pipeline/node_modules/debug": { + "version": "4.3.4", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "ms": "2.1.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-rest-pipeline/node_modules/http-proxy-agent": { + "version": "5.0.0", + "license": "MIT", "dependencies": { - "@aws-sdk/client-sso": "3.525.0", - "@aws-sdk/token-providers": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=14.0.0" + "node": ">= 6" } }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-rest-pipeline/node_modules/https-proxy-agent": { + "version": "5.0.1", + "license": "MIT", "dependencies": { - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=14.0.0" + "node": ">= 6" } }, - "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/core-rest-pipeline/node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/@azure/core-tracing": { + "version": "1.0.1", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-arn-parser": "3.495.0", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "@smithy/util-config-provider": "^2.2.1", - "tslib": "^2.5.0" + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=12.0.0" } }, - "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@azure/core-util": { + "version": "1.7.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@azure/abort-controller": "^2.0.0", + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@aws-crypto/crc32c": "3.0.0", - "@aws-sdk/types": "3.523.0", - "@smithy/is-array-buffer": "^2.1.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@azure/identity": { + "version": "3.4.2", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.5.0", + "@azure/core-client": "^1.4.0", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.6.1", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^3.5.0", + "@azure/msal-node": "^2.5.1", + "events": "^3.0.0", + "jws": "^4.0.0", + "open": "^8.0.0", + "stoppable": "^1.1.0", + "tslib": "^2.2.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@azure/keyvault-keys": { + "version": "4.8.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.5.0", + "@azure/core-http-compat": "^2.0.1", + "@azure/core-lro": "^2.2.0", + "@azure/core-paging": "^1.1.1", + "@azure/core-rest-pipeline": "^1.8.1", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.0.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@azure/logger": { + "version": "1.0.4", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "tslib": "^2.2.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@azure/msal-browser": { + "version": "3.10.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@azure/msal-common": "14.7.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=0.8.0" } }, - "node_modules/@aws-sdk/middleware-sdk-rds": { - "version": "3.525.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-format-url": "3.523.0", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/protocol-http": "^3.2.1", - "@smithy/signature-v4": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" - }, + "node_modules/@azure/msal-common": { + "version": "14.7.1", + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=0.8.0" } }, - "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@azure/msal-node": { + "version": "2.6.4", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-arn-parser": "3.495.0", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/protocol-http": "^3.2.1", - "@smithy/signature-v4": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-config-provider": "^2.2.1", - "tslib": "^2.5.0" + "@azure/msal-common": "14.7.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=16" } }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.523.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/signature-v4": "^2.1.3", - "@smithy/types": "^2.10.1", - "@smithy/util-middleware": "^2.1.3", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "node_modules/@azure/msal-node/node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.525.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" - }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@babel/core": { + "version": "7.23.7", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", - "@smithy/util-config-provider": "^2.2.1", - "@smithy/util-middleware": "^2.1.3", - "tslib": "^2.5.0" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.4", + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-sdk-s3": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/signature-v4": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "ms": "2.1.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.525.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-sso-oidc": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@aws-sdk/types": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@babel/generator": { + "version": "7.23.6", + "license": "MIT", "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.495.0", - "license": "Apache-2.0", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.525.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", - "@smithy/util-endpoints": "^1.1.4", - "tslib": "^2.5.0" - }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/util-format-url": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/querystring-builder": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.495.0", - "license": "Apache-2.0", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.525.0", - "license": "Apache-2.0", + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.523.0", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } + "@babel/core": "^7.0.0" } }, - "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.1" + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/xml-builder": { - "version": "3.523.0", - "license": "Apache-2.0", + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "license": "MIT", "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@azure/abort-controller": { - "version": "1.1.0", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", "license": "MIT", "dependencies": { - "tslib": "^2.2.0" + "@babel/types": "^7.22.5" }, "engines": { - "node": ">=12.0.0" + "node": ">=6.9.0" } }, - "node_modules/@azure/core-auth": { - "version": "1.6.0", + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.1.0", - "tslib": "^2.2.0" - }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@azure/core-auth/node_modules/@azure/abort-controller": { - "version": "2.0.0", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", "license": "MIT", - "dependencies": { - "tslib": "^2.2.0" - }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@azure/core-client": { - "version": "1.8.0", + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-auth": "^1.4.0", - "@azure/core-rest-pipeline": "^1.9.1", - "@azure/core-tracing": "^1.0.0", - "@azure/core-util": "^1.0.0", - "@azure/logger": "^1.0.0", - "tslib": "^2.2.0" - }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@azure/core-client/node_modules/@azure/abort-controller": { - "version": "2.0.0", + "node_modules/@babel/helpers": { + "version": "7.23.8", "license": "MIT", "dependencies": { - "tslib": "^2.2.0" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@azure/core-http-compat": { - "version": "2.0.1", + "node_modules/@babel/highlight": { + "version": "7.23.4", "license": "MIT", "dependencies": { - "@azure/abort-controller": "^1.0.4", - "@azure/core-client": "^1.3.0", - "@azure/core-rest-pipeline": "^1.3.0" + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@azure/core-lro": { - "version": "2.6.0", + "node_modules/@babel/parser": { + "version": "7.23.6", "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.2.0", - "@azure/logger": "^1.0.0", - "tslib": "^2.2.0" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.0.0" } }, - "node_modules/@azure/core-lro/node_modules/@azure/abort-controller": { - "version": "2.0.0", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", "license": "MIT", "dependencies": { - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-paging": { - "version": "1.5.0", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", "license": "MIT", "dependencies": { - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-rest-pipeline": { - "version": "1.14.0", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-auth": "^1.4.0", - "@azure/core-tracing": "^1.0.1", - "@azure/core-util": "^1.3.0", - "@azure/logger": "^1.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.12.13" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-rest-pipeline/node_modules/@azure/abort-controller": { - "version": "2.0.0", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", "license": "MIT", "dependencies": { - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-rest-pipeline/node_modules/agent-base": { - "version": "6.0.2", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", "license": "MIT", "dependencies": { - "debug": "4" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">= 6.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-rest-pipeline/node_modules/debug": { - "version": "4.3.4", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", "license": "MIT", "dependencies": { - "ms": "2.1.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=6.0" + "node": ">=6.9.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-rest-pipeline/node_modules/http-proxy-agent": { - "version": "5.0.0", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">= 6" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-rest-pipeline/node_modules/https-proxy-agent": { - "version": "5.0.1", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">= 6" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-rest-pipeline/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/@azure/core-tracing": { - "version": "1.0.1", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", "license": "MIT", "dependencies": { - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=12.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-util": { - "version": "1.7.0", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { - "version": "2.0.0", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", "license": "MIT", "dependencies": { - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/identity": { - "version": "3.4.2", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", "license": "MIT", "dependencies": { - "@azure/abort-controller": "^1.0.0", - "@azure/core-auth": "^1.5.0", - "@azure/core-client": "^1.4.0", - "@azure/core-rest-pipeline": "^1.1.0", - "@azure/core-tracing": "^1.0.0", - "@azure/core-util": "^1.6.1", - "@azure/logger": "^1.0.0", - "@azure/msal-browser": "^3.5.0", - "@azure/msal-node": "^2.5.1", - "events": "^3.0.0", - "jws": "^4.0.0", - "open": "^8.0.0", - "stoppable": "^1.1.0", - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/keyvault-keys": { - "version": "4.8.0", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", "license": "MIT", "dependencies": { - "@azure/abort-controller": "^1.0.0", - "@azure/core-auth": "^1.3.0", - "@azure/core-client": "^1.5.0", - "@azure/core-http-compat": "^2.0.1", - "@azure/core-lro": "^2.2.0", - "@azure/core-paging": "^1.1.1", - "@azure/core-rest-pipeline": "^1.8.1", - "@azure/core-tracing": "^1.0.0", - "@azure/core-util": "^1.0.0", - "@azure/logger": "^1.0.0", - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/logger": { - "version": "1.0.4", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", "license": "MIT", "dependencies": { - "tslib": "^2.2.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@azure/msal-browser": { - "version": "3.10.0", + "node_modules/@babel/runtime": { + "version": "7.23.8", + "dev": true, "license": "MIT", "dependencies": { - "@azure/msal-common": "14.7.1" + "regenerator-runtime": "^0.14.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=6.9.0" } }, - "node_modules/@azure/msal-common": { - "version": "14.7.1", + "node_modules/@babel/template": { + "version": "7.22.15", "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, "engines": { - "node": ">=0.8.0" + "node": ">=6.9.0" } }, - "node_modules/@azure/msal-node": { - "version": "2.6.4", + "node_modules/@babel/traverse": { + "version": "7.23.7", "license": "MIT", "dependencies": { - "@azure/msal-common": "14.7.1", - "jsonwebtoken": "^9.0.0", - "uuid": "^8.3.0" + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" }, "engines": { - "node": ">=16" - } - }, - "node_modules/@azure/msal-node/node_modules/uuid": { - "version": "8.3.2", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.4", "license": "MIT", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "ms": "2.1.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "license": "MIT" }, - "node_modules/@babel/core": { - "version": "7.23.7", + "node_modules/@babel/types": { + "version": "7.23.6", "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.4", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@changesets/apply-release-plan": { + "version": "7.0.0", + "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@babel/runtime": "^7.20.1", + "@changesets/config": "^3.0.0", + "@changesets/get-version-range-type": "^0.4.0", + "@changesets/git": "^3.0.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "detect-indent": "^6.0.0", + "fs-extra": "^7.0.1", + "lodash.startcase": "^4.4.0", + "outdent": "^0.5.0", + "prettier": "^2.7.1", + "resolve-from": "^5.0.0", + "semver": "^7.5.3" } }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/@changesets/assemble-release-plan": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "semver": "^7.5.3" } }, - "node_modules/@babel/generator": { - "version": "7.23.6", + "node_modules/@changesets/changelog-git": { + "version": "0.2.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" + "@changesets/types": "^6.0.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", + "node_modules/@changesets/cli": { + "version": "2.27.1", + "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" + "@babel/runtime": "^7.20.1", + "@changesets/apply-release-plan": "^7.0.0", + "@changesets/assemble-release-plan": "^6.0.0", + "@changesets/changelog-git": "^0.2.0", + "@changesets/config": "^3.0.0", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/get-release-plan": "^4.0.0", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/types": "^6.0.0", + "@changesets/write": "^0.3.0", + "@manypkg/get-packages": "^1.1.3", + "@types/semver": "^7.5.0", + "ansi-colors": "^4.1.3", + "chalk": "^2.1.0", + "ci-info": "^3.7.0", + "enquirer": "^2.3.0", + "external-editor": "^3.1.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "meow": "^6.0.0", + "outdent": "^0.5.0", + "p-limit": "^2.2.0", + "preferred-pm": "^3.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.5.3", + "spawndamnit": "^2.0.0", + "term-size": "^2.1.0", + "tty-table": "^4.1.5" }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", "bin": { - "semver": "bin/semver.js" + "changeset": "bin.js" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", + "node_modules/@changesets/config": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1", + "micromatch": "^4.0.2" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", + "node_modules/@changesets/errors": { + "version": "0.2.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" + "extendable-error": "^0.1.5" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", + "node_modules/@changesets/get-dependents-graph": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "semver": "^7.5.3" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", + "node_modules/@changesets/get-release-plan": { + "version": "4.0.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" + "@babel/runtime": "^7.20.1", + "@changesets/assemble-release-plan": "^6.0.0", + "@changesets/config": "^3.0.0", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", + "node_modules/@changesets/get-version-range-type": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@changesets/git": { + "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "is-subdir": "^1.1.1", + "micromatch": "^4.0.2", + "spawndamnit": "^2.0.0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", + "node_modules/@changesets/logger": { + "version": "0.1.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "chalk": "^2.1.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", + "node_modules/@changesets/parse": { + "version": "0.4.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@changesets/types": "^6.0.0", + "js-yaml": "^3.13.1" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", + "node_modules/@changesets/pre": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", + "node_modules/@changesets/read": { + "version": "0.6.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/parse": "^0.4.0", + "@changesets/types": "^6.0.0", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "p-filter": "^2.1.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", + "node_modules/@changesets/types": { + "version": "6.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@changesets/write": { + "version": "0.3.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "prettier": "^2.7.1" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", + "node_modules/@faker-js/faker": { + "version": "7.6.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0", + "npm": ">=6.0.0" } }, - "node_modules/@babel/helpers": { - "version": "7.23.8", - "license": "MIT", + "node_modules/@flatfile/api": { + "version": "1.7.4", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" - }, - "engines": { - "node": ">=6.9.0" + "@flatfile/cross-env-config": "0.0.4", + "@types/pako": "2.0.1", + "form-data": "4.0.0", + "js-base64": "3.7.2", + "node-fetch": "2.7.0", + "pako": "2.0.1", + "qs": "6.11.2", + "url-join": "4.0.1" } }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "license": "MIT", + "node_modules/@flatfile/blueprint": { + "version": "0.0.9", + "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "openapi-typescript-codegen": "^0.23.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=16 || >=18", + "pnpm": ">=7" } }, - "node_modules/@babel/parser": { - "version": "7.23.6", - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } + "node_modules/@flatfile/common-plugin-utils": { + "resolved": "support/common-utils", + "link": true }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "license": "MIT", + "node_modules/@flatfile/configure": { + "version": "0.5.39", + "dev": true, + "license": "ISC", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@flatfile/hooks": "^1.3.1", + "@flatfile/schema": "^0.2.16", + "case-anything": "^2.1.10", + "date-fns": "^2.29.1", + "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@flatfile/cross-env-config": { + "version": "0.0.4", + "license": "ISC" }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@flatfile/hooks": { + "version": "1.3.2", + "license": "ISC" }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", + "node_modules/@flatfile/listener": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "ansi-colors": "^4.1.3", + "cross-fetch": "^4.0.0", + "flat": "^5.0.2", + "pako": "^2.1.0", + "wildcard-match": "^5.1.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@flatfile/api": "^1.5.10" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@flatfile/listener-driver-pubsub": { + "version": "2.0.3", + "license": "ISC", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@flatfile/api": "^1.5.5", + "@flatfile/listener": "^1.0.0", + "@flatfile/utils-debugger": "^0.0.5", + "axios": "^1.4.0", + "pubnub": "^7.2.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@flatfile/listener": "1.0.0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@flatfile/listener/node_modules/pako": { + "version": "2.1.0", + "license": "(MIT AND Zlib)" }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@flatfile/plugin-autocast": { + "resolved": "plugins/autocast", + "link": true }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@flatfile/plugin-automap": { + "resolved": "plugins/automap", + "link": true }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@flatfile/plugin-connect-via-merge": { + "resolved": "plugins/merge-connection", + "link": true }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@flatfile/plugin-constraints": { + "resolved": "plugins/constraints", + "link": true }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@flatfile/plugin-convert-json-schema": { + "resolved": "plugins/json-schema", + "link": true }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@flatfile/plugin-convert-openapi-schema": { + "resolved": "plugins/openapi-schema", + "link": true }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/@flatfile/plugin-convert-sql-ddl": { + "resolved": "plugins/sql-ddl-converter", + "link": true + }, + "node_modules/@flatfile/plugin-convert-yaml-schema": { + "resolved": "plugins/yaml-schema", + "link": true + }, + "node_modules/@flatfile/plugin-dedupe": { + "resolved": "plugins/dedupe", + "link": true + }, + "node_modules/@flatfile/plugin-delimiter-extractor": { + "resolved": "plugins/delimiter-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-dxp-configure": { + "resolved": "plugins/dxp-configure", + "link": true + }, + "node_modules/@flatfile/plugin-export-workbook": { + "resolved": "plugins/export-workbook", + "link": true + }, + "node_modules/@flatfile/plugin-foreign-db-extractor": { + "resolved": "plugins/foreign-db-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-graphql": { + "resolved": "plugins/graphql", + "link": true + }, + "node_modules/@flatfile/plugin-job-handler": { + "resolved": "plugins/job-handler", + "link": true + }, + "node_modules/@flatfile/plugin-json-extractor": { + "resolved": "plugins/json-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-pdf-extractor": { + "resolved": "plugins/pdf-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-psv-extractor": { + "resolved": "plugins/psv-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-record-hook": { + "resolved": "plugins/record-hook", + "link": true + }, + "node_modules/@flatfile/plugin-space-configure": { + "resolved": "plugins/space-configure", + "link": true + }, + "node_modules/@flatfile/plugin-tsv-extractor": { + "resolved": "plugins/tsv-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-webhook-egress": { + "resolved": "plugins/webhook-egress", + "link": true + }, + "node_modules/@flatfile/plugin-webhook-event-forwarder": { + "resolved": "plugins/webhook-event-forwarder", + "link": true + }, + "node_modules/@flatfile/plugin-xlsx-extractor": { + "resolved": "plugins/xlsx-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-xml-extractor": { + "resolved": "plugins/xml-extractor", + "link": true + }, + "node_modules/@flatfile/plugin-zip-extractor": { + "resolved": "plugins/zip-extractor", + "link": true + }, + "node_modules/@flatfile/schema": { + "version": "0.2.17", + "dev": true, + "dependencies": { + "@flatfile/blueprint": "^0.0.9" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "license": "MIT", + "node_modules/@flatfile/util-common": { + "resolved": "utils/common", + "link": true + }, + "node_modules/@flatfile/util-extractor": { + "resolved": "utils/extractor", + "link": true + }, + "node_modules/@flatfile/util-fetch-schema": { + "resolved": "utils/fetch-schema", + "link": true + }, + "node_modules/@flatfile/util-file-buffer": { + "resolved": "utils/file-buffer", + "link": true + }, + "node_modules/@flatfile/util-response-rejection": { + "resolved": "utils/response-rejection", + "link": true + }, + "node_modules/@flatfile/utils-debugger": { + "version": "0.0.5", + "license": "ISC", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "ansi-colors": "^4.1.3" + } + }, + "node_modules/@flatfile/utils-testing": { + "resolved": "utils/testing", + "link": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/runtime": { - "version": "7.23.8", - "dev": true, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/template": { - "version": "7.22.15", + "node_modules/@jest/console": { + "version": "29.7.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.7", + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "debug": "^4.3.1", - "globals": "^11.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.4", + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/@babel/types": { - "version": "7.23.6", + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=7.0.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/@changesets/apply-release-plan": { - "version": "7.0.0", + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/config": "^3.0.0", - "@changesets/get-version-range-type": "^0.4.0", - "@changesets/git": "^3.0.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "detect-indent": "^6.0.0", - "fs-extra": "^7.0.1", - "lodash.startcase": "^4.4.0", - "outdent": "^0.5.0", - "prettier": "^2.7.1", - "resolve-from": "^5.0.0", - "semver": "^7.5.3" + "engines": { + "node": ">=8" } }, - "node_modules/@changesets/assemble-release-plan": { - "version": "6.0.0", + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "semver": "^7.5.3" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@changesets/changelog-git": { - "version": "0.2.0", + "node_modules/@jest/core": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@changesets/types": "^6.0.0" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@changesets/cli": { - "version": "2.27.1", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/apply-release-plan": "^7.0.0", - "@changesets/assemble-release-plan": "^6.0.0", - "@changesets/changelog-git": "^0.2.0", - "@changesets/config": "^3.0.0", - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", - "@changesets/get-release-plan": "^4.0.0", - "@changesets/git": "^3.0.0", - "@changesets/logger": "^0.1.0", - "@changesets/pre": "^2.0.0", - "@changesets/read": "^0.6.0", - "@changesets/types": "^6.0.0", - "@changesets/write": "^0.3.0", - "@manypkg/get-packages": "^1.1.3", - "@types/semver": "^7.5.0", - "ansi-colors": "^4.1.3", - "chalk": "^2.1.0", - "ci-info": "^3.7.0", - "enquirer": "^2.3.0", - "external-editor": "^3.1.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "meow": "^6.0.0", - "outdent": "^0.5.0", - "p-limit": "^2.2.0", - "preferred-pm": "^3.0.0", - "resolve-from": "^5.0.0", - "semver": "^7.5.3", - "spawndamnit": "^2.0.0", - "term-size": "^2.1.0", - "tty-table": "^4.1.5" + "color-convert": "^2.0.1" }, - "bin": { - "changeset": "bin.js" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@changesets/config": { - "version": "3.0.0", + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.0.0", - "@changesets/logger": "^0.1.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1", - "micromatch": "^4.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@changesets/errors": { - "version": "0.2.0", + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "extendable-error": "^0.1.5" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@changesets/get-dependents-graph": { - "version": "2.0.0", + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "semver": "^7.5.3" - } + "license": "MIT" }, - "node_modules/@changesets/get-release-plan": { + "node_modules/@jest/core/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/assemble-release-plan": "^6.0.0", - "@changesets/config": "^3.0.0", - "@changesets/pre": "^2.0.0", - "@changesets/read": "^0.6.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3" + "engines": { + "node": ">=8" } }, - "node_modules/@changesets/get-version-range-type": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@changesets/git": { - "version": "3.0.0", + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "is-subdir": "^1.1.1", - "micromatch": "^4.0.2", - "spawndamnit": "^2.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@changesets/logger": { - "version": "0.1.0", - "dev": true, + "node_modules/@jest/environment": { + "version": "29.7.0", "license": "MIT", "dependencies": { - "chalk": "^2.1.0" + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@changesets/parse": { - "version": "0.4.0", - "dev": true, + "node_modules/@jest/expect": { + "version": "29.7.0", "license": "MIT", "dependencies": { - "@changesets/types": "^6.0.0", - "js-yaml": "^3.13.1" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@changesets/pre": { - "version": "2.0.0", - "dev": true, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1" + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@changesets/read": { - "version": "0.6.0", - "dev": true, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/git": "^3.0.0", - "@changesets/logger": "^0.1.0", - "@changesets/parse": "^0.4.0", - "@changesets/types": "^6.0.0", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "p-filter": "^2.1.0" + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@changesets/types": { - "version": "6.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@changesets/write": { - "version": "0.3.0", - "dev": true, + "node_modules/@jest/globals": { + "version": "29.7.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.1", - "@changesets/types": "^6.0.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "prettier": "^2.7.1" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@faker-js/faker": { - "version": "7.6.0", + "node_modules/@jest/reporters": { + "version": "29.7.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=14.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/@flatfile/api": { - "version": "1.7.4", "dependencies": { - "@flatfile/cross-env-config": "0.0.4", - "@types/pako": "2.0.1", - "form-data": "4.0.0", - "js-base64": "3.7.2", - "node-fetch": "2.7.0", - "pako": "2.0.1", - "qs": "6.11.2", - "url-join": "4.0.1" - } - }, - "node_modules/@flatfile/blueprint": { - "version": "0.0.9", - "dev": true, - "dependencies": { - "openapi-typescript-codegen": "^0.23.0" - }, - "engines": { - "node": ">=16 || >=18", - "pnpm": ">=7" - } - }, - "node_modules/@flatfile/common-plugin-utils": { - "resolved": "support/common-utils", - "link": true - }, - "node_modules/@flatfile/configure": { - "version": "0.5.39", - "dev": true, - "license": "ISC", - "dependencies": { - "@flatfile/hooks": "^1.3.1", - "@flatfile/schema": "^0.2.16", - "case-anything": "^2.1.10", - "date-fns": "^2.29.1", - "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz" - } - }, - "node_modules/@flatfile/cross-env-config": { - "version": "0.0.4", - "license": "ISC" - }, - "node_modules/@flatfile/hooks": { - "version": "1.3.2", - "license": "ISC" - }, - "node_modules/@flatfile/listener": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.3", - "cross-fetch": "^4.0.0", - "flat": "^5.0.2", - "pako": "^2.1.0", - "wildcard-match": "^5.1.2" - }, - "peerDependencies": { - "@flatfile/api": "^1.5.10" - } - }, - "node_modules/@flatfile/listener-driver-pubsub": { - "version": "2.0.3", - "license": "ISC", - "dependencies": { - "@flatfile/api": "^1.5.5", - "@flatfile/listener": "^1.0.0", - "@flatfile/utils-debugger": "^0.0.5", - "axios": "^1.4.0", - "pubnub": "^7.2.2" - }, - "peerDependencies": { - "@flatfile/listener": "1.0.0" - } - }, - "node_modules/@flatfile/listener/node_modules/pako": { - "version": "2.1.0", - "license": "(MIT AND Zlib)" - }, - "node_modules/@flatfile/plugin-autocast": { - "resolved": "plugins/autocast", - "link": true - }, - "node_modules/@flatfile/plugin-automap": { - "resolved": "plugins/automap", - "link": true - }, - "node_modules/@flatfile/plugin-connect-via-merge": { - "resolved": "plugins/merge-connection", - "link": true - }, - "node_modules/@flatfile/plugin-constraints": { - "resolved": "plugins/constraints", - "link": true - }, - "node_modules/@flatfile/plugin-convert-json-schema": { - "resolved": "plugins/json-schema", - "link": true - }, - "node_modules/@flatfile/plugin-convert-openapi-schema": { - "resolved": "plugins/openapi-schema", - "link": true - }, - "node_modules/@flatfile/plugin-convert-sql-ddl": { - "resolved": "plugins/sql-ddl-converter", - "link": true - }, - "node_modules/@flatfile/plugin-convert-yaml-schema": { - "resolved": "plugins/yaml-schema", - "link": true - }, - "node_modules/@flatfile/plugin-dedupe": { - "resolved": "plugins/dedupe", - "link": true - }, - "node_modules/@flatfile/plugin-delimiter-extractor": { - "resolved": "plugins/delimiter-extractor", - "link": true - }, - "node_modules/@flatfile/plugin-dxp-configure": { - "resolved": "plugins/dxp-configure", - "link": true - }, - "node_modules/@flatfile/plugin-export-workbook": { - "resolved": "plugins/export-workbook", - "link": true - }, - "node_modules/@flatfile/plugin-foreign-db-extractor": { - "resolved": "plugins/foreign-db-extractor", - "link": true - }, - "node_modules/@flatfile/plugin-graphql": { - "resolved": "plugins/graphql", - "link": true - }, - "node_modules/@flatfile/plugin-job-handler": { - "resolved": "plugins/job-handler", - "link": true - }, - "node_modules/@flatfile/plugin-json-extractor": { - "resolved": "plugins/json-extractor", - "link": true - }, - "node_modules/@flatfile/plugin-pdf-extractor": { - "resolved": "plugins/pdf-extractor", - "link": true - }, - "node_modules/@flatfile/plugin-psv-extractor": { - "resolved": "plugins/psv-extractor", - "link": true - }, - "node_modules/@flatfile/plugin-record-hook": { - "resolved": "plugins/record-hook", - "link": true - }, - "node_modules/@flatfile/plugin-space-configure": { - "resolved": "plugins/space-configure", - "link": true - }, - "node_modules/@flatfile/plugin-tsv-extractor": { - "resolved": "plugins/tsv-extractor", - "link": true - }, - "node_modules/@flatfile/plugin-webhook-egress": { - "resolved": "plugins/webhook-egress", - "link": true - }, - "node_modules/@flatfile/plugin-webhook-event-forwarder": { - "resolved": "plugins/webhook-event-forwarder", - "link": true - }, - "node_modules/@flatfile/plugin-xlsx-extractor": { - "resolved": "plugins/xlsx-extractor", - "link": true - }, - "node_modules/@flatfile/plugin-xml-extractor": { - "resolved": "plugins/xml-extractor", - "link": true - }, - "node_modules/@flatfile/plugin-zip-extractor": { - "resolved": "plugins/zip-extractor", - "link": true - }, - "node_modules/@flatfile/schema": { - "version": "0.2.17", - "dev": true, - "dependencies": { - "@flatfile/blueprint": "^0.0.9" - } - }, - "node_modules/@flatfile/util-common": { - "resolved": "utils/common", - "link": true - }, - "node_modules/@flatfile/util-extractor": { - "resolved": "utils/extractor", - "link": true - }, - "node_modules/@flatfile/util-fetch-schema": { - "resolved": "utils/fetch-schema", - "link": true - }, - "node_modules/@flatfile/util-file-buffer": { - "resolved": "utils/file-buffer", - "link": true - }, - "node_modules/@flatfile/util-response-rejection": { - "resolved": "utils/response-rejection", - "link": true - }, - "node_modules/@flatfile/utils-debugger": { - "version": "0.0.5", - "license": "ISC", - "dependencies": { - "ansi-colors": "^4.1.3" - } - }, - "node_modules/@flatfile/utils-testing": { - "resolved": "utils/testing", - "link": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "license": "MIT", - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.21", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@js-joda/core": { - "version": "5.6.1", - "license": "BSD-3-Clause" - }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@lezer/common": { - "version": "1.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@lezer/lr": { - "version": "1.3.14", - "dev": true, - "license": "MIT", - "dependencies": { - "@lezer/common": "^1.0.0" - } - }, - "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "2.8.5", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@manypkg/find-root": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.5.5", - "@types/node": "^12.7.1", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0" - } - }, - "node_modules/@manypkg/find-root/node_modules/@types/node": { - "version": "12.20.55", - "dev": true, - "license": "MIT" - }, - "node_modules/@manypkg/find-root/node_modules/fs-extra": { - "version": "8.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@manypkg/get-packages": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.5.5", - "@changesets/types": "^4.0.1", - "@manypkg/find-root": "^1.1.0", - "fs-extra": "^8.1.0", - "globby": "^11.0.0", - "read-yaml-file": "^1.1.0" - } - }, - "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { - "version": "4.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@manypkg/get-packages/node_modules/fs-extra": { - "version": "8.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@mischnic/json-sourcemap": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@lezer/common": "^1.0.0", - "@lezer/lr": "^1.0.0", - "json5": "^2.2.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.2", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@parcel/bundler-default": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/graph": "3.2.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/cache": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/utils": "2.12.0", - "lmdb": "2.8.5" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/codeframe": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0" - }, - "engines": { - "node": ">= 12.0.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@parcel/codeframe/node_modules/ansi-styles": { + "node_modules/@jest/reporters/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -3035,7 +1628,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@parcel/codeframe/node_modules/chalk": { + "node_modules/@jest/reporters/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -3050,7 +1652,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@parcel/codeframe/node_modules/color-convert": { + "node_modules/@jest/reporters/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -3061,12 +1663,31 @@ "node": ">=7.0.0" } }, - "node_modules/@parcel/codeframe/node_modules/color-name": { + "node_modules/@jest/reporters/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/@parcel/codeframe/node_modules/has-flag": { + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -3074,7 +1695,18 @@ "node": ">=8" } }, - "node_modules/@parcel/codeframe/node_modules/supports-color": { + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -3085,218 +1717,156 @@ "node": ">=8" } }, - "node_modules/@parcel/compressor-raw": { - "version": "2.12.0", - "dev": true, + "node_modules/@jest/schemas": { + "version": "29.6.3", "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@parcel/config-default": { - "version": "2.12.0", + "node_modules/@jest/source-map": { + "version": "29.6.3", "dev": true, "license": "MIT", "dependencies": { - "@parcel/bundler-default": "2.12.0", - "@parcel/compressor-raw": "2.12.0", - "@parcel/namer-default": "2.12.0", - "@parcel/optimizer-css": "2.12.0", - "@parcel/optimizer-htmlnano": "2.12.0", - "@parcel/optimizer-image": "2.12.0", - "@parcel/optimizer-svgo": "2.12.0", - "@parcel/optimizer-swc": "2.12.0", - "@parcel/packager-css": "2.12.0", - "@parcel/packager-html": "2.12.0", - "@parcel/packager-js": "2.12.0", - "@parcel/packager-raw": "2.12.0", - "@parcel/packager-svg": "2.12.0", - "@parcel/packager-wasm": "2.12.0", - "@parcel/reporter-dev-server": "2.12.0", - "@parcel/resolver-default": "2.12.0", - "@parcel/runtime-browser-hmr": "2.12.0", - "@parcel/runtime-js": "2.12.0", - "@parcel/runtime-react-refresh": "2.12.0", - "@parcel/runtime-service-worker": "2.12.0", - "@parcel/transformer-babel": "2.12.0", - "@parcel/transformer-css": "2.12.0", - "@parcel/transformer-html": "2.12.0", - "@parcel/transformer-image": "2.12.0", - "@parcel/transformer-js": "2.12.0", - "@parcel/transformer-json": "2.12.0", - "@parcel/transformer-postcss": "2.12.0", - "@parcel/transformer-posthtml": "2.12.0", - "@parcel/transformer-raw": "2.12.0", - "@parcel/transformer-react-refresh-wrap": "2.12.0", - "@parcel/transformer-svg": "2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, - "peerDependencies": { - "@parcel/core": "^2.12.0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@parcel/core": { - "version": "2.12.0", + "node_modules/@jest/test-result": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/cache": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/graph": "3.2.0", - "@parcel/logger": "2.12.0", - "@parcel/package-manager": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "abortcontroller-polyfill": "^1.1.9", - "base-x": "^3.0.8", - "browserslist": "^4.6.6", - "clone": "^2.1.1", - "dotenv": "^7.0.0", - "dotenv-expand": "^5.1.0", - "json5": "^2.2.0", - "msgpackr": "^1.9.9", - "nullthrows": "^1.1.1", - "semver": "^7.5.2" - }, - "engines": { - "node": ">= 12.0.0" + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@parcel/core/node_modules/dotenv": { - "version": "7.0.0", + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@parcel/core/node_modules/dotenv-expand": { - "version": "5.1.0", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/@parcel/diagnostic": { - "version": "2.12.0", - "dev": true, + "node_modules/@jest/transform": { + "version": "29.7.0", "license": "MIT", "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "nullthrows": "^1.1.1" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@parcel/events": { - "version": "2.12.0", - "dev": true, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@parcel/fs": { - "version": "2.12.0", - "dev": true, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", "license": "MIT", "dependencies": { - "@parcel/rust": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.12.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@parcel/graph": { - "version": "3.2.0", - "dev": true, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "nullthrows": "^1.1.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=7.0.0" } }, - "node_modules/@parcel/logger": { - "version": "2.12.0", - "dev": true, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8" } }, - "node_modules/@parcel/markdown-ansi": { - "version": "2.12.0", - "dev": true, + "node_modules/@jest/types": { + "version": "29.6.3", "license": "MIT", "dependencies": { - "chalk": "^4.1.0" + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@parcel/markdown-ansi/node_modules/ansi-styles": { + "node_modules/@jest/types/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -3308,9 +1878,8 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@parcel/markdown-ansi/node_modules/chalk": { + "node_modules/@jest/types/node_modules/chalk": { "version": "4.1.2", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -3323,9 +1892,8 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@parcel/markdown-ansi/node_modules/color-convert": { + "node_modules/@jest/types/node_modules/color-convert": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -3334,22 +1902,19 @@ "node": ">=7.0.0" } }, - "node_modules/@parcel/markdown-ansi/node_modules/color-name": { + "node_modules/@jest/types/node_modules/color-name": { "version": "1.1.4", - "dev": true, "license": "MIT" }, - "node_modules/@parcel/markdown-ansi/node_modules/has-flag": { + "node_modules/@jest/types/node_modules/has-flag": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@parcel/markdown-ansi/node_modules/supports-color": { + "node_modules/@jest/types/node_modules/supports-color": { "version": "7.2.0", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -3358,160 +1923,215 @@ "node": ">=8" } }, - "node_modules/@parcel/namer-default": { - "version": "2.12.0", - "dev": true, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "nullthrows": "^1.1.1" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.21", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@js-joda/core": { + "version": "5.6.1", + "license": "BSD-3-Clause" + }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@lezer/common": { + "version": "1.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@lezer/lr": { + "version": "1.3.14", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "2.8.5", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@manypkg/find-root": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@types/node": "^12.7.1", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0" } }, - "node_modules/@parcel/node-resolver-core": { - "version": "3.3.0", + "node_modules/@manypkg/find-root/node_modules/@types/node": { + "version": "12.20.55", + "dev": true, + "license": "MIT" + }, + "node_modules/@manypkg/find-root/node_modules/fs-extra": { + "version": "8.1.0", "dev": true, "license": "MIT", "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=6 <7 || >=8" } }, - "node_modules/@parcel/optimizer-css": { - "version": "2.12.0", + "node_modules/@manypkg/get-packages": { + "version": "1.1.3", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "browserslist": "^4.6.6", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@babel/runtime": "^7.5.5", + "@changesets/types": "^4.0.1", + "@manypkg/find-root": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "^11.0.0", + "read-yaml-file": "^1.1.0" } }, - "node_modules/@parcel/optimizer-htmlnano": { - "version": "2.12.0", + "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { + "version": "4.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@manypkg/get-packages/node_modules/fs-extra": { + "version": "8.1.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "htmlnano": "^2.0.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "svgo": "^2.4.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=6 <7 || >=8" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": { - "version": "4.3.0", + "node_modules/@mischnic/json-sourcemap": { + "version": "0.1.1", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "@lezer/common": "^1.0.0", + "@lezer/lr": "^1.0.0", + "json5": "^2.2.1" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=12.0.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": { - "version": "1.1.3", + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.2", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { - "version": "4.2.0", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "dev": true, "license": "MIT", "dependencies": { - "css-tree": "^1.1.2" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=8.0.0" + "node": ">= 8" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": { - "version": "2.0.14", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", "dev": true, - "license": "CC0-1.0" + "license": "MIT", + "engines": { + "node": ">= 8" + } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": { - "version": "2.8.0", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=10.13.0" + "node": ">= 8" } }, - "node_modules/@parcel/optimizer-image": { + "node_modules/@parcel/bundler-default": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/diagnostic": "2.12.0", + "@parcel/graph": "3.2.0", "@parcel/plugin": "2.12.0", "@parcel/rust": "2.12.0", "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0" + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", @@ -3520,151 +2140,114 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/optimizer-svgo": { + "node_modules/@parcel/cache": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", "@parcel/utils": "2.12.0", - "svgo": "^2.4.0" + "lmdb": "2.8.5" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/css-select": { - "version": "4.3.0", + "node_modules/@parcel/codeframe": { + "version": "2.12.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": { - "version": "1.1.3", + "node_modules/@parcel/codeframe/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/csso": { - "version": "4.2.0", + "node_modules/@parcel/codeframe/node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "css-tree": "^1.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/@parcel/optimizer-svgo/node_modules/svgo": { - "version": "2.8.0", + "node_modules/@parcel/codeframe/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10.13.0" + "node": ">=7.0.0" } }, - "node_modules/@parcel/optimizer-swc": { - "version": "2.12.0", + "node_modules/@parcel/codeframe/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@parcel/codeframe/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "@swc/core": "^1.3.36", - "nullthrows": "^1.1.1" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8" } }, - "node_modules/@parcel/package-manager": { - "version": "2.12.0", + "node_modules/@parcel/codeframe/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/node-resolver-core": "3.3.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "@swc/core": "^1.3.36", - "semver": "^7.5.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" + "node": ">=8" } }, - "node_modules/@parcel/packager-css": { + "node_modules/@parcel/compressor-raw": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" + "@parcel/plugin": "2.12.0" }, "engines": { "node": ">= 12.0.0", @@ -3675,147 +2258,159 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-html": { + "node_modules/@parcel/config-default": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "@parcel/bundler-default": "2.12.0", + "@parcel/compressor-raw": "2.12.0", + "@parcel/namer-default": "2.12.0", + "@parcel/optimizer-css": "2.12.0", + "@parcel/optimizer-htmlnano": "2.12.0", + "@parcel/optimizer-image": "2.12.0", + "@parcel/optimizer-svgo": "2.12.0", + "@parcel/optimizer-swc": "2.12.0", + "@parcel/packager-css": "2.12.0", + "@parcel/packager-html": "2.12.0", + "@parcel/packager-js": "2.12.0", + "@parcel/packager-raw": "2.12.0", + "@parcel/packager-svg": "2.12.0", + "@parcel/packager-wasm": "2.12.0", + "@parcel/reporter-dev-server": "2.12.0", + "@parcel/resolver-default": "2.12.0", + "@parcel/runtime-browser-hmr": "2.12.0", + "@parcel/runtime-js": "2.12.0", + "@parcel/runtime-react-refresh": "2.12.0", + "@parcel/runtime-service-worker": "2.12.0", + "@parcel/transformer-babel": "2.12.0", + "@parcel/transformer-css": "2.12.0", + "@parcel/transformer-html": "2.12.0", + "@parcel/transformer-image": "2.12.0", + "@parcel/transformer-js": "2.12.0", + "@parcel/transformer-json": "2.12.0", + "@parcel/transformer-postcss": "2.12.0", + "@parcel/transformer-posthtml": "2.12.0", + "@parcel/transformer-raw": "2.12.0", + "@parcel/transformer-react-refresh-wrap": "2.12.0", + "@parcel/transformer-svg": "2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/packager-js": { + "node_modules/@parcel/core": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.12.0", "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/graph": "3.2.0", + "@parcel/logger": "2.12.0", + "@parcel/package-manager": "2.12.0", "@parcel/plugin": "2.12.0", + "@parcel/profiler": "2.12.0", "@parcel/rust": "2.12.0", "@parcel/source-map": "^2.1.1", "@parcel/types": "2.12.0", "@parcel/utils": "2.12.0", - "globals": "^13.2.0", - "nullthrows": "^1.1.1" + "@parcel/workers": "2.12.0", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.9.9", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-js/node_modules/globals": { - "version": "13.24.0", + "node_modules/@parcel/core/node_modules/dotenv": { + "version": "7.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/@parcel/packager-js/node_modules/type-fest": { - "version": "0.20.2", + "node_modules/@parcel/core/node_modules/dotenv-expand": { + "version": "5.1.0", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "BSD-2-Clause" }, - "node_modules/@parcel/packager-raw": { + "node_modules/@parcel/diagnostic": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-svg": { + "node_modules/@parcel/events": { "version": "2.12.0", "dev": true, "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "posthtml": "^0.16.4" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/packager-ts": { + "node_modules/@parcel/fs": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/rust": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.12.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/packager-wasm": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0" - }, - "engines": { - "node": ">=12.0.0", - "parcel": "^2.12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/plugin": { - "version": "2.12.0", + "node_modules/@parcel/graph": { + "version": "3.2.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/types": "2.12.0" + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0" @@ -3825,14 +2420,13 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/profiler": { + "node_modules/@parcel/logger": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", - "chrome-trace-event": "^1.0.2" + "@parcel/events": "2.12.0" }, "engines": { "node": ">= 12.0.0" @@ -3842,27 +2436,22 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/reporter-cli": { + "node_modules/@parcel/markdown-ansi": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "chalk": "^4.1.0", - "term-size": "^2.2.1" + "chalk": "^4.1.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/reporter-cli/node_modules/ansi-styles": { + "node_modules/@parcel/markdown-ansi/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -3876,7 +2465,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@parcel/reporter-cli/node_modules/chalk": { + "node_modules/@parcel/markdown-ansi/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -3891,7 +2480,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@parcel/reporter-cli/node_modules/color-convert": { + "node_modules/@parcel/markdown-ansi/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -3902,12 +2491,12 @@ "node": ">=7.0.0" } }, - "node_modules/@parcel/reporter-cli/node_modules/color-name": { + "node_modules/@parcel/markdown-ansi/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/@parcel/reporter-cli/node_modules/has-flag": { + "node_modules/@parcel/markdown-ansi/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -3915,7 +2504,7 @@ "node": ">=8" } }, - "node_modules/@parcel/reporter-cli/node_modules/supports-color": { + "node_modules/@parcel/markdown-ansi/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -3923,69 +2512,17 @@ "has-flag": "^4.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@parcel/reporter-dev-server": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/reporter-tracer": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "chrome-trace-event": "^1.0.3", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/resolver-default": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/node-resolver-core": "3.3.0", - "@parcel/plugin": "2.12.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8" } }, - "node_modules/@parcel/runtime-browser-hmr": { + "node_modules/@parcel/namer-default": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { + "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0" + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", @@ -3996,34 +2533,39 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/runtime-js": { - "version": "2.12.0", + "node_modules/@parcel/node-resolver-core": { + "version": "3.3.0", "dev": true, "license": "MIT", "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/rust": "2.12.0", "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" + "nullthrows": "^1.1.1", + "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/runtime-react-refresh": { + "node_modules/@parcel/optimizer-css": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { + "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.12.0", - "react-error-overlay": "6.0.9", - "react-refresh": "^0.9.0" + "browserslist": "^4.6.6", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", @@ -4034,14 +2576,16 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/runtime-service-worker": { + "node_modules/@parcel/optimizer-htmlnano": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1" + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" }, "engines": { "node": ">= 12.0.0", @@ -4052,75 +2596,70 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/rust": { - "version": "2.12.0", + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": { + "version": "4.3.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12.0.0" + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/@parcel/source-map": { - "version": "2.1.1", + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": { + "version": "1.1.3", "dev": true, "license": "MIT", "dependencies": { - "detect-libc": "^1.0.3" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" }, "engines": { - "node": "^12.18.3 || >=14" + "node": ">=8.0.0" } }, - "node_modules/@parcel/transformer-babel": { - "version": "2.12.0", + "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "browserslist": "^4.6.6", - "json5": "^2.2.0", - "nullthrows": "^1.1.1", - "semver": "^7.5.2" + "css-tree": "^1.1.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8.0.0" } }, - "node_modules/@parcel/transformer-css": { - "version": "2.12.0", + "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": { + "version": "2.0.14", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": { + "version": "2.8.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "browserslist": "^4.6.6", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "bin": { + "svgo": "bin/svgo" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/@parcel/transformer-html": { + "node_modules/@parcel/optimizer-image": { "version": "2.12.0", "dev": true, "license": "MIT", @@ -4128,12 +2667,8 @@ "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", "@parcel/rust": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^7.5.2", - "srcset": "4" + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0" }, "engines": { "node": ">= 12.0.0", @@ -4142,42 +2677,20 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/transformer-image": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" }, "peerDependencies": { "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/transformer-js": { + "node_modules/@parcel/optimizer-svgo": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "@swc/helpers": "^0.5.0", - "browserslist": "^4.6.6", - "nullthrows": "^1.1.1", - "regenerator-runtime": "^0.13.7", - "semver": "^7.5.2" + "svgo": "^2.4.0" }, "engines": { "node": ">= 12.0.0", @@ -4186,102 +2699,82 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/transformer-js/node_modules/regenerator-runtime": { - "version": "0.13.11", - "dev": true, - "license": "MIT" - }, - "node_modules/@parcel/transformer-json": { - "version": "2.12.0", + "node_modules/@parcel/optimizer-svgo/node_modules/css-select": { + "version": "4.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "@parcel/plugin": "2.12.0", - "json5": "^2.2.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/@parcel/transformer-postcss": { - "version": "2.12.0", + "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": { + "version": "1.1.3", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", - "clone": "^2.1.1", - "nullthrows": "^1.1.1", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.2" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8.0.0" } }, - "node_modules/@parcel/transformer-posthtml": { - "version": "2.12.0", + "node_modules/@parcel/optimizer-svgo/node_modules/csso": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^7.5.2" + "css-tree": "^1.1.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8.0.0" } }, - "node_modules/@parcel/transformer-raw": { - "version": "2.12.0", + "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/@parcel/optimizer-svgo/node_modules/svgo": { + "version": "2.8.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "bin": { + "svgo": "bin/svgo" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/@parcel/transformer-react-refresh-wrap": { + "node_modules/@parcel/optimizer-swc": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { + "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", "@parcel/utils": "2.12.0", - "react-refresh": "^0.9.0" + "@swc/core": "^1.3.36", + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", @@ -4292,30 +2785,33 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/transformer-svg": { + "node_modules/@parcel/package-manager": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", + "@parcel/fs": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/node-resolver-core": "3.3.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "@swc/core": "^1.3.36", "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@parcel/transformer-typescript-types": { + "node_modules/@parcel/packager-css": { "version": "2.12.0", "dev": true, "license": "MIT", @@ -4323,8 +2819,8 @@ "@parcel/diagnostic": "2.12.0", "@parcel/plugin": "2.12.0", "@parcel/source-map": "^2.1.1", - "@parcel/ts-utils": "2.12.0", "@parcel/utils": "2.12.0", + "lightningcss": "^1.22.1", "nullthrows": "^1.1.1" }, "engines": { @@ -4334,1210 +2830,1277 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "typescript": ">=3.0.0" } }, - "node_modules/@parcel/ts-utils": { + "node_modules/@parcel/packager-html": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "nullthrows": "^1.1.1" + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "typescript": ">=3.0.0" - } - }, - "node_modules/@parcel/types": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@parcel/cache": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/package-manager": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/workers": "2.12.0", - "utility-types": "^3.10.0" } }, - "node_modules/@parcel/utils": { + "node_modules/@parcel/packager-js": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/codeframe": "2.12.0", "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/markdown-ansi": "2.12.0", + "@parcel/plugin": "2.12.0", "@parcel/rust": "2.12.0", "@parcel/source-map": "^2.1.1", - "chalk": "^4.1.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "globals": "^13.2.0", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/utils/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@parcel/packager-js/node_modules/globals": { + "version": "13.24.0", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@parcel/utils/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@parcel/packager-js/node_modules/type-fest": { + "version": "0.20.2", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@parcel/utils/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@parcel/packager-raw": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@parcel/plugin": "2.12.0" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@parcel/utils/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@parcel/utils/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@parcel/utils/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher": { - "version": "2.4.0", + "node_modules/@parcel/packager-svg": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "posthtml": "^0.16.4" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.0", - "@parcel/watcher-darwin-arm64": "2.4.0", - "@parcel/watcher-darwin-x64": "2.4.0", - "@parcel/watcher-freebsd-x64": "2.4.0", - "@parcel/watcher-linux-arm-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-musl": "2.4.0", - "@parcel/watcher-linux-x64-glibc": "2.4.0", - "@parcel/watcher-linux-x64-musl": "2.4.0", - "@parcel/watcher-win32-arm64": "2.4.0", - "@parcel/watcher-win32-ia32": "2.4.0", - "@parcel/watcher-win32-x64": "2.4.0" } }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", - "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", - "cpu": [ - "arm64" - ], + "node_modules/@parcel/packager-ts": { + "version": "2.12.0", "dev": true, - "optional": true, - "os": [ - "android" - ], + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.0", - "cpu": [ - "arm64" - ], + "node_modules/@parcel/packager-wasm": { + "version": "2.12.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@parcel/plugin": "2.12.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", - "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", - "cpu": [ - "x64" - ], + "node_modules/@parcel/plugin": { + "version": "2.12.0", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "license": "MIT", + "dependencies": { + "@parcel/types": "2.12.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", - "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", - "cpu": [ - "x64" - ], + "node_modules/@parcel/profiler": { + "version": "2.12.0", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/events": "2.12.0", + "chrome-trace-event": "^1.0.2" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", - "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", - "cpu": [ - "arm" - ], + "node_modules/@parcel/reporter-cli": { + "version": "2.12.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "chalk": "^4.1.0", + "term-size": "^2.2.1" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", - "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", - "cpu": [ - "arm64" - ], + "node_modules/@parcel/reporter-cli/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", - "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", - "cpu": [ - "arm64" - ], + "node_modules/@parcel/reporter-cli/node_modules/chalk": { + "version": "4.1.2", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", - "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], + "node_modules/@parcel/reporter-cli/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=7.0.0" + } + }, + "node_modules/@parcel/reporter-cli/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@parcel/reporter-cli/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@parcel/reporter-cli/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@parcel/reporter-dev-server": { + "version": "2.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", - "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", - "cpu": [ - "x64" - ], + "node_modules/@parcel/reporter-tracer": { + "version": "2.12.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "chrome-trace-event": "^1.0.3", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", - "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", - "cpu": [ - "arm64" - ], + "node_modules/@parcel/resolver-default": { + "version": "2.12.0", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", + "dependencies": { + "@parcel/node-resolver-core": "3.3.0", + "@parcel/plugin": "2.12.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", - "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", - "cpu": [ - "ia32" - ], + "node_modules/@parcel/runtime-browser-hmr": { + "version": "2.12.0", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", - "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", - "cpu": [ - "x64" - ], + "node_modules/@parcel/runtime-js": { + "version": "2.12.0", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher/node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", - "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", - "cpu": [ - "x64" - ], + "node_modules/@parcel/runtime-react-refresh": { + "version": "2.12.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "react-error-overlay": "6.0.9", + "react-refresh": "^0.9.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/workers": { + "node_modules/@parcel/runtime-service-worker": { "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", + "@parcel/plugin": "2.12.0", "@parcel/utils": "2.12.0", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" } }, - "node_modules/@rollup/plugin-commonjs": { - "version": "25.0.7", + "node_modules/@parcel/rust": { + "version": "2.12.0", "dev": true, "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "commondir": "^1.0.1", - "estree-walker": "^2.0.2", - "glob": "^8.0.3", - "is-reference": "1.2.1", - "magic-string": "^0.30.3" - }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.68.0||^3.0.0||^4.0.0" + "node": ">= 12.0.0" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@rollup/plugin-json": { - "version": "6.1.0", + "node_modules/@parcel/source-map": { + "version": "2.1.1", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.1.0" + "detect-libc": "^1.0.3" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "node": "^12.18.3 || >=14" } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.2.3", + "node_modules/@parcel/transformer-babel": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0||^4.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@rollup/plugin-terser": { - "version": "0.4.4", + "node_modules/@parcel/transformer-css": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "serialize-javascript": "^6.0.1", - "smob": "^1.0.0", - "terser": "^5.17.4" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "browserslist": "^4.6.6", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0||^3.0.0||^4.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@rollup/plugin-typescript": { - "version": "11.1.6", + "node_modules/@parcel/transformer-html": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.1.0", - "resolve": "^1.22.1" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2", + "srcset": "4" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.14.0||^3.0.0||^4.0.0", - "tslib": "*", - "typescript": ">=3.7.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - }, - "tslib": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.0", + "node_modules/@parcel/transformer-image": { + "version": "2.12.0", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "@parcel/core": "^2.12.0" } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.12.0", - "cpu": [ - "arm64" - ], + "node_modules/@parcel/transformer-js": { + "version": "2.12.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", - "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "license": "MIT" - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@smithy/abort-controller": { - "version": "2.1.3", - "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.12.0", + "@parcel/workers": "2.12.0", + "@swc/helpers": "^0.5.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^7.5.2" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/chunked-blob-reader": { - "version": "2.1.1", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@smithy/chunked-blob-reader-native": { - "version": "2.1.1", - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-base64": "^2.1.1", - "tslib": "^2.5.0" - } + "node_modules/@parcel/transformer-js/node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" }, - "node_modules/@smithy/config-resolver": { - "version": "2.1.4", - "license": "Apache-2.0", + "node_modules/@parcel/transformer-json": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", - "@smithy/util-config-provider": "^2.2.1", - "@smithy/util-middleware": "^2.1.3", - "tslib": "^2.5.0" + "@parcel/plugin": "2.12.0", + "json5": "^2.2.0" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/core": { - "version": "1.3.5", - "license": "Apache-2.0", - "dependencies": { - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-middleware": "^2.1.3", - "tslib": "^2.5.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/credential-provider-imds": { - "version": "2.2.4", - "license": "Apache-2.0", + "node_modules/@parcel/transformer-postcss": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/property-provider": "^2.1.3", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "tslib": "^2.5.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/utils": "2.12.0", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.2" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/eventstream-codec": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.10.1", - "@smithy/util-hex-encoding": "^2.1.1", - "tslib": "^2.5.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/eventstream-serde-browser": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@parcel/transformer-posthtml": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@parcel/transformer-raw": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@parcel/plugin": "2.12.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/eventstream-serde-node": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@parcel/transformer-react-refresh-wrap": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@parcel/plugin": "2.12.0", + "@parcel/utils": "2.12.0", + "react-refresh": "^0.9.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/eventstream-serde-universal": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@parcel/transformer-svg": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/eventstream-codec": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/rust": "2.12.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/fetch-http-handler": { - "version": "2.4.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/protocol-http": "^3.2.1", - "@smithy/querystring-builder": "^2.1.3", - "@smithy/types": "^2.10.1", - "@smithy/util-base64": "^2.1.1", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/hash-blob-browser": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/chunked-blob-reader": "^2.1.1", - "@smithy/chunked-blob-reader-native": "^2.1.1", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/hash-node": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@parcel/transformer-typescript-types": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^2.10.1", - "@smithy/util-buffer-from": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/plugin": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/ts-utils": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.0.0", + "parcel": "^2.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "typescript": ">=3.0.0" } }, - "node_modules/@smithy/hash-stream-node": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@parcel/ts-utils": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^2.10.1", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "typescript": ">=3.0.0" } }, - "node_modules/@smithy/invalid-dependency": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@parcel/types": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@parcel/cache": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/fs": "2.12.0", + "@parcel/package-manager": "2.12.0", + "@parcel/source-map": "^2.1.1", + "@parcel/workers": "2.12.0", + "utility-types": "^3.10.0" } }, - "node_modules/@smithy/is-array-buffer": { - "version": "2.1.1", - "license": "Apache-2.0", + "node_modules/@parcel/utils": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@parcel/codeframe": "2.12.0", + "@parcel/diagnostic": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/markdown-ansi": "2.12.0", + "@parcel/rust": "2.12.0", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/md5-js": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.10.1", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/middleware-content-length": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@parcel/utils/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@smithy/middleware-endpoint": { - "version": "2.4.4", - "license": "Apache-2.0", + "node_modules/@parcel/utils/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/middleware-serde": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/shared-ini-file-loader": "^2.3.4", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-middleware": "^2.1.3", - "tslib": "^2.5.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@smithy/middleware-retry": { - "version": "2.1.4", - "license": "Apache-2.0", + "node_modules/@parcel/utils/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/protocol-http": "^3.2.1", - "@smithy/service-error-classification": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "tslib": "^2.5.0", - "uuid": "^8.3.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">=14.0.0" + "node": ">=7.0.0" } }, - "node_modules/@smithy/middleware-retry/node_modules/uuid": { - "version": "8.3.2", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } + "node_modules/@parcel/utils/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "node_modules/@smithy/middleware-serde": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" - }, + "node_modules/@parcel/utils/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@smithy/middleware-stack": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@parcel/utils/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@smithy/node-config-provider": { - "version": "2.2.4", - "license": "Apache-2.0", + "node_modules/@parcel/watcher": { + "version": "2.4.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.4", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.0", + "@parcel/watcher-darwin-arm64": "2.4.0", + "@parcel/watcher-darwin-x64": "2.4.0", + "@parcel/watcher-freebsd-x64": "2.4.0", + "@parcel/watcher-linux-arm-glibc": "2.4.0", + "@parcel/watcher-linux-arm64-glibc": "2.4.0", + "@parcel/watcher-linux-arm64-musl": "2.4.0", + "@parcel/watcher-linux-x64-glibc": "2.4.0", + "@parcel/watcher-linux-x64-musl": "2.4.0", + "@parcel/watcher-win32-arm64": "2.4.0", + "@parcel/watcher-win32-ia32": "2.4.0", + "@parcel/watcher-win32-x64": "2.4.0" } }, - "node_modules/@smithy/node-http-handler": { - "version": "2.4.1", - "license": "Apache-2.0", - "dependencies": { - "@smithy/abort-controller": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/querystring-builder": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", + "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/property-provider": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "node": ">= 10.0.0" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/protocol-http": { - "version": "3.2.1", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.4.0", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/querystring-builder": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.10.1", - "@smithy/util-uri-escape": "^2.1.1", - "tslib": "^2.5.0" + "node": ">= 10.0.0" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/querystring-parser": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", + "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/service-error-classification": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.10.1" + "node": ">= 10.0.0" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.3.4", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", + "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/signature-v4": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/eventstream-codec": "^2.1.3", - "@smithy/is-array-buffer": "^2.1.1", - "@smithy/types": "^2.10.1", - "@smithy/util-hex-encoding": "^2.1.1", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-uri-escape": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" + "node": ">= 10.0.0" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/smithy-client": { - "version": "2.4.2", - "license": "Apache-2.0", - "dependencies": { - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "@smithy/util-stream": "^2.1.3", - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", + "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/types": { - "version": "2.10.1", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", + "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/url-parser": { - "version": "2.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/querystring-parser": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", + "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/util-base64": { - "version": "2.1.1", - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^2.1.1", - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/util-body-length-browser": { - "version": "2.1.1", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", + "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/util-body-length-node": { - "version": "2.2.1", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", + "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/util-buffer-from": { - "version": "2.1.1", - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.1.1", - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", + "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/util-config-provider": { - "version": "2.2.1", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", + "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.1.4", - "license": "Apache-2.0", - "dependencies": { - "@smithy/property-provider": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - }, + "node_modules/@parcel/watcher/node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", + "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.2.3", - "license": "Apache-2.0", + "node_modules/@parcel/workers": { + "version": "2.12.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/config-resolver": "^2.1.4", - "@smithy/credential-provider-imds": "^2.2.4", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/property-provider": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@parcel/diagnostic": "2.12.0", + "@parcel/logger": "2.12.0", + "@parcel/profiler": "2.12.0", + "@parcel/types": "2.12.0", + "@parcel/utils": "2.12.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.12.0" } }, - "node_modules/@smithy/util-endpoints": { - "version": "1.1.4", - "license": "Apache-2.0", + "node_modules/@rollup/plugin-commonjs": { + "version": "25.0.7", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" }, "engines": { - "node": ">= 14.0.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@smithy/util-hex-encoding": { - "version": "2.1.1", - "license": "Apache-2.0", + "node_modules/@rollup/plugin-json": { + "version": "6.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@rollup/pluginutils": "^5.1.0" }, "engines": { "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@smithy/util-middleware": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" }, "engines": { "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@smithy/util-retry": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/service-error-classification": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" }, "engines": { - "node": ">= 14.0.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@smithy/util-stream": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.6", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/types": "^2.10.1", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-buffer-from": "^2.1.1", - "@smithy/util-hex-encoding": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" + "@rollup/pluginutils": "^5.1.0", + "resolve": "^1.22.1" }, "engines": { "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0||^4.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } } }, - "node_modules/@smithy/util-uri-escape": { - "version": "2.1.1", - "license": "Apache-2.0", + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@smithy/util-utf8": { - "version": "2.1.1", - "license": "Apache-2.0", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "license": "BSD-3-Clause", "dependencies": { - "@smithy/util-buffer-from": "^2.1.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "type-detect": "4.0.8" } }, - "node_modules/@smithy/util-waiter": { - "version": "2.1.3", - "license": "Apache-2.0", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "license": "BSD-3-Clause", "dependencies": { - "@smithy/abort-controller": "^2.1.3", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "@sinonjs/commons": "^3.0.0" } }, "node_modules/@swc/core": { @@ -6323,10 +4886,6 @@ "dev": true, "license": "ISC" }, - "node_modules/bowser": { - "version": "2.11.0", - "license": "MIT" - }, "node_modules/brace-expansion": { "version": "2.0.1", "dev": true, @@ -7734,26 +6293,6 @@ "version": "2.1.1", "license": "MIT" }, - "node_modules/fast-xml-parser": { - "version": "4.2.5", - "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, "node_modules/fastq": { "version": "1.16.0", "dev": true, @@ -13143,10 +11682,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strnum": { - "version": "1.0.5", - "license": "MIT" - }, "node_modules/superagent": { "version": "8.1.2", "license": "MIT", @@ -14267,35 +12802,40 @@ "version": "0.0.0", "license": "ISC", "dependencies": { - "@aws-sdk/client-rds": "^3.496.0", - "@aws-sdk/client-s3": "^3.496.0", - "@flatfile/api": "^1.6.3", - "@flatfile/listener": "^0.4.0", - "@flatfile/util-file-buffer": "^0.2.0", - "mssql": "^10.0.1" + "@flatfile/api": "^1.7.1", + "@flatfile/listener": "^1.0.0", + "mssql": "^10.0.1", + "node-fetch": "^3.3.2" }, "engines": { "node": ">= 18" } }, - "plugins/foreign-db-extractor/node_modules/@flatfile/listener": { - "version": "0.4.2", - "license": "MIT", + "plugins/foreign-db-extractor/node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "plugins/foreign-db-extractor/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dependencies": { - "ansi-colors": "^4.1.3", - "cross-fetch": "^4.0.0", - "flat": "^5.0.2", - "pako": "^2.1.0", - "wildcard-match": "^5.1.2" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" }, - "peerDependencies": { - "@flatfile/api": "^1.5.10" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, - "plugins/foreign-db-extractor/node_modules/pako": { - "version": "2.1.0", - "license": "(MIT AND Zlib)" - }, "plugins/graphql": { "name": "@flatfile/plugin-graphql", "version": "0.0.2", diff --git a/plugins/foreign-db-extractor/package.json b/plugins/foreign-db-extractor/package.json index 5f4bfa8e8..c38281bdb 100644 --- a/plugins/foreign-db-extractor/package.json +++ b/plugins/foreign-db-extractor/package.json @@ -8,13 +8,26 @@ "engines": { "node": ">= 18" }, - "source": "src/index.ts", - "main": "dist/main.js", - "module": "dist/module.mjs", - "types": "dist/types.d.ts", + "browser": { + "./dist/index.cjs": "./dist/index.browser.cjs", + "./dist/index.mjs": "./dist/index.browser.mjs" + }, + "exports": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs", + "default": "./dist/index.mjs" + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "source": "./src/index.ts", + "types": "./dist/index.d.ts", + "files": [ + "dist/**" + ], "scripts": { - "build": "parcel build", - "dev": "parcel watch", + "build": "rollup -c", + "dev": "rollup -c --watch", "check": "tsc ./**/*.ts --noEmit --esModuleInterop", "test": "jest --passWithNoTests" }, @@ -28,11 +41,9 @@ "type": "module", "license": "ISC", "dependencies": { - "@aws-sdk/client-rds": "^3.496.0", - "@aws-sdk/client-s3": "^3.496.0", - "@flatfile/api": "^1.6.3", - "@flatfile/listener": "^0.4.0", - "@flatfile/util-file-buffer": "^0.2.0", - "mssql": "^10.0.1" + "@flatfile/api": "^1.7.1", + "@flatfile/listener": "^1.0.0", + "mssql": "^10.0.1", + "node-fetch": "^3.3.2" } } diff --git a/plugins/foreign-db-extractor/rollup.config.mjs b/plugins/foreign-db-extractor/rollup.config.mjs new file mode 100644 index 000000000..fa965f064 --- /dev/null +++ b/plugins/foreign-db-extractor/rollup.config.mjs @@ -0,0 +1,84 @@ +import commonjs from '@rollup/plugin-commonjs' +import json from '@rollup/plugin-json' +import resolve from '@rollup/plugin-node-resolve' +import terser from '@rollup/plugin-terser' +import typescript from '@rollup/plugin-typescript' +import { dts } from 'rollup-plugin-dts' +import peerDepsExternal from 'rollup-plugin-peer-deps-external' + +import dotenv from 'dotenv' +dotenv.config() + +const PROD = process.env.NODE_ENV === 'production' +if (!PROD) { + console.log('Not in production mode - skipping minification') +} + +const external = ['@flatfile/api', '@flatfile/listener', 'mssql'] + +function commonPlugins(browser, umd = false) { + return [ + !umd + ? peerDepsExternal({ + includeDependencies: true, + }) + : undefined, + json(), + commonjs({ include: '**/node_modules/**', requireReturnsDefault: 'auto' }), + resolve({ browser, preferBuiltins: !browser }), + typescript({ + tsconfig: '../../tsconfig.json', + declaration: false, + declarationMap: false, + declarationDir: './dist', + exclude: ['**/tests/*', '**/*.spec.ts'], + }), + PROD ? terser() : null, + ] +} + +export default [ + // Node.js build + { + input: 'src/index.ts', + output: [ + { + exports: 'auto', + file: 'dist/index.cjs', + format: 'cjs', + }, + { + exports: 'auto', + file: 'dist/index.mjs', + sourcemap: false, + format: 'es', + }, + ], + plugins: commonPlugins(false), + external, + }, + // Browser build + { + input: 'src/index.ts', + output: [ + { + exports: 'auto', + file: 'dist/index.browser.cjs', + format: 'cjs', + }, + { + exports: 'auto', + file: 'dist/index.browser.mjs', + sourcemap: false, + format: 'es', + }, + ], + plugins: commonPlugins(true), + external, + }, + { + input: 'src/index.ts', + output: [{ file: 'dist/index.d.ts', format: 'es' }], + plugins: [dts()], + }, +] diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index adbad3b61..d9effb690 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -1,11 +1,13 @@ import api, { Flatfile } from '@flatfile/api' -import FlatfileListener from '@flatfile/listener' +import FlatfileListener, { FlatfileEvent } from '@flatfile/listener' import { generateSheets } from './generate.sheets' +import { restoreDatabase } from './restore.database' +import { s3Upload } from './upload.s3' export const foreignDBExtractor = () => { return (listener: FlatfileListener) => { // Step 1: Create resource setup job - listener.on('file:created', async (event) => { + listener.on('file:created', async (event: FlatfileEvent) => { const { data: file } = await api.files.get(event.context.fileId) if (file.mode === 'export') { return @@ -32,7 +34,7 @@ export const foreignDBExtractor = () => { listener.on( 'job:ready', { operation: 'extract-foreign-mssql-db' }, - async (event) => { + async (event: FlatfileEvent) => { const { spaceId, environmentId, fileId, jobId } = event.context const tick = async (progress: number, info?: string) => { @@ -46,31 +48,11 @@ export const foreignDBExtractor = () => { const { fileName } = job.data.input // Step 1: Upload file to S3 - await tick(1, 'Uploading file to S3 bucket') - - const storageUploadResponse = await fetch( - `${process.env.FLATFILE_API_URL}/v1/storage/upload`, - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - Authorization: `Bearer ${process.env.FLATFILE_API_KEY!}`, - }, - body: JSON.stringify({ - fileId, - }), - } - ) - - if (storageUploadResponse.status !== 200) { - const errorBody = await storageUploadResponse.json() - throw new Error(errorBody.errors[0].message) - } - - const { arn } = await storageUploadResponse.json() + await tick(10, 'Uploading file to S3 bucket') + const arn = await s3Upload(fileId) // Step 2: Create a Workbook - await tick(10, 'Creating workbook') + await tick(45, 'Creating workbook') // Create a workbook so we can use the workbookId to name the database const { data: workbook } = await api.workbooks.create({ @@ -81,32 +63,12 @@ export const foreignDBExtractor = () => { }) // Step 3: Restore DB from Backup - await tick(20, 'Restoring database') - const databaseRestoreResponse = await fetch( - `${process.env.FLATFILE_API_URL}/v1/database/restore`, - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - Authorization: `Bearer ${process.env.FLATFILE_API_KEY!}`, - }, - body: JSON.stringify({ - databaseName: workbook.id, - arn, - }), - } - ) - - if (databaseRestoreResponse.status !== 200) { - const errorBody = await databaseRestoreResponse.json() - throw new Error(errorBody.errors[0].message) - } - - const { connection } = await databaseRestoreResponse.json() + await tick(50, 'Restoring database') + const connection = await restoreDatabase(arn, workbook.id) // Step 4: Create a Workbook // Get column names for all tables, loop through them and create Sheets for each table - await tick(30, 'Creating workbook') + await tick(90, 'Creating workbook') const sheets = await generateSheets(connection) await api.workbooks.update(workbook.id, { sheets, @@ -117,7 +79,7 @@ export const foreignDBExtractor = () => { }) // Step 5: Update file with workbookId - await tick(40, 'Updating file') + await tick(95, 'Updating file') await api.files.update(fileId, { workbookId: workbook.id, }) diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/restore.database.ts new file mode 100644 index 000000000..0b77a6b06 --- /dev/null +++ b/plugins/foreign-db-extractor/src/restore.database.ts @@ -0,0 +1,32 @@ +import fetch from 'node-fetch' + +export async function restoreDatabase(arn: string, workbookId: string) { + const databaseRestoreResponse = await fetch( + `${process.env.FLATFILE_API_URL}/v1/database/restore`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.FLATFILE_API_KEY}`, + }, + body: JSON.stringify({ + databaseName: workbookId, + arn, + }), + } + ) + + const jsonResponse = + (await databaseRestoreResponse.json()) as RestoreDatabaseResponse + + if (databaseRestoreResponse.status !== 200) { + throw new Error(jsonResponse.errors[0].message) + } + + return jsonResponse.connection +} + +type RestoreDatabaseResponse = { + connection: string + errors: { message: string }[] +} diff --git a/plugins/foreign-db-extractor/src/upload.s3.ts b/plugins/foreign-db-extractor/src/upload.s3.ts new file mode 100644 index 000000000..bdbe3a196 --- /dev/null +++ b/plugins/foreign-db-extractor/src/upload.s3.ts @@ -0,0 +1,29 @@ +import fetch from 'node-fetch' + +export async function s3Upload(fileId: string) { + const storageUploadResponse = await fetch( + `${process.env.FLATFILE_API_URL}/v1/storage/upload`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.FLATFILE_API_KEY}`, + }, + body: JSON.stringify({ + fileId, + }), + } + ) + + const jsonResponse = (await storageUploadResponse.json()) as S3UploadResponse + if (storageUploadResponse.status !== 200) { + throw new Error(jsonResponse.errors[0].message) + } + + return jsonResponse.arn +} + +type S3UploadResponse = { + arn: string + errors: { message: string }[] +} From bd7f7096d94ed8da18af0a3868917f0a86158b2e Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Wed, 7 Feb 2024 19:38:00 -0600 Subject: [PATCH 19/22] fix: correctly add sheets to workbook --- .../src/generate.sheets.ts | 8 +++++-- plugins/foreign-db-extractor/src/index.ts | 11 ++++++--- .../src/restore.database.ts | 23 ++++++++++++++++--- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/plugins/foreign-db-extractor/src/generate.sheets.ts b/plugins/foreign-db-extractor/src/generate.sheets.ts index abf0627ec..9f40bbab2 100644 --- a/plugins/foreign-db-extractor/src/generate.sheets.ts +++ b/plugins/foreign-db-extractor/src/generate.sheets.ts @@ -1,10 +1,14 @@ +import { Flatfile } from '@flatfile/api' import sql from 'mssql' -export async function generateSheets(connConfig: string) { +export async function generateSheets( + connConfig: sql.config +): Promise { const tables = await getTablesAndColumns(connConfig) return Object.keys(tables).map((tableName) => { return { name: tableName, + slug: tableName, fields: tables[tableName].map((columnName) => { return { key: columnName, @@ -16,7 +20,7 @@ export async function generateSheets(connConfig: string) { }) } -async function getTablesAndColumns(connConfig: string) { +async function getTablesAndColumns(connConfig: sql.config) { let tables = {} let conn try { diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index d9effb690..dfb5529e4 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -64,17 +64,22 @@ export const foreignDBExtractor = () => { // Step 3: Restore DB from Backup await tick(50, 'Restoring database') - const connection = await restoreDatabase(arn, workbook.id) + const connectionConfig = await restoreDatabase(arn, workbook.id) // Step 4: Create a Workbook // Get column names for all tables, loop through them and create Sheets for each table await tick(90, 'Creating workbook') - const sheets = await generateSheets(connection) + const sheets = await generateSheets(connectionConfig) + + // Sheets need to be added before adding the connectionType to ensure the correct ephemeral driver is used await api.workbooks.update(workbook.id, { sheets, + }) + + await api.workbooks.update(workbook.id, { metadata: { connectionType: 'FOREIGN_MSSQL', - connectionConfig: connection, + connectionConfig, }, }) diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/restore.database.ts index 0b77a6b06..da17ae627 100644 --- a/plugins/foreign-db-extractor/src/restore.database.ts +++ b/plugins/foreign-db-extractor/src/restore.database.ts @@ -1,6 +1,10 @@ +import sql from 'mssql' import fetch from 'node-fetch' -export async function restoreDatabase(arn: string, workbookId: string) { +export async function restoreDatabase( + arn: string, + workbookId: string +): Promise { const databaseRestoreResponse = await fetch( `${process.env.FLATFILE_API_URL}/v1/database/restore`, { @@ -23,10 +27,23 @@ export async function restoreDatabase(arn: string, workbookId: string) { throw new Error(jsonResponse.errors[0].message) } - return jsonResponse.connection + return { + user: jsonResponse.username, + password: jsonResponse.password, + server: jsonResponse.host, + database: jsonResponse.dbname, + options: { port: 1433, trustServerCertificate: true }, + connectionTimeout: 30000, + requestTimeout: 90000, + timeout: 15000, + } } type RestoreDatabaseResponse = { - connection: string + host: string + port: number + dbname: string + username: string + password: string errors: { message: string }[] } From 6f8351a851862bafce6934ecaeacc141b20ef2e6 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Thu, 8 Feb 2024 11:37:37 -0600 Subject: [PATCH 20/22] Reflect endpoint updates --- plugins/foreign-db-extractor/src/index.ts | 4 ++-- plugins/foreign-db-extractor/src/restore.database.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index dfb5529e4..dda1b3ffc 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -49,7 +49,7 @@ export const foreignDBExtractor = () => { // Step 1: Upload file to S3 await tick(10, 'Uploading file to S3 bucket') - const arn = await s3Upload(fileId) + await s3Upload(fileId) // Step 2: Create a Workbook await tick(45, 'Creating workbook') @@ -64,7 +64,7 @@ export const foreignDBExtractor = () => { // Step 3: Restore DB from Backup await tick(50, 'Restoring database') - const connectionConfig = await restoreDatabase(arn, workbook.id) + const connectionConfig = await restoreDatabase(workbook.id, fileId) // Step 4: Create a Workbook // Get column names for all tables, loop through them and create Sheets for each table diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/restore.database.ts index da17ae627..72763f0c7 100644 --- a/plugins/foreign-db-extractor/src/restore.database.ts +++ b/plugins/foreign-db-extractor/src/restore.database.ts @@ -2,8 +2,8 @@ import sql from 'mssql' import fetch from 'node-fetch' export async function restoreDatabase( - arn: string, - workbookId: string + databaseName: string, + fileId: string ): Promise { const databaseRestoreResponse = await fetch( `${process.env.FLATFILE_API_URL}/v1/database/restore`, @@ -14,8 +14,8 @@ export async function restoreDatabase( Authorization: `Bearer ${process.env.FLATFILE_API_KEY}`, }, body: JSON.stringify({ - databaseName: workbookId, - arn, + databaseName, + fileId, }), } ) From aa2552b2d678f755eb93a5e88513c1f39bfbcb50 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Tue, 20 Feb 2024 11:37:38 -0600 Subject: [PATCH 21/22] Update api endpoint --- plugins/foreign-db-extractor/src/upload.s3.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/foreign-db-extractor/src/upload.s3.ts b/plugins/foreign-db-extractor/src/upload.s3.ts index bdbe3a196..b635f521a 100644 --- a/plugins/foreign-db-extractor/src/upload.s3.ts +++ b/plugins/foreign-db-extractor/src/upload.s3.ts @@ -2,7 +2,7 @@ import fetch from 'node-fetch' export async function s3Upload(fileId: string) { const storageUploadResponse = await fetch( - `${process.env.FLATFILE_API_URL}/v1/storage/upload`, + `${process.env.FLATFILE_API_URL}/v1/storage`, { method: 'POST', headers: { From 9c79beed84b35091b6a1c10b768b9975f689030a Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Mon, 26 Feb 2024 12:57:01 -0600 Subject: [PATCH 22/22] feat: updates to match API changes --- plugins/foreign-db-extractor/src/index.ts | 53 +++-- .../src/restore.database.ts | 203 +++++++++++++++--- plugins/foreign-db-extractor/src/upload.s3.ts | 53 +++-- 3 files changed, 240 insertions(+), 69 deletions(-) diff --git a/plugins/foreign-db-extractor/src/index.ts b/plugins/foreign-db-extractor/src/index.ts index dda1b3ffc..a8c8055e8 100644 --- a/plugins/foreign-db-extractor/src/index.ts +++ b/plugins/foreign-db-extractor/src/index.ts @@ -1,7 +1,13 @@ import api, { Flatfile } from '@flatfile/api' import FlatfileListener, { FlatfileEvent } from '@flatfile/listener' +import sql from 'mssql' import { generateSheets } from './generate.sheets' -import { restoreDatabase } from './restore.database' +import { + DBUser, + getUser, + pollDatabaseStatus, + restoreDatabase, +} from './restore.database' import { s3Upload } from './upload.s3' export const foreignDBExtractor = () => { @@ -47,14 +53,8 @@ export const foreignDBExtractor = () => { const job = await api.jobs.get(jobId) const { fileName } = job.data.input - // Step 1: Upload file to S3 - await tick(10, 'Uploading file to S3 bucket') - await s3Upload(fileId) - - // Step 2: Create a Workbook - await tick(45, 'Creating workbook') - - // Create a workbook so we can use the workbookId to name the database + // Step 2.1: Create a workbook so we can use the workbookId to name the database + await tick(5, 'Creating workbook') const { data: workbook } = await api.workbooks.create({ name: `[file] ${fileName}`, labels: ['file'], @@ -62,16 +62,38 @@ export const foreignDBExtractor = () => { environmentId, }) - // Step 3: Restore DB from Backup + // Step 2.2: Upload file to S3, this is required to restore to RDS + await tick(10, 'Uploading file to S3 bucket') + await s3Upload(workbook.id, fileId) + + // Step 2.3: Restore DB from Backup on S3 await tick(50, 'Restoring database') - const connectionConfig = await restoreDatabase(workbook.id, fileId) + const connectionConfig: sql.config = await restoreDatabase( + workbook.id, + fileId + ) + + // Step 2.4: Poll for database availability + await tick(60, 'Polling for database availability') + await pollDatabaseStatus(connectionConfig) + + // Step 2.5: Retrieve user credentials for the database + await tick(85, 'Retrieving database user credentials') + try { + const user = (await getUser(connectionConfig.database)) as DBUser + connectionConfig.user = user.username + connectionConfig.password = user.password + } catch (e) { + throw e + } - // Step 4: Create a Workbook + // Step 2.6: Create a Workbook // Get column names for all tables, loop through them and create Sheets for each table await tick(90, 'Creating workbook') const sheets = await generateSheets(connectionConfig) - // Sheets need to be added before adding the connectionType to ensure the correct ephemeral driver is used + // Sheets need to be added to the workbook before adding the connectionType to ensure the correct ephemeral + // driver is used await api.workbooks.update(workbook.id, { sheets, }) @@ -83,7 +105,7 @@ export const foreignDBExtractor = () => { }, }) - // Step 5: Update file with workbookId + // Step 2.7: Update file with workbookId await tick(95, 'Updating file') await api.files.update(fileId, { workbookId: workbook.id, @@ -96,9 +118,8 @@ export const foreignDBExtractor = () => { }, }) } catch (e) { - console.log(`error ${e}`) await api.jobs.fail(jobId, { - info: `Extraction failed ${e.message}`, + info: e.message, }) } } diff --git a/plugins/foreign-db-extractor/src/restore.database.ts b/plugins/foreign-db-extractor/src/restore.database.ts index 72763f0c7..99f0a84f6 100644 --- a/plugins/foreign-db-extractor/src/restore.database.ts +++ b/plugins/foreign-db-extractor/src/restore.database.ts @@ -1,49 +1,188 @@ import sql from 'mssql' import fetch from 'node-fetch' +/** + * The restoreDatabase function is responsible for initiating the database restore process. It sends a POST request to + * the foreigndb API to restore the database from the given fileId. The databaseName should be the workbookId for the + * Workbook that will be associated to the file being restored. + * + * @param databaseName + * @param fileId + * @returns + */ export async function restoreDatabase( databaseName: string, fileId: string -): Promise { - const databaseRestoreResponse = await fetch( - `${process.env.FLATFILE_API_URL}/v1/database/restore`, - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - Authorization: `Bearer ${process.env.FLATFILE_API_KEY}`, - }, - body: JSON.stringify({ - databaseName, - fileId, - }), +): Promise { + try { + const response = await fetch( + `${process.env.AGENT_INTERNAL_URL}/v1/foreigndb/${databaseName}`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.FLATFILE_BEARER_TOKEN}`, + }, + body: JSON.stringify({ + fileId, + }), + } + ) + + const jsonResponse = (await response.json()) as RestoreDatabaseResponse + + if (response.status !== 200) { + throw new Error( + `Status: ${response.status} Message: ${jsonResponse.errors[0].message}` + ) + } + const data = jsonResponse.data + + return { + server: data.host, + database: data.dbname, + options: { port: data.port, trustServerCertificate: true }, + connectionTimeout: 30000, + requestTimeout: 90000, + timeout: 15000, } - ) + } catch (e) { + throw new Error(`An error occurred during DB restore: ${e.message}`) + } +} - const jsonResponse = - (await databaseRestoreResponse.json()) as RestoreDatabaseResponse +/** + * The getDatabaseInfo function is responsible for retrieving the status of the database restore process. It sends a GET + * request to the foreigndb API to retrieve the status of the database restore process. + * + * @param databaseName + * @returns + */ +export async function getDatabaseInfo( + databaseName: string +): Promise { + try { + const response = await fetch( + `${process.env.AGENT_INTERNAL_URL}/v1/foreigndb/${databaseName}`, + { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.FLATFILE_BEARER_TOKEN}`, + }, + } + ) + const jsonResponse = (await response.json()) as GetDatabaseResponse - if (databaseRestoreResponse.status !== 200) { - throw new Error(jsonResponse.errors[0].message) + if (response.status !== 200) { + throw new Error( + `Status: ${response.status} Message: ${jsonResponse.errors[0].message}` + ) + } + return jsonResponse.data.task + } catch (e) { + throw new Error(`An error occurred retrieving DB info: ${e.message}`) } +} - return { - user: jsonResponse.username, - password: jsonResponse.password, - server: jsonResponse.host, - database: jsonResponse.dbname, - options: { port: 1433, trustServerCertificate: true }, - connectionTimeout: 30000, - requestTimeout: 90000, - timeout: 15000, +/** + * The getUser function is responsible for retrieving the user credentials for the database. It sends a GET request to + * the foreigndb API to retrieve the user credentials for the database. This must be called after the database restore + * is complete. + * + * @param databaseName + * @returns + */ +export async function getUser(databaseName: string): Promise { + try { + const userResponse = await fetch( + `${process.env.AGENT_INTERNAL_URL}/v1/foreigndb/${databaseName}/user`, + { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.FLATFILE_BEARER_TOKEN}`, + }, + } + ) + + const jsonResponse = (await userResponse.json()) as AddUserResponse + + if (userResponse.status !== 200) { + throw new Error( + `Status: ${userResponse.status} Message: ${jsonResponse.errors[0].message}` + ) + } + const data = jsonResponse.data + + return { ...data } + } catch (e) { + throw new Error(`An error occurred adding user to database: ${e.message}`) } } -type RestoreDatabaseResponse = { - host: string - port: number - dbname: string +/** + * The pollDatabaseStatus function is responsible for polling the database status until it is complete. It sends a GET + * request to the foreigndb API to retrieve the status of the database restore process. It will continue to poll until + * the status is either 'SUCCESS' or 'ERROR'. + * + * @param connectionConfig + * @returns + */ +export async function pollDatabaseStatus( + connectionConfig: sql.config +): Promise { + const maxAttempts = 36 // 3 minutes + const retryDelay = 5_000 + let attempts = 0 + let status + while (attempts < maxAttempts && !['SUCCESS', 'ERROR'].includes(status)) { + const task = (await getDatabaseInfo(connectionConfig.database)) as Task + status = task.status + await new Promise((resolve) => setTimeout(resolve, retryDelay)) + attempts++ + } + + if (!status || status === 'ERROR') { + throw new Error('Database restore failed') + } +} + +export type DBUser = { username: string password: string - errors: { message: string }[] +} + +type RestoreDatabaseResponse = { + data: { + host: string + port: number + dbname: string + } + errors: [{ key: string; message: string }] +} + +type GetDatabaseResponse = { + data: { + task: { + status: string + progress: number + type: string + } + } + errors: any[] +} + +type AddUserResponse = { + data: { + username: string + password: string + } + errors: [{ key: string; message: string }] +} + +type Task = { + status: string + progress: number + type: string } diff --git a/plugins/foreign-db-extractor/src/upload.s3.ts b/plugins/foreign-db-extractor/src/upload.s3.ts index b635f521a..3e771541a 100644 --- a/plugins/foreign-db-extractor/src/upload.s3.ts +++ b/plugins/foreign-db-extractor/src/upload.s3.ts @@ -1,29 +1,40 @@ import fetch from 'node-fetch' -export async function s3Upload(fileId: string) { - const storageUploadResponse = await fetch( - `${process.env.FLATFILE_API_URL}/v1/storage`, - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - Authorization: `Bearer ${process.env.FLATFILE_API_KEY}`, - }, - body: JSON.stringify({ - fileId, - }), - } - ) +export async function s3Upload( + workbookId: string, + fileId: string +): Promise { + try { + const storageUploadResponse = await fetch( + `${process.env.AGENT_INTERNAL_URL}/v1/foreigndb/${workbookId}/storage`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.FLATFILE_BEARER_TOKEN}`, + }, + body: JSON.stringify({ + fileId, + }), + } + ) - const jsonResponse = (await storageUploadResponse.json()) as S3UploadResponse - if (storageUploadResponse.status !== 200) { - throw new Error(jsonResponse.errors[0].message) + const jsonResponse = + (await storageUploadResponse.json()) as S3UploadResponse + if (storageUploadResponse.status !== 200) { + throw new Error( + `Status: ${storageUploadResponse.status} Message: ${jsonResponse.errors[0].message}` + ) + } + return jsonResponse.data.success + } catch (e) { + throw new Error(`An error occurred during S3 upload: ${e.message}`) } - - return jsonResponse.arn } type S3UploadResponse = { - arn: string - errors: { message: string }[] + data: { + success: boolean + } + errors: [{ key: string; message: string }] }