Add a basic home page header

This commit is contained in:
Zoe Roux 2023-10-15 23:31:17 +02:00
parent 28855046b8
commit d21e4ffba2
10 changed files with 156 additions and 426 deletions

View File

@ -18,7 +18,6 @@
* along with Kyoo. If not, see <https://www.gnu.org/licenses/>.
*/
import Browse from "./browse";
import { HomePage } from "@kyoo/ui";
// While there is no home page, show the browse page.
export default Browse;
export default HomePage;

View File

@ -83,15 +83,6 @@ const nextConfig = {
});
return config;
},
async redirects() {
return [
{
source: "/",
destination: "/browse",
permanent: true,
},
];
},
i18n: {
locales: ["en", "fr"],
defaultLocale: "en",

View File

@ -18,6 +18,6 @@
* along with Kyoo. If not, see <https://www.gnu.org/licenses/>.
*/
import BrowsePage from "./browse";
import { HomePage } from "@kyoo/ui";
export default BrowsePage;
export default HomePage;

View File

@ -23,12 +23,7 @@
"prettier": {
"useTabs": true,
"printWidth": 100,
"trailingComma": "all",
"plugins": [
"prettier-plugin-jsdoc"
],
"jsdocSingleLineComment": false,
"tsdoc": true
"trailingComma": "all"
},
"devDependencies": {
"eslint": "8.46.0",
@ -36,7 +31,6 @@
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-header": "^3.1.1",
"prettier": "^3.0.1",
"prettier-plugin-jsdoc": "^1.0.1",
"typescript": "5.1.6"
},
"packageManager": "yarn@3.2.4"

View File

@ -36,15 +36,24 @@ export const LibraryItemP = z.union([
/*
* Either a Show
*/
ShowP.and(z.object({ kind: z.literal(ItemKind.Show) })),
ShowP.and(z.object({ kind: z.literal(ItemKind.Show) })).transform((x) => ({
...x,
href: `/show/${x.slug}`,
})),
/*
* Or a Movie
*/
MovieP.and(z.object({ kind: z.literal(ItemKind.Movie) })),
MovieP.and(z.object({ kind: z.literal(ItemKind.Movie) })).transform((x) => ({
...x,
href: `/movie/${x.slug}`,
})),
/*
* Or a Collection
*/
CollectionP.and(z.object({ kind: z.literal(ItemKind.Collection) })),
CollectionP.and(z.object({ kind: z.literal(ItemKind.Collection) })).transform((x) => ({
...x,
href: `/collection/${x.slug}`,
})),
]);
/**

View File

@ -43,16 +43,11 @@ export const itemMap = (
): WithLoading<ComponentProps<typeof ItemGrid> & ComponentProps<typeof ItemList>> => {
if (item.isLoading) return item;
let href;
if (item?.kind === ItemKind.Movie) href = `/movie/${item.slug}`;
else if (item?.kind === ItemKind.Show) href = `/show/${item.slug}`;
else href = `/collection/${item.slug}`;
return {
isLoading: item.isLoading,
name: item.name,
subtitle: item.kind !== ItemKind.Collection ? getDisplayDate(item) : undefined,
href,
href: item.href,
poster: item.poster,
thumbnail: item.thumbnail,
};

View File

@ -0,0 +1,89 @@
/*
* Kyoo - A portable and vast media library solution.
* Copyright (c) Kyoo.
*
* See AUTHORS.md and LICENSE file in the project root for full license information.
*
* Kyoo is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* Kyoo is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Kyoo. If not, see <https://www.gnu.org/licenses/>.
*/
import { KyooImage, LibraryItem, LibraryItemP, QueryIdentifier } from "@kyoo/models";
import {
H1,
H2,
IconButton,
IconFab,
ImageBackground,
Link,
P,
tooltip,
ts,
} from "@kyoo/primitives";
import { View } from "react-native";
import { percent, useYoshiki, vh } from "yoshiki/native";
import { WithLoading } from "../fetch";
import { useTranslation } from "react-i18next";
import PlayArrow from "@material-symbols/svg-400/rounded/play_arrow-fill.svg";
import Info from "@material-symbols/svg-400/rounded/info.svg";
export const Header = ({
isLoading,
name,
thumbnail,
overview,
tagline,
link,
infoLink,
...props
}: WithLoading<{
name: string;
thumbnail: KyooImage | null;
overview: string | null;
tagline: string | null;
link: string;
infoLink: string;
}>) => {
const { css } = useYoshiki();
const { t } = useTranslation();
return (
<ImageBackground src={thumbnail} alt="" quality="high" {...css({ height: vh(70) }, props)}>
<View {...css({ width: percent(70), position: "absolute", bottom: 0, margin: ts(2) })}>
<H1>{name}</H1>
<View {...css({ flexDirection: "row" })}>
<IconFab
icon={PlayArrow}
as={Link}
href={link ?? "#"}
{...tooltip(t("show.play"))}
{...css({ marginRight: ts(1) })}
/>
<IconButton
icon={Info}
href={infoLink ?? "#"}
{...tooltip(t("home.info"))}
{...css({ marginRight: ts(2) })}
/>
<H2>{tagline}</H2>
</View>
<P>{overview}</P>
</View>
</ImageBackground>
);
};
Header.query = (): QueryIdentifier<LibraryItem> => ({
parser: LibraryItemP,
path: ["items", "random"],
});

View File

@ -0,0 +1,46 @@
/*
* Kyoo - A portable and vast media library solution.
* Copyright (c) Kyoo.
*
* See AUTHORS.md and LICENSE file in the project root for full license information.
*
* Kyoo is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* Kyoo is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Kyoo. If not, see <https://www.gnu.org/licenses/>.
*/
import { ItemKind, QueryPage } from "@kyoo/models";
import { Fetch } from "../fetch";
import { Header } from "./header";
import { DefaultLayout } from "../layout";
export const HomePage: QueryPage = () => {
return (
<Fetch query={Header.query()}>
{(x) => (
<Header
isLoading={x.isLoading as any}
name={x.name}
tagline={"tagline" in x ? x.tagline : null}
overview={x.overview}
thumbnail={x.thumbnail}
link={x.kind === ItemKind.Show ? `/watch/${x.slug}-s1e1` : `/movie/${x.slug}/watch`}
infoLink={x.href}
/>
)}
</Fetch>
);
};
HomePage.getLayout = { Layout: DefaultLayout, props: { transparent: true } };
HomePage.getFetchUrls = () => [Header.query()];

View File

@ -19,6 +19,7 @@
*/
export * from "./navbar";
export { HomePage } from "./home";
export { BrowsePage } from "./browse";
export { MovieDetails, ShowDetails } from "./details";
export { Player } from "./player";

View File

@ -3959,15 +3959,6 @@ __metadata:
languageName: node
linkType: hard
"@types/debug@npm:^4.0.0":
version: 4.1.8
resolution: "@types/debug@npm:4.1.8"
dependencies:
"@types/ms": "*"
checksum: a9a9bb40a199e9724aa944e139a7659173a9b274798ea7efbc277cb084bc37d32fc4c00877c3496fac4fed70a23243d284adb75c00b5fdabb38a22154d18e5df
languageName: node
linkType: hard
"@types/eslint-scope@npm:^3.7.3":
version: 3.7.4
resolution: "@types/eslint-scope@npm:3.7.4"
@ -4041,22 +4032,6 @@ __metadata:
languageName: node
linkType: hard
"@types/mdast@npm:^3.0.0":
version: 3.0.12
resolution: "@types/mdast@npm:3.0.12"
dependencies:
"@types/unist": ^2
checksum: 83adb8679b9d139f69f63554d120af921e9f1289e9903a2c99e0554a327c8524a6c0beccdc0721e4fdbccc606e81964fecb0d390d53df0f74360938e22f1a469
languageName: node
linkType: hard
"@types/ms@npm:*":
version: 0.7.31
resolution: "@types/ms@npm:0.7.31"
checksum: daadd354aedde024cce6f5aa873fefe7b71b22cd0e28632a69e8b677aeb48ae8caa1c60e5919bb781df040d116b01cb4316335167a3fc0ef6a63fa3614c0f6da
languageName: node
linkType: hard
"@types/node@npm:*, @types/node@npm:20.4.8":
version: 20.4.8
resolution: "@types/node@npm:20.4.8"
@ -4130,13 +4105,6 @@ __metadata:
languageName: node
linkType: hard
"@types/unist@npm:^2, @types/unist@npm:^2.0.0":
version: 2.0.7
resolution: "@types/unist@npm:2.0.7"
checksum: b97a219554e83431f19a93ff113306bf0512909292815e8f32964e47d041c505af1aaa2a381c23e137c4c0b962fad58d4ce9c5c3256642921a466be43c1fc715
languageName: node
linkType: hard
"@types/yargs-parser@npm:*":
version: 21.0.0
resolution: "@types/yargs-parser@npm:21.0.0"
@ -5101,13 +5069,6 @@ __metadata:
languageName: node
linkType: hard
"binary-searching@npm:^2.0.5":
version: 2.0.5
resolution: "binary-searching@npm:2.0.5"
checksum: bbc72ddee8dcbfc4db8072deff76e944313785c3935f79b42533ddab14c62b37e46239bfd10878844a7ec16074c7bddde9be2083772228db86b7f01ce2a8856c
languageName: node
linkType: hard
"bl@npm:^4.1.0":
version: 4.1.0
resolution: "bl@npm:4.1.0"
@ -5448,13 +5409,6 @@ __metadata:
languageName: node
linkType: hard
"character-entities@npm:^2.0.0":
version: 2.0.2
resolution: "character-entities@npm:2.0.2"
checksum: cf1643814023697f725e47328fcec17923b8f1799102a8a79c1514e894815651794a2bffd84bb1b3a4b124b050154e4529ed6e81f7c8068a734aecf07a6d3def
languageName: node
linkType: hard
"charenc@npm:0.0.2, charenc@npm:~0.0.1":
version: 0.0.2
resolution: "charenc@npm:0.0.2"
@ -5695,13 +5649,6 @@ __metadata:
languageName: node
linkType: hard
"comment-parser@npm:^1.3.1":
version: 1.4.0
resolution: "comment-parser@npm:1.4.0"
checksum: e086da3b14af9455177f1ab801bc54de9139a77fcef55dbfb751ae68d687ac83b0effb83d113ccf8cd217d9d93ce2b472002953cac342092a3fadfb9f5cd8e38
languageName: node
linkType: hard
"commondir@npm:^1.0.1":
version: 1.0.1
resolution: "commondir@npm:1.0.1"
@ -6018,7 +5965,7 @@ __metadata:
languageName: node
linkType: hard
"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4":
"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4":
version: 4.3.4
resolution: "debug@npm:4.3.4"
dependencies:
@ -6046,15 +5993,6 @@ __metadata:
languageName: node
linkType: hard
"decode-named-character-reference@npm:^1.0.0":
version: 1.0.2
resolution: "decode-named-character-reference@npm:1.0.2"
dependencies:
character-entities: ^2.0.0
checksum: f4c71d3b93105f20076052f9cb1523a22a9c796b8296cd35eef1ca54239c78d182c136a848b83ff8da2071e3ae2b1d300bf29d00650a6d6e675438cc31b11d78
languageName: node
linkType: hard
"decode-uri-component@npm:^0.2.2":
version: 0.2.2
resolution: "decode-uri-component@npm:0.2.2"
@ -6214,7 +6152,7 @@ __metadata:
languageName: node
linkType: hard
"dequal@npm:^2.0.0, dequal@npm:^2.0.3":
"dequal@npm:^2.0.3":
version: 2.0.3
resolution: "dequal@npm:2.0.3"
checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90
@ -6244,13 +6182,6 @@ __metadata:
languageName: node
linkType: hard
"diff@npm:^5.0.0":
version: 5.1.0
resolution: "diff@npm:5.1.0"
checksum: c7bf0df7c9bfbe1cf8a678fd1b2137c4fb11be117a67bc18a0e03ae75105e8533dbfb1cda6b46beb3586ef5aed22143ef9d70713977d5fb1f9114e21455fba90
languageName: node
linkType: hard
"dir-glob@npm:^3.0.1":
version: 3.0.1
resolution: "dir-glob@npm:3.0.1"
@ -9292,13 +9223,6 @@ __metadata:
languageName: node
linkType: hard
"kleur@npm:^4.0.3":
version: 4.1.5
resolution: "kleur@npm:4.1.5"
checksum: 1dc476e32741acf0b1b5b0627ffd0d722e342c1b0da14de3e8ae97821327ca08f9fb944542fb3c126d90ac5f27f9d804edbe7c585bf7d12ef495d115e0f22c12
languageName: node
linkType: hard
"kyoo@workspace:.":
version: 0.0.0-use.local
resolution: "kyoo@workspace:."
@ -9308,7 +9232,6 @@ __metadata:
eslint-config-prettier: ^9.0.0
eslint-plugin-header: ^3.1.1
prettier: ^3.0.1
prettier-plugin-jsdoc: ^1.0.1
typescript: 5.1.6
languageName: unknown
linkType: soft
@ -9672,35 +9595,6 @@ __metadata:
languageName: node
linkType: hard
"mdast-util-from-markdown@npm:^1.2.0":
version: 1.3.1
resolution: "mdast-util-from-markdown@npm:1.3.1"
dependencies:
"@types/mdast": ^3.0.0
"@types/unist": ^2.0.0
decode-named-character-reference: ^1.0.0
mdast-util-to-string: ^3.1.0
micromark: ^3.0.0
micromark-util-decode-numeric-character-reference: ^1.0.0
micromark-util-decode-string: ^1.0.0
micromark-util-normalize-identifier: ^1.0.0
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.0
unist-util-stringify-position: ^3.0.0
uvu: ^0.5.0
checksum: c2fac225167e248d394332a4ea39596e04cbde07d8cdb3889e91e48972c4c3462a02b39fda3855345d90231eb17a90ac6e082fb4f012a77c1d0ddfb9c7446940
languageName: node
linkType: hard
"mdast-util-to-string@npm:^3.1.0":
version: 3.2.0
resolution: "mdast-util-to-string@npm:3.2.0"
dependencies:
"@types/mdast": ^3.0.0
checksum: dc40b544d54339878ae2c9f2b3198c029e1e07291d2126bd00ca28272ee6616d0d2194eb1c9828a7c34d412a79a7e73b26512a734698d891c710a1e73db1e848
languageName: node
linkType: hard
"mdn-data@npm:2.0.14":
version: 2.0.14
resolution: "mdn-data@npm:2.0.14"
@ -10078,242 +9972,6 @@ __metadata:
languageName: node
linkType: hard
"micromark-core-commonmark@npm:^1.0.1":
version: 1.1.0
resolution: "micromark-core-commonmark@npm:1.1.0"
dependencies:
decode-named-character-reference: ^1.0.0
micromark-factory-destination: ^1.0.0
micromark-factory-label: ^1.0.0
micromark-factory-space: ^1.0.0
micromark-factory-title: ^1.0.0
micromark-factory-whitespace: ^1.0.0
micromark-util-character: ^1.0.0
micromark-util-chunked: ^1.0.0
micromark-util-classify-character: ^1.0.0
micromark-util-html-tag-name: ^1.0.0
micromark-util-normalize-identifier: ^1.0.0
micromark-util-resolve-all: ^1.0.0
micromark-util-subtokenize: ^1.0.0
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.1
uvu: ^0.5.0
checksum: c6dfedc95889cc73411cb222fc2330b9eda6d849c09c9fd9eb3cd3398af246167e9d3cdb0ae3ce9ae59dd34a14624c8330e380255d41279ad7350cf6c6be6c5b
languageName: node
linkType: hard
"micromark-factory-destination@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-factory-destination@npm:1.1.0"
dependencies:
micromark-util-character: ^1.0.0
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.0
checksum: 9e2b5fb5fedbf622b687e20d51eb3d56ae90c0e7ecc19b37bd5285ec392c1e56f6e21aa7cfcb3c01eda88df88fe528f3acb91a5f57d7f4cba310bc3cd7f824fa
languageName: node
linkType: hard
"micromark-factory-label@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-factory-label@npm:1.1.0"
dependencies:
micromark-util-character: ^1.0.0
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.0
uvu: ^0.5.0
checksum: fcda48f1287d9b148c562c627418a2ab759cdeae9c8e017910a0cba94bb759a96611e1fc6df33182e97d28fbf191475237298983bb89ef07d5b02464b1ad28d5
languageName: node
linkType: hard
"micromark-factory-space@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-factory-space@npm:1.1.0"
dependencies:
micromark-util-character: ^1.0.0
micromark-util-types: ^1.0.0
checksum: b58435076b998a7e244259a4694eb83c78915581206b6e7fc07b34c6abd36a1726ade63df8972fbf6c8fa38eecb9074f4e17be8d53f942e3b3d23d1a0ecaa941
languageName: node
linkType: hard
"micromark-factory-title@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-factory-title@npm:1.1.0"
dependencies:
micromark-factory-space: ^1.0.0
micromark-util-character: ^1.0.0
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.0
checksum: 4432d3dbc828c81f483c5901b0c6591a85d65a9e33f7d96ba7c3ae821617a0b3237ff5faf53a9152d00aaf9afb3a9f185b205590f40ed754f1d9232e0e9157b1
languageName: node
linkType: hard
"micromark-factory-whitespace@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-factory-whitespace@npm:1.1.0"
dependencies:
micromark-factory-space: ^1.0.0
micromark-util-character: ^1.0.0
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.0
checksum: ef0fa682c7d593d85a514ee329809dee27d10bc2a2b65217d8ef81173e33b8e83c549049764b1ad851adfe0a204dec5450d9d20a4ca8598f6c94533a73f73fcd
languageName: node
linkType: hard
"micromark-util-character@npm:^1.0.0":
version: 1.2.0
resolution: "micromark-util-character@npm:1.2.0"
dependencies:
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.0
checksum: 089e79162a19b4a28731736246579ab7e9482ac93cd681c2bfca9983dcff659212ef158a66a5957e9d4b1dba957d1b87b565d85418a5b009f0294f1f07f2aaac
languageName: node
linkType: hard
"micromark-util-chunked@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-chunked@npm:1.1.0"
dependencies:
micromark-util-symbol: ^1.0.0
checksum: c435bde9110cb595e3c61b7f54c2dc28ee03e6a57fa0fc1e67e498ad8bac61ee5a7457a2b6a73022ddc585676ede4b912d28dcf57eb3bd6951e54015e14dc20b
languageName: node
linkType: hard
"micromark-util-classify-character@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-classify-character@npm:1.1.0"
dependencies:
micromark-util-character: ^1.0.0
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.0
checksum: 8499cb0bb1f7fb946f5896285fcca65cd742f66cd3e79ba7744792bd413ec46834f932a286de650349914d02e822946df3b55d03e6a8e1d245d1ddbd5102e5b0
languageName: node
linkType: hard
"micromark-util-combine-extensions@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-combine-extensions@npm:1.1.0"
dependencies:
micromark-util-chunked: ^1.0.0
micromark-util-types: ^1.0.0
checksum: ee78464f5d4b61ccb437850cd2d7da4d690b260bca4ca7a79c4bb70291b84f83988159e373b167181b6716cb197e309bc6e6c96a68cc3ba9d50c13652774aba9
languageName: node
linkType: hard
"micromark-util-decode-numeric-character-reference@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-decode-numeric-character-reference@npm:1.1.0"
dependencies:
micromark-util-symbol: ^1.0.0
checksum: 4733fe75146e37611243f055fc6847137b66f0cde74d080e33bd26d0408c1d6f44cabc984063eee5968b133cb46855e729d555b9ff8d744652262b7b51feec73
languageName: node
linkType: hard
"micromark-util-decode-string@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-decode-string@npm:1.1.0"
dependencies:
decode-named-character-reference: ^1.0.0
micromark-util-character: ^1.0.0
micromark-util-decode-numeric-character-reference: ^1.0.0
micromark-util-symbol: ^1.0.0
checksum: f1625155db452f15aa472918499689ba086b9c49d1322a08b22bfbcabe918c61b230a3002c8bc3ea9b1f52ca7a9bb1c3dd43ccb548c7f5f8b16c24a1ae77a813
languageName: node
linkType: hard
"micromark-util-encode@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-encode@npm:1.1.0"
checksum: 4ef29d02b12336918cea6782fa87c8c578c67463925221d4e42183a706bde07f4b8b5f9a5e1c7ce8c73bb5a98b261acd3238fecd152e6dd1cdfa2d1ae11b60a0
languageName: node
linkType: hard
"micromark-util-html-tag-name@npm:^1.0.0":
version: 1.2.0
resolution: "micromark-util-html-tag-name@npm:1.2.0"
checksum: ccf0fa99b5c58676dc5192c74665a3bfd1b536fafaf94723bd7f31f96979d589992df6fcf2862eba290ef18e6a8efb30ec8e1e910d9f3fc74f208871e9f84750
languageName: node
linkType: hard
"micromark-util-normalize-identifier@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-normalize-identifier@npm:1.1.0"
dependencies:
micromark-util-symbol: ^1.0.0
checksum: 8655bea41ffa4333e03fc22462cb42d631bbef9c3c07b625fd852b7eb442a110f9d2e5902a42e65188d85498279569502bf92f3434a1180fc06f7c37edfbaee2
languageName: node
linkType: hard
"micromark-util-resolve-all@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-resolve-all@npm:1.1.0"
dependencies:
micromark-util-types: ^1.0.0
checksum: 1ce6c0237cd3ca061e76fae6602cf95014e764a91be1b9f10d36cb0f21ca88f9a07de8d49ab8101efd0b140a4fbfda6a1efb72027ab3f4d5b54c9543271dc52c
languageName: node
linkType: hard
"micromark-util-sanitize-uri@npm:^1.0.0":
version: 1.2.0
resolution: "micromark-util-sanitize-uri@npm:1.2.0"
dependencies:
micromark-util-character: ^1.0.0
micromark-util-encode: ^1.0.0
micromark-util-symbol: ^1.0.0
checksum: 6663f365c4fe3961d622a580f4a61e34867450697f6806f027f21cf63c92989494895fcebe2345d52e249fe58a35be56e223a9776d084c9287818b40c779acc1
languageName: node
linkType: hard
"micromark-util-subtokenize@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-subtokenize@npm:1.1.0"
dependencies:
micromark-util-chunked: ^1.0.0
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.0
uvu: ^0.5.0
checksum: 4a9d780c4d62910e196ea4fd886dc4079d8e424e5d625c0820016da0ed399a281daff39c50f9288045cc4bcd90ab47647e5396aba500f0853105d70dc8b1fc45
languageName: node
linkType: hard
"micromark-util-symbol@npm:^1.0.0":
version: 1.1.0
resolution: "micromark-util-symbol@npm:1.1.0"
checksum: 02414a753b79f67ff3276b517eeac87913aea6c028f3e668a19ea0fc09d98aea9f93d6222a76ca783d20299af9e4b8e7c797fe516b766185dcc6e93290f11f88
languageName: node
linkType: hard
"micromark-util-types@npm:^1.0.0, micromark-util-types@npm:^1.0.1":
version: 1.1.0
resolution: "micromark-util-types@npm:1.1.0"
checksum: b0ef2b4b9589f15aec2666690477a6a185536927ceb7aa55a0f46475852e012d75a1ab945187e5c7841969a842892164b15d58ff8316b8e0d6cc920cabd5ede7
languageName: node
linkType: hard
"micromark@npm:^3.0.0":
version: 3.2.0
resolution: "micromark@npm:3.2.0"
dependencies:
"@types/debug": ^4.0.0
debug: ^4.0.0
decode-named-character-reference: ^1.0.0
micromark-core-commonmark: ^1.0.1
micromark-factory-space: ^1.0.0
micromark-util-character: ^1.0.0
micromark-util-chunked: ^1.0.0
micromark-util-combine-extensions: ^1.0.0
micromark-util-decode-numeric-character-reference: ^1.0.0
micromark-util-encode: ^1.0.0
micromark-util-normalize-identifier: ^1.0.0
micromark-util-resolve-all: ^1.0.0
micromark-util-sanitize-uri: ^1.0.0
micromark-util-subtokenize: ^1.0.0
micromark-util-symbol: ^1.0.0
micromark-util-types: ^1.0.1
uvu: ^0.5.0
checksum: 56c15851ad3eb8301aede65603473443e50c92a54849cac1dadd57e4ec33ab03a0a77f3df03de47133e6e8f695dae83b759b514586193269e98c0bf319ecd5e4
languageName: node
linkType: hard
"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4":
version: 4.0.5
resolution: "micromatch@npm:4.0.5"
@ -10588,13 +10246,6 @@ __metadata:
languageName: node
linkType: hard
"mri@npm:^1.1.0":
version: 1.2.0
resolution: "mri@npm:1.2.0"
checksum: 83f515abbcff60150873e424894a2f65d68037e5a7fcde8a9e2b285ee9c13ac581b63cfc1e6826c4732de3aeb84902f7c1e16b7aff46cd3f897a0f757a894e85
languageName: node
linkType: hard
"ms@npm:2.0.0":
version: 2.0.0
resolution: "ms@npm:2.0.0"
@ -11519,19 +11170,6 @@ __metadata:
languageName: node
linkType: hard
"prettier-plugin-jsdoc@npm:^1.0.1":
version: 1.0.1
resolution: "prettier-plugin-jsdoc@npm:1.0.1"
dependencies:
binary-searching: ^2.0.5
comment-parser: ^1.3.1
mdast-util-from-markdown: ^1.2.0
peerDependencies:
prettier: ^3.0.0
checksum: ecbbdfe8096945a6d992f3c4e6b79e27e03c8c23236986f625a914e701d26c60889f4cb4e361ff67b1e6163a5a16feb2ef4626be956effea52da79c1768e42ec
languageName: node
linkType: hard
"prettier@npm:^3.0.1":
version: 3.0.1
resolution: "prettier@npm:3.0.1"
@ -12546,15 +12184,6 @@ __metadata:
languageName: node
linkType: hard
"sade@npm:^1.7.3":
version: 1.8.1
resolution: "sade@npm:1.8.1"
dependencies:
mri: ^1.1.0
checksum: 0756e5b04c51ccdc8221ebffd1548d0ce5a783a44a0fa9017a026659b97d632913e78f7dca59f2496aa996a0be0b0c322afd87ca72ccd909406f49dbffa0f45d
languageName: node
linkType: hard
"safe-array-concat@npm:^1.0.0":
version: 1.0.0
resolution: "safe-array-concat@npm:1.0.0"
@ -13974,15 +13603,6 @@ __metadata:
languageName: node
linkType: hard
"unist-util-stringify-position@npm:^3.0.0":
version: 3.0.3
resolution: "unist-util-stringify-position@npm:3.0.3"
dependencies:
"@types/unist": ^2.0.0
checksum: dbd66c15183607ca942a2b1b7a9f6a5996f91c0d30cf8966fb88955a02349d9eefd3974e9010ee67e71175d784c5a9fea915b0aa0b0df99dcb921b95c4c9e124
languageName: node
linkType: hard
"universalify@npm:^0.1.0":
version: 0.1.2
resolution: "universalify@npm:0.1.2"
@ -14158,20 +13778,6 @@ __metadata:
languageName: node
linkType: hard
"uvu@npm:^0.5.0":
version: 0.5.6
resolution: "uvu@npm:0.5.6"
dependencies:
dequal: ^2.0.0
diff: ^5.0.0
kleur: ^4.0.3
sade: ^1.7.3
bin:
uvu: bin.js
checksum: 09460a37975627de9fcad396e5078fb844d01aaf64a6399ebfcfd9e55f1c2037539b47611e8631f89be07656962af0cf48c334993db82b9ae9c3d25ce3862168
languageName: node
linkType: hard
"valid-url@npm:~1.0.9":
version: 1.0.9
resolution: "valid-url@npm:1.0.9"