diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json
index 6a20bda1..06cbb6e7 100644
--- a/apps/dashboard/package.json
+++ b/apps/dashboard/package.json
@@ -46,8 +46,9 @@
"form-data": "^4.0.0",
"hotkeys-js": "^3.11.2",
"html-to-image": "^1.11.11",
- "html2pdf.js": "^0.10.2",
"js-yaml": "^4.1.0",
+ "jspdf": "^2.5.1",
+ "jspdf-autotable": "^3.8.2",
"lodash": "^4.17.21",
"openai-edge": "^1.2.2",
"papaparse": "^5.4.1",
diff --git a/apps/dashboard/src/lib/components/Course/components/Navigation/NavIcons.svelte b/apps/dashboard/src/lib/components/Course/components/Navigation/NavIcons.svelte
index aab951ff..34e06f0e 100644
--- a/apps/dashboard/src/lib/components/Course/components/Navigation/NavIcons.svelte
+++ b/apps/dashboard/src/lib/components/Course/components/Navigation/NavIcons.svelte
@@ -17,7 +17,7 @@
{#if name === NAV_IDS.SECTION}
{:else if name === NAV_IDS.NEWS_FEED}
-
+
{:else if name === NAV_IDS.LESSONS}
{:else if name === NAV_IDS.ATTENDANCE}
diff --git a/apps/dashboard/src/routes/courses/[id]/marks/+page.svelte b/apps/dashboard/src/routes/courses/[id]/marks/+page.svelte
index 8f01a89a..d1f0d1f1 100644
--- a/apps/dashboard/src/routes/courses/[id]/marks/+page.svelte
+++ b/apps/dashboard/src/routes/courses/[id]/marks/+page.svelte
@@ -2,7 +2,6 @@
import { goto } from '$app/navigation';
import AudioConsoleIcon from 'carbon-icons-svelte/lib/AudioConsole.svelte';
import Papa from 'papaparse';
- import html2pdf from 'html2pdf.js';
import { OverflowMenu, OverflowMenuItem, Loading } from 'carbon-components-svelte';
import Download from 'carbon-icons-svelte/lib/Download.svelte';
import CourseContainer from '$lib/components/CourseContainer/index.svelte';
@@ -25,6 +24,8 @@
import { currentOrg } from '$lib/utils/store/org';
import type { CurrentOrg } from '$lib/utils/types/org';
import type { GroupPerson } from '$lib/utils/types';
+ import jsPDF from 'jspdf';
+ import autoTable from 'jspdf-autotable';
export let data;
@@ -140,36 +141,70 @@
isDownloading = false;
};
- const downloadPDF = () => {
+ function downloadPDF() {
isDownloading = true;
- const element = document.getElementById('tableContainer');
- if (!element) {
- console.error('Table container not found');
- return;
- }
-
- const options = {
- margin: 0.5,
- filename: `${$course?.title}-marks.pdf`,
- image: { type: 'jpeg', quality: 0.98 },
- html2canvas: { scale: 2 },
- jsPDF: { unit: 'in', format: 'a4', orientation: 'portrait' }
- };
-
- // Start the PDF generation
- html2pdf()
- .from(element)
- .set(options)
- .save()
- .then(() => {
- isDownloading = false;
- })
- .catch((error) => {
- console.error('Error generating PDF:', error);
- isDownloading = false;
+ try {
+ const doc = new jsPDF({
+ orientation: 'landscape'
});
- };
+
+ // Construct Headers
+ const head = [['Student']]; // Starting with 'Student' as the first header
+ $lessons.forEach((lesson, lessonIndex) => {
+ if (lessonMapping[lesson.id]) {
+ Object.values(lessonMapping[lesson.id]).forEach((exercise) => {
+ head[0].push(`${getLectureNo(lessonIndex + 1)} - ${exercise.title} (${lesson.title})`);
+ });
+ }
+ });
+ head[0].push('Total'); // Add 'Total' as the last header
+
+ // Construct Rows
+ const body = students.map((student) => {
+ const row: string[] = [];
+ row.push(student?.profile?.fullname ?? ''); // Student name
+
+ $lessons.forEach((lesson) => {
+ if (lessonMapping[lesson.id]) {
+ Object.keys(lessonMapping[lesson.id]).forEach((exerciseId) => {
+ const mark: string = studentMarksByExerciseId?.[student.id]?.[exerciseId] || '-';
+ row.push(mark);
+ });
+ }
+ });
+
+ // Calculate total
+ const total = '' + calculateStudentTotal(studentMarksByExerciseId[student.id]);
+ row.push(total);
+
+ return row;
+ });
+
+ // Generate the table in PDF
+ autoTable(doc, {
+ head,
+ body,
+ startY: 20,
+ styles: { fontSize: 8 },
+ headStyles: { fillColor: [22, 160, 133] },
+ footStyles: { fillColor: [22, 160, 133] },
+ didDrawPage: function (data) {
+ // Header
+ doc.setFontSize(14);
+ doc.setTextColor(40);
+ doc.text(`${$course?.title} - Marks`, data.settings.margin.left, 10);
+ }
+ });
+
+ // Save the PDF
+ doc.save(`${$course?.title}-marks.pdf`);
+ } catch (error) {
+ console.error('Error generating PDF:', error);
+ } finally {
+ isDownloading = false;
+ }
+ }
$: students = $globalStore.isStudent
? $group.people.filter((person) => !!person.profile && person.profile.id === $profile.id)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 87486f77..596d3f02 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -243,12 +243,15 @@ importers:
html-to-image:
specifier: ^1.11.11
version: 1.11.11
- html2pdf.js:
- specifier: ^0.10.2
- version: 0.10.2
js-yaml:
specifier: ^4.1.0
version: 4.1.0
+ jspdf:
+ specifier: ^2.5.1
+ version: 2.5.1
+ jspdf-autotable:
+ specifier: ^3.8.2
+ version: 3.8.2(jspdf@2.5.1)
lodash:
specifier: ^4.17.21
version: 4.17.21
@@ -1640,7 +1643,7 @@ packages:
'@babel/traverse': 7.23.4
'@babel/types': 7.23.4
convert-source-map: 1.9.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -1663,7 +1666,7 @@ packages:
'@babel/traverse': 7.23.4
'@babel/types': 7.23.4
convert-source-map: 2.0.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -1686,7 +1689,7 @@ packages:
'@babel/traverse': 7.23.9
'@babel/types': 7.23.9
convert-source-map: 2.0.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -1820,7 +1823,7 @@ packages:
'@babel/core': 7.22.9
'@babel/helper-compilation-targets': 7.22.15
'@babel/helper-plugin-utils': 7.22.5
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@@ -3140,7 +3143,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.4
'@babel/types': 7.23.4
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -3158,7 +3161,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.9
'@babel/types': 7.23.9
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -3517,7 +3520,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
espree: 9.6.1
globals: 13.23.0
ignore: 5.3.0
@@ -3587,7 +3590,7 @@ packages:
engines: {node: '>=10.10.0'}
dependencies:
'@humanwhocodes/object-schema': 2.0.1
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@@ -4349,8 +4352,8 @@ packages:
typescript:
optional: true
dependencies:
- debug: 4.3.4(supports-color@8.1.1)
- extract-zip: 2.0.1(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
+ extract-zip: 2.0.1
progress: 2.0.3
proxy-agent: 6.3.0
tar-fs: 3.0.4
@@ -5863,7 +5866,7 @@ packages:
vite: ^4.0.0
dependencies:
'@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.1.2)(vite@4.4.8)
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
svelte: 4.1.2
vite: 4.4.8(@types/node@18.11.10)(sass@1.64.2)
transitivePeerDependencies:
@@ -5877,7 +5880,7 @@ packages:
vite: ^4.0.0
dependencies:
'@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.3)(svelte@4.1.2)(vite@4.4.8)
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
deepmerge: 4.3.1
kleur: 4.1.5
magic-string: 0.30.5
@@ -6296,7 +6299,7 @@ packages:
'@typescript-eslint/type-utils': 6.12.0(eslint@8.57.0)(typescript@5.3.2)
'@typescript-eslint/utils': 6.12.0(eslint@8.57.0)(typescript@5.3.2)
'@typescript-eslint/visitor-keys': 6.12.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
eslint: 8.57.0
graphemer: 1.4.0
ignore: 5.3.0
@@ -6322,7 +6325,7 @@ packages:
'@typescript-eslint/types': 6.12.0
'@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2)
'@typescript-eslint/visitor-keys': 6.12.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
eslint: 8.57.0
typescript: 5.3.2
transitivePeerDependencies:
@@ -6357,7 +6360,7 @@ packages:
dependencies:
'@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2)
'@typescript-eslint/utils': 6.12.0(eslint@8.57.0)(typescript@5.3.2)
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
eslint: 8.57.0
ts-api-utils: 1.0.3(typescript@5.3.2)
typescript: 5.3.2
@@ -6386,7 +6389,7 @@ packages:
dependencies:
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/visitor-keys': 5.62.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.4
@@ -6407,7 +6410,7 @@ packages:
dependencies:
'@typescript-eslint/types': 6.12.0
'@typescript-eslint/visitor-keys': 6.12.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.4
@@ -6682,7 +6685,7 @@ packages:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
engines: {node: '>= 6.0.0'}
dependencies:
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: false
@@ -6691,7 +6694,7 @@ packages:
resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
engines: {node: '>= 14'}
dependencies:
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
@@ -7287,7 +7290,9 @@ packages:
/base64-arraybuffer@1.0.2:
resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==}
engines: {node: '>= 0.6.0'}
+ requiresBuild: true
dev: false
+ optional: true
/base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
@@ -8280,9 +8285,11 @@ packages:
/css-line-break@2.1.0:
resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==}
+ requiresBuild: true
dependencies:
utrie: 1.0.2
dev: false
+ optional: true
/css-tree@2.3.1:
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
@@ -8741,6 +8748,17 @@ packages:
supports-color: 8.1.1
dev: true
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+
/debug@4.3.4(supports-color@5.5.0):
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
@@ -8752,7 +8770,6 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 5.5.0
- dev: false
/debug@4.3.4(supports-color@8.1.1):
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
@@ -8765,6 +8782,7 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 8.1.1
+ dev: true
/debug@4.3.6:
resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
@@ -9306,10 +9324,6 @@ packages:
resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
dev: true
- /es6-promise@4.2.8:
- resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==}
- dev: false
-
/es6-symbol@3.1.3:
resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
dependencies:
@@ -9438,7 +9452,7 @@ packages:
eslint: '*'
eslint-plugin-import: '*'
dependencies:
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
enhanced-resolve: 5.15.0
eslint: 8.57.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
@@ -9635,7 +9649,7 @@ packages:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@jridgewell/sourcemap-codec': 1.4.15
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
eslint: 8.57.0
eslint-compat-utils: 0.1.2(eslint@8.57.0)
esutils: 2.0.3
@@ -9747,7 +9761,7 @@ packages:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@@ -10089,6 +10103,20 @@ packages:
/extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+ /extract-zip@2.0.1:
+ resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
+ engines: {node: '>= 10.17.0'}
+ hasBin: true
+ dependencies:
+ debug: 4.3.4(supports-color@5.5.0)
+ get-stream: 5.2.0
+ yauzl: 2.10.0
+ optionalDependencies:
+ '@types/yauzl': 2.10.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
/extract-zip@2.0.1(supports-color@8.1.1):
resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
engines: {node: '>= 10.17.0'}
@@ -10101,6 +10129,7 @@ packages:
'@types/yauzl': 2.10.3
transitivePeerDependencies:
- supports-color
+ dev: true
/extsprintf@1.3.0:
resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
@@ -10477,7 +10506,7 @@ packages:
dependencies:
basic-ftp: 5.0.4
data-uri-to-buffer: 6.0.2
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
fs-extra: 11.2.0
transitivePeerDependencies:
- supports-color
@@ -10722,6 +10751,7 @@ packages:
/has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
+ dev: true
/has-property-descriptors@1.0.1:
resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==}
@@ -10953,18 +10983,12 @@ packages:
/html2canvas@1.4.1:
resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==}
engines: {node: '>=8.0.0'}
+ requiresBuild: true
dependencies:
css-line-break: 2.1.0
text-segmentation: 1.0.3
dev: false
-
- /html2pdf.js@0.10.2:
- resolution: {integrity: sha512-WyHVeMb18Bp7vYTmBv1GVsThH//K7SRfHdSdhHPkl4JvyQarNQXnailkYn0QUbRRmnN5rdbbmSIGEsPZtzPy2Q==}
- dependencies:
- es6-promise: 4.2.8
- html2canvas: 1.4.1
- jspdf: 2.5.1
- dev: false
+ optional: true
/htmlparser2@8.0.2:
resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
@@ -10991,7 +11015,7 @@ packages:
engines: {node: '>= 14'}
dependencies:
agent-base: 7.1.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
dev: false
@@ -11010,7 +11034,7 @@ packages:
engines: {node: '>= 6'}
dependencies:
agent-base: 6.0.2
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: false
@@ -11020,7 +11044,7 @@ packages:
engines: {node: '>= 14'}
dependencies:
agent-base: 7.1.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
@@ -11155,7 +11179,7 @@ packages:
dependencies:
'@ioredis/commands': 1.2.0
cluster-key-slot: 1.1.2
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
denque: 2.1.0
lodash.defaults: 4.2.0
lodash.isarguments: 3.1.0
@@ -11569,7 +11593,7 @@ packages:
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
engines: {node: '>=10'}
dependencies:
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4
istanbul-lib-coverage: 3.2.2
source-map: 0.6.1
transitivePeerDependencies:
@@ -12143,6 +12167,14 @@ packages:
engines: {'0': node >= 0.2.0}
dev: true
+ /jspdf-autotable@3.8.2(jspdf@2.5.1):
+ resolution: {integrity: sha512-zW1ix99/mtR4MbIni7IqvrpfHmuTaICl6iv6wqjRN86Nxtwaw/QtOeDbpXqYSzHIJK9JvgtLM283sc5x+ipkJg==}
+ peerDependencies:
+ jspdf: ^2.5.1
+ dependencies:
+ jspdf: 2.5.1
+ dev: false
+
/jspdf@2.5.1:
resolution: {integrity: sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==}
dependencies:
@@ -13194,7 +13226,7 @@ packages:
resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==}
dependencies:
'@types/debug': 4.1.12
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
decode-named-character-reference: 1.0.2
micromark-core-commonmark: 1.1.0
micromark-factory-space: 1.1.0
@@ -14005,7 +14037,7 @@ packages:
dependencies:
'@tootallnate/quickjs-emscripten': 0.23.0
agent-base: 7.1.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
get-uri: 6.0.3
http-proxy-agent: 7.0.1
https-proxy-agent: 7.0.4
@@ -14163,6 +14195,7 @@ packages:
/performance-now@2.1.0:
resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
+ requiresBuild: true
/periscopic@3.1.0:
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
@@ -14579,7 +14612,7 @@ packages:
engines: {node: '>= 14'}
dependencies:
agent-base: 7.1.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
http-proxy-agent: 7.0.1
https-proxy-agent: 7.0.4
lru-cache: 7.18.3
@@ -14633,7 +14666,7 @@ packages:
'@puppeteer/browsers': 1.4.6(typescript@5.3.2)
chromium-bidi: 0.4.16(devtools-protocol@0.0.1147663)
cross-fetch: 4.0.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
devtools-protocol: 0.0.1147663
typescript: 5.3.2
ws: 8.13.0
@@ -15505,7 +15538,7 @@ packages:
engines: {node: '>= 14'}
dependencies:
agent-base: 7.1.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
socks: 2.7.3
transitivePeerDependencies:
- supports-color
@@ -15985,6 +16018,7 @@ packages:
engines: {node: '>=10'}
dependencies:
has-flag: 4.0.0
+ dev: true
/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
@@ -16434,9 +16468,11 @@ packages:
/text-segmentation@1.0.3:
resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==}
+ requiresBuild: true
dependencies:
utrie: 1.0.2
dev: false
+ optional: true
/text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
@@ -17199,9 +17235,11 @@ packages:
/utrie@1.0.2:
resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==}
+ requiresBuild: true
dependencies:
base64-arraybuffer: 1.0.2
dev: false
+ optional: true
/uuid@8.3.2:
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}