From 770c340a942390616608d7863ecc284d2d352326 Mon Sep 17 00:00:00 2001 From: Conz Date: Tue, 18 Jun 2024 18:50:24 -0500 Subject: [PATCH] quick wiki --- .gitignore | 4 + docs/.vitepress/config.mts | 65 + docs/api-examples.md | 49 + docs/api-types.md | 45 - docs/api/world.md | 187 -- docs/index.md | 81 + docs/markdown-examples.md | 85 + docs/tutorials/quick-start/getting-started.md | 19 - docs/tutorials/quick-start/rbxm.png | Bin 34402 -> 0 bytes package-lock.json | 1674 ++++++++++++++++- package.json | 90 +- 11 files changed, 2004 insertions(+), 295 deletions(-) create mode 100644 docs/.vitepress/config.mts create mode 100644 docs/api-examples.md delete mode 100644 docs/api-types.md delete mode 100644 docs/api/world.md create mode 100644 docs/index.md create mode 100644 docs/markdown-examples.md delete mode 100644 docs/tutorials/quick-start/getting-started.md delete mode 100644 docs/tutorials/quick-start/rbxm.png diff --git a/.gitignore b/.gitignore index f3d15ef..b1edfef 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,7 @@ WallyPatches roblox.toml sourcemap.json drafts/*.lua + +# Vitepress +docs/.vitepress/dist +docs/.vitepress/cache \ No newline at end of file diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts new file mode 100644 index 0000000..0acca05 --- /dev/null +++ b/docs/.vitepress/config.mts @@ -0,0 +1,65 @@ +import { defineConfig } from 'vitepress' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + title: "JECS", + description: "Just another ECS", + themeConfig: { + // https://vitepress.dev/reference/default-theme-config + logo: '/logo_old.png', + + search: { provider: 'local' }, + + nav: [ + { text: 'Home', link: '/' }, + { text: 'Learn', link: '/learn' }, + { text: 'Reference', link: '/reference' } + ], + + sidebar: { + '/learn/': [ + { + text: 'Learn', + items: [ + {text: 'Getting Started', link: '/learn'}, + {text: 'Why ECS?', link: '/learn/coming-soon.md'}, + { + text: 'Guides', link: '/learn/guides.md', items: [ + { text: 'Entities, Components, Systems', link: '/learn/learn-ecs' }, + { text: 'Systems Continued', link: '/learn/your-first-system'}, + { text: 'Scheduling Systems', link: '/learn/scheduling-systems' }, + { text: 'Querying Components', link: '/learn/coming-soon' }, + { text: 'Querying Pairs', link: '/learn/coming-soon' }, + ] + }, + // { + // text: 'Advanced Guides', link: '/learn/coming-soon', items: [ + // {text: 'Scheduling Systems', link: '/learn/coming-soon'}, + // {text: 'Using a Context Entity', link: '/learn/coming-soon'}, + // {text: 'Listening to Changes', link: '/learn/coming-soon'}, + // {text: 'Collecting Events', link: '/learn/coming-soon'}, + // ] + // }, + {text: 'Best Practices', link: '/learn/coming-soon'}, + {text: 'Contributions', link: '/learn/coming-soon'}, + ] + } + ], + '/reference/': [ + { + text: 'Reference', + items: [ + { text: 'JECS', link: '/reference', items: [ + { text: 'World', link: '/reference' }, + { text: 'QueryIter', link: '/reference/query' }, + ] }, + ] + } + ], + }, + + socialLinks: [ + { icon: 'github', link: 'https://github.com/Ukendio/jecs' } + ] + } +}) \ No newline at end of file diff --git a/docs/api-examples.md b/docs/api-examples.md new file mode 100644 index 0000000..6bd8bb5 --- /dev/null +++ b/docs/api-examples.md @@ -0,0 +1,49 @@ +--- +outline: deep +--- + +# Runtime API Examples + +This page demonstrates usage of some of the runtime APIs provided by VitePress. + +The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: + +```md + + +## Results + +### Theme Data +
{{ theme }}
+ +### Page Data +
{{ page }}
+ +### Page Frontmatter +
{{ frontmatter }}
+``` + + + +## Results + +### Theme Data +
{{ theme }}
+ +### Page Data +
{{ page }}
+ +### Page Frontmatter +
{{ frontmatter }}
+ +## More + +Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/docs/api-types.md b/docs/api-types.md deleted file mode 100644 index cce3856..0000000 --- a/docs/api-types.md +++ /dev/null @@ -1,45 +0,0 @@ -# World - -A World contains all ECS data -Games can have multiple worlds, although typically only one is necessary. These worlds are isolated from each other, meaning they donot share the same entities nor component IDs. - ---- - -# Entity - -An unique id. - -Entities consist out of a number unique to the entity in the lower 32 bits, and a counter used to track entity liveliness in the upper 32 bits. When an id is recycled, its generation count is increased. This causes recycled ids to be very large (>4 billion), which is normal. - ---- - -# QueryIter - -A result from the `World:query` function. - -Queries are used to iterate over entities that match against the set collection of components. - -Calling it in a loop will allow iteration over the results. - -```lua -for id, enemy, charge, model in world:query(Enemy, Charge, Model) do - -- Do something -end -``` - -### QueryIter.without - -QueryIter.without(iter: QueryIter - ...: [Entity](#Entity)): QueryIter - - -Create a new Query Iterator from the filter - -#### Parameters - world The world. - ... The collection of components to filter archetypes against. - -#### Returns - -The new query iterator. - diff --git a/docs/api/world.md b/docs/api/world.md deleted file mode 100644 index 0a019c3..0000000 --- a/docs/api/world.md +++ /dev/null @@ -1,187 +0,0 @@ -# World - -### World.new - -World.new(): [World](../api-types.md#World) - -Create a new world. - -#### Returns -A new world - ---- - -### World.entity - -World.entity(world: [World](../api-types.md#World)): [Entity](../api-types.md#Entity) - -Creates an entity in the world. - -#### Returns -A new entiity id - ---- - -### World.target - -World.target(world: [World](../api-types.md#World), - entity: [Entity](../api-types.md#Entity), - rel: [Entity](../api-types.md#Entity)): [Entity](../api-types.md#Entity) - -Get the target of a relationship. - -This will return a target (second element of a pair) of the entity for the specified relationship. - -#### Parameters - world The world. - entity The entity. - rel The relationship between the entity and the target. - -#### Returns - -The first target for the relationship - ---- - -### World.add - -World.add(world: [World](../api-types.md#World), - entity: [Entity](../api-types.md#Entity), - id: [Entity](../api-types.md#Entity)): [Entity](..#api-types.md#Entity) - -Add a (component) id to an entity. - -This operation adds a single (component) id to an entity. -If the entity already has the id, this operation will have no side effects. - -#### Parameters - world The world. - entity The entity. - id The id to add. - ---- - -### World.remove - -World.remove(world: [World](../api-types#World), - entity: [Entity](../api-types#Entity), - id: [Entity](../api-types#Entity)): [Entity](../api-types#Entity) - -Remove a (component) id to an entity. - -This operation removes a single (component) id to an entity. -If the entity already has the id, this operation will have no side effects. - -#### Parameters - world The world. - entity The entity. - id The id to add. - ---- - -### World.get - -World.get(world: [World](../api-types.md#World), - entity: [Entity](../api-types.md#Entity), - id: [Entity](../api-types.md#Entity)): any - -Gets the component data. - -#### Parameters - world The world. - entity The entity. - id The id of component to get. - -#### Returns -The component data, nil if the entity does not have the componnet. - ---- - -### World.set - -World.set(world: [World](../api-types.md#World), - entity: [Entity](../api-types.md#Entity), - id: [Entity](../api-types.md#Entity) - data: any) - -Set the value of a component. - -#### Parameters - world The world. - entity The entity. - id The id of the componment set. - data The data to the component. - ---- - -### World.query - -World.query(world: [World](../api-types.md#World), - ...: [Entity](../api-types.mdEntity)): [QueryIter](../api-types.md#QueryIter) - -Create a QueryIter from the list of filters. - -#### Parameters - world The world. - ... The collection of components to match entities against. - -#### Returns - -The query iterator. - ---- - -# Pair - -### pair - -pair(first: [Entity](../api-types#Entity), second: [Entity](../api-types#Entity)): [Entity](../api-types#Entity) - -Creates a composite key. - -#### Parameters - first The first element. - second The second element. - -#### Returns - -The pair of the two elements - ---- - -### IS_PAIR - -jecs.IS_PAIR(id: [Entity](../api-types#Entity)): boolean - -Creates a composite key. - -#### Parameters - id The id to check. - -#### Returns - -If id is a pair. - ---- - -# Constants - -### OnAdd - ---- - -### OnRemove - ---- - -### Rest - ---- - -### OnSet - ---- - -### Wildcard - -Matches any id, returns all matches. diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..f94bc19 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,81 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "JECS" + text: "Just an ECS" + tagline: JECS is a stupidly fast Entity Component System (ECS) + image: "github" + actions: + - theme: brand + text: Learn JECS + link: /learn + - theme: alt + text: API Usage + link: /reference + +features: + - title: Relational + icon: "🧑‍🤝‍🧑" + details: Entity Relationships as first class citizens + - title: Powerful + icon: "🔨" + details: Iterate 350,000 entities at 60 frames per second + - title: Type Safe + icon: "👷" + details: Type-safe Luau API (and soon Typescript 😊) + - title: Independent + icon: "⛔" + details: Zero-dependency package + - title: Fast + icon: "⚡" + details: Optimized for column-major operations + - title: Memory Safe + icon: "💾" + details: Cache friendly archetype/SoA storage + - title: Stable + icon: "🛡️" + details: Unit tested for stability +--- +--- + +# Code Example +```lua +local world = jecs.World.new() +local pair = jecs.pair + +local ChildOf = world:component() +local Name = world:component() + +local function parent(entity) + return world:target(entity, ChildOf) +end +local function getName(entity) + return world:get(entity, Name) +end + +local alice = world:entity() +world:set(alice, Name, "alice") + +local bob = world:entity() +world:add(bob, pair(ChildOf, alice)) +world:set(bob, Name, "bob") + +local sara = world:entity() +world:add(sara, pair(ChildOf, alice)) +world:set(sara, Name, "sara") + +print(getName(parent(sara))) + +for e in world:query(pair(ChildOf, alice)) do + print(getName(e), "is the child of alice") +end + +-- Output +-- "alice" +-- bob is the child of alice +-- sara is the child of alice +``` + +--- diff --git a/docs/markdown-examples.md b/docs/markdown-examples.md new file mode 100644 index 0000000..f9258a5 --- /dev/null +++ b/docs/markdown-examples.md @@ -0,0 +1,85 @@ +# Markdown Extension Examples + +This page demonstrates some of the built-in markdown extensions provided by VitePress. + +## Syntax Highlighting + +VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: + +**Input** + +````md +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` +```` + +**Output** + +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` + +## Custom Containers + +**Input** + +```md +::: info +This is an info box. +::: + +::: tip +This is a tip. +::: + +::: warning +This is a warning. +::: + +::: danger +This is a dangerous warning. +::: + +::: details +This is a details block. +::: +``` + +**Output** + +::: info +This is an info box. +::: + +::: tip +This is a tip. +::: + +::: warning +This is a warning. +::: + +::: danger +This is a dangerous warning. +::: + +::: details +This is a details block. +::: + +## More + +Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown). diff --git a/docs/tutorials/quick-start/getting-started.md b/docs/tutorials/quick-start/getting-started.md deleted file mode 100644 index bd702d2..0000000 --- a/docs/tutorials/quick-start/getting-started.md +++ /dev/null @@ -1,19 +0,0 @@ -# Getting Started -This section will provide a walk through setting up your development environment and a quick overview of the different features and concepts in Jecs with short examples. - -## Installing Jecs - -To use Jecs, you will need to add the library to your project's source folder. - -## Installing as standalone -Head over to the [Releases](https://github.com/ukendio/jecs/releases/latest) page and install the rbxm file. -![jecs.rbxm](rbxm.png) - -## Installing with Wally -Jecs is available as a package on [wally.run](https://wally.run/package/ukendio/jecs) - -Add it to your project's Wally.toml like this: -```toml -[dependencies] -jecs = "0.1.0" # Make sure this is the latest version -``` \ No newline at end of file diff --git a/docs/tutorials/quick-start/rbxm.png b/docs/tutorials/quick-start/rbxm.png deleted file mode 100644 index ad8f38d5b842c87789249317e03a70c24f45ab48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34402 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

J;wRKgqu9eJayK1e z&$AVytU`@SAnaioMNr@;{ouuamPluxB~H|%&-?gOOH5F|#~1C+>D+ViJ>nTRXxkbt zIyHasbYvF$#9}I6QXIVsJfkJ%YoVW{aw7kU(F~YIAbQdbIDZ_A#%uC;Pd>q@*h?$q zM~olW;yp`L6RFy6fTwpI68_=r%=2#(al7Q%p6<)mru)FCgu7=WC3mc|V>rV%nN(9m z-Stm5P6($YvOortT#dB~Rj7F#?vPTF)U4TBBID`%-BXA}xc_h^lKe#e#!dUzMd;nfpLyjmu*jPWfq_Sb(~V;vA5AbQYCi8?PmI2zrUE%e61hY zN1TH7X{3hey*k}XOS?yEB09Iq%=t>#ob;V+5WStfns$`7D7BR`&LmjKdX()`JC%e} z)3WgfkqR>S*99TsL00vpqBy1{_bdD>H*+?(4f72Zew5j-Lp=KVe?R!R7L6oa|9xj& z|CQ6}hSJ1+dm!785Y=}5$jH_Yuk{AjAvGSXl8_ZJg)J)5u4-?c6UA>LU!q=m;}@$G z(7WoSbk1*z2(Y$q=DMJ>Hz`u~QMx(?o@-V7KPv{Zbmw8m?`n8`AfRe}Do;f3pC9WN zSDCiTNjbaK@1tWWK7vMlkt6!$A`DC85q0S@QUn+^c+#iBm6@&qe; zZ-q4nlgt7;v?clAD5)v^=?hp7{lNOPchSU6K%24-Qln&fr>h?>3hHk5!L%82-HHf@ zbagbBW`y-B9tlQq4pL7b)c@fS()lLp+~%KT!ewnZtKA;5pN12$gl|9Ng8G4RA=5z)H9uFX zCpxQSL}PL<>^F~HGm%rM7#!34p@H8gslH!oI>OqaFA-;AQS8?J>!OpR5GeZhG$A;@ zB3AF*p$QUTYmrDAlyG#+X%y1!4{6ph+1a08w0CZPs3-!aewW%RzhC@9ToSE2-r8GP zCH;?w=LtJ-Dp3maeK}D&WsmkL;Q{)we(!qxI?~M43r1~B6uARB9=OZRo zcVz=aiRQNME2YDSjXQuR1JV7-R+rdTL+N<(?lIF=lAcJ(WpCx#oP3>I+n(|slpLK+ zOgx@xs6VnUWqeNWOyQ-|_R>wr`k!uQ z@Ac^HEepgVS~NQ|oo=G*fMK(7RYi~7Oee6NwM|Hf9Z1<$^brq9e0UDK~^OyxR|)B>e7Fy2MHR z#xp<*!f`AVIh)qmvj-GLvcdfx zfKusWY$=f`)b6B^RU5vJ_RCHE$Av{0B_7uUdChy}RF2OO$O5^(55kxmM*cxPkNyS; zY^lV2y3FwGC!qDW!x%KId|{aw&p|(!|8}6i+TWM>M_-xz?Y!PH5xez`{~wL}x8vA< zb^W5vNrJ^0zer$~-hVZ#!@CM24@~M%_zls8{0}g!yOfS749u?GWco?vV##yL!l{Vk zADpJp4WDmepaK&3HHZWEGkwApHAE;J>QX5~9{3r;G7kR|8Ee8L~|w4;n(n9e!RX1lJ`4QzdWfq1$eXwlqP@A zcK{DO0rQtB9!K9T#TMU8A=?q^1Atk+LpSf!FL#!(rm*hl96z+kM7RCs)ic1qXVOYi J`A-br{vYTowmAR* diff --git a/package-lock.json b/package-lock.json index 964ddec..4eae0a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,629 @@ "eslint-plugin-roblox-ts": "^0.0.32", "prettier": "^2.5.1", "roblox-ts": "^2.3.0", - "typescript": "^5.4.2" + "typescript": "^5.4.2", + "vitepress": "^1.2.3" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "dev": true, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz", + "integrity": "sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.23.3" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz", + "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==", + "dev": true + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz", + "integrity": "sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.23.3" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz", + "integrity": "sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz", + "integrity": "sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz", + "integrity": "sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz", + "integrity": "sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz", + "integrity": "sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz", + "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==", + "dev": true + }, + "node_modules/@algolia/logger-console": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz", + "integrity": "sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==", + "dev": true, + "dependencies": { + "@algolia/logger-common": "4.23.3" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz", + "integrity": "sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz", + "integrity": "sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz", + "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==", + "dev": true + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz", + "integrity": "sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz", + "integrity": "sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.0.tgz", + "integrity": "sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.6.0", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", + "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.6.0", + "algoliasearch": "^4.19.1" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, "node_modules/@eslint-community/eslint-utils": { @@ -113,6 +735,12 @@ "deprecated": "Use @eslint/object-schema instead", "dev": true }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -230,12 +858,263 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.7.0.tgz", + "integrity": "sha512-O6j27b7dGmJbR3mjwh/aHH8Ld+GQvA0OQsNO43wKWnqbAae3AYXrhFyScHGX8hXZD6vX2ngjzDFkZY5srtIJbQ==", + "dev": true + }, + "node_modules/@shikijs/transformers": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.7.0.tgz", + "integrity": "sha512-QX3TP+CS4yYLt4X4Dk7wT0MsC7yweTYHMAAKY+ay+uuR9yRdFae/h+hivny2O+YixJHfZl57xtiZfWSrHdyVhQ==", + "dev": true, + "dependencies": { + "shiki": "1.7.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==", + "dev": true, + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "dev": true + }, "node_modules/@types/node": { "version": "16.18.98", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.98.tgz", @@ -248,6 +1127,12 @@ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "dev": true + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", @@ -461,6 +1346,322 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, + "node_modules/@vue/compiler-core": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.29.tgz", + "integrity": "sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/shared": "3.4.29", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.29.tgz", + "integrity": "sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.4.29", + "@vue/shared": "3.4.29" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.29.tgz", + "integrity": "sha512-zygDcEtn8ZimDlrEQyLUovoWgKQic6aEQqRXce2WXBvSeHbEbcAsXyCk9oG33ZkyWH4sl9D3tkYc1idoOkdqZQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/compiler-core": "3.4.29", + "@vue/compiler-dom": "3.4.29", + "@vue/compiler-ssr": "3.4.29", + "@vue/shared": "3.4.29", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.10", + "postcss": "^8.4.38", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.29.tgz", + "integrity": "sha512-rFbwCmxJ16tDp3N8XCx5xSQzjhidYjXllvEcqX/lopkoznlNPz3jyy0WGJCyhAaVQK677WWFt3YO/WUEkMMUFQ==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.29", + "@vue/shared": "3.4.29" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.3.1.tgz", + "integrity": "sha512-yg2OQcnuez906E6/gDROLbUwI554PH5SWJMkomvOfGcPYjNpkK8LEy1pM1wxBtSVSlQbZKqiNgGQFp3Zw+0Jog==", + "dev": true, + "dependencies": { + "@vue/devtools-kit": "^7.3.1" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.3.1.tgz", + "integrity": "sha512-O9LXPo0kC/PGFBRBMvT5PHiSXr6ZdJTshVuGQ1L2mnIZlIBdTjdtCRYQg/OMcEA5JDJPeJT8bnDYBBUbssGjoA==", + "dev": true, + "dependencies": { + "@vue/devtools-shared": "^7.3.1", + "birpc": "^0.2.17", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.1" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.3.1.tgz", + "integrity": "sha512-TYbJLZwBy5+SliE095T+V0IMwRu+oP7I2KAsDuNtSsjHKITZvrhz2fNEvik9NsTLcEQBBoX81NvdgpoB29JAog==", + "dev": true, + "dependencies": { + "rfdc": "^1.3.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.29.tgz", + "integrity": "sha512-w8+KV+mb1a8ornnGQitnMdLfE0kXmteaxLdccm2XwdFxXst4q/Z7SEboCV5SqJNpZbKFeaRBBJBhW24aJyGINg==", + "dev": true, + "dependencies": { + "@vue/shared": "3.4.29" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.29.tgz", + "integrity": "sha512-s8fmX3YVR/Rk5ig0ic0NuzTNjK2M7iLuVSZyMmCzN/+Mjuqqif1JasCtEtmtoJWF32pAtUjyuT2ljNKNLeOmnQ==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.4.29", + "@vue/shared": "3.4.29" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.29.tgz", + "integrity": "sha512-gI10atCrtOLf/2MPPMM+dpz3NGulo9ZZR9d1dWo4fYvm+xkfvRrw1ZmJ7mkWtiJVXSsdmPbcK1p5dZzOCKDN0g==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.4.29", + "@vue/runtime-core": "3.4.29", + "@vue/shared": "3.4.29", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.29.tgz", + "integrity": "sha512-HMLCmPI2j/k8PVkSBysrA2RxcxC5DgBiCdj7n7H2QtR8bQQPqKAe8qoaxLcInzouBmzwJ+J0x20ygN/B5mYBng==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.4.29", + "@vue/shared": "3.4.29" + }, + "peerDependencies": { + "vue": "3.4.29" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz", + "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.0.tgz", + "integrity": "sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.0", + "@vueuse/shared": "10.11.0", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz", + "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.11.0.tgz", + "integrity": "sha512-Pp6MtWEIr+NDOccWd8j59Kpjy5YDXogXI61Kb1JxvSfVBO8NzFQkmrKmSZz47i+ZqHnIzxaT38L358yDHTncZg==", + "dev": true, + "dependencies": { + "@vueuse/core": "10.11.0", + "@vueuse/shared": "10.11.0", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "^4", + "axios": "^1", + "change-case": "^4", + "drauu": "^0.3", + "focus-trap": "^7", + "fuse.js": "^6", + "idb-keyval": "^6", + "jwt-decode": "^3", + "nprogress": "^0.2", + "qrcode": "^1.5", + "sortablejs": "^1", + "universal-cookie": "^6" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations/node_modules/vue-demi": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz", + "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.0.tgz", + "integrity": "sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.0.tgz", + "integrity": "sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz", + "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/acorn": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", @@ -498,6 +1699,29 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/algoliasearch": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", + "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-account": "4.23.3", + "@algolia/client-analytics": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-personalization": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/recommend": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -568,6 +1792,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/birpc": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.17.tgz", + "integrity": "sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -689,6 +1922,21 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "dev": true, + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -703,6 +1951,12 @@ "node": ">= 8" } }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, "node_modules/debug": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", @@ -756,6 +2010,56 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, "node_modules/escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", @@ -1010,6 +2314,12 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -1140,6 +2450,15 @@ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, + "node_modules/focus-trap": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", + "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", + "dev": true, + "dependencies": { + "tabbable": "^6.2.0" + } + }, "node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", @@ -1293,6 +2612,12 @@ "node": ">= 0.4" } }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true + }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -1416,6 +2741,18 @@ "node": ">=8" } }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1516,6 +2853,21 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -1550,12 +2902,42 @@ "node": "*" } }, + "node_modules/minisearch": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz", + "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==", + "dev": true + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -1687,6 +3069,18 @@ "node": ">=8" } }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -1699,6 +3093,44 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.22.0", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.22.0.tgz", + "integrity": "sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -1830,6 +3262,12 @@ "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -1879,6 +3317,41 @@ "node": ">=14.17" } }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -1902,6 +3375,13 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/search-insights": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz", + "integrity": "sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==", + "dev": true, + "peer": true + }, "node_modules/semver": { "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", @@ -1935,6 +3415,15 @@ "node": ">=8" } }, + "node_modules/shiki": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.7.0.tgz", + "integrity": "sha512-H5pMn4JA7ayx8H0qOz1k2qANq6mZVCMl1gKLK6kWIrv1s2Ial4EmD4s4jE8QB5Dw03d/oCQUxc24sotuyR5byA==", + "dev": true, + "dependencies": { + "@shikijs/core": "1.7.0" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -1944,6 +3433,24 @@ "node": ">=8" } }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -1982,6 +3489,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/superjson": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.1.tgz", + "integrity": "sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==", + "dev": true, + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2006,6 +3525,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "dev": true + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -2082,6 +3607,14 @@ "node": ">=14.17" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -2100,6 +3633,145 @@ "punycode": "^2.1.0" } }, + "node_modules/vitepress": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.2.3.tgz", + "integrity": "sha512-GvEsrEeNLiDE1+fuwDAYJCYLNZDAna+EtnXlPajhv/MYeTjbNK6Bvyg6NoTdO1sbwuQJ0vuJR99bOlH53bo6lg==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.6.0", + "@docsearch/js": "^3.6.0", + "@shikijs/core": "^1.6.2", + "@shikijs/transformers": "^1.6.2", + "@types/markdown-it": "^14.1.1", + "@vitejs/plugin-vue": "^5.0.5", + "@vue/devtools-api": "^7.2.1", + "@vue/shared": "^3.4.27", + "@vueuse/core": "^10.10.0", + "@vueuse/integrations": "^10.10.0", + "focus-trap": "^7.5.4", + "mark.js": "8.11.1", + "minisearch": "^6.3.0", + "shiki": "^1.6.2", + "vite": "^5.2.12", + "vue": "^3.4.27" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vitepress/node_modules/@types/node": { + "version": "20.14.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.5.tgz", + "integrity": "sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/vitepress/node_modules/@vitejs/plugin-vue": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz", + "integrity": "sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/vitepress/node_modules/vite": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz", + "integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.29.tgz", + "integrity": "sha512-8QUYfRcYzNlYuzKPfge1UWC6nF9ym0lx7mpGVPJYNhddxEf3DD0+kU07NTL0sXuiT2HuJuKr/iEO8WvXvT0RSQ==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.29", + "@vue/compiler-sfc": "3.4.29", + "@vue/runtime-dom": "3.4.29", + "@vue/server-renderer": "3.4.29", + "@vue/shared": "3.4.29" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index ce2b802..495870a 100644 --- a/package.json +++ b/package.json @@ -1,43 +1,47 @@ -{ - "name": "@rbxts/jecs", - "version": "0.1.0", - "description": "Stupidly fast Entity Component System", - "main": "lib/init.lua", - "repository": { - "type": "git", - "url": "https://github.com/ukendio/jecs.git" - }, - "scripts": { - "build": "rbxtsc", - "watch": "rbxtsc -w", - "prepublishOnly": "npm run build" - }, - "keywords": [], - "author": "Ukendio", - "contributors": [ - "Ukendio", - "EncodedVenom" - ], - "homepage": "https://github.com/ukendio/jecs", - "license": "MIT", - "types": "lib/index.d.ts", - "files": [ - "lib/" - ], - "publishConfig": { - "access": "public" - }, - "devDependencies": { - "@rbxts/compiler-types": "^2.3.0-types.1", - "@rbxts/types": "^1.0.781", - "@typescript-eslint/eslint-plugin": "^5.8.0", - "@typescript-eslint/parser": "^5.8.0", - "eslint": "^8.5.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-prettier": "^4.0.0", - "eslint-plugin-roblox-ts": "^0.0.32", - "prettier": "^2.5.1", - "roblox-ts": "^2.3.0", - "typescript": "^5.4.2" - } -} +{ + "name": "@rbxts/jecs", + "version": "0.1.0", + "description": "Stupidly fast Entity Component System", + "main": "lib/init.lua", + "repository": { + "type": "git", + "url": "https://github.com/ukendio/jecs.git" + }, + "scripts": { + "build": "rbxtsc", + "watch": "rbxtsc -w", + "prepublishOnly": "npm run build", + "docs:dev": "vitepress dev docs", + "docs:build": "vitepress build docs", + "docs:preview": "vitepress preview docs" + }, + "keywords": [], + "author": "Ukendio", + "contributors": [ + "Ukendio", + "EncodedVenom" + ], + "homepage": "https://github.com/ukendio/jecs", + "license": "MIT", + "types": "lib/index.d.ts", + "files": [ + "lib/" + ], + "publishConfig": { + "access": "public" + }, + "devDependencies": { + "@rbxts/compiler-types": "^2.3.0-types.1", + "@rbxts/types": "^1.0.781", + "@typescript-eslint/eslint-plugin": "^5.8.0", + "@typescript-eslint/parser": "^5.8.0", + "eslint": "^8.5.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-roblox-ts": "^0.0.32", + "prettier": "^2.5.1", + "roblox-ts": "^2.3.0", + "typescript": "^5.4.2", + "vitepress": "^1.2.3" + } +} \ No newline at end of file