diff --git a/.env.example b/.env.example index 444562c2d..8cdf80f91 100644 --- a/.env.example +++ b/.env.example @@ -9,8 +9,7 @@ # When adding additional environment variables, the schema in "/src/env.js" # should be updated accordingly. -# Prisma -# https://www.prisma.io/docs/reference/database-reference/connection-urls#env +# Database DATABASE_URL="file:../database/db.sqlite" # Next Auth diff --git a/Dockerfile b/Dockerfile index fe87a02b9..a53350274 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,24 +10,30 @@ ENV NODE_OPTIONS '--no-experimental-fetch' COPY next.config.js ./ COPY public ./public -COPY package.json ./package.json -COPY yarn.lock ./yarn.lock +COPY package.json ./temp_package.json +COPY yarn.lock ./temp_yarn.lock # Automatically leverage output traces to reduce image size # https://nextjs.org/docs/advanced-features/output-file-tracing COPY .next/standalone ./ COPY .next/static ./.next/static -COPY prisma/schema.prisma prisma/schema.prisma COPY ./scripts/run.sh ./scripts/run.sh +COPY ./drizzle ./drizzle +COPY ./src/migrate.ts ./src/migrate.ts # Install dependencies RUN apt-get update -y && apt-get install -y openssl -RUN yarn global add prisma + +# Required for migration +RUN cp -r node_modules node_modules_cache +RUN rm -rf node_modules +RUN rm package.json +RUN yarn add typescript ts-node drizzle-orm@0.28.6 better-sqlite3@8.6.0 @types/better-sqlite3 # Expose the default application port EXPOSE $PORT ENV PORT=${PORT} -ENV DATABASE_URL "file:../database/db.sqlite" +ENV DATABASE_URL "file:./db.sqlite" ENV NEXTAUTH_URL "http://localhost:3000" ENV PORT 7575 ENV NEXTAUTH_SECRET NOT_IN_USE_BECAUSE_JWTS_ARE_UNUSED diff --git a/drizzle.config.ts b/drizzle.config.ts index 20cd5e707..e6aa45846 100644 --- a/drizzle.config.ts +++ b/drizzle.config.ts @@ -1,9 +1,11 @@ +import 'dotenv'; import { type Config } from 'drizzle-kit'; export default { schema: './src/server/db/schema.ts', driver: 'better-sqlite', + out: './drizzle', dbCredentials: { - url: 'sqlite.db', + url: process.env.DATABASE_URL!, }, } satisfies Config; diff --git a/drizzle/0000_supreme_the_captain.sql b/drizzle/0000_supreme_the_captain.sql new file mode 100644 index 000000000..d814bc5ed --- /dev/null +++ b/drizzle/0000_supreme_the_captain.sql @@ -0,0 +1,69 @@ +CREATE TABLE `account` ( + `userId` text NOT NULL, + `type` text NOT NULL, + `provider` text NOT NULL, + `providerAccountId` text NOT NULL, + `refresh_token` text, + `access_token` text, + `expires_at` integer, + `token_type` text, + `scope` text, + `id_token` text, + `session_state` text, + PRIMARY KEY(`provider`, `providerAccountId`), + FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `invite` ( + `id` text PRIMARY KEY NOT NULL, + `token` text NOT NULL, + `expires` integer NOT NULL, + `created_by_id` text NOT NULL, + FOREIGN KEY (`created_by_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `session` ( + `sessionToken` text PRIMARY KEY NOT NULL, + `userId` text NOT NULL, + `expires` integer NOT NULL, + FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `user_setting` ( + `id` text PRIMARY KEY NOT NULL, + `user_id` text NOT NULL, + `color_scheme` text DEFAULT 'environment' NOT NULL, + `language` text DEFAULT 'en' NOT NULL, + `default_board` text DEFAULT 'default' NOT NULL, + `first_day_of_week` text DEFAULT 'monday' NOT NULL, + `search_template` text DEFAULT 'https://google.com/search?q=%s' NOT NULL, + `open_search_in_new_tab` integer DEFAULT true NOT NULL, + `disable_ping_pulse` integer DEFAULT false NOT NULL, + `replace_ping_with_icons` integer DEFAULT false NOT NULL, + `use_debug_language` integer DEFAULT false NOT NULL, + `auto_focus_search` integer DEFAULT false NOT NULL, + FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `user` ( + `id` text PRIMARY KEY NOT NULL, + `name` text, + `email` text, + `emailVerified` integer, + `image` text, + `password` text, + `salt` text, + `is_admin` integer DEFAULT false NOT NULL, + `is_owner` integer DEFAULT false NOT NULL +); +--> statement-breakpoint +CREATE TABLE `verificationToken` ( + `identifier` text NOT NULL, + `token` text NOT NULL, + `expires` integer NOT NULL, + PRIMARY KEY(`identifier`, `token`) +); +--> statement-breakpoint +CREATE INDEX `userId_idx` ON `account` (`userId`);--> statement-breakpoint +CREATE UNIQUE INDEX `invite_token_unique` ON `invite` (`token`);--> statement-breakpoint +CREATE INDEX `user_id_idx` ON `session` (`userId`); \ No newline at end of file diff --git a/drizzle/meta/0000_snapshot.json b/drizzle/meta/0000_snapshot.json new file mode 100644 index 000000000..87169d793 --- /dev/null +++ b/drizzle/meta/0000_snapshot.json @@ -0,0 +1,468 @@ +{ + "version": "5", + "dialect": "sqlite", + "id": "32c1bc91-e69f-4e1d-b53c-9c43f2e6c9d3", + "prevId": "00000000-0000-0000-0000-000000000000", + "tables": { + "account": { + "name": "account", + "columns": { + "userId": { + "name": "userId", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "providerAccountId": { + "name": "providerAccountId", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "token_type": { + "name": "token_type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "scope": { + "name": "scope", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "id_token": { + "name": "id_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "session_state": { + "name": "session_state", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "userId_idx": { + "name": "userId_idx", + "columns": [ + "userId" + ], + "isUnique": false + } + }, + "foreignKeys": { + "account_userId_user_id_fk": { + "name": "account_userId_user_id_fk", + "tableFrom": "account", + "tableTo": "user", + "columnsFrom": [ + "userId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "account_provider_providerAccountId_pk": { + "columns": [ + "provider", + "providerAccountId" + ] + } + }, + "uniqueConstraints": {} + }, + "invite": { + "name": "invite", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_by_id": { + "name": "created_by_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "invite_token_unique": { + "name": "invite_token_unique", + "columns": [ + "token" + ], + "isUnique": true + } + }, + "foreignKeys": { + "invite_created_by_id_user_id_fk": { + "name": "invite_created_by_id_user_id_fk", + "tableFrom": "invite", + "tableTo": "user", + "columnsFrom": [ + "created_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "session": { + "name": "session", + "columns": { + "sessionToken": { + "name": "sessionToken", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "userId": { + "name": "userId", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_id_idx": { + "name": "user_id_idx", + "columns": [ + "userId" + ], + "isUnique": false + } + }, + "foreignKeys": { + "session_userId_user_id_fk": { + "name": "session_userId_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "columnsFrom": [ + "userId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "user_setting": { + "name": "user_setting", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "color_scheme": { + "name": "color_scheme", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'environment'" + }, + "language": { + "name": "language", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'en'" + }, + "default_board": { + "name": "default_board", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'default'" + }, + "first_day_of_week": { + "name": "first_day_of_week", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'monday'" + }, + "search_template": { + "name": "search_template", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'https://google.com/search?q=%s'" + }, + "open_search_in_new_tab": { + "name": "open_search_in_new_tab", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "disable_ping_pulse": { + "name": "disable_ping_pulse", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "replace_ping_with_icons": { + "name": "replace_ping_with_icons", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "use_debug_language": { + "name": "use_debug_language", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "auto_focus_search": { + "name": "auto_focus_search", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "user_setting_user_id_user_id_fk": { + "name": "user_setting_user_id_user_id_fk", + "tableFrom": "user_setting", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "emailVerified": { + "name": "emailVerified", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "salt": { + "name": "salt", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "is_admin": { + "name": "is_admin", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "is_owner": { + "name": "is_owner", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "verificationToken": { + "name": "verificationToken", + "columns": { + "identifier": { + "name": "identifier", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "verificationToken_identifier_token_pk": { + "columns": [ + "identifier", + "token" + ] + } + }, + "uniqueConstraints": {} + } + }, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + } +} \ No newline at end of file diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json new file mode 100644 index 000000000..6af8ab350 --- /dev/null +++ b/drizzle/meta/_journal.json @@ -0,0 +1,13 @@ +{ + "version": "5", + "dialect": "sqlite", + "entries": [ + { + "idx": 0, + "version": "5", + "when": 1695874816934, + "tag": "0000_supreme_the_captain", + "breakpoints": true + } + ] +} \ No newline at end of file diff --git a/package.json b/package.json index 9f6303c84..8cfa2d3f2 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "test:run": "vitest run", "test:coverage": "vitest run --coverage", "docker:build": "turbo build && docker build . -t homarr:local-dev", - "docker:start": "docker run -p 7575:7575 --name homarr-development homarr:local-dev" + "docker:start": "docker run -p 7575:7575 --name homarr-development homarr:local-dev", + "db:migrate": "ts-node src/migrate.ts" }, "dependencies": { "@auth/drizzle-adapter": "^0.3.2", @@ -73,6 +74,7 @@ "cookies-next": "^2.1.1", "dayjs": "^1.11.7", "dockerode": "^3.3.2", + "dotenv": "^16.3.1", "drizzle-kit": "^0.19.13", "drizzle-orm": "^0.28.6", "fily-publish-gridstack": "^0.0.13", @@ -136,6 +138,7 @@ "prettier": "^3.0.0", "sass": "^1.56.1", "ts-node": "latest", + "ts-node-esm": "^0.0.6", "turbo": "^1.10.12", "typescript": "^5.1.0", "video.js": "^8.0.3", @@ -247,4 +250,4 @@ ] } } -} +} \ No newline at end of file diff --git a/scripts/run.sh b/scripts/run.sh index 720a92499..1f1278742 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -3,8 +3,20 @@ echo "Exporting hostname..." export NEXTAUTH_URL_INTERNAL="http://$HOSTNAME:7575" -echo "Pushing database changes..." -prisma db push --skip-generate +echo "Migrating database..." +yarn ts-node src/migrate.ts & PID=$! +# Wait for migration to finish +wait $PID + +echo "Reverting to production node_modules..." +# Copy specific sqlite3 binary to node_modules +cp /app/node_modules/better-sqlite3/build/Release/better_sqlite3.node /app/node_modules_cache/better-sqlite3/build/Release/better_sqlite3.node + +# Remove node_modules and copy cached node_modules +rm -r /app/node_modules +cp -r /app/node_modules_cache /app/node_modules +cp ./temp_package.json package.json +cp ./temp_yarn.lock yarn.lock echo "Starting production server..." node /app/server.js \ No newline at end of file diff --git a/src/migrate.ts b/src/migrate.ts new file mode 100644 index 000000000..3e60b28c3 --- /dev/null +++ b/src/migrate.ts @@ -0,0 +1,15 @@ +// This file is used to migrate the database to the current version +// It is run when the docker container starts +import Database from 'better-sqlite3'; +import { drizzle } from 'drizzle-orm/better-sqlite3'; +import { migrate } from 'drizzle-orm/better-sqlite3/migrator'; + +const sqlite = new Database('sqlite.db'); + +const db = drizzle(sqlite); + +const migrateDatabase = async () => { + await migrate(db, { migrationsFolder: './drizzle' }); +}; + +migrateDatabase(); diff --git a/src/server/db/schema.ts b/src/server/db/schema.ts index 8a586fa6b..470f96a5e 100644 --- a/src/server/db/schema.ts +++ b/src/server/db/schema.ts @@ -1,6 +1,6 @@ import { InferSelectModel, relations } from 'drizzle-orm'; import { index, int, integer, primaryKey, sqliteTable, text } from 'drizzle-orm/sqlite-core'; -import { AdapterAccount } from 'next-auth/adapters'; +import { type AdapterAccount } from 'next-auth/adapters'; export const users = sqliteTable('user', { id: text('id').notNull().primaryKey(), diff --git a/yarn.lock b/yarn.lock index 8cbb33d14..9138abab3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -57,7 +57,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.13": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.8.3": version: 7.22.13 resolution: "@babel/code-frame@npm:7.22.13" dependencies: @@ -1770,6 +1770,100 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-commonjs@npm:^13.0.0": + version: 13.0.2 + resolution: "@rollup/plugin-commonjs@npm:13.0.2" + dependencies: + "@rollup/pluginutils": ^3.0.8 + commondir: ^1.0.1 + estree-walker: ^1.0.1 + glob: ^7.1.2 + is-reference: ^1.1.2 + magic-string: ^0.25.2 + resolve: ^1.11.0 + peerDependencies: + rollup: ^2.3.4 + checksum: bed46b5f871551b972e95447212a5ccb3d040cb718c720abb387c417d25fe6aab7a0a31c28d07d568e880b81e690cdbb7df606585a2f6b78900f5f76c444107f + languageName: node + linkType: hard + +"@rollup/plugin-json@npm:^4.1.0": + version: 4.1.0 + resolution: "@rollup/plugin-json@npm:4.1.0" + dependencies: + "@rollup/pluginutils": ^3.0.8 + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + checksum: 867bc9339b4ccf0b9ff3b2617a95b3b8920115163f86c8e3b1f068a14ca25949472d3c05b09a5ac38ca0fe2185756e34617eaeb219d4a2b6e2307c501c7d4552 + languageName: node + linkType: hard + +"@rollup/plugin-multi-entry@npm:^3.0.1": + version: 3.0.1 + resolution: "@rollup/plugin-multi-entry@npm:3.0.1" + dependencies: + matched: ^1.0.2 + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + checksum: 04f24a30c65f425498b1324f675bd83f7a8aff0758c22af5be0417fb62d9e5b11583ece50952f23c1e4a31e9074b5bce7a0c03d1e2adbdd3bac1c0bc9c466b66 + languageName: node + linkType: hard + +"@rollup/plugin-node-resolve@npm:^8.0.1": + version: 8.4.0 + resolution: "@rollup/plugin-node-resolve@npm:8.4.0" + dependencies: + "@rollup/pluginutils": ^3.1.0 + "@types/resolve": 1.17.1 + builtin-modules: ^3.1.0 + deep-freeze: ^0.0.1 + deepmerge: ^4.2.2 + is-module: ^1.0.0 + resolve: ^1.17.0 + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: 9bd26070d525473e971fb78a4ee583da95263d855c9bf710f6c2a322f184b6806fb86c602750b9592f12f06c6459edb4f7afdba65dd73c0767f95ea7f74db077 + languageName: node + linkType: hard + +"@rollup/plugin-replace@npm:^2.3.3": + version: 2.4.2 + resolution: "@rollup/plugin-replace@npm:2.4.2" + dependencies: + "@rollup/pluginutils": ^3.1.0 + magic-string: ^0.25.7 + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + checksum: b2f1618ee5526d288e2f8ae328dcb326e20e8dc8bd1f60d3e14d6708a5832e4aa44811f7d493f4aed2deeadca86e3b6b0503cd39bf50cfb4b595bb9da027fad0 + languageName: node + linkType: hard + +"@rollup/plugin-url@npm:^5.0.1": + version: 5.0.1 + resolution: "@rollup/plugin-url@npm:5.0.1" + dependencies: + "@rollup/pluginutils": ^3.0.4 + make-dir: ^3.0.0 + mime: ^2.4.4 + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: e63daa521843592859f2c62c131f7634128b897aefc4a0a7d5906495085c90a0c548bc30940848c927c41a0baf0ee6152867743606c42dca76221256f102e18d + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^3.0.4, @rollup/pluginutils@npm:^3.0.8, @rollup/pluginutils@npm:^3.1.0": + version: 3.1.0 + resolution: "@rollup/pluginutils@npm:3.1.0" + dependencies: + "@types/estree": 0.0.39 + estree-walker: ^1.0.1 + picomatch: ^2.2.2 + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: 8be16e27863c219edbb25a4e6ec2fe0e1e451d9e917b6a43cf2ae5bc025a6b8faaa40f82a6e53b66d0de37b58ff472c6c3d57a83037ae635041f8df959d6d9aa + languageName: node + linkType: hard + "@rushstack/eslint-patch@npm:^1.3.3": version: 1.5.0 resolution: "@rushstack/eslint-patch@npm:1.5.0" @@ -2510,6 +2604,16 @@ __metadata: languageName: node linkType: hard +"@types/clean-css@npm:*": + version: 4.2.7 + resolution: "@types/clean-css@npm:4.2.7" + dependencies: + "@types/node": "*" + source-map: ^0.6.0 + checksum: c6f5fb7bd700d5fa488f0d2a4e7e6f5220c305d186976093b5bace2361590659dcd355c2bf54315840e9bf4423e41d90f303dd0762719b42d04af2089e1d7e49 + languageName: node + linkType: hard + "@types/connect@npm:*": version: 3.4.36 resolution: "@types/connect@npm:3.4.36" @@ -2639,6 +2743,20 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:*": + version: 1.0.2 + resolution: "@types/estree@npm:1.0.2" + checksum: aeedb1b2fe20cbe06f44b99b562bf9703e360bfcdf5bb3d61d248182ee1dd63500f2474e12f098ffe1f5ac3202b43b3e18ec99902d9328d5374f5512fa077e45 + languageName: node + linkType: hard + +"@types/estree@npm:0.0.39": + version: 0.0.39 + resolution: "@types/estree@npm:0.0.39" + checksum: 412fb5b9868f2c418126451821833414189b75cc6bf84361156feed733e3d92ec220b9d74a89e52722e03d5e241b2932732711b7497374a404fad49087adc248 + languageName: node + linkType: hard + "@types/express-serve-static-core@npm:^4.17.33": version: 4.17.37 resolution: "@types/express-serve-static-core@npm:4.17.37" @@ -2673,6 +2791,17 @@ __metadata: languageName: node linkType: hard +"@types/html-minifier@npm:^3.5.3": + version: 3.5.3 + resolution: "@types/html-minifier@npm:3.5.3" + dependencies: + "@types/clean-css": "*" + "@types/relateurl": "*" + "@types/uglify-js": "*" + checksum: 28a9c042e692813afd9d9c48960ede94b479bb12de031e9366edfb0babb47beb63193826f98a67c8683f7e6fd3e52cf28e5140861d40906bb8782954862dac66 + languageName: node + linkType: hard + "@types/http-cache-semantics@npm:*, @types/http-cache-semantics@npm:^4.0.1": version: 4.0.2 resolution: "@types/http-cache-semantics@npm:4.0.2" @@ -2872,6 +3001,22 @@ __metadata: languageName: node linkType: hard +"@types/relateurl@npm:*": + version: 0.2.30 + resolution: "@types/relateurl@npm:0.2.30" + checksum: 5d114cdd32963813cf2d5e3146f026124aa53d406cd4711596a1f0823b8a86c319dcb2e23510cd4a4adc5bd20daa00786369f0d7b611072d80ed638fa32d631b + languageName: node + linkType: hard + +"@types/resolve@npm:1.17.1": + version: 1.17.1 + resolution: "@types/resolve@npm:1.17.1" + dependencies: + "@types/node": "*" + checksum: dc6a6df507656004e242dcb02c784479deca516d5f4b58a1707e708022b269ae147e1da0521f3e8ad0d63638869d87e0adc023f0bd5454aa6f72ac66c7525cf5 + languageName: node + linkType: hard + "@types/responselike@npm:^1.0.0": version: 1.0.1 resolution: "@types/responselike@npm:1.0.1" @@ -2948,6 +3093,15 @@ __metadata: languageName: node linkType: hard +"@types/uglify-js@npm:*": + version: 3.17.2 + resolution: "@types/uglify-js@npm:3.17.2" + dependencies: + source-map: ^0.6.1 + checksum: 6cd3ae5befd2bf147c6a37e94b1454dc85d9102ec1a6ab242268f37fe84ba8373904db2ed56fa418233fd93366bde8e0bb4f49c137b92f165b45c957296ac28a + languageName: node + linkType: hard + "@types/uuid@npm:^9.0.0": version: 9.0.4 resolution: "@types/uuid@npm:9.0.4" @@ -3434,7 +3588,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.4, acorn@npm:^8.10.0, acorn@npm:^8.4.1, acorn@npm:^8.9.0": +"acorn@npm:^8.0.4, acorn@npm:^8.10.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.9.0": version: 8.10.0 resolution: "acorn@npm:8.10.0" bin: @@ -3589,6 +3743,43 @@ __metadata: languageName: node linkType: hard +"aria-build@npm:^0.4.3": + version: 0.4.5 + resolution: "aria-build@npm:0.4.5" + dependencies: + "@rollup/plugin-commonjs": ^13.0.0 + "@rollup/plugin-json": ^4.1.0 + "@rollup/plugin-multi-entry": ^3.0.1 + "@rollup/plugin-node-resolve": ^8.0.1 + "@rollup/plugin-replace": ^2.3.3 + "@rollup/plugin-url": ^5.0.1 + esbuild: ^0.5.3 + magic-string: ^0.25.7 + rollup: ^2.17.0 + rollup-plugin-dts: ^1.4.7 + rollup-plugin-minify-html-literals: ^1.2.4 + rollup-plugin-terser: ^6.1.0 + sade: ^1.7.3 + ts-node: ^8.10.2 + peerDependencies: + "@swc/core": "*" + aria-fs: "*" + typescript: "*" + bin: + aria-build: bin/aria-build.js + checksum: 53558ced6e89693aa1f6f24595e9c2e08a5069092eabe482b711d9da46af2d4f9eb3feac3c070bccdf6893581d8d57bd69a3483d4f525ac67e44c7ada98052c9 + languageName: node + linkType: hard + +"aria-fs@npm:^0.4.3": + version: 0.4.5 + resolution: "aria-fs@npm:0.4.5" + dependencies: + minimatch: ^3.0.4 + checksum: 8c3ce0969347f533767e177733355efc534fe911be9415af4d043fae864f66e23f7e91a4001d0abe7ea0b85e0015328e0da90c023a769772cb613757c5ba1994 + languageName: node + linkType: hard + "aria-hidden@npm:^1.1.3": version: 1.2.3 resolution: "aria-hidden@npm:1.2.3" @@ -3616,6 +3807,13 @@ __metadata: languageName: node linkType: hard +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: b5b0408c6eb7591143c394f3be082fee690ddd21f0fdde0a0a01106799e847f67fcae1b7e56b0a0c173290e29c6aca9562e82b300708a268bc8f88f3d6613cb9 + languageName: node + linkType: hard + "array-buffer-byte-length@npm:^1.0.0": version: 1.0.0 resolution: "array-buffer-byte-length@npm:1.0.0" @@ -3763,6 +3961,13 @@ __metadata: languageName: node linkType: hard +"async-array-reduce@npm:^0.2.1": + version: 0.2.1 + resolution: "async-array-reduce@npm:0.2.1" + checksum: ecc15c7b9580d408ff829f1bd29b90c4e2127892f9da7321c33e4c0adc298e3747f916c87db1049962aa6ed2b740d60963b8542e64e31ebe15c0d88821338e8b + languageName: node + linkType: hard + "asynciterator.prototype@npm:^1.0.0": version: 1.0.0 resolution: "asynciterator.prototype@npm:1.0.0" @@ -4208,6 +4413,13 @@ __metadata: languageName: node linkType: hard +"builtin-modules@npm:^3.1.0": + version: 3.3.0 + resolution: "builtin-modules@npm:3.3.0" + checksum: db021755d7ed8be048f25668fe2117620861ef6703ea2c65ed2779c9e3636d5c3b82325bd912244293959ff3ae303afa3471f6a15bf5060c103e4cc3a839749d + languageName: node + linkType: hard + "builtin-status-codes@npm:^3.0.0": version: 3.0.0 resolution: "builtin-status-codes@npm:3.0.0" @@ -4341,6 +4553,16 @@ __metadata: languageName: node linkType: hard +"camel-case@npm:^3.0.0": + version: 3.0.0 + resolution: "camel-case@npm:3.0.0" + dependencies: + no-case: ^2.2.0 + upper-case: ^1.1.1 + checksum: 4190ed6ab8acf4f3f6e1a78ad4d0f3f15ce717b6bfa1b5686d58e4bcd29960f6e312dd746b5fa259c6d452f1413caef25aee2e10c9b9a580ac83e516533a961a + languageName: node + linkType: hard + "camelcase@npm:^7.0.1": version: 7.0.1 resolution: "camelcase@npm:7.0.1" @@ -4474,6 +4696,15 @@ __metadata: languageName: node linkType: hard +"clean-css@npm:^4.2.1": + version: 4.2.4 + resolution: "clean-css@npm:4.2.4" + dependencies: + source-map: ~0.6.0 + checksum: 045ff6fcf4b5c76a084b24e1633e0c78a13b24080338fc8544565a9751559aa32ff4ee5886d9e52c18a644a6ff119bd8e37bc58e574377c05382a1fb7dbe39f8 + languageName: node + linkType: hard + "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -4617,7 +4848,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:2, commander@npm:^2.20.3": +"commander@npm:2, commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -4638,6 +4869,13 @@ __metadata: languageName: node linkType: hard +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 59715f2fc456a73f68826285718503340b9f0dd89bfffc42749906c5cf3d4277ef11ef1cca0350d0e79204f00f1f6d83851ececc9095dc88512a697ac0b9bdcb + languageName: node + linkType: hard + "compare-versions@npm:5.0.3": version: 5.0.3 resolution: "compare-versions@npm:5.0.3" @@ -5170,6 +5408,13 @@ __metadata: languageName: node linkType: hard +"deep-freeze@npm:^0.0.1": + version: 0.0.1 + resolution: "deep-freeze@npm:0.0.1" + checksum: 1e43c98e44c7849382d9f896e679d48a1b5bf40993f7cc858e3730ef4e2ba387b9b7b7fe722cac34febe7f6a564cd242c27bbc319e8df793c2a287f21e5ba038 + languageName: node + linkType: hard + "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -5177,7 +5422,7 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.3.1": +"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": version: 4.3.1 resolution: "deepmerge@npm:4.3.1" checksum: 2024c6a980a1b7128084170c4cf56b0fd58a63f2da1660dcfe977415f27b17dbe5888668b59d0b063753f3220719d5e400b7f113609489c90160bb9a5518d052 @@ -5475,6 +5720,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:^16.3.1": + version: 16.3.1 + resolution: "dotenv@npm:16.3.1" + checksum: 15d75e7279018f4bafd0ee9706593dd14455ddb71b3bcba9c52574460b7ccaf67d5cf8b2c08a5af1a9da6db36c956a04a1192b101ee102a3e0cf8817bbcf3dfd + languageName: node + linkType: hard + "dreamopt@npm:~0.8.0": version: 0.8.0 resolution: "dreamopt@npm:0.8.0" @@ -5963,6 +6215,15 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.5.3": + version: 0.5.26 + resolution: "esbuild@npm:0.5.26" + bin: + esbuild: bin/esbuild + checksum: 7519e364805d3c0b9bb936d3f477e0b62e56e111152652fe27e3b76b299fa9d603cc5f164d46e39de25f8097defab1f7b685b4b7e4abddebcbe1ae80c20880c3 + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -6326,6 +6587,20 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^0.6.1": + version: 0.6.1 + resolution: "estree-walker@npm:0.6.1" + checksum: 9d6f82a4921f11eec18f8089fb3cce6e53bcf45a8e545c42a2674d02d055fb30f25f90495f8be60803df6c39680c80dcee7f944526867eb7aa1fc9254883b23d + languageName: node + linkType: hard + +"estree-walker@npm:^1.0.1": + version: 1.0.1 + resolution: "estree-walker@npm:1.0.1" + checksum: 7e70da539691f6db03a08e7ce94f394ce2eef4180e136d251af299d41f92fb2d28ebcd9a6e393e3728d7970aeb5358705ddf7209d52fbcb2dd4693f95dcf925f + languageName: node + linkType: hard + "esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -6368,6 +6643,15 @@ __metadata: languageName: node linkType: hard +"expand-tilde@npm:^2.0.0, expand-tilde@npm:^2.0.2": + version: 2.0.2 + resolution: "expand-tilde@npm:2.0.2" + dependencies: + homedir-polyfill: ^1.0.1 + checksum: 2efe6ed407d229981b1b6ceb552438fbc9e5c7d6a6751ad6ced3e0aa5cf12f0b299da695e90d6c2ac79191b5c53c613e508f7149e4573abfbb540698ddb7301a + languageName: node + linkType: hard + "expect@npm:^29.0.0": version: 29.7.0 resolution: "expect@npm:29.7.0" @@ -6934,7 +7218,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.0, glob@npm:^7.1.3, glob@npm:^7.1.4": +"glob@npm:^7.1.0, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -6961,6 +7245,30 @@ __metadata: languageName: node linkType: hard +"global-modules@npm:^1.0.0": + version: 1.0.0 + resolution: "global-modules@npm:1.0.0" + dependencies: + global-prefix: ^1.0.1 + is-windows: ^1.0.1 + resolve-dir: ^1.0.0 + checksum: 10be68796c1e1abc1e2ba87ec4ea507f5629873b119ab0cd29c07284ef2b930f1402d10df01beccb7391dedd9cd479611dd6a24311c71be58937beaf18edf85e + languageName: node + linkType: hard + +"global-prefix@npm:^1.0.1": + version: 1.0.2 + resolution: "global-prefix@npm:1.0.2" + dependencies: + expand-tilde: ^2.0.2 + homedir-polyfill: ^1.0.1 + ini: ^1.3.4 + is-windows: ^1.0.1 + which: ^1.2.14 + checksum: 061b43470fe498271bcd514e7746e8a8535032b17ab9570517014ae27d700ff0dca749f76bbde13ba384d185be4310d8ba5712cb0e74f7d54d59390db63dd9a0 + languageName: node + linkType: hard + "global@npm:4.4.0, global@npm:^4.3.1, global@npm:^4.4.0, global@npm:~4.4.0": version: 4.4.0 resolution: "global@npm:4.4.0" @@ -7132,6 +7440,15 @@ __metadata: languageName: node linkType: hard +"has-glob@npm:^1.0.0": + version: 1.0.0 + resolution: "has-glob@npm:1.0.0" + dependencies: + is-glob: ^3.0.0 + checksum: cafad93e599f49f676a9ab444ec90210fcda35ac14ad6c9bb96c08057ad18a1318f1116b053aa6bdc744f19252537006872d3fc76785e842bbe8cc4312447fc8 + languageName: node + linkType: hard + "has-property-descriptors@npm:^1.0.0": version: 1.0.0 resolution: "has-property-descriptors@npm:1.0.0" @@ -7201,6 +7518,15 @@ __metadata: languageName: node linkType: hard +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 3d4d6babccccd79c5c5a3f929a68af33360d6445587d628087f39a965079d84f18ce9c3d3f917ee1e3978916fc833bb8b29377c3b403f919426f91bc6965e7a7 + languageName: node + linkType: hard + "heap@npm:>= 0.2.0": version: 0.2.7 resolution: "heap@npm:0.2.7" @@ -7297,6 +7623,7 @@ __metadata: cookies-next: ^2.1.1 dayjs: ^1.11.7 dockerode: ^3.3.2 + dotenv: ^16.3.1 drizzle-kit: ^0.19.13 drizzle-orm: ^0.28.6 eslint: ^8.0.1 @@ -7335,6 +7662,7 @@ __metadata: sass: ^1.56.1 sharp: ^0.32.4 ts-node: latest + ts-node-esm: ^0.0.6 turbo: ^1.10.12 typescript: ^5.1.0 uuid: ^9.0.0 @@ -7349,6 +7677,15 @@ __metadata: languageName: unknown linkType: soft +"homedir-polyfill@npm:^1.0.1": + version: 1.0.3 + resolution: "homedir-polyfill@npm:1.0.3" + dependencies: + parse-passwd: ^1.0.0 + checksum: 18dd4db87052c6a2179d1813adea0c4bfcfa4f9996f0e226fefb29eb3d548e564350fa28ec46b0bf1fbc0a1d2d6922ceceb80093115ea45ff8842a4990139250 + languageName: node + linkType: hard + "html-dom-parser@npm:1.2.0": version: 1.2.0 resolution: "html-dom-parser@npm:1.2.0" @@ -7373,6 +7710,23 @@ __metadata: languageName: node linkType: hard +"html-minifier@npm:^4.0.0": + version: 4.0.0 + resolution: "html-minifier@npm:4.0.0" + dependencies: + camel-case: ^3.0.0 + clean-css: ^4.2.1 + commander: ^2.19.0 + he: ^1.2.0 + param-case: ^2.1.1 + relateurl: ^0.2.7 + uglify-js: ^3.5.1 + bin: + html-minifier: ./cli.js + checksum: b426aee771d9da104c1c9554e3ebd3a4f483d2ce01f4dcc4156ba33a5959044acf6bea192d5ae63b290cdb92c30a9d07fd6924c65609aa82382ce411328f94ca + languageName: node + linkType: hard + "html-parse-stringify@npm:^3.0.1": version: 3.0.1 resolution: "html-parse-stringify@npm:3.0.1" @@ -7616,7 +7970,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:~1.3.0": +"ini@npm:^1.3.4, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -7806,7 +8160,7 @@ __metadata: languageName: node linkType: hard -"is-extglob@npm:^2.1.1": +"is-extglob@npm:^2.1.0, is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 @@ -7845,6 +8199,15 @@ __metadata: languageName: node linkType: hard +"is-glob@npm:^3.0.0": + version: 3.1.0 + resolution: "is-glob@npm:3.1.0" + dependencies: + is-extglob: ^2.1.0 + checksum: 9d483bca84f16f01230f7c7c8c63735248fe1064346f292e0f6f8c76475fd20c6f50fc19941af5bec35f85d6bf26f4b7768f39a48a5f5fdc72b408dc74e07afc + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -7868,6 +8231,13 @@ __metadata: languageName: node linkType: hard +"is-module@npm:^1.0.0": + version: 1.0.0 + resolution: "is-module@npm:1.0.0" + checksum: 8cd5390730c7976fb4e8546dd0b38865ee6f7bacfa08dfbb2cc07219606755f0b01709d9361e01f13009bbbd8099fa2927a8ed665118a6105d66e40f1b838c3f + languageName: node + linkType: hard + "is-negative-zero@npm:^2.0.2": version: 2.0.2 resolution: "is-negative-zero@npm:2.0.2" @@ -7928,6 +8298,15 @@ __metadata: languageName: node linkType: hard +"is-reference@npm:^1.1.2": + version: 1.2.1 + resolution: "is-reference@npm:1.2.1" + dependencies: + "@types/estree": "*" + checksum: e7b48149f8abda2c10849ea51965904d6a714193d68942ad74e30522231045acf06cbfae5a4be2702fede5d232e61bf50b3183acdc056e6e3afe07fcf4f4b2bc + languageName: node + linkType: hard + "is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" @@ -7988,6 +8367,13 @@ __metadata: languageName: node linkType: hard +"is-valid-glob@npm:^1.0.0": + version: 1.0.0 + resolution: "is-valid-glob@npm:1.0.0" + checksum: 0155951e89291d405cbb2ff4e25a38ee7a88bc70b05f246c25d31a1d09f13d4207377e5860f67443bbda8e3e353da37047b60e586bd9c97a39c9301c30b67acb + languageName: node + linkType: hard + "is-weakmap@npm:^2.0.1": version: 2.0.1 resolution: "is-weakmap@npm:2.0.1" @@ -8021,6 +8407,13 @@ __metadata: languageName: node linkType: hard +"is-windows@npm:^1.0.1": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 + languageName: node + linkType: hard + "is@npm:~0.2.6": version: 0.2.7 resolution: "is@npm:0.2.7" @@ -8204,6 +8597,17 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^26.0.0": + version: 26.6.2 + resolution: "jest-worker@npm:26.6.2" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^7.0.0 + checksum: f9afa3b88e3f12027901e4964ba3ff048285b5783b5225cab28fac25b4058cea8ad54001e9a1577ee2bed125fac3ccf5c80dc507b120300cc1bbcb368796533e + languageName: node + linkType: hard + "jose@npm:^4.11.1, jose@npm:^4.11.4, jose@npm:^4.14.4": version: 4.14.6 resolution: "jose@npm:4.14.6" @@ -8590,6 +8994,13 @@ __metadata: languageName: node linkType: hard +"lower-case@npm:^1.1.1": + version: 1.1.4 + resolution: "lower-case@npm:1.1.4" + checksum: 1ca9393b5eaef94a64e3f89e38b63d15bc7182a91171e6ad1550f51d710ec941540a065b274188f2e6b4576110cc2d11b50bc4bb7c603a040ddeb1db4ca95197 + languageName: node + linkType: hard + "lowercase-keys@npm:^2.0.0": version: 2.0.0 resolution: "lowercase-keys@npm:2.0.0" @@ -8683,6 +9094,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.25.0, magic-string@npm:^0.25.2, magic-string@npm:^0.25.7": + version: 0.25.9 + resolution: "magic-string@npm:0.25.9" + dependencies: + sourcemap-codec: ^1.4.8 + checksum: 9a0e55a15c7303fc360f9572a71cffba1f61451bc92c5602b1206c9d17f492403bf96f946dfce7483e66822d6b74607262e24392e87b0ac27b786e69a40e9b1a + languageName: node + linkType: hard + "magic-string@npm:^0.30.1": version: 0.30.3 resolution: "magic-string@npm:0.30.3" @@ -8692,6 +9112,15 @@ __metadata: languageName: node linkType: hard +"make-dir@npm:^3.0.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: ^6.0.0 + checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 + languageName: node + linkType: hard + "make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -8746,6 +9175,20 @@ __metadata: languageName: node linkType: hard +"matched@npm:^1.0.2": + version: 1.0.2 + resolution: "matched@npm:1.0.2" + dependencies: + arr-union: ^3.1.0 + async-array-reduce: ^0.2.1 + glob: ^7.1.2 + has-glob: ^1.0.0 + is-valid-glob: ^1.0.0 + resolve-dir: ^1.0.0 + checksum: 379c943e07e4679ed5eb962886b1e3175d766c5a32f3c82bbd70c49eeff57d7c58fd20398fdd54e22e58dac183a758ed3e77dbd18cc51174d6033fd8524dd8a9 + languageName: node + linkType: hard + "md5.js@npm:^1.3.4": version: 1.3.5 resolution: "md5.js@npm:1.3.5" @@ -8803,6 +9246,13 @@ __metadata: languageName: node linkType: hard +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 + languageName: node + linkType: hard + "merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" @@ -8864,6 +9314,15 @@ __metadata: languageName: node linkType: hard +"mime@npm:^2.4.4": + version: 2.6.0 + resolution: "mime@npm:2.6.0" + bin: + mime: cli.js + checksum: 1497ba7b9f6960694268a557eae24b743fd2923da46ec392b042469f4b901721ba0adcf8b0d3c2677839d0e243b209d76e5edcbd09cfdeffa2dfb6bb4df4b862 + languageName: node + linkType: hard + "mimic-response@npm:^1.0.0": version: 1.0.1 resolution: "mimic-response@npm:1.0.1" @@ -8901,6 +9360,19 @@ __metadata: languageName: node linkType: hard +"minify-html-literals@npm:^1.3.5": + version: 1.3.5 + resolution: "minify-html-literals@npm:1.3.5" + dependencies: + "@types/html-minifier": ^3.5.3 + clean-css: ^4.2.1 + html-minifier: ^4.0.0 + magic-string: ^0.25.0 + parse-literals: ^1.2.1 + checksum: 1e75eb7fa00e37421063e4840a2b1066043cd66f06cdafb0b22674a0f4432be16f664abbc32c6a03e9c5f49f5ab594f52e2524af236a6e7e132074dcdb619855 + languageName: node + linkType: hard + "minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" @@ -9125,6 +9597,13 @@ __metadata: languageName: node linkType: hard +"mri@npm:^1.1.0": + version: 1.2.0 + resolution: "mri@npm:1.2.0" + checksum: 83f515abbcff60150873e424894a2f65d68037e5a7fcde8a9e2b285ee9c13ac581b63cfc1e6826c4732de3aeb84902f7c1e16b7aff46cd3f897a0f757a894e85 + languageName: node + linkType: hard + "mrmime@npm:^1.0.0": version: 1.0.1 resolution: "mrmime@npm:1.0.1" @@ -9328,6 +9807,15 @@ __metadata: languageName: node linkType: hard +"no-case@npm:^2.2.0": + version: 2.3.2 + resolution: "no-case@npm:2.3.2" + dependencies: + lower-case: ^1.1.1 + checksum: 856487731936fef44377ca74fdc5076464aba2e0734b56a4aa2b2a23d5b154806b591b9b2465faa59bb982e2b5c9391e3685400957fb4eeb38f480525adcf3dd + languageName: node + linkType: hard + "node-abi@npm:^3.3.0": version: 3.47.0 resolution: "node-abi@npm:3.47.0" @@ -9759,6 +10247,15 @@ __metadata: languageName: node linkType: hard +"param-case@npm:^2.1.1": + version: 2.1.1 + resolution: "param-case@npm:2.1.1" + dependencies: + no-case: ^2.2.0 + checksum: 3a63dcb8d8dc7995a612de061afdc7bb6fe7bd0e6db994db8d4cae999ed879859fd24389090e1a0d93f4c9207ebf8c048c870f468a3f4767161753e03cb9ab58 + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -9811,6 +10308,22 @@ __metadata: languageName: node linkType: hard +"parse-literals@npm:^1.2.1": + version: 1.2.1 + resolution: "parse-literals@npm:1.2.1" + dependencies: + typescript: ^2.9.2 || ^3.0.0 || ^4.0.0 + checksum: 28108222ba6576b94352b8c00f7653d17cd95fcbe94fffbecacafbab01b0468115aae91ba828ad4673e58f4f62733f851b808a03f01d8310ca68287d0f5dd525 + languageName: node + linkType: hard + +"parse-passwd@npm:^1.0.0": + version: 1.0.0 + resolution: "parse-passwd@npm:1.0.0" + checksum: 4e55e0231d58f828a41d0f1da2bf2ff7bcef8f4cb6146e69d16ce499190de58b06199e6bd9b17fbf0d4d8aef9052099cdf8c4f13a6294b1a522e8e958073066e + languageName: node + linkType: hard + "parseurl@npm:^1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" @@ -9933,7 +10446,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf @@ -10456,7 +10969,7 @@ __metadata: languageName: node linkType: hard -"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5": +"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" dependencies: @@ -10799,6 +11312,13 @@ __metadata: languageName: node linkType: hard +"relateurl@npm:^0.2.7": + version: 0.2.7 + resolution: "relateurl@npm:0.2.7" + checksum: 5891e792eae1dfc3da91c6fda76d6c3de0333a60aa5ad848982ebb6dccaa06e86385fb1235a1582c680a3d445d31be01c6bfc0804ebbcab5aaf53fa856fde6b6 + languageName: node + linkType: hard + "remove-accents@npm:0.4.2": version: 0.4.2 resolution: "remove-accents@npm:0.4.2" @@ -10827,6 +11347,16 @@ __metadata: languageName: node linkType: hard +"resolve-dir@npm:^1.0.0": + version: 1.0.1 + resolution: "resolve-dir@npm:1.0.1" + dependencies: + expand-tilde: ^2.0.0 + global-modules: ^1.0.0 + checksum: ef736b8ed60d6645c3b573da17d329bfb50ec4e1d6c5ffd6df49e3497acef9226f9810ea6823b8ece1560e01dcb13f77a9f6180d4f242d00cc9a8f4de909c65c + languageName: node + linkType: hard + "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -10850,7 +11380,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.4, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.22.4, resolve@npm:^1.4.0": +"resolve@npm:^1.1.4, resolve@npm:^1.11.0, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.22.4, resolve@npm:^1.4.0": version: 1.22.6 resolution: "resolve@npm:1.22.6" dependencies: @@ -10876,7 +11406,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.4#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.22.4#~builtin, resolve@patch:resolve@^1.4.0#~builtin": +"resolve@patch:resolve@^1.1.4#~builtin, resolve@patch:resolve@^1.11.0#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.22.4#~builtin, resolve@patch:resolve@^1.4.0#~builtin": version: 1.22.6 resolution: "resolve@patch:resolve@npm%3A1.22.6#~builtin::version=1.22.6&hash=c3c19d" dependencies: @@ -10955,6 +11485,70 @@ __metadata: languageName: node linkType: hard +"rollup-plugin-dts@npm:^1.4.7": + version: 1.4.14 + resolution: "rollup-plugin-dts@npm:1.4.14" + dependencies: + "@babel/code-frame": ^7.10.4 + peerDependencies: + rollup: ^2.33.1 + typescript: ^4.0.5 + dependenciesMeta: + "@babel/code-frame": + optional: true + checksum: 9b711bd4985d46a16d70c6df0e0873ffddefff78a127d60acf1893c68e2f3013f1ca8386ccdc4897f66382a9f7b175eb2e5296b8cee20ca9ee75f145beccad0c + languageName: node + linkType: hard + +"rollup-plugin-minify-html-literals@npm:^1.2.4": + version: 1.2.6 + resolution: "rollup-plugin-minify-html-literals@npm:1.2.6" + dependencies: + minify-html-literals: ^1.3.5 + rollup-pluginutils: ^2.8.2 + peerDependencies: + rollup: ^0.65.2 || ^1.0.0 || ^2.0.0 + checksum: 47eea38e8ce6b91359b32412ccfdb5f26b9b476d8baaaf194906b4500b015e43a37e025a715628dc563d262d2d759e16b8489212f51be55460ec9443bb7c753b + languageName: node + linkType: hard + +"rollup-plugin-terser@npm:^6.1.0": + version: 6.1.0 + resolution: "rollup-plugin-terser@npm:6.1.0" + dependencies: + "@babel/code-frame": ^7.8.3 + jest-worker: ^26.0.0 + serialize-javascript: ^3.0.0 + terser: ^4.7.0 + peerDependencies: + rollup: ^2.0.0 + checksum: 92b7ac4aac50623f4774559d758deb68c756250869820fabae7736accc70f768c123aeb3a7abbab6c5673eadfc46cfe039d1620eb62442b1469129c85278e390 + languageName: node + linkType: hard + +"rollup-pluginutils@npm:^2.8.2": + version: 2.8.2 + resolution: "rollup-pluginutils@npm:2.8.2" + dependencies: + estree-walker: ^0.6.1 + checksum: 339fdf866d8f4ff6e408fa274c0525412f7edb01dc46b5ccda51f575b7e0d20ad72965773376fb5db95a77a7fcfcab97bf841ec08dbadf5d6b08af02b7a2cf5e + languageName: node + linkType: hard + +"rollup@npm:^2.17.0": + version: 2.79.1 + resolution: "rollup@npm:2.79.1" + dependencies: + fsevents: ~2.3.2 + dependenciesMeta: + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 6a2bf167b3587d4df709b37d149ad0300692cc5deb510f89ac7bdc77c8738c9546ae3de9322b0968e1ed2b0e984571f5f55aae28fa7de4cfcb1bc5402a4e2be6 + languageName: node + linkType: hard + "rollup@npm:^3.27.1": version: 3.29.3 resolution: "rollup@npm:3.29.3" @@ -11014,6 +11608,15 @@ __metadata: languageName: node linkType: hard +"sade@npm:^1.7.3": + version: 1.8.1 + resolution: "sade@npm:1.8.1" + dependencies: + mri: ^1.1.0 + checksum: 0756e5b04c51ccdc8221ebffd1548d0ce5a783a44a0fa9017a026659b97d632913e78f7dca59f2496aa996a0be0b0c322afd87ca72ccd909406f49dbffa0f45d + languageName: node + linkType: hard + "safe-array-concat@npm:^1.0.1": version: 1.0.1 resolution: "safe-array-concat@npm:1.0.1" @@ -11096,7 +11699,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.1.0, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -11125,6 +11728,15 @@ __metadata: languageName: node linkType: hard +"serialize-javascript@npm:^3.0.0": + version: 3.1.0 + resolution: "serialize-javascript@npm:3.1.0" + dependencies: + randombytes: ^2.1.0 + checksum: 0fc0131a78168d6237cfe1b21564f20a3b9b72e8ceebb21935baacf026631ed636912c20c7e9fa721a8f27a247e6f9849e705f27032d19863333c2cfab16d1c9 + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -11358,7 +11970,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.21": +"source-map-support@npm:^0.5.17, source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.12": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -11375,13 +11987,20 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1": +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 languageName: node linkType: hard +"sourcemap-codec@npm:^1.4.8": + version: 1.4.8 + resolution: "sourcemap-codec@npm:1.4.8" + checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 + languageName: node + linkType: hard + "split-ca@npm:^1.0.1": version: 1.0.1 resolution: "split-ca@npm:1.0.1" @@ -11751,7 +12370,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.1.0": +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -11863,6 +12482,19 @@ __metadata: languageName: node linkType: hard +"terser@npm:^4.7.0": + version: 4.8.1 + resolution: "terser@npm:4.8.1" + dependencies: + commander: ^2.20.0 + source-map: ~0.6.1 + source-map-support: ~0.5.12 + bin: + terser: bin/terser + checksum: b342819bf7e82283059aaa3f22bb74deb1862d07573ba5a8947882190ad525fd9b44a15074986be083fd379c58b9a879457a330b66dcdb77b485c44267f9a55a + languageName: node + linkType: hard + "test-exclude@npm:^6.0.0": version: 6.0.0 resolution: "test-exclude@npm:6.0.0" @@ -12029,6 +12661,40 @@ __metadata: languageName: node linkType: hard +"ts-node-esm@npm:^0.0.6": + version: 0.0.6 + resolution: "ts-node-esm@npm:0.0.6" + dependencies: + aria-build: ^0.4.3 + aria-fs: ^0.4.3 + peerDependencies: + typescript: "*" + bin: + ts-node-esm: bin/cli.mjs + checksum: e54e872c644a5f1de194888a99ca14c7815a805348f5353765d308cfa37d91dc8ff600db269a4e7c4f7c31262daea061f0622996d9c29708d90ab2ca032a0f52 + languageName: node + linkType: hard + +"ts-node@npm:^8.10.2": + version: 8.10.2 + resolution: "ts-node@npm:8.10.2" + dependencies: + arg: ^4.1.0 + diff: ^4.0.1 + make-error: ^1.1.1 + source-map-support: ^0.5.17 + yn: 3.1.1 + peerDependencies: + typescript: ">=2.7" + bin: + ts-node: dist/bin.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 480adb076fdab6dbabd726c6056d651ddc567feda0d3e4770d809c01d000715a0f61f80be0e4a92ef87b7f4a494b79d9595d62de4a3931d740122ae26f0e10d8 + languageName: node + linkType: hard + "ts-node@npm:latest": version: 10.9.1 resolution: "ts-node@npm:10.9.1" @@ -12363,6 +13029,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^2.9.2 || ^3.0.0 || ^4.0.0": + version: 4.9.5 + resolution: "typescript@npm:4.9.5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: ee000bc26848147ad423b581bd250075662a354d84f0e06eb76d3b892328d8d4440b7487b5a83e851b12b255f55d71835b008a66cbf8f255a11e4400159237db + languageName: node + linkType: hard + "typescript@npm:^5.1.0": version: 5.2.2 resolution: "typescript@npm:5.2.2" @@ -12373,6 +13049,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@^2.9.2 || ^3.0.0 || ^4.0.0#~builtin": + version: 4.9.5 + resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=289587" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 1f8f3b6aaea19f0f67cba79057674ba580438a7db55057eb89cc06950483c5d632115c14077f6663ea76fd09fce3c190e6414bb98582ec80aa5a4eaf345d5b68 + languageName: node + linkType: hard + "typescript@patch:typescript@^5.1.0#~builtin": version: 5.2.2 resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=5da071" @@ -12397,6 +13083,15 @@ __metadata: languageName: node linkType: hard +"uglify-js@npm:^3.5.1": + version: 3.17.4 + resolution: "uglify-js@npm:3.17.4" + bin: + uglifyjs: bin/uglifyjs + checksum: 7b3897df38b6fc7d7d9f4dcd658599d81aa2b1fb0d074829dd4e5290f7318dbca1f4af2f45acb833b95b1fe0ed4698662ab61b87e94328eb4c0a0d3435baf924 + languageName: node + linkType: hard + "umd@npm:^3.0.0": version: 3.0.3 resolution: "umd@npm:3.0.3" @@ -12472,6 +13167,13 @@ __metadata: languageName: node linkType: hard +"upper-case@npm:^1.1.1": + version: 1.1.3 + resolution: "upper-case@npm:1.1.3" + checksum: 991c845de75fa56e5ad983f15e58494dd77b77cadd79d273cc11e8da400067e9881ae1a52b312aed79b3d754496e2e0712e08d22eae799e35c7f9ba6f3d8a85d + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -12995,6 +13697,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^1.2.14": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: ^2.0.0 + bin: + which: ./bin/which + checksum: f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04 + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2"