diff --git a/package.json b/package.json index 0cbfab6..181761e 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "build": "run-p build:*", "build:frontend": "webpack", "build:backend": "tsc", - "build:views": "copyfiles -u 1 src/views/*.pug ./built/", + "build:views": "copyfiles -u 1 src/backend/views/*.pug ./built/", "build:styles": "sass styles/:built/assets", "start": "node built/app.js", "dev": "run-p dev:*", @@ -67,6 +67,8 @@ "style-loader": "^3.2.1", "styled-components": "^5.3.1", "ts-loader": "^9.2.5", + "tsc-alias": "^1.3.9", + "tsconfig-paths-webpack-plugin": "^3.5.1", "typeorm": "0.2.25", "typescript": "^4.4.2", "uuid": "^8.3.0", diff --git a/src/app.ts b/src/app.ts index e775d28..baa9456 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,8 +1,8 @@ -import { initDb } from './services/db'; +import { initDb } from './backend/services/db'; import 'reflect-metadata'; (async () => { await initDb(); - (await import('./services/worker')).default(); - (await import('./server')).default(); -})(); \ No newline at end of file + (await import('./backend/services/worker')).default(); + (await import('./backend/server')).default(); +})(); diff --git a/src/const.ts b/src/backend/const.ts similarity index 100% rename from src/const.ts rename to src/backend/const.ts diff --git a/src/controllers/meta.ts b/src/backend/controllers/meta.ts similarity index 100% rename from src/controllers/meta.ts rename to src/backend/controllers/meta.ts diff --git a/src/controllers/ranking.ts b/src/backend/controllers/ranking.ts similarity index 100% rename from src/controllers/ranking.ts rename to src/backend/controllers/ranking.ts diff --git a/src/controllers/session.ts b/src/backend/controllers/session.ts similarity index 100% rename from src/controllers/session.ts rename to src/backend/controllers/session.ts diff --git a/src/die.ts b/src/backend/die.ts similarity index 100% rename from src/die.ts rename to src/backend/die.ts diff --git a/src/functions/format.ts b/src/backend/functions/format.ts similarity index 95% rename from src/functions/format.ts rename to src/backend/functions/format.ts index 72acec5..b6bb7a7 100644 --- a/src/functions/format.ts +++ b/src/backend/functions/format.ts @@ -1,6 +1,6 @@ -import { config } from '../config'; +import { config } from '../../config'; import { User } from '../models/entities/user'; -import { Score } from '../types/score'; +import { Score } from '../../common/types/score'; export const defaultTemplate = `昨日のMisskeyの活動は diff --git a/src/functions/gen-token.ts b/src/backend/functions/gen-token.ts similarity index 100% rename from src/functions/gen-token.ts rename to src/backend/functions/gen-token.ts diff --git a/src/functions/get-scores.ts b/src/backend/functions/get-scores.ts similarity index 93% rename from src/functions/get-scores.ts rename to src/backend/functions/get-scores.ts index cec1dfb..58f4e0c 100644 --- a/src/functions/get-scores.ts +++ b/src/backend/functions/get-scores.ts @@ -1,5 +1,5 @@ import { User } from '../models/entities/user'; -import { Score } from '../types/score'; +import { Score } from '../../common/types/score'; import { api } from '../services/misskey'; import { toSignedString } from './to-signed-string'; @@ -16,4 +16,4 @@ export const getScores = async (user: User): Promise => { followingDelta: toSignedString(miUser.followingCount - user.prevFollowingCount), followersDelta: toSignedString(miUser.followersCount - user.prevFollowersCount), }; -}; \ No newline at end of file +}; diff --git a/src/functions/ranking.ts b/src/backend/functions/ranking.ts similarity index 100% rename from src/functions/ranking.ts rename to src/backend/functions/ranking.ts diff --git a/src/functions/to-signed-string.ts b/src/backend/functions/to-signed-string.ts similarity index 100% rename from src/functions/to-signed-string.ts rename to src/backend/functions/to-signed-string.ts diff --git a/src/functions/update-rating.ts b/src/backend/functions/update-rating.ts similarity index 100% rename from src/functions/update-rating.ts rename to src/backend/functions/update-rating.ts diff --git a/src/functions/update-score.ts b/src/backend/functions/update-score.ts similarity index 100% rename from src/functions/update-score.ts rename to src/backend/functions/update-score.ts diff --git a/src/functions/users.ts b/src/backend/functions/users.ts similarity index 100% rename from src/functions/users.ts rename to src/backend/functions/users.ts diff --git a/src/models/entities/used-token.ts b/src/backend/models/entities/used-token.ts similarity index 100% rename from src/models/entities/used-token.ts rename to src/backend/models/entities/used-token.ts diff --git a/src/models/entities/user.ts b/src/backend/models/entities/user.ts similarity index 87% rename from src/models/entities/user.ts rename to src/backend/models/entities/user.ts index 5543fc1..23e8ff2 100644 --- a/src/models/entities/user.ts +++ b/src/backend/models/entities/user.ts @@ -1,9 +1,9 @@ import { Entity, Column, PrimaryGeneratedColumn, Index } from 'typeorm'; -import { AlertMode, alertModes } from '../../types/alert-mode'; -import { visibilities, Visibility } from '../../types/visibility'; +import { AlertMode, alertModes } from '../../../common/types/alert-mode'; +import { visibilities, Visibility } from '../../../common/types/visibility'; @Entity() -@Index([ 'username', 'host' ], { unique: true }) +@Index(['username', 'host'], { unique: true }) export class User { @PrimaryGeneratedColumn() public id: number; @@ -97,4 +97,4 @@ export class User { default: false, }) public bannedFromRanking: boolean; -} \ No newline at end of file +} diff --git a/src/models/index.ts b/src/backend/models/index.ts similarity index 100% rename from src/models/index.ts rename to src/backend/models/index.ts diff --git a/src/models/repositories/.gitkeep b/src/backend/models/repositories/.gitkeep similarity index 100% rename from src/models/repositories/.gitkeep rename to src/backend/models/repositories/.gitkeep diff --git a/src/render.ts b/src/backend/render.ts similarity index 97% rename from src/render.ts rename to src/backend/render.ts index d385040..1304f48 100644 --- a/src/render.ts +++ b/src/backend/render.ts @@ -7,4 +7,4 @@ export const render = views(__dirname + '/views', { extension: 'pug', options: { ...constant, } -}); \ No newline at end of file +}); diff --git a/src/router.ts b/src/backend/router.ts similarity index 96% rename from src/router.ts rename to src/backend/router.ts index daf0507..244feb2 100644 --- a/src/router.ts +++ b/src/backend/router.ts @@ -6,13 +6,13 @@ import koaSend from 'koa-send'; import { v4 as uuid } from 'uuid'; import ms from 'ms'; -import { config } from './config'; +import { config } from '../config'; import { upsertUser, getUser, updateUser, updateUsersMisshaiToken, getUserByMisshaiToken, deleteUser } from './functions/users'; import { api } from './services/misskey'; -import { AlertMode, alertModes } from './types/alert-mode'; +import { AlertMode, alertModes } from '../common/types/alert-mode'; import { Users } from './models'; import { send } from './services/send'; -import { visibilities, Visibility } from './types/visibility'; +import { visibilities, Visibility } from '../common/types/visibility'; import { defaultTemplate } from './functions/format'; import { die } from './die'; @@ -218,7 +218,7 @@ router.post('/send', async ctx => { router.get('/assets/(.*)', async ctx => { await koaSend(ctx as any, ctx.path.replace('/assets/', ''), { - root: `${__dirname}/assets/`, + root: `${__dirname}/../assets/`, maxage: process.env.NODE_ENV !== 'production' ? 0 : ms('7 days'), }); }); diff --git a/src/server.ts b/src/backend/server.ts similarity index 97% rename from src/server.ts rename to src/backend/server.ts index 344e91f..e1a42e0 100644 --- a/src/server.ts +++ b/src/backend/server.ts @@ -3,7 +3,7 @@ import bodyParser from 'koa-bodyparser'; import { Action, useKoaServer } from 'routing-controllers'; import constant from './const'; -import { config } from './config'; +import { config } from '../config'; import { render } from './render'; import { router } from './router'; import { getUserByMisshaiToken } from './functions/users'; diff --git a/src/services/db.ts b/src/backend/services/db.ts similarity index 94% rename from src/services/db.ts rename to src/backend/services/db.ts index a46a95b..0c0ca74 100644 --- a/src/services/db.ts +++ b/src/backend/services/db.ts @@ -1,5 +1,5 @@ import { getConnection, createConnection, Connection } from 'typeorm'; -import { config } from '../config'; +import { config } from '../../config'; import { User } from '../models/entities/user'; import { UsedToken } from '../models/entities/used-token'; @@ -29,4 +29,4 @@ export const initDb = async (force = false): Promise => { extra: config.db.extra, entities, }); -}; \ No newline at end of file +}; diff --git a/src/services/misskey.ts b/src/backend/services/misskey.ts similarity index 99% rename from src/services/misskey.ts rename to src/backend/services/misskey.ts index 71afa3b..86330d8 100644 --- a/src/services/misskey.ts +++ b/src/backend/services/misskey.ts @@ -22,4 +22,4 @@ export const apiAvailable = async (host: string, i: string): Promise => } catch { return false; } -}; \ No newline at end of file +}; diff --git a/src/services/send.ts b/src/backend/services/send.ts similarity index 99% rename from src/services/send.ts rename to src/backend/services/send.ts index 0f6d985..4904f89 100644 --- a/src/services/send.ts +++ b/src/backend/services/send.ts @@ -31,4 +31,4 @@ export const send = async (user: User): Promise => { } else { console.info(`will not send ${user.username}@${user.host}'s misshaialert`); } -}; \ No newline at end of file +}; diff --git a/src/services/worker.ts b/src/backend/services/worker.ts similarity index 96% rename from src/services/worker.ts rename to src/backend/services/worker.ts index d614af5..9bdde1f 100644 --- a/src/services/worker.ts +++ b/src/backend/services/worker.ts @@ -5,7 +5,7 @@ import { Not } from 'typeorm'; import { deleteUser } from '../functions/users'; import { MiUser, updateScore } from '../functions/update-score'; import { updateRating } from '../functions/update-rating'; -import { AlertMode } from '../types/alert-mode'; +import { AlertMode } from '../../common/types/alert-mode'; import { Users } from '../models'; import { send } from './send'; import { api } from './misskey'; diff --git a/src/store.ts b/src/backend/store.ts similarity index 100% rename from src/store.ts rename to src/backend/store.ts diff --git a/src/views/_base.pug b/src/backend/views/_base.pug similarity index 100% rename from src/views/_base.pug rename to src/backend/views/_base.pug diff --git a/src/views/_components.pug b/src/backend/views/_components.pug similarity index 100% rename from src/views/_components.pug rename to src/backend/views/_components.pug diff --git a/src/views/about.pug b/src/backend/views/about.pug similarity index 100% rename from src/views/about.pug rename to src/backend/views/about.pug diff --git a/src/views/error.pug b/src/backend/views/error.pug similarity index 100% rename from src/views/error.pug rename to src/backend/views/error.pug diff --git a/src/views/frontend.pug b/src/backend/views/frontend.pug similarity index 100% rename from src/views/frontend.pug rename to src/backend/views/frontend.pug diff --git a/src/views/mypage.pug b/src/backend/views/mypage.pug similarity index 100% rename from src/views/mypage.pug rename to src/backend/views/mypage.pug diff --git a/src/views/ranking.pug b/src/backend/views/ranking.pug similarity index 100% rename from src/views/ranking.pug rename to src/backend/views/ranking.pug diff --git a/src/views/term.pug b/src/backend/views/term.pug similarity index 100% rename from src/views/term.pug rename to src/backend/views/term.pug diff --git a/src/views/welcome.pug b/src/backend/views/welcome.pug similarity index 100% rename from src/views/welcome.pug rename to src/backend/views/welcome.pug diff --git a/src/types/alert-mode.ts b/src/common/types/alert-mode.ts similarity index 100% rename from src/types/alert-mode.ts rename to src/common/types/alert-mode.ts diff --git a/src/types/Score.ts b/src/common/types/score.ts similarity index 100% rename from src/types/Score.ts rename to src/common/types/score.ts diff --git a/src/types/Visibility.ts b/src/common/types/visibility.ts similarity index 100% rename from src/types/Visibility.ts rename to src/common/types/visibility.ts diff --git a/src/frontend/components/Header.tsx b/src/frontend/components/Header.tsx index b1a6062..e603746 100644 --- a/src/frontend/components/Header.tsx +++ b/src/frontend/components/Header.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Link } from 'react-router-dom'; -import { welcomeMessage } from '../../misc/welcome-message'; +import { welcomeMessage } from '../misc/welcome-message'; export type HeaderProps = { hasTopLink?: boolean; diff --git a/src/misc/welcome-message.ts b/src/frontend/misc/welcome-message.ts similarity index 100% rename from src/misc/welcome-message.ts rename to src/frontend/misc/welcome-message.ts diff --git a/src/misc/error.ts b/src/misc/error.ts deleted file mode 100644 index f301988..0000000 --- a/src/misc/error.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const errors = { - -}; \ No newline at end of file diff --git a/src/tools/calculate-all-rating.ts b/src/tools/calculate-all-rating.ts index a59a62d..6b456e3 100644 --- a/src/tools/calculate-all-rating.ts +++ b/src/tools/calculate-all-rating.ts @@ -1,7 +1,7 @@ -import { initDb } from '../services/db'; +import { initDb } from '../backend/services/db'; import 'reflect-metadata'; (async () => { await initDb(); (await import('./calculate-all-rating.worker')).default(); -})(); \ No newline at end of file +})(); diff --git a/src/tools/calculate-all-rating.worker.ts b/src/tools/calculate-all-rating.worker.ts index a8d9b01..9a76d5d 100644 --- a/src/tools/calculate-all-rating.worker.ts +++ b/src/tools/calculate-all-rating.worker.ts @@ -1,7 +1,7 @@ -import { Users } from '../models'; -import { updateRating } from '../functions/update-rating'; -import { api } from '../services/misskey'; -import { MiUser } from '../functions/update-score'; +import { Users } from '../backend/models'; +import { updateRating } from '../backend/functions/update-rating'; +import { api } from '../backend/services/misskey'; +import { MiUser } from '../backend/functions/update-score'; export default async () => { const users = await Users.find(); @@ -14,4 +14,4 @@ export default async () => { } await updateRating(u, miUser); } -}; \ No newline at end of file +}; diff --git a/yarn.lock b/yarn.lock index 585d4c5..05aa7ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -273,6 +273,22 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== +"@jfonx/console-utils@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@jfonx/console-utils/-/console-utils-1.0.3.tgz#cbb7f911e4191a4a2fe1ba4807d29f100b5d099f" + integrity sha512-/XbnqjWc7yNZVLAJJO9rimfIz9DYte+cj3EF9hwhIv7vw6ok2t3cjl0huYsmD89srKH03vWjeqAcIH86CuYj3g== + dependencies: + colors "^1.3.3" + +"@jfonx/file-utils@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@jfonx/file-utils/-/file-utils-3.0.1.tgz#8d3d6e931a283420fe29802ea71c28dd397cd8d3" + integrity sha512-qwH0CuzWmghtTHGMyuPHj6SJPQgWeiXFJBfrxCWMbzxVCa3aLZPEfzSdlSnC/UABsk6feRkNdHXw59rVshNPqw== + dependencies: + "@jfonx/console-utils" "^1.0.3" + comment-json "^4.1.0" + find-up "^4.1.0" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -418,6 +434,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + "@types/keygrip@*": version "1.0.2" resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.2.tgz#513abfd256d7ad0bf1ee1873606317b33b1b2a72" @@ -988,6 +1009,11 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= +array-timsort@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926" + integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -1251,7 +1277,7 @@ character-parser@^2.2.0: dependencies: is-regex "^1.0.3" -"chokidar@>=3.0.0 <4.0.0": +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.0: version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== @@ -1400,16 +1426,37 @@ colorette@^1.2.1, colorette@^1.2.2, colorette@^1.3.0: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== +colors@^1.3.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + commander@^2.19.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + commander@^7.0.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +comment-json@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.1.1.tgz#49df4948704bebb1cc0ffa6910e25669b668b7c5" + integrity sha512-v8gmtPvxhBlhdRBLwdHSjGy9BgA23t9H1FctdQKyUrErPjSrJcdDMqBq9B4Irtm7w3TNYLQJNH6ARKnpyag1sA== + dependencies: + array-timsort "^1.0.3" + core-util-is "^1.0.2" + esprima "^4.0.1" + has-own-prop "^2.0.0" + repeat-string "^1.6.1" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -1700,6 +1747,11 @@ destroy@^1.0.4, destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" @@ -1801,7 +1853,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0: +enhanced-resolve@^5.0.0, enhanced-resolve@^5.7.0, enhanced-resolve@^5.8.0: version "5.8.2" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b" integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA== @@ -1985,7 +2037,7 @@ espree@^7.3.0, espree@^7.3.1: acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" -esprima@^4.0.0: +esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -2054,6 +2106,13 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + express-session@^1.17.1: version "1.17.2" resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.2.tgz#397020374f9bf7997f891b85ea338767b30d0efd" @@ -2193,6 +2252,14 @@ finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" +find-node-modules@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-2.1.2.tgz#57565a3455baf671b835bc6b2134a9b938b9c53c" + integrity sha512-x+3P4mbtRPlSiVE1Qco0Z4YLU8WFiFcuWTf3m75OV9Uzcfs2Bg+O9N+r/K0AnmINBW06KpfqKwYJbFlFq4qNug== + dependencies: + findup-sync "^4.0.0" + merge "^2.1.0" + find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -2208,6 +2275,16 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +findup-sync@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" + integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^4.0.2" + resolve-dir "^1.0.1" + flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -2349,6 +2426,26 @@ global-dirs@^2.0.1: dependencies: ini "^1.3.5" +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -2361,7 +2458,7 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@^11.0.3: +globby@^11.0.2, globby@^11.0.3: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== @@ -2417,6 +2514,11 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-own-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" + integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== + has-symbols@^1.0.0, has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" @@ -2799,6 +2901,11 @@ is-whitespace@^0.3.0: resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" integrity sha1-Fjnssb4DauxppUy7QBz77XEUq38= +is-windows@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" @@ -2906,6 +3013,13 @@ json5-loader@^4.0.1: loader-utils "^2.0.0" schema-utils "^3.0.0" +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + json5@^2.1.2, json5@^2.1.3: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" @@ -3252,12 +3366,17 @@ merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +merge@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98" + integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== + methods@^1.0.1, methods@^1.1.2, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -micromatch@^4.0.0, micromatch@^4.0.4: +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -4352,6 +4471,11 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -4374,6 +4498,14 @@ resolve-cwd@^3.0.0: dependencies: resolve-from "^5.0.0" +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -5060,6 +5192,38 @@ ts-node@3.3.0: v8flags "^3.0.0" yn "^2.0.0" +tsc-alias@^1.3.9: + version "1.3.9" + resolved "https://registry.yarnpkg.com/tsc-alias/-/tsc-alias-1.3.9.tgz#0c9d1dd571c0a97af8159d20e7cd4ce6aaab1799" + integrity sha512-PXNsdsuygWpvQrt41D7CBndJyZ+8Juf2BDvQ1OJNqq0QsMR4i+A4rfniY/NVwb70gW4nMDJBvNxxvzLJjakXtQ== + dependencies: + "@jfonx/console-utils" "^1.0.3" + "@jfonx/file-utils" "^3.0.1" + chokidar "^3.5.0" + commander "^6.2.1" + find-node-modules "^2.1.0" + globby "^11.0.2" + normalize-path "^3.0.0" + +tsconfig-paths-webpack-plugin@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.1.tgz#e4dbf492a20dca9caab60086ddacb703afc2b726" + integrity sha512-n5CMlUUj+N5pjBhBACLq4jdr9cPTitySCjIosoQm0zwK99gmrcTGAfY9CwxRFT9+9OleNWXPRUcxsKP4AYExxQ== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.7.0" + tsconfig-paths "^3.9.0" + +tsconfig-paths@^3.9.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + tsconfig@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032" @@ -5357,7 +5521,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.9: +which@^1.2.14, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==