diff --git a/.env.example b/.env.example index 88c66f4..d105b4f 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,5 @@ PUBLIC_APP_URL=http://localhost:5173 SECRET_PLUNK_API_KEY= SECRET_DB_DRIVER=turso -SECRET_SQLITE_URL=file:data/sqlite.db +SECRET_SQLITE_URL=file:./data/sqlite.db SECRET_SQLITE_KEY= diff --git a/bun.lockb b/bun.lockb index f255709..a3ec38a 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/data/README.md b/data/README.md new file mode 100644 index 0000000..61d07d7 --- /dev/null +++ b/data/README.md @@ -0,0 +1,3 @@ +# Data directory + +This directory is mounted for 1-click deployments in Railway. diff --git a/drizzle/0000_harsh_blonde_phantom.sql b/drizzle/0000_round_cyclops.sql similarity index 71% rename from drizzle/0000_harsh_blonde_phantom.sql rename to drizzle/0000_round_cyclops.sql index cb3378a..59c4b92 100644 --- a/drizzle/0000_harsh_blonde_phantom.sql +++ b/drizzle/0000_round_cyclops.sql @@ -1,5 +1,6 @@ CREATE TABLE `access_token` ( `id` text PRIMARY KEY NOT NULL, + `internal` numeric DEFAULT 'true', `name` text NOT NULL, `user_id` text NOT NULL, `created_at` text, @@ -13,9 +14,10 @@ CREATE TABLE `board` ( `name` text NOT NULL, `tag` text NOT NULL, `options` text NOT NULL, + `events_order` text, `created_at` text, `updated_at` text, - FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE no action + FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE TABLE `event` ( @@ -28,9 +30,13 @@ CREATE TABLE `event` ( `notify` numeric DEFAULT 'false', `tags` text, `context` text, + `priority` text DEFAULT 'normal' NOT NULL, + `assignee_id` text, + `due_date` text, `created_at` text, `updated_at` text, - FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE no action + FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE cascade, + FOREIGN KEY (`assignee_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action ); --> statement-breakpoint CREATE TABLE `feature_flag` ( @@ -41,7 +47,7 @@ CREATE TABLE `feature_flag` ( `enabled` numeric DEFAULT 'false', `created_at` text, `updated_at` text, - FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE no action + FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE TABLE `project` ( @@ -53,6 +59,14 @@ CREATE TABLE `project` ( FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action ); --> statement-breakpoint +CREATE TABLE `project_invitation` ( + `id` text PRIMARY KEY NOT NULL, + `user_id` text NOT NULL, + `project_id` text NOT NULL, + FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action, + FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint CREATE TABLE `user` ( `id` text PRIMARY KEY NOT NULL, `email` text NOT NULL, @@ -81,7 +95,7 @@ CREATE TABLE `users_to_projects` ( `project_id` text NOT NULL, `role` text DEFAULT 'member' NOT NULL, FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action, - FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE no action + FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE TABLE `verification_code` ( @@ -91,5 +105,16 @@ CREATE TABLE `verification_code` ( FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action ); --> statement-breakpoint +CREATE TABLE `webhook` ( + `id` text PRIMARY KEY NOT NULL, + `project_id` text NOT NULL, + `url` text NOT NULL, + `service` text NOT NULL, + `created_at` text, + `updated_at` text, + FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE UNIQUE INDEX `project_invitation_user_id_project_id_unique` ON `project_invitation` (`user_id`,`project_id`);--> statement-breakpoint CREATE UNIQUE INDEX `user_email_unique` ON `user` (`email`);--> statement-breakpoint CREATE UNIQUE INDEX `user_username_unique` ON `user` (`username`); \ No newline at end of file diff --git a/drizzle/0001_pale_loa.sql b/drizzle/0001_pale_loa.sql deleted file mode 100644 index 810e86f..0000000 --- a/drizzle/0001_pale_loa.sql +++ /dev/null @@ -1,28 +0,0 @@ -CREATE TABLE `project_invitation` ( - `id` text PRIMARY KEY NOT NULL, - `user_id` text NOT NULL, - `project_id` text NOT NULL, - FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action, - FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE no action -); ---> statement-breakpoint -/* - SQLite does not support "Dropping foreign key" out of the box, we do not generate automatic migration for that, so it has to be done manually - Please refer to: https://www.techonthenet.com/sqlite/tables/alter_table.php - https://www.sqlite.org/lang_altertable.html - - Due to that we don't generate migration automatically and it has to be done manually -*/--> statement-breakpoint -ALTER TABLE access_token ADD `internal` numeric DEFAULT 'true';--> statement-breakpoint -ALTER TABLE board ADD `events_order` text;--> statement-breakpoint -ALTER TABLE event ADD `priority` text DEFAULT 'normal' NOT NULL;--> statement-breakpoint -ALTER TABLE event ADD `assignee_id` text REFERENCES user(id);--> statement-breakpoint -ALTER TABLE event ADD `due_date` text;--> statement-breakpoint -CREATE UNIQUE INDEX `project_invitation_user_id_project_id_unique` ON `project_invitation` (`user_id`,`project_id`);--> statement-breakpoint -/* - SQLite does not support "Creating foreign key on existing column" out of the box, we do not generate automatic migration for that, so it has to be done manually - Please refer to: https://www.techonthenet.com/sqlite/tables/alter_table.php - https://www.sqlite.org/lang_altertable.html - - Due to that we don't generate migration automatically and it has to be done manually -*/ \ No newline at end of file diff --git a/drizzle/0002_huge_hellfire_club.sql b/drizzle/0002_huge_hellfire_club.sql deleted file mode 100644 index 71ad1f8..0000000 --- a/drizzle/0002_huge_hellfire_club.sql +++ /dev/null @@ -1,24 +0,0 @@ -CREATE TABLE `webhook` ( - `id` text PRIMARY KEY NOT NULL, - `project_id` text NOT NULL, - `url` text NOT NULL, - `service` text NOT NULL, - `created_at` text, - `updated_at` text, - FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE no action ON DELETE cascade -); ---> statement-breakpoint -/* - SQLite does not support "Dropping foreign key" out of the box, we do not generate automatic migration for that, so it has to be done manually - Please refer to: https://www.techonthenet.com/sqlite/tables/alter_table.php - https://www.sqlite.org/lang_altertable.html - - Due to that we don't generate migration automatically and it has to be done manually -*/--> statement-breakpoint -/* - SQLite does not support "Creating foreign key on existing column" out of the box, we do not generate automatic migration for that, so it has to be done manually - Please refer to: https://www.techonthenet.com/sqlite/tables/alter_table.php - https://www.sqlite.org/lang_altertable.html - - Due to that we don't generate migration automatically and it has to be done manually -*/ \ No newline at end of file diff --git a/drizzle/meta/0000_snapshot.json b/drizzle/meta/0000_snapshot.json index a438b7c..d0f51a6 100644 --- a/drizzle/meta/0000_snapshot.json +++ b/drizzle/meta/0000_snapshot.json @@ -1,7 +1,7 @@ { "version": "5", "dialect": "sqlite", - "id": "238d86c4-8a53-406b-858c-ed6d0da03094", + "id": "cf9d473c-a333-4248-8d24-8e57de8ec4f4", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "access_token": { @@ -14,6 +14,14 @@ "notNull": true, "autoincrement": false }, + "internal": { + "name": "internal", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "'true'" + }, "name": { "name": "name", "type": "text", @@ -100,6 +108,13 @@ "notNull": true, "autoincrement": false }, + "events_order": { + "name": "events_order", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "created_at": { "name": "created_at", "type": "text", @@ -127,7 +142,7 @@ "columnsTo": [ "id" ], - "onDelete": "no action", + "onDelete": "cascade", "onUpdate": "no action" } }, @@ -201,6 +216,28 @@ "notNull": false, "autoincrement": false }, + "priority": { + "name": "priority", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'normal'" + }, + "assignee_id": { + "name": "assignee_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "due_date": { + "name": "due_date", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "created_at": { "name": "created_at", "type": "text", @@ -228,6 +265,19 @@ "columnsTo": [ "id" ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "event_assignee_id_user_id_fk": { + "name": "event_assignee_id_user_id_fk", + "tableFrom": "event", + "tableTo": "user", + "columnsFrom": [ + "assignee_id" + ], + "columnsTo": [ + "id" + ], "onDelete": "no action", "onUpdate": "no action" } @@ -301,7 +351,7 @@ "columnsTo": [ "id" ], - "onDelete": "no action", + "onDelete": "cascade", "onUpdate": "no action" } }, @@ -366,6 +416,72 @@ "compositePrimaryKeys": {}, "uniqueConstraints": {} }, + "project_invitation": { + "name": "project_invitation", + "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 + }, + "project_id": { + "name": "project_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "project_invitation_user_id_project_id_unique": { + "name": "project_invitation_user_id_project_id_unique", + "columns": [ + "user_id", + "project_id" + ], + "isUnique": true + } + }, + "foreignKeys": { + "project_invitation_user_id_user_id_fk": { + "name": "project_invitation_user_id_user_id_fk", + "tableFrom": "project_invitation", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "project_invitation_project_id_project_id_fk": { + "name": "project_invitation_project_id_project_id_fk", + "tableFrom": "project_invitation", + "tableTo": "project", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, "user": { "name": "user", "columns": { @@ -571,7 +687,7 @@ "columnsTo": [ "id" ], - "onDelete": "no action", + "onDelete": "cascade", "onUpdate": "no action" } }, @@ -621,6 +737,71 @@ }, "compositePrimaryKeys": {}, "uniqueConstraints": {} + }, + "webhook": { + "name": "webhook", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "project_id": { + "name": "project_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "service": { + "name": "service", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "webhook_project_id_project_id_fk": { + "name": "webhook_project_id_project_id_fk", + "tableFrom": "webhook", + "tableTo": "project", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} } }, "enums": {}, diff --git a/drizzle/meta/0001_snapshot.json b/drizzle/meta/0001_snapshot.json deleted file mode 100644 index f76e03f..0000000 --- a/drizzle/meta/0001_snapshot.json +++ /dev/null @@ -1,748 +0,0 @@ -{ - "version": "5", - "dialect": "sqlite", - "id": "152f54fa-f690-4639-9a7d-f9e26db1ecc9", - "prevId": "238d86c4-8a53-406b-858c-ed6d0da03094", - "tables": { - "access_token": { - "name": "access_token", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "internal": { - "name": "internal", - "type": "numeric", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "'true'" - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "user_id": { - "name": "user_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "access_token_user_id_user_id_fk": { - "name": "access_token_user_id_user_id_fk", - "tableFrom": "access_token", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "board": { - "name": "board", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "tag": { - "name": "tag", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "options": { - "name": "options", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "events_order": { - "name": "events_order", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "board_project_id_project_id_fk": { - "name": "board_project_id_project_id_fk", - "tableFrom": "board", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "event": { - "name": "event", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "channel": { - "name": "channel", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "event": { - "name": "event", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "content": { - "name": "content", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "emoji": { - "name": "emoji", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "notify": { - "name": "notify", - "type": "numeric", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "'false'" - }, - "tags": { - "name": "tags", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "context": { - "name": "context", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "priority": { - "name": "priority", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'normal'" - }, - "assignee_id": { - "name": "assignee_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "due_date": { - "name": "due_date", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "event_project_id_project_id_fk": { - "name": "event_project_id_project_id_fk", - "tableFrom": "event", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "event_assignee_id_user_id_fk": { - "name": "event_assignee_id_user_id_fk", - "tableFrom": "event", - "tableTo": "user", - "columnsFrom": [ - "assignee_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "feature_flag": { - "name": "feature_flag", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "enabled": { - "name": "enabled", - "type": "numeric", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "'false'" - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "feature_flag_project_id_project_id_fk": { - "name": "feature_flag_project_id_project_id_fk", - "tableFrom": "feature_flag", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "project": { - "name": "project", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "user_id": { - "name": "user_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "project_user_id_user_id_fk": { - "name": "project_user_id_user_id_fk", - "tableFrom": "project", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "project_invitation": { - "name": "project_invitation", - "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 - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": { - "project_invitation_user_id_project_id_unique": { - "name": "project_invitation_user_id_project_id_unique", - "columns": [ - "user_id", - "project_id" - ], - "isUnique": true - } - }, - "foreignKeys": { - "project_invitation_user_id_user_id_fk": { - "name": "project_invitation_user_id_user_id_fk", - "tableFrom": "project_invitation", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "project_invitation_project_id_project_id_fk": { - "name": "project_invitation_project_id_project_id_fk", - "tableFrom": "project_invitation", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "user": { - "name": "user", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "email": { - "name": "email", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "username": { - "name": "username", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "user_email_unique": { - "name": "user_email_unique", - "columns": [ - "email" - ], - "isUnique": true - }, - "user_username_unique": { - "name": "user_username_unique", - "columns": [ - "username" - ], - "isUnique": true - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "user_key": { - "name": "user_key", - "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 - }, - "hashed_password": { - "name": "hashed_password", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "user_key_user_id_user_id_fk": { - "name": "user_key_user_id_user_id_fk", - "tableFrom": "user_key", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "user_session": { - "name": "user_session", - "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 - }, - "active_expires": { - "name": "active_expires", - "type": "blob", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "idle_expires": { - "name": "idle_expires", - "type": "blob", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "user_session_user_id_user_id_fk": { - "name": "user_session_user_id_user_id_fk", - "tableFrom": "user_session", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "users_to_projects": { - "name": "users_to_projects", - "columns": { - "user_id": { - "name": "user_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'member'" - } - }, - "indexes": {}, - "foreignKeys": { - "users_to_projects_user_id_user_id_fk": { - "name": "users_to_projects_user_id_user_id_fk", - "tableFrom": "users_to_projects", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "users_to_projects_project_id_project_id_fk": { - "name": "users_to_projects_project_id_project_id_fk", - "tableFrom": "users_to_projects", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "verification_code": { - "name": "verification_code", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "expires": { - "name": "expires", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "user_id": { - "name": "user_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "verification_code_user_id_user_id_fk": { - "name": "verification_code_user_id_user_id_fk", - "tableFrom": "verification_code", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - } - }, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - } -} \ No newline at end of file diff --git a/drizzle/meta/0002_snapshot.json b/drizzle/meta/0002_snapshot.json deleted file mode 100644 index f59f266..0000000 --- a/drizzle/meta/0002_snapshot.json +++ /dev/null @@ -1,813 +0,0 @@ -{ - "version": "5", - "dialect": "sqlite", - "id": "dac2f47e-bb30-48e4-8b61-f5e599a15b60", - "prevId": "152f54fa-f690-4639-9a7d-f9e26db1ecc9", - "tables": { - "access_token": { - "name": "access_token", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "internal": { - "name": "internal", - "type": "numeric", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "'true'" - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "user_id": { - "name": "user_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "access_token_user_id_user_id_fk": { - "name": "access_token_user_id_user_id_fk", - "tableFrom": "access_token", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "board": { - "name": "board", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "tag": { - "name": "tag", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "options": { - "name": "options", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "events_order": { - "name": "events_order", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "board_project_id_project_id_fk": { - "name": "board_project_id_project_id_fk", - "tableFrom": "board", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "event": { - "name": "event", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "channel": { - "name": "channel", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "event": { - "name": "event", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "content": { - "name": "content", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "emoji": { - "name": "emoji", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "notify": { - "name": "notify", - "type": "numeric", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "'false'" - }, - "tags": { - "name": "tags", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "context": { - "name": "context", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "priority": { - "name": "priority", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'normal'" - }, - "assignee_id": { - "name": "assignee_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "due_date": { - "name": "due_date", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "event_project_id_project_id_fk": { - "name": "event_project_id_project_id_fk", - "tableFrom": "event", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "event_assignee_id_user_id_fk": { - "name": "event_assignee_id_user_id_fk", - "tableFrom": "event", - "tableTo": "user", - "columnsFrom": [ - "assignee_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "feature_flag": { - "name": "feature_flag", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "enabled": { - "name": "enabled", - "type": "numeric", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "'false'" - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "feature_flag_project_id_project_id_fk": { - "name": "feature_flag_project_id_project_id_fk", - "tableFrom": "feature_flag", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "project": { - "name": "project", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "user_id": { - "name": "user_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "project_user_id_user_id_fk": { - "name": "project_user_id_user_id_fk", - "tableFrom": "project", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "project_invitation": { - "name": "project_invitation", - "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 - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": { - "project_invitation_user_id_project_id_unique": { - "name": "project_invitation_user_id_project_id_unique", - "columns": [ - "user_id", - "project_id" - ], - "isUnique": true - } - }, - "foreignKeys": { - "project_invitation_user_id_user_id_fk": { - "name": "project_invitation_user_id_user_id_fk", - "tableFrom": "project_invitation", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "project_invitation_project_id_project_id_fk": { - "name": "project_invitation_project_id_project_id_fk", - "tableFrom": "project_invitation", - "tableTo": "project", - "columnsFrom": [ - "project_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 - }, - "email": { - "name": "email", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "username": { - "name": "username", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "user_email_unique": { - "name": "user_email_unique", - "columns": [ - "email" - ], - "isUnique": true - }, - "user_username_unique": { - "name": "user_username_unique", - "columns": [ - "username" - ], - "isUnique": true - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "user_key": { - "name": "user_key", - "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 - }, - "hashed_password": { - "name": "hashed_password", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "user_key_user_id_user_id_fk": { - "name": "user_key_user_id_user_id_fk", - "tableFrom": "user_key", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "user_session": { - "name": "user_session", - "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 - }, - "active_expires": { - "name": "active_expires", - "type": "blob", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "idle_expires": { - "name": "idle_expires", - "type": "blob", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "user_session_user_id_user_id_fk": { - "name": "user_session_user_id_user_id_fk", - "tableFrom": "user_session", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "users_to_projects": { - "name": "users_to_projects", - "columns": { - "user_id": { - "name": "user_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'member'" - } - }, - "indexes": {}, - "foreignKeys": { - "users_to_projects_user_id_user_id_fk": { - "name": "users_to_projects_user_id_user_id_fk", - "tableFrom": "users_to_projects", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "users_to_projects_project_id_project_id_fk": { - "name": "users_to_projects_project_id_project_id_fk", - "tableFrom": "users_to_projects", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "verification_code": { - "name": "verification_code", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "expires": { - "name": "expires", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "user_id": { - "name": "user_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "verification_code_user_id_user_id_fk": { - "name": "verification_code_user_id_user_id_fk", - "tableFrom": "verification_code", - "tableTo": "user", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "webhook": { - "name": "webhook", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "project_id": { - "name": "project_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "url": { - "name": "url", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "service": { - "name": "service", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "webhook_project_id_project_id_fk": { - "name": "webhook_project_id_project_id_fk", - "tableFrom": "webhook", - "tableTo": "project", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - } - }, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - } -} \ No newline at end of file diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json index b9bf744..143945f 100644 --- a/drizzle/meta/_journal.json +++ b/drizzle/meta/_journal.json @@ -5,22 +5,8 @@ { "idx": 0, "version": "5", - "when": 1704840016561, - "tag": "0000_harsh_blonde_phantom", - "breakpoints": true - }, - { - "idx": 1, - "version": "5", - "when": 1707314178237, - "tag": "0001_pale_loa", - "breakpoints": true - }, - { - "idx": 2, - "version": "5", - "when": 1707323882993, - "tag": "0002_huge_hellfire_club", + "when": 1707688702512, + "tag": "0000_round_cyclops", "breakpoints": true } ] diff --git a/package.json b/package.json index 66ea7e0..c1756c9 100644 --- a/package.json +++ b/package.json @@ -1,92 +1,92 @@ { - "name": "supso", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "bunx vite dev", - "build": "bunx vite build", - "preview": "bunx vite preview", - "start": "node build/index.js", - "postinstall": "bun run db:migrate", - "test": "bun run test:integration && bun run test:unit", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --check . && eslint .", - "format": "prettier --write .", - "test:integration": "playwright test", - "test:unit": "vitest", - "db:generate": "drizzle-kit generate:sqlite", - "db:push": "drizzle-kit push:sqlite", - "db:migrate": "bun migrate.ts" - }, - "devDependencies": { - "@playwright/test": "^1.28.1", - "@sveltejs/adapter-node": "^2.0.2", - "@sveltejs/kit": "^2.0.0", - "@sveltejs/vite-plugin-svelte": "^3.0.0", - "@types/eslint": "8.56.0", - "@types/pg": "^8.10.9", - "@types/swagger-jsdoc": "^6.0.4", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", - "autoprefixer": "^10.4.16", - "dotenv": "^16.3.1", - "drizzle-kit": "^0.20.13", - "esbuild": "^0.19.12", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-svelte": "^2.35.1", - "postcss": "^8.4.32", - "postcss-load-config": "^5.0.2", - "prettier": "^3.1.1", - "prettier-plugin-svelte": "^3.1.2", - "prettier-plugin-tailwindcss": "^0.5.9", - "sass": "^1.70.0", - "svelte": "^4.2.8", - "svelte-check": "^3.6.0", - "tailwindcss": "^3.3.6", - "tslib": "^2.4.1", - "typescript": "^5.0.0", - "vite": "^5.0.3", - "vitest": "^1.0.0" - }, - "type": "module", - "dependencies": { - "@carbon/charts-svelte": "^1.13.18", - "@cartamd/plugin-code": "^3.0.1", - "@cartamd/plugin-emoji": "^3.1.0", - "@cartamd/plugin-slash": "^3.1.0", - "@internationalized/date": "^3.5.1", - "@libsql/client": "^0.3.6", - "@lucia-auth/adapter-sqlite": "^2.0.1", - "bits-ui": "^0.13.0", - "carta-md": "^3.5.0", - "clsx": "^2.1.0", - "cmdk-sv": "^0.0.12", - "date-fns": "^3.0.6", - "dedent": "^1.5.1", - "drizzle-orm": "^0.29.2", - "drizzle-zod": "^0.5.1", - "feed": "^4.2.2", - "formsnap": "^0.4.2", - "isomorphic-dompurify": "^2.3.0", - "lucia": "^2.7.6", - "lucide-svelte": "^0.303.0", - "mode-watcher": "^0.1.2", - "rambda": "^8.6.0", - "shiki": "^1.0.0", - "sse.js": "^2.2.0", - "superjson": "^2.2.1", - "svelte-dnd-list": "^0.1.8", - "svelte-highlight": "^7.4.7", - "svelte-sonner": "^0.3.11", - "sveltekit-superforms": "^1.13.1", - "swagger-jsdoc": "^6.2.8", - "tailwind-merge": "^2.2.0", - "tailwind-variants": "^0.1.19", - "tsx": "^4.7.0", - "ua-parser-js": "2.0.0-beta.1", - "unique-names-generator": "^4.7.1", - "zod": "^3.22.4" - } + "name": "supso", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "bunx vite dev", + "build": "bunx vite build", + "preview": "bunx vite preview", + "start": "node build/index.js", + "postinstall": "bun run db:migrate", + "test": "bun run test:integration && bun run test:unit", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --check . && eslint .", + "format": "prettier --write .", + "test:integration": "playwright test", + "test:unit": "vitest", + "db:generate": "drizzle-kit generate:sqlite", + "db:push": "drizzle-kit push:sqlite", + "db:migrate": "bun migrate.ts" + }, + "devDependencies": { + "@playwright/test": "^1.28.1", + "@sveltejs/adapter-node": "^2.0.2", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "@types/eslint": "8.56.0", + "@types/pg": "^8.10.9", + "@types/swagger-jsdoc": "^6.0.4", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "autoprefixer": "^10.4.16", + "dotenv": "^16.3.1", + "drizzle-kit": "^0.20.13", + "esbuild": "^0.19.12", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-svelte": "^2.35.1", + "postcss": "^8.4.32", + "postcss-load-config": "^5.0.2", + "prettier": "^3.1.1", + "prettier-plugin-svelte": "^3.1.2", + "prettier-plugin-tailwindcss": "^0.5.9", + "sass": "^1.70.0", + "svelte": "^4.2.8", + "svelte-check": "^3.6.0", + "tailwindcss": "^3.3.6", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^5.0.3", + "vitest": "^1.0.0" + }, + "type": "module", + "dependencies": { + "@carbon/charts-svelte": "^1.13.18", + "@cartamd/plugin-code": "^3.0.1", + "@cartamd/plugin-emoji": "^3.1.0", + "@cartamd/plugin-slash": "^3.1.0", + "@internationalized/date": "^3.5.1", + "@libsql/client": "^0.3.6", + "@lucia-auth/adapter-sqlite": "^2.0.1", + "bits-ui": "^0.13.0", + "carta-md": "^3.5.0", + "clsx": "^2.1.0", + "cmdk-sv": "^0.0.12", + "date-fns": "^3.0.6", + "dedent": "^1.5.1", + "drizzle-orm": "^0.29.2", + "drizzle-zod": "^0.5.1", + "feed": "^4.2.2", + "formsnap": "^0.4.2", + "isomorphic-dompurify": "^2.3.0", + "lucia": "^2.7.6", + "lucide-svelte": "^0.303.0", + "mode-watcher": "^0.1.2", + "rambda": "^8.6.0", + "shiki": "^1.0.0", + "sse.js": "^2.2.0", + "superjson": "^2.2.1", + "svelte-dnd-list": "^0.1.8", + "svelte-highlight": "^7.4.7", + "svelte-sonner": "^0.3.11", + "sveltekit-superforms": "^1.13.1", + "swagger-jsdoc": "^6.2.8", + "tailwind-merge": "^2.2.0", + "tailwind-variants": "^0.1.19", + "tsx": "^4.7.0", + "ua-parser-js": "2.0.0-beta.1", + "unique-names-generator": "^4.7.1", + "zod": "^3.22.4" + } }