From 0e57fcbb9ceba9f74cb52ae21e6a83322ed81792 Mon Sep 17 00:00:00 2001 From: Edwin Candinegara Date: Mon, 5 May 2025 13:12:28 +0800 Subject: [PATCH] Prepare for deployment and bug fixes --- .npmignore | 7 + README.md | 381 +++-- docs/img/append_only_mode.png | Bin 0 -> 59002 bytes docs/img/default_mode.png | Bin 0 -> 48158 bytes docs/img/logo_dark.png | Bin 0 -> 38448 bytes docs/img/logo_light.png | Bin 0 -> 34489 bytes package-lock.json | 1511 +++++++++++++++++++- package.json | 6 +- src/google/auth/index.ts | 4 + src/google/index.ts | 3 + src/google/store/index.ts | 9 + src/google/store/kv.ts | 4 +- src/google/store/row.ts | 4 +- src/google/store/stmt.ts | 5 +- src/google/utils/index.ts | 2 + src/index.ts | 1 + tests/google/store/row.integration.test.ts | 7 + tests/google/store/stmt.test.ts | 6 +- tsconfig.json | 8 +- tsup.config.ts | 24 + 20 files changed, 1767 insertions(+), 215 deletions(-) create mode 100644 .npmignore create mode 100644 docs/img/append_only_mode.png create mode 100644 docs/img/default_mode.png create mode 100644 docs/img/logo_dark.png create mode 100644 docs/img/logo_light.png create mode 100644 src/google/auth/index.ts create mode 100644 src/google/index.ts create mode 100644 src/google/store/index.ts create mode 100644 src/google/utils/index.ts create mode 100644 src/index.ts create mode 100644 tsup.config.ts diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..8006411 --- /dev/null +++ b/.npmignore @@ -0,0 +1,7 @@ +src/ +test/ +__tests__/ +tsconfig.json +jest.config.js +*.test.ts +*.spec.ts \ No newline at end of file diff --git a/README.md b/README.md index 75a732b..d497a2f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# GoFreeDB +# JSFreeDB
@@ -67,7 +67,7 @@ under the hood and **the limitations**. ### Installation ``` -go get github.com/FreeLeh/GoFreeDB +npm install jsfreedb ``` ### Pre-requisites @@ -77,164 +77,141 @@ go get github.com/FreeLeh/GoFreeDB ## Row Store -Let's assume each row in the table is represented by the `Person` struct. +Let's assume each row in the table is represented by the `Person` interface. -```go -type Person struct { - Name string `db:"name"` - Age int `db:"age"` +```typescript +interface Person { + name: string; + age: number; } ``` -Please read the [struct field to column mapping](#struct-field-to-column-mapping) section -to understand the purpose of the `db` struct field tag. - -```go -import ( - "github.com/FreeLeh/GoFreeDB" - "github.com/FreeLeh/GoFreeDB/google/auth" -) +```typescript +import { ServiceAccountGoogleAuthClient } from 'jsfreedb/google/auth/service_account'; +import { GOOGLE_SHEETS_READ_WRITE } from 'jsfreedb/google/auth/models'; +import { GoogleSheetRowStore, GoogleSheetRowStoreConfig } from 'jsfreedb/google/store/row'; // If using Google Service Account. -auth, err := auth.NewServiceFromFile( - "", - freedb.FreeDBGoogleAuthScopes, - auth.ServiceConfig{}, -) +const auth = ServiceAccountGoogleAuthClient.fromServiceAccountFile( + "", + GOOGLE_SHEETS_READ_WRITE +); // If using Google OAuth2 Flow. -auth, err := auth.NewOAuth2FromFile( - "", - "", - freedb.FreeDBGoogleAuthScopes, - auth.OAuth2Config{}, -) - -store := freedb.NewGoogleSheetRowStore( - auth, - "", - "", - freedb.GoogleSheetRowStoreConfig{Columns: []string{"name", "age"}}, -) -defer store.Close(context.Background()) +// const auth = OAuth2GoogleAuthClient.fromClientSecretFile( +// "", +// "", +// GOOGLE_SHEETS_READ_WRITE +// ); + +const store = await GoogleSheetRowStore.create( + auth, + "", + "", + new GoogleSheetRowStoreConfig(["name", "age"]) +); ``` ### Querying Rows -```go +```typescript // Output variable -var output []Person +let output: Person[]; // Select all columns for all rows -err := store. - Select(&output). - Exec(context.Background()) +output = await store.select().exec(); -// Select a few columns for all rows (non-selected struct fields will have default value) -err := store. - Select(&output, "name"). - Exec(context.Background()) +// Select a few columns for all rows (non-selected fields will have default value) +output = await store.select("name").exec(); // Select rows with conditions -err := store. - Select(&output). - Where("name = ? OR age >= ?", "freedb", 10). - Exec(context.Background()) +output = await store.select() + .where("name = ? OR age >= ?", "freedb", 10) + .exec(); // Select rows with sorting/order by -ordering := []freedb.ColumnOrderBy{ - {Column: "name", OrderBy: freedb.OrderByAsc}, - {Column: "age", OrderBy: freedb.OrderByDesc}, -} -err := store. - Select(&output). - OrderBy(ordering). - Exec(context.Background()) +const ordering = [ + { column: "name", orderBy: "ASC" }, + { column: "age", orderBy: "DESC" } +]; +output = await store.select() + .orderBy(ordering) + .exec(); // Select rows with offset and limit -err := store. - Select(&output). - Offset(10). - Limit(20). - Exec(context.Background()) +output = await store.select() + .offset(10) + .limit(20) + .exec(); ``` ### Counting Rows -```go +```typescript // Count all rows -count, err := store. - Count(). - Exec(context.Background()) +const count = await store.count().exec(); // Count rows with conditions -count, err := store. - Count(). - Where("name = ? OR age >= ?", "freedb", 10). - Exec(context.Background()) +const count = await store.count() + .where("name = ? OR age >= ?", "freedb", 10) + .exec(); ``` ### Inserting Rows -```go -err := store.Insert( - Person{Name: "no_pointer", Age: 10}, - &Person{Name: "with_pointer", Age: 20}, -).Exec(context.Background()) +```typescript +await store.insert( + { name: "freedb", age: 10 }, + { name: "another_row", age: 20 } +).exec(); ``` ### Updating Rows -```go -colToUpdate := make(map[string]interface{}) -colToUpdate["name"] = "new_name" -colToUpdate["age"] = 12 +```typescript +const colToUpdate: Record = { + name: "new_name", + age: 12 +}; // Update all rows -err := store. - Update(colToUpdate). - Exec(context.Background()) +await store.update(colToUpdate).exec(); // Update rows with conditions -err := store. - Update(colToUpdate). - Where("name = ? OR age >= ?", "freedb", 10). - Exec(context.Background()) +await store.update(colToUpdate) + .where("name = ? OR age >= ?", "freedb", 10) + .exec(); ``` ### Deleting Rows -```go +```typescript // Delete all rows -err := store. - Delete(). - Exec(context.Background()) +await store.delete().exec(); // Delete rows with conditions -err := store. - Delete(). - Where("name = ? OR age >= ?", "freedb", 10). - Exec(context.Background()) +await store.delete() + .where("name = ? OR age >= ?", "freedb", 10) + .exec(); ``` ### Struct Field to Column Mapping -The struct field tag `db` can be used for defining the mapping between the struct field and the column name. -This works just like the `json` tag from [`encoding/json`](https://pkg.go.dev/encoding/json). +In TypeScript, you can define interfaces or classes to represent your data structure. The column names in the Google Sheet should match the property names in your interface or class. -Without `db` tag, the library will use the field name directly (case-sensitive). - -```go -// This will map to the exact column name of "Name" and "Age". -type NoTagPerson struct { - Name string - Age int +```typescript +// This will map to the exact column name of "name" and "age". +interface Person { + name: string; + age: number; } -// This will map to the exact column name of "name" and "age" -type WithTagPerson struct { - Name string `db:"name"` - Age int `db:"age"` +// You can also use classes if you prefer +class PersonClass { + constructor( + public name: string, + public age: number + ) {} } ``` @@ -242,54 +219,60 @@ type WithTagPerson struct { > Please use `KV Store V2` as much as possible, especially if you are creating a new storage. -```go -import ( - "github.com/FreeLeh/GoFreeDB" - "github.com/FreeLeh/GoFreeDB/google/auth" -) +```typescript +import { ServiceAccountGoogleAuthClient } from 'jsfreedb/google/auth/service_account'; +import { GOOGLE_SHEETS_READ_WRITE } from 'jsfreedb/google/auth/models'; +import { GoogleSheetKVStore } from 'jsfreedb/google/store/kv'; +import { KVMode } from 'jsfreedb/google/utils/kv'; // If using Google Service Account. -auth, err := auth.NewServiceFromFile( - "", - freedb.FreeDBGoogleAuthScopes, - auth.ServiceConfig{}, -) +const auth = ServiceAccountGoogleAuthClient.fromServiceAccountFile( + "", + GOOGLE_SHEETS_READ_WRITE +); // If using Google OAuth2 Flow. -auth, err := auth.NewOAuth2FromFile( - "", - "", - freedb.FreeDBGoogleAuthScopes, - auth.OAuth2Config{}, -) - -kv := freedb.NewGoogleSheetKVStore( - auth, - "", - "", - freedb.GoogleSheetKVStoreConfig{Mode: freedb.KVSetModeAppendOnly}, -) -defer kv.Close(context.Background()) +// const auth = OAuth2GoogleAuthClient.fromClientSecretFile( +// "", +// "", +// GOOGLE_SHEETS_READ_WRITE +// ); + +const kv = await GoogleSheetKVStore.create( + auth, + "", + "", + { mode: KVMode.AppendOnly } +); ``` ### Get Value -If the key is not found, `freedb.ErrKeyNotFound` will be returned. - -```go -value, err := kv.Get(context.Background(), "k1") +If the key is not found, a `KeyNotFoundError` will be thrown. + +```typescript +try { + const value = await kv.get("k1"); + console.log(value); +} catch (error) { + if (error instanceof KeyNotFoundError) { + console.log("Key not found"); + } else { + throw error; + } +} ``` ### Set Key -```go -err := kv.Set(context.Background(), "k1", []byte("some_value")) +```typescript +await kv.set("k1", "some_value"); ``` ### Delete Key -```go -err := kv.Delete(context.Background(), "k1") +```typescript +await kv.delete("k1"); ``` ### Supported Modes @@ -301,22 +284,22 @@ There are 2 different modes supported: 1. Default mode. 2. Append only mode. -```go +```typescript // Default mode -kv := freedb.NewGoogleSheetKVStore( - auth, - "", - "", - freedb.GoogleSheetKVStoreConfig{Mode: freedb.KVModeDefault}, -) +const kv = await GoogleSheetKVStore.create( + auth, + "", + "", + { mode: KVMode.Default } +); // Append only mode -kv := freedb.NewGoogleSheetKVStore( - auth, - "", - "", - freedb.GoogleSheetKVStoreConfig{Mode: freedb.KVModeAppendOnly}, -) +const kv = await GoogleSheetKVStore.create( + auth, + "", + "", + { mode: KVMode.AppendOnly } +); ``` ## KV Store V2 @@ -331,54 +314,60 @@ You cannot use an existing sheet based on `KV Store` with `KV Store V2` as the s and increase it by 1 until the last row. - Remove the timestamp column as `KV Store V2` does not depend on it anymore. -```go -import ( - "github.com/FreeLeh/GoFreeDB" - "github.com/FreeLeh/GoFreeDB/google/auth" -) +```typescript +import { ServiceAccountGoogleAuthClient } from 'jsfreedb/google/auth/service_account'; +import { GOOGLE_SHEETS_READ_WRITE } from 'jsfreedb/google/auth/models'; +import { GoogleSheetKVStoreV2 } from 'jsfreedb/google/store/kv_v2'; +import { KVMode } from 'jsfreedb/google/utils/kv'; // If using Google Service Account. -auth, err := auth.NewServiceFromFile( - "", - freedb.FreeDBGoogleAuthScopes, - auth.ServiceConfig{}, -) +const auth = ServiceAccountGoogleAuthClient.fromServiceAccountFile( + "", + GOOGLE_SHEETS_READ_WRITE +); // If using Google OAuth2 Flow. -auth, err := auth.NewOAuth2FromFile( - "", - "", - freedb.FreeDBGoogleAuthScopes, - auth.OAuth2Config{}, -) - -kv := freedb.NewGoogleSheetKVStoreV2( - auth, - "", - "", - freedb.GoogleSheetKVStoreV2Config{Mode: freedb.KVSetModeAppendOnly}, -) -defer kv.Close(context.Background()) +// const auth = OAuth2GoogleAuthClient.fromClientSecretFile( +// "", +// "", +// GOOGLE_SHEETS_READ_WRITE +// ); + +const kv = await GoogleSheetKVStoreV2.create( + auth, + "", + "", + { mode: KVMode.AppendOnly } +); ``` ### Get Value V2 -If the key is not found, `freedb.ErrKeyNotFound` will be returned. - -```go -value, err := kv.Get(context.Background(), "k1") +If the key is not found, a `KeyNotFoundError` will be thrown. + +```typescript +try { + const value = await kv.get("k1"); + console.log(value); +} catch (error) { + if (error instanceof KeyNotFoundError) { + console.log("Key not found"); + } else { + throw error; + } +} ``` ### Set Key V2 -```go -err := kv.Set(context.Background(), "k1", []byte("some_value")) +```typescript +await kv.set("k1", "some_value"); ``` ### Delete Key V2 -```go -err := kv.Delete(context.Background(), "k1") +```typescript +await kv.delete("k1"); ``` ### Supported Modes V2 @@ -390,24 +379,24 @@ There are 2 different modes supported: 1. Default mode. 2. Append only mode. -```go +```typescript // Default mode -kv := freedb.NewGoogleSheetKVStoreV2( - auth, - "", - "", - freedb.GoogleSheetKVStoreV2Config{Mode: freedb.KVModeDefault}, -) +const kv = await GoogleSheetKVStoreV2.create( + auth, + "", + "", + { mode: KVMode.Default } +); // Append only mode -kv := freedb.NewGoogleSheetKVStoreV2( - auth, - "", - "", - freedb.GoogleSheetKVStoreV2Config{Mode: freedb.KVModeAppendOnly}, -) +const kv = await GoogleSheetKVStoreV2.create( + auth, + "", + "", + { mode: KVMode.AppendOnly } +); ``` ## License -This project is [MIT licensed](https://github.com/FreeLeh/GoFreeDB/blob/main/LICENSE). +This project is [MIT licensed](https://github.com/FreeLeh/JSFreeDB/blob/main/LICENSE). diff --git a/docs/img/append_only_mode.png b/docs/img/append_only_mode.png new file mode 100644 index 0000000000000000000000000000000000000000..5b61f59118e096633647ba5c718ca2b313c5aeeb GIT binary patch literal 59002 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 WSQr0>4P~M01x;1Gr==>kq5lFqKzY>w literal 0 HcmV?d00001 diff --git a/docs/img/default_mode.png b/docs/img/default_mode.png new file mode 100644 index 0000000000000000000000000000000000000000..2ff26c9b24213c1fe7f9de60b53b2ac9844ef0b6 GIT binary patch literal 48158 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 Sn%({PS@DyyZ23oH|NjFXfO>rZ literal 0 HcmV?d00001 diff --git a/docs/img/logo_dark.png b/docs/img/logo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..3ffe66d25c6d9603c8d80ebb2bc8220481459a46 GIT binary patch literal 38448 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" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz", + "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz", + "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz", + "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz", + "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz", + "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz", + "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz", + "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz", + "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz", + "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz", + "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz", + "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz", + "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz", + "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz", + "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz", + "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz", + "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz", + "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz", + "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz", + "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz", + "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz", + "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz", + "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz", + "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", + "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@google-cloud/local-auth": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@google-cloud/local-auth/-/local-auth-2.1.0.tgz", @@ -510,8 +936,111 @@ "open": "^7.0.3", "server-destroy": "^1.0.1" }, - "engines": { - "node": ">=12.0.0" + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "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": { @@ -865,6 +1394,297 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz", + "integrity": "sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz", + "integrity": "sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz", + "integrity": "sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz", + "integrity": "sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz", + "integrity": "sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz", + "integrity": "sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz", + "integrity": "sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz", + "integrity": "sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz", + "integrity": "sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz", + "integrity": "sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz", + "integrity": "sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz", + "integrity": "sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz", + "integrity": "sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz", + "integrity": "sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz", + "integrity": "sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz", + "integrity": "sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz", + "integrity": "sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz", + "integrity": "sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz", + "integrity": "sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz", + "integrity": "sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -930,6 +1750,13 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", @@ -1053,6 +1880,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -1333,6 +2167,32 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/bundle-require": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.1.0.tgz", + "integrity": "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-tsconfig": "^0.2.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.18" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -1423,6 +2283,22 @@ "node": ">=10" } }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", @@ -1503,12 +2379,32 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -1628,6 +2524,13 @@ "node": ">= 0.4" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "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", @@ -1725,6 +2628,47 @@ "node": ">= 0.4" } }, + "node_modules/esbuild": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz", + "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.3", + "@esbuild/android-arm": "0.25.3", + "@esbuild/android-arm64": "0.25.3", + "@esbuild/android-x64": "0.25.3", + "@esbuild/darwin-arm64": "0.25.3", + "@esbuild/darwin-x64": "0.25.3", + "@esbuild/freebsd-arm64": "0.25.3", + "@esbuild/freebsd-x64": "0.25.3", + "@esbuild/linux-arm": "0.25.3", + "@esbuild/linux-arm64": "0.25.3", + "@esbuild/linux-ia32": "0.25.3", + "@esbuild/linux-loong64": "0.25.3", + "@esbuild/linux-mips64el": "0.25.3", + "@esbuild/linux-ppc64": "0.25.3", + "@esbuild/linux-riscv64": "0.25.3", + "@esbuild/linux-s390x": "0.25.3", + "@esbuild/linux-x64": "0.25.3", + "@esbuild/netbsd-arm64": "0.25.3", + "@esbuild/netbsd-x64": "0.25.3", + "@esbuild/openbsd-arm64": "0.25.3", + "@esbuild/openbsd-x64": "0.25.3", + "@esbuild/sunos-x64": "0.25.3", + "@esbuild/win32-arm64": "0.25.3", + "@esbuild/win32-ia32": "0.25.3", + "@esbuild/win32-x64": "0.25.3" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -1903,6 +2847,36 @@ } } }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "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", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/form-data": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", @@ -2452,6 +3426,22 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jake": { "version": "10.9.2", "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", @@ -3037,6 +4027,16 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -3131,12 +4131,35 @@ "node": ">=6" } }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -3155,6 +4178,13 @@ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true, + "license": "MIT" + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3272,7 +4302,17 @@ "brace-expansion": "^1.1.7" }, "engines": { - "node": "*" + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" } }, "node_modules/ms": { @@ -3280,6 +4320,18 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -3346,6 +4398,16 @@ "node": ">=8" } }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -3447,6 +4509,13 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -3498,6 +4567,30 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -3537,6 +4630,49 @@ "node": ">=8" } }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", @@ -3581,6 +4717,16 @@ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/pure-rand": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", @@ -3617,6 +4763,20 @@ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3676,6 +4836,46 @@ "node": ">=10" } }, + "node_modules/rollup": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz", + "integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.40.1", + "@rollup/rollup-android-arm64": "4.40.1", + "@rollup/rollup-darwin-arm64": "4.40.1", + "@rollup/rollup-darwin-x64": "4.40.1", + "@rollup/rollup-freebsd-arm64": "4.40.1", + "@rollup/rollup-freebsd-x64": "4.40.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.1", + "@rollup/rollup-linux-arm-musleabihf": "4.40.1", + "@rollup/rollup-linux-arm64-gnu": "4.40.1", + "@rollup/rollup-linux-arm64-musl": "4.40.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-musl": "4.40.1", + "@rollup/rollup-linux-s390x-gnu": "4.40.1", + "@rollup/rollup-linux-x64-gnu": "4.40.1", + "@rollup/rollup-linux-x64-musl": "4.40.1", + "@rollup/rollup-win32-arm64-msvc": "4.40.1", + "@rollup/rollup-win32-ia32-msvc": "4.40.1", + "@rollup/rollup-win32-x64-msvc": "4.40.1", + "fsevents": "~2.3.2" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -3883,6 +5083,22 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "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/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -3895,6 +5111,20 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -3925,6 +5155,76 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "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/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3963,6 +5263,81 @@ "node": ">=8" } }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -3986,6 +5361,23 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/ts-jest": { "version": "29.2.6", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.6.tgz", @@ -4046,6 +5438,100 @@ "node": ">=10" } }, + "node_modules/tsup": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.4.0.tgz", + "integrity": "sha512-b+eZbPCjz10fRryaAA7C8xlIHnf8VnsaRqydheLIqwG/Mcpfk8Z5zp3HayX7GaTygkigHl5cBUs+IhcySiIexQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^5.1.0", + "cac": "^6.7.14", + "chokidar": "^4.0.3", + "consola": "^3.4.0", + "debug": "^4.4.0", + "esbuild": "^0.25.0", + "joycon": "^3.1.1", + "picocolors": "^1.1.1", + "postcss-load-config": "^6.0.1", + "resolve-from": "^5.0.0", + "rollup": "^4.34.8", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.35.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.11", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@microsoft/api-extractor": "^7.36.0", + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "@microsoft/api-extractor": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/tsup/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tsup/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tsup/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/tsup/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -4202,6 +5688,25 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "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/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index eaba04b..38fc510 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,11 @@ "name": "jsfreedb", "version": "0.0.1", "description": "JSFreeDB is a JavaScript library that provides common and simple database abstractions on top of Google Sheets.", - "main": "dist/index.js", + "main": "dist/index.cjs", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", "scripts": { + "build": "tsup", "test": "jest", "integration-test": "npm run test -- --testPathPattern=integration" }, @@ -21,6 +24,7 @@ "@types/jest": "^29.5.14", "jest": "^29.7.0", "ts-jest": "^29.2.6", + "tsup": "^8.4.0", "typescript": "^5.7.3" }, "dependencies": { diff --git a/src/google/auth/index.ts b/src/google/auth/index.ts new file mode 100644 index 0000000..01971cc --- /dev/null +++ b/src/google/auth/index.ts @@ -0,0 +1,4 @@ +export * from './base' +export * from './models' +export * from './service_account' +export * from './models' \ No newline at end of file diff --git a/src/google/index.ts b/src/google/index.ts new file mode 100644 index 0000000..6310f44 --- /dev/null +++ b/src/google/index.ts @@ -0,0 +1,3 @@ +export * from './auth' +export * from './store' +export * from './utils' \ No newline at end of file diff --git a/src/google/store/index.ts b/src/google/store/index.ts new file mode 100644 index 0000000..8824a6a --- /dev/null +++ b/src/google/store/index.ts @@ -0,0 +1,9 @@ +export { GoogleSheetKVStoreConfig, GoogleSheetKVStore } from './kv'; +export { GoogleSheetRowStoreConfig, GoogleSheetRowStore } from './row'; +export { + GoogleSheetSelectStmt, + GoogleSheetInsertStmt, + GoogleSheetUpdateStmt, + GoogleSheetDeleteStmt, + GoogleSheetCountStmt, +} from './stmt'; \ No newline at end of file diff --git a/src/google/store/kv.ts b/src/google/store/kv.ts index c811514..c5ec329 100644 --- a/src/google/store/kv.ts +++ b/src/google/store/kv.ts @@ -5,7 +5,7 @@ import { Codec } from '../codec/base'; import { BasicCodec } from '../codec/basic'; import { OrderBy } from '../utils/row'; -interface GoogleSheetKVStoreConfig { +export interface GoogleSheetKVStoreConfig { mode: KVMode; } @@ -19,7 +19,7 @@ export class GoogleSheetKVStore { private mode: KVMode private codec: Codec - constructor(rowStore: GoogleSheetRowStore, mode: KVMode, codec: Codec) { + private constructor(rowStore: GoogleSheetRowStore, mode: KVMode, codec: Codec) { this.rowStore = rowStore this.mode = mode this.codec = codec diff --git a/src/google/store/row.ts b/src/google/store/row.ts index 876e18d..41aff33 100644 --- a/src/google/store/row.ts +++ b/src/google/store/row.ts @@ -48,6 +48,7 @@ export class GoogleSheetRowStoreConfig { if (this.columns.length === 0) { throw new Error('columns must have at least one column'); } + const maxColumn = 26; // adjust as needed if (this.columns.length > maxColumn) { throw new Error(`you can only have up to ${maxColumn} columns`); @@ -55,9 +56,6 @@ export class GoogleSheetRowStoreConfig { } } -/** Custom error thrown for invalid GoogleSheetRowStoreConfig operations */ -export class GoogleSheetRowStoreConfigError extends Error { } - /** * GoogleSheetRowStore encapsulates row store functionality on top of a Google Sheet. */ diff --git a/src/google/store/stmt.ts b/src/google/store/stmt.ts index afdb073..2b324ee 100644 --- a/src/google/store/stmt.ts +++ b/src/google/store/stmt.ts @@ -302,8 +302,11 @@ export class GoogleSheetCountStmt { true, ) + if (result.rows.length < 1 || result.rows[0]!.length < 1) { + return 0 + } if (result.rows.length !== 1 || result.rows[0]!.length !== 1) { - throw new Error(`unexpected count result: ${JSON.stringify(result.rows)}`) + throw new Error(`unexpected result for count: ${JSON.stringify(result)}`) } const raw = result.rows[0]![0] diff --git a/src/google/utils/index.ts b/src/google/utils/index.ts new file mode 100644 index 0000000..1e9a730 --- /dev/null +++ b/src/google/utils/index.ts @@ -0,0 +1,2 @@ +export * from './kv'; +export * from './row' \ No newline at end of file diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..1b78200 --- /dev/null +++ b/src/index.ts @@ -0,0 +1 @@ +export * from './google' \ No newline at end of file diff --git a/tests/google/store/row.integration.test.ts b/tests/google/store/row.integration.test.ts index 3928182..48812c3 100644 --- a/tests/google/store/row.integration.test.ts +++ b/tests/google/store/row.integration.test.ts @@ -39,6 +39,13 @@ describe('GoogleSheetRowStore integration', () => { ) try { + await sleep(1000) + await expect( + store + .count() + .exec() + ).resolves.toEqual(0) + await sleep(1000) await expect( store diff --git a/tests/google/store/stmt.test.ts b/tests/google/store/stmt.test.ts index 5041ee6..2f868e9 100644 --- a/tests/google/store/stmt.test.ts +++ b/tests/google/store/stmt.test.ts @@ -543,9 +543,7 @@ describe('GoogleSheetCountStmt', () => { it('throws if result shape is unexpected (no rows)', async () => { wrapper.queryRows.mockResolvedValueOnce({ rows: [] } as QueryRowsResult) const stmt = new GoogleSheetCountStmt(store) - await expect(stmt.exec()) - .rejects - .toThrow(/unexpected count result/) + await expect(stmt.exec()).resolves.toBe(0) }) it('throws if result shape is unexpected (too many cols)', async () => { @@ -553,7 +551,7 @@ describe('GoogleSheetCountStmt', () => { const stmt = new GoogleSheetCountStmt(store) await expect(stmt.exec()) .rejects - .toThrow(/unexpected count result/) + .toThrow(/unexpected result for count/) }) it('throws if raw count is not a number', async () => { diff --git a/tsconfig.json b/tsconfig.json index f3c3f00..6dc767c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,11 +24,9 @@ // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ "moduleDetection": "force", /* Control what method is used to detect module-format JS files. */ /* Modules */ - "module": "NodeNext", /* Specify what module code is generated. */ + "module": "ESNext", /* Specify what module code is generated. */ "rootDir": ".", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ // "types": [], /* Specify type package names to be included without being referenced in a source file. */ @@ -40,7 +38,7 @@ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ - "resolveJsonModule": true, /* Enable importing .json files. */ + "resolveJsonModule": false, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ /* JavaScript Support */ diff --git a/tsup.config.ts b/tsup.config.ts new file mode 100644 index 0000000..44fe693 --- /dev/null +++ b/tsup.config.ts @@ -0,0 +1,24 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + entry: ['src/index.ts'], + outDir: 'dist', + format: ['esm', 'cjs'], + dts: true, + sourcemap: true, + clean: true, // clean output dir before building + skipNodeModulesBundle: true, // don’t bundle deps in node_modules + target: 'es2022', + + outExtension({ format }) { + if (format === 'cjs') { + return { + js: `.cjs`, + } + } else { + return { + js: `.mjs`, + } + } + }, +}) \ No newline at end of file