fromsrc 0.0.0 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access.d.ts +23 -0
- package/dist/access.js +54 -0
- package/dist/adapter.d.ts +31 -0
- package/dist/adapter.js +59 -0
- package/dist/adapterastro.d.ts +6 -0
- package/dist/adapterastro.js +6 -0
- package/dist/adapterbrowser.d.ts +6 -0
- package/dist/adapterbrowser.js +38 -0
- package/dist/adapternext.d.ts +6 -0
- package/dist/adapternext.js +49 -0
- package/dist/adapterreactrouter.d.ts +6 -0
- package/dist/adapterreactrouter.js +37 -0
- package/dist/adapterremix.d.ts +6 -0
- package/dist/adapterremix.js +41 -0
- package/dist/adaptertanstack.d.ts +6 -0
- package/dist/adaptertanstack.js +38 -0
- package/dist/adaptervite.d.ts +6 -0
- package/dist/adaptervite.js +6 -0
- package/dist/algolia.d.ts +16 -0
- package/dist/algolia.js +83 -0
- package/dist/analytics.d.ts +31 -0
- package/dist/analytics.js +61 -0
- package/dist/ansi.d.ts +5 -0
- package/dist/ansi.js +192 -0
- package/dist/api.d.ts +30 -0
- package/dist/api.js +75 -0
- package/dist/astro.d.ts +3 -0
- package/dist/astro.js +3 -0
- package/dist/audit.d.ts +19 -0
- package/dist/audit.js +78 -0
- package/dist/autotype.d.ts +17 -0
- package/dist/autotype.js +73 -0
- package/dist/batch.d.ts +22 -0
- package/dist/batch.js +68 -0
- package/dist/browser.d.ts +5 -0
- package/dist/browser.js +53 -0
- package/dist/changelog.d.ts +27 -0
- package/dist/changelog.js +87 -0
- package/dist/changelogutil.d.ts +20 -0
- package/dist/changelogutil.js +84 -0
- package/dist/cli.d.ts +24 -0
- package/dist/cli.js +76 -0
- package/dist/client.d.ts +212 -0
- package/dist/client.js +202 -0
- package/dist/codesample.d.ts +20 -0
- package/dist/codesample.js +115 -0
- package/dist/collapse.d.ts +5 -0
- package/dist/collapse.js +101 -0
- package/dist/collections.d.ts +32 -0
- package/dist/collections.js +82 -0
- package/dist/components/accordion.d.ts +22 -0
- package/dist/components/accordion.js +54 -0
- package/dist/components/alert.d.ts +18 -0
- package/dist/components/alert.js +30 -0
- package/dist/components/announce.d.ts +11 -0
- package/dist/components/announce.js +38 -0
- package/dist/components/autofill.d.ts +27 -0
- package/dist/components/autofill.js +152 -0
- package/dist/components/avatar.d.ts +42 -0
- package/dist/components/avatar.js +67 -0
- package/dist/components/avatarstack.d.ts +23 -0
- package/dist/components/avatarstack.js +54 -0
- package/dist/components/backtotop.d.ts +20 -0
- package/dist/components/backtotop.js +42 -0
- package/dist/components/badge.d.ts +17 -0
- package/dist/components/badge.js +25 -0
- package/dist/components/banner.d.ts +21 -0
- package/dist/components/banner.js +63 -0
- package/dist/components/breadcrumb.d.ts +25 -0
- package/dist/components/breadcrumb.js +35 -0
- package/dist/components/breadcrumbnav.d.ts +15 -0
- package/dist/components/breadcrumbnav.js +60 -0
- package/dist/components/button.d.ts +22 -0
- package/dist/components/button.js +47 -0
- package/dist/components/callout.d.ts +26 -0
- package/dist/components/callout.js +91 -0
- package/dist/components/cards.d.ts +34 -0
- package/dist/components/cards.js +24 -0
- package/dist/components/changelog.d.ts +34 -0
- package/dist/components/changelog.js +50 -0
- package/dist/components/checkbox.d.ts +26 -0
- package/dist/components/checkbox.js +80 -0
- package/dist/components/code.d.ts +27 -0
- package/dist/components/code.js +36 -0
- package/dist/components/codeblock.d.ts +12 -0
- package/dist/components/codeblock.js +102 -0
- package/dist/components/codecopy.d.ts +12 -0
- package/dist/components/codecopy.js +56 -0
- package/dist/components/codegroup.d.ts +22 -0
- package/dist/components/codegroup.js +134 -0
- package/dist/components/collapsible.d.ts +29 -0
- package/dist/components/collapsible.js +64 -0
- package/dist/components/command.d.ts +22 -0
- package/dist/components/command.js +138 -0
- package/dist/components/compare.d.ts +54 -0
- package/dist/components/compare.js +88 -0
- package/dist/components/content.d.ts +12 -0
- package/dist/components/content.js +232 -0
- package/dist/components/copyable.d.ts +25 -0
- package/dist/components/copyable.js +51 -0
- package/dist/components/copybutton.d.ts +11 -0
- package/dist/components/copybutton.js +50 -0
- package/dist/components/countdown.d.ts +18 -0
- package/dist/components/countdown.js +112 -0
- package/dist/components/create.d.ts +10 -0
- package/dist/components/create.js +149 -0
- package/dist/components/definition.d.ts +43 -0
- package/dist/components/definition.js +46 -0
- package/dist/components/diffview.d.ts +12 -0
- package/dist/components/diffview.js +129 -0
- package/dist/components/divider.d.ts +19 -0
- package/dist/components/divider.js +24 -0
- package/dist/components/docheader.d.ts +17 -0
- package/dist/components/docheader.js +24 -0
- package/dist/components/doclinkcard.d.ts +19 -0
- package/dist/components/doclinkcard.js +37 -0
- package/dist/components/docslayout.d.ts +14 -0
- package/dist/components/docslayout.js +24 -0
- package/dist/components/dropdown.d.ts +23 -0
- package/dist/components/dropdown.js +134 -0
- package/dist/components/dynamiccode.d.ts +12 -0
- package/dist/components/dynamiccode.js +40 -0
- package/dist/components/editlink.d.ts +15 -0
- package/dist/components/editlink.js +45 -0
- package/dist/components/embed.d.ts +45 -0
- package/dist/components/embed.js +85 -0
- package/dist/components/endpoint.d.ts +58 -0
- package/dist/components/endpoint.js +100 -0
- package/dist/components/errormessage.d.ts +11 -0
- package/dist/components/errormessage.js +10 -0
- package/dist/components/expandcode.d.ts +13 -0
- package/dist/components/expandcode.js +58 -0
- package/dist/components/feature.d.ts +31 -0
- package/dist/components/feature.js +58 -0
- package/dist/components/featuregrid.d.ts +17 -0
- package/dist/components/featuregrid.js +36 -0
- package/dist/components/feedback.d.ts +14 -0
- package/dist/components/feedback.js +62 -0
- package/dist/components/feedbackwidget.d.ts +14 -0
- package/dist/components/feedbackwidget.js +106 -0
- package/dist/components/files.d.ts +21 -0
- package/dist/components/files.js +133 -0
- package/dist/components/folder.d.ts +15 -0
- package/dist/components/folder.js +102 -0
- package/dist/components/footer.d.ts +16 -0
- package/dist/components/footer.js +28 -0
- package/dist/components/formlabel.d.ts +24 -0
- package/dist/components/formlabel.js +27 -0
- package/dist/components/github.d.ts +14 -0
- package/dist/components/github.js +99 -0
- package/dist/components/graph.d.ts +36 -0
- package/dist/components/graph.js +210 -0
- package/dist/components/heading.d.ts +25 -0
- package/dist/components/heading.js +82 -0
- package/dist/components/headingcopy.d.ts +3 -0
- package/dist/components/headingcopy.js +31 -0
- package/dist/components/hero.d.ts +16 -0
- package/dist/components/hero.js +28 -0
- package/dist/components/highlight.d.ts +41 -0
- package/dist/components/highlight.js +42 -0
- package/dist/components/hover.d.ts +23 -0
- package/dist/components/hover.js +79 -0
- package/dist/components/icons.d.ts +30 -0
- package/dist/components/icons.js +419 -0
- package/dist/components/inlinetoc.d.ts +19 -0
- package/dist/components/inlinetoc.js +28 -0
- package/dist/components/input.d.ts +25 -0
- package/dist/components/input.js +42 -0
- package/dist/components/install.d.ts +10 -0
- package/dist/components/install.js +149 -0
- package/dist/components/kbd.d.ts +22 -0
- package/dist/components/kbd.js +30 -0
- package/dist/components/langicon.d.ts +8 -0
- package/dist/components/langicon.js +48 -0
- package/dist/components/language.d.ts +17 -0
- package/dist/components/language.js +123 -0
- package/dist/components/lastupdated.d.ts +12 -0
- package/dist/components/lastupdated.js +44 -0
- package/dist/components/link.d.ts +14 -0
- package/dist/components/link.js +53 -0
- package/dist/components/linkcard.d.ts +33 -0
- package/dist/components/linkcard.js +50 -0
- package/dist/components/list.d.ts +50 -0
- package/dist/components/list.js +55 -0
- package/dist/components/math.d.ts +34 -0
- package/dist/components/math.js +63 -0
- package/dist/components/mermaid.d.ts +19 -0
- package/dist/components/mermaid.js +79 -0
- package/dist/components/mobilenav.d.ts +17 -0
- package/dist/components/mobilenav.js +263 -0
- package/dist/components/modal.d.ts +18 -0
- package/dist/components/modal.js +69 -0
- package/dist/components/navbar.d.ts +19 -0
- package/dist/components/navbar.js +45 -0
- package/dist/components/navlink.d.ts +14 -0
- package/dist/components/navlink.js +77 -0
- package/dist/components/note.d.ts +28 -0
- package/dist/components/note.js +60 -0
- package/dist/components/openapi.d.ts +14 -0
- package/dist/components/openapi.js +145 -0
- package/dist/components/openapischema.d.ts +13 -0
- package/dist/components/openapischema.js +51 -0
- package/dist/components/openapitags.d.ts +13 -0
- package/dist/components/openapitags.js +20 -0
- package/dist/components/pagetransition.d.ts +13 -0
- package/dist/components/pagetransition.js +37 -0
- package/dist/components/pagination.d.ts +26 -0
- package/dist/components/pagination.js +68 -0
- package/dist/components/panel.d.ts +25 -0
- package/dist/components/panel.js +75 -0
- package/dist/components/playground.d.ts +14 -0
- package/dist/components/playground.js +89 -0
- package/dist/components/popover.d.ts +18 -0
- package/dist/components/popover.js +109 -0
- package/dist/components/prelink.d.ts +10 -0
- package/dist/components/prelink.js +46 -0
- package/dist/components/prevnext.d.ts +17 -0
- package/dist/components/prevnext.js +43 -0
- package/dist/components/progress.d.ts +30 -0
- package/dist/components/progress.js +74 -0
- package/dist/components/property.d.ts +24 -0
- package/dist/components/property.js +44 -0
- package/dist/components/quote.d.ts +44 -0
- package/dist/components/quote.js +41 -0
- package/dist/components/radio.d.ts +48 -0
- package/dist/components/radio.js +140 -0
- package/dist/components/rating.d.ts +22 -0
- package/dist/components/rating.js +100 -0
- package/dist/components/readtime.d.ts +17 -0
- package/dist/components/readtime.js +26 -0
- package/dist/components/recent.d.ts +12 -0
- package/dist/components/recent.js +23 -0
- package/dist/components/responsive.d.ts +35 -0
- package/dist/components/responsive.js +73 -0
- package/dist/components/results.d.ts +20 -0
- package/dist/components/results.js +72 -0
- package/dist/components/screenshot.d.ts +33 -0
- package/dist/components/screenshot.js +52 -0
- package/dist/components/scrollprogress.d.ts +12 -0
- package/dist/components/scrollprogress.js +56 -0
- package/dist/components/scrollspy.d.ts +18 -0
- package/dist/components/scrollspy.js +51 -0
- package/dist/components/search.d.ts +19 -0
- package/dist/components/search.js +228 -0
- package/dist/components/searchbutton.d.ts +10 -0
- package/dist/components/searchbutton.js +51 -0
- package/dist/components/searchdialog.d.ts +19 -0
- package/dist/components/searchdialog.js +108 -0
- package/dist/components/searcher.d.ts +12 -0
- package/dist/components/searcher.js +121 -0
- package/dist/components/select.d.ts +39 -0
- package/dist/components/select.js +162 -0
- package/dist/components/shortcuts.d.ts +17 -0
- package/dist/components/shortcuts.js +62 -0
- package/dist/components/sidebar.d.ts +35 -0
- package/dist/components/sidebar.js +215 -0
- package/dist/components/sidebarfilter.d.ts +13 -0
- package/dist/components/sidebarfilter.js +50 -0
- package/dist/components/skeleton.d.ts +40 -0
- package/dist/components/skeleton.js +59 -0
- package/dist/components/skiplink.d.ts +12 -0
- package/dist/components/skiplink.js +21 -0
- package/dist/components/spinner.d.ts +34 -0
- package/dist/components/spinner.js +56 -0
- package/dist/components/status.d.ts +27 -0
- package/dist/components/status.js +63 -0
- package/dist/components/steps.d.ts +30 -0
- package/dist/components/steps.js +15 -0
- package/dist/components/switch.d.ts +26 -0
- package/dist/components/switch.js +79 -0
- package/dist/components/table.d.ts +36 -0
- package/dist/components/table.js +138 -0
- package/dist/components/tabnav.d.ts +30 -0
- package/dist/components/tabnav.js +199 -0
- package/dist/components/tabs.d.ts +15 -0
- package/dist/components/tabs.js +96 -0
- package/dist/components/tag.d.ts +32 -0
- package/dist/components/tag.js +38 -0
- package/dist/components/terminal.d.ts +48 -0
- package/dist/components/terminal.js +62 -0
- package/dist/components/textarea.d.ts +30 -0
- package/dist/components/textarea.js +100 -0
- package/dist/components/theme.d.ts +11 -0
- package/dist/components/theme.js +66 -0
- package/dist/components/themeprovider.d.ts +19 -0
- package/dist/components/themeprovider.js +58 -0
- package/dist/components/toast.d.ts +31 -0
- package/dist/components/toast.js +107 -0
- package/dist/components/toc/default.d.ts +21 -0
- package/dist/components/toc/default.js +100 -0
- package/dist/components/toc/hook.d.ts +13 -0
- package/dist/components/toc/hook.js +125 -0
- package/dist/components/toc/index.d.ts +15 -0
- package/dist/components/toc/index.js +44 -0
- package/dist/components/toc/inline.d.ts +20 -0
- package/dist/components/toc/inline.js +75 -0
- package/dist/components/toc/minimal.d.ts +22 -0
- package/dist/components/toc/minimal.js +136 -0
- package/dist/components/toc/zigzag.d.ts +18 -0
- package/dist/components/toc/zigzag.js +57 -0
- package/dist/components/tocprogress.d.ts +17 -0
- package/dist/components/tocprogress.js +67 -0
- package/dist/components/tooltip.d.ts +19 -0
- package/dist/components/tooltip.js +76 -0
- package/dist/components/trigger.d.ts +8 -0
- package/dist/components/trigger.js +13 -0
- package/dist/components/twoslash.d.ts +9 -0
- package/dist/components/twoslash.js +52 -0
- package/dist/components/typetable.d.ts +21 -0
- package/dist/components/typetable.js +68 -0
- package/dist/components/typewriter.d.ts +20 -0
- package/dist/components/typewriter.js +50 -0
- package/dist/components/version.d.ts +29 -0
- package/dist/components/version.js +181 -0
- package/dist/components/video.d.ts +33 -0
- package/dist/components/video.js +147 -0
- package/dist/components/zoom.d.ts +9 -0
- package/dist/components/zoom.js +110 -0
- package/dist/config.d.ts +54 -0
- package/dist/config.js +102 -0
- package/dist/content.d.ts +83 -0
- package/dist/content.js +464 -0
- package/dist/contentcache.d.ts +28 -0
- package/dist/contentcache.js +76 -0
- package/dist/contentdiff.d.ts +19 -0
- package/dist/contentdiff.js +48 -0
- package/dist/contributors.d.ts +22 -0
- package/dist/contributors.js +64 -0
- package/dist/diff.d.ts +25 -0
- package/dist/diff.js +117 -0
- package/dist/draft.d.ts +33 -0
- package/dist/draft.js +62 -0
- package/dist/env.d.ts +12 -0
- package/dist/env.js +50 -0
- package/dist/export.d.ts +9 -0
- package/dist/export.js +32 -0
- package/dist/frontmatter.d.ts +19 -0
- package/dist/frontmatter.js +65 -0
- package/dist/github.d.ts +15 -0
- package/dist/github.js +254 -0
- package/dist/gitsource.d.ts +23 -0
- package/dist/gitsource.js +50 -0
- package/dist/hash.d.ts +21 -0
- package/dist/hash.js +65 -0
- package/dist/highlight.d.ts +18 -0
- package/dist/highlight.js +90 -0
- package/dist/hooks/anchor.d.ts +7 -0
- package/dist/hooks/anchor.js +44 -0
- package/dist/hooks/arrownav.d.ts +11 -0
- package/dist/hooks/arrownav.js +49 -0
- package/dist/hooks/async.d.ts +9 -0
- package/dist/hooks/async.js +28 -0
- package/dist/hooks/battery.d.ts +8 -0
- package/dist/hooks/battery.js +34 -0
- package/dist/hooks/breakpoint.d.ts +6 -0
- package/dist/hooks/breakpoint.js +34 -0
- package/dist/hooks/clickoutside.d.ts +11 -0
- package/dist/hooks/clickoutside.js +19 -0
- package/dist/hooks/clipboard-paste.d.ts +8 -0
- package/dist/hooks/clipboard-paste.js +18 -0
- package/dist/hooks/clipboard.d.ts +9 -0
- package/dist/hooks/clipboard.js +24 -0
- package/dist/hooks/colorscheme.d.ts +4 -0
- package/dist/hooks/colorscheme.js +18 -0
- package/dist/hooks/copy.d.ts +12 -0
- package/dist/hooks/copy.js +28 -0
- package/dist/hooks/countdown.d.ts +10 -0
- package/dist/hooks/countdown.js +41 -0
- package/dist/hooks/counter.d.ts +10 -0
- package/dist/hooks/counter.js +12 -0
- package/dist/hooks/debounce.d.ts +9 -0
- package/dist/hooks/debounce.js +16 -0
- package/dist/hooks/documenttitle.d.ts +3 -0
- package/dist/hooks/documenttitle.js +20 -0
- package/dist/hooks/documentvisibility.d.ts +4 -0
- package/dist/hooks/documentvisibility.js +19 -0
- package/dist/hooks/escapekey.d.ts +8 -0
- package/dist/hooks/escapekey.js +18 -0
- package/dist/hooks/eventlistener.d.ts +13 -0
- package/dist/hooks/eventlistener.js +15 -0
- package/dist/hooks/eventsource.d.ts +10 -0
- package/dist/hooks/eventsource.js +31 -0
- package/dist/hooks/eyedropper.d.ts +8 -0
- package/dist/hooks/eyedropper.js +23 -0
- package/dist/hooks/favicon.d.ts +3 -0
- package/dist/hooks/favicon.js +14 -0
- package/dist/hooks/fetch.d.ts +8 -0
- package/dist/hooks/fetch.js +29 -0
- package/dist/hooks/focustrap.d.ts +12 -0
- package/dist/hooks/focustrap.js +62 -0
- package/dist/hooks/focuswithin.d.ts +6 -0
- package/dist/hooks/focuswithin.js +24 -0
- package/dist/hooks/form.d.ts +20 -0
- package/dist/hooks/form.js +42 -0
- package/dist/hooks/fullscreen.d.ts +10 -0
- package/dist/hooks/fullscreen.js +34 -0
- package/dist/hooks/geolocation.d.ts +10 -0
- package/dist/hooks/geolocation.js +38 -0
- package/dist/hooks/hash.d.ts +3 -0
- package/dist/hooks/hash.js +21 -0
- package/dist/hooks/hotkeys.d.ts +11 -0
- package/dist/hooks/hotkeys.js +35 -0
- package/dist/hooks/hover.d.ts +3 -0
- package/dist/hooks/hover.js +22 -0
- package/dist/hooks/idle.d.ts +3 -0
- package/dist/hooks/idle.js +28 -0
- package/dist/hooks/infinitescroll.d.ts +9 -0
- package/dist/hooks/infinitescroll.js +31 -0
- package/dist/hooks/interval.d.ts +3 -0
- package/dist/hooks/interval.js +16 -0
- package/dist/hooks/inview.d.ts +10 -0
- package/dist/hooks/inview.js +28 -0
- package/dist/hooks/keyboard.d.ts +14 -0
- package/dist/hooks/keyboard.js +82 -0
- package/dist/hooks/keypress.d.ts +3 -0
- package/dist/hooks/keypress.js +23 -0
- package/dist/hooks/list.d.ts +14 -0
- package/dist/hooks/list.js +28 -0
- package/dist/hooks/longpress.d.ts +10 -0
- package/dist/hooks/longpress.js +24 -0
- package/dist/hooks/map.d.ts +12 -0
- package/dist/hooks/map.js +23 -0
- package/dist/hooks/measure.d.ts +16 -0
- package/dist/hooks/measure.js +34 -0
- package/dist/hooks/media.d.ts +33 -0
- package/dist/hooks/media.js +35 -0
- package/dist/hooks/mediarecorder.d.ts +11 -0
- package/dist/hooks/mediarecorder.js +37 -0
- package/dist/hooks/mounted.d.ts +3 -0
- package/dist/hooks/mounted.js +12 -0
- package/dist/hooks/mouseposition.d.ts +7 -0
- package/dist/hooks/mouseposition.js +16 -0
- package/dist/hooks/networkstate.d.ts +10 -0
- package/dist/hooks/networkstate.js +34 -0
- package/dist/hooks/online.d.ts +3 -0
- package/dist/hooks/online.js +20 -0
- package/dist/hooks/orientation.d.ts +8 -0
- package/dist/hooks/orientation.js +20 -0
- package/dist/hooks/os.d.ts +4 -0
- package/dist/hooks/os.js +15 -0
- package/dist/hooks/pageleave.d.ts +3 -0
- package/dist/hooks/pageleave.js +18 -0
- package/dist/hooks/pagination.d.ts +26 -0
- package/dist/hooks/pagination.js +49 -0
- package/dist/hooks/permission.d.ts +5 -0
- package/dist/hooks/permission.js +29 -0
- package/dist/hooks/preferredlanguage.d.ts +3 -0
- package/dist/hooks/preferredlanguage.js +17 -0
- package/dist/hooks/previous.d.ts +3 -0
- package/dist/hooks/previous.js +12 -0
- package/dist/hooks/queue.d.ts +11 -0
- package/dist/hooks/queue.js +23 -0
- package/dist/hooks/readprogress.d.ts +6 -0
- package/dist/hooks/readprogress.js +32 -0
- package/dist/hooks/resizeobserver.d.ts +10 -0
- package/dist/hooks/resizeobserver.js +25 -0
- package/dist/hooks/script.d.ts +4 -0
- package/dist/hooks/script.js +30 -0
- package/dist/hooks/scrolldirection.d.ts +4 -0
- package/dist/hooks/scrolldirection.js +33 -0
- package/dist/hooks/scrolllock.d.ts +3 -0
- package/dist/hooks/scrolllock.js +38 -0
- package/dist/hooks/scrollspy.d.ts +7 -0
- package/dist/hooks/scrollspy.js +28 -0
- package/dist/hooks/scrolltop.d.ts +7 -0
- package/dist/hooks/scrolltop.js +19 -0
- package/dist/hooks/selection.d.ts +12 -0
- package/dist/hooks/selection.js +32 -0
- package/dist/hooks/share.d.ts +13 -0
- package/dist/hooks/share.js +37 -0
- package/dist/hooks/speechrecognition.d.ts +10 -0
- package/dist/hooks/speechrecognition.js +34 -0
- package/dist/hooks/stepper.d.ts +13 -0
- package/dist/hooks/stepper.js +31 -0
- package/dist/hooks/storage.d.ts +5 -0
- package/dist/hooks/storage.js +57 -0
- package/dist/hooks/stylesheet.d.ts +4 -0
- package/dist/hooks/stylesheet.js +30 -0
- package/dist/hooks/textselection.d.ts +7 -0
- package/dist/hooks/textselection.js +24 -0
- package/dist/hooks/throttle.d.ts +3 -0
- package/dist/hooks/throttle.js +28 -0
- package/dist/hooks/toggle.d.ts +13 -0
- package/dist/hooks/toggle.js +10 -0
- package/dist/hooks/undoredo.d.ts +12 -0
- package/dist/hooks/undoredo.js +50 -0
- package/dist/hooks/vibrate.d.ts +7 -0
- package/dist/hooks/vibrate.js +15 -0
- package/dist/hooks/viewtransition.d.ts +9 -0
- package/dist/hooks/viewtransition.js +38 -0
- package/dist/hooks/wakelock.d.ts +9 -0
- package/dist/hooks/wakelock.js +32 -0
- package/dist/hooks/websocket.d.ts +10 -0
- package/dist/hooks/websocket.js +30 -0
- package/dist/hooks/windowsize.d.ts +7 -0
- package/dist/hooks/windowsize.js +17 -0
- package/dist/i18n.d.ts +30 -0
- package/dist/i18n.js +73 -0
- package/dist/index.d.ts +115 -0
- package/dist/index.js +107 -0
- package/dist/lastmodified.d.ts +4 -0
- package/dist/lastmodified.js +24 -0
- package/dist/linkcheck.d.ts +26 -0
- package/dist/linkcheck.js +113 -0
- package/dist/llms.d.ts +14 -0
- package/dist/llms.js +39 -0
- package/dist/manifest.d.ts +24 -0
- package/dist/manifest.js +31 -0
- package/dist/mcp.d.ts +56 -0
- package/dist/mcp.js +74 -0
- package/dist/mdtoc.d.ts +16 -0
- package/dist/mdtoc.js +59 -0
- package/dist/mdxscope.d.ts +17 -0
- package/dist/mdxscope.js +58 -0
- package/dist/meta.d.ts +19 -0
- package/dist/meta.js +71 -0
- package/dist/migrate.d.ts +17 -0
- package/dist/migrate.js +108 -0
- package/dist/navgen.d.ts +31 -0
- package/dist/navgen.js +147 -0
- package/dist/navtree.d.ts +28 -0
- package/dist/navtree.js +93 -0
- package/dist/next.d.ts +3 -0
- package/dist/next.js +3 -0
- package/dist/oembed.d.ts +20 -0
- package/dist/oembed.js +62 -0
- package/dist/ogimage.d.ts +45 -0
- package/dist/ogimage.js +62 -0
- package/dist/openapi.d.ts +6 -0
- package/dist/openapi.js +141 -0
- package/dist/openapiguard.d.ts +22 -0
- package/dist/openapiguard.js +87 -0
- package/dist/openapiutil.d.ts +72 -0
- package/dist/openapiutil.js +61 -0
- package/dist/orama.d.ts +16 -0
- package/dist/orama.js +100 -0
- package/dist/pipeline.d.ts +19 -0
- package/dist/pipeline.js +40 -0
- package/dist/preload.d.ts +15 -0
- package/dist/preload.js +19 -0
- package/dist/ranking.d.ts +28 -0
- package/dist/ranking.js +95 -0
- package/dist/reactrouter.d.ts +3 -0
- package/dist/reactrouter.js +3 -0
- package/dist/readtime.d.ts +3 -0
- package/dist/readtime.js +8 -0
- package/dist/redirects.d.ts +27 -0
- package/dist/redirects.js +74 -0
- package/dist/rehype.d.ts +5 -0
- package/dist/rehype.js +30 -0
- package/dist/rehypeautolink.d.ts +11 -0
- package/dist/rehypeautolink.js +43 -0
- package/dist/rehypecode.d.ts +6 -0
- package/dist/rehypecode.js +68 -0
- package/dist/rehypecopy.d.ts +6 -0
- package/dist/rehypecopy.js +29 -0
- package/dist/rehypeinline.d.ts +6 -0
- package/dist/rehypeinline.js +32 -0
- package/dist/rehypelinks.d.ts +10 -0
- package/dist/rehypelinks.js +49 -0
- package/dist/rehyperaw.d.ts +6 -0
- package/dist/rehyperaw.js +27 -0
- package/dist/rehypeslug.d.ts +7 -0
- package/dist/rehypeslug.js +39 -0
- package/dist/rehypetablewrap.d.ts +9 -0
- package/dist/rehypetablewrap.js +24 -0
- package/dist/rehypetoc.d.ts +16 -0
- package/dist/rehypetoc.js +61 -0
- package/dist/remark.d.ts +6 -0
- package/dist/remark.js +48 -0
- package/dist/remarkadmonition.d.ts +6 -0
- package/dist/remarkadmonition.js +78 -0
- package/dist/remarkannotation.d.ts +10 -0
- package/dist/remarkannotation.js +65 -0
- package/dist/remarkbadge.d.ts +6 -0
- package/dist/remarkbadge.js +40 -0
- package/dist/remarkblockmath.d.ts +6 -0
- package/dist/remarkblockmath.js +57 -0
- package/dist/remarkcallout.d.ts +6 -0
- package/dist/remarkcallout.js +65 -0
- package/dist/remarkcaption.d.ts +6 -0
- package/dist/remarkcaption.js +48 -0
- package/dist/remarkcodetitle.d.ts +6 -0
- package/dist/remarkcodetitle.js +39 -0
- package/dist/remarkcolumns.d.ts +6 -0
- package/dist/remarkcolumns.js +67 -0
- package/dist/remarkdetails.d.ts +6 -0
- package/dist/remarkdetails.js +61 -0
- package/dist/remarkdirective.d.ts +7 -0
- package/dist/remarkdirective.js +98 -0
- package/dist/remarkembed.d.ts +6 -0
- package/dist/remarkembed.js +72 -0
- package/dist/remarkfiletree.d.ts +6 -0
- package/dist/remarkfiletree.js +67 -0
- package/dist/remarkfootnote.d.ts +6 -0
- package/dist/remarkfootnote.js +63 -0
- package/dist/remarkgfm.d.ts +6 -0
- package/dist/remarkgfm.js +60 -0
- package/dist/remarkheadingid.d.ts +6 -0
- package/dist/remarkheadingid.js +40 -0
- package/dist/remarkimage.d.ts +11 -0
- package/dist/remarkimage.js +91 -0
- package/dist/remarkinclude.d.ts +10 -0
- package/dist/remarkinclude.js +49 -0
- package/dist/remarkinstall.d.ts +6 -0
- package/dist/remarkinstall.js +52 -0
- package/dist/remarklinkcard.d.ts +6 -0
- package/dist/remarklinkcard.js +38 -0
- package/dist/remarkmath.d.ts +6 -0
- package/dist/remarkmath.js +69 -0
- package/dist/remarkmermaid.d.ts +6 -0
- package/dist/remarkmermaid.js +21 -0
- package/dist/remarkmeta.d.ts +15 -0
- package/dist/remarkmeta.js +63 -0
- package/dist/remarkreadingtime.d.ts +11 -0
- package/dist/remarkreadingtime.js +44 -0
- package/dist/remarksteps.d.ts +6 -0
- package/dist/remarksteps.js +56 -0
- package/dist/remarkstructure.d.ts +18 -0
- package/dist/remarkstructure.js +53 -0
- package/dist/remarktabs.d.ts +6 -0
- package/dist/remarktabs.js +42 -0
- package/dist/remarktoc.d.ts +6 -0
- package/dist/remarktoc.js +47 -0
- package/dist/remarkts2js.d.ts +6 -0
- package/dist/remarkts2js.js +88 -0
- package/dist/remarktwoslash.d.ts +20 -0
- package/dist/remarktwoslash.js +86 -0
- package/dist/remarkvideo.d.ts +16 -0
- package/dist/remarkvideo.js +59 -0
- package/dist/remix.d.ts +3 -0
- package/dist/remix.js +3 -0
- package/dist/schema.d.ts +54 -0
- package/dist/schema.js +17 -0
- package/dist/search.d.ts +24 -0
- package/dist/search.js +155 -0
- package/dist/searchindex.d.ts +28 -0
- package/dist/searchindex.js +184 -0
- package/dist/searchpolicy.d.ts +5 -0
- package/dist/searchpolicy.js +9 -0
- package/dist/searchscore.d.ts +30 -0
- package/dist/searchscore.js +54 -0
- package/dist/searchtypo.d.ts +3 -0
- package/dist/searchtypo.js +47 -0
- package/dist/seo.d.ts +26 -0
- package/dist/seo.js +69 -0
- package/dist/shortcodes.d.ts +13 -0
- package/dist/shortcodes.js +61 -0
- package/dist/sitemap.d.ts +25 -0
- package/dist/sitemap.js +69 -0
- package/dist/snippets.d.ts +18 -0
- package/dist/snippets.js +89 -0
- package/dist/source.d.ts +23 -0
- package/dist/source.js +188 -0
- package/dist/stats.d.ts +25 -0
- package/dist/stats.js +81 -0
- package/dist/tanstack.d.ts +3 -0
- package/dist/tanstack.js +3 -0
- package/dist/testing.d.ts +35 -0
- package/dist/testing.js +134 -0
- package/dist/themeutil.d.ts +31 -0
- package/dist/themeutil.js +92 -0
- package/dist/typegen.d.ts +10 -0
- package/dist/typegen.js +74 -0
- package/dist/types.d.ts +267 -0
- package/dist/types.js +1 -0
- package/dist/validate.d.ts +13 -0
- package/dist/validate.js +78 -0
- package/dist/validator.d.ts +35 -0
- package/dist/validator.js +53 -0
- package/dist/versioning.d.ts +32 -0
- package/dist/versioning.js +62 -0
- package/dist/vite.d.ts +3 -0
- package/dist/vite.js +3 -0
- package/dist/watcher.d.ts +19 -0
- package/dist/watcher.js +82 -0
- package/dist/webhook.d.ts +25 -0
- package/dist/webhook.js +67 -0
- package/dist/workspace.d.ts +26 -0
- package/dist/workspace.js +81 -0
- package/package.json +138 -11
- package/styles/reset.css +3 -0
- package/index.js +0 -3
package/dist/ansi.js
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
const ansiColors = {
|
|
2
|
+
30: "#000000",
|
|
3
|
+
31: "#f85149",
|
|
4
|
+
32: "#3fb950",
|
|
5
|
+
33: "#d29922",
|
|
6
|
+
34: "#58a6ff",
|
|
7
|
+
35: "#bc8cff",
|
|
8
|
+
36: "#39c5cf",
|
|
9
|
+
37: "#e6edf3",
|
|
10
|
+
40: "#000000",
|
|
11
|
+
41: "#f85149",
|
|
12
|
+
42: "#3fb950",
|
|
13
|
+
43: "#d29922",
|
|
14
|
+
44: "#58a6ff",
|
|
15
|
+
45: "#bc8cff",
|
|
16
|
+
46: "#39c5cf",
|
|
17
|
+
47: "#e6edf3",
|
|
18
|
+
90: "#484f58",
|
|
19
|
+
91: "#ff7b72",
|
|
20
|
+
92: "#56d364",
|
|
21
|
+
93: "#e3b341",
|
|
22
|
+
94: "#79c0ff",
|
|
23
|
+
95: "#d2a8ff",
|
|
24
|
+
96: "#56d4dd",
|
|
25
|
+
97: "#f0f6fc",
|
|
26
|
+
100: "#484f58",
|
|
27
|
+
101: "#ff7b72",
|
|
28
|
+
102: "#56d364",
|
|
29
|
+
103: "#e3b341",
|
|
30
|
+
104: "#79c0ff",
|
|
31
|
+
105: "#d2a8ff",
|
|
32
|
+
106: "#56d4dd",
|
|
33
|
+
107: "#f0f6fc"
|
|
34
|
+
};
|
|
35
|
+
function parseAnsi(text) {
|
|
36
|
+
const segments = [];
|
|
37
|
+
const state = {
|
|
38
|
+
bold: false,
|
|
39
|
+
dim: false,
|
|
40
|
+
italic: false,
|
|
41
|
+
underline: false,
|
|
42
|
+
fg: null,
|
|
43
|
+
bg: null
|
|
44
|
+
};
|
|
45
|
+
let current = "";
|
|
46
|
+
let i = 0;
|
|
47
|
+
while (i < text.length) {
|
|
48
|
+
if (text[i] === "\x1B" && text[i + 1] === "[") {
|
|
49
|
+
if (current) {
|
|
50
|
+
segments.push({ text: current, style: { ...state } });
|
|
51
|
+
current = "";
|
|
52
|
+
}
|
|
53
|
+
let j = i + 2;
|
|
54
|
+
while (j < text.length && text[j] !== "m") {
|
|
55
|
+
j++;
|
|
56
|
+
}
|
|
57
|
+
const codes = text.slice(i + 2, j).split(";").map(Number);
|
|
58
|
+
i = j + 1;
|
|
59
|
+
let k = 0;
|
|
60
|
+
while (k < codes.length) {
|
|
61
|
+
const code = codes[k];
|
|
62
|
+
if (code === void 0) {
|
|
63
|
+
k++;
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
if (code === 0) {
|
|
67
|
+
state.bold = false;
|
|
68
|
+
state.dim = false;
|
|
69
|
+
state.italic = false;
|
|
70
|
+
state.underline = false;
|
|
71
|
+
state.fg = null;
|
|
72
|
+
state.bg = null;
|
|
73
|
+
} else if (code === 1) {
|
|
74
|
+
state.bold = true;
|
|
75
|
+
} else if (code === 2) {
|
|
76
|
+
state.dim = true;
|
|
77
|
+
} else if (code === 3) {
|
|
78
|
+
state.italic = true;
|
|
79
|
+
} else if (code === 4) {
|
|
80
|
+
state.underline = true;
|
|
81
|
+
} else if (code === 22) {
|
|
82
|
+
state.bold = false;
|
|
83
|
+
state.dim = false;
|
|
84
|
+
} else if (code === 23) {
|
|
85
|
+
state.italic = false;
|
|
86
|
+
} else if (code === 24) {
|
|
87
|
+
state.underline = false;
|
|
88
|
+
} else if (code === 38 && codes[k + 1] === 5) {
|
|
89
|
+
const colorIndex = codes[k + 2];
|
|
90
|
+
if (colorIndex !== void 0) {
|
|
91
|
+
state.fg = ansi256ToHex(colorIndex);
|
|
92
|
+
k += 2;
|
|
93
|
+
}
|
|
94
|
+
} else if (code === 48 && codes[k + 1] === 5) {
|
|
95
|
+
const colorIndex = codes[k + 2];
|
|
96
|
+
if (colorIndex !== void 0) {
|
|
97
|
+
state.bg = ansi256ToHex(colorIndex);
|
|
98
|
+
k += 2;
|
|
99
|
+
}
|
|
100
|
+
} else if (code >= 30 && code <= 37 || code >= 90 && code <= 97) {
|
|
101
|
+
state.fg = ansiColors[code] || null;
|
|
102
|
+
} else if (code >= 40 && code <= 47 || code >= 100 && code <= 107) {
|
|
103
|
+
state.bg = ansiColors[code] || null;
|
|
104
|
+
} else if (code === 39) {
|
|
105
|
+
state.fg = null;
|
|
106
|
+
} else if (code === 49) {
|
|
107
|
+
state.bg = null;
|
|
108
|
+
}
|
|
109
|
+
k++;
|
|
110
|
+
}
|
|
111
|
+
} else {
|
|
112
|
+
current += text[i];
|
|
113
|
+
i++;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (current) {
|
|
117
|
+
segments.push({ text: current, style: { ...state } });
|
|
118
|
+
}
|
|
119
|
+
return segments;
|
|
120
|
+
}
|
|
121
|
+
function ansi256ToHex(n) {
|
|
122
|
+
if (n < 16) {
|
|
123
|
+
const basic = [0, 128, 0, 128, 0, 128, 0, 192, 128, 255, 0, 255, 0, 255, 0, 255];
|
|
124
|
+
const r = basic[n * 3] || 0;
|
|
125
|
+
const g = basic[n * 3 + 1] || 0;
|
|
126
|
+
const b = basic[n * 3 + 2] || 0;
|
|
127
|
+
return `#${r.toString(16).padStart(2, "0")}${g.toString(16).padStart(2, "0")}${b.toString(16).padStart(2, "0")}`;
|
|
128
|
+
}
|
|
129
|
+
if (n < 232) {
|
|
130
|
+
const index = n - 16;
|
|
131
|
+
const r = Math.floor(index / 36);
|
|
132
|
+
const g = Math.floor(index % 36 / 6);
|
|
133
|
+
const b = index % 6;
|
|
134
|
+
const toVal = (v) => v === 0 ? 0 : 55 + v * 40;
|
|
135
|
+
return `#${toVal(r).toString(16).padStart(2, "0")}${toVal(g).toString(16).padStart(2, "0")}${toVal(b).toString(16).padStart(2, "0")}`;
|
|
136
|
+
}
|
|
137
|
+
const gray = 8 + (n - 232) * 10;
|
|
138
|
+
return `#${gray.toString(16).padStart(2, "0")}${gray.toString(16).padStart(2, "0")}${gray.toString(16).padStart(2, "0")}`;
|
|
139
|
+
}
|
|
140
|
+
function transformerAnsi() {
|
|
141
|
+
return {
|
|
142
|
+
name: "ansi",
|
|
143
|
+
preprocess(code, options) {
|
|
144
|
+
if (options.lang === "ansi" || options.lang === "terminal") {
|
|
145
|
+
return code;
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
code(node) {
|
|
149
|
+
const lang = this.options.lang;
|
|
150
|
+
if (lang !== "ansi" && lang !== "terminal") return;
|
|
151
|
+
const lines = node.children;
|
|
152
|
+
if (!Array.isArray(lines)) return;
|
|
153
|
+
for (let i = 0; i < lines.length; i++) {
|
|
154
|
+
const line = lines[i];
|
|
155
|
+
if (!line || line.type !== "element") continue;
|
|
156
|
+
const textNode = line.children[0];
|
|
157
|
+
if (!textNode || textNode.type !== "text") continue;
|
|
158
|
+
const text = textNode.value;
|
|
159
|
+
const segments = parseAnsi(text);
|
|
160
|
+
if (segments.length === 0) continue;
|
|
161
|
+
line.children = segments.map((seg) => {
|
|
162
|
+
const styles = [];
|
|
163
|
+
if (seg.style.fg) styles.push(`color: ${seg.style.fg}`);
|
|
164
|
+
if (seg.style.bg) styles.push(`background-color: ${seg.style.bg}`);
|
|
165
|
+
if (seg.style.bold) styles.push("font-weight: bold");
|
|
166
|
+
if (seg.style.dim) styles.push("opacity: 0.5");
|
|
167
|
+
if (seg.style.italic) styles.push("font-style: italic");
|
|
168
|
+
if (seg.style.underline) styles.push("text-decoration: underline");
|
|
169
|
+
if (styles.length === 0) {
|
|
170
|
+
return {
|
|
171
|
+
type: "text",
|
|
172
|
+
value: seg.text
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
return {
|
|
176
|
+
type: "element",
|
|
177
|
+
tagName: "span",
|
|
178
|
+
properties: { style: styles.join("; ") },
|
|
179
|
+
children: [
|
|
180
|
+
{
|
|
181
|
+
type: "text",
|
|
182
|
+
value: seg.text
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export { transformerAnsi };
|
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
type ApiResponse<T> = {
|
|
2
|
+
data: T;
|
|
3
|
+
status: number;
|
|
4
|
+
};
|
|
5
|
+
type ApiError = {
|
|
6
|
+
error: string;
|
|
7
|
+
status: number;
|
|
8
|
+
};
|
|
9
|
+
type CorsConfig = {
|
|
10
|
+
origins?: string[];
|
|
11
|
+
methods?: string[];
|
|
12
|
+
headers?: string[];
|
|
13
|
+
};
|
|
14
|
+
type RateLimitConfig = {
|
|
15
|
+
windowMs: number;
|
|
16
|
+
maxRequests: number;
|
|
17
|
+
};
|
|
18
|
+
type RateLimitResult = {
|
|
19
|
+
allowed: boolean;
|
|
20
|
+
remaining: number;
|
|
21
|
+
resetAt: number;
|
|
22
|
+
};
|
|
23
|
+
declare function json<T>(data: T, status?: number, headers?: HeadersInit): Response;
|
|
24
|
+
declare function error(message: string, status?: number): Response;
|
|
25
|
+
declare function cors(config?: CorsConfig): Record<string, string>;
|
|
26
|
+
declare function withCors(response: Response, config?: CorsConfig): Response;
|
|
27
|
+
declare function cache(response: Response, maxAge: number, stale?: number): Response;
|
|
28
|
+
declare function rateLimiter(config: RateLimitConfig): (key: string) => RateLimitResult;
|
|
29
|
+
|
|
30
|
+
export { type ApiError, type ApiResponse, type CorsConfig, cache, cors, error, json, rateLimiter, withCors };
|
package/dist/api.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
const DEFAULT_METHODS = "GET, POST, PUT, DELETE, OPTIONS, PATCH";
|
|
2
|
+
const DEFAULT_HEADERS = "Content-Type, Authorization, X-Requested-With";
|
|
3
|
+
let corsWarned = false;
|
|
4
|
+
function json(data, status = 200, headers) {
|
|
5
|
+
const next = new Headers(headers);
|
|
6
|
+
if (!next.has("Content-Type")) {
|
|
7
|
+
next.set("Content-Type", "application/json");
|
|
8
|
+
}
|
|
9
|
+
return new Response(JSON.stringify(data), {
|
|
10
|
+
status,
|
|
11
|
+
headers: next
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function error(message, status = 500) {
|
|
15
|
+
return new Response(JSON.stringify({ error: message }), {
|
|
16
|
+
status,
|
|
17
|
+
headers: { "Content-Type": "application/json" }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function cors(config) {
|
|
21
|
+
if (!corsWarned && process.env.NODE_ENV === "production" && (!config?.origins || config.origins.length === 0)) {
|
|
22
|
+
corsWarned = true;
|
|
23
|
+
console.warn("fromsrc cors is using wildcard origins in production");
|
|
24
|
+
}
|
|
25
|
+
const origin = config?.origins && config.origins.length > 0 ? config.origins.join(", ") : "*";
|
|
26
|
+
return {
|
|
27
|
+
"Access-Control-Allow-Origin": origin,
|
|
28
|
+
"Access-Control-Allow-Methods": config?.methods?.join(", ") ?? DEFAULT_METHODS,
|
|
29
|
+
"Access-Control-Allow-Headers": config?.headers?.join(", ") ?? DEFAULT_HEADERS
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function withCors(response, config) {
|
|
33
|
+
const headers = new Headers(response.headers);
|
|
34
|
+
for (const [key, value] of Object.entries(cors(config))) {
|
|
35
|
+
headers.set(key, value);
|
|
36
|
+
}
|
|
37
|
+
return new Response(response.body, {
|
|
38
|
+
status: response.status,
|
|
39
|
+
statusText: response.statusText,
|
|
40
|
+
headers
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function cache(response, maxAge, stale) {
|
|
44
|
+
const headers = new Headers(response.headers);
|
|
45
|
+
const staleAge = stale ?? maxAge;
|
|
46
|
+
headers.set("Cache-Control", `public, max-age=${maxAge}, stale-while-revalidate=${staleAge}`);
|
|
47
|
+
return new Response(response.body, {
|
|
48
|
+
status: response.status,
|
|
49
|
+
statusText: response.statusText,
|
|
50
|
+
headers
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function rateLimiter(config) {
|
|
54
|
+
const windows = /* @__PURE__ */ new Map();
|
|
55
|
+
return (key) => {
|
|
56
|
+
const now = Date.now();
|
|
57
|
+
for (const [item, value] of [...windows.entries()]) {
|
|
58
|
+
if (now >= value.resetAt) {
|
|
59
|
+
windows.delete(item);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const entry = windows.get(key);
|
|
63
|
+
if (!entry || now >= entry.resetAt) {
|
|
64
|
+
const resetAt = now + config.windowMs;
|
|
65
|
+
windows.set(key, { count: 1, resetAt });
|
|
66
|
+
return { allowed: true, remaining: config.maxRequests - 1, resetAt };
|
|
67
|
+
}
|
|
68
|
+
entry.count++;
|
|
69
|
+
const allowed = entry.count <= config.maxRequests;
|
|
70
|
+
const remaining = Math.max(0, config.maxRequests - entry.count);
|
|
71
|
+
return { allowed, remaining, resetAt: entry.resetAt };
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export { cache, cors, error, json, rateLimiter, withCors };
|
package/dist/astro.d.ts
ADDED
package/dist/astro.js
ADDED
package/dist/audit.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type AuditConfig = {
|
|
2
|
+
docsDir: string;
|
|
3
|
+
maxAge?: number;
|
|
4
|
+
requiredFields?: string[];
|
|
5
|
+
};
|
|
6
|
+
type AuditIssue = {
|
|
7
|
+
file: string;
|
|
8
|
+
type: "stale" | "missing-field" | "empty" | "short" | "no-headings" | "orphan";
|
|
9
|
+
message: string;
|
|
10
|
+
};
|
|
11
|
+
type AuditResult = {
|
|
12
|
+
total: number;
|
|
13
|
+
issues: AuditIssue[];
|
|
14
|
+
score: number;
|
|
15
|
+
};
|
|
16
|
+
declare function audit(config: AuditConfig): Promise<AuditResult>;
|
|
17
|
+
declare function formatAudit(result: AuditResult): string;
|
|
18
|
+
|
|
19
|
+
export { type AuditConfig, type AuditIssue, type AuditResult, audit, formatAudit };
|
package/dist/audit.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { readFile, stat, readdir } from 'node:fs/promises';
|
|
2
|
+
import { relative, join } from 'node:path';
|
|
3
|
+
|
|
4
|
+
function parsefrontmatter(raw) {
|
|
5
|
+
const match = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/);
|
|
6
|
+
if (!match) return { fields: {}, body: raw };
|
|
7
|
+
const full = match[0];
|
|
8
|
+
const section = match[1];
|
|
9
|
+
if (!full || section === void 0) return { fields: {}, body: raw };
|
|
10
|
+
const body = raw.slice(full.length).trim();
|
|
11
|
+
const fields = {};
|
|
12
|
+
for (const line of section.split("\n")) {
|
|
13
|
+
const idx = line.indexOf(":");
|
|
14
|
+
if (idx > 0) {
|
|
15
|
+
fields[line.slice(0, idx).trim()] = line.slice(idx + 1).trim();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return { fields, body };
|
|
19
|
+
}
|
|
20
|
+
async function gather(dir) {
|
|
21
|
+
const results = [];
|
|
22
|
+
const entries = await readdir(dir, { withFileTypes: true });
|
|
23
|
+
for (const entry of entries) {
|
|
24
|
+
const full = join(dir, entry.name);
|
|
25
|
+
if (entry.isDirectory()) {
|
|
26
|
+
results.push(...await gather(full));
|
|
27
|
+
} else if (/\.(md|mdx)$/.test(entry.name)) {
|
|
28
|
+
results.push(full);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return results;
|
|
32
|
+
}
|
|
33
|
+
async function audit(config) {
|
|
34
|
+
const maxAge = config.maxAge ?? 90;
|
|
35
|
+
const required = config.requiredFields ?? ["title", "description"];
|
|
36
|
+
const files = await gather(config.docsDir);
|
|
37
|
+
const issues = [];
|
|
38
|
+
const now = Date.now();
|
|
39
|
+
const threshold = maxAge * 864e5;
|
|
40
|
+
for (const filepath of files) {
|
|
41
|
+
const rel = relative(config.docsDir, filepath);
|
|
42
|
+
const [raw, info] = await Promise.all([readFile(filepath, "utf-8"), stat(filepath)]);
|
|
43
|
+
if (now - info.mtimeMs > threshold) {
|
|
44
|
+
issues.push({ file: rel, type: "stale", message: `modified over ${maxAge} days ago` });
|
|
45
|
+
}
|
|
46
|
+
const { fields, body } = parsefrontmatter(raw);
|
|
47
|
+
for (const field of required) {
|
|
48
|
+
if (!fields[field]) {
|
|
49
|
+
issues.push({ file: rel, type: "missing-field", message: `missing ${field}` });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (body.length < 10) {
|
|
53
|
+
issues.push({ file: rel, type: "empty", message: "content is empty" });
|
|
54
|
+
}
|
|
55
|
+
const words = body.split(/\s+/).filter(Boolean).length;
|
|
56
|
+
if (words < 100) {
|
|
57
|
+
issues.push({ file: rel, type: "short", message: `only ${words} words` });
|
|
58
|
+
}
|
|
59
|
+
if (!/^##\s/m.test(body)) {
|
|
60
|
+
issues.push({ file: rel, type: "no-headings", message: "no headings found" });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const total = files.length;
|
|
64
|
+
const score = total === 0 ? 100 : Math.max(0, Math.min(100, 100 - issues.length / total * 100));
|
|
65
|
+
return { total, issues, score: Math.round(score) };
|
|
66
|
+
}
|
|
67
|
+
function formatAudit(result) {
|
|
68
|
+
const lines = [
|
|
69
|
+
`audit: ${result.total} files, score ${result.score}/100`,
|
|
70
|
+
`issues: ${result.issues.length}`
|
|
71
|
+
];
|
|
72
|
+
for (const issue of result.issues) {
|
|
73
|
+
lines.push(` ${issue.type} ${issue.file}: ${issue.message}`);
|
|
74
|
+
}
|
|
75
|
+
return lines.join("\n");
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { audit, formatAudit };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface TypeProperty {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
required: boolean;
|
|
5
|
+
description?: string;
|
|
6
|
+
default?: string;
|
|
7
|
+
}
|
|
8
|
+
interface TypeDefinition {
|
|
9
|
+
name: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
properties: TypeProperty[];
|
|
12
|
+
extends?: string[];
|
|
13
|
+
}
|
|
14
|
+
declare function parseTypes(source: string): TypeDefinition[];
|
|
15
|
+
declare function parseTypeFile(filePath: string): Promise<TypeDefinition[]>;
|
|
16
|
+
|
|
17
|
+
export { type TypeDefinition, type TypeProperty, parseTypeFile, parseTypes };
|
package/dist/autotype.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
|
|
3
|
+
const BLOCK_PATTERN = /(?:\/\*\*\s*([\s\S]*?)\s*\*\/\s*)?(?:export\s+)?(?:interface|type)\s+(\w+)(?:<[^>]*>)?(?:\s*=\s*\{|\s*(?:extends\s+([\w\s,<>]+))?\s*\{)([\s\S]*?)\n\}/g;
|
|
4
|
+
const PROP_PATTERN = /(?:\/\*\*\s*([\s\S]*?)\s*\*\/\s*)?(?:readonly\s+)?(\w+)(\??)\s*:\s*([^;\n]+)/g;
|
|
5
|
+
function clean(raw) {
|
|
6
|
+
return raw.replace(/^\s*\*\s?/gm, "").replace(/@default\s+.*/g, "").trim();
|
|
7
|
+
}
|
|
8
|
+
function extractDefault(raw) {
|
|
9
|
+
const match = raw.match(/@default\s+(.+)/);
|
|
10
|
+
return match?.[1]?.trim();
|
|
11
|
+
}
|
|
12
|
+
function normalizeType(raw) {
|
|
13
|
+
return raw.replace(/\s+/g, " ").trim();
|
|
14
|
+
}
|
|
15
|
+
function parseExtends(raw) {
|
|
16
|
+
return raw.split(",").map((s) => s.replace(/<.*>/, "").trim());
|
|
17
|
+
}
|
|
18
|
+
function parseProperties(body) {
|
|
19
|
+
const properties = [];
|
|
20
|
+
const pattern = new RegExp(PROP_PATTERN.source, PROP_PATTERN.flags);
|
|
21
|
+
let match = null;
|
|
22
|
+
while ((match = pattern.exec(body)) !== null) {
|
|
23
|
+
const jsdoc = match[1];
|
|
24
|
+
const name = match[2];
|
|
25
|
+
const optional = match[3];
|
|
26
|
+
const rawType = match[4];
|
|
27
|
+
if (!name || optional === void 0 || !rawType) continue;
|
|
28
|
+
const property = {
|
|
29
|
+
name,
|
|
30
|
+
type: normalizeType(rawType),
|
|
31
|
+
required: optional !== "?"
|
|
32
|
+
};
|
|
33
|
+
if (jsdoc) {
|
|
34
|
+
const description = clean(jsdoc);
|
|
35
|
+
if (description) property.description = description;
|
|
36
|
+
const def = extractDefault(jsdoc);
|
|
37
|
+
if (def) property.default = def;
|
|
38
|
+
}
|
|
39
|
+
properties.push(property);
|
|
40
|
+
}
|
|
41
|
+
return properties;
|
|
42
|
+
}
|
|
43
|
+
function parseTypes(source) {
|
|
44
|
+
const definitions = [];
|
|
45
|
+
const pattern = new RegExp(BLOCK_PATTERN.source, BLOCK_PATTERN.flags);
|
|
46
|
+
let match = null;
|
|
47
|
+
while ((match = pattern.exec(source)) !== null) {
|
|
48
|
+
const jsdoc = match[1];
|
|
49
|
+
const name = match[2];
|
|
50
|
+
const extendsClause = match[3];
|
|
51
|
+
const body = match[4];
|
|
52
|
+
if (!name || !body) continue;
|
|
53
|
+
const definition = {
|
|
54
|
+
name,
|
|
55
|
+
properties: parseProperties(body)
|
|
56
|
+
};
|
|
57
|
+
if (jsdoc) {
|
|
58
|
+
const description = clean(jsdoc);
|
|
59
|
+
if (description) definition.description = description;
|
|
60
|
+
}
|
|
61
|
+
if (extendsClause) {
|
|
62
|
+
definition.extends = parseExtends(extendsClause);
|
|
63
|
+
}
|
|
64
|
+
definitions.push(definition);
|
|
65
|
+
}
|
|
66
|
+
return definitions;
|
|
67
|
+
}
|
|
68
|
+
async function parseTypeFile(filePath) {
|
|
69
|
+
const source = await readFile(filePath, "utf-8");
|
|
70
|
+
return parseTypes(source);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { parseTypeFile, parseTypes };
|
package/dist/batch.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type BatchConfig = {
|
|
2
|
+
concurrency?: number;
|
|
3
|
+
onProgress?: (done: number, total: number) => void;
|
|
4
|
+
};
|
|
5
|
+
type BatchResult<T> = {
|
|
6
|
+
results: T[];
|
|
7
|
+
errors: BatchError[];
|
|
8
|
+
duration: number;
|
|
9
|
+
};
|
|
10
|
+
type BatchError = {
|
|
11
|
+
index: number;
|
|
12
|
+
error: string;
|
|
13
|
+
};
|
|
14
|
+
declare function batch<TItem, TResult>(items: TItem[], fn: (item: TItem, index: number) => Promise<TResult>, config?: BatchConfig): Promise<BatchResult<TResult>>;
|
|
15
|
+
declare function batchFiles<T>(dir: string, fn: (path: string, content: string) => Promise<T>, config?: BatchConfig): Promise<BatchResult<T>>;
|
|
16
|
+
declare function mapFiles(dir: string, transform: (content: string, path: string) => string, config?: BatchConfig): Promise<{
|
|
17
|
+
modified: number;
|
|
18
|
+
total: number;
|
|
19
|
+
}>;
|
|
20
|
+
declare function forEachDoc(dir: string, fn: (path: string, content: string) => Promise<void> | void): Promise<void>;
|
|
21
|
+
|
|
22
|
+
export { type BatchConfig, type BatchError, type BatchResult, batch, batchFiles, forEachDoc, mapFiles };
|
package/dist/batch.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { readFile, writeFile, readdir } from 'node:fs/promises';
|
|
2
|
+
import { extname, join } from 'node:path';
|
|
3
|
+
|
|
4
|
+
async function collect(dir) {
|
|
5
|
+
const entries = await readdir(dir, { recursive: true, withFileTypes: true });
|
|
6
|
+
return entries.filter((e) => e.isFile() && [".md", ".mdx"].includes(extname(e.name))).map((e) => join(e.parentPath ?? e.path, e.name));
|
|
7
|
+
}
|
|
8
|
+
async function batch(items, fn, config) {
|
|
9
|
+
const limit = config?.concurrency ?? 4;
|
|
10
|
+
const start = performance.now();
|
|
11
|
+
const results = new Array(items.length);
|
|
12
|
+
const errors = [];
|
|
13
|
+
let cursor = 0;
|
|
14
|
+
let done = 0;
|
|
15
|
+
async function next() {
|
|
16
|
+
while (cursor < items.length) {
|
|
17
|
+
const i = cursor++;
|
|
18
|
+
const item = items[i];
|
|
19
|
+
if (item === void 0) continue;
|
|
20
|
+
try {
|
|
21
|
+
results[i] = await fn(item, i);
|
|
22
|
+
} catch (e) {
|
|
23
|
+
errors.push({ index: i, error: e instanceof Error ? e.message : String(e) });
|
|
24
|
+
}
|
|
25
|
+
done++;
|
|
26
|
+
config?.onProgress?.(done, items.length);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
await Promise.all(Array.from({ length: Math.min(limit, items.length) }, () => next()));
|
|
30
|
+
return { results, errors, duration: performance.now() - start };
|
|
31
|
+
}
|
|
32
|
+
async function batchFiles(dir, fn, config) {
|
|
33
|
+
const paths = await collect(dir);
|
|
34
|
+
return batch(
|
|
35
|
+
paths,
|
|
36
|
+
async (p) => {
|
|
37
|
+
const content = await readFile(p, "utf-8");
|
|
38
|
+
return fn(p, content);
|
|
39
|
+
},
|
|
40
|
+
config
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
async function mapFiles(dir, transform, config) {
|
|
44
|
+
const paths = await collect(dir);
|
|
45
|
+
let modified = 0;
|
|
46
|
+
await batch(
|
|
47
|
+
paths,
|
|
48
|
+
async (p) => {
|
|
49
|
+
const original = await readFile(p, "utf-8");
|
|
50
|
+
const result = transform(original, p);
|
|
51
|
+
if (result !== original) {
|
|
52
|
+
await writeFile(p, result, "utf-8");
|
|
53
|
+
modified++;
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
config
|
|
57
|
+
);
|
|
58
|
+
return { modified, total: paths.length };
|
|
59
|
+
}
|
|
60
|
+
async function forEachDoc(dir, fn) {
|
|
61
|
+
const paths = await collect(dir);
|
|
62
|
+
for (const p of paths) {
|
|
63
|
+
const content = await readFile(p, "utf-8");
|
|
64
|
+
await fn(p, content);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export { batch, batchFiles, forEachDoc, mapFiles };
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
|
|
4
|
+
function current() {
|
|
5
|
+
if (typeof window === "undefined") {
|
|
6
|
+
return "/";
|
|
7
|
+
}
|
|
8
|
+
return window.location.pathname;
|
|
9
|
+
}
|
|
10
|
+
function usepath() {
|
|
11
|
+
const [value, setValue] = useState(current);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (typeof window === "undefined") {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const update = () => setValue(window.location.pathname);
|
|
17
|
+
update();
|
|
18
|
+
window.addEventListener("popstate", update);
|
|
19
|
+
window.addEventListener("hashchange", update);
|
|
20
|
+
window.addEventListener("astro:page-load", update);
|
|
21
|
+
return () => {
|
|
22
|
+
window.removeEventListener("popstate", update);
|
|
23
|
+
window.removeEventListener("hashchange", update);
|
|
24
|
+
window.removeEventListener("astro:page-load", update);
|
|
25
|
+
};
|
|
26
|
+
}, []);
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
function push(url) {
|
|
30
|
+
if (typeof window === "undefined") {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
let target;
|
|
34
|
+
try {
|
|
35
|
+
target = new URL(url, window.location.href);
|
|
36
|
+
} catch {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (target.origin !== window.location.origin) {
|
|
40
|
+
window.location.assign(target.toString());
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
window.history.pushState({}, "", target.toString());
|
|
44
|
+
window.dispatchEvent(new PopStateEvent("popstate"));
|
|
45
|
+
}
|
|
46
|
+
function back() {
|
|
47
|
+
if (typeof window === "undefined") {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
window.history.back();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { back, push, usepath };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
interface ChangelogItem {
|
|
2
|
+
type: "added" | "changed" | "fixed" | "removed" | "deprecated" | "security";
|
|
3
|
+
description: string;
|
|
4
|
+
}
|
|
5
|
+
interface ChangelogEntry {
|
|
6
|
+
version: string;
|
|
7
|
+
date: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
description: string;
|
|
10
|
+
type: "major" | "minor" | "patch" | "prerelease";
|
|
11
|
+
breaking?: boolean;
|
|
12
|
+
items: ChangelogItem[];
|
|
13
|
+
}
|
|
14
|
+
interface ChangelogConfig {
|
|
15
|
+
file?: string;
|
|
16
|
+
}
|
|
17
|
+
declare function parseChangelog(content: string): ChangelogEntry[];
|
|
18
|
+
declare function generateChangelogRss(config: {
|
|
19
|
+
title: string;
|
|
20
|
+
baseUrl: string;
|
|
21
|
+
description: string;
|
|
22
|
+
}, entries: ChangelogEntry[]): string;
|
|
23
|
+
declare function latestVersion(entries: ChangelogEntry[]): ChangelogEntry | undefined;
|
|
24
|
+
declare function filterByType(entries: ChangelogEntry[], type: ChangelogEntry["type"]): ChangelogEntry[];
|
|
25
|
+
declare function hasBreaking(entries: ChangelogEntry[]): ChangelogEntry[];
|
|
26
|
+
|
|
27
|
+
export { type ChangelogConfig, type ChangelogEntry, type ChangelogItem, filterByType, generateChangelogRss, hasBreaking, latestVersion, parseChangelog };
|