From fff4c671225ce6506d5369293c581c6b2801bdf0 Mon Sep 17 00:00:00 2001 From: PASQUET Fabien Date: Fri, 11 Aug 2023 15:12:34 +0200 Subject: [PATCH] feat: replace ts-node by tsx --- bin/build.ts | 27 +--- bin/dev.ts | 2 +- bin/indexationAlgolia.ts | 29 +--- bin/validateMarkdown.ts | 16 +- package.json | 15 +- src/app-paths.ts | 2 + src/constants.ts | 6 +- .../useLayoutTemplateContainer.tsx | 22 +-- .../usePostPageContainer.tsx | 5 +- src/entry-server.tsx | 1 + src/helpers/getEnvHelper.ts | 2 +- src/hooks/useSeoPost.ts | 9 +- tsconfig.json | 6 +- tsconfig.node.json | 2 +- vite.config.ts | 2 - yarn.lock | 141 +++++++----------- 16 files changed, 89 insertions(+), 198 deletions(-) diff --git a/bin/build.ts b/bin/build.ts index 83699dd0c..7fcf39a36 100644 --- a/bin/build.ts +++ b/bin/build.ts @@ -1,14 +1,12 @@ import { cpSync } from 'node:fs'; import { resolve } from 'node:path'; import { build as buildVite } from 'vite'; -import { createServer as createViteServer } from 'vite'; + +import { ASSETS_DIR, OUT_DIR, OUT_PUBLIC_DIR } from '@/app-paths'; +import { writeJsonDataFiles } from '@/helpers/contentHelper'; const BASE_URL = process.env.BASE_URL || '/'; const MODE = process.env.NODE_ENV || 'production'; -const ROOT_DIR = process.cwd(); -const ASSETS_DIR = resolve(ROOT_DIR, '_assets'); -const OUT_DIR = resolve(ROOT_DIR, 'dist'); -const OUT_PUBLIC_DIR = resolve(OUT_DIR, 'public'); const args = process.argv.slice(2).reduce>((currentArgs, currentArg) => { const [key, value] = currentArg.replace('--', '').split('='); @@ -16,26 +14,9 @@ const args = process.argv.slice(2).reduce => { - const vite = await createViteServer({ - server: { middlewareMode: true }, - base: BASE_URL, - appType: 'custom', - }); - - try { - const { writeJsonDataFiles } = await vite.ssrLoadModule('/src/helpers/contentHelper.ts'); - writeJsonDataFiles(); - } catch (e) { - console.error(e); - } finally { - vite.close(); - } -}; - const build = async (): Promise => { cpSync(ASSETS_DIR, resolve(OUT_PUBLIC_DIR, 'imgs'), { recursive: true }); - await writeJsonDataFilesAndFeedFile(); + await writeJsonDataFiles(); if (args.ssr) { await buildVite({ diff --git a/bin/dev.ts b/bin/dev.ts index d5b5304c2..e5b9e0ffd 100644 --- a/bin/dev.ts +++ b/bin/dev.ts @@ -9,7 +9,7 @@ const dev = async (): Promise => { }, }); - await vite.ssrLoadModule('/src/server.ts'); + await vite.ssrLoadModule('/src/server'); }; dev(); diff --git a/bin/indexationAlgolia.ts b/bin/indexationAlgolia.ts index 2a93e628c..a2c1ac1ac 100644 --- a/bin/indexationAlgolia.ts +++ b/bin/indexationAlgolia.ts @@ -1,24 +1,7 @@ -import { createServer as createViteServer } from 'vite'; +import { indexationAlglolia } from '@/helpers/indexationAlgoliaHelper'; -const indexationAlglolia = async (): Promise => { - const vite = await createViteServer({ - server: { middlewareMode: true }, - appType: 'custom', - }); - - try { - const { indexationAlglolia } = await vite.ssrLoadModule('/src/helpers/indexationAlgoliaHelper.ts'); - - await indexationAlglolia({ - appId: process.env.ALGOLIA_APP_ID as string, - apiIndexingKey: process.env.ALGOLIA_API_INDEXING_KEY as string, - index: process.env.ALGOLIA_INDEX as string, - }); - } catch (e) { - console.log(e); - } finally { - vite.close(); - } -}; - -indexationAlglolia(); +indexationAlglolia({ + appId: process.env.ALGOLIA_APP_ID as string, + apiIndexingKey: process.env.ALGOLIA_API_INDEXING_KEY as string, + index: process.env.ALGOLIA_INDEX as string, +}); diff --git a/bin/validateMarkdown.ts b/bin/validateMarkdown.ts index 718b9136b..b592d953f 100644 --- a/bin/validateMarkdown.ts +++ b/bin/validateMarkdown.ts @@ -1,24 +1,14 @@ -import { createServer as createViteServer } from 'vite'; +import { MarkdownInvalidError, validateMarkdown } from '@/helpers/markdownHelper'; -import { MarkdownInvalidError } from '../src/helpers/markdownHelper'; import { getArgs } from './binHelper'; (async (): Promise => { const args = getArgs<{ ci: boolean }>(); - const vite = await createViteServer({ - server: { middlewareMode: true }, - appType: 'custom', - }); - try { - const { validateMarkdown } = await vite.ssrLoadModule('/src/helpers/markdownHelper.ts'); validateMarkdown(); - vite.close(); - } catch (e) { - vite.close(); - - const markdownInvalidError = e as MarkdownInvalidError; + } catch (error) { + const markdownInvalidError = error as MarkdownInvalidError; if (args.ci) { console.log(`::set-output name=filePath::${markdownInvalidError.markdownFilePathRelative}`); console.log(`::set-output name=reason::${markdownInvalidError.reason}`); diff --git a/package.json b/package.json index 2ebcdcf74..2a018f1ff 100644 --- a/package.json +++ b/package.json @@ -4,12 +4,11 @@ "type": "module", "scripts": { "postinstall": "husky install", - "ts-node": "ts-node -r dotenv/config", - "validate-markdown": "yarn ts-node bin/validateMarkdown", - "indexation:algolia": "yarn ts-node bin/indexationAlgolia", - "build": "yarn ts-node bin/build", - "prerender": "yarn build && yarn ts-node bin/prerender", - "start:dev": "yarn ts-node bin/dev", + "validate-markdown": "tsx bin/validateMarkdown", + "indexation:algolia": "tsx bin/indexationAlgolia", + "build": "tsx bin/build", + "prerender": "yarn build && tsx bin/prerender", + "start:dev": "tsx bin/dev", "start:prod": "NODE_ENV=production node dist/server", "start:static": "npx serv --path dist/public", "lint:es": "eslint --ext .ts,.tsx src bin", @@ -107,13 +106,13 @@ "storybook": "^7.1.0", "stylelint": "^15.2.0", "stylelint-config-standard-scss": "^7.0.1", - "ts-node": "^10.9.1", "typescript": "^4.7.4", "unified": "^10.1.2", "vite": "^4.4.5", "vite-tsconfig-paths": "^4.2.0", "vitest": "^0.33.0", "zod": "^3.21.4", - "zod-validation-error": "^1.3.1" + "zod-validation-error": "^1.3.1", + "tsx": "^3.12.7" } } diff --git a/src/app-paths.ts b/src/app-paths.ts index eef1fe2c9..9a2815d87 100644 --- a/src/app-paths.ts +++ b/src/app-paths.ts @@ -9,3 +9,5 @@ export const MARKDOWN_FILE_PATHS = globSync([`${POSTS_DIR}/**/*.md`, `${AUTHORS_ export const PUBLIC_DIR = resolve(ROOT_DIR, 'public'); export const IMGS_DIR = resolve(PUBLIC_DIR, 'imgs'); export const DATA_DIR = resolve(PUBLIC_DIR, 'data'); +export const OUT_DIR = resolve(ROOT_DIR, 'dist'); +export const OUT_PUBLIC_DIR = resolve(OUT_DIR, 'public'); diff --git a/src/constants.ts b/src/constants.ts index cb5538b03..a1cc99ee4 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,8 +1,8 @@ import { getEnv } from '@/helpers/getEnvHelper'; -export const IS_SSR = import.meta.env.SSR; -export const IS_PRERENDER = import.meta.env.MODE === 'prerender'; -export const BASE_URL = getEnv('BASE_URL') || '/'; +export const IS_SSR = import.meta.env?.SSR ?? false; +export const IS_PRERENDER = import.meta.env?.MODE === 'prerender' ?? false; +export const BASE_URL = getEnv('BASE_URL'); export const AUTHORIZED_LANGUAGES = ['fr', 'en'] as const; export const DEFAULT_LANGUAGE = 'fr'; export const NUMBER_OF_ITEMS_PER_PAGE = 6; diff --git a/src/containers/LayoutTemplateContainer/useLayoutTemplateContainer.tsx b/src/containers/LayoutTemplateContainer/useLayoutTemplateContainer.tsx index b5a2c41b7..9e9461e65 100644 --- a/src/containers/LayoutTemplateContainer/useLayoutTemplateContainer.tsx +++ b/src/containers/LayoutTemplateContainer/useLayoutTemplateContainer.tsx @@ -1,4 +1,4 @@ -import { useHead, useLink, useMeta, useScript } from 'hoofd'; +import { useLink, useMeta, useScript } from 'hoofd'; import React, { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { matchPath, useLocation } from 'react-router-dom'; @@ -18,23 +18,9 @@ export const useLayoutTemplateContainer = (): Omit { const { t, i18n } = useTranslation(); const { getDateToString } = useDateToString(); const post = useLoaderData() as ReturnType; - useSeoPost({ - title: post.title, - post, - }); + useSeoPost(post); const newsletterBlock = useNewsletterBlock(); useEffect(() => { diff --git a/src/entry-server.tsx b/src/entry-server.tsx index 21c248c22..26de97225 100644 --- a/src/entry-server.tsx +++ b/src/entry-server.tsx @@ -42,6 +42,7 @@ export const render = async (options: RenderOptions): Promise => { ); const staticPayload = dispatcher.toStatic(); + const html = ReactDOMServer.renderToString( (key: string): T { - return import.meta.env[key] ?? undefined; + return import.meta?.env ? import.meta.env[key] : undefined; }; diff --git a/src/hooks/useSeoPost.ts b/src/hooks/useSeoPost.ts index 773456800..903d54c3e 100644 --- a/src/hooks/useSeoPost.ts +++ b/src/hooks/useSeoPost.ts @@ -6,14 +6,9 @@ import { type getDataFromPostPage } from '@/helpers/contentHelper'; import { generatePath } from '@/helpers/routerHelper'; import { useTitle } from '@/hooks/useTitle'; -export type UseSeoOptions = { - title: string; - post: ReturnType; -}; - -export const useSeoPost = ({ title, post }: UseSeoOptions): void => { +export const useSeoPost = (post: ReturnType): void => { const { i18n } = useTranslation(); - useTitle(title); + useTitle(post.title); useMeta({ name: 'author', content: post.authors.map((author) => author.name).join(', ') }); useMeta({ name: 'description', content: post.excerpt }); useMeta({ property: 'og:type', content: 'article' }); diff --git a/tsconfig.json b/tsconfig.json index f34880e29..9ac8a927b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -27,9 +27,5 @@ "types": ["vitest/globals", "@types/gtag.js"] }, "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }], - "ts-node": { - "esm": true, - "experimentalSpecifierResolution": "node" - } + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/tsconfig.node.json b/tsconfig.node.json index 081a785c4..61ff4a72b 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -10,5 +10,5 @@ "resolveJsonModule": true, "downlevelIteration": true }, - "include": ["vite.config.ts", "plugins"] + "include": ["vite.config.ts"] } diff --git a/vite.config.ts b/vite.config.ts index e1d8b5df1..df383179d 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,10 +1,8 @@ -import replace from '@rollup/plugin-replace'; import react from '@vitejs/plugin-react'; import { visualizer } from 'rollup-plugin-visualizer'; import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; -// https://vitejs.dev/config/ export default defineConfig(({ mode, ssrBuild }) => ({ plugins: [ react(), diff --git a/yarn.lock b/yarn.lock index 36caa4fdb..b48dfcef8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2053,13 +2053,6 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - "@csstools/css-parser-algorithms@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.0.1.tgz#ff02629c7c95d1f4f8ea84d5ef1173461610535e" @@ -2118,6 +2111,30 @@ resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz#ffadaec35dbb7885bd54de3fa267ab2f860294df" integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== +"@esbuild-kit/cjs-loader@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.2.tgz#cb4dde00fbf744a68c4f20162ea15a8242d0fa54" + integrity sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg== + dependencies: + "@esbuild-kit/core-utils" "^3.0.0" + get-tsconfig "^4.4.0" + +"@esbuild-kit/core-utils@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@esbuild-kit/core-utils/-/core-utils-3.1.0.tgz#49945d533dbd5e1b7620aa0fc522c15e6ec089c5" + integrity sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw== + dependencies: + esbuild "~0.17.6" + source-map-support "^0.5.21" + +"@esbuild-kit/esm-loader@^2.5.5": + version "2.5.5" + resolved "https://registry.yarnpkg.com/@esbuild-kit/esm-loader/-/esm-loader-2.5.5.tgz#b82da14fcee3fc1d219869756c06f43f67d1ca71" + integrity sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw== + dependencies: + "@esbuild-kit/core-utils" "^3.0.0" + get-tsconfig "^4.4.0" + "@esbuild/android-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" @@ -2517,7 +2534,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": +"@jridgewell/resolve-uri@3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== @@ -2537,14 +2554,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.17" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" @@ -3440,26 +3449,6 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== - "@types/aria-query@^5.0.1": version "5.0.1" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc" @@ -4128,7 +4117,7 @@ acorn-walk@^7.2.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn-walk@^8.1.1, acorn-walk@^8.2.0: +acorn-walk@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== @@ -4138,7 +4127,7 @@ acorn@^7.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.8.0, acorn@^8.8.2: +acorn@^8.8.0, acorn@^8.8.2: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== @@ -4303,11 +4292,6 @@ are-we-there-yet@^3.0.0: delegates "^1.0.0" readable-stream "^3.6.0" -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -5264,11 +5248,6 @@ cosmiconfig@^8.0.0: parse-json "^5.0.0" path-type "^4.0.0" -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - cross-fetch@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" @@ -5534,11 +5513,6 @@ diff-sequences@^29.4.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - diff@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" @@ -5837,7 +5811,7 @@ esbuild-register@^3.4.0: dependencies: debug "^4.3.4" -esbuild@^0.17.5: +esbuild@^0.17.5, esbuild@~0.17.6: version "0.17.19" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== @@ -6707,6 +6681,13 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" +get-tsconfig@^4.4.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.0.tgz#06ce112a1463e93196aa90320c35df5039147e34" + integrity sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw== + dependencies: + resolve-pkg-maps "^1.0.0" + giget@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/giget/-/giget-1.1.2.tgz#f99a49cb0ff85479c8c3612cdc7ca27f2066e818" @@ -8289,11 +8270,6 @@ make-dir@^3.0.0, make-dir@^3.0.2: dependencies: semver "^6.0.0" -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - make-fetch-happen@^10.0.4: version "10.2.1" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" @@ -10189,6 +10165,11 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== + resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" @@ -10617,7 +10598,7 @@ socks@^2.6.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-support@^0.5.16: +source-map-support@^0.5.16, source-map-support@^0.5.21: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -11219,25 +11200,6 @@ ts-dedent@^2.0.0, ts-dedent@^2.2.0: resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== -ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - tsconfck@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-2.1.2.tgz#f667035874fa41d908c1fe4d765345fcb1df6e35" @@ -11270,6 +11232,17 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" +tsx@^3.12.7: + version "3.12.7" + resolved "https://registry.yarnpkg.com/tsx/-/tsx-3.12.7.tgz#b3b8b0fc79afc8260d1e14f9e995616c859a91e9" + integrity sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw== + dependencies: + "@esbuild-kit/cjs-loader" "^2.4.2" + "@esbuild-kit/core-utils" "^3.0.0" + "@esbuild-kit/esm-loader" "^2.5.5" + optionalDependencies: + fsevents "~2.3.2" + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -11650,11 +11623,6 @@ uvu@^0.5.0: kleur "^4.0.3" sade "^1.7.3" -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - v8-compile-cache@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" @@ -12109,11 +12077,6 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"