Merge branch 'develop' into beta

This commit is contained in:
ThatOneCalculator 2023-06-05 17:34:27 -07:00
commit 65bd69fd01
No known key found for this signature in database
GPG key ID: 8703CACD01000000
15 changed files with 172 additions and 150 deletions

View file

@ -2,66 +2,98 @@
* Gulp tasks * Gulp tasks
*/ */
const fs = require('fs'); const fs = require("fs");
const gulp = require('gulp'); const gulp = require("gulp");
const replace = require('gulp-replace'); const replace = require("gulp-replace");
const terser = require('gulp-terser'); const terser = require("gulp-terser");
const cssnano = require('gulp-cssnano'); const cssnano = require("gulp-cssnano");
const locales = require('./locales'); const locales = require("./locales");
const meta = require('./package.json'); const meta = require("./package.json");
gulp.task('copy:backend:views', () => gulp.task("copy:backend:views", () =>
gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views')) gulp
.src("./packages/backend/src/server/web/views/**/*")
.pipe(gulp.dest("./packages/backend/built/server/web/views")),
); );
gulp.task("copy:backend:custom", () =>
gulp.task('copy:backend:custom', () => gulp
gulp.src('./custom/assets/**/*').pipe(gulp.dest('./packages/backend/assets/')) .src("./custom/assets/**/*")
.pipe(gulp.dest("./packages/backend/assets/")),
); );
gulp.task('copy:client:fonts', () => gulp.task("copy:client:fonts", () =>
gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/')) gulp
.src("./packages/client/node_modules/three/examples/fonts/**/*")
.pipe(gulp.dest("./built/_client_dist_/fonts/")),
); );
gulp.task('copy:client:locales', cb => { gulp.task("copy:client:locales", (cb) => {
fs.mkdirSync('./built/_client_dist_/locales', { recursive: true }); fs.mkdirSync("./built/_client_dist_/locales", { recursive: true });
const v = { '_version_': meta.version }; const v = { _version_: meta.version };
for (const [lang, locale] of Object.entries(locales)) { for (const [lang, locale] of Object.entries(locales)) {
fs.writeFileSync(`./built/_client_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8'); fs.writeFileSync(
`./built/_client_dist_/locales/${lang}.${meta.version}.json`,
JSON.stringify({ ...locale, ...v }),
"utf-8",
);
} }
cb(); cb();
}); });
gulp.task("build:backend:script", () => {
gulp.task('build:backend:script', () => { return gulp
return gulp.src(['./packages/backend/src/server/web/boot.js', './packages/backend/src/server/web/bios.js', './packages/backend/src/server/web/cli.js']) .src([
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales)))) "./packages/backend/src/server/web/boot.js",
.pipe(terser({ "./packages/backend/src/server/web/bios.js",
toplevel: true "./packages/backend/src/server/web/cli.js",
})) ])
.pipe(gulp.dest('./packages/backend/built/server/web/')); .pipe(replace("LANGS", JSON.stringify(Object.keys(locales))))
.pipe(
terser({
toplevel: true,
}),
)
.pipe(gulp.dest("./packages/backend/built/server/web/"));
}); });
gulp.task('build:backend:style', () => { gulp.task("build:backend:style", () => {
return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css']) return gulp
.pipe(cssnano({ .src([
zindex: false "./packages/backend/src/server/web/style.css",
})) "./packages/backend/src/server/web/bios.css",
.pipe(gulp.dest('./packages/backend/built/server/web/')); "./packages/backend/src/server/web/cli.css",
])
.pipe(
cssnano({
zindex: false,
}),
)
.pipe(gulp.dest("./packages/backend/built/server/web/"));
}); });
gulp.task('build', gulp.parallel( gulp.task(
'copy:client:locales', 'copy:backend:views', 'copy:backend:custom', 'build:backend:script', 'build:backend:style', 'copy:client:fonts' "build",
)); gulp.parallel(
"copy:client:locales",
"copy:backend:views",
"copy:backend:custom",
"build:backend:script",
"build:backend:style",
"copy:client:fonts",
),
);
gulp.task('default', gulp.task('build')); gulp.task("default", gulp.task("build"));
gulp.task('watch', () => { gulp.task("watch", () => {
gulp.watch([ gulp.watch(
'./packages/*/src/**/*', ["./packages/*/src/**/*"],
], { ignoreInitial: false }, gulp.task('build')); { ignoreInitial: false },
gulp.task("build"),
);
}); });

View file

@ -55,7 +55,7 @@
"gulp-replace": "1.1.4", "gulp-replace": "1.1.4",
"gulp-terser": "2.1.0", "gulp-terser": "2.1.0",
"install-peers": "^1.0.4", "install-peers": "^1.0.4",
"rome": "^11.0.0", "rome": "^12.1.3",
"start-server-and-test": "1.15.2", "start-server-and-test": "1.15.2",
"typescript": "4.9.4" "typescript": "4.9.4"
} }

View file

@ -18,7 +18,7 @@
"lint": "pnpm rome check \"src/**/*.ts\"", "lint": "pnpm rome check \"src/**/*.ts\"",
"mocha": "cross-env NODE_ENV=test TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" mocha", "mocha": "cross-env NODE_ENV=test TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" mocha",
"test": "pnpm run mocha", "test": "pnpm run mocha",
"format": "pnpm rome format * --write && pnpm rome check --apply-suggested *" "format": "pnpm rome format * --write && pnpm rome check --apply *"
}, },
"resolutions": { "resolutions": {
"chokidar": "^3.3.1" "chokidar": "^3.3.1"
@ -132,7 +132,7 @@
"tinycolor2": "1.5.2", "tinycolor2": "1.5.2",
"tmp": "0.2.1", "tmp": "0.2.1",
"twemoji-parser": "14.0.0", "twemoji-parser": "14.0.0",
"typeorm": "0.3.16", "typeorm": "0.3.11",
"ulid": "2.3.0", "ulid": "2.3.0",
"uuid": "9.0.0", "uuid": "9.0.0",
"web-push": "3.6.1", "web-push": "3.6.1",

View file

@ -167,7 +167,7 @@ async function connectDb(): Promise<void> {
} }
} }
async function spawnWorkers(limit: number = 1) { async function spawnWorkers(limit = 1) {
const workers = Math.min(limit, os.cpus().length); const workers = Math.min(limit, os.cpus().length);
bootLogger.info(`Starting ${workers} worker${workers === 1 ? "" : "s"}...`); bootLogger.info(`Starting ${workers} worker${workers === 1 ? "" : "s"}...`);
await Promise.all([...Array(workers)].map(spawnWorker)); await Promise.all([...Array(workers)].map(spawnWorker));

View file

@ -67,8 +67,6 @@ export function parseUri(value: string | IObject): UriParseResult {
} }
export default class DbResolver { export default class DbResolver {
constructor() {}
/** /**
* AP Note => Misskey Note in DB * AP Note => Misskey Note in DB
*/ */

View file

@ -11,8 +11,6 @@ export class LdSignature {
public preLoad = true; public preLoad = true;
public loderTimeout = 10 * 1000; public loderTimeout = 10 * 1000;
constructor() {}
public async signRsaSignature2017( public async signRsaSignature2017(
data: any, data: any,
privateKey: string, privateKey: string,

View file

@ -46,7 +46,7 @@ export default class Connection {
private channels: Channel[] = []; private channels: Channel[] = [];
private subscribingNotes: Map<string, number> = new Map(); private subscribingNotes: Map<string, number> = new Map();
private cachedNotes: Packed<"Note">[] = []; private cachedNotes: Packed<"Note">[] = [];
private isMastodonCompatible: boolean = false; private isMastodonCompatible = false;
private host: string; private host: string;
private accessToken: string; private accessToken: string;
private currentSubscribe: string[][] = []; private currentSubscribe: string[][] = [];

View file

@ -14,7 +14,7 @@ export async function convertToWebp(
path: string, path: string,
width: number, width: number,
height: number, height: number,
quality: number = 85, quality = 85,
): Promise<IImage> { ): Promise<IImage> {
return convertSharpToWebp(await sharp(path), width, height, quality); return convertSharpToWebp(await sharp(path), width, height, quality);
} }
@ -23,7 +23,7 @@ export async function convertSharpToWebp(
sharp: sharp.Sharp, sharp: sharp.Sharp,
width: number, width: number,
height: number, height: number,
quality: number = 85, quality = 85,
): Promise<IImage> { ): Promise<IImage> {
const data = await sharp const data = await sharp
.resize(width, height, { .resize(width, height, {

View file

@ -365,10 +365,6 @@ onBeforeUnmount(() => {
position: relative; position: relative;
} }
> &.icon {
transform: translateY(0em);
}
&:not(:disabled):hover, &:not(:disabled):hover,
&:focus-visible { &:focus-visible {
color: var(--accent); color: var(--accent);

View file

@ -152,46 +152,50 @@ function top(): void {
scroll(rootEl, { top: 0 }); scroll(rootEl, { top: 0 });
} }
const lists = await os.api("users/lists/list"); const lists = os.api("users/lists/list");
function chooseList(ev: MouseEvent) { async function chooseList(ev: MouseEvent) {
const items = [ await lists.then((res) => {
{ const items = [
type: "link" as const, {
text: i18n.ts.manageLists, type: "link" as const,
icon: "ph-faders-horizontal ph-bold ph-lg", text: i18n.ts.manageLists,
to: "/my/lists", icon: "ph-faders-horizontal ph-bold ph-lg",
}, to: "/my/lists",
].concat( },
lists.map((list) => ({ ].concat(
type: "link" as const, res.map((list) => ({
text: list.name, type: "link" as const,
icon: "", text: list.name,
to: `/timeline/list/${list.id}`, icon: "",
})) to: `/timeline/list/${list.id}`,
); }))
os.popupMenu(items, ev.currentTarget ?? ev.target); );
os.popupMenu(items, ev.currentTarget ?? ev.target);
});
} }
const antennas = await os.api("antennas/list"); const antennas = os.api("antennas/list");
function chooseAntenna(ev: MouseEvent) { async function chooseAntenna(ev: MouseEvent) {
const items = [ await antennas.then((res) => {
{ const items = [
type: "link" as const, {
indicate: false, type: "link" as const,
text: i18n.ts.manageAntennas, indicate: false,
icon: "ph-faders-horizontal ph-bold ph-lg", text: i18n.ts.manageAntennas,
to: "/my/antennas", icon: "ph-faders-horizontal ph-bold ph-lg",
}, to: "/my/antennas",
].concat( },
antennas.map((antenna) => ({ ].concat(
type: "link" as const, res.map((antenna) => ({
text: antenna.name, type: "link" as const,
icon: "", text: antenna.name,
indicate: antenna.hasUnreadNote, icon: "",
to: `/timeline/antenna/${antenna.id}`, indicate: antenna.hasUnreadNote,
})) to: `/timeline/antenna/${antenna.id}`,
); }))
os.popupMenu(items, ev.currentTarget ?? ev.target); );
os.popupMenu(items, ev.currentTarget ?? ev.target);
});
} }
function saveSrc( function saveSrc(

View file

@ -14,7 +14,7 @@ function parseSingleKaTeXMacro(src: string): [string, KaTeXMacro] {
if (!src.startsWith("\\newcommand") || src.slice(-1) !== "}") return invalid; if (!src.startsWith("\\newcommand") || src.slice(-1) !== "}") return invalid;
// current index we are checking (= "\\newcommand".length) // current index we are checking (= "\\newcommand".length)
let currentPos: number = 11; let currentPos = 11;
currentPos = skipSpaces(currentPos); currentPos = skipSpaces(currentPos);
// parse {\name}, (\name), or [\name] // parse {\name}, (\name), or [\name]
@ -61,8 +61,8 @@ function parseSingleKaTeXMacro(src: string): [string, KaTeXMacro] {
currentPos = skipSpaces(currentPos); currentPos = skipSpaces(currentPos);
while (currentPos < src.length - 1) { while (currentPos < src.length - 1) {
let numbersignPos: number = -1; let numbersignPos = -1;
let isEscaped: boolean = false; let isEscaped = false;
for (let i = currentPos; i < src.length - 1; ++i) { for (let i = currentPos; i < src.length - 1; ++i) {
if (src[i] !== "\\" && src[i] !== "#") { if (src[i] !== "\\" && src[i] !== "#") {

View file

@ -7,7 +7,7 @@ export class StickySidebar {
private isTop = false; private isTop = false;
private isBottom = false; private isBottom = false;
private offsetTop: number; private offsetTop: number;
private globalHeaderHeight: number = 59; private globalHeaderHeight = 59;
constructor( constructor(
container: StickySidebar["container"], container: StickySidebar["container"],

View file

@ -5,7 +5,7 @@
"build": "webpack", "build": "webpack",
"watch": "pnpm swc src -d built -D -w", "watch": "pnpm swc src -d built -D -w",
"lint": "pnpm rome check \"src/**/*.ts\"", "lint": "pnpm rome check \"src/**/*.ts\"",
"format": "pnpm rome format * --write && pnpm rome check --apply-suggested *" "format": "pnpm rome format * --write && pnpm rome check --apply *"
}, },
"devDependencies": { "devDependencies": {
"@swc/cli": "^0.1.62", "@swc/cli": "^0.1.62",

View file

@ -64,8 +64,8 @@ importers:
specifier: ^1.0.4 specifier: ^1.0.4
version: 1.0.4 version: 1.0.4
rome: rome:
specifier: ^11.0.0 specifier: ^12.1.3
version: 11.0.0 version: 12.1.3
start-server-and-test: start-server-and-test:
specifier: 1.15.2 specifier: 1.15.2
version: 1.15.2 version: 1.15.2
@ -388,8 +388,8 @@ importers:
specifier: 14.0.0 specifier: 14.0.0
version: 14.0.0 version: 14.0.0
typeorm: typeorm:
specifier: 0.3.16 specifier: 0.3.11
version: 0.3.16(ioredis@5.3.2)(pg@8.11.0)(ts-node@10.9.1) version: 0.3.11(ioredis@5.3.2)(pg@8.11.0)(ts-node@10.9.1)
ulid: ulid:
specifier: 2.3.0 specifier: 2.3.0
version: 2.3.0 version: 2.3.0
@ -2666,48 +2666,48 @@ packages:
picomatch: 2.3.1 picomatch: 2.3.1
dev: true dev: true
/@rometools/cli-darwin-arm64@11.0.0: /@rometools/cli-darwin-arm64@12.1.3:
resolution: {integrity: sha512-F3vkdY+s3FLIEnAjSbyHTuIPB88cLpccimW4ecid5I7S6GzGG3iUJI4xT00JhH73K4P/qW20/9r+kH1T9Du8Xg==} resolution: {integrity: sha512-AmFTUDYjBuEGQp/Wwps+2cqUr+qhR7gyXAUnkL5psCuNCz3807TrUq/ecOoct5MIavGJTH6R4aaSL6+f+VlBEg==}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rometools/cli-darwin-x64@11.0.0: /@rometools/cli-darwin-x64@12.1.3:
resolution: {integrity: sha512-X6jhtS6Iml4GOzgNtnLwIp/KXXhSdqeVyfv69m/AHnIzx3gQAjPZ7BPnJLvTCbhe4SKHL+uTZYFSCJpkUUKE6w==} resolution: {integrity: sha512-k8MbWna8q4LRlb005N2X+JS1UQ+s3ZLBBvwk4fP8TBxlAJXUz17jLLu/Fi+7DTTEmMhM84TWj4FDKW+rNar28g==}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rometools/cli-linux-arm64@11.0.0: /@rometools/cli-linux-arm64@12.1.3:
resolution: {integrity: sha512-dktTJJlTpmycBZ2TwhJBcAO8ztK8DdevdyZnFFxdYRvtmJgTjIsC2UFayf/SbKew8B8q1IhI0it+D6ihAeIpeg==} resolution: {integrity: sha512-X/uLhJ2/FNA3nu5TiyeNPqiD3OZoFfNfRvw6a3ut0jEREPvEn72NI7WPijH/gxSz55znfQ7UQ6iM4DZumUknJg==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rometools/cli-linux-x64@11.0.0: /@rometools/cli-linux-x64@12.1.3:
resolution: {integrity: sha512-WVcnXPNdWGUWo0p4NU8YzuthjYR7q+b4vRcjdxtP1DlpphZmSsoC/RSE85nEqRAz8hChcKUansVzOPM8BSsuGA==} resolution: {integrity: sha512-csP17q1eWiUXx9z6Jr/JJPibkplyKIwiWPYNzvPCGE8pHlKhwZj3YHRuu7Dm/4EOqx0XFIuqqWZUYm9bkIC8xg==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rometools/cli-win32-arm64@11.0.0: /@rometools/cli-win32-arm64@12.1.3:
resolution: {integrity: sha512-tPj6RThQzS7Q45jqQll7NlTYvNcsg/BEP3LYiiazqSh9FAFnMkrV6ewUcMPKWyAfiyLs7jlz4rRvdNRUSygzfQ==} resolution: {integrity: sha512-RymHWeod57EBOJY4P636CgUwYA6BQdkQjh56XKk4pLEHO6X1bFyMet2XL7KlHw5qOTalzuzf5jJqUs+vf3jdXQ==}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rometools/cli-win32-x64@11.0.0: /@rometools/cli-win32-x64@12.1.3:
resolution: {integrity: sha512-bmBai8WHxYjsGk1+je7ZTfCUCWq30WJI3pQM8pzTA674lfGTZ9ymJoZwTaIMSO4rL5V9mlO6uLunsBKso9VqOg==} resolution: {integrity: sha512-yHSKYidqJMV9nADqg78GYA+cZ0hS1twANAjiFibQdXj9aGzD+s/IzIFEIi/U/OBLvWYg/SCw0QVozi2vTlKFDQ==}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
@ -8332,16 +8332,6 @@ packages:
once: 1.4.0 once: 1.4.0
path-is-absolute: 1.0.1 path-is-absolute: 1.0.1
/glob@8.0.3:
resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==}
engines: {node: '>=12'}
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
inherits: 2.0.4
minimatch: 5.1.6
once: 1.4.0
/glob@8.1.0: /glob@8.1.0:
resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
engines: {node: '>=12'} engines: {node: '>=12'}
@ -8351,7 +8341,6 @@ packages:
inherits: 2.0.4 inherits: 2.0.4
minimatch: 5.1.6 minimatch: 5.1.6
once: 1.4.0 once: 1.4.0
dev: false
/global-dirs@3.0.1: /global-dirs@3.0.1:
resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
@ -10071,7 +10060,7 @@ packages:
dependencies: dependencies:
config-chain: 1.1.13 config-chain: 1.1.13
editorconfig: 0.15.3 editorconfig: 0.15.3
glob: 8.0.3 glob: 8.1.0
nopt: 6.0.0 nopt: 6.0.0
/js-levenshtein@1.1.6: /js-levenshtein@1.1.6:
@ -11309,12 +11298,6 @@ packages:
hasBin: true hasBin: true
dev: false dev: false
/mkdirp@2.1.6:
resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==}
engines: {node: '>=10'}
hasBin: true
dev: false
/mocha@10.2.0: /mocha@10.2.0:
resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==}
engines: {node: '>= 14.0.0'} engines: {node: '>= 14.0.0'}
@ -13548,18 +13531,18 @@ packages:
fsevents: 2.3.2 fsevents: 2.3.2
dev: true dev: true
/rome@11.0.0: /rome@12.1.3:
resolution: {integrity: sha512-rRo6JOwpMLc3OkeTDRXkrmrDqnxDvZ75GS4f0jLDBNmRgDXWbu0F8eVnJoRn+VbK2AE7vWvhVOMBjnWowcopkQ==} resolution: {integrity: sha512-e+ff72hxDpe/t5/Us7YRBVw3PBET7SeczTQNn6tvrWdrCaAw3qOukQQ+tDCkyFtS4yGsnhjrJbm43ctNbz27Yg==}
engines: {node: '>=14.*'} engines: {node: '>=14.*'}
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
optionalDependencies: optionalDependencies:
'@rometools/cli-darwin-arm64': 11.0.0 '@rometools/cli-darwin-arm64': 12.1.3
'@rometools/cli-darwin-x64': 11.0.0 '@rometools/cli-darwin-x64': 12.1.3
'@rometools/cli-linux-arm64': 11.0.0 '@rometools/cli-linux-arm64': 12.1.3
'@rometools/cli-linux-x64': 11.0.0 '@rometools/cli-linux-x64': 12.1.3
'@rometools/cli-win32-arm64': 11.0.0 '@rometools/cli-win32-arm64': 12.1.3
'@rometools/cli-win32-x64': 11.0.0 '@rometools/cli-win32-x64': 12.1.3
dev: true dev: true
/rss-parser@3.13.0: /rss-parser@3.13.0:
@ -13577,7 +13560,7 @@ packages:
/rxjs@7.8.0: /rxjs@7.8.0:
resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==}
dependencies: dependencies:
tslib: 2.4.1 tslib: 2.5.3
dev: true dev: true
/s-age@1.1.2: /s-age@1.1.2:
@ -14969,10 +14952,10 @@ packages:
/tslib@2.4.1: /tslib@2.4.1:
resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
dev: false
/tslib@2.5.3: /tslib@2.5.3:
resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==}
dev: false
/tsscmp@1.0.6: /tsscmp@1.0.6:
resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==}
@ -15067,8 +15050,8 @@ packages:
/typedarray@0.0.6: /typedarray@0.0.6:
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
/typeorm@0.3.16(ioredis@5.3.2)(pg@8.11.0)(ts-node@10.9.1): /typeorm@0.3.11(ioredis@5.3.2)(pg@8.11.0)(ts-node@10.9.1):
resolution: {integrity: sha512-wJ4Qy1oqRKNDdZiBTTaVMqwo/XxC52Q7uNPTjltPgLhvIW173bL6Iad0lhptMOsFlpixFPaUu3PNziaRBwX2Zw==} resolution: {integrity: sha512-pzdOyWbVuz/z8Ww6gqvBW4nylsM0KLdUCDExr2gR20/x1khGSVxQkjNV/3YqliG90jrWzrknYbYscpk8yxFJVg==}
engines: {node: '>= 12.9.0'} engines: {node: '>= 12.9.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -15077,9 +15060,9 @@ packages:
better-sqlite3: ^7.1.2 || ^8.0.0 better-sqlite3: ^7.1.2 || ^8.0.0
hdb-pool: ^0.1.6 hdb-pool: ^0.1.6
ioredis: ^5.0.4 ioredis: ^5.0.4
mongodb: ^5.2.0 mongodb: ^3.6.0
mssql: ^9.1.1 mssql: ^7.3.0
mysql2: ^2.2.5 || ^3.0.1 mysql2: ^2.2.5
oracledb: ^5.1.0 oracledb: ^5.1.0
pg: ^8.5.1 pg: ^8.5.1
pg-native: ^3.0.0 pg-native: ^3.0.0
@ -15133,15 +15116,17 @@ packages:
date-fns: 2.30.0 date-fns: 2.30.0
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
dotenv: 16.1.4 dotenv: 16.1.4
glob: 8.1.0 glob: 7.2.3
ioredis: 5.3.2 ioredis: 5.3.2
mkdirp: 2.1.6 js-yaml: 4.1.0
mkdirp: 1.0.4
pg: 8.11.0 pg: 8.11.0
reflect-metadata: 0.1.13 reflect-metadata: 0.1.13
sha.js: 2.4.11 sha.js: 2.4.11
ts-node: 10.9.1(@swc/core@1.3.62)(@types/node@18.11.18)(typescript@5.1.3) ts-node: 10.9.1(@swc/core@1.3.62)(@types/node@18.11.18)(typescript@5.1.3)
tslib: 2.5.3 tslib: 2.5.3
uuid: 9.0.0 uuid: 8.3.2
xml2js: 0.4.23
yargs: 17.7.2 yargs: 17.7.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -15992,6 +15977,14 @@ packages:
xmlbuilder: 9.0.7 xmlbuilder: 9.0.7
dev: false dev: false
/xml2js@0.4.23:
resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==}
engines: {node: '>=4.0.0'}
dependencies:
sax: 1.2.4
xmlbuilder: 11.0.1
dev: false
/xml2js@0.5.0: /xml2js@0.5.0:
resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==}
engines: {node: '>=4.0.0'} engines: {node: '>=4.0.0'}

View file

@ -16,6 +16,7 @@
"packages/backend/nsfw-model/", "packages/backend/nsfw-model/",
"packages/client/src/emojilist.json", "packages/client/src/emojilist.json",
"*.md", "*.md",
"**/tsconfig.json",
"*/.yml" "*/.yml"
] ]
} }