From de747b7b334baba18bebd8a059f92966a3d44082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samy=20Pess=C3=A9?= Date: Mon, 22 Jul 2024 15:02:04 +0200 Subject: [PATCH] Better structure monorepo and publish JS files for react-openapi and react-math (#2392) --- .changeset/five-maps-tickle.md | 5 + .changeset/proud-shrimps-lie.md | 7 ++ .github/workflows/ci.yaml | 4 +- .gitignore | 32 +------ .prettierignore | 2 + bun.lockb | Bin 561122 -> 572888 bytes package.json | 89 ++---------------- .env.example => packages/gitbook/.env.example | 0 .../gitbook/.eslintrc.json | 0 packages/gitbook/.gitignore | 35 +++++++ {e2e => packages/gitbook/e2e}/pages.spec.ts | 0 .../gitbook/next.config.js | 0 packages/gitbook/package.json | 89 ++++++++++++++++++ .../gitbook/playwright.config.ts | 0 .../gitbook/postcss.config.js | 0 .../gitbook/sentry.client.config.ts | 0 .../gitbook/sentry.edge.config.ts | 0 .../gitbook/sentry.server.config.ts | 0 .../src}/app/(global)/~gitbook/image/route.ts | 0 .../app/(global)/~gitbook/revalidate/route.ts | 0 .../app/(space)/(content)/ClientContexts.tsx | 0 .../(content)/RocketLoaderDetector.tsx | 0 .../[[...pathname]]/PageClientLayout.tsx | 0 .../(content)/[[...pathname]]/loading.tsx | 0 .../(content)/[[...pathname]]/not-found.tsx | 0 .../(content)/[[...pathname]]/page.tsx | 0 .../src}/app/(space)/(content)/layout.tsx | 0 .../app/(space)/(core)/robots.txt/route.ts | 0 .../app/(space)/(core)/sitemap.xml/route.ts | 0 .../(space)/(core)/~gitbook/icon/route.tsx | 0 .../~gitbook/ogimage/[pageId]/route.tsx | 0 .../~gitbook/pdf/PageControlButtons.tsx | 0 .../(core)/~gitbook/pdf/PrintButton.tsx | 0 .../app/(space)/(core)/~gitbook/pdf/page.tsx | 0 .../app/(space)/(core)/~gitbook/pdf/pdf.css | 0 .../src}/app/(space)/ClientContexts.tsx | 0 .../gitbook/src}/app/(space)/error.tsx | 0 .../gitbook/src}/app/(space)/fetch.ts | 0 .../gitbook/src}/app/(space)/globals.css | 0 .../gitbook/src}/app/(space)/layout.tsx | 0 .../gitbook/src}/app/global-error.tsx | 0 .../gitbook/src}/app/~scalar/proxy/route.ts | 0 .../components/AdminToolbar/AdminToolbar.tsx | 0 .../src}/components/AdminToolbar/index.ts | 0 .../gitbook/src}/components/Ads/Ad.tsx | 0 .../components/Ads/AdClassicRendering.tsx | 0 .../src}/components/Ads/AdCoverRendering.tsx | 0 .../gitbook/src}/components/Ads/index.ts | 0 .../gitbook/src}/components/Ads/types.ts | 0 .../src}/components/Cookies/CookiesToast.tsx | 0 .../gitbook/src}/components/Cookies/index.ts | 0 .../DocumentView/Annotation/Annotation.tsx | 0 .../Annotation/AnnotationPopover.tsx | 0 .../DocumentView/Annotation/index.ts | 0 .../src}/components/DocumentView/Block.tsx | 0 .../DocumentView/BlockContentRef.tsx | 0 .../DocumentView/BlockSyncedBlock.tsx | 0 .../src}/components/DocumentView/Blocks.tsx | 0 .../src}/components/DocumentView/Caption.tsx | 0 .../DocumentView/CodeBlock/CodeBlock.tsx | 0 .../DocumentView/CodeBlock/CopyCodeButton.tsx | 0 .../DocumentView/CodeBlock/PlainCodeBlock.tsx | 0 .../CodeBlock/createHighlightingContext.ts | 0 .../DocumentView/CodeBlock/highlight.test.ts | 0 .../DocumentView/CodeBlock/highlight.ts | 0 .../DocumentView/CodeBlock/index.ts | 0 .../DocumentView/CodeBlock/theme.css | 0 .../src}/components/DocumentView/Divider.tsx | 0 .../components/DocumentView/DocumentView.tsx | 0 .../src}/components/DocumentView/Drawing.tsx | 0 .../src}/components/DocumentView/Embed.tsx | 0 .../src}/components/DocumentView/Emoji.tsx | 0 .../DocumentView/Expandable/Expandable.tsx | 0 .../DocumentView/Expandable/index.ts | 0 .../src}/components/DocumentView/File.tsx | 0 .../src}/components/DocumentView/FileIcon.tsx | 0 .../src}/components/DocumentView/Heading.tsx | 0 .../src}/components/DocumentView/Hint.tsx | 0 .../src}/components/DocumentView/Images.tsx | 0 .../src}/components/DocumentView/Inline.tsx | 0 .../components/DocumentView/InlineImage.tsx | 0 .../components/DocumentView/InlineLink.tsx | 0 .../src}/components/DocumentView/Inlines.tsx | 0 .../Integration/IntegrationBlock.tsx | 3 +- .../DocumentView/Integration/contentkit.css | 0 .../DocumentView/Integration/index.ts | 0 .../DocumentView/ListItem.module.css | 0 .../src}/components/DocumentView/ListItem.tsx | 0 .../components/DocumentView/ListOrdered.tsx | 0 .../components/DocumentView/ListTasks.tsx | 0 .../components/DocumentView/ListUnordered.tsx | 0 .../src}/components/DocumentView/Math.tsx | 3 +- .../src}/components/DocumentView/Mention.tsx | 0 .../DocumentView/OpenAPI/OpenAPI.tsx | 3 +- .../components/DocumentView/OpenAPI/index.ts | 0 .../DocumentView/OpenAPI/scalar.css | 0 .../components/DocumentView/OpenAPI/style.css | 0 .../components/DocumentView/Paragraph.tsx | 0 .../src}/components/DocumentView/Quote.tsx | 0 .../DocumentView/Table/RecordCard.tsx | 0 .../DocumentView/Table/RecordColumnValue.tsx | 0 .../DocumentView/Table/RecordRow.tsx | 0 .../components/DocumentView/Table/Table.tsx | 0 .../DocumentView/Table/ViewCards.tsx | 0 .../DocumentView/Table/ViewGrid.tsx | 0 .../components/DocumentView/Table/index.ts | 0 .../DocumentView/Table/table.module.css | 0 .../components/DocumentView/Table/utils.ts | 0 .../DocumentView/Tabs/DynamicTabs.tsx | 0 .../components/DocumentView/Tabs/Tabs.tsx | 0 .../components/DocumentView/Tabs/index.ts | 0 .../src}/components/DocumentView/Text.tsx | 0 .../src}/components/DocumentView/index.ts | 0 .../src}/components/DocumentView/spacing.ts | 0 .../components/DocumentView/utils/index.ts | 0 .../utils/isBlockOffscreen.test.ts | 0 .../DocumentView/utils/isBlockOffscreen.ts | 0 .../gitbook/src}/components/Footer/Footer.tsx | 0 .../components/Footer/FooterLinksGroup.tsx | 0 .../gitbook/src}/components/Footer/index.ts | 0 .../src}/components/Header/CompactHeader.tsx | 0 .../src}/components/Header/Dropdown.tsx | 0 .../gitbook/src}/components/Header/Header.tsx | 0 .../src}/components/Header/HeaderLink.tsx | 0 .../src}/components/Header/HeaderLinks.tsx | 0 .../src}/components/Header/HeaderLogo.tsx | 0 .../components/Header/HeaderMobileMenu.tsx | 0 .../src}/components/Header/SpacesDropdown.tsx | 0 .../Header/SpacesDropdownMenuItem.tsx | 0 .../components/Header/headerLinks.module.css | 0 .../gitbook/src}/components/Header/index.ts | 0 .../Integrations/LoadIntegrations.tsx | 0 .../src}/components/Integrations/index.ts | 0 .../src}/components/PageAside/PageAside.tsx | 0 .../PageAside/ScrollSectionsList.tsx | 0 .../src}/components/PageAside/index.ts | 0 .../src}/components/PageBody/PageBody.tsx | 0 .../PageBody/PageBodyBlankslate.tsx | 0 .../src}/components/PageBody/PageCover.tsx | 0 .../PageBody/PageFooterNavigation.tsx | 0 .../src}/components/PageBody/PageHeader.tsx | 0 .../components/PageBody/TrackPageView.tsx | 0 .../PageBody/default-page-cover.svg | 0 .../gitbook/src}/components/PageBody/index.ts | 0 .../PageFeedback/PageFeedbackForm.tsx | 0 .../src}/components/PageFeedback/index.ts | 0 .../components/PageFeedback/server-actions.ts | 0 .../src}/components/Search/HighlightQuery.tsx | 0 .../components/Search/SearchAskAnswer.tsx | 0 .../src}/components/Search/SearchButton.tsx | 0 .../src}/components/Search/SearchModal.tsx | 0 .../Search/SearchPageResultItem.tsx | 0 .../Search/SearchQuestionResultItem.tsx | 0 .../src}/components/Search/SearchResults.tsx | 2 +- .../components/Search/SearchScopeToggle.tsx | 0 .../Search/SearchSectionResultItem.tsx | 0 .../gitbook/src}/components/Search/index.ts | 0 .../src}/components/Search/isQuestion.ts | 0 .../src}/components/Search/server-actions.tsx | 0 .../src}/components/Search/useSearch.ts | 0 .../components/SpaceLayout/SpaceLayout.tsx | 0 .../src}/components/SpaceLayout/index.ts | 0 .../TableOfContents/PageDocumentItem.tsx | 0 .../TableOfContents/PageGroupItem.tsx | 0 .../TableOfContents/PageLinkItem.tsx | 0 .../components/TableOfContents/PagesList.tsx | 0 .../TableOfContents/TableOfContents.tsx | 0 .../TableOfContents/ToggleableLinkItem.tsx | 0 .../components/TableOfContents/Trademark.tsx | 0 .../src}/components/TableOfContents/index.ts | 0 .../components/ThemeToggler/ThemeToggler.tsx | 0 .../src}/components/ThemeToggler/index.ts | 0 .../gitbook/src}/components/hooks/index.ts | 0 .../components/hooks/useScrollActiveId.ts | 0 .../src}/components/hooks/useScrollToHash.ts | 0 .../src}/components/icons/IconArrowLeft.tsx | 0 .../src}/components/icons/IconArrowRight.tsx | 0 .../src}/components/icons/IconChevronDown.tsx | 0 .../components/icons/IconChevronRight.tsx | 0 .../src}/components/icons/IconLogo.tsx | 0 .../src}/components/icons/IconMenu.tsx | 0 .../src}/components/icons/IconSearch.tsx | 0 .../src}/components/icons/LogoIcon.tsx | 0 .../gitbook/src}/components/icons/index.ts | 0 .../gitbook/src}/components/icons/types.ts | 0 .../gitbook/src}/components/layout.ts | 0 .../src}/components/primitives/Button.tsx | 0 .../src}/components/primitives/Card.tsx | 0 .../src}/components/primitives/Checkbox.tsx | 0 .../components/primitives/ColorDebugger.tsx | 0 .../components/primitives/DateRelative.tsx | 0 .../components/primitives/Emoji/Emoji.tsx | 0 .../components/primitives/Emoji/cbdt.woff2 | Bin .../components/primitives/Emoji/emoji.css | 0 .../src}/components/primitives/Emoji/index.ts | 0 .../components/primitives/Emoji/sbix.woff2 | Bin .../components/primitives/Emoji/svg.woff2 | Bin .../src}/components/primitives/Link.tsx | 0 .../src}/components/primitives/Loading.tsx | 0 .../components/primitives/LoadingPane.tsx | 0 .../src}/components/primitives/Skeleton.tsx | 0 .../src}/components/primitives/StyledLink.tsx | 0 .../src}/components/primitives/index.ts | 0 .../gitbook/src}/components/utils/Image.tsx | 0 .../components/utils/ZoomImage.module.css | 0 .../src}/components/utils/ZoomImage.tsx | 0 .../gitbook/src}/components/utils/index.ts | 0 .../gitbook/src}/components/utils/types.ts | 0 .../src}/fonts/ABCFavorit/ABCFavorit-Bold.otf | Bin .../fonts/ABCFavorit/ABCFavorit-Bold.woff | Bin .../fonts/ABCFavorit/ABCFavorit-Bold.woff2 | Bin .../ABCFavorit/ABCFavorit-BoldItalic.otf | Bin .../ABCFavorit/ABCFavorit-BoldItalic.woff | Bin .../ABCFavorit/ABCFavorit-BoldItalic.woff2 | Bin .../src}/fonts/ABCFavorit/ABCFavorit-Book.otf | Bin .../fonts/ABCFavorit/ABCFavorit-Book.woff | Bin .../fonts/ABCFavorit/ABCFavorit-Book.woff2 | Bin .../ABCFavorit/ABCFavorit-BookItalic.otf | Bin .../ABCFavorit/ABCFavorit-BookItalic.woff | Bin .../ABCFavorit/ABCFavorit-BookItalic.woff2 | Bin .../fonts/ABCFavorit/ABCFavorit-Light.otf | Bin .../fonts/ABCFavorit/ABCFavorit-Light.woff | Bin .../fonts/ABCFavorit/ABCFavorit-Light.woff2 | Bin .../ABCFavorit/ABCFavorit-LightItalic.otf | Bin .../ABCFavorit/ABCFavorit-LightItalic.woff | Bin .../ABCFavorit/ABCFavorit-LightItalic.woff2 | Bin .../fonts/ABCFavorit/ABCFavorit-Medium.otf | Bin .../fonts/ABCFavorit/ABCFavorit-Medium.woff | Bin .../fonts/ABCFavorit/ABCFavorit-Medium.woff2 | Bin .../ABCFavorit/ABCFavorit-MediumItalic.otf | Bin .../ABCFavorit/ABCFavorit-MediumItalic.woff | Bin .../ABCFavorit/ABCFavorit-MediumItalic.woff2 | Bin .../fonts/ABCFavorit/ABCFavorit-Regular.otf | Bin .../fonts/ABCFavorit/ABCFavorit-Regular.woff | Bin .../fonts/ABCFavorit/ABCFavorit-Regular.woff2 | Bin .../ABCFavorit/ABCFavorit-RegularItalic.otf | Bin .../ABCFavorit/ABCFavorit-RegularItalic.woff | Bin .../ABCFavorit/ABCFavorit-RegularItalic.woff2 | Bin .../fonts/ABCFavorit/ABCFavorit-Variable.ttf | Bin .../fonts/ABCFavorit/ABCFavorit-Variable.woff | Bin .../ABCFavorit/ABCFavorit-Variable.woff2 | Bin {src => packages/gitbook/src}/fonts/index.ts | 0 {src => packages/gitbook/src}/intl/client.ts | 0 {src => packages/gitbook/src}/intl/server.ts | 0 .../gitbook/src}/intl/translate.tsx | 2 +- .../gitbook/src}/intl/translations/de.ts | 0 .../gitbook/src}/intl/translations/en.ts | 0 .../gitbook/src}/intl/translations/es.ts | 0 .../gitbook/src}/intl/translations/fr.ts | 0 .../gitbook/src}/intl/translations/index.ts | 0 .../gitbook/src}/intl/translations/ja.ts | 0 .../gitbook/src}/intl/translations/pt-br.ts | 0 .../intl/translations/translations.test.ts | 0 .../gitbook/src}/intl/translations/types.ts | 0 .../gitbook/src}/intl/translations/zh.ts | 0 {src => packages/gitbook/src}/lib/actions.ts | 0 .../gitbook/src}/lib/analytics.ts | 0 {src => packages/gitbook/src}/lib/api.ts | 0 {src => packages/gitbook/src}/lib/assets.ts | 0 .../gitbook/src}/lib/async.test.ts | 0 {src => packages/gitbook/src}/lib/async.ts | 6 +- {src => packages/gitbook/src}/lib/build.ts | 0 .../gitbook/src}/lib/cache/backends.ts | 0 .../gitbook/src}/lib/cache/cache.test.ts | 0 .../gitbook/src}/lib/cache/cache.ts | 0 .../src}/lib/cache/cloudflare-cache.ts | 0 .../gitbook/src}/lib/cache/cloudflare-kv.ts | 0 .../gitbook/src}/lib/cache/http.ts | 0 .../gitbook/src}/lib/cache/index.ts | 0 .../gitbook/src}/lib/cache/memory.ts | 0 .../gitbook/src}/lib/cache/redis.ts | 0 .../gitbook/src}/lib/cache/revalidateTags.ts | 0 .../gitbook/src}/lib/cache/types.ts | 0 .../gitbook/src}/lib/cache/utils.ts | 0 {src => packages/gitbook/src}/lib/colors.ts | 0 {src => packages/gitbook/src}/lib/csp.ts | 0 .../gitbook/src}/lib/document.test.ts | 0 {src => packages/gitbook/src}/lib/document.ts | 0 .../gitbook/src}/lib/emojis.test.ts | 0 {src => packages/gitbook/src}/lib/emojis.ts | 0 {src => packages/gitbook/src}/lib/files.ts | 0 {src => packages/gitbook/src}/lib/images.ts | 0 {src => packages/gitbook/src}/lib/links.ts | 0 .../gitbook/src}/lib/markdown.test.ts | 0 {src => packages/gitbook/src}/lib/markdown.ts | 0 .../gitbook/src}/lib/middleware.test.ts | 0 .../gitbook/src}/lib/middleware.ts | 0 {src => packages/gitbook/src}/lib/openapi.ts | 5 +- .../gitbook/src}/lib/pages.test.ts | 0 {src => packages/gitbook/src}/lib/pages.ts | 0 .../gitbook/src}/lib/references.ts | 0 {src => packages/gitbook/src}/lib/seo.ts | 0 {src => packages/gitbook/src}/lib/tailwind.ts | 0 {src => packages/gitbook/src}/lib/tracing.ts | 0 .../gitbook/src}/lib/typescript.ts | 0 {src => packages/gitbook/src}/lib/urls.ts | 0 {src => packages/gitbook/src}/lib/utils.ts | 0 .../gitbook/src}/lib/visitor-auth.test.ts | 0 .../gitbook/src}/lib/visitor-auth.ts | 6 +- .../gitbook/src}/lib/waitUntil.ts | 0 {src => packages/gitbook/src}/middleware.ts | 0 .../gitbook/tailwind.config.ts | 0 .../gitbook/tests}/pagespeed-testing.ts | 0 {tests => packages/gitbook/tests}/utils.ts | 0 .../gitbook/tsconfig.json | 2 +- .../content-security-policy-merger.d.ts | 0 .../types}/gitbook-integrations-global.d.ts | 0 {types => packages/gitbook/types}/global.d.ts | 0 {types => packages/gitbook/types}/images.d.ts | 0 .../gitbook/types}/memoizee.d.ts | 0 packages/react-contentkit/.gitignore | 1 + packages/react-contentkit/package.json | 16 +++- .../react-contentkit/src/ContentKitOutput.tsx | 1 + packages/react-contentkit/src/Element.tsx | 2 +- .../react-contentkit/src/ElementBlock.tsx | 1 + packages/react-contentkit/src/ElementBox.tsx | 1 + .../react-contentkit/src/ElementButton.tsx | 2 +- .../react-contentkit/src/ElementCodeBlock.tsx | 1 + .../src/ElementCodeBlockClient.tsx | 1 + .../react-contentkit/src/ElementDivider.tsx | 1 + packages/react-contentkit/src/ElementIcon.tsx | 1 + .../react-contentkit/src/ElementImage.tsx | 1 + .../react-contentkit/src/ElementMarkdown.tsx | 1 + .../src/ElementMarkdownClient.tsx | 2 +- .../react-contentkit/src/ElementModal.tsx | 2 +- .../react-contentkit/src/ElementStack.tsx | 1 + packages/react-contentkit/src/ElementText.tsx | 1 + .../react-contentkit/src/ElementTextInput.tsx | 2 +- packages/react-contentkit/tsconfig.json | 21 +++++ packages/react-math/.gitignore | 1 + packages/react-math/README.md | 3 + packages/react-math/{src => css}/default.css | 0 packages/react-math/package.json | 17 +++- packages/react-math/src/MathFormula.tsx | 2 +- packages/react-math/src/MathJaX.tsx | 3 +- packages/react-math/tsconfig.json | 21 +++++ packages/react-openapi/.gitignore | 1 + packages/react-openapi/README.md | 2 - packages/react-openapi/package.json | 20 +++- packages/react-openapi/tsconfig.json | 24 +++++ packages/react-openapi/tsconfig.tsbuildinfo | 1 + turbo.json | 30 ++++++ 342 files changed, 337 insertions(+), 142 deletions(-) create mode 100644 .changeset/five-maps-tickle.md create mode 100644 .changeset/proud-shrimps-lie.md rename .env.example => packages/gitbook/.env.example (100%) rename .eslintrc.json => packages/gitbook/.eslintrc.json (100%) create mode 100644 packages/gitbook/.gitignore rename {e2e => packages/gitbook/e2e}/pages.spec.ts (100%) rename next.config.js => packages/gitbook/next.config.js (100%) create mode 100644 packages/gitbook/package.json rename playwright.config.ts => packages/gitbook/playwright.config.ts (100%) rename postcss.config.js => packages/gitbook/postcss.config.js (100%) rename sentry.client.config.ts => packages/gitbook/sentry.client.config.ts (100%) rename sentry.edge.config.ts => packages/gitbook/sentry.edge.config.ts (100%) rename sentry.server.config.ts => packages/gitbook/sentry.server.config.ts (100%) rename {src => packages/gitbook/src}/app/(global)/~gitbook/image/route.ts (100%) rename {src => packages/gitbook/src}/app/(global)/~gitbook/revalidate/route.ts (100%) rename {src => packages/gitbook/src}/app/(space)/(content)/ClientContexts.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(content)/RocketLoaderDetector.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(content)/[[...pathname]]/PageClientLayout.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(content)/[[...pathname]]/loading.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(content)/[[...pathname]]/not-found.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(content)/[[...pathname]]/page.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(content)/layout.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(core)/robots.txt/route.ts (100%) rename {src => packages/gitbook/src}/app/(space)/(core)/sitemap.xml/route.ts (100%) rename {src => packages/gitbook/src}/app/(space)/(core)/~gitbook/icon/route.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(core)/~gitbook/ogimage/[pageId]/route.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(core)/~gitbook/pdf/PageControlButtons.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(core)/~gitbook/pdf/PrintButton.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(core)/~gitbook/pdf/page.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/(core)/~gitbook/pdf/pdf.css (100%) rename {src => packages/gitbook/src}/app/(space)/ClientContexts.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/error.tsx (100%) rename {src => packages/gitbook/src}/app/(space)/fetch.ts (100%) rename {src => packages/gitbook/src}/app/(space)/globals.css (100%) rename {src => packages/gitbook/src}/app/(space)/layout.tsx (100%) rename {src => packages/gitbook/src}/app/global-error.tsx (100%) rename {src => packages/gitbook/src}/app/~scalar/proxy/route.ts (100%) rename {src => packages/gitbook/src}/components/AdminToolbar/AdminToolbar.tsx (100%) rename {src => packages/gitbook/src}/components/AdminToolbar/index.ts (100%) rename {src => packages/gitbook/src}/components/Ads/Ad.tsx (100%) rename {src => packages/gitbook/src}/components/Ads/AdClassicRendering.tsx (100%) rename {src => packages/gitbook/src}/components/Ads/AdCoverRendering.tsx (100%) rename {src => packages/gitbook/src}/components/Ads/index.ts (100%) rename {src => packages/gitbook/src}/components/Ads/types.ts (100%) rename {src => packages/gitbook/src}/components/Cookies/CookiesToast.tsx (100%) rename {src => packages/gitbook/src}/components/Cookies/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/Annotation/Annotation.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Annotation/AnnotationPopover.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Annotation/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/Block.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/BlockContentRef.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/BlockSyncedBlock.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Blocks.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Caption.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/CodeBlock/CodeBlock.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/CodeBlock/CopyCodeButton.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/CodeBlock/PlainCodeBlock.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/CodeBlock/createHighlightingContext.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/CodeBlock/highlight.test.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/CodeBlock/highlight.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/CodeBlock/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/CodeBlock/theme.css (100%) rename {src => packages/gitbook/src}/components/DocumentView/Divider.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/DocumentView.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Drawing.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Embed.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Emoji.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Expandable/Expandable.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Expandable/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/File.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/FileIcon.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Heading.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Hint.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Images.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Inline.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/InlineImage.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/InlineLink.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Inlines.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Integration/IntegrationBlock.tsx (99%) rename {src => packages/gitbook/src}/components/DocumentView/Integration/contentkit.css (100%) rename {src => packages/gitbook/src}/components/DocumentView/Integration/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/ListItem.module.css (100%) rename {src => packages/gitbook/src}/components/DocumentView/ListItem.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/ListOrdered.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/ListTasks.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/ListUnordered.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Math.tsx (99%) rename {src => packages/gitbook/src}/components/DocumentView/Mention.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/OpenAPI/OpenAPI.tsx (99%) rename {src => packages/gitbook/src}/components/DocumentView/OpenAPI/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/OpenAPI/scalar.css (100%) rename {src => packages/gitbook/src}/components/DocumentView/OpenAPI/style.css (100%) rename {src => packages/gitbook/src}/components/DocumentView/Paragraph.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Quote.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Table/RecordCard.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Table/RecordColumnValue.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Table/RecordRow.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Table/Table.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Table/ViewCards.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Table/ViewGrid.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Table/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/Table/table.module.css (100%) rename {src => packages/gitbook/src}/components/DocumentView/Table/utils.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/Tabs/DynamicTabs.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Tabs/Tabs.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/Tabs/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/Text.tsx (100%) rename {src => packages/gitbook/src}/components/DocumentView/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/spacing.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/utils/index.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/utils/isBlockOffscreen.test.ts (100%) rename {src => packages/gitbook/src}/components/DocumentView/utils/isBlockOffscreen.ts (100%) rename {src => packages/gitbook/src}/components/Footer/Footer.tsx (100%) rename {src => packages/gitbook/src}/components/Footer/FooterLinksGroup.tsx (100%) rename {src => packages/gitbook/src}/components/Footer/index.ts (100%) rename {src => packages/gitbook/src}/components/Header/CompactHeader.tsx (100%) rename {src => packages/gitbook/src}/components/Header/Dropdown.tsx (100%) rename {src => packages/gitbook/src}/components/Header/Header.tsx (100%) rename {src => packages/gitbook/src}/components/Header/HeaderLink.tsx (100%) rename {src => packages/gitbook/src}/components/Header/HeaderLinks.tsx (100%) rename {src => packages/gitbook/src}/components/Header/HeaderLogo.tsx (100%) rename {src => packages/gitbook/src}/components/Header/HeaderMobileMenu.tsx (100%) rename {src => packages/gitbook/src}/components/Header/SpacesDropdown.tsx (100%) rename {src => packages/gitbook/src}/components/Header/SpacesDropdownMenuItem.tsx (100%) rename {src => packages/gitbook/src}/components/Header/headerLinks.module.css (100%) rename {src => packages/gitbook/src}/components/Header/index.ts (100%) rename {src => packages/gitbook/src}/components/Integrations/LoadIntegrations.tsx (100%) rename {src => packages/gitbook/src}/components/Integrations/index.ts (100%) rename {src => packages/gitbook/src}/components/PageAside/PageAside.tsx (100%) rename {src => packages/gitbook/src}/components/PageAside/ScrollSectionsList.tsx (100%) rename {src => packages/gitbook/src}/components/PageAside/index.ts (100%) rename {src => packages/gitbook/src}/components/PageBody/PageBody.tsx (100%) rename {src => packages/gitbook/src}/components/PageBody/PageBodyBlankslate.tsx (100%) rename {src => packages/gitbook/src}/components/PageBody/PageCover.tsx (100%) rename {src => packages/gitbook/src}/components/PageBody/PageFooterNavigation.tsx (100%) rename {src => packages/gitbook/src}/components/PageBody/PageHeader.tsx (100%) rename {src => packages/gitbook/src}/components/PageBody/TrackPageView.tsx (100%) rename {src => packages/gitbook/src}/components/PageBody/default-page-cover.svg (100%) rename {src => packages/gitbook/src}/components/PageBody/index.ts (100%) rename {src => packages/gitbook/src}/components/PageFeedback/PageFeedbackForm.tsx (100%) rename {src => packages/gitbook/src}/components/PageFeedback/index.ts (100%) rename {src => packages/gitbook/src}/components/PageFeedback/server-actions.ts (100%) rename {src => packages/gitbook/src}/components/Search/HighlightQuery.tsx (100%) rename {src => packages/gitbook/src}/components/Search/SearchAskAnswer.tsx (100%) rename {src => packages/gitbook/src}/components/Search/SearchButton.tsx (100%) rename {src => packages/gitbook/src}/components/Search/SearchModal.tsx (100%) rename {src => packages/gitbook/src}/components/Search/SearchPageResultItem.tsx (100%) rename {src => packages/gitbook/src}/components/Search/SearchQuestionResultItem.tsx (100%) rename {src => packages/gitbook/src}/components/Search/SearchResults.tsx (99%) rename {src => packages/gitbook/src}/components/Search/SearchScopeToggle.tsx (100%) rename {src => packages/gitbook/src}/components/Search/SearchSectionResultItem.tsx (100%) rename {src => packages/gitbook/src}/components/Search/index.ts (100%) rename {src => packages/gitbook/src}/components/Search/isQuestion.ts (100%) rename {src => packages/gitbook/src}/components/Search/server-actions.tsx (100%) rename {src => packages/gitbook/src}/components/Search/useSearch.ts (100%) rename {src => packages/gitbook/src}/components/SpaceLayout/SpaceLayout.tsx (100%) rename {src => packages/gitbook/src}/components/SpaceLayout/index.ts (100%) rename {src => packages/gitbook/src}/components/TableOfContents/PageDocumentItem.tsx (100%) rename {src => packages/gitbook/src}/components/TableOfContents/PageGroupItem.tsx (100%) rename {src => packages/gitbook/src}/components/TableOfContents/PageLinkItem.tsx (100%) rename {src => packages/gitbook/src}/components/TableOfContents/PagesList.tsx (100%) rename {src => packages/gitbook/src}/components/TableOfContents/TableOfContents.tsx (100%) rename {src => packages/gitbook/src}/components/TableOfContents/ToggleableLinkItem.tsx (100%) rename {src => packages/gitbook/src}/components/TableOfContents/Trademark.tsx (100%) rename {src => packages/gitbook/src}/components/TableOfContents/index.ts (100%) rename {src => packages/gitbook/src}/components/ThemeToggler/ThemeToggler.tsx (100%) rename {src => packages/gitbook/src}/components/ThemeToggler/index.ts (100%) rename {src => packages/gitbook/src}/components/hooks/index.ts (100%) rename {src => packages/gitbook/src}/components/hooks/useScrollActiveId.ts (100%) rename {src => packages/gitbook/src}/components/hooks/useScrollToHash.ts (100%) rename {src => packages/gitbook/src}/components/icons/IconArrowLeft.tsx (100%) rename {src => packages/gitbook/src}/components/icons/IconArrowRight.tsx (100%) rename {src => packages/gitbook/src}/components/icons/IconChevronDown.tsx (100%) rename {src => packages/gitbook/src}/components/icons/IconChevronRight.tsx (100%) rename {src => packages/gitbook/src}/components/icons/IconLogo.tsx (100%) rename {src => packages/gitbook/src}/components/icons/IconMenu.tsx (100%) rename {src => packages/gitbook/src}/components/icons/IconSearch.tsx (100%) rename {src => packages/gitbook/src}/components/icons/LogoIcon.tsx (100%) rename {src => packages/gitbook/src}/components/icons/index.ts (100%) rename {src => packages/gitbook/src}/components/icons/types.ts (100%) rename {src => packages/gitbook/src}/components/layout.ts (100%) rename {src => packages/gitbook/src}/components/primitives/Button.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/Card.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/Checkbox.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/ColorDebugger.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/DateRelative.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/Emoji/Emoji.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/Emoji/cbdt.woff2 (100%) rename {src => packages/gitbook/src}/components/primitives/Emoji/emoji.css (100%) rename {src => packages/gitbook/src}/components/primitives/Emoji/index.ts (100%) rename {src => packages/gitbook/src}/components/primitives/Emoji/sbix.woff2 (100%) rename {src => packages/gitbook/src}/components/primitives/Emoji/svg.woff2 (100%) rename {src => packages/gitbook/src}/components/primitives/Link.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/Loading.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/LoadingPane.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/Skeleton.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/StyledLink.tsx (100%) rename {src => packages/gitbook/src}/components/primitives/index.ts (100%) rename {src => packages/gitbook/src}/components/utils/Image.tsx (100%) rename {src => packages/gitbook/src}/components/utils/ZoomImage.module.css (100%) rename {src => packages/gitbook/src}/components/utils/ZoomImage.tsx (100%) rename {src => packages/gitbook/src}/components/utils/index.ts (100%) rename {src => packages/gitbook/src}/components/utils/types.ts (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Bold.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Bold.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Bold.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-BoldItalic.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Book.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Book.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Book.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-BookItalic.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-BookItalic.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-BookItalic.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Light.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Light.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Light.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-LightItalic.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-LightItalic.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-LightItalic.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Medium.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Medium.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Medium.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-MediumItalic.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Regular.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Regular.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Regular.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-RegularItalic.otf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff2 (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Variable.ttf (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Variable.woff (100%) rename {src => packages/gitbook/src}/fonts/ABCFavorit/ABCFavorit-Variable.woff2 (100%) rename {src => packages/gitbook/src}/fonts/index.ts (100%) rename {src => packages/gitbook/src}/intl/client.ts (100%) rename {src => packages/gitbook/src}/intl/server.ts (100%) rename {src => packages/gitbook/src}/intl/translate.tsx (97%) rename {src => packages/gitbook/src}/intl/translations/de.ts (100%) rename {src => packages/gitbook/src}/intl/translations/en.ts (100%) rename {src => packages/gitbook/src}/intl/translations/es.ts (100%) rename {src => packages/gitbook/src}/intl/translations/fr.ts (100%) rename {src => packages/gitbook/src}/intl/translations/index.ts (100%) rename {src => packages/gitbook/src}/intl/translations/ja.ts (100%) rename {src => packages/gitbook/src}/intl/translations/pt-br.ts (100%) rename {src => packages/gitbook/src}/intl/translations/translations.test.ts (100%) rename {src => packages/gitbook/src}/intl/translations/types.ts (100%) rename {src => packages/gitbook/src}/intl/translations/zh.ts (100%) rename {src => packages/gitbook/src}/lib/actions.ts (100%) rename {src => packages/gitbook/src}/lib/analytics.ts (100%) rename {src => packages/gitbook/src}/lib/api.ts (100%) rename {src => packages/gitbook/src}/lib/assets.ts (100%) rename {src => packages/gitbook/src}/lib/async.test.ts (100%) rename {src => packages/gitbook/src}/lib/async.ts (98%) rename {src => packages/gitbook/src}/lib/build.ts (100%) rename {src => packages/gitbook/src}/lib/cache/backends.ts (100%) rename {src => packages/gitbook/src}/lib/cache/cache.test.ts (100%) rename {src => packages/gitbook/src}/lib/cache/cache.ts (100%) rename {src => packages/gitbook/src}/lib/cache/cloudflare-cache.ts (100%) rename {src => packages/gitbook/src}/lib/cache/cloudflare-kv.ts (100%) rename {src => packages/gitbook/src}/lib/cache/http.ts (100%) rename {src => packages/gitbook/src}/lib/cache/index.ts (100%) rename {src => packages/gitbook/src}/lib/cache/memory.ts (100%) rename {src => packages/gitbook/src}/lib/cache/redis.ts (100%) rename {src => packages/gitbook/src}/lib/cache/revalidateTags.ts (100%) rename {src => packages/gitbook/src}/lib/cache/types.ts (100%) rename {src => packages/gitbook/src}/lib/cache/utils.ts (100%) rename {src => packages/gitbook/src}/lib/colors.ts (100%) rename {src => packages/gitbook/src}/lib/csp.ts (100%) rename {src => packages/gitbook/src}/lib/document.test.ts (100%) rename {src => packages/gitbook/src}/lib/document.ts (100%) rename {src => packages/gitbook/src}/lib/emojis.test.ts (100%) rename {src => packages/gitbook/src}/lib/emojis.ts (100%) rename {src => packages/gitbook/src}/lib/files.ts (100%) rename {src => packages/gitbook/src}/lib/images.ts (100%) rename {src => packages/gitbook/src}/lib/links.ts (100%) rename {src => packages/gitbook/src}/lib/markdown.test.ts (100%) rename {src => packages/gitbook/src}/lib/markdown.ts (100%) rename {src => packages/gitbook/src}/lib/middleware.test.ts (100%) rename {src => packages/gitbook/src}/lib/middleware.ts (100%) rename {src => packages/gitbook/src}/lib/openapi.ts (99%) rename {src => packages/gitbook/src}/lib/pages.test.ts (100%) rename {src => packages/gitbook/src}/lib/pages.ts (100%) rename {src => packages/gitbook/src}/lib/references.ts (100%) rename {src => packages/gitbook/src}/lib/seo.ts (100%) rename {src => packages/gitbook/src}/lib/tailwind.ts (100%) rename {src => packages/gitbook/src}/lib/tracing.ts (100%) rename {src => packages/gitbook/src}/lib/typescript.ts (100%) rename {src => packages/gitbook/src}/lib/urls.ts (100%) rename {src => packages/gitbook/src}/lib/utils.ts (100%) rename {src => packages/gitbook/src}/lib/visitor-auth.test.ts (100%) rename {src => packages/gitbook/src}/lib/visitor-auth.ts (95%) rename {src => packages/gitbook/src}/lib/waitUntil.ts (100%) rename {src => packages/gitbook/src}/middleware.ts (100%) rename tailwind.config.ts => packages/gitbook/tailwind.config.ts (100%) rename {tests => packages/gitbook/tests}/pagespeed-testing.ts (100%) rename {tests => packages/gitbook/tests}/utils.ts (100%) rename tsconfig.json => packages/gitbook/tsconfig.json (90%) rename {types => packages/gitbook/types}/content-security-policy-merger.d.ts (100%) rename {types => packages/gitbook/types}/gitbook-integrations-global.d.ts (100%) rename {types => packages/gitbook/types}/global.d.ts (100%) rename {types => packages/gitbook/types}/images.d.ts (100%) rename {types => packages/gitbook/types}/memoizee.d.ts (100%) create mode 100644 packages/react-contentkit/.gitignore create mode 100644 packages/react-contentkit/tsconfig.json create mode 100644 packages/react-math/.gitignore create mode 100644 packages/react-math/README.md rename packages/react-math/{src => css}/default.css (100%) create mode 100644 packages/react-math/tsconfig.json create mode 100644 packages/react-openapi/.gitignore create mode 100644 packages/react-openapi/tsconfig.json create mode 100644 packages/react-openapi/tsconfig.tsbuildinfo create mode 100644 turbo.json diff --git a/.changeset/five-maps-tickle.md b/.changeset/five-maps-tickle.md new file mode 100644 index 000000000..2ba38de52 --- /dev/null +++ b/.changeset/five-maps-tickle.md @@ -0,0 +1,5 @@ +--- +'@gitbook/react-contentkit': minor +--- + +Publish to NPM with JS files and TypeScript declaration files diff --git a/.changeset/proud-shrimps-lie.md b/.changeset/proud-shrimps-lie.md new file mode 100644 index 000000000..704b0e186 --- /dev/null +++ b/.changeset/proud-shrimps-lie.md @@ -0,0 +1,7 @@ +--- +'@gitbook/react-openapi': minor +'@gitbook/react-math': minor +'gitbook': minor +--- + +Refactor the repository to be a proper monorepo and publish JS files on NPM instead of TypeScript files. diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 735eac236..363ad1239 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -58,7 +58,7 @@ jobs: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} projectName: ${{ vars.CLOUDFLARE_PROJECT_NAME }} - directory: ./.vercel/output/static + directory: ./packages/gitbook/.vercel/output/static gitHubToken: ${{ secrets.GITHUB_TOKEN }} workingDirectory: ./ - name: Outputs @@ -108,7 +108,7 @@ jobs: env: PUPPETEER_SKIP_DOWNLOAD: 1 - name: Run pagespeed tests - run: bun ./tests/pagespeed-testing.ts $DEPLOYMENT_URL + run: bun ./packages/gitbook/tests/pagespeed-testing.ts $DEPLOYMENT_URL env: DEPLOYMENT_URL: ${{needs.deploy.outputs.deployment_url}} PAGESPEED_API_KEY: ${{ secrets.PAGESPEED_API_KEY }} diff --git a/.gitignore b/.gitignore index 433b638ce..72721b517 100644 --- a/.gitignore +++ b/.gitignore @@ -5,16 +5,6 @@ node_modules /.pnp .pnp.js -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - # misc .DS_Store *.pem @@ -24,25 +14,9 @@ npm-debug.log* yarn-debug.log* yarn-error.log* -# local env files -.env*.local +# Turbo +.turbo -# vercel +# Vercel .vercel -# typescript -*.tsbuildinfo -next-env.d.ts - -# visual tests -screenshots/ - -# Sentry Config File -.sentryclirc -/test-results/ -/playwright-report/ -/blob-report/ -/playwright/.cache/ - -# Generated public files -/public/~gitbook/static/ diff --git a/.prettierignore b/.prettierignore index f4d6252b0..40538f50d 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,6 @@ .next +.vercel # Generated packages/emoji-codepoints/index.ts +packages/gitbook/public/~gitbook/static/ diff --git a/bun.lockb b/bun.lockb index d3f61af0437913f2fa179220b3246c402470b0ae..53e274ad2a573482a62385a044122e7c364b1e82 100755 GIT binary patch delta 129868 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 SISbD8G(null); + const debounceTimeout = React.useRef(null); const [results, setResults] = React.useState(null); const [cursor, setCursor] = React.useState(null); const refs = React.useRef<(null | HTMLAnchorElement)[]>([]); diff --git a/src/components/Search/SearchScopeToggle.tsx b/packages/gitbook/src/components/Search/SearchScopeToggle.tsx similarity index 100% rename from src/components/Search/SearchScopeToggle.tsx rename to packages/gitbook/src/components/Search/SearchScopeToggle.tsx diff --git a/src/components/Search/SearchSectionResultItem.tsx b/packages/gitbook/src/components/Search/SearchSectionResultItem.tsx similarity index 100% rename from src/components/Search/SearchSectionResultItem.tsx rename to packages/gitbook/src/components/Search/SearchSectionResultItem.tsx diff --git a/src/components/Search/index.ts b/packages/gitbook/src/components/Search/index.ts similarity index 100% rename from src/components/Search/index.ts rename to packages/gitbook/src/components/Search/index.ts diff --git a/src/components/Search/isQuestion.ts b/packages/gitbook/src/components/Search/isQuestion.ts similarity index 100% rename from src/components/Search/isQuestion.ts rename to packages/gitbook/src/components/Search/isQuestion.ts diff --git a/src/components/Search/server-actions.tsx b/packages/gitbook/src/components/Search/server-actions.tsx similarity index 100% rename from src/components/Search/server-actions.tsx rename to packages/gitbook/src/components/Search/server-actions.tsx diff --git a/src/components/Search/useSearch.ts b/packages/gitbook/src/components/Search/useSearch.ts similarity index 100% rename from src/components/Search/useSearch.ts rename to packages/gitbook/src/components/Search/useSearch.ts diff --git a/src/components/SpaceLayout/SpaceLayout.tsx b/packages/gitbook/src/components/SpaceLayout/SpaceLayout.tsx similarity index 100% rename from src/components/SpaceLayout/SpaceLayout.tsx rename to packages/gitbook/src/components/SpaceLayout/SpaceLayout.tsx diff --git a/src/components/SpaceLayout/index.ts b/packages/gitbook/src/components/SpaceLayout/index.ts similarity index 100% rename from src/components/SpaceLayout/index.ts rename to packages/gitbook/src/components/SpaceLayout/index.ts diff --git a/src/components/TableOfContents/PageDocumentItem.tsx b/packages/gitbook/src/components/TableOfContents/PageDocumentItem.tsx similarity index 100% rename from src/components/TableOfContents/PageDocumentItem.tsx rename to packages/gitbook/src/components/TableOfContents/PageDocumentItem.tsx diff --git a/src/components/TableOfContents/PageGroupItem.tsx b/packages/gitbook/src/components/TableOfContents/PageGroupItem.tsx similarity index 100% rename from src/components/TableOfContents/PageGroupItem.tsx rename to packages/gitbook/src/components/TableOfContents/PageGroupItem.tsx diff --git a/src/components/TableOfContents/PageLinkItem.tsx b/packages/gitbook/src/components/TableOfContents/PageLinkItem.tsx similarity index 100% rename from src/components/TableOfContents/PageLinkItem.tsx rename to packages/gitbook/src/components/TableOfContents/PageLinkItem.tsx diff --git a/src/components/TableOfContents/PagesList.tsx b/packages/gitbook/src/components/TableOfContents/PagesList.tsx similarity index 100% rename from src/components/TableOfContents/PagesList.tsx rename to packages/gitbook/src/components/TableOfContents/PagesList.tsx diff --git a/src/components/TableOfContents/TableOfContents.tsx b/packages/gitbook/src/components/TableOfContents/TableOfContents.tsx similarity index 100% rename from src/components/TableOfContents/TableOfContents.tsx rename to packages/gitbook/src/components/TableOfContents/TableOfContents.tsx diff --git a/src/components/TableOfContents/ToggleableLinkItem.tsx b/packages/gitbook/src/components/TableOfContents/ToggleableLinkItem.tsx similarity index 100% rename from src/components/TableOfContents/ToggleableLinkItem.tsx rename to packages/gitbook/src/components/TableOfContents/ToggleableLinkItem.tsx diff --git a/src/components/TableOfContents/Trademark.tsx b/packages/gitbook/src/components/TableOfContents/Trademark.tsx similarity index 100% rename from src/components/TableOfContents/Trademark.tsx rename to packages/gitbook/src/components/TableOfContents/Trademark.tsx diff --git a/src/components/TableOfContents/index.ts b/packages/gitbook/src/components/TableOfContents/index.ts similarity index 100% rename from src/components/TableOfContents/index.ts rename to packages/gitbook/src/components/TableOfContents/index.ts diff --git a/src/components/ThemeToggler/ThemeToggler.tsx b/packages/gitbook/src/components/ThemeToggler/ThemeToggler.tsx similarity index 100% rename from src/components/ThemeToggler/ThemeToggler.tsx rename to packages/gitbook/src/components/ThemeToggler/ThemeToggler.tsx diff --git a/src/components/ThemeToggler/index.ts b/packages/gitbook/src/components/ThemeToggler/index.ts similarity index 100% rename from src/components/ThemeToggler/index.ts rename to packages/gitbook/src/components/ThemeToggler/index.ts diff --git a/src/components/hooks/index.ts b/packages/gitbook/src/components/hooks/index.ts similarity index 100% rename from src/components/hooks/index.ts rename to packages/gitbook/src/components/hooks/index.ts diff --git a/src/components/hooks/useScrollActiveId.ts b/packages/gitbook/src/components/hooks/useScrollActiveId.ts similarity index 100% rename from src/components/hooks/useScrollActiveId.ts rename to packages/gitbook/src/components/hooks/useScrollActiveId.ts diff --git a/src/components/hooks/useScrollToHash.ts b/packages/gitbook/src/components/hooks/useScrollToHash.ts similarity index 100% rename from src/components/hooks/useScrollToHash.ts rename to packages/gitbook/src/components/hooks/useScrollToHash.ts diff --git a/src/components/icons/IconArrowLeft.tsx b/packages/gitbook/src/components/icons/IconArrowLeft.tsx similarity index 100% rename from src/components/icons/IconArrowLeft.tsx rename to packages/gitbook/src/components/icons/IconArrowLeft.tsx diff --git a/src/components/icons/IconArrowRight.tsx b/packages/gitbook/src/components/icons/IconArrowRight.tsx similarity index 100% rename from src/components/icons/IconArrowRight.tsx rename to packages/gitbook/src/components/icons/IconArrowRight.tsx diff --git a/src/components/icons/IconChevronDown.tsx b/packages/gitbook/src/components/icons/IconChevronDown.tsx similarity index 100% rename from src/components/icons/IconChevronDown.tsx rename to packages/gitbook/src/components/icons/IconChevronDown.tsx diff --git a/src/components/icons/IconChevronRight.tsx b/packages/gitbook/src/components/icons/IconChevronRight.tsx similarity index 100% rename from src/components/icons/IconChevronRight.tsx rename to packages/gitbook/src/components/icons/IconChevronRight.tsx diff --git a/src/components/icons/IconLogo.tsx b/packages/gitbook/src/components/icons/IconLogo.tsx similarity index 100% rename from src/components/icons/IconLogo.tsx rename to packages/gitbook/src/components/icons/IconLogo.tsx diff --git a/src/components/icons/IconMenu.tsx b/packages/gitbook/src/components/icons/IconMenu.tsx similarity index 100% rename from src/components/icons/IconMenu.tsx rename to packages/gitbook/src/components/icons/IconMenu.tsx diff --git a/src/components/icons/IconSearch.tsx b/packages/gitbook/src/components/icons/IconSearch.tsx similarity index 100% rename from src/components/icons/IconSearch.tsx rename to packages/gitbook/src/components/icons/IconSearch.tsx diff --git a/src/components/icons/LogoIcon.tsx b/packages/gitbook/src/components/icons/LogoIcon.tsx similarity index 100% rename from src/components/icons/LogoIcon.tsx rename to packages/gitbook/src/components/icons/LogoIcon.tsx diff --git a/src/components/icons/index.ts b/packages/gitbook/src/components/icons/index.ts similarity index 100% rename from src/components/icons/index.ts rename to packages/gitbook/src/components/icons/index.ts diff --git a/src/components/icons/types.ts b/packages/gitbook/src/components/icons/types.ts similarity index 100% rename from src/components/icons/types.ts rename to packages/gitbook/src/components/icons/types.ts diff --git a/src/components/layout.ts b/packages/gitbook/src/components/layout.ts similarity index 100% rename from src/components/layout.ts rename to packages/gitbook/src/components/layout.ts diff --git a/src/components/primitives/Button.tsx b/packages/gitbook/src/components/primitives/Button.tsx similarity index 100% rename from src/components/primitives/Button.tsx rename to packages/gitbook/src/components/primitives/Button.tsx diff --git a/src/components/primitives/Card.tsx b/packages/gitbook/src/components/primitives/Card.tsx similarity index 100% rename from src/components/primitives/Card.tsx rename to packages/gitbook/src/components/primitives/Card.tsx diff --git a/src/components/primitives/Checkbox.tsx b/packages/gitbook/src/components/primitives/Checkbox.tsx similarity index 100% rename from src/components/primitives/Checkbox.tsx rename to packages/gitbook/src/components/primitives/Checkbox.tsx diff --git a/src/components/primitives/ColorDebugger.tsx b/packages/gitbook/src/components/primitives/ColorDebugger.tsx similarity index 100% rename from src/components/primitives/ColorDebugger.tsx rename to packages/gitbook/src/components/primitives/ColorDebugger.tsx diff --git a/src/components/primitives/DateRelative.tsx b/packages/gitbook/src/components/primitives/DateRelative.tsx similarity index 100% rename from src/components/primitives/DateRelative.tsx rename to packages/gitbook/src/components/primitives/DateRelative.tsx diff --git a/src/components/primitives/Emoji/Emoji.tsx b/packages/gitbook/src/components/primitives/Emoji/Emoji.tsx similarity index 100% rename from src/components/primitives/Emoji/Emoji.tsx rename to packages/gitbook/src/components/primitives/Emoji/Emoji.tsx diff --git a/src/components/primitives/Emoji/cbdt.woff2 b/packages/gitbook/src/components/primitives/Emoji/cbdt.woff2 similarity index 100% rename from src/components/primitives/Emoji/cbdt.woff2 rename to packages/gitbook/src/components/primitives/Emoji/cbdt.woff2 diff --git a/src/components/primitives/Emoji/emoji.css b/packages/gitbook/src/components/primitives/Emoji/emoji.css similarity index 100% rename from src/components/primitives/Emoji/emoji.css rename to packages/gitbook/src/components/primitives/Emoji/emoji.css diff --git a/src/components/primitives/Emoji/index.ts b/packages/gitbook/src/components/primitives/Emoji/index.ts similarity index 100% rename from src/components/primitives/Emoji/index.ts rename to packages/gitbook/src/components/primitives/Emoji/index.ts diff --git a/src/components/primitives/Emoji/sbix.woff2 b/packages/gitbook/src/components/primitives/Emoji/sbix.woff2 similarity index 100% rename from src/components/primitives/Emoji/sbix.woff2 rename to packages/gitbook/src/components/primitives/Emoji/sbix.woff2 diff --git a/src/components/primitives/Emoji/svg.woff2 b/packages/gitbook/src/components/primitives/Emoji/svg.woff2 similarity index 100% rename from src/components/primitives/Emoji/svg.woff2 rename to packages/gitbook/src/components/primitives/Emoji/svg.woff2 diff --git a/src/components/primitives/Link.tsx b/packages/gitbook/src/components/primitives/Link.tsx similarity index 100% rename from src/components/primitives/Link.tsx rename to packages/gitbook/src/components/primitives/Link.tsx diff --git a/src/components/primitives/Loading.tsx b/packages/gitbook/src/components/primitives/Loading.tsx similarity index 100% rename from src/components/primitives/Loading.tsx rename to packages/gitbook/src/components/primitives/Loading.tsx diff --git a/src/components/primitives/LoadingPane.tsx b/packages/gitbook/src/components/primitives/LoadingPane.tsx similarity index 100% rename from src/components/primitives/LoadingPane.tsx rename to packages/gitbook/src/components/primitives/LoadingPane.tsx diff --git a/src/components/primitives/Skeleton.tsx b/packages/gitbook/src/components/primitives/Skeleton.tsx similarity index 100% rename from src/components/primitives/Skeleton.tsx rename to packages/gitbook/src/components/primitives/Skeleton.tsx diff --git a/src/components/primitives/StyledLink.tsx b/packages/gitbook/src/components/primitives/StyledLink.tsx similarity index 100% rename from src/components/primitives/StyledLink.tsx rename to packages/gitbook/src/components/primitives/StyledLink.tsx diff --git a/src/components/primitives/index.ts b/packages/gitbook/src/components/primitives/index.ts similarity index 100% rename from src/components/primitives/index.ts rename to packages/gitbook/src/components/primitives/index.ts diff --git a/src/components/utils/Image.tsx b/packages/gitbook/src/components/utils/Image.tsx similarity index 100% rename from src/components/utils/Image.tsx rename to packages/gitbook/src/components/utils/Image.tsx diff --git a/src/components/utils/ZoomImage.module.css b/packages/gitbook/src/components/utils/ZoomImage.module.css similarity index 100% rename from src/components/utils/ZoomImage.module.css rename to packages/gitbook/src/components/utils/ZoomImage.module.css diff --git a/src/components/utils/ZoomImage.tsx b/packages/gitbook/src/components/utils/ZoomImage.tsx similarity index 100% rename from src/components/utils/ZoomImage.tsx rename to packages/gitbook/src/components/utils/ZoomImage.tsx diff --git a/src/components/utils/index.ts b/packages/gitbook/src/components/utils/index.ts similarity index 100% rename from src/components/utils/index.ts rename to packages/gitbook/src/components/utils/index.ts diff --git a/src/components/utils/types.ts b/packages/gitbook/src/components/utils/types.ts similarity index 100% rename from src/components/utils/types.ts rename to packages/gitbook/src/components/utils/types.ts diff --git a/src/fonts/ABCFavorit/ABCFavorit-Bold.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Bold.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Bold.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Bold.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-Bold.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Bold.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Bold.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Bold.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-Bold.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Bold.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Bold.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Bold.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-BoldItalic.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BoldItalic.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-BoldItalic.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BoldItalic.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BoldItalic.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-Book.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Book.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Book.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Book.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-Book.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Book.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Book.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Book.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-Book.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Book.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Book.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Book.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-BookItalic.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BookItalic.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-BookItalic.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BookItalic.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-BookItalic.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BookItalic.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-BookItalic.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BookItalic.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-BookItalic.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BookItalic.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-BookItalic.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-BookItalic.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-Light.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Light.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Light.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Light.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-Light.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Light.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Light.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Light.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-Light.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Light.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Light.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Light.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-LightItalic.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-LightItalic.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-LightItalic.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-LightItalic.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-LightItalic.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-LightItalic.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-LightItalic.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-LightItalic.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-LightItalic.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-LightItalic.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-LightItalic.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-LightItalic.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-Medium.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Medium.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Medium.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Medium.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-Medium.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Medium.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Medium.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Medium.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-Medium.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Medium.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Medium.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Medium.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-MediumItalic.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-MediumItalic.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-MediumItalic.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-MediumItalic.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-MediumItalic.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-Regular.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Regular.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Regular.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Regular.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-Regular.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Regular.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Regular.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Regular.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-Regular.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Regular.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Regular.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Regular.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-RegularItalic.otf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-RegularItalic.otf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-RegularItalic.otf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-RegularItalic.otf diff --git a/src/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-RegularItalic.woff2 diff --git a/src/fonts/ABCFavorit/ABCFavorit-Variable.ttf b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Variable.ttf similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Variable.ttf rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Variable.ttf diff --git a/src/fonts/ABCFavorit/ABCFavorit-Variable.woff b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Variable.woff similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Variable.woff rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Variable.woff diff --git a/src/fonts/ABCFavorit/ABCFavorit-Variable.woff2 b/packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Variable.woff2 similarity index 100% rename from src/fonts/ABCFavorit/ABCFavorit-Variable.woff2 rename to packages/gitbook/src/fonts/ABCFavorit/ABCFavorit-Variable.woff2 diff --git a/src/fonts/index.ts b/packages/gitbook/src/fonts/index.ts similarity index 100% rename from src/fonts/index.ts rename to packages/gitbook/src/fonts/index.ts diff --git a/src/intl/client.ts b/packages/gitbook/src/intl/client.ts similarity index 100% rename from src/intl/client.ts rename to packages/gitbook/src/intl/client.ts diff --git a/src/intl/server.ts b/packages/gitbook/src/intl/server.ts similarity index 100% rename from src/intl/server.ts rename to packages/gitbook/src/intl/server.ts diff --git a/src/intl/translate.tsx b/packages/gitbook/src/intl/translate.tsx similarity index 97% rename from src/intl/translate.tsx rename to packages/gitbook/src/intl/translate.tsx index 55031f305..b1829fdcf 100644 --- a/src/intl/translate.tsx +++ b/packages/gitbook/src/intl/translate.tsx @@ -69,7 +69,7 @@ function reactToString(el: React.ReactNode): string { return el.map(reactToString).join(''); } - if ('props' in el) { + if (typeof el === 'object' && 'props' in el) { return el.props.children.map(reactToString).join(''); } diff --git a/src/intl/translations/de.ts b/packages/gitbook/src/intl/translations/de.ts similarity index 100% rename from src/intl/translations/de.ts rename to packages/gitbook/src/intl/translations/de.ts diff --git a/src/intl/translations/en.ts b/packages/gitbook/src/intl/translations/en.ts similarity index 100% rename from src/intl/translations/en.ts rename to packages/gitbook/src/intl/translations/en.ts diff --git a/src/intl/translations/es.ts b/packages/gitbook/src/intl/translations/es.ts similarity index 100% rename from src/intl/translations/es.ts rename to packages/gitbook/src/intl/translations/es.ts diff --git a/src/intl/translations/fr.ts b/packages/gitbook/src/intl/translations/fr.ts similarity index 100% rename from src/intl/translations/fr.ts rename to packages/gitbook/src/intl/translations/fr.ts diff --git a/src/intl/translations/index.ts b/packages/gitbook/src/intl/translations/index.ts similarity index 100% rename from src/intl/translations/index.ts rename to packages/gitbook/src/intl/translations/index.ts diff --git a/src/intl/translations/ja.ts b/packages/gitbook/src/intl/translations/ja.ts similarity index 100% rename from src/intl/translations/ja.ts rename to packages/gitbook/src/intl/translations/ja.ts diff --git a/src/intl/translations/pt-br.ts b/packages/gitbook/src/intl/translations/pt-br.ts similarity index 100% rename from src/intl/translations/pt-br.ts rename to packages/gitbook/src/intl/translations/pt-br.ts diff --git a/src/intl/translations/translations.test.ts b/packages/gitbook/src/intl/translations/translations.test.ts similarity index 100% rename from src/intl/translations/translations.test.ts rename to packages/gitbook/src/intl/translations/translations.test.ts diff --git a/src/intl/translations/types.ts b/packages/gitbook/src/intl/translations/types.ts similarity index 100% rename from src/intl/translations/types.ts rename to packages/gitbook/src/intl/translations/types.ts diff --git a/src/intl/translations/zh.ts b/packages/gitbook/src/intl/translations/zh.ts similarity index 100% rename from src/intl/translations/zh.ts rename to packages/gitbook/src/intl/translations/zh.ts diff --git a/src/lib/actions.ts b/packages/gitbook/src/lib/actions.ts similarity index 100% rename from src/lib/actions.ts rename to packages/gitbook/src/lib/actions.ts diff --git a/src/lib/analytics.ts b/packages/gitbook/src/lib/analytics.ts similarity index 100% rename from src/lib/analytics.ts rename to packages/gitbook/src/lib/analytics.ts diff --git a/src/lib/api.ts b/packages/gitbook/src/lib/api.ts similarity index 100% rename from src/lib/api.ts rename to packages/gitbook/src/lib/api.ts diff --git a/src/lib/assets.ts b/packages/gitbook/src/lib/assets.ts similarity index 100% rename from src/lib/assets.ts rename to packages/gitbook/src/lib/assets.ts diff --git a/src/lib/async.test.ts b/packages/gitbook/src/lib/async.test.ts similarity index 100% rename from src/lib/async.test.ts rename to packages/gitbook/src/lib/async.test.ts diff --git a/src/lib/async.ts b/packages/gitbook/src/lib/async.ts similarity index 98% rename from src/lib/async.ts rename to packages/gitbook/src/lib/async.ts index 3e99ddff2..37756d86b 100644 --- a/src/lib/async.ts +++ b/packages/gitbook/src/lib/async.ts @@ -75,11 +75,11 @@ export async function race( const result = await new Promise((resolve, reject) => { let resolved = false; let pending = inputs.length; - let timeoutId: NodeJS.Timeout | null = null; + let timeoutId: Timer | null = null; let blockFallbackStarted = false; let blockFallbackRunning = false; let blockFallbackError: Error | null = null; - let blockTimeoutId: NodeJS.Timeout | null = null; + let blockTimeoutId: Timer | null = null; const abort = new AbortController(); const done = () => { @@ -326,7 +326,7 @@ export function batch( const { delay, groupBy = () => 'default', skip = () => false } = options; const groups = new Map void, (error: Error) => void]>>(); - let timeoutId: NodeJS.Timeout | null = null; + let timeoutId: Timer | null = null; return async (...args) => { if (await skip(...args)) { diff --git a/src/lib/build.ts b/packages/gitbook/src/lib/build.ts similarity index 100% rename from src/lib/build.ts rename to packages/gitbook/src/lib/build.ts diff --git a/src/lib/cache/backends.ts b/packages/gitbook/src/lib/cache/backends.ts similarity index 100% rename from src/lib/cache/backends.ts rename to packages/gitbook/src/lib/cache/backends.ts diff --git a/src/lib/cache/cache.test.ts b/packages/gitbook/src/lib/cache/cache.test.ts similarity index 100% rename from src/lib/cache/cache.test.ts rename to packages/gitbook/src/lib/cache/cache.test.ts diff --git a/src/lib/cache/cache.ts b/packages/gitbook/src/lib/cache/cache.ts similarity index 100% rename from src/lib/cache/cache.ts rename to packages/gitbook/src/lib/cache/cache.ts diff --git a/src/lib/cache/cloudflare-cache.ts b/packages/gitbook/src/lib/cache/cloudflare-cache.ts similarity index 100% rename from src/lib/cache/cloudflare-cache.ts rename to packages/gitbook/src/lib/cache/cloudflare-cache.ts diff --git a/src/lib/cache/cloudflare-kv.ts b/packages/gitbook/src/lib/cache/cloudflare-kv.ts similarity index 100% rename from src/lib/cache/cloudflare-kv.ts rename to packages/gitbook/src/lib/cache/cloudflare-kv.ts diff --git a/src/lib/cache/http.ts b/packages/gitbook/src/lib/cache/http.ts similarity index 100% rename from src/lib/cache/http.ts rename to packages/gitbook/src/lib/cache/http.ts diff --git a/src/lib/cache/index.ts b/packages/gitbook/src/lib/cache/index.ts similarity index 100% rename from src/lib/cache/index.ts rename to packages/gitbook/src/lib/cache/index.ts diff --git a/src/lib/cache/memory.ts b/packages/gitbook/src/lib/cache/memory.ts similarity index 100% rename from src/lib/cache/memory.ts rename to packages/gitbook/src/lib/cache/memory.ts diff --git a/src/lib/cache/redis.ts b/packages/gitbook/src/lib/cache/redis.ts similarity index 100% rename from src/lib/cache/redis.ts rename to packages/gitbook/src/lib/cache/redis.ts diff --git a/src/lib/cache/revalidateTags.ts b/packages/gitbook/src/lib/cache/revalidateTags.ts similarity index 100% rename from src/lib/cache/revalidateTags.ts rename to packages/gitbook/src/lib/cache/revalidateTags.ts diff --git a/src/lib/cache/types.ts b/packages/gitbook/src/lib/cache/types.ts similarity index 100% rename from src/lib/cache/types.ts rename to packages/gitbook/src/lib/cache/types.ts diff --git a/src/lib/cache/utils.ts b/packages/gitbook/src/lib/cache/utils.ts similarity index 100% rename from src/lib/cache/utils.ts rename to packages/gitbook/src/lib/cache/utils.ts diff --git a/src/lib/colors.ts b/packages/gitbook/src/lib/colors.ts similarity index 100% rename from src/lib/colors.ts rename to packages/gitbook/src/lib/colors.ts diff --git a/src/lib/csp.ts b/packages/gitbook/src/lib/csp.ts similarity index 100% rename from src/lib/csp.ts rename to packages/gitbook/src/lib/csp.ts diff --git a/src/lib/document.test.ts b/packages/gitbook/src/lib/document.test.ts similarity index 100% rename from src/lib/document.test.ts rename to packages/gitbook/src/lib/document.test.ts diff --git a/src/lib/document.ts b/packages/gitbook/src/lib/document.ts similarity index 100% rename from src/lib/document.ts rename to packages/gitbook/src/lib/document.ts diff --git a/src/lib/emojis.test.ts b/packages/gitbook/src/lib/emojis.test.ts similarity index 100% rename from src/lib/emojis.test.ts rename to packages/gitbook/src/lib/emojis.test.ts diff --git a/src/lib/emojis.ts b/packages/gitbook/src/lib/emojis.ts similarity index 100% rename from src/lib/emojis.ts rename to packages/gitbook/src/lib/emojis.ts diff --git a/src/lib/files.ts b/packages/gitbook/src/lib/files.ts similarity index 100% rename from src/lib/files.ts rename to packages/gitbook/src/lib/files.ts diff --git a/src/lib/images.ts b/packages/gitbook/src/lib/images.ts similarity index 100% rename from src/lib/images.ts rename to packages/gitbook/src/lib/images.ts diff --git a/src/lib/links.ts b/packages/gitbook/src/lib/links.ts similarity index 100% rename from src/lib/links.ts rename to packages/gitbook/src/lib/links.ts diff --git a/src/lib/markdown.test.ts b/packages/gitbook/src/lib/markdown.test.ts similarity index 100% rename from src/lib/markdown.test.ts rename to packages/gitbook/src/lib/markdown.test.ts diff --git a/src/lib/markdown.ts b/packages/gitbook/src/lib/markdown.ts similarity index 100% rename from src/lib/markdown.ts rename to packages/gitbook/src/lib/markdown.ts diff --git a/src/lib/middleware.test.ts b/packages/gitbook/src/lib/middleware.test.ts similarity index 100% rename from src/lib/middleware.test.ts rename to packages/gitbook/src/lib/middleware.test.ts diff --git a/src/lib/middleware.ts b/packages/gitbook/src/lib/middleware.ts similarity index 100% rename from src/lib/middleware.ts rename to packages/gitbook/src/lib/middleware.ts diff --git a/src/lib/openapi.ts b/packages/gitbook/src/lib/openapi.ts similarity index 99% rename from src/lib/openapi.ts rename to packages/gitbook/src/lib/openapi.ts index 363468843..18aff1cfc 100644 --- a/src/lib/openapi.ts +++ b/packages/gitbook/src/lib/openapi.ts @@ -1,7 +1,4 @@ import { ContentRef, DocumentBlockSwagger } from '@gitbook/api'; - -import { cache, parseCacheResponse, noCacheFetchOptions, CacheFunctionOptions } from '@/lib/cache'; - import { OpenAPIOperationData, fetchOpenAPIOperation, @@ -10,6 +7,8 @@ import { OpenAPIFetchError, } from '@gitbook/react-openapi'; +import { cache, parseCacheResponse, noCacheFetchOptions, CacheFunctionOptions } from '@/lib/cache'; + import { parseMarkdown } from './markdown'; import { ResolvedContentRef } from './references'; diff --git a/src/lib/pages.test.ts b/packages/gitbook/src/lib/pages.test.ts similarity index 100% rename from src/lib/pages.test.ts rename to packages/gitbook/src/lib/pages.test.ts diff --git a/src/lib/pages.ts b/packages/gitbook/src/lib/pages.ts similarity index 100% rename from src/lib/pages.ts rename to packages/gitbook/src/lib/pages.ts diff --git a/src/lib/references.ts b/packages/gitbook/src/lib/references.ts similarity index 100% rename from src/lib/references.ts rename to packages/gitbook/src/lib/references.ts diff --git a/src/lib/seo.ts b/packages/gitbook/src/lib/seo.ts similarity index 100% rename from src/lib/seo.ts rename to packages/gitbook/src/lib/seo.ts diff --git a/src/lib/tailwind.ts b/packages/gitbook/src/lib/tailwind.ts similarity index 100% rename from src/lib/tailwind.ts rename to packages/gitbook/src/lib/tailwind.ts diff --git a/src/lib/tracing.ts b/packages/gitbook/src/lib/tracing.ts similarity index 100% rename from src/lib/tracing.ts rename to packages/gitbook/src/lib/tracing.ts diff --git a/src/lib/typescript.ts b/packages/gitbook/src/lib/typescript.ts similarity index 100% rename from src/lib/typescript.ts rename to packages/gitbook/src/lib/typescript.ts diff --git a/src/lib/urls.ts b/packages/gitbook/src/lib/urls.ts similarity index 100% rename from src/lib/urls.ts rename to packages/gitbook/src/lib/urls.ts diff --git a/src/lib/utils.ts b/packages/gitbook/src/lib/utils.ts similarity index 100% rename from src/lib/utils.ts rename to packages/gitbook/src/lib/utils.ts diff --git a/src/lib/visitor-auth.test.ts b/packages/gitbook/src/lib/visitor-auth.test.ts similarity index 100% rename from src/lib/visitor-auth.test.ts rename to packages/gitbook/src/lib/visitor-auth.test.ts diff --git a/src/lib/visitor-auth.ts b/packages/gitbook/src/lib/visitor-auth.ts similarity index 95% rename from src/lib/visitor-auth.ts rename to packages/gitbook/src/lib/visitor-auth.ts index 5adcd0178..2ee702e8f 100644 --- a/src/lib/visitor-auth.ts +++ b/packages/gitbook/src/lib/visitor-auth.ts @@ -18,7 +18,7 @@ export type VisitorAuthCookieValue = { */ export function getVisitorAuthToken( request: NextRequest, - url: URL, + url: URL | NextRequest['nextUrl'], ): string | VisitorAuthCookieValue | undefined { return url.searchParams.get(VISITOR_AUTH_PARAM) ?? getVisitorAuthTokenFromCookies(request, url); } @@ -55,7 +55,7 @@ export function normalizeVisitorAuthURL(url: URL): URL { * authentication cookie token. * It returns the longest one first, and the shortest one last. */ -function getUrlBasePathCombinations(url: URL): string[] { +function getUrlBasePathCombinations(url: URL | NextRequest['nextUrl']): string[] { const parts = url.pathname.split('/').filter(Boolean); const baseNames = ['/']; @@ -73,7 +73,7 @@ function getUrlBasePathCombinations(url: URL): string[] { */ function getVisitorAuthTokenFromCookies( request: NextRequest, - url: URL, + url: URL | NextRequest['nextUrl'], ): VisitorAuthCookieValue | undefined { const urlBasePaths = getUrlBasePathCombinations(url); // Try to find a visitor authentication token for the current URL. The request diff --git a/src/lib/waitUntil.ts b/packages/gitbook/src/lib/waitUntil.ts similarity index 100% rename from src/lib/waitUntil.ts rename to packages/gitbook/src/lib/waitUntil.ts diff --git a/src/middleware.ts b/packages/gitbook/src/middleware.ts similarity index 100% rename from src/middleware.ts rename to packages/gitbook/src/middleware.ts diff --git a/tailwind.config.ts b/packages/gitbook/tailwind.config.ts similarity index 100% rename from tailwind.config.ts rename to packages/gitbook/tailwind.config.ts diff --git a/tests/pagespeed-testing.ts b/packages/gitbook/tests/pagespeed-testing.ts similarity index 100% rename from tests/pagespeed-testing.ts rename to packages/gitbook/tests/pagespeed-testing.ts diff --git a/tests/utils.ts b/packages/gitbook/tests/utils.ts similarity index 100% rename from tests/utils.ts rename to packages/gitbook/tests/utils.ts diff --git a/tsconfig.json b/packages/gitbook/tsconfig.json similarity index 90% rename from tsconfig.json rename to packages/gitbook/tsconfig.json index 4bb21469a..5b91e68fe 100644 --- a/tsconfig.json +++ b/packages/gitbook/tsconfig.json @@ -26,5 +26,5 @@ ] }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] + "exclude": ["node_modules", "packages/react-openapi", "packages/react-math"] } diff --git a/types/content-security-policy-merger.d.ts b/packages/gitbook/types/content-security-policy-merger.d.ts similarity index 100% rename from types/content-security-policy-merger.d.ts rename to packages/gitbook/types/content-security-policy-merger.d.ts diff --git a/types/gitbook-integrations-global.d.ts b/packages/gitbook/types/gitbook-integrations-global.d.ts similarity index 100% rename from types/gitbook-integrations-global.d.ts rename to packages/gitbook/types/gitbook-integrations-global.d.ts diff --git a/types/global.d.ts b/packages/gitbook/types/global.d.ts similarity index 100% rename from types/global.d.ts rename to packages/gitbook/types/global.d.ts diff --git a/types/images.d.ts b/packages/gitbook/types/images.d.ts similarity index 100% rename from types/images.d.ts rename to packages/gitbook/types/images.d.ts diff --git a/types/memoizee.d.ts b/packages/gitbook/types/memoizee.d.ts similarity index 100% rename from types/memoizee.d.ts rename to packages/gitbook/types/memoizee.d.ts diff --git a/packages/react-contentkit/.gitignore b/packages/react-contentkit/.gitignore new file mode 100644 index 000000000..849ddff3b --- /dev/null +++ b/packages/react-contentkit/.gitignore @@ -0,0 +1 @@ +dist/ diff --git a/packages/react-contentkit/package.json b/packages/react-contentkit/package.json index 56d258e68..ce4058f36 100644 --- a/packages/react-contentkit/package.json +++ b/packages/react-contentkit/package.json @@ -1,7 +1,13 @@ { "name": "@gitbook/react-contentkit", "version": "0.2.0", - "exports": "./src/index.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "development": "./src/index.ts", + "default": "./dist/index.js" + } + }, "dependencies": { "classnames": "^2.5.1", "@gitbook/api": "^0.51.0", @@ -9,5 +15,13 @@ }, "peerDependencies": { "react": "*" + }, + "devDependencies": { + "typescript": "^5.5.3" + }, + "scripts": { + "build": "tsc", + "typecheck": "tsc --noEmit", + "dev": "tsc -w" } } diff --git a/packages/react-contentkit/src/ContentKitOutput.tsx b/packages/react-contentkit/src/ContentKitOutput.tsx index f562dd254..19ba5cbd0 100644 --- a/packages/react-contentkit/src/ContentKitOutput.tsx +++ b/packages/react-contentkit/src/ContentKitOutput.tsx @@ -1,4 +1,5 @@ import { type ContentKitRenderOutput } from '@gitbook/api'; +import React from 'react'; import { Element } from './Element'; import { ContentKitServerContext } from './types'; diff --git a/packages/react-contentkit/src/Element.tsx b/packages/react-contentkit/src/Element.tsx index 549fb2b1f..fc601b015 100644 --- a/packages/react-contentkit/src/Element.tsx +++ b/packages/react-contentkit/src/Element.tsx @@ -3,6 +3,7 @@ import { ContentKitInlineElement, ContentKitRootElement, } from '@gitbook/api'; +import React from 'react'; import { ElementBlock } from './ElementBlock'; import { ElementWebframe } from './ElementWebframe'; @@ -13,7 +14,6 @@ import { ElementCodeBlock } from './ElementCodeBlock'; import { ElementImage } from './ElementImage'; import { ElementStack } from './ElementStack'; import { ElementText } from './ElementText'; -import React from 'react'; import { ElementButton } from './ElementButton'; import { ElementModal } from './ElementModal'; import { ElementBox } from './ElementBox'; diff --git a/packages/react-contentkit/src/ElementBlock.tsx b/packages/react-contentkit/src/ElementBlock.tsx index 3a1459f6b..55c3f8e59 100644 --- a/packages/react-contentkit/src/ElementBlock.tsx +++ b/packages/react-contentkit/src/ElementBlock.tsx @@ -1,4 +1,5 @@ import { ContentKitBlock } from '@gitbook/api'; +import React from 'react'; import { ContentKitServerElementProps } from './types'; diff --git a/packages/react-contentkit/src/ElementBox.tsx b/packages/react-contentkit/src/ElementBox.tsx index 83562ebe5..a5d4deeb6 100644 --- a/packages/react-contentkit/src/ElementBox.tsx +++ b/packages/react-contentkit/src/ElementBox.tsx @@ -1,4 +1,5 @@ import { ContentKitBox } from '@gitbook/api'; +import React from 'react'; import { ContentKitServerElementProps } from './types'; diff --git a/packages/react-contentkit/src/ElementButton.tsx b/packages/react-contentkit/src/ElementButton.tsx index 73919d724..8e7fda391 100644 --- a/packages/react-contentkit/src/ElementButton.tsx +++ b/packages/react-contentkit/src/ElementButton.tsx @@ -1,11 +1,11 @@ 'use client'; +import React from 'react'; import { ContentKitButton } from '@gitbook/api'; import { ContentKitClientElementProps } from './types'; import classNames from 'classnames'; import { useContentKitClientContext } from './context'; -import React from 'react'; export function ElementButton( props: ContentKitClientElementProps & { diff --git a/packages/react-contentkit/src/ElementCodeBlock.tsx b/packages/react-contentkit/src/ElementCodeBlock.tsx index 2f233960e..f5ff44fae 100644 --- a/packages/react-contentkit/src/ElementCodeBlock.tsx +++ b/packages/react-contentkit/src/ElementCodeBlock.tsx @@ -1,4 +1,5 @@ import { ContentKitCodeBlock } from '@gitbook/api'; +import React from 'react'; import { ContentKitServerElementProps } from './types'; import { resolveDynamicBinding } from './dynamic'; diff --git a/packages/react-contentkit/src/ElementCodeBlockClient.tsx b/packages/react-contentkit/src/ElementCodeBlockClient.tsx index a36a7c6fc..9d5873ad5 100644 --- a/packages/react-contentkit/src/ElementCodeBlockClient.tsx +++ b/packages/react-contentkit/src/ElementCodeBlockClient.tsx @@ -1,4 +1,5 @@ import { ContentKitCodeBlock } from '@gitbook/api'; +import React from 'react'; import { ContentKitClientElementProps } from './types'; diff --git a/packages/react-contentkit/src/ElementDivider.tsx b/packages/react-contentkit/src/ElementDivider.tsx index 69e764c8d..a4a61edf9 100644 --- a/packages/react-contentkit/src/ElementDivider.tsx +++ b/packages/react-contentkit/src/ElementDivider.tsx @@ -1,4 +1,5 @@ import { ContentKitDivider } from '@gitbook/api'; +import React from 'react'; import { ContentKitServerElementProps } from './types'; import classNames from 'classnames'; diff --git a/packages/react-contentkit/src/ElementIcon.tsx b/packages/react-contentkit/src/ElementIcon.tsx index 7771d4c9a..1e9fdefcf 100644 --- a/packages/react-contentkit/src/ElementIcon.tsx +++ b/packages/react-contentkit/src/ElementIcon.tsx @@ -1,4 +1,5 @@ import { ContentKitIcon } from '@gitbook/api'; +import React from 'react'; import { ContentKitServerContext } from './types'; export function ElementIcon(props: { icon: ContentKitIcon; context: ContentKitServerContext }) { diff --git a/packages/react-contentkit/src/ElementImage.tsx b/packages/react-contentkit/src/ElementImage.tsx index 154a2e341..bb93e8922 100644 --- a/packages/react-contentkit/src/ElementImage.tsx +++ b/packages/react-contentkit/src/ElementImage.tsx @@ -1,4 +1,5 @@ import { ContentKitImage } from '@gitbook/api'; +import React from 'react'; import { ContentKitServerElementProps } from './types'; diff --git a/packages/react-contentkit/src/ElementMarkdown.tsx b/packages/react-contentkit/src/ElementMarkdown.tsx index ca12255c5..0859d9c77 100644 --- a/packages/react-contentkit/src/ElementMarkdown.tsx +++ b/packages/react-contentkit/src/ElementMarkdown.tsx @@ -1,4 +1,5 @@ import { ContentKitMarkdown } from '@gitbook/api'; +import React from 'react'; import { ContentKitServerElementProps } from './types'; import { ElementMarkdownClient } from './ElementMarkdownClient'; diff --git a/packages/react-contentkit/src/ElementMarkdownClient.tsx b/packages/react-contentkit/src/ElementMarkdownClient.tsx index 29e86b287..c812e3202 100644 --- a/packages/react-contentkit/src/ElementMarkdownClient.tsx +++ b/packages/react-contentkit/src/ElementMarkdownClient.tsx @@ -1,9 +1,9 @@ 'use client'; import { ContentKitMarkdown } from '@gitbook/api'; +import React from 'react'; import { ContentKitClientElementProps } from './types'; import { resolveDynamicBinding } from './dynamic'; -import React from 'react'; import { useContentKitClientContext } from './context'; /** diff --git a/packages/react-contentkit/src/ElementModal.tsx b/packages/react-contentkit/src/ElementModal.tsx index 2c474c403..0e837987d 100644 --- a/packages/react-contentkit/src/ElementModal.tsx +++ b/packages/react-contentkit/src/ElementModal.tsx @@ -1,11 +1,11 @@ 'use client'; import { ContentKitModal } from '@gitbook/api'; +import React from 'react'; import { ContentKitClientElementProps } from './types'; import classNames from 'classnames'; import { useContentKitClientContext } from './context'; -import React from 'react'; export function ElementModal( props: ContentKitClientElementProps & { diff --git a/packages/react-contentkit/src/ElementStack.tsx b/packages/react-contentkit/src/ElementStack.tsx index eb7e4bd4b..2642b92d6 100644 --- a/packages/react-contentkit/src/ElementStack.tsx +++ b/packages/react-contentkit/src/ElementStack.tsx @@ -1,4 +1,5 @@ import { ContentKitHStack, ContentKitVStack } from '@gitbook/api'; +import React from 'react'; import { ContentKitServerElementProps } from './types'; import classNames from 'classnames'; diff --git a/packages/react-contentkit/src/ElementText.tsx b/packages/react-contentkit/src/ElementText.tsx index c94355fbc..d0cb0e309 100644 --- a/packages/react-contentkit/src/ElementText.tsx +++ b/packages/react-contentkit/src/ElementText.tsx @@ -1,4 +1,5 @@ import { ContentKitText } from '@gitbook/api'; +import React from 'react'; import { ContentKitServerElementProps } from './types'; import classNames from 'classnames'; diff --git a/packages/react-contentkit/src/ElementTextInput.tsx b/packages/react-contentkit/src/ElementTextInput.tsx index 0893b53fd..1353eb1b8 100644 --- a/packages/react-contentkit/src/ElementTextInput.tsx +++ b/packages/react-contentkit/src/ElementTextInput.tsx @@ -1,11 +1,11 @@ 'use client'; import { ContentKitTextInput } from '@gitbook/api'; +import React from 'react'; import { ContentKitClientElementProps } from './types'; import classNames from 'classnames'; import { useContentKitClientContext } from './context'; -import React from 'react'; import { getStateStringValue } from './dynamic'; export function ElementTextInput(props: ContentKitClientElementProps) { diff --git a/packages/react-contentkit/tsconfig.json b/packages/react-contentkit/tsconfig.json new file mode 100644 index 000000000..2f0c8164b --- /dev/null +++ b/packages/react-contentkit/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "esnext", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": false, + "declaration": true, + "outDir": "dist", + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react", + "incremental": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/packages/react-math/.gitignore b/packages/react-math/.gitignore new file mode 100644 index 000000000..849ddff3b --- /dev/null +++ b/packages/react-math/.gitignore @@ -0,0 +1 @@ +dist/ diff --git a/packages/react-math/README.md b/packages/react-math/README.md new file mode 100644 index 000000000..800e94982 --- /dev/null +++ b/packages/react-math/README.md @@ -0,0 +1,3 @@ +# `@gitbook/react-math` + +React component to render a Math formula. It uses KaTeX when possible and fallbacks to MathJaX if needed. diff --git a/packages/react-math/src/default.css b/packages/react-math/css/default.css similarity index 100% rename from packages/react-math/src/default.css rename to packages/react-math/css/default.css diff --git a/packages/react-math/package.json b/packages/react-math/package.json index 06ad5be49..49453e225 100644 --- a/packages/react-math/package.json +++ b/packages/react-math/package.json @@ -1,11 +1,26 @@ { "name": "@gitbook/react-math", - "exports": "./src/index.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "development": "./src/index.ts", + "default": "./dist/index.js" + } + }, "version": "0.2.0", "dependencies": { "object-hash": "^3.0.0" }, "peerDependencies": { "react": "*" + }, + "devDependencies": { + "typescript": "^5.5.3", + "@types/katex": "^0.16.5" + }, + "scripts": { + "build": "tsc", + "typecheck": "tsc --noEmit", + "dev": "tsc -w" } } diff --git a/packages/react-math/src/MathFormula.tsx b/packages/react-math/src/MathFormula.tsx index a9e2471a2..011808df0 100644 --- a/packages/react-math/src/MathFormula.tsx +++ b/packages/react-math/src/MathFormula.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { KaTeX } from './KaTeX'; import { MathJaXLazy } from './MathJaXLazy'; -import './default.css'; +import '../css/default.css'; export interface MathFormulaProps { /** diff --git a/packages/react-math/src/MathJaX.tsx b/packages/react-math/src/MathJaX.tsx index 5d9e81faf..82b4b5f24 100644 --- a/packages/react-math/src/MathJaX.tsx +++ b/packages/react-math/src/MathJaX.tsx @@ -1,6 +1,6 @@ 'use client'; -import * as React from 'react'; +import React from 'react'; declare var MathJax: { startup: { @@ -24,6 +24,7 @@ export interface MathJaXFormulaProps { export default function MathJaXFormula(props: MathJaXFormulaProps) { const { formula, inline, className, mathJaxUrl } = props; + // @ts-ignore - React.use doesn't seem define in typing React.use(loadMathJaxScript(mathJaxUrl)); const [html, setHTML] = React.useState(''); diff --git a/packages/react-math/tsconfig.json b/packages/react-math/tsconfig.json new file mode 100644 index 000000000..2f0c8164b --- /dev/null +++ b/packages/react-math/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "esnext", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": false, + "declaration": true, + "outDir": "dist", + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react", + "incremental": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/packages/react-openapi/.gitignore b/packages/react-openapi/.gitignore new file mode 100644 index 000000000..1521c8b76 --- /dev/null +++ b/packages/react-openapi/.gitignore @@ -0,0 +1 @@ +dist diff --git a/packages/react-openapi/README.md b/packages/react-openapi/README.md index ed9f183bd..e2b44b38f 100644 --- a/packages/react-openapi/README.md +++ b/packages/react-openapi/README.md @@ -1,5 +1,3 @@ # `@gitbook/react-openapi` Style-less React components to render OpenAPI operation blocks. - -Note: The package is a TypeScript package and do not expose JS built files. diff --git a/packages/react-openapi/package.json b/packages/react-openapi/package.json index e8d2d6f3f..d7b05217d 100644 --- a/packages/react-openapi/package.json +++ b/packages/react-openapi/package.json @@ -1,7 +1,13 @@ { "name": "@gitbook/react-openapi", - "exports": "./src/index.ts", - "version": "0.3.0", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "development": "./src/index.ts", + "default": "./dist/index.js" + } + }, + "version": "0.2.0", "dependencies": { "@scalar/api-client-react": "^0.3.7", "@scalar/oas-utils": "0.1.6", @@ -12,9 +18,17 @@ "swagger2openapi": "^7.0.8" }, "devDependencies": { - "@types/swagger2openapi": "^7.0.4" + "@types/swagger2openapi": "^7.0.4", + "bun-types": "^1.1.20", + "typescript": "^5.5.3" }, "peerDependencies": { "react": "*" + }, + "scripts": { + "build": "tsc", + "typecheck": "tsc --noEmit", + "unit": "bun test", + "dev": "tsc -w" } } diff --git a/packages/react-openapi/tsconfig.json b/packages/react-openapi/tsconfig.json new file mode 100644 index 000000000..85cae73fd --- /dev/null +++ b/packages/react-openapi/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "esnext", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": false, + "declaration": true, + "outDir": "dist", + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react", + "incremental": true, + "types": [ + "bun-types" // add Bun global + ] + }, + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/packages/react-openapi/tsconfig.tsbuildinfo b/packages/react-openapi/tsconfig.tsbuildinfo new file mode 100644 index 000000000..cd4908c69 --- /dev/null +++ b/packages/react-openapi/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/classnames/index.d.ts","../../node_modules/openapi-types/dist/index.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","./src/interactivesection.tsx","./src/markdown.tsx","./src/types.ts","./src/resolveopenapipath.ts","./src/utils.ts","./src/openapischema.tsx","./src/openapischema.test.ts","./src/code-samples.ts","../../node_modules/flatted/types.d.ts","../../node_modules/yaml/types.d.ts","../../node_modules/yaml/util.d.ts","../../node_modules/yaml/parse-cst.d.ts","../../node_modules/yaml/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/swagger2openapi/index.d.ts","./src/fetchopenapioperation.ts","./src/fetchopenapioperation.test.ts","./src/generateschemaexample.ts","./src/openapiserverurlvariable.tsx","./src/openapiserverurl.tsx","../../node_modules/@scalar/oas-utils/dist/createhash.d.ts","../../node_modules/@scalar/oas-utils/dist/fetch-spec.d.ts","../../node_modules/@scalar/oas-utils/dist/getexamplefromschema.d.ts","../../node_modules/@types/har-format/index.d.ts","../../node_modules/httpsnippet-lite/dist/types/helpers/reducer.d.ts","../../node_modules/httpsnippet-lite/dist/types/helpers/url.d.ts","../../node_modules/httpsnippet-lite/dist/types/helpers/code-builder.d.ts","../../node_modules/httpsnippet-lite/dist/types/targets/targets.d.ts","../../node_modules/httpsnippet-lite/dist/types/helpers/utils.d.ts","../../node_modules/httpsnippet-lite/dist/types/httpsnippet.d.ts","../../node_modules/@scalar/openapi-parser/dist/index.d.ts","../../node_modules/@scalar/oas-utils/dist/types.d.ts","../../node_modules/@scalar/oas-utils/dist/getharrequest.d.ts","../../node_modules/@scalar/oas-utils/dist/getparametersfromoperation.d.ts","../../node_modules/@scalar/oas-utils/dist/getrequestbodyfromoperation.d.ts","../../node_modules/@scalar/oas-utils/dist/getrequestfromoperation.d.ts","../../node_modules/@scalar/oas-utils/dist/json2xml.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/parse/line-counter.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/errors.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/doc/applyreviver.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/log.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/tojs.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/scalar.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/stringify/stringify.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/collection.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/yamlseq.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/schema/types.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/schema/common/map.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/schema/common/seq.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/schema/common/string.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/stringify/foldflowlines.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/stringify/stringifynumber.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/stringify/stringifystring.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/util.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/yamlmap.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/identity.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/schema/schema.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/doc/createnode.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/addpairtojsmap.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/pair.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/schema/tags.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/options.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/node.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/parse/cst-scalar.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/parse/cst-stringify.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/parse/cst-visit.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/parse/cst.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/nodes/alias.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/doc/document.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/doc/directives.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/compose/composer.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/parse/lexer.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/parse/parser.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/public-api.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/visit.d.ts","../../node_modules/@scalar/oas-utils/node_modules/yaml/dist/index.d.ts","../../node_modules/@scalar/oas-utils/dist/parse.d.ts","../../node_modules/@scalar/oas-utils/dist/prettyprintjson.d.ts","../../node_modules/@scalar/oas-utils/dist/ssrstate.d.ts","../../node_modules/@scalar/oas-utils/dist/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/source-map-js/source-map.d.ts","../../node_modules/@vue/shared/dist/shared.d.ts","../../node_modules/@vue/compiler-core/dist/compiler-core.d.ts","../../node_modules/@vue/compiler-dom/dist/compiler-dom.d.ts","../../node_modules/@vue/reactivity/dist/reactivity.d.ts","../../node_modules/@vue/runtime-core/dist/runtime-core.d.ts","../../node_modules/@vue/runtime-dom/dist/runtime-dom.d.ts","../../node_modules/vue/dist/vue.d.mts","../../node_modules/@scalar/themes/dist/components/themestyles.vue.d.ts","../../node_modules/@scalar/themes/dist/components/resetstyles.vue.d.ts","../../node_modules/@scalar/themes/dist/components/scrollbarstyles.vue.d.ts","../../node_modules/@scalar/themes/dist/utilities/legacy.d.ts","../../node_modules/@scalar/themes/dist/index.d.ts","../../node_modules/@scalar/api-client/dist/components/apiclient/apiclient.vue.d.ts","../../node_modules/@scalar/api-client/dist/components/apiclient/index.d.ts","../../node_modules/@scalar/api-client/dist/components/apiclient/request/requestauthentication/requestauthentication.vue.d.ts","../../node_modules/@scalar/api-client/dist/components/apiclient/request/requestauthentication/securityscheme.vue.d.ts","../../node_modules/@scalar/api-client/dist/components/apiclient/request/requestauthentication/securityschemeselector.vue.d.ts","../../node_modules/@scalar/api-client/dist/components/apiclient/request/requestauthentication/index.d.ts","../../node_modules/@scalar/api-client/dist/components/httpmethod.vue.d.ts","../../node_modules/@scalar/api-client/dist/helpers/concatenateurlandpath.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/createhash.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/fetch-spec.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/getexamplefromschema.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/types.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/getharrequest.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/getparametersfromoperation.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/getrequestbodyfromoperation.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/getrequestfromoperation.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/httpstatuscodes.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/normalizemimetypeobject.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/json2xml.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/node_modules/yaml/dist/index.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/parse.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/prettyprintjson.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/ssrstate.d.ts","../../node_modules/@scalar/api-client/node_modules/@scalar/oas-utils/dist/index.d.ts","../../node_modules/@scalar/api-client/dist/types.d.ts","../../node_modules/@scalar/api-client/dist/helpers/createplaceholderrequest.d.ts","../../node_modules/@scalar/api-client/dist/helpers/encodestringasbase64.d.ts","../../node_modules/@scalar/api-client/dist/helpers/findvariables.d.ts","../../node_modules/@scalar/api-client/dist/helpers/getrequestfromauthentication.d.ts","../../node_modules/@scalar/api-client/dist/helpers/humandiff.d.ts","../../node_modules/@scalar/api-client/dist/helpers/mapfromarray.d.ts","../../node_modules/@scalar/api-client/dist/helpers/normalizepath.d.ts","../../node_modules/@scalar/api-client/dist/helpers/normalizerequestmethod.d.ts","../../node_modules/@scalar/api-client/dist/helpers/normalizeurl.d.ts","../../node_modules/@scalar/api-client/dist/helpers/prepareclientrequestconfig.d.ts","../../node_modules/@scalar/api-client/dist/helpers/replacevariables.d.ts","../../node_modules/@scalar/api-client/dist/helpers/sendrequest.d.ts","../../node_modules/@scalar/api-client/dist/helpers/index.d.ts","../../node_modules/@scalar/api-client/dist/stores/useapiclientstore.d.ts","../../node_modules/@scalar/api-client/dist/stores/useauthenticationstore.d.ts","../../node_modules/@scalar/api-client/dist/stores/useopenapistore.d.ts","../../node_modules/@scalar/api-client/dist/stores/userequeststore.d.ts","../../node_modules/@scalar/api-client/dist/stores/index.d.ts","../../node_modules/@scalar/api-client/dist/fixtures/httpheaders.d.ts","../../node_modules/@scalar/api-client/dist/fixtures/httprequestmethods.d.ts","../../node_modules/@scalar/api-client/dist/fixtures/index.d.ts","../../node_modules/@scalar/api-client/dist/index.d.ts","../../node_modules/@scalar/api-client-react/dist/index.d.ts","./src/scalarapibutton.tsx","./src/openapicodesample.tsx","./src/openapiresponseexample.tsx","./src/openapirequestbody.tsx","./src/openapiresponse.tsx","./src/openapiresponses.tsx","./src/openapisecurities.tsx","./src/openapispec.tsx","./src/openapioperation.tsx","./src/index.ts","./src/resolveopenapipath.test.ts","../../node_modules/@types/ws/index.d.ts","../../node_modules/@types/ws/index.d.mts","../../node_modules/bun-types/fetch.d.ts","../../node_modules/bun-types/globals.d.ts","../../node_modules/bun-types/bun.d.ts","../../node_modules/bun-types/overrides.d.ts","../../node_modules/bun-types/ffi.d.ts","../../node_modules/bun-types/test.d.ts","../../node_modules/bun-types/html-rewriter.d.ts","../../node_modules/bun-types/jsc.d.ts","../../node_modules/bun-types/sqlite.d.ts","../../node_modules/bun-types/wasm.d.ts","../../node_modules/bun-types/deprecated.d.ts","../../node_modules/bun-types/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","17edc026abf73c5c2dd508652d63f68ec4efd9d4856e3469890d27598209feb5",{"version":"4af6b0c727b7a2896463d512fafd23634229adf69ac7c00e2ae15a09cb084fad","affectsGlobalScope":true},{"version":"9c00a480825408b6a24c63c1b71362232927247595d7c97659bc24dc68ae0757","affectsGlobalScope":true},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"1dfdec0ec9c299625d20c5cb8f96e2a801c81d91669c6245f520e8734a92fb3d","2df62cd6db7d86f765cfc05606bbd27b38ed7bae502b5c4d927996bcf3638d64",{"version":"0bd5e7096c7bc02bf70b2cc017fc45ef489cb19bd2f32a71af39ff5787f1b56a","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","9ed09d4538e25fc79cefc5e7b5bfbae0464f06d2984f19da009f85d13656c211","b1bf87add0ccfb88472cd4c6013853d823a7efb791c10bb7a11679526be91eda",{"version":"bda654d6ce4bdb05ebb8acf2638799a9049dc23455d4d134f420b14fffcad29e","affectsGlobalScope":true},{"version":"194eea8c391a7a20752eaa64e75596f29051102609be231ec214bd2c18231f83","signature":"826e977f40988cdd2b7b8fb28dac76f9ea443fe1d8b7cda6c7df952c37fd0ff6"},{"version":"36d5de441fcbdeb2b516301bdd4970361fa19d92d5fb8977624f348d6b139fea","signature":"93c126174320621e3431c4ee51d37484a6e7abfe46ae49c7b6050d17cfa09033"},{"version":"c2e557d66bcb1eb1ea79f80096d2d9b3f38ad76ad2f79f0d816a23c5530f3000","signature":"d3792146cb86ce18abab53fe643251e1add62eb3e2dc0faebb42cf5af31b309d"},{"version":"9f2dd946d2e72676e28ca06486d34467ac0934c84526a92b54f41746f769f08f","signature":"fc24fe56e663f26b782cb078ba401e9d635f51bcc19257f278f6c7ebe12fafad"},{"version":"05df22612f22fa4fa0d009570547cd43b476b38ff92626b27883be6e75fed8ad","signature":"3224501818077a959b9e207e3663168b3644614883155a765fb84fab824260fb"},{"version":"2e2cd3d2565f25c37cfed35bcdf8b43868a6ebeb5b99432d174f07141719dc4e","signature":"d4f7655871f1c2e0feb9fd79e50891c2b4663d3e8ae7b5931ad455ffe008e944"},{"version":"0590007e5184de69968830590715bc73e833edf504bd37c385613046b6a92103","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5d4c230aa9bc342aaa528a4bf4de1e953d3422c93fe5efaa223b0d3c6d1fa3ff","signature":"30e9d6c18c0cfd4be157b012e16a0105d5bfb2115ef22a3ce9d38f7d6c9ffebd"},"c4db5f375ee5ebadad1c5ebb690c443355981cb0aff0517affac3c37253967bc","c3a8e97bce8330542633139409885c529c46ff9bcf8fda0dc28a7c8fdda41e24","4d99772cffbb09646a934867ca42d77337dc3cfd591b648b78fc0b6e09e2d88d","b10413a27f0fa373997ebf631da8af501d6b36bdfe627475b3ec5ef98e9bc80d","b3280c01b5c948bb27e60a94076b4ed23e34db4044d687ef628a5831c09c9811","efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"cc5e65fb1729463665074b9d7163e78a4225b7af7f3a6b3c74492f415166612f","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"185282b122cbca820c297a02a57b89cf5967ab43e220e3e174d872d3f9a94d2c","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","e8968b394e4365588f8f89cfff86435258cf10062585c1d2224627ab92acda22","285e512c7a0db217a0599e18c462d565fa35be4a5153dd7b80bee88c83e83ddf","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","1f758340b027b18ae8773ac3d33a60648a2af49eaae9e4fde18d0a0dd608642c","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"dea4c00820d4fac5e530d4842aed2fb20d6744d75a674b95502cbd433f88bcb0","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"0d832a0650a74aafc276cb3f7bb26bde2e2270a6f87e6c871a64122e9203079b","affectsGlobalScope":true},{"version":"c6f3869f12bb5c3bb8ecd0b050ea20342b89b944eae18d313cde6b0ccc0925d7","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","d742ed2db6d5425b3b6ac5fb1f2e4b1ed2ae74fbeee8d0030d852121a4b05d2f","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"2225100373ca3d63bcc7f206e1177152d2e2161285a0bd83c8374db1503a0d1f","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","4a34b074b11c3597fb2ff890bc8f1484375b3b80793ab01f974534808d5777c7",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","805323dc5c4c6f2598b709bcc2be2c11002c0817e00791afc0c639cd2399961e",{"version":"4e366e904f485e9036f7cb518d9965062a01d52f63be66bb3538c6970beddfbd","signature":"a6da57be209c4df9625fec1d082008db17a40538894a227655bc8630ac1df751"},{"version":"faa32bb42f99b9aeade178ae58ece4539351ee6293d1c511ba9bca74618668dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0701cb4770d54ce7d71f291c6687c1634418b299df15a1c8ff961b2f55c6d23f","signature":"95adddc10196c327841560e36d97f5c0e0e11e0466626ce21b7965768fde7fd8"},{"version":"fa69f255fbd9a5e6dab4deb078e9de0e3368119c4d67bbec36f52bc3362265dd","signature":"6b8402a1e4268af0cf8d154e29f91c32352dc93460f6769d211e10556727c49b"},{"version":"2d484f6aa5f3c375ce3d930e8d157467ddb9efce1386a6ebd6413fa20492f20b","signature":"350f651fe4b88b7eb6c83e337a558cb4945de2eea5245494ff48b893044fcb88"},"32bb80ad901151b82d180cacbaf601cd3d137b86dce9946ddbfcd58509856bf7","dfcdb12015a0e924c4d0883690d5ae7f3529924db062f037d3f3dc67899ebb19","dfd9c5f29011a46708d6fe09861e0782af6119c270a54be5dbc1b25a09d3e72d","9e4b070b543d91d0b321a481e1119e99bb8f136f4ef271d7b5ba264919fc32e2","4ef241e7da9cad66ab8e59d4e8ba924c9e2b3d316d67dbaa5c79711973be1a30","be0d56969902503342f315b637ac68aff1c549621f63e7f91617e2b8fa3a70fa","ad4ffec187e77275b96b1d8a9e6b268bfffd1afec3c02d7d496f35bc17a7d209","6f8edc0cdcc25e7fc65844826adcf1195da28c046c9678b9f95174cd50469a55","e0d4feaadd1ca63ff721979ede1bc89dba3a2ad138b7945efbf384454d2457ce","2a1eb1fe3db71f37b4f7de2b15329304de9d9b043b961a64cdb4b24f51a195ee","5ed8e234b4646c78a96c74ce3215f874a02987cae1680340e68bd4f66794eba1","777328c8a8f2575fcf45730b2f7e746024ee29b50102cda9e156e2a3984be2ba","49de5a35faaf02060fc80c48ecfc6c29b4106493cbb594e0cc2be0cd395e3545","d0271c47dfb92e05ffc672855d8b32f3acbc88cb1f7fa992845a9eea25d2cb05","218f4eae5fc5e3c338c0fffdbd8b558d3bdbd6f0760a56c13cf3a25f3cbe7271","dcdac2750e420c59a162c1b776a348baaeaa7838b4d466619f385b9bd0f5b68f","7080d048550ee1885de6d542d90893fb5c42757f995db691134c44a37c371688","3dfcd0a3bfa70b53135db3cf2e4ddcb7eccc3e4418ce833ae24eecd06928328f","5c0948b942f2e4d15bf7425e927967bf7b7013060b39286d01789d748e3df721","bc41a8e33caf4d193b0c49ec70d1e8db5ce3312eafe5447c6c1d5a2084fece12","7c33f11a56ba4e79efc4ddae85f8a4a888e216d2bf66c863f344d403437ffc74","d147404d24705b7dfcc196012d20d9622ed042c04a160d641baf2af0f462ed77","fc9d4e784c9e7569911d8a6a01e1de90617942639c7c260beffdef1548b1ce06","f3acf8cff186f71a3a9b2da63f1378de6fe68a8578cb47d097776143cc84cd7d","c6029ce69540fcc6b659b90e1c1164bffc0d68f8db05f9ba5dca0919255c05af","5743243334c97d149ebb6093de9060ddaff7158ea093e99062737cbcfc8e5ca5","aa9456d4df880022cac314c906f232cd3911052e114aa77c41dae2ce42e4bcf0","585b6a3e27da0624e1d7d370aa56de47405f63443557d05fc1628a65684f2db6","d2bce192bfd015f614ed990644618ca6d9d58e1d17eaf427f943d03d823be7a3","c2be5af341b5c92d4c26e1d4451394c7ac3d7db081d9e08d99ba4abf67fed2e1","e27605c8932e75b14e742558a4c3101d9f4fdd32e7e9a056b2ca83f37f973945","3771cb36b62e2fa4a9e381816c75bad9595ba12a1b513d8ccdca05d8b9a6f081","f3daf1c3dccf7f6f6611cfc327526735a747a28a4a86f1c9e75a7d89ac406cad","4d56463740ea85ab77709af57f97c8a412c6ceac031c7de6b08b183bd924fb60","dc6b37790a3e06a31d2bfec7d926f472da80c212df13d668d2c1335c757357e0","3fcfbc27efa7d3302b4ddce48126c5a0e28253070c6342fd4e889501809d80e9","3f5d5691e167b4df74f8e700d79facf33d6054178d5902fb4311943b7ba14dd3","4965752112e0dd55f695c547b2ec8beb9ecc4b98962ef19b6302c330c35d2f42","394b4927dcc6eda44eb759f395da17b6e07f4daf272216b5cfc92eb32239f561","171c555cae7fb14e62a760eac187e74381c4b1a7e1e6e0834a0ace1f434dfb66","66c57d7932ffcfb7ab9573825e45029c0a7f39c94b742b283f19f8bf301ce7d9","3956f34170e48abf902bc81055fb35a7e8b87109dbf3ca272d096d6d42cf7b84","7777a3f34cef7a7cabd0fa03a662cb6968cccadb111af18098d7eb302c892253","960923ce078ecfef6e5c34468cdba5c552b064c0db7cb0fdd3eafd1bb9d3d7e9","42f034630b3a866d4a88b37cf0f8357b36af2f7298b319d536b7413ba99f979b","33d1d46d7789bebdf9b78cd54f39022aad5d7d1d03a58bdad4fe98658acfef06","b5a4f434a23873c13037973bb7072f28d5438e0d0bcb6fefd15ffcb44592891e","0b2b568e213ec5b02f35ee84ebf4c3218ff66fd4dad8acb1ac19001ca96e34f2","b19ff018419b54a2da6d73e289995ee46d6124de0beaf0d0b9b49e072efc6f46","325994b6f6c7598c73bbd0294bf1e3f1e229772669b3c8a08fe3170442f600b8","6710a28c1184ef61c21173c7cbf64cdc07d7cecd5982e9c8469052a2d7380b6c","843563f951d16e850a0be806010f630a4a71f0a55810bb9aced67c6d7774bf2f","9af1c478e5403b39b922df9132d779bc6e1ef88cafec17fcecf26356d90ecbd6","454e856b3762d7b57bfb0fd8f321b5a95c4f369a3506f631bddba5c186d70eb1","2d92dab66d4e9228e477063ba55f073507a2f3451a3cef146347a41d6bd062ab","02b1caff09358768da68691fd5bdb7c60b6682371ef987cfcfb329e860996673","b932682e049f41e294a3429aca3b0adb4d2eed8047b4c22f91565e9353d6940c","989b451e0ad386e24883d8939e1ba39f3446c91dd2bfac0862d76e5e73711da4","147e9b4f39a57972889d68369990b38a54490ce956054a866fa00b0bc58c8841","150a6a6f72194251004e116f09fcd05f05f670e717aba4866b7558cf0e480393",{"version":"873bd0e244abd2c1dc7df0030a2761b106887b53ab947b7f954f824cb072de18","affectsGlobalScope":true},"a9a9cc243ca28ad4df06e2b17755c67d2a2a89029a1791960bfb7fb534456d8c","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","858d0d831826c6eb563df02f7db71c90e26deadd0938652096bea3cc14899700","559bc300b4d43b49996eb7a2ce1179b43cd6266f8df7046a33201254340d4e5e","4f787f539f0e4efd297bb07ace1a411c96780f2702fa2cb804d22f8958f00a09","cf76e2f59b26aea7c923015783083b4820d6c0d85cda2fec3a0f232aabfc56c3","1000cb62cf084fc03823a6459f8404e6103bb4905ca49bee1034f0e568b9c655",{"version":"1f0074e3f55bd29bef3d5f1d4f83b4c3bae40667a252d8cdc85df698a53a6057","affectsGlobalScope":true},"b1b091079d8bdd932a8f7da74b11519eed05cbbdc34e7dc0305106e1034e5e13","c0191592be8eb7906f99ac4b8798d80a585b94001ea1a5f50d6ce5b0d13a5c62","e2598db3bd80424809dacc3ca5f86f1b71c11192fa3cccf9a1702877d1edc75b","86860180ed996004b6c707723def25cbd1fd5eb6dc88157decb83ba09c63f142","86860180ed996004b6c707723def25cbd1fd5eb6dc88157decb83ba09c63f142","5e0e823843ffcf18b410ff37ce107ab707d6864cd16e4f11afc16c4a20130ac2","c2131369796d518bb97dcfaa0ba31ef2e01ca51c1c095b734b44e28892b2a3ae","12d9bf7a8c8f5e78c167c6aa1ad36c7833251f34a502e20464d6dbbdc5558d5f","5989b935abea3b6979838301c70b7cc7e858bdfc95a71ad251a8369f38ead8d9","ea2f54194f8e10a8f031fa7838ccdd9bb0247793abbf93965d0f3a9e66d4e45d","4eadb5fe1500c534f351d1b62f20eaad219e6a9d9ca9f8c5ec80018422069750","36f18127f78e1fbb679d24535e304d62012e1a74821bfcc72219f077e824a080","1911d7e9377d6144f2142d51c457c43e5b7d301dce4572ad02782b33434a2555","69a877f361158bad9644628d0d55d2cb2c592dfbfa04fac82179872069b1a1b3","1bb88e0b4e0da9afe46dff504bcdccb51733d1f9f3ca43cad7746b1c99c3b43d","32bb80ad901151b82d180cacbaf601cd3d137b86dce9946ddbfcd58509856bf7","dfcdb12015a0e924c4d0883690d5ae7f3529924db062f037d3f3dc67899ebb19","dfd9c5f29011a46708d6fe09861e0782af6119c270a54be5dbc1b25a09d3e72d","c216835d9641ee4faa3341752a7d5914212cd4a2e5999e48706ea2576ad11ec5","49de5a35faaf02060fc80c48ecfc6c29b4106493cbb594e0cc2be0cd395e3545","d0271c47dfb92e05ffc672855d8b32f3acbc88cb1f7fa992845a9eea25d2cb05","87f161bcbde5fda0ca2541cb595305440fc085dbfb856035efdc66c1876d723b","dcdac2750e420c59a162c1b776a348baaeaa7838b4d466619f385b9bd0f5b68f","c00f00466ef2bba6e0016984253015e6271b99802993e995eff6036bd7c0179a","60b531f3bf6662d1e0ae1ef27db09b76f11c5113db1deee516afeea61af42ff8","7080d048550ee1885de6d542d90893fb5c42757f995db691134c44a37c371688","989b451e0ad386e24883d8939e1ba39f3446c91dd2bfac0862d76e5e73711da4","0d3cd60ef149569bc8fff3a6ee44b95519f3d47f8eb17d399db700841565f2ce","150a6a6f72194251004e116f09fcd05f05f670e717aba4866b7558cf0e480393",{"version":"95bf75d15265a599b4fd80c4f91b0c7cfa658a9d56ccba10199b9084c04592ab","affectsGlobalScope":true},"10982d9c6347122698d40c877976194ebad3ddd68e9beb44c0df3f527a2719d4","8db0d47dfc6d258c17b4587824263ec58d6bee1545746f989029b333751584bb","67cad058926c5fe34930581c8a594f9ff4515242fe0c8c3dc61f3a89baf8310f","315e4d5f218511c4e676fde83339ea6769483c865bda5d1d98aec7a695650b07","8a5c1df4da0ef6ff1846a9a13af70f1749ba08a110e2bd18684d24ab5d5308b2","ceb1a38f9b2a37d65bac6ae31cbf2ca260f6ed2275aa9308519fc691882d8251","67a468af0555791e63b0a17241e2d1218d559bda6ac96cad5b62cc7166b18de0","1da2634074d8ac44b228e4f910917061befe864e66124c39a8489f92afbed347","e31afcc9866746a87c6ea98012fb7c21665ad46465474e7b8fa96c6d06b6f84c","e0cdb08725d795327f15a9ae823f5ce2c97887834b0e3e3b2f4da7682dc0da40","c4c7bcf887af0b41ed5d91e071f9686b0defa500ffa50fe028c44b375750fad0","6e490c994b0a150ea857fd8cb1187bc4af526d8f3d57de4cf651b78344a83940","38496c945d7f15f6dab677082ba94821e2cce11ffb76389311d11e45ba1d8da5","44dd6a53d004bf315ecef5324049de84926349d423719e8cbf8a27a5fa23fc10","795f75073b3b58736b661cc9358659c3be6f35e25e476c380525fd8e7abbb78f","913948de508e84ed7e73a4cbf8cb7a874cb47d6aed109fed2789db03b7563240","a01fd9a6d6bb8fad51a859bb77a975c90ee8c89ae654847029bfa387c22fb2c4","eae88c950857b101b89fef4c43bb6460cfde3a03d4df4c97a733d7345cc29c07","7a2907cdbf3cfb1352b9ba90f281dff844f3981b4e64c1ed93740227d618a521","6f684c96ed660448c017693382546beb027461b42564b6d188bc1d8420fb5d82","a458fa6c2a5d21187c2ff780d63d06ced325132517484e4941be335495db6dd3","b043e6fbd324ba51d49e9e3cdc14425801e651f8d2464939bfe3412165e0381f","3a80eb3b30ac576998c408ca3288aac78609501c83c630e6896191889eabce9c","62fb6793db12b0d3a56b7e8ff0bddd62f78c7df2327ab850178b4ba798468a7b","aff2cb3ea21b1ee4ca5ab90f62c242a1173f87b6fa394392c99c820aef890e11",{"version":"ee30c0a9a1a62ab3b7a7f43e0010a4a0634b8c7c12f3bd5331f7c3e231829915","signature":"d775776559624b87fa1d4389548836d5276cfc28dda5353e39b5db9c859659a3"},{"version":"6bdc802150935b9853f6b62e764d01dddd5bd3624ab3b1080802b5a9f99be1fe","signature":"ee7aab65b4737e77763ac0324bc613f050bf5d611d5954e09db067f9abaf1a59"},{"version":"1f612449ade5f5c2031841d3f50cb848019e3b449c121bc6317164c30093f978","signature":"409576127818edebd8552c86b664a70ad55e8f34d5585bfcea569c4366f0dbb6"},{"version":"b8163d015cc861a3507ecb044c5492796e9f676ecaed84ecca16f3a89de7078c","signature":"4db38bb85fba8a1335f07f94838dc2e3609269a3a51eac5baa50082c1e78bf19"},{"version":"31398864e6efa920bdc04851436426b71670bc867203f2a11170a9f545c50870","signature":"54a6b19a91ef93ab3fd179e48a66b4b209e9a183b051a24b73c7896c11fef807"},{"version":"a38bada472778c7f0e8d1d3a36833771e99deb3c3f13f72e80034c89888c3784","signature":"abee11c420135c0ce70bbbca59fe2df944adf86fcc34b16332d1a02944100ff0"},{"version":"df78b117d97de3ae78f5c52c51c06f9ef137fe1133442b715c83c05ab5da2b73","signature":"5883e963cee83c0c788b831ff165f0df656abb0a10ec6848a34e0c72f7c475fd"},{"version":"531434114532a157128b8292f14c2d9d32007625d103d5845d1e7b92cb641f73","signature":"e240c40a53983271bce80fa8e8177e0c76a9e2989ceab8d8bac4e43aca37202b"},{"version":"c359b715cb557bf5cc8d82e642a64283e7fc25b08cefaea4d94b7503f166edbe","signature":"3ff353108d717c28aab2065f99915d96fe972e9985b5745efb892f7dc0d4dade"},"19372ad8c45a854a80c60467abf71b5af813b807a8e9869d7acf94de1b6f591f",{"version":"feed7d35e728dd51a616ed35c4da8d6f9eb1c0ff8f4b55e075615272887f6676","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"a9bf72dc672eed91bf61d8086559e11d84c8faa3bd42d11859feee3ff33fc8af","a3b563e1c55f84097b8cb1f1f479f7a4a2a0330a0db15b9faebc8333d0022445","720f5d028d71bc22ed4a5311a6ea884329db475d994f805ea86470111eccc1a1",{"version":"af674bd72a6717a27e95dcc3eea6522f46596da680f30c9fcfeb3ec425a4ef00","affectsGlobalScope":true},{"version":"5d5d4e6c9dbc02d8eb6b06859f5f7eccd8530dea1c317ae0db7e99009476bae9","affectsGlobalScope":true},{"version":"9603687f2c76dc11c02cca33e4b6672a8942934109f727a619feef030d24bd4b","affectsGlobalScope":true},"7f33db341488580a55f30ecfdf04e70c8312fd26fc2692903c7186217ae34eff",{"version":"cc5083cff3cdf8aca2dc99ff8b45b900234901bf83b315e3b3b5942b734ff52e","affectsGlobalScope":true},{"version":"2b8af6e8cf44313406800b820bffc49e83a8ec4598772db25954d03a86c96818","affectsGlobalScope":true},"95d4d18508a76d6a7036029d974d27e5ffddd742650f967dca22cf035518ca28","9d3d3e1048d777cc51a3f53d34d08072fce9b3e814e8e21955c9836b74dff062",{"version":"d2e66d9477edaa0e4dea79d699f0855a5a7419915da740e28fbfdb322c6a60a6","affectsGlobalScope":true},{"version":"ca69bbf884a17e7a485bb4fcd129386874050916b275e414af14b2170b4ea728","affectsGlobalScope":true},"b52c121cd491cfdbea04c3a77d23e193c23cb411e7598a04ba13a4592842fe2f"],"root":[[81,88],[182,186],[311,321]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":1,"module":99,"skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[326,334],[80,309,326,334],[257,262,326,334],[263,326,334],[265,266,267,326,334],[257,326,334],[197,257,326,334],[306,307,326,334],[287,326,334],[196,197,286,326,334],[270,288,289,290,291,292,293,294,295,296,297,298,299,326,334],[286,287,326,334],[264,268,269,287,300,305,308,326,334],[301,302,303,304,326,334],[197,286,326,334],[257,287,326,334],[286,326,334],[196,274,326,334],[274,326,334],[271,272,273,274,275,276,277,278,279,280,281,283,284,285,326,334],[244,274,326,334],[196,197,326,334],[204,205,209,212,213,221,222,223,226,227,228,229,233,234,235,237,238,239,240,241,242,243,326,334],[196,198,326,334],[198,326,334],[187,188,189,198,199,200,201,202,203,245,246,247,326,334],[198,244,326,334],[205,228,229,233,235,236,326,334],[213,223,229,235,326,334],[235,326,334],[205,209,212,221,222,223,226,228,229,234,236,326,334],[204,326,334],[208,221,226,326,334],[208,209,210,212,221,229,233,235,326,334],[222,223,229,326,334],[209,212,221,226,229,234,235,326,334],[209,210,212,221,222,228,233,234,235,326,334],[208,209,210,212,221,222,223,224,225,229,233,234,326,334],[208,229,233,326,334],[229,235,326,334],[208,209,210,211,220,223,226,229,233,326,334],[208,209,210,211,223,224,226,229,233,326,334],[204,206,207,209,213,223,226,227,229,236,326,334],[205,209,229,233,326,334],[233,326,334],[230,231,232,326,334],[206,228,229,235,237,326,334],[213,326,334],[213,222,226,228,326,334],[213,228,326,334],[209,210,212,221,223,224,228,229,326,334],[208,212,213,220,223,244,326,334],[208,209,210,213,220,221,223,226,326,334],[228,234,235,326,334],[209,326,334],[209,210,326,334],[207,208,210,214,215,216,217,218,219,221,224,226,326,334],[75,326,334],[258,259,260,261,326,334],[94,326,334],[130,326,334],[131,136,164,326,334],[132,143,144,151,161,172,326,334],[132,133,143,151,326,334],[134,173,326,334],[135,136,144,152,326,334],[136,161,169,326,334],[137,139,143,151,326,334],[138,326,334],[139,140,326,334],[143,326,334],[141,143,326,334],[130,143,326,334],[143,144,145,161,172,326,334],[143,144,145,158,161,164,326,327,334],[128,131,177,326,334],[139,143,146,151,161,172,326,334],[143,144,146,147,151,161,169,172,326,334],[146,148,161,169,172,326,334],[94,95,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,326,334],[143,149,326,334],[150,172,177,326,334],[139,143,151,161,326,334],[152,326,334],[153,326,334],[130,154,326,334],[155,171,177,326,334],[156,326,334],[157,326,334],[143,158,159,326,334],[158,160,173,175,326,334],[131,143,161,162,163,164,326,334],[131,161,163,326,334],[161,162,326,334],[164,326,334],[165,326,334],[130,161,326,334],[143,167,168,326,334],[167,168,326,334],[136,151,161,169,326,327,334],[170,326,334],[151,171,326,334],[131,146,157,172,326,334],[136,173,326,334],[161,174,326,334],[150,175,326,334],[176,326,334],[131,136,143,145,154,161,172,175,177,326,334],[161,178,326,334],[76,77,78,79,326,334],[75,161,180,326,334],[322,326,334],[143,146,148,161,169,172,178,180,326,327,334],[249,250,251,326,334],[252,326,334],[251,326,334],[251,254,255,256,326,334],[77,254,255,326,334],[136,169,173,327,334],[326],[128,326,334],[128,136,154,161,164,173,177,323,324,326,334],[180,322,324,325,326,327,328,329,330,331,332,333,334],[145,169,326,334],[326,329,334],[180,191,326,334],[194,326,334],[190,191,192,193,194,195,326,334],[193,196,326,334],[250,326,334],[105,109,172,326,334],[105,161,172,326,334],[100,326,334],[102,105,169,172,326,327,334],[151,169,326,327,334],[180,326,334],[100,180,326,334],[102,105,151,172,326,334],[97,98,101,104,131,143,161,172,326,334],[97,103,326,334],[101,105,131,164,172,180,326,334],[131,180,326,334],[121,131,180,326,334],[99,100,180,326,334],[105,326,334],[99,100,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,326,334],[105,112,113,326,334],[103,105,113,114,326,334],[104,326,334],[97,100,105,326,334],[105,109,113,114,326,334],[109,326,334],[103,105,108,172,326,334],[97,102,103,105,109,112,326,334],[131,161,326,334],[100,105,121,131,177,180,326,334],[253,256,326,334],[90,91,92,326,334],[91,326,334],[91,92,93,326,334],[90,92,93,326,334],[83,182,326,329,334],[75,83,84,89,93,181,326,334],[75,85,326,334],[83,182,319,326,334],[74,80,326,334],[80,81,83,85,88,182,184,186,311,326,334],[74,80,82,83,182,186,311,312,313,318,326,334],[75,80,81,82,83,85,86,326,334],[74,75,80,81,82,83,85,86,326,334],[80,81,83,85,182,184,326,334],[74,75,80,81,83,85,315,326,334],[75,86,326,329,334],[74,75,80,81,82,83,84,85,326,334],[75,80,81,82,83,182,326,334],[75,80,185,326,334],[74,75,80,326,334],[75,80,81,83,85,86,182,314,316,317,326,334],[83,84,326,329,334],[83,326,334],[80,182,248,310,326,334]],"referencedMap":[[249,1],[310,2],[263,3],[264,4],[268,5],[265,6],[266,7],[267,7],[269,6],[306,1],[307,1],[308,8],[270,1],[288,9],[289,1],[290,1],[291,10],[292,1],[300,11],[293,1],[294,1],[295,1],[296,1],[297,12],[298,1],[299,9],[309,13],[305,14],[301,1],[302,15],[303,15],[304,16],[287,17],[271,1],[272,1],[273,1],[275,18],[276,19],[277,19],[278,19],[279,1],[286,20],[281,1],[280,19],[283,21],[284,1],[285,19],[274,22],[282,23],[187,1],[188,1],[189,1],[199,24],[200,25],[201,25],[202,25],[248,26],[203,1],[245,27],[246,1],[247,25],[198,22],[237,28],[206,1],[224,29],[236,30],[235,31],[205,32],[244,23],[207,1],[225,33],[234,34],[211,35],[222,36],[229,37],[226,38],[209,39],[208,40],[221,41],[212,42],[228,43],[230,44],[231,45],[232,45],[233,46],[238,1],[204,1],[239,45],[240,47],[214,48],[215,48],[216,48],[223,49],[227,50],[213,51],[241,52],[242,53],[217,1],[210,54],[218,55],[219,56],[220,57],[243,36],[197,58],[259,6],[260,6],[258,3],[262,59],[261,1],[190,1],[94,60],[95,60],[130,61],[131,62],[132,63],[133,64],[134,65],[135,66],[136,67],[137,68],[138,69],[139,70],[140,70],[142,71],[141,72],[143,73],[144,74],[145,75],[129,76],[179,1],[146,77],[147,78],[148,79],[180,80],[149,81],[150,82],[151,83],[152,84],[153,85],[154,86],[155,87],[156,88],[157,89],[158,90],[159,90],[160,91],[161,92],[163,93],[162,94],[164,95],[165,96],[166,97],[167,98],[168,99],[169,100],[170,101],[171,102],[172,103],[173,104],[174,105],[175,106],[176,107],[177,108],[178,109],[78,1],[76,1],[80,110],[79,1],[181,111],[323,112],[322,113],[252,114],[253,115],[254,116],[255,117],[256,118],[251,1],[96,1],[326,119],[334,120],[324,121],[328,1],[325,122],[330,1],[335,123],[331,1],[327,124],[332,1],[329,125],[333,1],[74,1],[77,1],[89,1],[193,1],[191,1],[192,126],[195,127],[196,128],[194,129],[75,1],[250,130],[72,1],[73,1],[12,1],[13,1],[15,1],[14,1],[2,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[3,1],[24,1],[4,1],[25,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[61,1],[10,1],[62,1],[1,1],[63,1],[64,1],[11,1],[69,1],[66,1],[65,1],[70,1],[68,1],[71,1],[67,1],[112,131],[119,132],[111,131],[126,133],[103,134],[102,135],[125,136],[120,137],[123,138],[105,139],[104,140],[100,141],[99,142],[122,143],[101,144],[106,145],[107,1],[110,145],[97,1],[128,146],[127,145],[114,147],[115,148],[117,149],[113,150],[116,151],[121,136],[108,152],[109,153],[118,154],[98,155],[124,156],[257,157],[93,158],[92,159],[90,160],[91,161],[88,1],[183,162],[182,163],[184,164],[320,165],[81,166],[82,166],[312,167],[319,168],[314,169],[315,170],[313,171],[316,172],[87,173],[86,174],[317,175],[186,176],[185,177],[318,178],[321,179],[84,180],[311,181],[83,1],[85,58]],"affectedFilesPendingEmit":[88,183,182,184,320,81,82,312,319,314,315,313,316,87,86,317,186,185,318,321,84,311,83,85]},"version":"5.5.3"} \ No newline at end of file diff --git a/turbo.json b/turbo.json new file mode 100644 index 000000000..9a086e081 --- /dev/null +++ b/turbo.json @@ -0,0 +1,30 @@ +{ + "$schema": "https://turbo.build/schema.json", + "globalEnv": ["NODE_ENV", "CI", "ARGOS_*", "GITHUB_*"], + "tasks": { + "build": { + "dependsOn": ["^build"], + "outputs": [".next/**", "!.next/cache/**", "dist"] + }, + "build:cloudflare": { + "dependsOn": ["^build"] + }, + "typecheck": { + "dependsOn": ["^typecheck", "^build"] + }, + "lint": { + "dependsOn": ["^lint"] + }, + "unit": { + "dependsOn": ["^unit", "^build"] + }, + "e2e": { + "dependsOn": ["^e2e"], + "env": ["BASE_URL"] + }, + "dev": { + "persistent": true, + "cache": false + } + } +}