From 6e6cc22d2be183267cf08610dbff8032066dff8f Mon Sep 17 00:00:00 2001 From: Darren Clarke Date: Tue, 18 Jul 2023 08:16:16 +0000 Subject: [PATCH] Leafcutter / Link build updates --- apps/leafcutter/Dockerfile | 2 +- apps/leafcutter/package.json | 1 + apps/link/Dockerfile | 2 +- apps/link/app/(main)/admin/zammad/page.tsx | 2 +- apps/link/app/(main)/knowledge/page.tsx | 2 +- .../[overview]/_components/TicketList.tsx | 4 +- .../[overview]/_components/ZammadOverview.tsx | 4 +- .../app/(main)/overview/[overview]/error.tsx | 2 +- apps/link/app/(main)/profile/page.tsx | 2 +- .../app/(main)/setup/_components/Setup.tsx | 2 +- .../_components/ArticleCreateDialog.tsx | 2 +- .../[id]/@detail/_components/TicketDetail.tsx | 16 +- .../[id]/@edit/_components/TicketEdit.tsx | 8 +- apps/link/app/(main)/tickets/[id]/error.tsx | 2 +- apps/link/app/(main)/tickets/[id]/notpage.tsx | 6 +- apps/link/package.json | 1 + package-lock.json | 460 +++++++++++++++++- package.json | 2 + 18 files changed, 491 insertions(+), 29 deletions(-) diff --git a/apps/leafcutter/Dockerfile b/apps/leafcutter/Dockerfile index cd94308..a682ef0 100644 --- a/apps/leafcutter/Dockerfile +++ b/apps/leafcutter/Dockerfile @@ -15,7 +15,7 @@ WORKDIR ${APP_DIR} COPY .gitignore .gitignore COPY --from=builder ${APP_DIR}/out/json/ . COPY --from=builder ${APP_DIR}/out/package-lock.json ./package-lock.json -RUN npm ci --omit=dev +RUN npm ci COPY --from=builder ${APP_DIR}/out/full/ . ARG LINK_EMBEDDED=true diff --git a/apps/leafcutter/package.json b/apps/leafcutter/package.json index 635e1ee..14dc267 100644 --- a/apps/leafcutter/package.json +++ b/apps/leafcutter/package.json @@ -40,6 +40,7 @@ "react-iframe": "^1.8.5", "react-markdown": "^8.0.7", "react-polyglot": "^0.7.2", + "sharp": "^0.32.3", "swr": "^2.2.0", "tss-react": "^4.8.8", "uuid": "^9.0.0" diff --git a/apps/link/Dockerfile b/apps/link/Dockerfile index 2be18d3..d9c2e9f 100644 --- a/apps/link/Dockerfile +++ b/apps/link/Dockerfile @@ -15,7 +15,7 @@ WORKDIR ${APP_DIR} COPY .gitignore .gitignore COPY --from=builder ${APP_DIR}/out/json/ . COPY --from=builder ${APP_DIR}/out/package-lock.json ./package-lock.json -RUN npm ci --omit=dev +RUN npm ci COPY --from=builder ${APP_DIR}/out/full/ . RUN npm i -g turbo diff --git a/apps/link/app/(main)/admin/zammad/page.tsx b/apps/link/app/(main)/admin/zammad/page.tsx index 0b834db..4207e57 100644 --- a/apps/link/app/(main)/admin/zammad/page.tsx +++ b/apps/link/app/(main)/admin/zammad/page.tsx @@ -1,5 +1,5 @@ import { Metadata } from "next"; -import { ZammadWrapper } from "app/(main)/_components/ZammadWrapper"; +import { ZammadWrapper } from "../../../(main)/_components/ZammadWrapper"; export const metadata: Metadata = { title: "Zammad", diff --git a/apps/link/app/(main)/knowledge/page.tsx b/apps/link/app/(main)/knowledge/page.tsx index 51c0d41..54ff398 100644 --- a/apps/link/app/(main)/knowledge/page.tsx +++ b/apps/link/app/(main)/knowledge/page.tsx @@ -1,5 +1,5 @@ import { Metadata } from "next"; -import { ZammadWrapper } from "app/(main)/_components/ZammadWrapper"; +import { ZammadWrapper } from "../../(main)/_components/ZammadWrapper"; export const metadata: Metadata = { title: "Knowledge Base", diff --git a/apps/link/app/(main)/overview/[overview]/_components/TicketList.tsx b/apps/link/app/(main)/overview/[overview]/_components/TicketList.tsx index 16c40af..52e3ca0 100644 --- a/apps/link/app/(main)/overview/[overview]/_components/TicketList.tsx +++ b/apps/link/app/(main)/overview/[overview]/_components/TicketList.tsx @@ -4,8 +4,8 @@ import { FC } from "react"; import { Grid, Box } from "@mui/material"; import { GridColDef } from "@mui/x-data-grid-pro"; import { StyledDataGrid } from "../../../_components/StyledDataGrid"; -import { Button } from "app/_components/Button"; -import { typography } from "app/_styles/theme"; +import { Button } from "../../../../_components/Button"; +import { typography } from "../../../../_styles/theme"; import { useRouter } from "next/navigation"; interface TicketListProps { diff --git a/apps/link/app/(main)/overview/[overview]/_components/ZammadOverview.tsx b/apps/link/app/(main)/overview/[overview]/_components/ZammadOverview.tsx index 833778b..e97bf0b 100644 --- a/apps/link/app/(main)/overview/[overview]/_components/ZammadOverview.tsx +++ b/apps/link/app/(main)/overview/[overview]/_components/ZammadOverview.tsx @@ -3,7 +3,7 @@ import { FC } from "react"; import useSWR from "swr"; import { TicketList } from "./TicketList"; -import { getTicketsByOverviewQuery } from "app/_graphql/getTicketsByOverviewQuery"; +import { getTicketsByOverviewQuery } from "../../../../_graphql/getTicketsByOverviewQuery"; type ZammadOverviewProps = { name: string; @@ -16,7 +16,7 @@ export const ZammadOverview: FC = ({ name, id }) => { document: getTicketsByOverviewQuery, variables: { overviewId: `gid://zammad/Overview/${id}` }, }, - { refreshInterval: 10000 } + { refreshInterval: 10000 }, ); const shouldRender = !ticketError && ticketData; diff --git a/apps/link/app/(main)/overview/[overview]/error.tsx b/apps/link/app/(main)/overview/[overview]/error.tsx index b1079ee..7a1d96a 100644 --- a/apps/link/app/(main)/overview/[overview]/error.tsx +++ b/apps/link/app/(main)/overview/[overview]/error.tsx @@ -1,6 +1,6 @@ "use client"; -import { DisplayError } from "app/_components/DisplayError"; +import { DisplayError } from "../../../_components/DisplayError"; type PageProps = { error: Error; diff --git a/apps/link/app/(main)/profile/page.tsx b/apps/link/app/(main)/profile/page.tsx index d2d8f3b..916995f 100644 --- a/apps/link/app/(main)/profile/page.tsx +++ b/apps/link/app/(main)/profile/page.tsx @@ -1,5 +1,5 @@ import { Metadata } from "next"; -import { ZammadWrapper } from "app/(main)/_components/ZammadWrapper"; +import { ZammadWrapper } from "../../(main)/_components/ZammadWrapper"; export const metadata: Metadata = { title: "Profile", diff --git a/apps/link/app/(main)/setup/_components/Setup.tsx b/apps/link/app/(main)/setup/_components/Setup.tsx index f3f011e..6d5c9be 100644 --- a/apps/link/app/(main)/setup/_components/Setup.tsx +++ b/apps/link/app/(main)/setup/_components/Setup.tsx @@ -2,7 +2,7 @@ import { FC, useLayoutEffect } from "react"; import { useRouter } from "next/navigation"; -import { ZammadWrapper } from "app/(main)/_components/ZammadWrapper"; +import { ZammadWrapper } from "../../../(main)/_components/ZammadWrapper"; export const Setup: FC = () => { const router = useRouter(); diff --git a/apps/link/app/(main)/tickets/[id]/@detail/_components/ArticleCreateDialog.tsx b/apps/link/app/(main)/tickets/[id]/@detail/_components/ArticleCreateDialog.tsx index 725eb9b..f70a5d6 100644 --- a/apps/link/app/(main)/tickets/[id]/@detail/_components/ArticleCreateDialog.tsx +++ b/apps/link/app/(main)/tickets/[id]/@detail/_components/ArticleCreateDialog.tsx @@ -10,7 +10,7 @@ import { TextField, } from "@mui/material"; import { useSWRConfig } from "swr"; -import { updateTicketMutation } from "app/_graphql/updateTicketMutation"; +import { updateTicketMutation } from "../../../../../_graphql/updateTicketMutation"; interface ArticleCreateDialogProps { ticketID: string; diff --git a/apps/link/app/(main)/tickets/[id]/@detail/_components/TicketDetail.tsx b/apps/link/app/(main)/tickets/[id]/@detail/_components/TicketDetail.tsx index f7bc44a..6dfb8cf 100644 --- a/apps/link/app/(main)/tickets/[id]/@detail/_components/TicketDetail.tsx +++ b/apps/link/app/(main)/tickets/[id]/@detail/_components/TicketDetail.tsx @@ -2,16 +2,16 @@ import { FC, useState } from "react"; import useSWR from "swr"; -import { getTicketQuery } from "app/_graphql/getTicketQuery"; -import { getTicketArticlesQuery } from "app/_graphql/getTicketArticlesQuery"; +import { getTicketQuery } from "../../../../../_graphql/getTicketQuery"; +import { getTicketArticlesQuery } from "../../../../../_graphql/getTicketArticlesQuery"; import { Grid, Box, Typography, Button, - Dialog, - DialogActions, - DialogContent, + // Dialog, + // DialogActions, + // DialogContent, } from "@mui/material"; import "@chatscope/chat-ui-kit-styles/dist/default/styles.min.css"; import { @@ -33,14 +33,14 @@ export const TicketDetail: FC = ({ id }) => { document: getTicketQuery, variables: { ticketId: `gid://zammad/Ticket/${id}` }, }, - { refreshInterval: 100000 } + { refreshInterval: 100000 }, ); const { data: ticketArticlesData, error: ticketArticlesError }: any = useSWR( { document: getTicketArticlesQuery, variables: { ticketId: `gid://zammad/Ticket/${id}` }, }, - { refreshInterval: 2000 } + { refreshInterval: 2000 }, ); const ticket = ticketData?.ticket; @@ -76,7 +76,7 @@ export const TicketDetail: FC = ({ id }) => { variant="h6" sx={{ fontFamily: "Roboto", fontWeight: 400 }} >{`Ticket #${ticket.number} (created ${new Date( - ticket.createdAt + ticket.createdAt, ).toLocaleDateString()})`} diff --git a/apps/link/app/(main)/tickets/[id]/@edit/_components/TicketEdit.tsx b/apps/link/app/(main)/tickets/[id]/@edit/_components/TicketEdit.tsx index a142d2e..7c7bed9 100644 --- a/apps/link/app/(main)/tickets/[id]/@edit/_components/TicketEdit.tsx +++ b/apps/link/app/(main)/tickets/[id]/@edit/_components/TicketEdit.tsx @@ -6,14 +6,14 @@ import { Box, // Typography, // TextField, - Stack, + // Stack, Select, MenuItem, } from "@mui/material"; import { MuiChipsInput } from "mui-chips-input"; import useSWR, { useSWRConfig } from "swr"; -import { getTicketQuery } from "app/_graphql/getTicketQuery"; -import { updateTicketMutation } from "app/_graphql/updateTicketMutation"; +import { getTicketQuery } from "../../../../../_graphql/getTicketQuery"; +import { updateTicketMutation } from "../../../../../_graphql/updateTicketMutation"; import "@chatscope/chat-ui-kit-styles/dist/default/styles.min.css"; interface TicketEditProps { @@ -43,7 +43,7 @@ export const TicketEdit: FC = ({ id }) => { document: getTicketQuery, variables: { ticketId: `gid://zammad/Ticket/${id}` }, }, - { refreshInterval: 100000 } + { refreshInterval: 100000 }, ); useEffect(() => { const ticket = ticketData?.ticket; diff --git a/apps/link/app/(main)/tickets/[id]/error.tsx b/apps/link/app/(main)/tickets/[id]/error.tsx index b1079ee..7a1d96a 100644 --- a/apps/link/app/(main)/tickets/[id]/error.tsx +++ b/apps/link/app/(main)/tickets/[id]/error.tsx @@ -1,6 +1,6 @@ "use client"; -import { DisplayError } from "app/_components/DisplayError"; +import { DisplayError } from "../../../_components/DisplayError"; type PageProps = { error: Error; diff --git a/apps/link/app/(main)/tickets/[id]/notpage.tsx b/apps/link/app/(main)/tickets/[id]/notpage.tsx index 01cff0b..192ba0b 100644 --- a/apps/link/app/(main)/tickets/[id]/notpage.tsx +++ b/apps/link/app/(main)/tickets/[id]/notpage.tsx @@ -14,9 +14,9 @@ import Head from "next/head"; import useSWR from "swr"; import { NextPage } from "next"; import { Grid } from "@mui/material"; -import { TicketDetail } from "app/_components/TicketDetail"; -import { TicketEdit } from "app/_components/TicketEdit"; -import { getTicketQuery } from "app/_graphql/getTicketQuery"; +import { TicketDetail } from "../_components/TicketDetail"; +import { TicketEdit } from "../_components/TicketEdit"; +import { getTicketQuery } from "../_graphql/getTicketQuery"; type TicketProps = { id: string; diff --git a/apps/link/package.json b/apps/link/package.json index 01d9782..2bf9768 100644 --- a/apps/link/package.json +++ b/apps/link/package.json @@ -34,6 +34,7 @@ "react-dom": "18.2.0", "react-iframe": "^1.8.5", "react-polyglot": "^0.7.2", + "sharp": "^0.32.3", "swr": "^2.2.0", "tss-react": "^4.8.8" }, diff --git a/package-lock.json b/package-lock.json index 0a50bad..68659d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,6 +51,7 @@ "react-iframe": "^1.8.5", "react-markdown": "^8.0.7", "react-polyglot": "^0.7.2", + "sharp": "^0.32.3", "swr": "^2.2.0", "tss-react": "^4.8.8", "uuid": "^9.0.0" @@ -1149,6 +1150,7 @@ "react-dom": "18.2.0", "react-iframe": "^1.8.5", "react-polyglot": "^0.7.2", + "sharp": "^0.32.3", "swr": "^2.2.0", "tss-react": "^4.8.8" }, @@ -2343,6 +2345,13 @@ "balanced-match": "^1.0.0" } }, + "apps/metamigo-api/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "optional": true, + "peer": true + }, "apps/metamigo-api/node_modules/cliui": { "version": "8.0.1", "license": "ISC", @@ -2498,6 +2507,13 @@ "url": "https://github.com/sponsors/isaacs" } }, + "apps/metamigo-api/node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", + "optional": true, + "peer": true + }, "apps/metamigo-api/node_modules/on-exit-leak-free": { "version": "0.2.0", "license": "MIT" @@ -2731,6 +2747,19 @@ "node": ">=8" } }, + "apps/metamigo-api/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "optional": true, + "peer": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, "apps/metamigo-api/node_modules/thread-stream": { "version": "0.15.2", "license": "MIT", @@ -9902,6 +9931,11 @@ "dequal": "^2.0.3" } }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + }, "node_modules/babel-jest": { "version": "29.6.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", @@ -10218,6 +10252,60 @@ "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz", "integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==" }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bl/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/blipp": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/blipp/-/blipp-4.0.2.tgz", @@ -10905,6 +10993,18 @@ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -10918,6 +11018,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -10927,6 +11036,22 @@ "color-support": "bin.js" } }, + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -11260,11 +11385,33 @@ "node": ">=0.10" } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -11524,7 +11671,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", - "optional": true, "engines": { "node": ">=8" } @@ -12776,6 +12922,14 @@ "node": ">= 0.8.0" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, "node_modules/expect": { "version": "29.6.1", "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.1.tgz", @@ -12837,6 +12991,11 @@ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, + "node_modules/fast-fifo": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.0.tgz", + "integrity": "sha512-IgfweLvEpwyA4WgiQe9Nx6VV2QkML2NkvZnk1oKnIzXgXdWxuhF7zw4DvLTPZJn6PIUneiAXPF24QmoEqHTjyw==" + }, "node_modules/fast-glob": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", @@ -13164,6 +13323,11 @@ "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", "dev": true }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -13348,6 +13512,11 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, "node_modules/glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", @@ -14448,6 +14617,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/inline-style-parser": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", @@ -17822,6 +17996,17 @@ "node": ">=6" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -17894,6 +18079,11 @@ "node": ">=10" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "node_modules/mo-walk": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mo-walk/-/mo-walk-1.2.0.tgz", @@ -18017,6 +18207,11 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -18151,6 +18346,22 @@ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, + "node_modules/node-abi": { + "version": "3.45.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.45.0.tgz", + "integrity": "sha512-iwXuFrMAcFVi/ZoZiqq8BzAdsLw9kxDfTC0HMyjXfSL/6CSDAGD5UmR7azrAgWV1zKYq7dUUMj4owusBWKLsiQ==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + }, "node_modules/node-cache": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/node-cache/-/node-cache-5.1.2.tgz", @@ -19564,6 +19775,47 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==" }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, "node_modules/precond": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", @@ -20035,6 +20287,11 @@ } ] }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, "node_modules/quick-format-unescaped": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", @@ -20259,6 +20516,28 @@ "node": ">= 0.8" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -21175,6 +21454,53 @@ "sha.js": "bin.js" } }, + "node_modules/sharp": { + "version": "0.32.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.3.tgz", + "integrity": "sha512-i1gFPiNqyqxC4ouVvCKj5G8WfPIMeeSxpKcMrjic6NY4e8zktW7bIdqHPc3FCG+pNKU/XCEabKA57hhvZi8UmQ==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/sharp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -21224,6 +21550,62 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, "node_modules/simple-update-notifier": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", @@ -21444,6 +21826,15 @@ "node": ">=10.0.0" } }, + "node_modules/streamx": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.0.tgz", + "integrity": "sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "node_modules/strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -21786,6 +22177,62 @@ "node": ">=10" } }, + "node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/tar-fs/node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tar-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/tdigest": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz", @@ -22158,6 +22605,17 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/twilio-client": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/twilio-client/-/twilio-client-1.15.0.tgz", diff --git a/package.json b/package.json index ebfa812..c0d27ea 100644 --- a/package.json +++ b/package.json @@ -16,10 +16,12 @@ "docker:link:dev:down": "docker compose -f docker-compose.metamigo-postgresql.yml -f docker-compose.metamigo.yml -f docker-compose.zammad.yml down", "docker:link:up": "docker compose -f docker-compose.metamigo-postgresql.yml -f docker-compose.metamigo.yml -f docker-compose.zammad.yml -f docker-compose.link.yml up -d", "docker:link:down": "docker compose -f docker-compose.metamigo-postgresql.yml -f docker-compose.metamigo.yml -f docker-compose.zammad.yml -f docker-compose.link.yml down", + "docker:link:build": "docker compose -f docker-compose.link.yml up --build -d", "docker:leafcutter:dev:up": "docker compose -f docker-compose.opensearch.yml up -d", "docker:leafcutter:dev:down": "docker compose -f docker-compose.opensearch.yml down", "docker:leafcutter:up": "docker compose -f docker-compose.opensearch.yml -f docker-compose.leafcutter.yml up -d", "docker:leafcutter:down": "docker compose -f docker-compose.opensearch.yml -f docker-compose.leafcutter.yml down", + "docker:leafcutter:build": "docker compose -f docker-compose.leafcutter.yml up --build -d", "docker:metamigo:dev:up": "docker compose -f docker-compose.metamigo-postgresql.yml -f docker-compose.zammad.yml up -d", "docker:metamigo:dev:down": "docker compose -f docker-compose.metamigo-postgresql.yml -f docker-compose.zammad.yml down", "docker:metamigo:up": "docker compose -f docker-compose.zammad.yml -f docker-compose.metamigo-postgresql.yml -f docker-compose.metamigo.yml up -d",