diff --git a/apps/website/public/assets/images/logo.svg b/apps/website/public/assets/images/logo.svg new file mode 100644 index 0000000..5bea54d --- /dev/null +++ b/apps/website/public/assets/images/logo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/apps/website/public/assets/images/valerymelou.jpg b/apps/website/public/assets/images/valerymelou.jpg index 1d83c30..99ba323 100644 Binary files a/apps/website/public/assets/images/valerymelou.jpg and b/apps/website/public/assets/images/valerymelou.jpg differ diff --git a/apps/website/public/favicon.ico b/apps/website/public/favicon.ico index 317ebcb..8c01fc2 100644 Binary files a/apps/website/public/favicon.ico and b/apps/website/public/favicon.ico differ diff --git a/libs/blog/data-access/src/lib/article.ts b/libs/blog/data-access/src/lib/article.ts index aa39607..9a6eea3 100644 --- a/libs/blog/data-access/src/lib/article.ts +++ b/libs/blog/data-access/src/lib/article.ts @@ -4,6 +4,7 @@ import { EntrySkeletonType, TagLink, } from 'contentful'; +import { Document } from '@contentful/rich-text-types'; import { Asset } from './asset'; import { Tag } from './tag'; @@ -14,8 +15,9 @@ export class Article { cover?: Asset; createdAt = ''; updatedAt = ''; + publishedAt = ''; tags: Tag[] = []; - content: any; + content!: Document; static fromEntry( entry: Entry, @@ -25,6 +27,7 @@ export class Article { article.title = entry.fields['title'] as string; article.slug = entry.fields['slug'] as string; article.abstract = entry.fields['abstract'] as string; + article.publishedAt = entry.fields['publishedAt'] as string; article.createdAt = entry.sys.createdAt; article.updatedAt = entry.sys.updatedAt; if (entry.fields['cover'] && assets) { @@ -46,7 +49,7 @@ export class Article { .join(), }); }); - article.content = entry.fields['content']; + article.content = entry.fields['content'] as Document; return article; } } diff --git a/libs/blog/data-access/src/lib/articles.resolver.ts b/libs/blog/data-access/src/lib/articles.resolver.ts index b1d3f4d..4ed284c 100644 --- a/libs/blog/data-access/src/lib/articles.resolver.ts +++ b/libs/blog/data-access/src/lib/articles.resolver.ts @@ -8,5 +8,7 @@ import { ArticleService } from './article.service'; export const articlesResolver: ResolveFn> = () => { const articleService = inject(ArticleService); - return articleService.get({}); + return articleService.get({ + order: '-fields.publishedAt', + }); }; diff --git a/libs/blog/feature-article/src/lib/blog-article.component.html b/libs/blog/feature-article/src/lib/blog-article.component.html index a7cdbfe..8b031e5 100644 --- a/libs/blog/feature-article/src/lib/blog-article.component.html +++ b/libs/blog/feature-article/src/lib/blog-article.component.html @@ -1,4 +1,4 @@ -
+
Articles @@ -6,8 +6,8 @@
Date
-
@@ -145,17 +145,7 @@ > - @if (node.value.split('\n').length > 1) { -
- } @else { -
- -
- } +
diff --git a/libs/blog/feature-article/src/lib/blog-article.component.ts b/libs/blog/feature-article/src/lib/blog-article.component.ts index bfcb74c..150de5b 100644 --- a/libs/blog/feature-article/src/lib/blog-article.component.ts +++ b/libs/blog/feature-article/src/lib/blog-article.component.ts @@ -1,13 +1,9 @@ -import { Component, Inject, OnDestroy, OnInit, Renderer2 } from '@angular/core'; -import { CommonModule, DOCUMENT } from '@angular/common'; +import { Component } from '@angular/core'; +import { CommonModule } from '@angular/common'; import { ActivatedRoute, RouterModule } from '@angular/router'; import { BLOCKS, INLINES, MARKS } from '@contentful/rich-text-types'; -import { highlight, languages } from 'prismjs'; -import 'prismjs/components/prism-python'; -import 'prismjs/components/prism-rust'; - import { CfRichTextChildrenDirective, CfRichTextMarkDirective, @@ -19,7 +15,11 @@ import { bootstrapArrowLeft } from '@ng-icons/bootstrap-icons'; import { Article } from '@valerymelou/blog/data-access'; import { MetadataService } from '@valerymelou/shared/seo'; -import { ButtonComponent, LinkComponent } from '@valerymelou/shared/ui'; +import { + ButtonComponent, + CodeComponent, + LinkComponent, +} from '@valerymelou/shared/ui'; @Component({ selector: 'blog-article', @@ -34,11 +34,12 @@ import { ButtonComponent, LinkComponent } from '@valerymelou/shared/ui'; NgIconComponent, ButtonComponent, LinkComponent, + CodeComponent, ], templateUrl: './blog-article.component.html', viewProviders: [provideIcons({ bootstrapArrowLeft })], }) -export class BlogArticleComponent implements OnInit, OnDestroy { +export class BlogArticleComponent { article!: Article; loaded = false; ready = false; @@ -47,13 +48,9 @@ export class BlogArticleComponent implements OnInit, OnDestroy { readonly MARKS = MARKS; readonly INLINES = INLINES; - private codeHighlightCssLink!: HTMLLinkElement; - constructor( - private renderer: Renderer2, private route: ActivatedRoute, private metadataService: MetadataService, - @Inject(DOCUMENT) private document: Document, ) { this.route.data.subscribe({ next: (data) => { @@ -67,38 +64,4 @@ export class BlogArticleComponent implements OnInit, OnDestroy { }, }); } - - ngOnInit(): void { - this.loadCodeHighlightLib(); - } - - highlightCode(code: string): string { - let language = code.split('\n')[0].replace('```', ''); - - if (languages[language]) { - code = code.replace('```' + language + '\n', ''); - } else { - language = 'javascript'; - } - - return highlight(code, languages[language], language); - } - - private loadCodeHighlightLib(): void { - this.codeHighlightCssLink = this.renderer.createElement('link'); - this.codeHighlightCssLink.rel = 'stylesheet'; - this.codeHighlightCssLink.href = - 'https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism-okaidia.min.css'; - this.codeHighlightCssLink.integrity = - 'sha512-5HvW0a7ihK3ro2KhwEksDHXgIezsTeZybZDIn8d8Y015Ny+t7QWSIjnlCTjFzlK7Klb604HLGjsNqU/i5mJLjQ=='; - this.codeHighlightCssLink.crossOrigin = 'anonymous'; - this.codeHighlightCssLink.referrerPolicy = 'no-referrer'; - this.renderer.appendChild(this.document.head, this.codeHighlightCssLink); - } - - ngOnDestroy(): void { - if (this.codeHighlightCssLink) { - this.renderer.removeChild(this.document.head, this.codeHighlightCssLink); - } - } } diff --git a/libs/blog/feature-home/src/lib/blog-home.component.html b/libs/blog/feature-home/src/lib/blog-home.component.html index f754a97..c07dced 100644 --- a/libs/blog/feature-home/src/lib/blog-home.component.html +++ b/libs/blog/feature-home/src/lib/blog-home.component.html @@ -2,11 +2,11 @@

- Inside my head + Tech thoughts

- I talk about Django, Angular... Web Development in general and many other - topics. These are just a few of the things in my head. + Diving into the world of Django, Angular, and programming in general. Expect + a mix of technical deep dives, project showcases, and industry insights.

} diff --git a/libs/blog/feature-home/src/lib/blog-home.component.ts b/libs/blog/feature-home/src/lib/blog-home.component.ts index 1a55940..014163d 100644 --- a/libs/blog/feature-home/src/lib/blog-home.component.ts +++ b/libs/blog/feature-home/src/lib/blog-home.component.ts @@ -22,9 +22,9 @@ export class BlogHomeComponent { }, }); metadataService.updateMetadata({ - title: 'Inside my head | Valery Melou', + title: 'Tech thoughts | Valery Melou', description: - 'I talk about Django, Angular... Web Development in general and many other topics. These are just a few of the things in my head.', + 'Diving into the world of Django, Angular, and programming in general. Expect a mix of technical deep dives, project showcases, and industry insights.', }); } } diff --git a/libs/shared/layout/src/lib/footer/footer.component.html b/libs/shared/layout/src/lib/footer/footer.component.html index 176fa0d..5276929 100644 --- a/libs/shared/layout/src/lib/footer/footer.component.html +++ b/libs/shared/layout/src/lib/footer/footer.component.html @@ -1,5 +1,24 @@
+
+

+ The code of this website is available on + GitHub. +

+

+ All the content is from me and edited in + Contentful. +

+

© {{ date | date: 'yyyy' }} Valery Melou.

+

Coded in @@ -35,23 +54,5 @@ >.

-
-

- The code of this website is available on - GitHub. -

-

- All the content is from me and saved on - Contentful. -

-
diff --git a/libs/shared/layout/src/lib/footer/footer.component.ts b/libs/shared/layout/src/lib/footer/footer.component.ts index 88b7c03..f6cf631 100644 --- a/libs/shared/layout/src/lib/footer/footer.component.ts +++ b/libs/shared/layout/src/lib/footer/footer.component.ts @@ -8,4 +8,6 @@ import { LinkComponent } from '@valerymelou/shared/ui'; imports: [CommonModule, LinkComponent], templateUrl: './footer.component.html', }) -export class FooterComponent {} +export class FooterComponent { + date = new Date(); +} diff --git a/libs/shared/layout/src/lib/logo/logo.component.html b/libs/shared/layout/src/lib/logo/logo.component.html index 4f9f083..b5a192d 100644 --- a/libs/shared/layout/src/lib/logo/logo.component.html +++ b/libs/shared/layout/src/lib/logo/logo.component.html @@ -4,7 +4,7 @@ } Valery Melou + } @else { +
+ {{ language }} + +
+
+ } +} diff --git a/libs/shared/ui/src/lib/code/code.component.scss b/libs/shared/ui/src/lib/code/code.component.scss new file mode 100644 index 0000000..90b5559 --- /dev/null +++ b/libs/shared/ui/src/lib/code/code.component.scss @@ -0,0 +1,25 @@ +:host { + display: inline-block; + width: 100%; +} + +pre { + padding: 24px; + border-radius: 4px; +} + +.inline-flex { + pre { + padding: 0 6px; + } +} + +html.dark .shiki, +html.dark .shiki span { + color: var(--shiki-dark) !important; + background-color: var(--shiki-dark-bg) !important; + /* Optional, if you also want font styles */ + font-style: var(--shiki-dark-font-style) !important; + font-weight: var(--shiki-dark-font-weight) !important; + text-decoration: var(--shiki-dark-text-decoration) !important; +} diff --git a/libs/shared/ui/src/lib/code/code.component.spec.ts b/libs/shared/ui/src/lib/code/code.component.spec.ts new file mode 100644 index 0000000..50c9168 --- /dev/null +++ b/libs/shared/ui/src/lib/code/code.component.spec.ts @@ -0,0 +1,44 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { CodeComponent } from './code.component'; +import { By } from '@angular/platform-browser'; +import { WINDOW_TOKEN } from '@valerymelou/common/browser'; + +describe('CodeComponent', () => { + let component: CodeComponent; + let fixture: ComponentFixture; + const code = '```html\n

Hello World

This is a test
\n'; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [CodeComponent], + providers: [ + { + provide: WINDOW_TOKEN, + useValue: { + navigator: { clipboard: { writeText: () => Promise.resolve() } }, + }, + }, + ], + }).compileComponents(); + + fixture = TestBed.createComponent(CodeComponent); + component = fixture.componentInstance; + component.code = code; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + it('should copy the code to the clipboard', () => { + const window = TestBed.inject(WINDOW_TOKEN); + const writeTextSpy = jest.spyOn(window.navigator.clipboard, 'writeText'); + const button = fixture.debugElement.query(By.css('button')); + + button.triggerEventHandler('click'); + expect(writeTextSpy).toHaveBeenCalledWith( + code.replace('```html\n', '').replace('\n```', ''), + ); + }); +}); diff --git a/libs/shared/ui/src/lib/code/code.component.ts b/libs/shared/ui/src/lib/code/code.component.ts new file mode 100644 index 0000000..3ff0138 --- /dev/null +++ b/libs/shared/ui/src/lib/code/code.component.ts @@ -0,0 +1,88 @@ +import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; +import { Component, Inject, Input, ViewEncapsulation } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { NgIconComponent, provideIcons } from '@ng-icons/core'; +import { bootstrapCopy, bootstrapCheck } from '@ng-icons/bootstrap-icons'; +import { codeToHtml } from 'shiki'; +import { WINDOW_TOKEN } from '@valerymelou/common/browser'; + +@Component({ + selector: 'ui-code', + standalone: true, + imports: [CommonModule, NgIconComponent], + templateUrl: './code.component.html', + styleUrls: ['./code.component.scss'], + encapsulation: ViewEncapsulation.None, + viewProviders: [provideIcons({ bootstrapCopy, bootstrapCheck })], +}) +export class CodeComponent { + @Input() + set code(value: string) { + this._code = value; + this.highlight(); + } + + get code(): string { + return this._code; + } + + @Input() language!: string; + highlightedCode!: SafeHtml; + + private languages = [ + 'javascript', + 'typescript', + 'html', + 'css', + 'scss', + 'python', + 'rust', + 'json', + ]; + private _code!: string; + copied = false; + + constructor( + private sanitizer: DomSanitizer, + @Inject(WINDOW_TOKEN) private window: Window, + ) {} + + copy(): void { + this.window.navigator.clipboard.writeText(this.code).then(() => { + this.copied = true; + setTimeout(() => { + this.copied = false; + }, 3000); + }); + } + + highlight(): void { + this.language = + this.language ?? this.code.split('\n')[0].replace('```', ''); + + if (this.languages.includes(this.language)) { + this._code = this.code.replace('```' + this.language + '\n', ''); + } else { + this.language = 'javascript'; + } + + codeToHtml(this.code, { + lang: this.language, + themes: { + light: 'slack-ochin', + dark: 'material-theme-ocean', + }, + transformers: [ + { + pre(node) { + this.addClassToHast(node, 'overflow-x-auto'); + }, + }, + ], + }).then((highlightedCode) => { + this.highlightedCode = + this.sanitizer.bypassSecurityTrustHtml(highlightedCode); + }); + } +} diff --git a/package.json b/package.json index 52e9fda..6338ba5 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,7 @@ "@ng-icons/core": "^29.0.0", "@ng-icons/material-icons": "^29.0.0", "contentful": "^10.12.13", - "express": "~4.18.2", - "prismjs": "^1.29.0", + "express": "~4.19.2", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.14.3" @@ -48,13 +47,12 @@ "@nx/plugin": "19.5.1", "@nx/workspace": "19.5.1", "@schematics/angular": "~18.1.0", - "@swc-node/register": "~1.9.1", - "@swc/core": "~1.5.7", + "@swc-node/register": "~1.10.9", + "@swc/core": "~1.7.1", "@swc/helpers": "~0.5.11", - "@types/express": "4.17.14", + "@types/express": "4.17.21", "@types/jest": "^29.4.0", "@types/node": "18.16.9", - "@types/prismjs": "^1.26.4", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", "@typescript-eslint/utils": "^7.16.0", @@ -73,9 +71,10 @@ "postcss-url": "~10.1.3", "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.6.5", + "shiki": "^1.11.1", "tailwindcss": "^3.4.4", "ts-jest": "^29.1.0", - "ts-node": "10.9.1", + "ts-node": "10.9.2", "typescript": "~5.5.2" } } diff --git a/yarn.lock b/yarn.lock index e508494..0306a4e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2430,7 +2430,7 @@ resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz#0aa5502d547b57abfc4ac492de68e2006e417242" integrity sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ== -"@napi-rs/wasm-runtime@0.2.4": +"@napi-rs/wasm-runtime@0.2.4", "@napi-rs/wasm-runtime@^0.2.4": version "0.2.4" resolved "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz" integrity sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ== @@ -2908,6 +2908,63 @@ tslib "^2.3.0" yargs-parser "21.1.1" +"@oxc-resolver/binding-darwin-arm64@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-1.10.2.tgz#7fd04e5f07bd4dfc9abe9416afe107b925df1f98" + integrity sha512-aOCZYXqmFL+2sXlaVkYbAOtICGGeTFtmdul8OimQfOXHJods6YHJ2nR6+rEeBcJzaXyXPP18ne1IsEc4AYL1IA== + +"@oxc-resolver/binding-darwin-x64@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-1.10.2.tgz#b73dfa73c7af1ee808a52f6873274b47af284716" + integrity sha512-6WD7lHGkoduFZfUgnC2suKOlqttQRKxWsiVXiiGPu3mfXvQAhMd/gekuH1t8vOhFlPJduaww15n5UB0bSjCK+w== + +"@oxc-resolver/binding-freebsd-x64@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-1.10.2.tgz#b1303a29ff8eafc267683d253b7458b78f68245b" + integrity sha512-nEqHWx/Ot5p7Mafj8qH6vFlLSvHjECxAcZwhnAMqRuQu1NgXC/QM3emkdhVGy7QJgsxZbHpPaF6TERNf5/NL9Q== + +"@oxc-resolver/binding-linux-arm-gnueabihf@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.10.2.tgz#f921703edfc1e972408394b9c639c50e984ff16e" + integrity sha512-+AlZI0fPnpfArh8aC5k2295lmQrxa2p8gBLxC3buvCkz0ZpbVLxyyAXz3J2jGwJnmc5MUPLEqPYw6ZlAGH4XHA== + +"@oxc-resolver/binding-linux-arm64-gnu@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.10.2.tgz#173982495965af46d028329ce1e99d7dd584e483" + integrity sha512-8fZ8NszFaUZaoA8eUwkF2lHjgUs76aFiewWgG/cjcZmwKp+ErZQLW8eOvIWZ4SohHQ+ScvhVsSaU2PU38c88gw== + +"@oxc-resolver/binding-linux-arm64-musl@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.10.2.tgz#323fc30fc4611a2bd0d1a2d73fdea5d91a9c0ae7" + integrity sha512-oPrLICrw96Ym9n04FWXWGkbkpF6qJtZ57JSnqI3oQ24xHTt4iWyjHKHQO46NbJAK9sFb3Qce4BzV8faDI5Rifg== + +"@oxc-resolver/binding-linux-x64-gnu@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.10.2.tgz#f7f8bd53f146a28176180a1fa8b47885427df7e9" + integrity sha512-eli74jTAUiIfqi8IPFqiPxQS69Alcr6w/IFRyf3XxrkxeFGgcgxJkRIxWNTKJ6T3EXxjuma+49LdZn6l9rEj7A== + +"@oxc-resolver/binding-linux-x64-musl@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-1.10.2.tgz#00d3465bc6a2abd9a34d09dc5eeba0479f33059b" + integrity sha512-HH9zmjNSQo3rkbqJH5nIjGrtjC+QPrUy0KGGMR/oRCSLuD0cNFJ/Uly1XAugwSm4oEw0+rv6PmeclXmVTKsxhw== + +"@oxc-resolver/binding-wasm32-wasi@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-1.10.2.tgz#ed3c49f4887a765503f589bb8b95e9c8d5369adb" + integrity sha512-3ItX23q33sfVBtMMdMhVDSe0NX5zBHxHfmFiXhSJuwNaVIwGpLFU7WU2nmq9oNdnmTOvjL8vlhOqiGvumBLlRA== + dependencies: + "@napi-rs/wasm-runtime" "^0.2.4" + +"@oxc-resolver/binding-win32-arm64-msvc@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.10.2.tgz#bea966a1ab09d1a8b2823abf488ba1e213a619b7" + integrity sha512-aVoj2V+jmQ1N+lVy9AhaLmzssJM0lcKt8D0UL83aNLZJ5lSN7hgBuUXTVmL+VF268f167khjo38z+fbELDVm8Q== + +"@oxc-resolver/binding-win32-x64-msvc@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.10.2.tgz#b43deb60fac0b13add5a259fac3c8fdfffd7333c" + integrity sha512-l8BDQWyP0Piw8hlmYPUqTRKLsq+ceG9h+9p6ZrjNzwW9AmJX7T7T2hgoVVHqS6f4WNA/CFkb3RyZP9QTzNkyyA== + "@phenomnomnominal/tsquery@~5.0.1": version "5.0.1" resolved "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz" @@ -3206,6 +3263,13 @@ "@angular-devkit/schematics" "18.1.1" jsonc-parser "3.3.1" +"@shikijs/core@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-1.11.1.tgz#a102cf56f32fa8cf3ceb9f918f2da5511782efe7" + integrity sha512-Qsn8h15SWgv5TDRoDmiHNzdQO2BxDe86Yq6vIHf5T0cCvmfmccJKIzHtep8bQO9HMBZYCtCBzaXdd1MnxZBPSg== + dependencies: + "@types/hast" "^3.0.4" + "@sigstore/bundle@^2.3.2": version "2.3.2" resolved "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz" @@ -3281,99 +3345,100 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== -"@swc-node/core@^1.13.1": +"@swc-node/core@^1.13.3": version "1.13.3" - resolved "https://registry.npmjs.org/@swc-node/core/-/core-1.13.3.tgz" + resolved "https://registry.yarnpkg.com/@swc-node/core/-/core-1.13.3.tgz#0821d01263f48314392d38d80ef1a03fef5f11b3" integrity sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA== -"@swc-node/register@~1.9.1": - version "1.9.2" - resolved "https://registry.npmjs.org/@swc-node/register/-/register-1.9.2.tgz" - integrity sha512-BBjg0QNuEEmJSoU/++JOXhrjWdu3PTyYeJWsvchsI0Aqtj8ICkz/DqlwtXbmZVZ5vuDPpTfFlwDBZe81zgShMA== +"@swc-node/register@~1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc-node/register/-/register-1.10.9.tgz#9e2660f99a12969d3e5a34144e6a5812c7187680" + integrity sha512-iXy2sjP0phPEpK2yivjRC3PAgoLaT4sjSk0LDWCTdcTBJmR4waEog0E6eJbvoOkLkOtWw37SB8vCkl/bbh4+8A== dependencies: - "@swc-node/core" "^1.13.1" - "@swc-node/sourcemap-support" "^0.5.0" + "@swc-node/core" "^1.13.3" + "@swc-node/sourcemap-support" "^0.5.1" colorette "^2.0.20" - debug "^4.3.4" + debug "^4.3.5" + oxc-resolver "^1.10.2" pirates "^4.0.6" - tslib "^2.6.2" + tslib "^2.6.3" -"@swc-node/sourcemap-support@^0.5.0": +"@swc-node/sourcemap-support@^0.5.1": version "0.5.1" - resolved "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.5.1.tgz" + resolved "https://registry.yarnpkg.com/@swc-node/sourcemap-support/-/sourcemap-support-0.5.1.tgz#0355540d62874891770ce1ba06838de186f098ff" integrity sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg== dependencies: source-map-support "^0.5.21" tslib "^2.6.3" -"@swc/core-darwin-arm64@1.5.29": - version "1.5.29" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.29.tgz#707602a44b43b856318d69e538b6edc4b56caa98" - integrity sha512-6F/sSxpHaq3nzg2ADv9FHLi4Fu2A8w8vP8Ich8gIl16D2htStlwnaPmCLjRswO+cFkzgVqy/l01gzNGWd4DFqA== - -"@swc/core-darwin-x64@1.5.29": - version "1.5.29" - resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.5.29.tgz" - integrity sha512-rF/rXkvUOTdTIfoYbmszbSUGsCyvqACqy1VeP3nXONS+LxFl4bRmRcUTRrblL7IE5RTMCKUuPbqbQSE2hK7bqg== - -"@swc/core-linux-arm-gnueabihf@1.5.29": - version "1.5.29" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.29.tgz#121e7a1de2e3eb8d501536266e43d21189c1e680" - integrity sha512-2OAPL8iWBsmmwkjGXqvuUhbmmoLxS1xNXiMq87EsnCNMAKohGc7wJkdAOUL6J/YFpean/vwMWg64rJD4pycBeg== - -"@swc/core-linux-arm64-gnu@1.5.29": - version "1.5.29" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.29.tgz#8c17e577db244390f458b4019f2cb81949e93ef2" - integrity sha512-eH/Q9+8O5qhSxMestZnhuS1xqQMr6M7SolZYxiXJqxArXYILLCF+nq2R9SxuMl0CfjHSpb6+hHPk/HXy54eIRA== - -"@swc/core-linux-arm64-musl@1.5.29": - version "1.5.29" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.29.tgz#f13f5acb5e03596de7ca0bc4dc8da1457aebd8f9" - integrity sha512-TERh2OICAJz+SdDIK9+0GyTUwF6r4xDlFmpoiHKHrrD/Hh3u+6Zue0d7jQ/he/i80GDn4tJQkHlZys+RZL5UZg== - -"@swc/core-linux-x64-gnu@1.5.29": - version "1.5.29" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.29.tgz#ef3506314272184b3e4381ffea3a9f4d5689d15d" - integrity sha512-WMDPqU7Ji9dJpA+Llek2p9t7pcy7Bob8ggPUvgsIlv3R/eesF9DIzSbrgl6j3EAEPB9LFdSafsgf6kT/qnvqFg== - -"@swc/core-linux-x64-musl@1.5.29": - version "1.5.29" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.29.tgz#4495e6375d0e217324f8fee72b3859c7bcec8e37" - integrity sha512-DO14glwpdKY4POSN0201OnGg1+ziaSVr6/RFzuSLggshwXeeyVORiHv3baj7NENhJhWhUy3NZlDsXLnRFkmhHQ== - -"@swc/core-win32-arm64-msvc@1.5.29": - version "1.5.29" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.29.tgz#8b9fb01cac33389613e33f1088ade78b4928ab26" - integrity sha512-V3Y1+a1zG1zpYXUMqPIHEMEOd+rHoVnIpO/KTyFwAmKVu8v+/xPEVx/AGoYE67x4vDAAvPQrKI3Aokilqa5yVg== - -"@swc/core-win32-ia32-msvc@1.5.29": - version "1.5.29" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.29.tgz#0dc4dfba7bd0f505162eee7f2f76ad1b2cd1c9e3" - integrity sha512-OrM6yfXw4wXhnVFosOJzarw0Fdz5Y0okgHfn9oFbTPJhoqxV5Rdmd6kXxWu2RiVKs6kGSJFZXHDeUq2w5rTIMg== - -"@swc/core-win32-x64-msvc@1.5.29": - version "1.5.29" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.29.tgz#1931b87c39166f2323e5cbafe7919490580024ee" - integrity sha512-eD/gnxqKyZQQR0hR7TMkIlJ+nCF9dzYmVVNbYZWuA1Xy94aBPUsEk3Uw3oG7q6R3ErrEUPP0FNf2ztEnv+I+dw== - -"@swc/core@~1.5.7": - version "1.5.29" - resolved "https://registry.npmjs.org/@swc/core/-/core-1.5.29.tgz" - integrity sha512-nvTtHJI43DUSOAf3h9XsqYg8YXKc0/N4il9y4j0xAkO0ekgDNo+3+jbw6MInawjKJF9uulyr+f5bAutTsOKVlw== +"@swc/core-darwin-arm64@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.1.tgz#a11d2c8396292e6de8e807bc9275af8eea29faff" + integrity sha512-CuifMhtBNdIq6sHElOcu8E8SOO0BUlLyRw52wC+aiHrb5gR+iGlbi4L9sUhbR5bWoxD0Bz9ZJcE5uUhcLP+lJQ== + +"@swc/core-darwin-x64@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.7.1.tgz#9bf42f597a819b30981b61c45f3be333187a4401" + integrity sha512-IKtddGei7qGISSggN9WGmzoyRcLS0enT905K9GPB+7W5k8SxtNP3Yt2TKcKvfF8hzICk986kKt8Fl/QOTXV9mA== + +"@swc/core-linux-arm-gnueabihf@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.1.tgz#246fc6a01d43e08f3c754cb37c898e88c572d4bf" + integrity sha512-GQJydSLM7OVsxcFPJKe22D/h4Vl7FhDsPCTlEaPo+dz7yc2AdoQFJRPSFIRlBz0qm5CxXycDxU9yfH4Omzfxmg== + +"@swc/core-linux-arm64-gnu@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.1.tgz#3f36d2a82bfff7f526d788fbcbf72820e3d3a85c" + integrity sha512-Tp94iklMBAgtvlMVWbp9O+qADhNebS90zG835IucKEQB5rd3fEfWtiLP/3vz4hixJT63+yyeXQYs/Hld3vm7HQ== + +"@swc/core-linux-arm64-musl@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.1.tgz#2e638e9d15b54313dcb8c935b0874709d66d6be9" + integrity sha512-rbauhgFzeXNmg1jPUeiVkEMcoSHP0HvTklUOn1sUc4U0tu73uvPZI2e3TU1fo6sxE6FJeDJHZORatf+pAEo0fQ== + +"@swc/core-linux-x64-gnu@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.1.tgz#cb8e2aa0536d9faade0c6b8f72bc166cf02a1d4d" + integrity sha512-941tua/RtD/5GxHZOdLiRp/RIloqIlkJKy9ogbdSEI9VJ3Z5x1LznvxHfOI1mTifJMBwNSJLxtL9snUwxwLgEg== + +"@swc/core-linux-x64-musl@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.1.tgz#87d109f2b42abc0dc7a6530d83a5ddec3a446184" + integrity sha512-Iuh0XnOQcoeDsJvh8eO73fVldMU/ucZs2qBxr/9TkgpiGBdaluKxymo2MBBopmxqfBwxEdHUa0TDLgEFyZK6bw== + +"@swc/core-win32-arm64-msvc@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.1.tgz#66fc614fc85cb741d92e467089b00bd41cfd7fc3" + integrity sha512-H7Q44RZvDCPrKit202+NK014eOjd2VcsVxUX7Dk5D55sqgWgWskzGo7PzrosjiFgw5iVmpm4gDeaXCIS0FCE5A== + +"@swc/core-win32-ia32-msvc@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.1.tgz#4f1a057000cf9962fe2be6958ec0437da8866de9" + integrity sha512-zbvjPX2hBu+uCEAvqQBc86yBLtWhRSkh4uLGWUQylCHi1CccRfBww9S4RjXzXxK9bCgZSWbXUmfzJTiFuuhgHQ== + +"@swc/core-win32-x64-msvc@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.1.tgz#9b6e181b22612a61b944e02cbe46c5e5f15552a7" + integrity sha512-pVh/IIdKujW8QxNIAI/van8nOB6sb1fi7QMSteSxjOkL0GGDWpx7t3qm1rDboCdS+9iUXEHv+8UJnpya1ko+Dw== + +"@swc/core@~1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.7.1.tgz#315c5f60098d66a98c4ea2f0e8e4f3d8a5e6acf6" + integrity sha512-M4gxJcvzZCH+QQJGVJDF3kT46C05IUPTFcA1wA65WAdg87MDzpr1mwtB/FmPsdcRFRbJIxET6uCsWgubn+KnJQ== dependencies: "@swc/counter" "^0.1.3" - "@swc/types" "^0.1.8" + "@swc/types" "^0.1.12" optionalDependencies: - "@swc/core-darwin-arm64" "1.5.29" - "@swc/core-darwin-x64" "1.5.29" - "@swc/core-linux-arm-gnueabihf" "1.5.29" - "@swc/core-linux-arm64-gnu" "1.5.29" - "@swc/core-linux-arm64-musl" "1.5.29" - "@swc/core-linux-x64-gnu" "1.5.29" - "@swc/core-linux-x64-musl" "1.5.29" - "@swc/core-win32-arm64-msvc" "1.5.29" - "@swc/core-win32-ia32-msvc" "1.5.29" - "@swc/core-win32-x64-msvc" "1.5.29" + "@swc/core-darwin-arm64" "1.7.1" + "@swc/core-darwin-x64" "1.7.1" + "@swc/core-linux-arm-gnueabihf" "1.7.1" + "@swc/core-linux-arm64-gnu" "1.7.1" + "@swc/core-linux-arm64-musl" "1.7.1" + "@swc/core-linux-x64-gnu" "1.7.1" + "@swc/core-linux-x64-musl" "1.7.1" + "@swc/core-win32-arm64-msvc" "1.7.1" + "@swc/core-win32-ia32-msvc" "1.7.1" + "@swc/core-win32-x64-msvc" "1.7.1" "@swc/counter@^0.1.3": version "0.1.3" @@ -3387,10 +3452,10 @@ dependencies: tslib "^2.4.0" -"@swc/types@^0.1.8": - version "0.1.9" - resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.9.tgz" - integrity sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg== +"@swc/types@^0.1.12": + version "0.1.12" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.12.tgz#7f632c06ab4092ce0ebd046ed77ff7557442282f" + integrity sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA== dependencies: "@swc/counter" "^0.1.3" @@ -3540,7 +3605,7 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18", "@types/express-serve-static-core@^4.17.33": +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": version "4.19.5" resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz" integrity sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg== @@ -3550,7 +3615,7 @@ "@types/range-parser" "*" "@types/send" "*" -"@types/express@*", "@types/express@^4.17.13", "@types/express@^4.17.21": +"@types/express@*", "@types/express@4.17.21", "@types/express@^4.17.13", "@types/express@^4.17.21": version "4.17.21" resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== @@ -3560,16 +3625,6 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/express@4.17.14": - version "4.17.14" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz" - integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" - "@types/qs" "*" - "@types/serve-static" "*" - "@types/graceful-fs@^4.1.3": version "4.1.9" resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" @@ -3577,6 +3632,13 @@ dependencies: "@types/node" "*" +"@types/hast@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" + integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== + dependencies: + "@types/unist" "*" + "@types/http-errors@*": version "2.0.4" resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz" @@ -3666,11 +3728,6 @@ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== -"@types/prismjs@^1.26.4": - version "1.26.4" - resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.4.tgz" - integrity sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg== - "@types/qs@*": version "6.9.15" resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz" @@ -3737,6 +3794,11 @@ resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz" integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== +"@types/unist@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20" + integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== + "@types/wrap-ansi@^3.0.0": version "3.0.0" resolved "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz" @@ -5074,11 +5136,6 @@ cookie-signature@1.0.6: resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - cookie@0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz" @@ -5413,7 +5470,7 @@ debug@2.6.9, debug@^2.2.0: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: version "4.3.5" resolved "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz" integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== @@ -6140,7 +6197,7 @@ exponential-backoff@^3.1.1: resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz" integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== -express@^4.17.3: +express@^4.17.3, express@~4.19.2: version "4.19.2" resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz" integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== @@ -6177,43 +6234,6 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" -express@~4.18.2: - version "4.18.3" - resolved "https://registry.npmjs.org/express/-/express-4.18.3.tgz" - integrity sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - external-editor@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" @@ -9142,6 +9162,23 @@ os-tmpdir@~1.0.2: resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== +oxc-resolver@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/oxc-resolver/-/oxc-resolver-1.10.2.tgz#d1d2985d458ccec8d42928612a4ac6af3dac4299" + integrity sha512-NIbwVqoU8Bhl7PVtItHCg+VFFokIDwBgIgFUwFG2Y8ePhxftFh5xG+KLar5PLWXlCP4WunPIuXD3jr3v6/MfRw== + optionalDependencies: + "@oxc-resolver/binding-darwin-arm64" "1.10.2" + "@oxc-resolver/binding-darwin-x64" "1.10.2" + "@oxc-resolver/binding-freebsd-x64" "1.10.2" + "@oxc-resolver/binding-linux-arm-gnueabihf" "1.10.2" + "@oxc-resolver/binding-linux-arm64-gnu" "1.10.2" + "@oxc-resolver/binding-linux-arm64-musl" "1.10.2" + "@oxc-resolver/binding-linux-x64-gnu" "1.10.2" + "@oxc-resolver/binding-linux-x64-musl" "1.10.2" + "@oxc-resolver/binding-wasm32-wasi" "1.10.2" + "@oxc-resolver/binding-win32-arm64-msvc" "1.10.2" + "@oxc-resolver/binding-win32-x64-msvc" "1.10.2" + p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" @@ -9774,11 +9811,6 @@ pretty-format@^29.0.0, pretty-format@^29.7.0: ansi-styles "^5.0.0" react-is "^18.0.0" -prismjs@^1.29.0: - version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== - proc-log@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz" @@ -10471,6 +10503,14 @@ shell-quote@^1.8.1: resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== +shiki@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-1.11.1.tgz#6c06c5fcf55f1dac2db2596af935fef6a41a209d" + integrity sha512-VHD3Q0EBXaaa245jqayBe5zQyMQUdXBFjmGr9MpDaDpAKRMYn7Ff00DM5MLk26UyKjnml3yQ0O2HNX7PtYVNFQ== + dependencies: + "@shikijs/core" "1.11.1" + "@types/hast" "^3.0.4" + side-channel@^1.0.4, side-channel@^1.0.6: version "1.0.6" resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" @@ -11219,6 +11259,25 @@ ts-node@10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" +ts-node@10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + 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" + tsconfig-paths-webpack-plugin@4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz" @@ -11237,7 +11296,7 @@ tsconfig-paths@^4.0.0, tsconfig-paths@^4.1.2: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.6.3, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.4.1, tslib@^2.6.2, tslib@^2.6.3: +tslib@2.6.3, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.4.1, tslib@^2.6.3: version "2.6.3" resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz" integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==