Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
ef60832bc2
|
|||
4f782560de
|
|||
979cf7320e
|
|||
1f9f11e1be
|
|||
1d183c37f8
|
@ -1,30 +0,0 @@
|
|||||||
version: "1"
|
|
||||||
name: Publish Development Docker Image
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "v[0-9]+\\.[0-9]+\\.[0-9]+-dev"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Publish Development Docker Image
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v1
|
|
||||||
|
|
||||||
- name: Login to Registry
|
|
||||||
run: echo "${{ secrets.ACCESS_TOKEN }}" | docker login git.altaiar.dev -u "${{ secrets.USERNAME }}" --password-stdin
|
|
||||||
|
|
||||||
- name: Build & Tag Image
|
|
||||||
run: |
|
|
||||||
docker build --build-arg APP_VERSION=${{ gitea.ref_name }} -t git.altaiar.dev/${{ gitea.repository }}:${{ gitea.ref_name }} .
|
|
||||||
docker tag git.altaiar.dev/${{ gitea.repository }}:${{ gitea.ref_name }} git.altaiar.dev/${{ gitea.repository }}:dev
|
|
||||||
|
|
||||||
- name: Push Images
|
|
||||||
run: |
|
|
||||||
docker push git.altaiar.dev/${{ gitea.repository }}:${{ gitea.ref_name }}
|
|
||||||
docker push git.altaiar.dev/${{ gitea.repository }}:dev
|
|
@ -3,7 +3,7 @@ name: Publish Docker Image
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- "v[0-9]+\\.[0-9]+\\.[0-9]+"
|
- "*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
14
Dockerfile
14
Dockerfile
@ -1,15 +1,13 @@
|
|||||||
# base
|
# base
|
||||||
# ----
|
# ----
|
||||||
FROM node:20-bookworm-slim AS base
|
FROM node:lts-alpine AS base
|
||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
# We tried to make the Dockerfile as lean as possible. In some cases, that means we excluded a dependency your project needs.
|
# We tried to make the Dockerfile as lean as possible. In some cases, that means we excluded a dependency your project needs.
|
||||||
# By far the most common is Python. If you're running into build errors because `python3` isn't available,
|
# By far the most common is Python. If you're running into build errors because `python3` isn't available,
|
||||||
# add `python3 make gcc \` before the `openssl \` line below and in other stages as necessary:
|
# add `python3 make gcc \` before the `openssl \` line below and in other stages as necessary:
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apk add openssl
|
||||||
openssl \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
USER node
|
USER node
|
||||||
WORKDIR /home/node/app
|
WORKDIR /home/node/app
|
||||||
@ -96,13 +94,11 @@ RUN yarn rw build web --no-prerender
|
|||||||
|
|
||||||
# api serve
|
# api serve
|
||||||
# ---------
|
# ---------
|
||||||
FROM node:20-bookworm-slim AS api_serve
|
FROM node:lts-alpine AS api_serve
|
||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apk add openssl
|
||||||
openssl \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
USER node
|
USER node
|
||||||
WORKDIR /home/node/app
|
WORKDIR /home/node/app
|
||||||
@ -142,7 +138,7 @@ CMD [ "./api/dist/server.js" ]
|
|||||||
|
|
||||||
# web serve
|
# web serve
|
||||||
# ---------
|
# ---------
|
||||||
FROM node:20-bookworm-slim AS web_serve
|
FROM node:lts-alpine AS web_serve
|
||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
"@redwoodjs/api-server": "8.4.0",
|
"@redwoodjs/api-server": "8.4.0",
|
||||||
"@redwoodjs/auth-dbauth-api": "8.4.0",
|
"@redwoodjs/auth-dbauth-api": "8.4.0",
|
||||||
"@redwoodjs/graphql-server": "8.4.0",
|
"@redwoodjs/graphql-server": "8.4.0",
|
||||||
"@tus/file-store": "^2.0.0",
|
"@tus/file-store": "1.4.0",
|
||||||
"@tus/server": "^2.0.0",
|
"@tus/server": "1.7.0",
|
||||||
"countries-list": "^3.1.1",
|
"countries-list": "^3.1.1",
|
||||||
"graphql-scalars": "^1.23.0",
|
"graphql-scalars": "^1.23.0",
|
||||||
"nodemailer": "^6.9.14"
|
"nodemailer": "^6.9.14"
|
||||||
|
@ -2,10 +2,17 @@ import type { FastifyReply } from 'fastify'
|
|||||||
|
|
||||||
import { isProduction } from '@redwoodjs/api/logger'
|
import { isProduction } from '@redwoodjs/api/logger'
|
||||||
|
|
||||||
export const setCorsHeaders = (res: FastifyReply) => {
|
export const setCorsHeaders = (
|
||||||
|
res: FastifyReply,
|
||||||
|
isPublic: boolean = false
|
||||||
|
) => {
|
||||||
res.raw.setHeader(
|
res.raw.setHeader(
|
||||||
'Access-Control-Allow-Origin',
|
'Access-Control-Allow-Origin',
|
||||||
isProduction ? process.env.ADDRESS_PROD : process.env.ADDRESS_DEV
|
isPublic
|
||||||
|
? '*'
|
||||||
|
: isProduction
|
||||||
|
? process.env.ADDRESS_PROD
|
||||||
|
: process.env.ADDRESS_DEV
|
||||||
)
|
)
|
||||||
res.raw.setHeader(
|
res.raw.setHeader(
|
||||||
'Access-Control-Allow-Methods',
|
'Access-Control-Allow-Methods',
|
||||||
@ -16,4 +23,9 @@ export const setCorsHeaders = (res: FastifyReply) => {
|
|||||||
'Origin, X-Requested-With, Content-Type, Accept, Authorization, Tus-Resumable, Upload-Length, Upload-Metadata, Upload-Offset'
|
'Origin, X-Requested-With, Content-Type, Accept, Authorization, Tus-Resumable, Upload-Length, Upload-Metadata, Upload-Offset'
|
||||||
)
|
)
|
||||||
res.raw.setHeader('Access-Control-Allow-Credentials', 'true')
|
res.raw.setHeader('Access-Control-Allow-Credentials', 'true')
|
||||||
|
res.raw.setHeader(
|
||||||
|
'Access-Control-Expose-Headers',
|
||||||
|
'Upload-Offset, Upload-Length, Upload-Metadata, Tus-Version,' +
|
||||||
|
'Tus-Resumable, Tus-Max-Size, Tus-Extension, Tus-Checksum-Algorithm'
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
@ -19,16 +19,22 @@ interface User {
|
|||||||
resetTokenExpiresAt: Date | null
|
resetTokenExpiresAt: Date | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export const handleTusUpload = async (
|
export const handleTusUpload = (
|
||||||
req: FastifyRequest,
|
req: FastifyRequest,
|
||||||
res: FastifyReply,
|
res: FastifyReply,
|
||||||
tusHandler: Server,
|
tusHandler: Server,
|
||||||
isPublicEndpoint: boolean
|
isPublicEndpoint: boolean
|
||||||
) => {
|
) => {
|
||||||
|
res.hijack()
|
||||||
|
|
||||||
|
if (req.method === 'GET' && isPublicEndpoint) {
|
||||||
|
setCorsHeaders(res)
|
||||||
|
}
|
||||||
|
|
||||||
if (isProduction) {
|
if (isProduction) {
|
||||||
if (req.method === 'OPTIONS') handleOptionsRequest(res)
|
if (req.method === 'OPTIONS') handleOptionsRequest(res)
|
||||||
else if (isPublicEndpoint && req.method === 'GET')
|
else if (isPublicEndpoint && req.method === 'GET')
|
||||||
await tusHandler.handle(req.raw, res.raw)
|
void tusHandler.handle(req.raw, res.raw)
|
||||||
else if (['GET', 'POST', 'HEAD', 'PATCH'].includes(req.method)) {
|
else if (['GET', 'POST', 'HEAD', 'PATCH'].includes(req.method)) {
|
||||||
if (req.headers.cookie) handleAuthenticatedRequest(req, res, tusHandler)
|
if (req.headers.cookie) handleAuthenticatedRequest(req, res, tusHandler)
|
||||||
else {
|
else {
|
||||||
@ -40,8 +46,8 @@ export const handleTusUpload = async (
|
|||||||
res.raw.end('Method not allowed')
|
res.raw.end('Method not allowed')
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
setCorsHeaders(res)
|
setCorsHeaders(res, isPublicEndpoint)
|
||||||
await tusHandler.handle(req.raw, res.raw)
|
void tusHandler.handle(req.raw, res.raw)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
import Cors from '@fastify/cors'
|
import Cors from '@fastify/cors'
|
||||||
import RateLimit from '@fastify/rate-limit'
|
import RateLimit from '@fastify/rate-limit'
|
||||||
|
import { FileStore } from '@tus/file-store'
|
||||||
|
import { Server } from '@tus/server'
|
||||||
|
|
||||||
import { isProduction } from '@redwoodjs/api/logger'
|
import { isProduction } from '@redwoodjs/api/logger'
|
||||||
import { createServer } from '@redwoodjs/api-server'
|
import { createServer } from '@redwoodjs/api-server'
|
||||||
@ -15,8 +17,6 @@ enum Theme {
|
|||||||
|
|
||||||
;(async () => {
|
;(async () => {
|
||||||
const { countries } = await import('countries-list')
|
const { countries } = await import('countries-list')
|
||||||
const { FileStore } = await import('@tus/file-store')
|
|
||||||
const { Server } = await import('@tus/server')
|
|
||||||
|
|
||||||
if (!Object.keys(countries).includes(process.env.COUNTRY))
|
if (!Object.keys(countries).includes(process.env.COUNTRY))
|
||||||
throw new Error(
|
throw new Error(
|
||||||
@ -65,12 +65,14 @@ enum Theme {
|
|||||||
(_request, _payload, done) => done(null)
|
(_request, _payload, done) => done(null)
|
||||||
)
|
)
|
||||||
|
|
||||||
server.all('/files', (req, res) =>
|
server.all('/files', (req, res) => {
|
||||||
|
res.hijack()
|
||||||
handleTusUpload(req, res, tusServer, false)
|
handleTusUpload(req, res, tusServer, false)
|
||||||
)
|
})
|
||||||
server.all('/files/*', (req, res) =>
|
server.all('/files/*', (req, res) => {
|
||||||
|
res.hijack()
|
||||||
handleTusUpload(req, res, tusServer, true)
|
handleTusUpload(req, res, tusServer, true)
|
||||||
)
|
})
|
||||||
|
|
||||||
await server.start()
|
await server.start()
|
||||||
})()
|
})()
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"target": "ES2023",
|
"target": "ES2023",
|
||||||
"module": "NodeNext",
|
"module": "Node16",
|
||||||
"moduleResolution": "nodenext",
|
"moduleResolution": "node16",
|
||||||
"skipLibCheck": false,
|
"skipLibCheck": false,
|
||||||
"rootDirs": [
|
"rootDirs": [
|
||||||
"./src",
|
"./src",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
import { mdiOpenInNew } from '@mdi/js';
|
|
||||||
import Icon from '@mdi/react';
|
|
||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
import { Document, Page as PdfPage, pdfjs } from "react-pdf";
|
|
||||||
import "react-pdf/dist/Page/AnnotationLayer.css";
|
import { mdiOpenInNew } from '@mdi/js'
|
||||||
import "react-pdf/dist/Page/TextLayer.css";
|
import Icon from '@mdi/react'
|
||||||
|
import { Document, Page as PdfPage, pdfjs } from 'react-pdf'
|
||||||
|
import 'react-pdf/dist/Page/AnnotationLayer.css'
|
||||||
|
import 'react-pdf/dist/Page/TextLayer.css'
|
||||||
|
|
||||||
pdfjs.GlobalWorkerOptions.workerSrc = new URL(
|
pdfjs.GlobalWorkerOptions.workerSrc = new URL(
|
||||||
"pdfjs-dist/build/pdf.worker.min.mjs",
|
'pdfjs-dist/build/pdf.worker.min.mjs',
|
||||||
import.meta.url
|
import.meta.url
|
||||||
).toString();
|
).toString()
|
||||||
|
|
||||||
interface PDFProps {
|
interface PDFProps {
|
||||||
url: string
|
url: string
|
||||||
@ -16,9 +17,9 @@ interface PDFProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const PDF = ({ url, form = false }: PDFProps) => {
|
const PDF = ({ url, form = false }: PDFProps) => {
|
||||||
const [numPages, setNumPages] = useState<number>(0);
|
const [numPages, setNumPages] = useState<number>(0)
|
||||||
function onLoadSuccess({ numPages }: { numPages: number }) {
|
function onLoadSuccess({ numPages }: { numPages: number }) {
|
||||||
setNumPages(numPages);
|
setNumPages(numPages)
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -53,7 +53,7 @@ const Uploader = ({
|
|||||||
onBeforeUpload: (files) => {
|
onBeforeUpload: (files) => {
|
||||||
for (const [key, file] of Object.entries(files)) {
|
for (const [key, file] of Object.entries(files)) {
|
||||||
instance.setFileMeta(key, {
|
instance.setFileMeta(key, {
|
||||||
name: `${new Date().getTime().toString()}.${file.extension}`,
|
name: new Date().getTime().toString(),
|
||||||
type: file.type,
|
type: file.type,
|
||||||
contentType: file.type,
|
contentType: file.type,
|
||||||
})
|
})
|
||||||
@ -68,7 +68,7 @@ const Uploader = ({
|
|||||||
removeFingerprintOnSuccess: true,
|
removeFingerprintOnSuccess: true,
|
||||||
})
|
})
|
||||||
.use(Compressor, {
|
.use(Compressor, {
|
||||||
mimeType: type === 'image' ? 'image/webp' : 'application/pdf',
|
mimeType: 'image/webp',
|
||||||
})
|
})
|
||||||
|
|
||||||
if (type === 'image')
|
if (type === 'image')
|
||||||
|
119
yarn.lock
119
yarn.lock
@ -3625,13 +3625,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@ioredis/commands@npm:^1.1.1":
|
|
||||||
version: 1.2.0
|
|
||||||
resolution: "@ioredis/commands@npm:1.2.0"
|
|
||||||
checksum: 10c0/a5d3c29dd84d8a28b7c67a441ac1715cbd7337a7b88649c0f17c345d89aa218578d2b360760017c48149ef8a70f44b051af9ac0921a0622c2b479614c4f65b36
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@isaacs/cliui@npm:^8.0.2":
|
"@isaacs/cliui@npm:^8.0.2":
|
||||||
version: 8.0.2
|
version: 8.0.2
|
||||||
resolution: "@isaacs/cliui@npm:8.0.2"
|
resolution: "@isaacs/cliui@npm:8.0.2"
|
||||||
@ -4556,7 +4549,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@redis/client@npm:^1.6.0":
|
"@redis/client@npm:^1.5.13":
|
||||||
version: 1.6.0
|
version: 1.6.0
|
||||||
resolution: "@redis/client@npm:1.6.0"
|
resolution: "@redis/client@npm:1.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -6076,43 +6069,39 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@tus/file-store@npm:^2.0.0":
|
"@tus/file-store@npm:1.4.0":
|
||||||
version: 2.0.0
|
version: 1.4.0
|
||||||
resolution: "@tus/file-store@npm:2.0.0"
|
resolution: "@tus/file-store@npm:1.4.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@redis/client": "npm:^1.6.0"
|
"@redis/client": "npm:^1.5.13"
|
||||||
"@tus/utils": "npm:^0.6.0"
|
"@tus/utils": "npm:^0.3.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
dependenciesMeta:
|
dependenciesMeta:
|
||||||
"@redis/client":
|
"@redis/client":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10c0/428373995bf84b3beda59da2ac77434cd4d3ff6f508ad3cf7226e7acd54c2625388d967fae511cf62cc74f93110c59a5ae3918003d0d80d327ae0429661dc8fa
|
checksum: 10c0/28ca244dc9acd9ff62fd58c7b4af7c91b71eac12b357899ccc65fb7f583b93832674d7c3716da92293e54ab9d5227585d7d844be3bc2e4aa4015e1af818a6ec6
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@tus/server@npm:^2.0.0":
|
"@tus/server@npm:1.7.0":
|
||||||
version: 2.0.0
|
version: 1.7.0
|
||||||
resolution: "@tus/server@npm:2.0.0"
|
resolution: "@tus/server@npm:1.7.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@redis/client": "npm:^1.6.0"
|
"@redis/client": "npm:^1.5.13"
|
||||||
"@tus/utils": "npm:^0.6.0"
|
"@tus/utils": "npm:^0.3.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
ioredis: "npm:^5.4.1"
|
|
||||||
lodash.throttle: "npm:^4.1.1"
|
lodash.throttle: "npm:^4.1.1"
|
||||||
set-cookie-parser: "npm:^2.7.1"
|
|
||||||
dependenciesMeta:
|
dependenciesMeta:
|
||||||
"@redis/client":
|
"@redis/client":
|
||||||
optional: true
|
optional: true
|
||||||
ioredis:
|
checksum: 10c0/64c06dbd4af16a6ac380acd702a125b69cf04a33e38485ef0e92e128a2f814b28202d83bcf89de180181ba45b30741675464f74688dc7e3c3f38462662ea8f23
|
||||||
optional: true
|
|
||||||
checksum: 10c0/9263cb6a1a5cf11d3aa2b7ab911417c740b24ddd9dec118a7a1c776d9ca4eb3e25d5bd142853559c86ff327d0d539f6484511d2c366f37e8ed8f3e7c876f8a8e
|
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@tus/utils@npm:^0.6.0":
|
"@tus/utils@npm:^0.3.0":
|
||||||
version: 0.6.0
|
version: 0.3.0
|
||||||
resolution: "@tus/utils@npm:0.6.0"
|
resolution: "@tus/utils@npm:0.3.0"
|
||||||
checksum: 10c0/d4e16864679539fe39234935869f3f75ba84ef05b6879e48d4bc0227f2db33ba5d2d3560e123bb6c4c04e897318e2435a95db6b1ac7b1ebccb7cb8efccc00661
|
checksum: 10c0/65b357c80022018067b53640b984e79531e5335d04467eff24f256ae175bbf7055293e169e1589fd2064221fc1ffcc8032080c31f9b56655d1a17f4f3698b43a
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -7344,8 +7333,8 @@ __metadata:
|
|||||||
"@redwoodjs/api-server": "npm:8.4.0"
|
"@redwoodjs/api-server": "npm:8.4.0"
|
||||||
"@redwoodjs/auth-dbauth-api": "npm:8.4.0"
|
"@redwoodjs/auth-dbauth-api": "npm:8.4.0"
|
||||||
"@redwoodjs/graphql-server": "npm:8.4.0"
|
"@redwoodjs/graphql-server": "npm:8.4.0"
|
||||||
"@tus/file-store": "npm:^2.0.0"
|
"@tus/file-store": "npm:1.4.0"
|
||||||
"@tus/server": "npm:^2.0.0"
|
"@tus/server": "npm:1.7.0"
|
||||||
"@types/nodemailer": "npm:^6.4.15"
|
"@types/nodemailer": "npm:^6.4.15"
|
||||||
countries-list: "npm:^3.1.1"
|
countries-list: "npm:^3.1.1"
|
||||||
graphql-scalars: "npm:^1.23.0"
|
graphql-scalars: "npm:^1.23.0"
|
||||||
@ -8772,7 +8761,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"cluster-key-slot@npm:1.1.2, cluster-key-slot@npm:^1.1.0":
|
"cluster-key-slot@npm:1.1.2":
|
||||||
version: 1.1.2
|
version: 1.1.2
|
||||||
resolution: "cluster-key-slot@npm:1.1.2"
|
resolution: "cluster-key-slot@npm:1.1.2"
|
||||||
checksum: 10c0/d7d39ca28a8786e9e801eeb8c770e3c3236a566625d7299a47bb71113fb2298ce1039596acb82590e598c52dbc9b1f088c8f587803e697cb58e1867a95ff94d3
|
checksum: 10c0/d7d39ca28a8786e9e801eeb8c770e3c3236a566625d7299a47bb71113fb2298ce1039596acb82590e598c52dbc9b1f088c8f587803e697cb58e1867a95ff94d3
|
||||||
@ -9638,13 +9627,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"denque@npm:^2.1.0":
|
|
||||||
version: 2.1.0
|
|
||||||
resolution: "denque@npm:2.1.0"
|
|
||||||
checksum: 10c0/f9ef81aa0af9c6c614a727cb3bd13c5d7db2af1abf9e6352045b86e85873e629690f6222f4edd49d10e4ccf8f078bbeec0794fafaf61b659c0589d0c511ec363
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"depd@npm:2.0.0":
|
"depd@npm:2.0.0":
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
resolution: "depd@npm:2.0.0"
|
resolution: "depd@npm:2.0.0"
|
||||||
@ -12363,23 +12345,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"ioredis@npm:^5.4.1":
|
|
||||||
version: 5.6.0
|
|
||||||
resolution: "ioredis@npm:5.6.0"
|
|
||||||
dependencies:
|
|
||||||
"@ioredis/commands": "npm:^1.1.1"
|
|
||||||
cluster-key-slot: "npm:^1.1.0"
|
|
||||||
debug: "npm:^4.3.4"
|
|
||||||
denque: "npm:^2.1.0"
|
|
||||||
lodash.defaults: "npm:^4.2.0"
|
|
||||||
lodash.isarguments: "npm:^3.1.0"
|
|
||||||
redis-errors: "npm:^1.2.0"
|
|
||||||
redis-parser: "npm:^3.0.0"
|
|
||||||
standard-as-callback: "npm:^2.1.0"
|
|
||||||
checksum: 10c0/a885e5146640fc448706871290ef424ffa39af561f7ee3cf1590085209a509f85e99082bdaaf3cd32fa66758aea3fc2055d1109648ddca96fac4944bf2092c30
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"ip-address@npm:^9.0.5":
|
"ip-address@npm:^9.0.5":
|
||||||
version: 9.0.5
|
version: 9.0.5
|
||||||
resolution: "ip-address@npm:9.0.5"
|
resolution: "ip-address@npm:9.0.5"
|
||||||
@ -14125,13 +14090,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"lodash.defaults@npm:^4.2.0":
|
|
||||||
version: 4.2.0
|
|
||||||
resolution: "lodash.defaults@npm:4.2.0"
|
|
||||||
checksum: 10c0/d5b77aeb702caa69b17be1358faece33a84497bcca814897383c58b28a2f8dfc381b1d9edbec239f8b425126a3bbe4916223da2a576bb0411c2cefd67df80707
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"lodash.includes@npm:^4.3.0":
|
"lodash.includes@npm:^4.3.0":
|
||||||
version: 4.3.0
|
version: 4.3.0
|
||||||
resolution: "lodash.includes@npm:4.3.0"
|
resolution: "lodash.includes@npm:4.3.0"
|
||||||
@ -14139,13 +14097,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"lodash.isarguments@npm:^3.1.0":
|
|
||||||
version: 3.1.0
|
|
||||||
resolution: "lodash.isarguments@npm:3.1.0"
|
|
||||||
checksum: 10c0/5e8f95ba10975900a3920fb039a3f89a5a79359a1b5565e4e5b4310ed6ebe64011e31d402e34f577eca983a1fc01ff86c926e3cbe602e1ddfc858fdd353e62d8
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"lodash.isboolean@npm:^3.0.3":
|
"lodash.isboolean@npm:^3.0.3":
|
||||||
version: 3.0.3
|
version: 3.0.3
|
||||||
resolution: "lodash.isboolean@npm:3.0.3"
|
resolution: "lodash.isboolean@npm:3.0.3"
|
||||||
@ -16942,22 +16893,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"redis-errors@npm:^1.0.0, redis-errors@npm:^1.2.0":
|
|
||||||
version: 1.2.0
|
|
||||||
resolution: "redis-errors@npm:1.2.0"
|
|
||||||
checksum: 10c0/5b316736e9f532d91a35bff631335137a4f974927bb2fb42bf8c2f18879173a211787db8ac4c3fde8f75ed6233eb0888e55d52510b5620e30d69d7d719c8b8a7
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"redis-parser@npm:^3.0.0":
|
|
||||||
version: 3.0.0
|
|
||||||
resolution: "redis-parser@npm:3.0.0"
|
|
||||||
dependencies:
|
|
||||||
redis-errors: "npm:^1.0.0"
|
|
||||||
checksum: 10c0/ee16ac4c7b2a60b1f42a2cdaee22b005bd4453eb2d0588b8a4939718997ae269da717434da5d570fe0b05030466eeb3f902a58cf2e8e1ca058bf6c9c596f632f
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"reflect.getprototypeof@npm:^1.0.4":
|
"reflect.getprototypeof@npm:^1.0.4":
|
||||||
version: 1.0.6
|
version: 1.0.6
|
||||||
resolution: "reflect.getprototypeof@npm:1.0.6"
|
resolution: "reflect.getprototypeof@npm:1.0.6"
|
||||||
@ -17636,13 +17571,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"set-cookie-parser@npm:^2.7.1":
|
|
||||||
version: 2.7.1
|
|
||||||
resolution: "set-cookie-parser@npm:2.7.1"
|
|
||||||
checksum: 10c0/060c198c4c92547ac15988256f445eae523f57f2ceefeccf52d30d75dedf6bff22b9c26f756bd44e8e560d44ff4ab2130b178bd2e52ef5571bf7be3bd7632d9a
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"set-function-length@npm:^1.2.1":
|
"set-function-length@npm:^1.2.1":
|
||||||
version: 1.2.2
|
version: 1.2.2
|
||||||
resolution: "set-function-length@npm:1.2.2"
|
resolution: "set-function-length@npm:1.2.2"
|
||||||
@ -18028,13 +17956,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"standard-as-callback@npm:^2.1.0":
|
|
||||||
version: 2.1.0
|
|
||||||
resolution: "standard-as-callback@npm:2.1.0"
|
|
||||||
checksum: 10c0/012677236e3d3fdc5689d29e64ea8a599331c4babe86956bf92fc5e127d53f85411c5536ee0079c52c43beb0026b5ce7aa1d834dd35dd026e82a15d1bcaead1f
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"statuses@npm:2.0.1":
|
"statuses@npm:2.0.1":
|
||||||
version: 2.0.1
|
version: 2.0.1
|
||||||
resolution: "statuses@npm:2.0.1"
|
resolution: "statuses@npm:2.0.1"
|
||||||
|
Reference in New Issue
Block a user