Covert to ESM and get it functional locally
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
MEDIA_PATH=~/Desktop/IMS
|
||||
PORT=8000
|
||||
IMS_TOKEN=
|
||||
CONVERT_QUALITY=0.5
|
||||
CONVERT_QUALITY=0.8
|
||||
KEEP_CONVERTED_ORIGINALS=TRUE
|
||||
12
Dockerfile
12
Dockerfile
@@ -28,9 +28,9 @@ RUN apt install -y libwebp-dev
|
||||
# Install HEIF support (libheic-dev Package does not exist on 16.04)
|
||||
RUN apt-get -y install libde265-dev
|
||||
RUN apt-get -y install pkg-config m4 libtool automake autoconf
|
||||
RUN wget https://github.com/strukturag/libheif/archive/v1.18.0.tar.gz
|
||||
RUN tar -xvf v1.18.0.tar.gz
|
||||
WORKDIR /usr/src/app/libheif-1.18.0/
|
||||
RUN wget https://github.com/strukturag/libheif/archive/v1.18.2.tar.gz
|
||||
RUN tar -xvf v1.18.2.tar.gz
|
||||
WORKDIR /usr/src/app/libheif-1.18.2/
|
||||
RUN ./autogen.sh
|
||||
RUN ./configure
|
||||
RUN make
|
||||
@@ -46,9 +46,9 @@ RUN apt-get -y install wget && apt-get install -y ruby-full && ruby -v
|
||||
# RUN apt-get install imagemagick -y
|
||||
|
||||
# # Install ImageMagick with WEBP and HEIC support
|
||||
RUN wget https://download.imagemagick.org/archive/releases/ImageMagick-7.1.1-35.tar.xz
|
||||
RUN tar -xvf ImageMagick-7.1.1-35.tar.xz
|
||||
WORKDIR /usr/src/app/ImageMagick-7.1.1-35/
|
||||
RUN wget https://download.imagemagick.org/archive/releases/ImageMagick-7.1.1-37.tar.xz
|
||||
RUN tar -xvf ImageMagick-7.1.1-37.tar.xz
|
||||
WORKDIR /usr/src/app/ImageMagick-7.1.1-37/
|
||||
RUN ./configure --with-heic=yes --with-webp=yes
|
||||
RUN make
|
||||
RUN make install
|
||||
|
||||
@@ -3,12 +3,12 @@ import { fileTypeFromFile } from "file-type";
|
||||
import { FileTypeResult } from "file-type/core";
|
||||
import fs from "fs-extra";
|
||||
import path from "path";
|
||||
import GenerateUrl from "../util/MediaUrlGen";
|
||||
import GenerateThumbnail from "../util/generateThumbnail";
|
||||
import MediaFile from "../util/interfaces/MediaFile";
|
||||
import ListableChecker from "../util/listableChecker";
|
||||
import { PathToRoBillsFolder } from "../util/pathGenerators";
|
||||
import { FolderPaths } from "../util/serverInit";
|
||||
import GenerateUrl from "../util/MediaUrlGen.js";
|
||||
import GenerateThumbnail from "../util/generateThumbnail.js";
|
||||
import MediaFile from "../util/interfaces/MediaFile.js";
|
||||
import ListableChecker from "../util/listableChecker.js";
|
||||
import { PathToRoBillsFolder } from "../util/pathGenerators.js";
|
||||
import { FolderPaths } from "../util/serverInit.js";
|
||||
|
||||
/** @description Bills will use the hierarchy of PDFs stored under the Job first, and then the Bills folder. */
|
||||
export async function BillsListMedia(req: Request, res: Response) {
|
||||
|
||||
@@ -3,12 +3,12 @@ import { Request, Response } from "express";
|
||||
import fs from "fs-extra";
|
||||
import multer from "multer";
|
||||
import path, { resolve } from "path";
|
||||
import { logger } from "../server";
|
||||
import GenerateThumbnail from "../util/generateThumbnail";
|
||||
import { generateUniqueBillFilename } from "../util/generateUniqueFilename";
|
||||
import { ConvertHeicFiles } from "../util/heicConverter";
|
||||
import { PathToRoBillsFolder, PathToVendorBillsFile } from "../util/pathGenerators";
|
||||
import { BillsListMedia } from "./billsListMedia";
|
||||
import { logger } from "../server.js";
|
||||
import GenerateThumbnail from "../util/generateThumbnail.js";
|
||||
import { generateUniqueBillFilename } from "../util/generateUniqueFilename.js";
|
||||
import { ConvertHeicFiles } from "../util/heicConverter.js";
|
||||
import { PathToRoBillsFolder, PathToVendorBillsFile } from "../util/pathGenerators.js";
|
||||
import { BillsListMedia } from "./billsListMedia.js";
|
||||
|
||||
dotenv.config({
|
||||
path: resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { Request, Response } from "express";
|
||||
import fs from "fs-extra";
|
||||
import path from "path";
|
||||
import { logger } from "../server";
|
||||
import MediaFile from "../util/interfaces/MediaFile";
|
||||
import ListableChecker from "../util/listableChecker";
|
||||
import { PathToRoBillsFolder, PathToRoFolder } from "../util/pathGenerators";
|
||||
import { BillsRelativeFilePath, FolderPaths, JobRelativeFilePath } from "../util/serverInit";
|
||||
import { logger } from "../server.js";
|
||||
import MediaFile from "../util/interfaces/MediaFile.js";
|
||||
import ListableChecker from "../util/listableChecker.js";
|
||||
import { PathToRoBillsFolder, PathToRoFolder } from "../util/pathGenerators.js";
|
||||
import { BillsRelativeFilePath, FolderPaths, JobRelativeFilePath } from "../util/serverInit.js";
|
||||
|
||||
export async function JobsDeleteMedia(req: Request, res: Response) {
|
||||
const jobid: string = (req.body.jobid || "").trim();
|
||||
|
||||
@@ -2,10 +2,10 @@ import { Request, Response } from "express";
|
||||
import fs from "fs-extra";
|
||||
import JSZip from "jszip";
|
||||
import path from "path";
|
||||
import { logger } from "../server";
|
||||
import ListableChecker from "../util/listableChecker";
|
||||
import { PathToRoBillsFolder, PathToRoFolder } from "../util/pathGenerators";
|
||||
import { BillsRelativeFilePath, JobRelativeFilePath } from "../util/serverInit";
|
||||
import { logger } from "../server.js";
|
||||
import ListableChecker from "../util/listableChecker.js";
|
||||
import { PathToRoBillsFolder, PathToRoFolder } from "../util/pathGenerators.js";
|
||||
import { BillsRelativeFilePath, JobRelativeFilePath } from "../util/serverInit.js";
|
||||
|
||||
//param: files: string[] | array of filenames.
|
||||
export async function jobsDownloadMedia(req: Request, res: Response) {
|
||||
|
||||
@@ -2,13 +2,13 @@ import { Request, Response } from "express";
|
||||
import { fileTypeFromFile } from "file-type";
|
||||
import { FileTypeResult } from "file-type/core";
|
||||
import fs from "fs-extra";
|
||||
import { logger } from "../server";
|
||||
import GenerateUrl from "../util/MediaUrlGen";
|
||||
import GenerateThumbnail from "../util/generateThumbnail";
|
||||
import MediaFile from "../util/interfaces/MediaFile";
|
||||
import ListableChecker from "../util/listableChecker";
|
||||
import { PathToRoFolder } from "../util/pathGenerators";
|
||||
import { FolderPaths, JobRelativeFilePath } from "../util/serverInit";
|
||||
import { logger } from "../server.js";
|
||||
import GenerateUrl from "../util/MediaUrlGen.js";
|
||||
import GenerateThumbnail from "../util/generateThumbnail.js";
|
||||
import MediaFile from "../util/interfaces/MediaFile.js";
|
||||
import ListableChecker from "../util/listableChecker.js";
|
||||
import { PathToRoFolder } from "../util/pathGenerators.js";
|
||||
import { FolderPaths, JobRelativeFilePath } from "../util/serverInit.js";
|
||||
|
||||
export async function JobsListMedia(req: Request, res: Response) {
|
||||
const jobid: string = (req.body.jobid || "").trim();
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { Request, Response } from "express";
|
||||
import fs from "fs-extra";
|
||||
import path from "path";
|
||||
import { logger } from "../server";
|
||||
import ListableChecker from "../util/listableChecker";
|
||||
import { PathToRoBillsFolder, PathToRoFolder } from "../util/pathGenerators";
|
||||
import { FolderPaths } from "../util/serverInit";
|
||||
import { JobsListMedia } from "./jobsListMedia";
|
||||
import { logger } from "../server.js";
|
||||
import ListableChecker from "../util/listableChecker.js";
|
||||
import { PathToRoBillsFolder, PathToRoFolder } from "../util/pathGenerators.js";
|
||||
import { FolderPaths } from "../util/serverInit.js";
|
||||
import { JobsListMedia } from "./jobsListMedia.js";
|
||||
|
||||
export async function JobsMoveMedia(req: Request, res: Response) {
|
||||
const jobid: string = (req.body.jobid || "").trim();
|
||||
|
||||
@@ -2,12 +2,12 @@ import { Request, Response } from "express";
|
||||
import fs from "fs-extra";
|
||||
import multer from "multer";
|
||||
import path from "path";
|
||||
import { logger } from "../server";
|
||||
import GenerateThumbnail from "../util/generateThumbnail";
|
||||
import generateUniqueFilename from "../util/generateUniqueFilename";
|
||||
import { ConvertHeicFiles } from "../util/heicConverter";
|
||||
import { PathToRoFolder } from "../util/pathGenerators";
|
||||
import { JobsListMedia } from "./jobsListMedia";
|
||||
import { logger } from "../server.js";
|
||||
import GenerateThumbnail from "../util/generateThumbnail.js";
|
||||
import generateUniqueFilename from "../util/generateUniqueFilename.js";
|
||||
import { ConvertHeicFiles } from "../util/heicConverter.js";
|
||||
import { PathToRoFolder } from "../util/pathGenerators.js";
|
||||
import { JobsListMedia } from "./jobsListMedia.js";
|
||||
|
||||
export const JobMediaUploadMulter = multer({
|
||||
storage: multer.diskStorage({
|
||||
|
||||
1378
package-lock.json
generated
1378
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
17
package.json
17
package.json
@@ -7,30 +7,29 @@
|
||||
},
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"server": "nodemon server",
|
||||
"server": "nodemon --loader=ts-node/esm server",
|
||||
"start": "node dist/server.js",
|
||||
"build": "tsc -p .",
|
||||
"makeitpretty": "prettier --write \"**/*.{css,js,json,jsx,scss,ts}\""
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^1.7.2",
|
||||
"bluebird": "^3.7.2",
|
||||
"axios": "^1.7.5",
|
||||
"body-parser": "^1.20.2",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "16.4.5",
|
||||
"express": "^4.19.2",
|
||||
"file-type": "^19.2.0",
|
||||
"file-type": "^19.4.1",
|
||||
"fs-extra": "^11.2.0",
|
||||
"gm": "^1.25.0",
|
||||
"helmet": "^7.1.0",
|
||||
"image-thumbnail": "^1.0.15",
|
||||
"image-thumbnail": "^1.0.17",
|
||||
"jszip": "^3.10.1",
|
||||
"morgan": "^1.10.0",
|
||||
"multer": "^1.4.4",
|
||||
"nocache": "^4.0.0",
|
||||
"response-time": "^2.3.2",
|
||||
"simple-thumbnail": "^1.6.5",
|
||||
"winston": "^3.13.1",
|
||||
"winston": "^3.14.2",
|
||||
"winston-daily-rotate-file": "^5.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -40,12 +39,12 @@
|
||||
"@types/gm": "^1.25.4",
|
||||
"@types/image-thumbnail": "^1.0.4",
|
||||
"@types/morgan": "^1.9.9",
|
||||
"@types/multer": "^1.4.11",
|
||||
"@types/node": "^20.14.11",
|
||||
"@types/multer": "^1.4.12",
|
||||
"@types/node": "^22.5.0",
|
||||
"@types/response-time": "^2.3.8",
|
||||
"nodemon": "^3.1.4",
|
||||
"prettier": "^3.3.3",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.5.3"
|
||||
"typescript": "^5.5.4"
|
||||
}
|
||||
}
|
||||
|
||||
32
server.ts
32
server.ts
@@ -9,17 +9,17 @@ import path, { resolve } from "path";
|
||||
import responseTime from "response-time";
|
||||
import winston from "winston";
|
||||
import DailyRotateFile from "winston-daily-rotate-file";
|
||||
import BillRequestValidator from "./bills/billRequestValidator";
|
||||
import { BillsListMedia } from "./bills/billsListMedia";
|
||||
import { BillsMediaUploadMulter, BillsUploadMedia } from "./bills/billsUploadMedia";
|
||||
import validateJobRequest from "./jobs/jobRequestValidator";
|
||||
import { JobsDeleteMedia } from "./jobs/jobsDeleteMedia";
|
||||
import { jobsDownloadMedia } from "./jobs/jobsDownloadMedia";
|
||||
import { JobsListMedia } from "./jobs/jobsListMedia";
|
||||
import { JobsMoveMedia } from "./jobs/jobsMoveMedia";
|
||||
import { JobMediaUploadMulter, jobsUploadMedia } from "./jobs/jobsUploadMedia";
|
||||
import InitServer, { FolderPaths } from "./util/serverInit";
|
||||
import ValidateImsToken from "./util/validateToken";
|
||||
import BillRequestValidator from "./bills/billRequestValidator.js";
|
||||
import { BillsListMedia } from "./bills/billsListMedia.js";
|
||||
import { BillsMediaUploadMulter, BillsUploadMedia } from "./bills/billsUploadMedia.js";
|
||||
import validateJobRequest from "./jobs/jobRequestValidator.js";
|
||||
import { JobsDeleteMedia } from "./jobs/jobsDeleteMedia.js";
|
||||
import { jobsDownloadMedia } from "./jobs/jobsDownloadMedia.js";
|
||||
import { JobsListMedia } from "./jobs/jobsListMedia.js";
|
||||
import { JobsMoveMedia } from "./jobs/jobsMoveMedia.js";
|
||||
import { JobMediaUploadMulter, jobsUploadMedia } from "./jobs/jobsUploadMedia.js";
|
||||
import InitServer, { FolderPaths } from "./util/serverInit.js";
|
||||
import ValidateImsToken from "./util/validateToken.js";
|
||||
|
||||
dotenv.config({
|
||||
path: resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`)
|
||||
@@ -35,7 +35,7 @@ export const logger = winston.createLogger({
|
||||
datePattern: "YYYY-MM-DD-HH",
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d"
|
||||
maxFiles: "14"
|
||||
}),
|
||||
new winston.transports.Console({
|
||||
format: winston.format.combine(winston.format.colorize(), winston.format.simple())
|
||||
@@ -47,7 +47,7 @@ export const logger = winston.createLogger({
|
||||
datePattern: "YYYY-MM-DD-HH",
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d"
|
||||
maxFiles: "14"
|
||||
}),
|
||||
new winston.transports.Console({
|
||||
format: winston.format.combine(winston.format.colorize(), winston.format.simple())
|
||||
@@ -59,7 +59,7 @@ export const logger = winston.createLogger({
|
||||
datePattern: "YYYY-MM-DD-HH",
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d",
|
||||
maxFiles: "14",
|
||||
level: "error"
|
||||
}),
|
||||
|
||||
@@ -68,7 +68,7 @@ export const logger = winston.createLogger({
|
||||
datePattern: "YYYY-MM-DD-HH",
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d",
|
||||
maxFiles: "14",
|
||||
level: "debug"
|
||||
}),
|
||||
new DailyRotateFile({
|
||||
@@ -76,7 +76,7 @@ export const logger = winston.createLogger({
|
||||
datePattern: "YYYY-MM-DD-HH",
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d"
|
||||
maxFiles: "14"
|
||||
})
|
||||
]
|
||||
});
|
||||
|
||||
@@ -2,13 +2,9 @@
|
||||
"compilerOptions": {
|
||||
/* Language and Environment */
|
||||
"target": "ESNext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
|
||||
// "lib": [
|
||||
// "ESNext",
|
||||
// "DOM"
|
||||
// ]
|
||||
/* Modules */
|
||||
"module": "ESNext" /* Specify what module code is generated. */,
|
||||
"moduleResolution": "Node",
|
||||
"module": "NodeNext" /* Specify what module code is generated. */,
|
||||
"moduleResolution": "NodeNext",
|
||||
"resolveJsonModule": true /* Enable importing .json files */,
|
||||
"outDir": "./dist" /* Specify an output folder for all emitted files. */,
|
||||
|
||||
|
||||
@@ -5,15 +5,12 @@ import { access } from "fs/promises";
|
||||
import gm from "gm";
|
||||
import imageThumbnail from "image-thumbnail";
|
||||
import path from "path";
|
||||
import { logger } from "../server";
|
||||
import { AssetPaths, FolderPaths } from "./serverInit";
|
||||
const simpleThumb = require("simple-thumbnail");
|
||||
import { logger } from "../server.js";
|
||||
import { AssetPaths, FolderPaths } from "./serverInit.js";
|
||||
//@ts-ignore
|
||||
import simpleThumb from "simple-thumbnail";
|
||||
//const ffmpeg = require("ffmpeg-static");
|
||||
|
||||
var Bluebird = require("bluebird");
|
||||
|
||||
Bluebird.promisifyAll(gm.prototype);
|
||||
|
||||
/** @returns {string} Returns the relative path from the file to the thumbnail on the server. This must be converted to a URL. */
|
||||
export default async function GenerateThumbnail(
|
||||
file: string
|
||||
@@ -73,14 +70,17 @@ export default async function GenerateThumbnail(
|
||||
async function GeneratePdfThumbnail(file: string, thumbPath: string) {
|
||||
const fileOnDisk: Buffer = await fs.readFile(file);
|
||||
return new Promise<string>((resolve, reject) => {
|
||||
const result = gm(fileOnDisk)
|
||||
gm(fileOnDisk)
|
||||
.selectFrame(0)
|
||||
.setFormat("png")
|
||||
.resize(200, 200, "!") // Resize to fixed 200px width, maintaining aspect ratio
|
||||
.resize(200, 200, "!")
|
||||
.quality(75)
|
||||
.write(thumbPath, (error) => {
|
||||
if (error) reject(error.message);
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
resolve(thumbPath);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,58 +1,60 @@
|
||||
import fs from "fs-extra";
|
||||
|
||||
import dotenv from "dotenv";
|
||||
import { fileTypeFromFile } from "file-type";
|
||||
import { FileTypeResult } from "file-type/core";
|
||||
import fs from "fs-extra";
|
||||
import gm from "gm";
|
||||
import path, { resolve } from "path";
|
||||
import { logger } from "../server";
|
||||
import { FolderPaths } from "./serverInit";
|
||||
import path from "path";
|
||||
import { logger } from "../server.js";
|
||||
import { FolderPaths } from "./serverInit.js";
|
||||
|
||||
//const heicConverter = require("heic-convert");
|
||||
var imageMagick = gm.subClass({ imageMagick: true });
|
||||
|
||||
//gm.subClass();
|
||||
dotenv.config({
|
||||
path: resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`)
|
||||
path: path.resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`)
|
||||
});
|
||||
|
||||
const imageMagick = gm.subClass({ imageMagick: true });
|
||||
|
||||
export async function ConvertHeicFiles(files: Express.Multer.File[]) {
|
||||
for (const file of files) {
|
||||
const type: FileTypeResult | undefined = await fileTypeFromFile(file.path);
|
||||
if (type?.mime === "image/heic") {
|
||||
logger.log("debug", `Converting ${file.filename} image to JPEG from HEIC.`);
|
||||
const convertedFileName = `${
|
||||
path.parse(path.basename(file.originalname)).name
|
||||
}-${Math.floor(Date.now() / 1000)}.jpeg`;
|
||||
const validFiles = await filterValidHeicFiles(files);
|
||||
await Promise.all(validFiles.map(async (file) => {
|
||||
const convertedFileName = `${path.parse(path.basename(file.originalname)).name}-${Math.floor(Date.now() / 1000)}.jpeg`;
|
||||
try {
|
||||
await ConvertToJpeg(file.path, `${file.destination}/${convertedFileName}`);
|
||||
//Move the HEIC.
|
||||
if (process.env.KEEP_CONVERTED_ORIGINALS) {
|
||||
await fs.ensureDir(path.join(file.destination, FolderPaths.ConvertedOriginalSubDir));
|
||||
await fs.move(
|
||||
file.path,
|
||||
`${path.join(file.destination, FolderPaths.ConvertedOriginalSubDir)}/${file.filename}`
|
||||
);
|
||||
} else {
|
||||
await fs.unlink(file.destination);
|
||||
}
|
||||
//Update the multer file entry.
|
||||
|
||||
logger.log("debug", `Converted ${file.filename} image to JPEG from HEIC.`);
|
||||
await handleOriginalFile(file, convertedFileName);
|
||||
file.filename = convertedFileName;
|
||||
file.mimetype = "image/jpeg";
|
||||
file.path = `${file.destination}/${convertedFileName}`;
|
||||
} catch (error) {
|
||||
logger.log("error", `Error converting ${file.filename} image to JPEG from HEIC. ${JSON.stringify(error)}`);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
async function filterValidHeicFiles(files: Express.Multer.File[]) {
|
||||
const validFiles = [];
|
||||
for (const file of files) {
|
||||
const type: FileTypeResult | undefined = await fileTypeFromFile(file.path);
|
||||
if (type?.mime === "image/heic") {
|
||||
validFiles.push(file);
|
||||
}
|
||||
}
|
||||
return validFiles;
|
||||
}
|
||||
|
||||
async function handleOriginalFile(file: Express.Multer.File, convertedFileName: string) {
|
||||
if (process.env.KEEP_CONVERTED_ORIGINALS) {
|
||||
await fs.ensureDir(path.join(file.destination, FolderPaths.ConvertedOriginalSubDir));
|
||||
await fs.move(file.path, `${path.join(file.destination, FolderPaths.ConvertedOriginalSubDir)}/${file.filename}`);
|
||||
} else {
|
||||
await fs.unlink(file.path);
|
||||
}
|
||||
}
|
||||
|
||||
async function ConvertToJpeg(file: string, newPath: string) {
|
||||
const fileOnDisk: Buffer = await fs.readFile(file);
|
||||
|
||||
return new Promise<string>((resolve, reject) => {
|
||||
const result = imageMagick(fileOnDisk)
|
||||
imageMagick(fileOnDisk)
|
||||
.setFormat("jpg")
|
||||
.write(newPath, (error) => {
|
||||
if (error) reject(error.message);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import path from "path";
|
||||
import { FolderPaths } from "./serverInit";
|
||||
import { FolderPaths } from "./serverInit.js";
|
||||
|
||||
export function PathToRoFolder(jobid: string) {
|
||||
return path.join(FolderPaths.Jobs, jobid);
|
||||
|
||||
@@ -2,7 +2,7 @@ import dotenv from "dotenv";
|
||||
import { ensureDirSync } from "fs-extra";
|
||||
import os from "os";
|
||||
import path, { resolve } from "path";
|
||||
import { logger } from "../server";
|
||||
import { logger } from "../server.js";
|
||||
|
||||
dotenv.config({
|
||||
path: resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`)
|
||||
|
||||
401
yarn.lock
401
yarn.lock
@@ -23,6 +23,11 @@
|
||||
enabled "2.0.x"
|
||||
kuler "^2.0.0"
|
||||
|
||||
"@img/sharp-win32-x64@0.33.5":
|
||||
version "0.33.5"
|
||||
resolved "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz"
|
||||
integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==
|
||||
|
||||
"@jridgewell/resolve-uri@^3.0.3":
|
||||
version "3.1.2"
|
||||
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
|
||||
@@ -41,6 +46,11 @@
|
||||
"@jridgewell/resolve-uri" "^3.0.3"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||
|
||||
"@sec-ant/readable-stream@^0.4.1":
|
||||
version "0.4.1"
|
||||
resolved "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz"
|
||||
integrity sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==
|
||||
|
||||
"@tokenizer/token@^0.3.0":
|
||||
version "0.3.0"
|
||||
resolved "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz"
|
||||
@@ -149,19 +159,19 @@
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/multer@^1.4.11":
|
||||
version "1.4.11"
|
||||
resolved "https://registry.npmjs.org/@types/multer/-/multer-1.4.11.tgz"
|
||||
integrity sha512-svK240gr6LVWvv3YGyhLlA+6LRRWA4mnGIU7RcNmgjBYFl6665wcXrRfxGp5tEPVHUNm5FMcmq7too9bxCwX/w==
|
||||
"@types/multer@^1.4.12":
|
||||
version "1.4.12"
|
||||
resolved "https://registry.npmjs.org/@types/multer/-/multer-1.4.12.tgz"
|
||||
integrity sha512-pQ2hoqvXiJt2FP9WQVLPRO+AmiIm/ZYkavPlIQnx282u4ZrVdztx0pkh3jjpQt0Kz+YI0YhSG264y08UJKoUQg==
|
||||
dependencies:
|
||||
"@types/express" "*"
|
||||
|
||||
"@types/node@*", "@types/node@^20.14.11":
|
||||
version "20.14.11"
|
||||
resolved "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz"
|
||||
integrity sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==
|
||||
"@types/node@*", "@types/node@^22.5.0":
|
||||
version "22.5.0"
|
||||
resolved "https://registry.npmjs.org/@types/node/-/node-22.5.0.tgz"
|
||||
integrity sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==
|
||||
dependencies:
|
||||
undici-types "~5.26.4"
|
||||
undici-types "~6.19.2"
|
||||
|
||||
"@types/qs@*":
|
||||
version "6.9.15"
|
||||
@@ -268,17 +278,10 @@ asynckit@^0.4.0:
|
||||
resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
|
||||
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
|
||||
|
||||
axios@^0.21.1:
|
||||
version "0.21.4"
|
||||
resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz"
|
||||
integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
|
||||
dependencies:
|
||||
follow-redirects "^1.14.0"
|
||||
|
||||
axios@^1.7.2:
|
||||
version "1.7.2"
|
||||
resolved "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz"
|
||||
integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==
|
||||
axios@^1.7.3, axios@^1.7.5:
|
||||
version "1.7.5"
|
||||
resolved "https://registry.npmjs.org/axios/-/axios-1.7.5.tgz"
|
||||
integrity sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==
|
||||
dependencies:
|
||||
follow-redirects "^1.15.6"
|
||||
form-data "^4.0.0"
|
||||
@@ -289,11 +292,6 @@ balanced-match@^1.0.0:
|
||||
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
|
||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||
|
||||
base64-js@^1.3.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
|
||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||
|
||||
basic-auth@~2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz"
|
||||
@@ -306,20 +304,6 @@ binary-extensions@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
|
||||
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
|
||||
|
||||
bl@^4.0.3:
|
||||
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"
|
||||
|
||||
bluebird@^3.7.2:
|
||||
version "3.7.2"
|
||||
resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"
|
||||
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
|
||||
|
||||
body-parser@^1.20.2, body-parser@1.20.2:
|
||||
version "1.20.2"
|
||||
resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz"
|
||||
@@ -347,29 +331,21 @@ brace-expansion@^1.1.7:
|
||||
concat-map "0.0.1"
|
||||
|
||||
braces@~3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
|
||||
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
|
||||
version "3.0.3"
|
||||
resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz"
|
||||
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
|
||||
dependencies:
|
||||
fill-range "^7.0.1"
|
||||
fill-range "^7.1.1"
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
|
||||
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
|
||||
|
||||
buffer@^5.5.0:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
|
||||
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
|
||||
dependencies:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.1.13"
|
||||
|
||||
busboy@^0.2.11:
|
||||
version "0.2.14"
|
||||
resolved "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz"
|
||||
integrity sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=
|
||||
integrity sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==
|
||||
dependencies:
|
||||
dicer "0.2.5"
|
||||
readable-stream "1.1.x"
|
||||
@@ -405,11 +381,6 @@ chokidar@^3.5.2:
|
||||
optionalDependencies:
|
||||
fsevents "~2.3.2"
|
||||
|
||||
chownr@^1.1.1:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz"
|
||||
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
|
||||
|
||||
color-convert@^1.9.3:
|
||||
version "1.9.3"
|
||||
resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
|
||||
@@ -557,18 +528,6 @@ debug@2.6.9:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
decompress-response@^6.0.0:
|
||||
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"
|
||||
|
||||
deep-extend@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz"
|
||||
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
||||
|
||||
define-data-property@^1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz"
|
||||
@@ -598,7 +557,7 @@ destroy@1.2.0:
|
||||
resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
|
||||
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
|
||||
|
||||
detect-libc@^2.0.0, detect-libc@^2.0.1:
|
||||
detect-libc@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz"
|
||||
integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==
|
||||
@@ -606,7 +565,7 @@ detect-libc@^2.0.0, detect-libc@^2.0.1:
|
||||
dicer@0.2.5:
|
||||
version "0.2.5"
|
||||
resolved "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz"
|
||||
integrity sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=
|
||||
integrity sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==
|
||||
dependencies:
|
||||
readable-stream "1.1.x"
|
||||
streamsearch "0.1.2"
|
||||
@@ -646,7 +605,7 @@ encodeurl@~1.0.2:
|
||||
resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
|
||||
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
|
||||
|
||||
end-of-stream@^1.1.0, end-of-stream@^1.4.1:
|
||||
end-of-stream@^1.4.1:
|
||||
version "1.4.4"
|
||||
resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
|
||||
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
|
||||
@@ -675,11 +634,6 @@ etag@~1.8.1:
|
||||
resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
|
||||
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
|
||||
|
||||
expand-template@^2.0.3:
|
||||
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==
|
||||
|
||||
express@^4.19.2:
|
||||
version "4.19.2"
|
||||
resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz"
|
||||
@@ -729,19 +683,20 @@ file-stream-rotator@^0.6.1:
|
||||
dependencies:
|
||||
moment "^2.29.1"
|
||||
|
||||
file-type@^19.2.0:
|
||||
version "19.2.0"
|
||||
resolved "https://registry.npmjs.org/file-type/-/file-type-19.2.0.tgz"
|
||||
integrity sha512-tUgGaVcM7enfk+toLsBbbCP71iIThjBiMWLk1gYUprcY21/uRNnui0Py9oJ5AIXE7EJYfBeJRAl8pNHBmujboQ==
|
||||
file-type@^19.4.1:
|
||||
version "19.4.1"
|
||||
resolved "https://registry.npmjs.org/file-type/-/file-type-19.4.1.tgz"
|
||||
integrity sha512-RuWzwF2L9tCHS76KR/Mdh+DwJZcFCzrhrPXpOw6MlEfl/o31fjpTikzcKlYuyeV7e7ftdCGVJTNOCzkYD/aLbw==
|
||||
dependencies:
|
||||
strtok3 "^8.0.0"
|
||||
get-stream "^9.0.1"
|
||||
strtok3 "^8.1.0"
|
||||
token-types "^6.0.0"
|
||||
uint8array-extras "^1.3.0"
|
||||
|
||||
fill-range@^7.0.1:
|
||||
version "7.0.1"
|
||||
resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
|
||||
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
|
||||
fill-range@^7.1.1:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"
|
||||
integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
|
||||
dependencies:
|
||||
to-regex-range "^5.0.1"
|
||||
|
||||
@@ -763,7 +718,7 @@ fn.name@1.x.x:
|
||||
resolved "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz"
|
||||
integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
|
||||
|
||||
follow-redirects@^1.14.0, follow-redirects@^1.15.6:
|
||||
follow-redirects@^1.15.6:
|
||||
version "1.15.6"
|
||||
resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz"
|
||||
integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
|
||||
@@ -787,11 +742,6 @@ fresh@0.5.2:
|
||||
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
|
||||
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
|
||||
|
||||
fs-constants@^1.0.0:
|
||||
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==
|
||||
|
||||
fs-extra@^11.2.0:
|
||||
version "11.2.0"
|
||||
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz"
|
||||
@@ -817,10 +767,13 @@ get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
|
||||
has-symbols "^1.0.3"
|
||||
hasown "^2.0.0"
|
||||
|
||||
github-from-package@0.0.0:
|
||||
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==
|
||||
get-stream@^9.0.1:
|
||||
version "9.0.1"
|
||||
resolved "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz"
|
||||
integrity sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==
|
||||
dependencies:
|
||||
"@sec-ant/readable-stream" "^0.4.1"
|
||||
is-stream "^4.0.1"
|
||||
|
||||
glob-parent@~5.1.2:
|
||||
version "5.1.2"
|
||||
@@ -903,7 +856,7 @@ iconv-lite@0.4.24:
|
||||
dependencies:
|
||||
safer-buffer ">= 2.1.2 < 3"
|
||||
|
||||
ieee754@^1.1.13, ieee754@^1.2.1:
|
||||
ieee754@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
|
||||
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||
@@ -913,38 +866,33 @@ ignore-by-default@^1.0.1:
|
||||
resolved "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz"
|
||||
integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk=
|
||||
|
||||
image-size@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/image-size/-/image-size-1.0.1.tgz"
|
||||
integrity sha512-VAwkvNSNGClRw9mDHhc5Efax8PLlsOGcUTh0T/LIriC8vPA3U5PdqXWqkz406MoYHMKW8Uf9gWr05T/rYB44kQ==
|
||||
image-size@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz"
|
||||
integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==
|
||||
dependencies:
|
||||
queue "6.0.2"
|
||||
|
||||
image-thumbnail@^1.0.15:
|
||||
version "1.0.15"
|
||||
resolved "https://registry.npmjs.org/image-thumbnail/-/image-thumbnail-1.0.15.tgz"
|
||||
integrity sha512-rzJ9+b/P4+bm4Z+jFl5lQYEFaNhyAUJGlCpkRzCBRtKBgvbeh343m+MOgsogGHudpqAuH8f682u95ncK6EpujQ==
|
||||
image-thumbnail@^1.0.17:
|
||||
version "1.0.17"
|
||||
resolved "https://registry.npmjs.org/image-thumbnail/-/image-thumbnail-1.0.17.tgz"
|
||||
integrity sha512-KMiEv8ky1Wa/ZQTpgdlwy4LDCTOJp0/KgxgSxFrXF1qYW8UvrDysfjDgxaexSsFlb7yoK2pZO+rvlACd408miw==
|
||||
dependencies:
|
||||
axios "^0.21.1"
|
||||
image-size "^1.0.0"
|
||||
sharp "^0.30.4"
|
||||
validator "^13.0.0"
|
||||
axios "^1.7.3"
|
||||
image-size "^1.1.1"
|
||||
sharp "^0.33.4"
|
||||
validator "^13.12.0"
|
||||
|
||||
immediate@~3.0.5:
|
||||
version "3.0.6"
|
||||
resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz"
|
||||
integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
|
||||
|
||||
inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@2.0.4:
|
||||
inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3, inherits@2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
||||
ini@~1.3.0:
|
||||
version "1.3.8"
|
||||
resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"
|
||||
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
|
||||
|
||||
ipaddr.js@1.9.1:
|
||||
version "1.9.1"
|
||||
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
|
||||
@@ -984,6 +932,11 @@ is-stream@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
|
||||
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
|
||||
|
||||
is-stream@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz"
|
||||
integrity sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==
|
||||
|
||||
isarray@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
|
||||
@@ -1087,11 +1040,6 @@ mime@1.6.0:
|
||||
resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"
|
||||
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
|
||||
|
||||
mimic-response@^3.1.0:
|
||||
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==
|
||||
|
||||
minimatch@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
|
||||
@@ -1099,16 +1047,11 @@ minimatch@^3.1.2:
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6:
|
||||
minimist@^1.2.6:
|
||||
version "1.2.6"
|
||||
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz"
|
||||
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
||||
|
||||
mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
|
||||
version "0.5.3"
|
||||
resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz"
|
||||
integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
|
||||
|
||||
mkdirp@^0.5.4:
|
||||
version "0.5.6"
|
||||
resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz"
|
||||
@@ -1117,9 +1060,9 @@ mkdirp@^0.5.4:
|
||||
minimist "^1.2.6"
|
||||
|
||||
moment@^2.29.1:
|
||||
version "2.29.3"
|
||||
resolved "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz"
|
||||
integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==
|
||||
version "2.30.1"
|
||||
resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz"
|
||||
integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==
|
||||
|
||||
morgan@^1.10.0:
|
||||
version "1.10.0"
|
||||
@@ -1161,11 +1104,6 @@ multer@^1.4.4:
|
||||
type-is "^1.6.4"
|
||||
xtend "^4.0.0"
|
||||
|
||||
napi-build-utils@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz"
|
||||
integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
|
||||
|
||||
negotiator@0.6.3:
|
||||
version "0.6.3"
|
||||
resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
|
||||
@@ -1176,18 +1114,6 @@ nocache@^4.0.0:
|
||||
resolved "https://registry.npmjs.org/nocache/-/nocache-4.0.0.tgz"
|
||||
integrity sha512-AntnTbmKZvNYIsTVPPwv7dfZdAfo/6H/2ZlZACK66NAOQtIApxkB/6pf/c+s+ACW8vemGJzUCyVTssrzNUK6yQ==
|
||||
|
||||
node-abi@^3.3.0:
|
||||
version "3.65.0"
|
||||
resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz"
|
||||
integrity sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==
|
||||
dependencies:
|
||||
semver "^7.3.5"
|
||||
|
||||
node-addon-api@^5.0.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz"
|
||||
integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==
|
||||
|
||||
nodemon@^3.1.4:
|
||||
version "3.1.4"
|
||||
resolved "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz"
|
||||
@@ -1250,7 +1176,7 @@ on-headers@~1.0.1, on-headers@~1.0.2:
|
||||
resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz"
|
||||
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
|
||||
|
||||
once@^1.3.1, once@^1.4.0:
|
||||
once@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
|
||||
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
|
||||
@@ -1279,34 +1205,16 @@ path-to-regexp@0.1.7:
|
||||
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
|
||||
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
|
||||
|
||||
peek-readable@^5.1.3:
|
||||
version "5.1.3"
|
||||
resolved "https://registry.npmjs.org/peek-readable/-/peek-readable-5.1.3.tgz"
|
||||
integrity sha512-kCsc9HwH5RgVA3H3VqkWFyGQwsxUxLdiSX1d5nqAm7hnMFjNFX1VhBLmJoUY0hZNc8gmDNgBkLjfhiWPsziXWA==
|
||||
peek-readable@^5.1.4:
|
||||
version "5.1.4"
|
||||
resolved "https://registry.npmjs.org/peek-readable/-/peek-readable-5.1.4.tgz"
|
||||
integrity sha512-E7mY2VmKqw9jYuXrSWGHFuPCW2SLQenzXLF3amGaY6lXXg4/b3gj5HVM7h8ZjCO/nZS9ICs0Cz285+32FvNd/A==
|
||||
|
||||
picomatch@^2.0.4, picomatch@^2.2.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
|
||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||
|
||||
prebuild-install@^7.1.1:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz"
|
||||
integrity sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==
|
||||
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"
|
||||
|
||||
prettier@^3.3.3:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz"
|
||||
@@ -1340,14 +1248,6 @@ pstree.remy@^1.1.8:
|
||||
resolved "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz"
|
||||
integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
|
||||
|
||||
pump@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"
|
||||
integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
|
||||
dependencies:
|
||||
end-of-stream "^1.1.0"
|
||||
once "^1.3.1"
|
||||
|
||||
qs@6.11.0:
|
||||
version "6.11.0"
|
||||
resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz"
|
||||
@@ -1377,16 +1277,6 @@ raw-body@2.5.2:
|
||||
iconv-lite "0.4.24"
|
||||
unpipe "1.0.0"
|
||||
|
||||
rc@^1.2.7:
|
||||
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"
|
||||
|
||||
readable-stream@^2.2.2:
|
||||
version "2.3.7"
|
||||
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
|
||||
@@ -1447,7 +1337,7 @@ response-time@^2.3.2:
|
||||
depd "~1.1.0"
|
||||
on-headers "~1.0.1"
|
||||
|
||||
safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@5.1.2:
|
||||
safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
@@ -1467,7 +1357,7 @@ safe-stable-stringify@^2.3.1:
|
||||
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
|
||||
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
|
||||
|
||||
semver@^7.3.5, semver@^7.3.7, semver@^7.5.3:
|
||||
semver@^7.5.3, semver@^7.6.3:
|
||||
version "7.6.3"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz"
|
||||
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
|
||||
@@ -1523,19 +1413,34 @@ setprototypeof@1.2.0:
|
||||
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
|
||||
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
|
||||
|
||||
sharp@^0.30.4:
|
||||
version "0.30.7"
|
||||
resolved "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz"
|
||||
integrity sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==
|
||||
sharp@^0.33.4:
|
||||
version "0.33.5"
|
||||
resolved "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz"
|
||||
integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==
|
||||
dependencies:
|
||||
color "^4.2.3"
|
||||
detect-libc "^2.0.1"
|
||||
node-addon-api "^5.0.0"
|
||||
prebuild-install "^7.1.1"
|
||||
semver "^7.3.7"
|
||||
simple-get "^4.0.1"
|
||||
tar-fs "^2.1.1"
|
||||
tunnel-agent "^0.6.0"
|
||||
detect-libc "^2.0.3"
|
||||
semver "^7.6.3"
|
||||
optionalDependencies:
|
||||
"@img/sharp-darwin-arm64" "0.33.5"
|
||||
"@img/sharp-darwin-x64" "0.33.5"
|
||||
"@img/sharp-libvips-darwin-arm64" "1.0.4"
|
||||
"@img/sharp-libvips-darwin-x64" "1.0.4"
|
||||
"@img/sharp-libvips-linux-arm" "1.0.5"
|
||||
"@img/sharp-libvips-linux-arm64" "1.0.4"
|
||||
"@img/sharp-libvips-linux-s390x" "1.0.4"
|
||||
"@img/sharp-libvips-linux-x64" "1.0.4"
|
||||
"@img/sharp-libvips-linuxmusl-arm64" "1.0.4"
|
||||
"@img/sharp-libvips-linuxmusl-x64" "1.0.4"
|
||||
"@img/sharp-linux-arm" "0.33.5"
|
||||
"@img/sharp-linux-arm64" "0.33.5"
|
||||
"@img/sharp-linux-s390x" "0.33.5"
|
||||
"@img/sharp-linux-x64" "0.33.5"
|
||||
"@img/sharp-linuxmusl-arm64" "0.33.5"
|
||||
"@img/sharp-linuxmusl-x64" "0.33.5"
|
||||
"@img/sharp-wasm32" "0.33.5"
|
||||
"@img/sharp-win32-ia32" "0.33.5"
|
||||
"@img/sharp-win32-x64" "0.33.5"
|
||||
|
||||
side-channel@^1.0.4:
|
||||
version "1.0.6"
|
||||
@@ -1547,20 +1452,6 @@ side-channel@^1.0.4:
|
||||
get-intrinsic "^1.2.4"
|
||||
object-inspect "^1.13.1"
|
||||
|
||||
simple-concat@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz"
|
||||
integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
|
||||
|
||||
simple-get@^4.0.0, simple-get@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz"
|
||||
integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==
|
||||
dependencies:
|
||||
decompress-response "^6.0.0"
|
||||
once "^1.3.1"
|
||||
simple-concat "^1.0.0"
|
||||
|
||||
simple-swizzle@^0.2.2:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz"
|
||||
@@ -1568,13 +1459,6 @@ simple-swizzle@^0.2.2:
|
||||
dependencies:
|
||||
is-arrayish "^0.3.1"
|
||||
|
||||
simple-thumbnail-ts@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/simple-thumbnail-ts/-/simple-thumbnail-ts-1.0.2.tgz"
|
||||
integrity sha512-4t9h/d3Lg4q3H2H7mOADpCk8tc0WQKCtKsLz5bnAFUu0mA9n8EC+EYdIbusBO6s7wCNSIYcL/vAKJ7qMquJqwQ==
|
||||
dependencies:
|
||||
duplexify "^4.0.0"
|
||||
|
||||
simple-thumbnail@^1.6.5:
|
||||
version "1.6.5"
|
||||
resolved "https://registry.npmjs.org/simple-thumbnail/-/simple-thumbnail-1.6.5.tgz"
|
||||
@@ -1621,18 +1505,13 @@ string_decoder@~0.10.x:
|
||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
|
||||
integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
|
||||
|
||||
strip-json-comments@~2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
|
||||
integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
|
||||
|
||||
strtok3@^8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.npmjs.org/strtok3/-/strtok3-8.0.0.tgz"
|
||||
integrity sha512-YzsSP+kli3q1tTA04HsfY1GqIapi3vEMN38jJ+aLpFyoev0onI/RuZWBGkQgc7ORynb3LW4cSOP3XtsKV21X6Q==
|
||||
strtok3@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.npmjs.org/strtok3/-/strtok3-8.1.0.tgz"
|
||||
integrity sha512-ExzDvHYPj6F6QkSNe/JxSlBxTh3OrI6wrAIz53ulxo1c4hBJ1bT9C/JrAthEKHWG9riVH3Xzg7B03Oxty6S2Lw==
|
||||
dependencies:
|
||||
"@tokenizer/token" "^0.3.0"
|
||||
peek-readable "^5.1.3"
|
||||
peek-readable "^5.1.4"
|
||||
|
||||
supports-color@^5.5.0:
|
||||
version "5.5.0"
|
||||
@@ -1641,27 +1520,6 @@ supports-color@^5.5.0:
|
||||
dependencies:
|
||||
has-flag "^3.0.0"
|
||||
|
||||
tar-fs@^2.0.0, tar-fs@^2.1.1:
|
||||
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"
|
||||
|
||||
tar-stream@^2.1.4:
|
||||
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"
|
||||
|
||||
text-hex@1.0.x:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz"
|
||||
@@ -1718,13 +1576,6 @@ ts-node@^10.9.2:
|
||||
v8-compile-cache-lib "^3.0.1"
|
||||
yn "3.1.1"
|
||||
|
||||
tunnel-agent@^0.6.0:
|
||||
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"
|
||||
|
||||
type-is@^1.6.4, type-is@~1.6.18:
|
||||
version "1.6.18"
|
||||
resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
|
||||
@@ -1738,10 +1589,10 @@ typedarray@^0.0.6:
|
||||
resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
|
||||
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
||||
|
||||
typescript@^5.5.3, typescript@>=2.7:
|
||||
version "5.5.3"
|
||||
resolved "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz"
|
||||
integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==
|
||||
typescript@^5.5.4, typescript@>=2.7:
|
||||
version "5.5.4"
|
||||
resolved "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz"
|
||||
integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==
|
||||
|
||||
uint8array-extras@^1.3.0:
|
||||
version "1.4.0"
|
||||
@@ -1753,10 +1604,10 @@ undefsafe@^2.0.5:
|
||||
resolved "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz"
|
||||
integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
|
||||
|
||||
undici-types@~5.26.4:
|
||||
version "5.26.5"
|
||||
resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz"
|
||||
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
|
||||
undici-types@~6.19.2:
|
||||
version "6.19.8"
|
||||
resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz"
|
||||
integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
|
||||
|
||||
universalify@^2.0.0:
|
||||
version "2.0.0"
|
||||
@@ -1783,10 +1634,10 @@ v8-compile-cache-lib@^3.0.1:
|
||||
resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz"
|
||||
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
|
||||
|
||||
validator@^13.0.0:
|
||||
version "13.7.0"
|
||||
resolved "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz"
|
||||
integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==
|
||||
validator@^13.12.0:
|
||||
version "13.12.0"
|
||||
resolved "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz"
|
||||
integrity sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==
|
||||
|
||||
vary@^1, vary@~1.1.2:
|
||||
version "1.1.2"
|
||||
@@ -1819,10 +1670,10 @@ winston-transport@^4.7.0:
|
||||
readable-stream "^3.6.2"
|
||||
triple-beam "^1.3.0"
|
||||
|
||||
winston@^3, winston@^3.13.1:
|
||||
version "3.13.1"
|
||||
resolved "https://registry.npmjs.org/winston/-/winston-3.13.1.tgz"
|
||||
integrity sha512-SvZit7VFNvXRzbqGHsv5KSmgbEYR5EiQfDAL9gxYkRqa934Hnk++zze0wANKtMHcy/gI4W/3xmSDwlhf865WGw==
|
||||
winston@^3, winston@^3.14.2:
|
||||
version "3.14.2"
|
||||
resolved "https://registry.npmjs.org/winston/-/winston-3.14.2.tgz"
|
||||
integrity sha512-CO8cdpBB2yqzEf8v895L+GNKYJiEq8eKlHU38af3snQBQ+sdAIUepjMSguOIJC7ICbzm0ZI+Af2If4vIJrtmOg==
|
||||
dependencies:
|
||||
"@colors/colors" "^1.6.0"
|
||||
"@dabh/diagnostics" "^2.0.2"
|
||||
|
||||
Reference in New Issue
Block a user