diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..c797134
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,4 @@
+DATABASE_PATH="./prisma/dev.db"
+DATABASE_URL="file:./dev.db?connection_limit=1"
+SESSION_SECRET="super-duper-s3cret"
+COOKIE_SECRET="super-duper-s3cret"
diff --git a/.gitignore b/.gitignore
index d09d672..f499350 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ node_modules
/public/build
.env
/prisma/dev.db
+/prisma/dev.db-journal
\ No newline at end of file
diff --git a/app/routes/board.$id/column.tsx b/app/routes/board.$id/column.tsx
index faf0eb0..40a8def 100644
--- a/app/routes/board.$id/column.tsx
+++ b/app/routes/board.$id/column.tsx
@@ -1,5 +1,5 @@
import { useState, useRef } from "react";
-import { useSubmit } from "@remix-run/react";
+import { useFetcher, useSubmit } from "@remix-run/react";
import invariant from "tiny-invariant";
import { Icon } from "~/icons/icons";
@@ -23,6 +23,7 @@ interface ColumnProps {
export function Column({ name, columnId, items }: ColumnProps) {
let submit = useSubmit();
+ let deleteFetcher = useFetcher();
let [acceptDrop, setAcceptDrop] = useState(false);
let [edit, setEdit] = useState(false);
@@ -79,18 +80,46 @@ export function Column({ name, columnId, items }: ColumnProps) {
setAcceptDrop(false);
}}
>
-
-
+
+
+
+
+
+
+ {
+ event.preventDefault();
+ if (
+ window.confirm(
+ "Are you sure you want to delete this column? This will delete all cards in this column.",
+ )
+ ) {
+ event.currentTarget.submit();
+ }
+ }}
>
-
+
-
+
{
+ event.stopPropagation();
+ }}
+ >
+
+
+
diff --git a/app/routes/board.$id/queries.ts b/app/routes/board.$id/queries.ts
index a955f9e..6cfce54 100644
--- a/app/routes/board.$id/queries.ts
+++ b/app/routes/board.$id/queries.ts
@@ -75,3 +75,7 @@ export async function createColumn(
},
});
}
+
+export async function deleteColumn(id: string, accountId: string) {
+ return prisma.column.delete({ where: { id, Board: { accountId } } });
+}
diff --git a/app/routes/board.$id/route.tsx b/app/routes/board.$id/route.tsx
index 6e9e3ed..571ce60 100644
--- a/app/routes/board.$id/route.tsx
+++ b/app/routes/board.$id/route.tsx
@@ -10,6 +10,7 @@ import { INTENTS } from "./types";
import {
createColumn,
updateColumnName,
+ deleteColumn,
getBoardData,
upsertItem,
updateBoardName,
@@ -76,6 +77,12 @@ export async function action({ request, params }: ActionFunctionArgs) {
await updateColumnName(String(columnId), String(name), accountId);
break;
}
+ case INTENTS.deleteColumn: {
+ let { columnId } = Object.fromEntries(formData);
+ if (!columnId) throw badRequest("Missing columnId");
+ await deleteColumn(String(columnId), accountId);
+ break;
+ }
default: {
throw badRequest(`Unknown intent: ${intent}`);
}
diff --git a/app/routes/board.$id/types.ts b/app/routes/board.$id/types.ts
index 8bce1db..27e116e 100644
--- a/app/routes/board.$id/types.ts
+++ b/app/routes/board.$id/types.ts
@@ -14,6 +14,7 @@ export const CONTENT_TYPES = {
export const INTENTS = {
createColumn: "newColumn" as const,
updateColumn: "updateColumn" as const,
+ deleteColumn: "deleteColumn" as const,
createItem: "createItem" as const,
moveItem: "moveItem" as const,
moveColumn: "moveColumn" as const,
diff --git a/package-lock.json b/package-lock.json
index 28194f4..1f23f4b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,18 +1,16 @@
{
- "name": "drag-drop-kanban",
+ "name": "trellix",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "drag-drop-kanban",
- "hasInstallScript": true,
+ "name": "trellix",
"dependencies": {
- "@faker-js/faker": "^8.1.0",
- "@prisma/client": "^5.3.1",
+ "@prisma/client": "^5.8.0",
"@remix-run/node": "2.4.1",
"@remix-run/react": "2.4.1",
"@remix-run/serve": "2.4.1",
- "@tailwindcss/forms": "^0.5.6",
+ "@tailwindcss/forms": "^0.5.7",
"isbot": "^3.6.8",
"react": "^18.2.0",
"react-dom": "^18.2.0",
@@ -25,12 +23,11 @@
"@types/react-dom": "^18.2.7",
"autoprefixer": "^10.4.16",
"eslint": "^8.38.0",
- "patch-package": "^8.0.0",
"postcss": "^8.4.31",
"prettier": "^3.0.3",
- "prisma": "^5.3.1",
- "tailwindcss": "^3.3.3",
- "typescript": "^5.1.6",
+ "prisma": "^5.8.0",
+ "tailwindcss": "^3.4.1",
+ "typescript": "^5.3.3",
"vite-tsconfig-paths": "^4.2.1"
},
"engines": {
@@ -1339,21 +1336,6 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
- "node_modules/@faker-js/faker": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.2.0.tgz",
- "integrity": "sha512-VacmzZqVxdWdf9y64lDOMZNDMM/FQdtM9IsaOPKOm2suYwEatb8VkdHqOzXcDnZbk7YDE2BmsJmy/2Hmkn563g==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fakerjs"
- }
- ],
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0",
- "npm": ">=6.14.13"
- }
- },
"node_modules/@humanwhocodes/config-array": {
"version": "0.11.13",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
@@ -1653,13 +1635,10 @@
}
},
"node_modules/@prisma/client": {
- "version": "5.4.2",
- "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.4.2.tgz",
- "integrity": "sha512-2xsPaz4EaMKj1WS9iW6MlPhmbqtBsXAOeVttSePp8vTFTtvzh2hZbDgswwBdSCgPzmmwF+tLB259QzggvCmJqA==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.8.0.tgz",
+ "integrity": "sha512-QxO6C4MaA/ysTIbC+EcAH1aX/YkpymhXtO6zPdk+FvA7+59tNibIYpd+7koPdViLg2iKES4ojsxWNUGNJaEcbA==",
"hasInstallScript": true,
- "dependencies": {
- "@prisma/engines-version": "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574"
- },
"engines": {
"node": ">=16.13"
},
@@ -1672,17 +1651,56 @@
}
}
},
+ "node_modules/@prisma/debug": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-5.8.0.tgz",
+ "integrity": "sha512-ZqPpkvbovu/kQJ1bvy57NO4dw97fpQGcbQSCtsqlwSE1UNKJP75R3BKxdznk8ZPMY+GJdMRetWNv4oAvSbWn8Q==",
+ "devOptional": true
+ },
"node_modules/@prisma/engines": {
- "version": "5.4.2",
- "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.4.2.tgz",
- "integrity": "sha512-fqeucJ3LH0e1eyFdT0zRx+oETLancu5+n4lhiYECyEz6H2RDskPJHJYHkVc0LhkU4Uv7fuEnppKU3nVKNzMh8g==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.8.0.tgz",
+ "integrity": "sha512-Qhqm9WWLujNEC13AuZlUO14SQ15tNLe5puaz+tOk7UqINqJ3PtqMmuSuzomiw2diGVqZ+HYiSQzlR3+pPucVHA==",
"devOptional": true,
- "hasInstallScript": true
+ "hasInstallScript": true,
+ "dependencies": {
+ "@prisma/debug": "5.8.0",
+ "@prisma/engines-version": "5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848",
+ "@prisma/fetch-engine": "5.8.0",
+ "@prisma/get-platform": "5.8.0"
+ }
},
- "node_modules/@prisma/engines-version": {
- "version": "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574",
- "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574.tgz",
- "integrity": "sha512-wvupDL4AA1vf4TQNANg7kR7y98ITqPsk6aacfBxZKtrJKRIsWjURHkZCGcQliHdqCiW/hGreO6d6ZuSv9MhdAA=="
+ "node_modules/@prisma/engines/node_modules/@prisma/engines-version": {
+ "version": "5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848",
+ "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848.tgz",
+ "integrity": "sha512-cXcoVweYbnv8xRfkWq9oj8BECOdzHUazrSpYCa0ehp5TNz4l5Spa8jbq/VROCTzj3ZncH5D9Q2TmySYTOUeKlw==",
+ "devOptional": true
+ },
+ "node_modules/@prisma/fetch-engine": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-5.8.0.tgz",
+ "integrity": "sha512-1CAuE+JoYsPNggMEn6qk0zos06Uc9bYZBJ0VBPHD6R7REL05614koAbOCmn52IaYz3nobb7f25hqW6AY7rLkIw==",
+ "devOptional": true,
+ "dependencies": {
+ "@prisma/debug": "5.8.0",
+ "@prisma/engines-version": "5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848",
+ "@prisma/get-platform": "5.8.0"
+ }
+ },
+ "node_modules/@prisma/fetch-engine/node_modules/@prisma/engines-version": {
+ "version": "5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848",
+ "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848.tgz",
+ "integrity": "sha512-cXcoVweYbnv8xRfkWq9oj8BECOdzHUazrSpYCa0ehp5TNz4l5Spa8jbq/VROCTzj3ZncH5D9Q2TmySYTOUeKlw==",
+ "devOptional": true
+ },
+ "node_modules/@prisma/get-platform": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-5.8.0.tgz",
+ "integrity": "sha512-Nk3rhTFZ1LYkFZJnpSvQcLPCaBWgJQfteHII6UEENOOkYlmP0k3FuswND54tzzEr4qs39wOdV9pbXKX9U2lv7A==",
+ "devOptional": true,
+ "dependencies": {
+ "@prisma/debug": "5.8.0"
+ }
},
"node_modules/@remix-run/dev": {
"version": "2.4.1",
@@ -2182,9 +2200,9 @@
"dev": true
},
"node_modules/@tailwindcss/forms": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.6.tgz",
- "integrity": "sha512-Fw+2BJ0tmAwK/w01tEFL5TiaJBX1NLT1/YbWgvm7ws3Qcn11kiXxzNTEQDMs5V3mQemhB56l3u0i9dwdzSQldA==",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz",
+ "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==",
"dependencies": {
"mini-svg-data-uri": "^1.2.3"
},
@@ -3070,12 +3088,6 @@
"resolved": "https://registry.npmjs.org/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz",
"integrity": "sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw=="
},
- "node_modules/@yarnpkg/lockfile": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
- "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
- "dev": true
- },
"node_modules/@zxing/text-encoding": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz",
@@ -3381,15 +3393,6 @@
"has-symbols": "^1.0.3"
}
},
- "node_modules/at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/autoprefixer": {
"version": "10.4.16",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
@@ -3864,21 +3867,6 @@
"node": ">=10"
}
},
- "node_modules/ci-info": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
- "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/sibiraj-s"
- }
- ],
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/clean-stack": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
@@ -5758,15 +5746,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/find-yarn-workspace-root": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz",
- "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==",
- "dev": true,
- "dependencies": {
- "micromatch": "^4.0.2"
- }
- },
"node_modules/flat-cache": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz",
@@ -6618,21 +6597,6 @@
"integrity": "sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==",
"dev": true
},
- "node_modules/is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
- "dev": true,
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -6928,18 +6892,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "dev": true,
- "dependencies": {
- "is-docker": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/isarray": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
@@ -6947,9 +6899,9 @@
"dev": true
},
"node_modules/isbot": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/isbot/-/isbot-3.7.0.tgz",
- "integrity": "sha512-9BcjlI89966BqWJmYdTnRub85sit931MyCthSIPtgoOsTjoW7A2MVa09HzPpYE2+G4vyAxfDvR0AbUGV0FInQg==",
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/isbot/-/isbot-3.8.0.tgz",
+ "integrity": "sha512-vne1mzQUTR+qsMLeCBL9+/tgnDXRyc2pygLGl/WsgA+EZKIiB5Ehu0CiVTHIIk30zhJ24uGz4M5Ppse37aR0Hg==",
"engines": {
"node": ">=12"
}
@@ -7055,18 +7007,6 @@
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
- "node_modules/json-stable-stringify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz",
- "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==",
- "dev": true,
- "dependencies": {
- "jsonify": "^0.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
@@ -7103,15 +7043,6 @@
"graceful-fs": "^4.1.6"
}
},
- "node_modules/jsonify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
- "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/jsx-ast-utils": {
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
@@ -7136,15 +7067,6 @@
"json-buffer": "3.0.1"
}
},
- "node_modules/klaw-sync": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz",
- "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.11"
- }
- },
"node_modules/kleur": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
@@ -8806,22 +8728,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/open": {
- "version": "7.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
- "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
- "dev": true,
- "dependencies": {
- "is-docker": "^2.0.0",
- "is-wsl": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/optionator": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
@@ -8862,15 +8768,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/outdent": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz",
@@ -8977,114 +8874,6 @@
"node": ">= 0.8"
}
},
- "node_modules/patch-package": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz",
- "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==",
- "dev": true,
- "dependencies": {
- "@yarnpkg/lockfile": "^1.1.0",
- "chalk": "^4.1.2",
- "ci-info": "^3.7.0",
- "cross-spawn": "^7.0.3",
- "find-yarn-workspace-root": "^2.0.0",
- "fs-extra": "^9.0.0",
- "json-stable-stringify": "^1.0.2",
- "klaw-sync": "^6.0.0",
- "minimist": "^1.2.6",
- "open": "^7.4.2",
- "rimraf": "^2.6.3",
- "semver": "^7.5.3",
- "slash": "^2.0.0",
- "tmp": "^0.0.33",
- "yaml": "^2.2.2"
- },
- "bin": {
- "patch-package": "index.js"
- },
- "engines": {
- "node": ">=14",
- "npm": ">5"
- }
- },
- "node_modules/patch-package/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/patch-package/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/patch-package/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/patch-package/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/patch-package/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/patch-package/node_modules/slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
- "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -9518,13 +9307,13 @@
}
},
"node_modules/prisma": {
- "version": "5.4.2",
- "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.4.2.tgz",
- "integrity": "sha512-GDMZwZy7mysB2oXU+angQqJ90iaPFdD0rHaZNkn+dio5NRkGLmMqmXs31//tg/qXT3iB0cTQwnGGQNuirhSTZg==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.8.0.tgz",
+ "integrity": "sha512-hDKoEqPt2qEUTH5yGO3l27CBnPtwvte0CGMKrpCr9+/A919JghfqJ3qgCGgMbOwdkXUOzdho0RH9tyUF3UhpMw==",
"devOptional": true,
"hasInstallScript": true,
"dependencies": {
- "@prisma/engines": "5.4.2"
+ "@prisma/engines": "5.8.0"
},
"bin": {
"prisma": "build/index.js"
@@ -10825,19 +10614,19 @@
}
},
"node_modules/tailwindcss": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz",
- "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==",
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz",
+ "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==",
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
"chokidar": "^3.5.3",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
- "fast-glob": "^3.2.12",
+ "fast-glob": "^3.3.0",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
- "jiti": "^1.18.2",
+ "jiti": "^1.19.1",
"lilconfig": "^2.1.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
@@ -11050,18 +10839,6 @@
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
"integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw=="
},
- "node_modules/tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
- "dependencies": {
- "os-tmpdir": "~1.0.2"
- },
- "engines": {
- "node": ">=0.6.0"
- }
- },
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -11278,9 +11055,9 @@
}
},
"node_modules/typescript": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
- "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
+ "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"devOptional": true,
"bin": {
"tsc": "bin/tsc",
diff --git a/package.json b/package.json
index 5334050..5dc687e 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "Trellix",
+ "name": "trellix",
"private": true,
"sideEffects": false,
"type": "module",
@@ -12,11 +12,11 @@
"deploy": "rm -rf build && rm -rf public/build && fly deploy"
},
"dependencies": {
- "@prisma/client": "^5.3.1",
+ "@prisma/client": "^5.8.0",
"@remix-run/node": "2.4.1",
"@remix-run/react": "2.4.1",
"@remix-run/serve": "2.4.1",
- "@tailwindcss/forms": "^0.5.6",
+ "@tailwindcss/forms": "^0.5.7",
"isbot": "^3.6.8",
"react": "^18.2.0",
"react-dom": "^18.2.0",
@@ -31,9 +31,9 @@
"eslint": "^8.38.0",
"postcss": "^8.4.31",
"prettier": "^3.0.3",
- "prisma": "^5.3.1",
- "tailwindcss": "^3.3.3",
- "typescript": "^5.1.6",
+ "prisma": "^5.8.0",
+ "tailwindcss": "^3.4.1",
+ "typescript": "^5.3.3",
"vite-tsconfig-paths": "^4.2.1"
},
"engines": {