update(wip): I want to docker commit myself
This commit is contained in:
parent
f9671ea198
commit
68f8d87477
43 changed files with 557 additions and 2915 deletions
12
Docker.mk
12
Docker.mk
|
|
@ -6,12 +6,13 @@
|
||||||
# By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ #
|
# By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2025/06/11 18:10:26 by maiboyer #+# #+# #
|
# Created: 2025/06/11 18:10:26 by maiboyer #+# #+# #
|
||||||
# Updated: 2025/06/16 15:37:20 by maiboyer ### ########.fr #
|
# Updated: 2025/07/28 18:00:02 by maiboyer ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
all:
|
BUILD_IMAGE = trans_builder
|
||||||
docker compose build
|
|
||||||
|
all: build
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
|
|
||||||
logs:
|
logs:
|
||||||
|
|
@ -20,11 +21,16 @@ logs:
|
||||||
down:
|
down:
|
||||||
docker compose down
|
docker compose down
|
||||||
|
|
||||||
|
build:
|
||||||
|
docker build -t "$(BUILD_IMAGE)" ./src
|
||||||
|
docker compose build
|
||||||
|
|
||||||
re:
|
re:
|
||||||
$(MAKE) -f ./Docker.mk clean
|
$(MAKE) -f ./Docker.mk clean
|
||||||
$(MAKE) -f ./Docker.mk all
|
$(MAKE) -f ./Docker.mk all
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
-docker rmi "$(BUILD_IMAGE)"
|
||||||
docker compose down
|
docker compose down
|
||||||
|
|
||||||
prune: clean
|
prune: clean
|
||||||
|
|
|
||||||
28
Makefile
28
Makefile
|
|
@ -6,7 +6,7 @@
|
||||||
# By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ #
|
# By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2023/11/12 11:05:05 by rparodi #+# #+# #
|
# Created: 2023/11/12 11:05:05 by rparodi #+# #+# #
|
||||||
# Updated: 2025/06/16 15:36:58 by maiboyer ### ########.fr #
|
# Updated: 2025/07/28 17:49:54 by maiboyer ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
|
@ -32,6 +32,11 @@ all:
|
||||||
@$(MAKE) --no-print-directory -f ./Docker.mk
|
@$(MAKE) --no-print-directory -f ./Docker.mk
|
||||||
@$(MAKE) --no-print-directory footer
|
@$(MAKE) --no-print-directory footer
|
||||||
|
|
||||||
|
build:
|
||||||
|
@$(MAKE) --no-print-directory header
|
||||||
|
@$(MAKE) --no-print-directory -f ./Docker.mk build
|
||||||
|
@$(MAKE) --no-print-directory footer
|
||||||
|
|
||||||
down:
|
down:
|
||||||
@$(MAKE) --no-print-directory header
|
@$(MAKE) --no-print-directory header
|
||||||
@$(MAKE) --no-print-directory -f ./Docker.mk down
|
@$(MAKE) --no-print-directory -f ./Docker.mk down
|
||||||
|
|
@ -95,5 +100,24 @@ re:
|
||||||
tokei:
|
tokei:
|
||||||
@/bin/sh -c 'tokei'
|
@/bin/sh -c 'tokei'
|
||||||
|
|
||||||
|
npm:
|
||||||
|
@$(ECHO) "commands: "
|
||||||
|
@$(ECHO) "\tnpm@install: install all dependencies"
|
||||||
|
@$(ECHO) "\tnpm@fclean: clean every \`dist\` directory"
|
||||||
|
@$(ECHO) "\tnpm@clean: clean \`node_modules\` directory"
|
||||||
|
@$(ECHO) "\tnpm@build: build subprojects"
|
||||||
|
|
||||||
|
npm@install:
|
||||||
|
npm --prefix=./src/ run install-all
|
||||||
|
|
||||||
|
npm@clean:
|
||||||
|
npm --prefix=./src/ run clean
|
||||||
|
|
||||||
|
npm@fclean: npm@clean
|
||||||
|
npm --prefix=./src/ run fclean
|
||||||
|
|
||||||
|
npm@build:
|
||||||
|
npm --prefix=./src/ run build
|
||||||
|
|
||||||
# phony
|
# phony
|
||||||
.PHONY: all clean fclean re header footer
|
.PHONY: all clean fclean re header footer npm_install npm_clear
|
||||||
|
|
|
||||||
|
|
@ -26,14 +26,14 @@ services:
|
||||||
# an example of an micro service. this one basically only does this:
|
# an example of an micro service. this one basically only does this:
|
||||||
# - handle uploading of icons
|
# - handle uploading of icons
|
||||||
# - write icons to shared volume allowing nginx to serve them (does it better than if we did it in the service)
|
# - write icons to shared volume allowing nginx to serve them (does it better than if we did it in the service)
|
||||||
icons-service:
|
icons:
|
||||||
# build is a bit strange: it has two parts
|
# build is a bit strange: it has two parts
|
||||||
build:
|
build:
|
||||||
# the dockerfile to use
|
# the dockerfile to use
|
||||||
dockerfile: ./src/icons-service/Dockerfile
|
dockerfile: ./src/icons/Dockerfile
|
||||||
# the current working directory. This means `.` in Dockerfile
|
# the current working directory. This means `.` in Dockerfile
|
||||||
context: .
|
context: .
|
||||||
container_name: icons-service
|
container_name: icons
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
- transcendance-network
|
- transcendance-network
|
||||||
|
|
|
||||||
4
src/.dockerignore
Normal file
4
src/.dockerignore
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
**/node_modules
|
||||||
|
**/dist
|
||||||
|
@shared/src/database/init.sql.ts
|
||||||
|
**/Dockerfile
|
||||||
|
|
@ -1,18 +1,15 @@
|
||||||
{
|
{
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"name": "utils",
|
"name": "shared",
|
||||||
|
"private": true,
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "utils library",
|
"description": "shared utils library",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"embed": "npm run embed:sql",
|
"embed": "npm run embed:sql",
|
||||||
"embed:sql": "node scripts/embed:sql.js",
|
"embed:sql": "node scripts/embed:sql.js",
|
||||||
"build:ts": "npm run embed:sql && tsc -d",
|
"build:ts": "npm run embed:sql && tsc -d",
|
||||||
"watch:ts": "tsc -d -w"
|
"watch:ts": "tsc -d -w"
|
||||||
},
|
},
|
||||||
"exports": {
|
|
||||||
".": "./dist/auth.js"
|
|
||||||
},
|
|
||||||
"main": "./dist/auth.js",
|
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
|
|
@ -28,8 +25,6 @@
|
||||||
"@types/node": "^22.1.0",
|
"@types/node": "^22.1.0",
|
||||||
"c8": "^10.1.2",
|
"c8": "^10.1.2",
|
||||||
"concurrently": "^9.0.0",
|
"concurrently": "^9.0.0",
|
||||||
"fastify-tsconfig": "^3.0.0",
|
|
||||||
"ts-node": "^10.4.0",
|
|
||||||
"typescript": "~5.8.2"
|
"typescript": "~5.8.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -6,10 +6,10 @@
|
||||||
// By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ //
|
// By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ //
|
||||||
// +#+#+#+#+#+ +#+ //
|
// +#+#+#+#+#+ +#+ //
|
||||||
// Created: 2025/06/19 23:30:39 by maiboyer #+# #+# //
|
// Created: 2025/06/19 23:30:39 by maiboyer #+# #+# //
|
||||||
// Updated: 2025/06/20 00:02:19 by maiboyer ### ########.fr //
|
// Updated: 2025/07/28 15:36:11 by maiboyer ### ########.fr //
|
||||||
// //
|
// //
|
||||||
// ************************************************************************** //
|
// ************************************************************************** //
|
||||||
|
|
||||||
import embed from "./embed.js";
|
import embed from "./embed.js";
|
||||||
|
|
||||||
await embed('./src/init.sql', './src/init.sql.ts')
|
await embed('./src/database/init.sql', './src/database/init.sql.ts')
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
// ************************************************************************** //
|
// ************************************************************************** //
|
||||||
// //
|
// //
|
||||||
// ::: :::::::: //
|
// ::: :::::::: //
|
||||||
// database.ts :+: :+: :+: //
|
// index.ts :+: :+: :+: //
|
||||||
// +:+ +:+ +:+ //
|
// +:+ +:+ +:+ //
|
||||||
// By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ //
|
// By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ //
|
||||||
// +#+#+#+#+#+ +#+ //
|
// +#+#+#+#+#+ +#+ //
|
||||||
// Created: 2025/06/17 17:06:31 by maiboyer #+# #+# //
|
// Created: 2025/07/28 17:36:22 by maiboyer #+# #+# //
|
||||||
// Updated: 2025/07/17 16:28:48 by maiboyer ### ########.fr //
|
// Updated: 2025/07/28 17:36:26 by maiboyer ### ########.fr //
|
||||||
// //
|
// //
|
||||||
// ************************************************************************** //
|
// ************************************************************************** //
|
||||||
|
|
||||||
|
|
@ -16,7 +16,7 @@ import sqlite from 'better-sqlite3'
|
||||||
import { Result } from 'typescript-result'
|
import { Result } from 'typescript-result'
|
||||||
|
|
||||||
import initSql from "./init.sql.js"
|
import initSql from "./init.sql.js"
|
||||||
import { newUUIDv7, UUIDv7 } from './uuid.js'
|
import { newUUIDv7, UUIDv7 } from '@shared/uuid'
|
||||||
|
|
||||||
|
|
||||||
export class DBUserExists extends Error {
|
export class DBUserExists extends Error {
|
||||||
57
src/@shared/src/database/init.dbml
Normal file
57
src/@shared/src/database/init.dbml
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
Project Transcendance {
|
||||||
|
Note: '''
|
||||||
|
# DBML for Transcendance
|
||||||
|
DBML (database markup language) is a simple, readable DSL language designed to define database structures.
|
||||||
|
|
||||||
|
## Benefits
|
||||||
|
|
||||||
|
* It is simple, flexible and highly human-readable
|
||||||
|
* It is database agnostic, focusing on the essential database structure definition without worrying about the detailed syntaxes of each database
|
||||||
|
* Comes with a free, simple database visualiser at [dbdiagram.io](http://dbdiagram.io)
|
||||||
|
|
||||||
|
# how to use it
|
||||||
|
|
||||||
|
ask Maieul :)
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
|
||||||
|
Table user {
|
||||||
|
id integer [PK, not null, increment]
|
||||||
|
name text [unique, not null]
|
||||||
|
password text [null, Note: "If password is NULL, this means that the user is created through OAUTH2"]
|
||||||
|
|
||||||
|
Note: "Represent a user"
|
||||||
|
}
|
||||||
|
|
||||||
|
Table auth {
|
||||||
|
id integer [PK, not null, increment]
|
||||||
|
provider integer [ref: > provider.id, not null]
|
||||||
|
user integer [ref: > user.id, not null]
|
||||||
|
oauth2_user text [not null, unique, Note: '''
|
||||||
|
This makes sure that an oauth2 login is the always the same `user`
|
||||||
|
Aka can't have two account bound to the same <OAUTH2> account
|
||||||
|
''']
|
||||||
|
}
|
||||||
|
|
||||||
|
Table provider {
|
||||||
|
id integer [PK, not null, increment]
|
||||||
|
name text [PK, not null]
|
||||||
|
displayName text [not null]
|
||||||
|
secret text [not null]
|
||||||
|
token_url text [not null]
|
||||||
|
auth_url text [not null]
|
||||||
|
me_url text [not null]
|
||||||
|
|
||||||
|
Note: "Oauth2 Providers"
|
||||||
|
}
|
||||||
|
|
||||||
|
Table session {
|
||||||
|
id integer [PK, not null, increment]
|
||||||
|
cookie text [PK, unique, not null]
|
||||||
|
userid integer [ref: > user.id, not null]
|
||||||
|
createAt text [not null]
|
||||||
|
userAgent text [not null]
|
||||||
|
reason integer [null, ref: > provider.id]
|
||||||
|
|
||||||
|
Note: "Every session for users"
|
||||||
|
}
|
||||||
12
src/@shared/src/database/init.sql.ts
Normal file
12
src/@shared/src/database/init.sql.ts
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
//! this file was generated automatically.
|
||||||
|
//! it is just a string literal that is the file ./src/database/init.sql
|
||||||
|
//! if you want to edit this file, DONT. edit ./src/database/init.sql please
|
||||||
|
//!
|
||||||
|
//! this file need to be regenerated on changes to ./src/database/init.sql manually.
|
||||||
|
//! the `npm run build:ts` might regenerate it, but do check.
|
||||||
|
//! here is the date of the last time it was generated: Mon Jul 28 2025 16:40:15 GMT+0200 (Central European Summer Time)
|
||||||
|
//! the file ./src/database/init.sql that is embeded was modified on Sat Jul 19 2025 15:33:56 GMT+0200 (Central European Summer Time)
|
||||||
|
//! the file ./src/database/init.sql that is embeded was 436 bytes
|
||||||
|
|
||||||
|
|
||||||
|
export default "-- this file will make sure that the database is always up to date with the correct schema\n-- when editing this file, make sure to always include stuff like `IF NOT EXISTS` such as to not throw error\n-- NEVER DROP ANYTHING IN THIS FILE\nCREATE TABLE IF NOT EXISTS users (\n id STRING UNIQUE PRIMARY KEY, -- UUIDv7 as a string\n name STRING UNIQUE, -- name of the user\n token STRING UNIQUE, -- the token of the user (aka the cookie)\n);\n\n";
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
// ************************************************************************** //
|
// ************************************************************************** //
|
||||||
// //
|
// //
|
||||||
// ::: :::::::: //
|
// ::: :::::::: //
|
||||||
// uuid.ts :+: :+: :+: //
|
// index.ts :+: :+: :+: //
|
||||||
// +:+ +:+ +:+ //
|
// +:+ +:+ +:+ //
|
||||||
// By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ //
|
// By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ //
|
||||||
// +#+#+#+#+#+ +#+ //
|
// +#+#+#+#+#+ +#+ //
|
||||||
// Created: 2025/06/20 17:41:01 by maiboyer #+# #+# //
|
// Created: 2025/06/20 17:41:01 by maiboyer #+# #+# //
|
||||||
// Updated: 2025/06/20 17:44:29 by maiboyer ### ########.fr //
|
// Updated: 2025/07/28 15:42:53 by maiboyer ### ########.fr //
|
||||||
// //
|
// //
|
||||||
// ************************************************************************** //
|
// ************************************************************************** //
|
||||||
|
|
||||||
|
|
@ -17,7 +17,21 @@ export class InvalidUUID extends Error {
|
||||||
public readonly type = 'invalid-uuid';
|
public readonly type = 'invalid-uuid';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// A UUID is a all lowercase string that looks like this:
|
||||||
|
// `xxxxxxxx-xxxx-7xxx-xxx-xxxxxxxxxxxx`
|
||||||
|
// where x is any hex number
|
||||||
|
//
|
||||||
|
// it is a unique identifier, where when created can be assumed to be unique
|
||||||
|
// (aka no checks are needed)
|
||||||
|
//
|
||||||
|
// this uses the v7 of UUID, which means that every uuid is part random,
|
||||||
|
// part based on the timestamp it was Created
|
||||||
|
//
|
||||||
|
// This allows better ergonomics as you can "see" which uuid are older
|
||||||
|
// and which one are newer.
|
||||||
|
// This also makes sure that random UUID don't collide (unless you go back in time...).
|
||||||
export type UUIDv7 = string & { readonly __brand: unique symbol };
|
export type UUIDv7 = string & { readonly __brand: unique symbol };
|
||||||
|
|
||||||
const uuidv7Regex = /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
const uuidv7Regex = /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
||||||
|
|
||||||
export function isUUIDv7(value: string): value is UUIDv7 {
|
export function isUUIDv7(value: string): value is UUIDv7 {
|
||||||
|
|
@ -27,7 +41,7 @@ export function isUUIDv7(value: string): value is UUIDv7 {
|
||||||
export function toUUIDv7(value: string): Result<UUIDv7, InvalidUUID> {
|
export function toUUIDv7(value: string): Result<UUIDv7, InvalidUUID> {
|
||||||
if (!isUUIDv7(value)) return Result.error(new InvalidUUID());
|
if (!isUUIDv7(value)) return Result.error(new InvalidUUID());
|
||||||
|
|
||||||
return Result.ok(value as UUIDv7);
|
return Result.ok(value.toLowerCase() as UUIDv7);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function newUUIDv7(): UUIDv7 {
|
export function newUUIDv7(): UUIDv7 {
|
||||||
8
src/@shared/tsconfig.json
Normal file
8
src/@shared/tsconfig.json
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"extends": "../tsconfig.base.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "dist",
|
||||||
|
"rootDir": "src"
|
||||||
|
},
|
||||||
|
"include": ["src/**/*.ts"]
|
||||||
|
}
|
||||||
29
src/Dockerfile
Normal file
29
src/Dockerfile
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# **************************************************************************** #
|
||||||
|
# #
|
||||||
|
# ::: :::::::: #
|
||||||
|
# Dockerfile :+: :+: :+: #
|
||||||
|
# +:+ +:+ +:+ #
|
||||||
|
# By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ #
|
||||||
|
# +#+#+#+#+#+ +#+ #
|
||||||
|
# Created: 2025/07/28 16:33:09 by maiboyer #+# #+# #
|
||||||
|
# Updated: 2025/07/28 17:46:49 by maiboyer ### ########.fr #
|
||||||
|
# #
|
||||||
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
# this file will be used to build everything at once
|
||||||
|
# then all the other Dockerfiles will just copy from this one...
|
||||||
|
#
|
||||||
|
# it'll always be tagged as `ft_transcendance_global`
|
||||||
|
# this is VERY UGLY
|
||||||
|
# I didn't find really a lot of other ways to do this thought...
|
||||||
|
# so yeah have mercy :P
|
||||||
|
|
||||||
|
FROM node:24-alpine
|
||||||
|
|
||||||
|
RUN apk add python3;
|
||||||
|
|
||||||
|
COPY ./ /src/
|
||||||
|
WORKDIR /src
|
||||||
|
|
||||||
|
RUN npm run install-all;
|
||||||
|
RUN npm run build;
|
||||||
65
src/icons-service/.gitignore
vendored
65
src/icons-service/.gitignore
vendored
|
|
@ -1,65 +0,0 @@
|
||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
|
||||||
coverage
|
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
node_modules
|
|
||||||
jspm_packages
|
|
||||||
|
|
||||||
# Optional npm cache directory
|
|
||||||
.npm
|
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# 0x
|
|
||||||
profile-*
|
|
||||||
|
|
||||||
# mac files
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# vim swap files
|
|
||||||
*.swp
|
|
||||||
|
|
||||||
# webstorm
|
|
||||||
.idea
|
|
||||||
|
|
||||||
# vscode
|
|
||||||
.vscode
|
|
||||||
*code-workspace
|
|
||||||
|
|
||||||
# clinic
|
|
||||||
profile*
|
|
||||||
*clinic*
|
|
||||||
*flamegraph*
|
|
||||||
|
|
||||||
# generated code
|
|
||||||
examples/typescript-server.js
|
|
||||||
test/types/index.js
|
|
||||||
|
|
||||||
# compiled app
|
|
||||||
dist
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
# **************************************************************************** #
|
|
||||||
# #
|
|
||||||
# ::: :::::::: #
|
|
||||||
# Dockerfile :+: :+: :+: #
|
|
||||||
# +:+ +:+ +:+ #
|
|
||||||
# By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ #
|
|
||||||
# +#+#+#+#+#+ +#+ #
|
|
||||||
# Created: 2025/06/16 14:57:11 by maiboyer #+# #+# #
|
|
||||||
# Updated: 2025/07/19 15:26:15 by maiboyer ### ########.fr #
|
|
||||||
# #
|
|
||||||
# **************************************************************************** #
|
|
||||||
|
|
||||||
# PLEASE DO NOT TOUCH THIS :)
|
|
||||||
# vvvvvvvvvvvvvvvvvvvvvvvvvv
|
|
||||||
|
|
||||||
FROM node:24-alpine as utils-builder
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
COPY ./src/utils /app
|
|
||||||
RUN apk add python3;
|
|
||||||
RUN set -x && npm install && npm run build:ts && mkdir /out && cp -r package*.json dist/ /out;
|
|
||||||
|
|
||||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
# PLEASE DO NOT TOUCH THIS :)
|
|
||||||
|
|
||||||
FROM node:24-alpine AS builder
|
|
||||||
|
|
||||||
# Don't forget to edit the .dockerignore if needed
|
|
||||||
COPY ./src/icons-service /src/app
|
|
||||||
COPY --from=utils-builder /out /src/utils
|
|
||||||
|
|
||||||
WORKDIR /src/app
|
|
||||||
RUN npm install && npm run build:ts;
|
|
||||||
|
|
||||||
FROM node:24-alpine
|
|
||||||
|
|
||||||
WORKDIR /src/app
|
|
||||||
COPY --from=utils-builder /out /src/utils
|
|
||||||
COPY --from=builder /src/app/dist ./dist
|
|
||||||
COPY --from=builder /src/app/package*.json .
|
|
||||||
|
|
||||||
RUN npm ci --omit=dev;
|
|
||||||
# Start the app
|
|
||||||
CMD ["node", "/src/app/dist/run.js"]
|
|
||||||
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
# Getting Started with [Fastify-CLI](https://www.npmjs.com/package/fastify-cli)
|
|
||||||
This project was bootstrapped with Fastify-CLI.
|
|
||||||
|
|
||||||
## Available Scripts
|
|
||||||
|
|
||||||
In the project directory, you can run:
|
|
||||||
|
|
||||||
### `npm run dev`
|
|
||||||
|
|
||||||
To start the app in dev mode.\
|
|
||||||
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
|
|
||||||
|
|
||||||
### `npm start`
|
|
||||||
|
|
||||||
For production mode
|
|
||||||
|
|
||||||
### `npm run test`
|
|
||||||
|
|
||||||
Run the test cases.
|
|
||||||
|
|
||||||
## Learn More
|
|
||||||
|
|
||||||
To learn Fastify, check out the [Fastify documentation](https://fastify.dev/docs/latest/).
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
{
|
|
||||||
"type": "module",
|
|
||||||
"name": "icons-service",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "This project was bootstrapped with Fastify-CLI.",
|
|
||||||
"main": "app.ts",
|
|
||||||
"directories": {
|
|
||||||
"test": "test"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"test": "npm run build:ts && tsc -p test/tsconfig.json && FASTIFY_AUTOLOAD_TYPESCRIPT=1 node --test --experimental-test-coverage --loader ts-node/esm test/**/*.ts",
|
|
||||||
"start": "npm run build:ts && fastify start -l info dist/app.js",
|
|
||||||
"build:ts": "tsc -d",
|
|
||||||
"watch:ts": "tsc -d -w",
|
|
||||||
"dev": "npm run build:ts && concurrently -k -p \"[{name}]\" -n \"TypeScript,App\" -c \"yellow.bold,cyan.bold\" \"npm:watch:ts\" \"npm:dev:start\"",
|
|
||||||
"dev:start": "fastify start --ignore-watch=.ts$ -w -l info -P dist/app.js"
|
|
||||||
},
|
|
||||||
"keywords": [],
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
|
||||||
"@fastify/autoload": "^6.3.1",
|
|
||||||
"@fastify/formbody": "^8.0.2",
|
|
||||||
"@fastify/multipart": "^9.0.3",
|
|
||||||
"@fastify/sensible": "^6.0.0",
|
|
||||||
"@fastify/static": "^8.2.0",
|
|
||||||
"fastify": "^5.0.0",
|
|
||||||
"fastify-cli": "^7.4.0",
|
|
||||||
"fastify-plugin": "^5.0.0",
|
|
||||||
"fastify-raw-body": "^5.0.0",
|
|
||||||
"sharp": "^0.34.2",
|
|
||||||
"utils": "file:../utils/"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/node": "^22.1.0",
|
|
||||||
"c8": "^10.1.2",
|
|
||||||
"concurrently": "^9.0.0",
|
|
||||||
"fastify-tsconfig": "^3.0.0",
|
|
||||||
"ts-node": "^10.4.0",
|
|
||||||
"typescript": "~5.8.2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "fastify-tsconfig",
|
|
||||||
"compilerOptions": {
|
|
||||||
"outDir": "dist",
|
|
||||||
"sourceMap": true,
|
|
||||||
"moduleResolution": "NodeNext",
|
|
||||||
"module": "NodeNext",
|
|
||||||
"target": "ES2022",
|
|
||||||
"esModuleInterop": true
|
|
||||||
},
|
|
||||||
"include": ["src/**/*.ts"]
|
|
||||||
}
|
|
||||||
16
src/icons/Dockerfile
Normal file
16
src/icons/Dockerfile
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# **************************************************************************** #
|
||||||
|
# #
|
||||||
|
# ::: :::::::: #
|
||||||
|
# Dockerfile :+: :+: :+: #
|
||||||
|
# +:+ +:+ +:+ #
|
||||||
|
# By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ #
|
||||||
|
# +#+#+#+#+#+ +#+ #
|
||||||
|
# Created: 2025/06/16 14:57:11 by maiboyer #+# #+# #
|
||||||
|
# Updated: 2025/07/28 17:59:09 by maiboyer ### ########.fr #
|
||||||
|
# #
|
||||||
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
FROM trans_builder
|
||||||
|
|
||||||
|
CMD ["node", "/src/icons/run.js"]
|
||||||
|
|
||||||
42
src/icons/package.json
Normal file
42
src/icons/package.json
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"type": "module",
|
||||||
|
"private": false,
|
||||||
|
"name": "icons",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "This project was bootstrapped with Fastify-CLI.",
|
||||||
|
"main": "app.ts",
|
||||||
|
"directories": {
|
||||||
|
"test": "test"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"test": "npm run build:ts && tsc -p test/tsconfig.json && FASTIFY_AUTOLOAD_TYPESCRIPT=1 node --test --experimental-test-coverage --loader ts-node/esm test/**/*.ts",
|
||||||
|
"start": "npm run build:ts && fastify start -l info dist/app.js",
|
||||||
|
"build:ts": "tsc -d",
|
||||||
|
"watch:ts": "tsc -d -w",
|
||||||
|
"dev": "npm run build:ts && concurrently -k -p \"[{name}]\" -n \"TypeScript,App\" -c \"yellow.bold,cyan.bold\" \"npm:watch:ts\" \"npm:dev:start\"",
|
||||||
|
"dev:start": "fastify start --ignore-watch=.ts$ -w -l info -P dist/app.js"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"@fastify/autoload": "^6.3.1",
|
||||||
|
"@fastify/formbody": "^8.0.2",
|
||||||
|
"@fastify/multipart": "^9.0.3",
|
||||||
|
"@fastify/sensible": "^6.0.0",
|
||||||
|
"@fastify/static": "^8.2.0",
|
||||||
|
"fastify": "^5.0.0",
|
||||||
|
"fastify-cli": "^7.4.0",
|
||||||
|
"fastify-plugin": "^5.0.0",
|
||||||
|
"fastify-raw-body": "^5.0.0",
|
||||||
|
"sharp": "^0.34.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/node": "^22.1.0",
|
||||||
|
"c8": "^10.1.2",
|
||||||
|
"concurrently": "^9.0.0",
|
||||||
|
"fastify-tsconfig": "^3.0.0",
|
||||||
|
"ts-node": "^10.4.0",
|
||||||
|
"typescript": "~5.8.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,7 +6,6 @@ import fastifyFormBody from '@fastify/formbody'
|
||||||
import fastifyMultipart from '@fastify/multipart'
|
import fastifyMultipart from '@fastify/multipart'
|
||||||
import { mkdir } from 'node:fs/promises'
|
import { mkdir } from 'node:fs/promises'
|
||||||
import fp from 'fastify-plugin'
|
import fp from 'fastify-plugin'
|
||||||
import MyPlugin from 'utils'
|
|
||||||
|
|
||||||
const __filename = fileURLToPath(import.meta.url)
|
const __filename = fileURLToPath(import.meta.url)
|
||||||
const __dirname = path.dirname(__filename)
|
const __dirname = path.dirname(__filename)
|
||||||
|
|
@ -32,7 +31,7 @@ const app: FastifyPluginAsync<AppOptions> = async (
|
||||||
): Promise<void> => {
|
): Promise<void> => {
|
||||||
// Place here your custom code!
|
// Place here your custom code!
|
||||||
|
|
||||||
void fastify.register(MyPlugin, {})
|
//void fastify.register(MyPlugin, {})
|
||||||
void fastify.register(fastifyFormBody, {})
|
void fastify.register(fastifyFormBody, {})
|
||||||
void fastify.register(fastifyMultipart, {})
|
void fastify.register(fastifyMultipart, {})
|
||||||
|
|
||||||
8
src/icons/tsconfig.json
Normal file
8
src/icons/tsconfig.json
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"extends": "../tsconfig.base.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "dist",
|
||||||
|
"rootDir": "src"
|
||||||
|
},
|
||||||
|
"include": ["src/**/*.ts"]
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,42 @@
|
||||||
{
|
{
|
||||||
"name": "icons-service",
|
"name": "ft_lamort",
|
||||||
"version": "1.0.0",
|
"version": "0.0.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "icons-service",
|
"name": "ft_lamort",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"workspaces": [
|
||||||
|
"./_shared",
|
||||||
|
"./icons"
|
||||||
|
],
|
||||||
|
"devDependencies": {
|
||||||
|
"rimraf": "^5.0.1",
|
||||||
|
"typescript": "^5.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"_shared": {
|
||||||
|
"name": "shared",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"extraneous": true,
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"better-sqlite3": "^11.10.0",
|
||||||
|
"fastify": "^5.0.0",
|
||||||
|
"fastify-plugin": "^5.0.1",
|
||||||
|
"typescript-result": "3.1.1",
|
||||||
|
"uuidv7": "^1.0.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/better-sqlite3": "^7.6.13",
|
||||||
|
"@types/node": "^22.1.0",
|
||||||
|
"c8": "^10.1.2",
|
||||||
|
"concurrently": "^9.0.0",
|
||||||
|
"typescript": "~5.8.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"icons": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -18,24 +49,7 @@
|
||||||
"fastify-cli": "^7.4.0",
|
"fastify-cli": "^7.4.0",
|
||||||
"fastify-plugin": "^5.0.0",
|
"fastify-plugin": "^5.0.0",
|
||||||
"fastify-raw-body": "^5.0.0",
|
"fastify-raw-body": "^5.0.0",
|
||||||
"sharp": "^0.34.2",
|
"sharp": "^0.34.2"
|
||||||
"utils": "file:../utils/"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/node": "^22.1.0",
|
|
||||||
"c8": "^10.1.2",
|
|
||||||
"concurrently": "^9.0.0",
|
|
||||||
"fastify-tsconfig": "^3.0.0",
|
|
||||||
"ts-node": "^10.4.0",
|
|
||||||
"typescript": "~5.8.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"../utils": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
|
||||||
"fastify": "^5.0.0",
|
|
||||||
"fastify-plugin": "^5.0.0"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^22.1.0",
|
"@types/node": "^22.1.0",
|
||||||
|
|
@ -70,9 +84,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@emnapi/runtime": {
|
"node_modules/@emnapi/runtime": {
|
||||||
"version": "1.4.3",
|
"version": "1.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz",
|
||||||
"integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
|
"integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -257,22 +271,6 @@
|
||||||
"secure-json-parse": "^3.0.0"
|
"secure-json-parse": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@fastify/multipart/node_modules/secure-json-parse": {
|
|
||||||
"version": "3.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-3.0.2.tgz",
|
|
||||||
"integrity": "sha512-H6nS2o8bWfpFEV6U38sOSjS7bTbdgbCGU9wEM6W14P5H0QOsz94KCusifV44GpHDTu2nqZbuDNhTzu+mjDSw1w==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/fastify"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/fastify"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"license": "BSD-3-Clause"
|
|
||||||
},
|
|
||||||
"node_modules/@fastify/proxy-addr": {
|
"node_modules/@fastify/proxy-addr": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@fastify/proxy-addr/-/proxy-addr-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@fastify/proxy-addr/-/proxy-addr-5.0.0.tgz",
|
||||||
|
|
@ -434,9 +432,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-darwin-arm64": {
|
"node_modules/@img/sharp-darwin-arm64": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.3.tgz",
|
||||||
"integrity": "sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==",
|
"integrity": "sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
|
@ -452,13 +450,13 @@
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@img/sharp-libvips-darwin-arm64": "1.1.0"
|
"@img/sharp-libvips-darwin-arm64": "1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-darwin-x64": {
|
"node_modules/@img/sharp-darwin-x64": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.3.tgz",
|
||||||
"integrity": "sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==",
|
"integrity": "sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
|
@ -474,13 +472,13 @@
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@img/sharp-libvips-darwin-x64": "1.1.0"
|
"@img/sharp-libvips-darwin-x64": "1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-libvips-darwin-arm64": {
|
"node_modules/@img/sharp-libvips-darwin-arm64": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.0.tgz",
|
||||||
"integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==",
|
"integrity": "sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
|
@ -494,9 +492,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-libvips-darwin-x64": {
|
"node_modules/@img/sharp-libvips-darwin-x64": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.0.tgz",
|
||||||
"integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==",
|
"integrity": "sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
|
@ -510,9 +508,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-libvips-linux-arm": {
|
"node_modules/@img/sharp-libvips-linux-arm": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.0.tgz",
|
||||||
"integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==",
|
"integrity": "sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
|
@ -526,9 +524,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-libvips-linux-arm64": {
|
"node_modules/@img/sharp-libvips-linux-arm64": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.0.tgz",
|
||||||
"integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==",
|
"integrity": "sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
|
@ -542,9 +540,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-libvips-linux-ppc64": {
|
"node_modules/@img/sharp-libvips-linux-ppc64": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.0.tgz",
|
||||||
"integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==",
|
"integrity": "sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
|
|
@ -558,9 +556,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-libvips-linux-s390x": {
|
"node_modules/@img/sharp-libvips-linux-s390x": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.0.tgz",
|
||||||
"integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==",
|
"integrity": "sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
|
|
@ -574,9 +572,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-libvips-linux-x64": {
|
"node_modules/@img/sharp-libvips-linux-x64": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.0.tgz",
|
||||||
"integrity": "sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==",
|
"integrity": "sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
|
@ -590,9 +588,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
|
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.0.tgz",
|
||||||
"integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==",
|
"integrity": "sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
|
@ -606,9 +604,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
|
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.0.tgz",
|
||||||
"integrity": "sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==",
|
"integrity": "sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
|
@ -622,9 +620,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-linux-arm": {
|
"node_modules/@img/sharp-linux-arm": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.3.tgz",
|
||||||
"integrity": "sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==",
|
"integrity": "sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
|
|
@ -640,13 +638,13 @@
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@img/sharp-libvips-linux-arm": "1.1.0"
|
"@img/sharp-libvips-linux-arm": "1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-linux-arm64": {
|
"node_modules/@img/sharp-linux-arm64": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.3.tgz",
|
||||||
"integrity": "sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==",
|
"integrity": "sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
|
@ -662,13 +660,35 @@
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@img/sharp-libvips-linux-arm64": "1.1.0"
|
"@img/sharp-libvips-linux-arm64": "1.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-linux-ppc64": {
|
||||||
|
"version": "0.34.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.3.tgz",
|
||||||
|
"integrity": "sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==",
|
||||||
|
"cpu": [
|
||||||
|
"ppc64"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linux-ppc64": "1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-linux-s390x": {
|
"node_modules/@img/sharp-linux-s390x": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.3.tgz",
|
||||||
"integrity": "sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==",
|
"integrity": "sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
|
|
@ -684,13 +704,13 @@
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@img/sharp-libvips-linux-s390x": "1.1.0"
|
"@img/sharp-libvips-linux-s390x": "1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-linux-x64": {
|
"node_modules/@img/sharp-linux-x64": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.3.tgz",
|
||||||
"integrity": "sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==",
|
"integrity": "sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
|
@ -706,13 +726,13 @@
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@img/sharp-libvips-linux-x64": "1.1.0"
|
"@img/sharp-libvips-linux-x64": "1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-linuxmusl-arm64": {
|
"node_modules/@img/sharp-linuxmusl-arm64": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.3.tgz",
|
||||||
"integrity": "sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==",
|
"integrity": "sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
|
@ -728,13 +748,13 @@
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@img/sharp-libvips-linuxmusl-arm64": "1.1.0"
|
"@img/sharp-libvips-linuxmusl-arm64": "1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-linuxmusl-x64": {
|
"node_modules/@img/sharp-linuxmusl-x64": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.3.tgz",
|
||||||
"integrity": "sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==",
|
"integrity": "sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
|
@ -750,20 +770,20 @@
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@img/sharp-libvips-linuxmusl-x64": "1.1.0"
|
"@img/sharp-libvips-linuxmusl-x64": "1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-wasm32": {
|
"node_modules/@img/sharp-wasm32": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.3.tgz",
|
||||||
"integrity": "sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==",
|
"integrity": "sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"wasm32"
|
"wasm32"
|
||||||
],
|
],
|
||||||
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
|
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emnapi/runtime": "^1.4.3"
|
"@emnapi/runtime": "^1.4.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
|
@ -773,9 +793,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-win32-arm64": {
|
"node_modules/@img/sharp-win32-arm64": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.3.tgz",
|
||||||
"integrity": "sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==",
|
"integrity": "sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
|
|
@ -792,9 +812,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-win32-ia32": {
|
"node_modules/@img/sharp-win32-ia32": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.3.tgz",
|
||||||
"integrity": "sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==",
|
"integrity": "sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
|
|
@ -811,9 +831,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@img/sharp-win32-x64": {
|
"node_modules/@img/sharp-win32-x64": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.3.tgz",
|
||||||
"integrity": "sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==",
|
"integrity": "sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
|
|
@ -888,9 +908,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jridgewell/sourcemap-codec": {
|
"node_modules/@jridgewell/sourcemap-codec": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
|
||||||
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
|
"integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
|
@ -961,9 +981,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.15.31",
|
"version": "22.16.5",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.31.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.16.5.tgz",
|
||||||
"integrity": "sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw==",
|
"integrity": "sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -1048,15 +1068,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ansi-styles": {
|
"node_modules/ansi-styles": {
|
||||||
"version": "4.3.0",
|
"version": "6.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
|
||||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
|
||||||
"color-convert": "^2.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
|
|
@ -1164,6 +1181,21 @@
|
||||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/chalk/node_modules/ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/chalk/node_modules/supports-color": {
|
"node_modules/chalk/node_modules/supports-color": {
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
|
|
@ -1216,6 +1248,22 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/cliui/node_modules/ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/cliui/node_modules/emoji-regex": {
|
"node_modules/cliui/node_modules/emoji-regex": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
|
|
@ -1329,9 +1377,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/concurrently": {
|
"node_modules/concurrently": {
|
||||||
"version": "9.1.2",
|
"version": "9.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.0.tgz",
|
||||||
"integrity": "sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==",
|
"integrity": "sha512-IsB/fiXTupmagMW4MNp2lx2cdSN2FfZq78vF90LBB+zZHArbIQZjQtzXCiXnvTxCZSvXanTqFLWBjw2UkLx1SQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -1450,9 +1498,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/dotenv": {
|
"node_modules/dotenv": {
|
||||||
"version": "16.5.0",
|
"version": "16.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
|
||||||
"integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==",
|
"integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
|
|
@ -1474,9 +1522,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/end-of-stream": {
|
"node_modules/end-of-stream": {
|
||||||
"version": "1.4.4",
|
"version": "1.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
|
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
|
||||||
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
|
"integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"once": "^1.4.0"
|
"once": "^1.4.0"
|
||||||
|
|
@ -1689,6 +1737,22 @@
|
||||||
"node": ">=20.0.0"
|
"node": ">=20.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/fastify/node_modules/secure-json-parse": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-dxtLJO6sc35jWidmLxo7ij+Eg48PM/kleBsxpC8QJE0qJICe+KawkDQmvCMZUr9u7WKVHgMW6vy3fQ7zMiFZMA==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/fastify"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/fastify"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "BSD-3-Clause"
|
||||||
|
},
|
||||||
"node_modules/fastq": {
|
"node_modules/fastq": {
|
||||||
"version": "1.19.1",
|
"version": "1.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
|
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
|
||||||
|
|
@ -1838,6 +1902,10 @@
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/icons": {
|
||||||
|
"resolved": "icons",
|
||||||
|
"link": true
|
||||||
|
},
|
||||||
"node_modules/iconv-lite": {
|
"node_modules/iconv-lite": {
|
||||||
"version": "0.6.3",
|
"version": "0.6.3",
|
||||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
|
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
|
||||||
|
|
@ -2457,9 +2525,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/pump": {
|
"node_modules/pump": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz",
|
||||||
"integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
|
"integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"end-of-stream": "^1.1.0",
|
"end-of-stream": "^1.1.0",
|
||||||
|
|
@ -2576,6 +2644,22 @@
|
||||||
"integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
|
"integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/rimraf": {
|
||||||
|
"version": "5.0.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
|
||||||
|
"integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"glob": "^10.3.7"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"rimraf": "dist/esm/bin.mjs"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/rxjs": {
|
"node_modules/rxjs": {
|
||||||
"version": "7.8.2",
|
"version": "7.8.2",
|
||||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
|
||||||
|
|
@ -2641,9 +2725,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/secure-json-parse": {
|
"node_modules/secure-json-parse": {
|
||||||
"version": "4.0.0",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-3.0.2.tgz",
|
||||||
"integrity": "sha512-dxtLJO6sc35jWidmLxo7ij+Eg48PM/kleBsxpC8QJE0qJICe+KawkDQmvCMZUr9u7WKVHgMW6vy3fQ7zMiFZMA==",
|
"integrity": "sha512-H6nS2o8bWfpFEV6U38sOSjS7bTbdgbCGU9wEM6W14P5H0QOsz94KCusifV44GpHDTu2nqZbuDNhTzu+mjDSw1w==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
|
|
@ -2681,9 +2765,9 @@
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/sharp": {
|
"node_modules/sharp": {
|
||||||
"version": "0.34.2",
|
"version": "0.34.3",
|
||||||
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.2.tgz",
|
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.3.tgz",
|
||||||
"integrity": "sha512-lszvBmB9QURERtyKT2bNmsgxXK0ShJrL/fvqlonCo7e6xBF8nT8xU6pW+PMIbLsz0RxQk3rgH9kd8UmvOzlMJg==",
|
"integrity": "sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -2698,27 +2782,28 @@
|
||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@img/sharp-darwin-arm64": "0.34.2",
|
"@img/sharp-darwin-arm64": "0.34.3",
|
||||||
"@img/sharp-darwin-x64": "0.34.2",
|
"@img/sharp-darwin-x64": "0.34.3",
|
||||||
"@img/sharp-libvips-darwin-arm64": "1.1.0",
|
"@img/sharp-libvips-darwin-arm64": "1.2.0",
|
||||||
"@img/sharp-libvips-darwin-x64": "1.1.0",
|
"@img/sharp-libvips-darwin-x64": "1.2.0",
|
||||||
"@img/sharp-libvips-linux-arm": "1.1.0",
|
"@img/sharp-libvips-linux-arm": "1.2.0",
|
||||||
"@img/sharp-libvips-linux-arm64": "1.1.0",
|
"@img/sharp-libvips-linux-arm64": "1.2.0",
|
||||||
"@img/sharp-libvips-linux-ppc64": "1.1.0",
|
"@img/sharp-libvips-linux-ppc64": "1.2.0",
|
||||||
"@img/sharp-libvips-linux-s390x": "1.1.0",
|
"@img/sharp-libvips-linux-s390x": "1.2.0",
|
||||||
"@img/sharp-libvips-linux-x64": "1.1.0",
|
"@img/sharp-libvips-linux-x64": "1.2.0",
|
||||||
"@img/sharp-libvips-linuxmusl-arm64": "1.1.0",
|
"@img/sharp-libvips-linuxmusl-arm64": "1.2.0",
|
||||||
"@img/sharp-libvips-linuxmusl-x64": "1.1.0",
|
"@img/sharp-libvips-linuxmusl-x64": "1.2.0",
|
||||||
"@img/sharp-linux-arm": "0.34.2",
|
"@img/sharp-linux-arm": "0.34.3",
|
||||||
"@img/sharp-linux-arm64": "0.34.2",
|
"@img/sharp-linux-arm64": "0.34.3",
|
||||||
"@img/sharp-linux-s390x": "0.34.2",
|
"@img/sharp-linux-ppc64": "0.34.3",
|
||||||
"@img/sharp-linux-x64": "0.34.2",
|
"@img/sharp-linux-s390x": "0.34.3",
|
||||||
"@img/sharp-linuxmusl-arm64": "0.34.2",
|
"@img/sharp-linux-x64": "0.34.3",
|
||||||
"@img/sharp-linuxmusl-x64": "0.34.2",
|
"@img/sharp-linuxmusl-arm64": "0.34.3",
|
||||||
"@img/sharp-wasm32": "0.34.2",
|
"@img/sharp-linuxmusl-x64": "0.34.3",
|
||||||
"@img/sharp-win32-arm64": "0.34.2",
|
"@img/sharp-wasm32": "0.34.3",
|
||||||
"@img/sharp-win32-ia32": "0.34.2",
|
"@img/sharp-win32-arm64": "0.34.3",
|
||||||
"@img/sharp-win32-x64": "0.34.2"
|
"@img/sharp-win32-ia32": "0.34.3",
|
||||||
|
"@img/sharp-win32-x64": "0.34.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/shebang-command": {
|
"node_modules/shebang-command": {
|
||||||
|
|
@ -3094,10 +3179,6 @@
|
||||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/utils": {
|
|
||||||
"resolved": "../utils",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/v8-compile-cache-lib": {
|
"node_modules/v8-compile-cache-lib": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
|
||||||
|
|
@ -3121,9 +3202,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": {
|
"node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": {
|
||||||
"version": "0.3.25",
|
"version": "0.3.29",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
|
||||||
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
|
"integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -3208,6 +3289,21 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
|
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
|
|
@ -3240,18 +3336,6 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wrap-ansi/node_modules/ansi-styles": {
|
|
||||||
"version": "6.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
|
|
||||||
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/wrappy": {
|
"node_modules/wrappy": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
20
src/package.json
Normal file
20
src/package.json
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"name": "workspace",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"private": true,
|
||||||
|
"workspaces": [
|
||||||
|
"./_shared",
|
||||||
|
"./icons"
|
||||||
|
],
|
||||||
|
"scripts": {
|
||||||
|
"build": "npm run build:ts --workspaces",
|
||||||
|
"fclean": "rimraf \"**/dist\"",
|
||||||
|
"clean": "rimraf \"**/node_modules\"",
|
||||||
|
"install-all": "npm install"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"typescript": "^5.3.0",
|
||||||
|
"rimraf": "^5.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
29
src/tsconfig.base.json
Normal file
29
src/tsconfig.base.json
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://json.schemastore.org/tsconfig",
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "ES2023",
|
||||||
|
"module": "NodeNext",
|
||||||
|
"moduleResolution": "NodeNext",
|
||||||
|
"newLine": "lf",
|
||||||
|
|
||||||
|
"noFallthroughCasesInSwitch": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"isolatedModules": true,
|
||||||
|
"noUnusedLocals": true,
|
||||||
|
"removeComments": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"strict": true,
|
||||||
|
|
||||||
|
"outDir": "dist",
|
||||||
|
"rootDir": "src",
|
||||||
|
"baseUrl": ".",
|
||||||
|
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"lib": ["ESNext"],
|
||||||
|
"paths": {
|
||||||
|
"@shared/database": ["./@shared/src/database"],
|
||||||
|
"@shared/uuid": ["./@shared/src/uuid"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
/dist
|
|
||||||
/node_modules
|
|
||||||
69
src/utils/.gitignore
vendored
69
src/utils/.gitignore
vendored
|
|
@ -1,69 +0,0 @@
|
||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
|
||||||
coverage
|
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
node_modules
|
|
||||||
jspm_packages
|
|
||||||
|
|
||||||
# Optional npm cache directory
|
|
||||||
.npm
|
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# 0x
|
|
||||||
profile-*
|
|
||||||
|
|
||||||
# mac files
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# vim swap files
|
|
||||||
*.swp
|
|
||||||
|
|
||||||
# webstorm
|
|
||||||
.idea
|
|
||||||
|
|
||||||
# vscode
|
|
||||||
.vscode
|
|
||||||
*code-workspace
|
|
||||||
|
|
||||||
# clinic
|
|
||||||
profile*
|
|
||||||
*clinic*
|
|
||||||
*flamegraph*
|
|
||||||
|
|
||||||
# generated code
|
|
||||||
examples/typescript-server.js
|
|
||||||
test/types/index.js
|
|
||||||
|
|
||||||
# compiled app
|
|
||||||
dist
|
|
||||||
|
|
||||||
|
|
||||||
# generated sources
|
|
||||||
src/init.sql.ts
|
|
||||||
2416
src/utils/package-lock.json
generated
2416
src/utils/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,19 +0,0 @@
|
||||||
// ************************************************************************** //
|
|
||||||
// //
|
|
||||||
// ::: :::::::: //
|
|
||||||
// auth.ts :+: :+: :+: //
|
|
||||||
// +:+ +:+ +:+ //
|
|
||||||
// By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ //
|
|
||||||
// +#+#+#+#+#+ +#+ //
|
|
||||||
// Created: 2025/06/16 22:02:49 by maiboyer #+# #+# //
|
|
||||||
// Updated: 2025/06/17 17:07:09 by maiboyer ### ########.fr //
|
|
||||||
// //
|
|
||||||
// ************************************************************************** //
|
|
||||||
|
|
||||||
import { FastifyInstance } from 'fastify'
|
|
||||||
|
|
||||||
export default async function(
|
|
||||||
_fastify: FastifyInstance,
|
|
||||||
_options: any) {
|
|
||||||
console.log("inside the plugin !")
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "fastify-tsconfig",
|
|
||||||
"compilerOptions": {
|
|
||||||
"outDir": "dist",
|
|
||||||
"sourceMap": true,
|
|
||||||
"moduleResolution": "NodeNext",
|
|
||||||
"module": "NodeNext",
|
|
||||||
"target": "ES2022",
|
|
||||||
"esModuleInterop": true
|
|
||||||
},
|
|
||||||
"include": ["src/**/*.ts"]
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue