add mdx integration as well as some code cleanup and better logs!

This commit is contained in:
Adam Matthiesen 2024-02-29 16:38:27 -08:00
parent 531d704de0
commit 8a99f5a825
6 changed files with 544 additions and 56 deletions

View File

@ -0,0 +1,14 @@
---
"@matthiesenxyz/astro-gists": minor
---
NEW:
- Added `@astrojs/mdx` to built in options as the MDX integration has specicial placement requirements. (This was the easy option)
- Enabled by Default
- Can be disabled by passing `MDXIntegration: false` within the main `astroGist()` object in astro.config.mjs
Update:
- new version of `astro-integration-kit` allowing some much needed code cleanup
- Better logs!

View File

@ -52,10 +52,11 @@ yarn add @matthiesenxyz/astro-gists
import { defineConfig } from "astro/config";
+import astroGist from "@matthiesenxyz/astro-gists";
// https://astro.build/config
export default defineConfig({
+ integrations: [astroGist()]
+ integrations: [astroGist({
+ MDXIntegration: true // This is the default option and will enable or disable @astrojs/mdx
+ })]
});
```
@ -71,6 +72,8 @@ Github Personal Access Token (Classic)
GITHUB_PERSONAL_TOKEN=ghp_YOURPERSONALTOKENHERE
```
*Note: Without this token, you will be HEAVILY limited by quantity of requests made with Octokit.*
### Usage
#### `<GetGist>` Shows a SINGLE gist from a GistCollection
@ -129,4 +132,5 @@ You can now edit files in `package`. Please note that making changes to those fi
- [`Octokit`](http://octokit.github.io) by GitHub
- [`Expressive-Code`](https://expressive-code.com/) By Hippotasic
- [`@astrojs/mdx`](https://docs.astro.build/en/guides/integrations-guide/mdx/) by withAstro
- [`astro-integration-kit`](https://github.com/florian-lefebvre/astro-integration-kit) by Florian

View File

@ -45,10 +45,11 @@
"astro": "^4.4.0"
},
"dependencies": {
"@octokit/types": "^12.6.0",
"@astrojs/mdx": "2.1.1",
"@expressive-code/plugin-line-numbers": "^0.33.4",
"astro-integration-kit": "^0.3.0",
"@octokit/types": "^12.6.0",
"astro-expressive-code": "^0.33.4",
"astro-integration-kit": "^0.4.0",
"octokit": "^3.1.2",
"vite": "^5.1.4"
}

View File

@ -1,51 +1,100 @@
import { defineIntegration, createResolver } from "astro-integration-kit"
import { corePlugins } from "astro-integration-kit/plugins"
import { astroGistsExpressiveCode } from "./integrations/expressive-code"
import { z } from "astro/zod";
import mdx from "@astrojs/mdx";
import { loadEnv } from "vite";
/** Astro-Gist - Astro Integration
* - There is currently no configuration for this integration. Just add it to your astro Integration list.
// Load environment variables
const { GITHUB_PERSONAL_TOKEN } = loadEnv("all", process.cwd(), "GITHUB_");
/** Astro-Gist - An Astro.js integration for embedding GitHub Gists in your Astro.js project.
* @example
* import { defineConfig } from "astro/config";
* import astroGist from "@matthiesenxyz/astro-gists";
*
* export default defineConfig({
* integrations: [astroGist()]
* integrations: [
* astroGist({
* // Enable the Astrojs/MDX Integration - Default: true
* MDXIntegration: true
* })
* ]
* });
*/
export default defineIntegration({
name: "@matthiesenxyz/astro-gists",
optionsSchema: z.object({
/** Enables the astrojs/mdx Integration */
MDXIntegration: z.boolean().optional().default(true),
}),
plugins: [...corePlugins],
setup() {
const { resolve } = createResolver(import.meta.url);
setup({ options }) {
const { resolve } = createResolver(import.meta.url)
return {
"astro:config:setup": ({
watchIntegration,
config,
updateConfig,
logger
}) => {
watchIntegration, hasIntegration, addIntegration,
updateConfig, logger
}) => {
logger.info("Setting up Astro Gists Integration.")
const configSetup = logger.fork("astro-gists/config:setup")
// WATCH INTEGRATION FOR CHANGES
watchIntegration(resolve())
// IMPORT INTEGRATIONS & INTEGRATION ROUTES
const integrations = [...config.integrations];
// Check for GITHUB_PERSONAL_TOKEN
if (!GITHUB_PERSONAL_TOKEN) {
configSetup.warn("GITHUB_PERSONAL_TOKEN not found. Please add it to your .env file. Without it, you will be limited to 60 requests per hour.")
}
// ADD ASTRO-EXPRESSIVE-CODE INTEGRATION
if (!integrations.find(({ name }) => name === "astro-expressive-code")) {
logger.info("Adding astro-expressive-code integration")
updateConfig({
integrations: [...integrations, ...astroGistsExpressiveCode()]
})
}
// UPDATE ASTRO-EXPRESSIVE-CODE INTEGRATION
try {
// ADD ExpressiveCode INTEGRATION
if (!hasIntegration("astro-expressive-code")) {
configSetup.info("Loading Astro Gists Expressive Code Integration.")
updateConfig({
integrations: [...astroGistsExpressiveCode()]
})
} else {
configSetup.info("Astro Expressive Code Integration already loaded.")
}
// ADD MDX INTEGRATION IF ENABLED
if (options.MDXIntegration && hasIntegration("@astrojs/mdx")) {
configSetup.warn("@astrojs/mdx Integration already loaded.In some cases this could cause issues. Please remove it from your astro.config.mjs file. as it will be added automatically.")
}
if (options.MDXIntegration && !hasIntegration("@astrojs/mdx")) {
configSetup.info("Loading @astrojs/mdx Integration.")
addIntegration(mdx(), { ensureUnique: true })
}
if (!options.MDXIntegration) {
configSetup.info("Internal MDX Integration Disabled. Skipping...")
}
// UPDATE All integrations
try {
updateConfig({
integrations: [...astroGistsExpressiveCode(), mdx()]
})
} catch (e) {
logger.error(e as string);
throw e;
throw `@matthiesenxyz/astro-gists: Unable to Update Integrations...\n${e}`;
}
},
"astro:config:done": ({ logger }) => {
const configDone = logger.fork("astro-gists/config:done")
configDone.info("Astro Gists Integration Loaded.")
},
"astro:server:setup": ({ logger }) => {
const serverSetup = logger.fork("astro-gists/server:setup")
serverSetup.info("Setting up Astro Gists Integration for Development.")
},
"astro:build:start": ({ logger }) => {
const buildStart = logger.fork("astro-gists/build:start")
buildStart.info("Building Astro Gists Integration.")
},
"astro:build:done": ({ logger }) => {
const buildDone = logger.fork("astro-gists/build:done")
buildDone.info("Astro Gists Integration Built.")
}
}
}

View File

@ -13,39 +13,22 @@ import { pluginLineNumbers } from '@expressive-code/plugin-line-numbers'
export function getGistsEcConfigPreprocessor(): CustomConfigPreprocessors['preprocessAstroIntegrationConfig'] {
return (input): AstroExpressiveCodeOptions => {
const ecConfig = input.ecConfig as AstroExpressiveCodeOptions; // Replace {} with the appropriate value for ecConfig
const {
themes = ["github-dark", "github-light"] as const,
styleOverrides: { ...otherStyleOverrides } = {},
plugins = [pluginLineNumbers()],
...rest
} = ecConfig;
const ecConfig = input.ecConfig as AstroExpressiveCodeOptions; // Replace {} with the appropriate value for ecConfig
const {
themes = ["github-dark", "github-light"] as const,
plugins = [pluginLineNumbers()],
...rest
} = ecConfig;
return {
themes,
styleOverrides: {
borderRadius: '0px',
borderWidth: '1px',
codePaddingBlock: '0.75rem',
codePaddingInline: '1rem',
codeFontFamily: 'var(--__sl-font-mono)',
codeFontSize: 'var(--sl-text-code)',
codeLineHeight: 'var(--sl-line-height)',
uiFontFamily: 'var(--__sl-font)',
textMarkers: {
lineDiffIndicatorMarginLeft: '0.25rem',
defaultChroma: '45',
backgroundOpacity: '60%',
},
...otherStyleOverrides,
},
plugins,
...rest,
};
};
}
export const astroGistsExpressiveCode = (): AstroIntegration[] => {
export function astroGistsExpressiveCode(): AstroIntegration[] {
return [
astroExpressiveCode({
customConfigPreprocessors: {

View File

@ -17,6 +17,9 @@ importers:
package:
dependencies:
'@astrojs/mdx':
specifier: 2.1.1
version: 2.1.1(astro@4.4.4)
'@expressive-code/plugin-line-numbers':
specifier: ^0.33.4
version: 0.33.4
@ -30,8 +33,8 @@ importers:
specifier: ^0.33.4
version: 0.33.4(astro@4.4.4)
astro-integration-kit:
specifier: ^0.3.0
version: 0.3.0(astro@4.4.4)
specifier: ^0.4.0
version: 0.4.0(astro@4.4.4)
octokit:
specifier: ^3.1.2
version: 3.1.2
@ -145,6 +148,32 @@ packages:
- supports-color
dev: false
/@astrojs/mdx@2.1.1(astro@4.4.4):
resolution: {integrity: sha512-AgGFdE7HOGmoFooGvMSatkA9FiSKwyVW7ImHot/bXJ6uAbFfu6iG2ht18Cf1pT22Hda/6iSCGWusFvBv0/EnKQ==}
engines: {node: '>=18.14.1'}
peerDependencies:
astro: ^4.0.0
dependencies:
'@astrojs/markdown-remark': 4.2.1
'@mdx-js/mdx': 3.0.1
acorn: 8.11.3
astro: 4.4.4(@types/node@20.11.20)(typescript@5.3.3)
es-module-lexer: 1.4.1
estree-util-visit: 2.0.0
github-slugger: 2.0.0
gray-matter: 4.0.3
hast-util-to-html: 9.0.0
kleur: 4.1.5
rehype-raw: 7.0.0
remark-gfm: 4.0.0
remark-smartypants: 2.1.0
source-map: 0.7.4
unist-util-visit: 5.0.0
vfile: 6.0.1
transitivePeerDependencies:
- supports-color
dev: false
/@astrojs/prism@3.0.0:
resolution: {integrity: sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==}
engines: {node: '>=18.14.1'}
@ -985,6 +1014,36 @@ packages:
read-yaml-file: 1.1.0
dev: true
/@mdx-js/mdx@3.0.1:
resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==}
dependencies:
'@types/estree': 1.0.5
'@types/estree-jsx': 1.0.5
'@types/hast': 3.0.4
'@types/mdx': 2.0.11
collapse-white-space: 2.1.0
devlop: 1.1.0
estree-util-build-jsx: 3.0.1
estree-util-is-identifier-name: 3.0.0
estree-util-to-js: 2.0.0
estree-walker: 3.0.3
hast-util-to-estree: 3.1.0
hast-util-to-jsx-runtime: 2.3.0
markdown-extensions: 2.0.0
periscopic: 3.1.0
remark-mdx: 3.0.1
remark-parse: 11.0.0
remark-rehype: 11.1.0
source-map: 0.7.4
unified: 11.0.4
unist-util-position-from-estree: 2.0.0
unist-util-stringify-position: 4.0.0
unist-util-visit: 5.0.0
vfile: 6.0.1
transitivePeerDependencies:
- supports-color
dev: false
/@medv/finder@3.1.0:
resolution: {integrity: sha512-ojkXjR3K0Zz3jnCR80tqPL+0yvbZk/lEodb6RIVjLz7W8RVA2wrw8ym/CzCpXO9SYVUIKHFUpc7jvf8UKfIM3w==}
dev: false
@ -1351,6 +1410,12 @@ packages:
resolution: {integrity: sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==}
dev: false
/@types/acorn@4.0.6:
resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
dependencies:
'@types/estree': 1.0.5
dev: false
/@types/aws-lambda@8.10.134:
resolution: {integrity: sha512-cfv422ivDMO+EeA3N4YcshbTHBL+5lLXe+Uz+4HXvIcsCuWvqNFpOs28ZprL8NA3qRCzt95ETiNAJDn4IcC/PA==}
dev: false
@ -1394,6 +1459,12 @@ packages:
'@types/ms': 0.7.34
dev: false
/@types/estree-jsx@1.0.5:
resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
dependencies:
'@types/estree': 1.0.5
dev: false
/@types/estree@1.0.5:
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
dev: false
@ -1422,6 +1493,10 @@ packages:
'@types/unist': 3.0.2
dev: false
/@types/mdx@2.0.11:
resolution: {integrity: sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==}
dev: false
/@types/minimist@1.2.5:
resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
dev: true
@ -1551,6 +1626,14 @@ packages:
resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==}
dev: true
/acorn-jsx@5.3.2(acorn@8.11.3):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
acorn: 8.11.3
dev: false
/acorn@8.11.3:
resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
engines: {node: '>=0.4.0'}
@ -1671,6 +1754,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/astring@1.8.6:
resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==}
hasBin: true
dev: false
/astro-expressive-code@0.33.4(astro@4.4.4):
resolution: {integrity: sha512-PtXLjd89WBA1WsDYlt3V1LZs9Pa8FFoXilaGDSyfxtbYJ2OPHjWh2JJvCiXmfXmY3HkPJ2oW9Jjo6om5vUlVcg==}
peerDependencies:
@ -1681,10 +1769,29 @@ packages:
remark-expressive-code: 0.33.4
dev: false
/astro-integration-kit@0.3.0(astro@4.4.4):
resolution: {integrity: sha512-ZrJu50KlHM9Spl6GJzRGcPVDRNR9iokEPUaszoh38EvnwQehUe5r7mdKWVWQkvuVIl8W91O5sDUsklm1Yj10vA==}
/astro-integration-kit@0.4.0(astro@4.4.4):
resolution: {integrity: sha512-idgFQySnNnmccwjJ90FS51l3/U3RfKMb9RHT3St67iW8R5BJw+ZQl44n9HHAwT5k1uwS1wFTpCR0WKI5HiLe4Q==}
peerDependencies:
astro: ^4.0.0
'@vitejs/plugin-react': ^4.2.1
astro: ^4.4.1
preact: ^10.19.4
react: ^18.2.0
solid-js: ^1.8.15
svelte: ^4.2.11
vue: ^3.4.19
peerDependenciesMeta:
'@vitejs/plugin-react':
optional: true
preact:
optional: true
react:
optional: true
solid-js:
optional: true
svelte:
optional: true
vue:
optional: true
dependencies:
astro: 4.4.4(@types/node@20.11.20)(typescript@5.3.3)
pathe: 1.1.2
@ -2004,6 +2111,10 @@ packages:
resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
dev: false
/character-reference-invalid@2.0.1:
resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
dev: false
/chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
dev: true
@ -2086,6 +2197,10 @@ packages:
engines: {node: '>=6'}
dev: false
/collapse-white-space@2.1.0:
resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
dev: false
/color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
dependencies:
@ -2509,6 +2624,40 @@ packages:
engines: {node: '>=4'}
hasBin: true
/estree-util-attach-comments@3.0.0:
resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
dependencies:
'@types/estree': 1.0.5
dev: false
/estree-util-build-jsx@3.0.1:
resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
dependencies:
'@types/estree-jsx': 1.0.5
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
estree-walker: 3.0.3
dev: false
/estree-util-is-identifier-name@3.0.0:
resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
dev: false
/estree-util-to-js@2.0.0:
resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
dependencies:
'@types/estree-jsx': 1.0.5
astring: 1.8.6
source-map: 0.7.4
dev: false
/estree-util-visit@2.0.0:
resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
dependencies:
'@types/estree-jsx': 1.0.5
'@types/unist': 3.0.2
dev: false
/estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
dependencies:
@ -2912,6 +3061,29 @@ packages:
zwitch: 2.0.4
dev: false
/hast-util-to-estree@3.1.0:
resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==}
dependencies:
'@types/estree': 1.0.5
'@types/estree-jsx': 1.0.5
'@types/hast': 3.0.4
comma-separated-tokens: 2.0.3
devlop: 1.1.0
estree-util-attach-comments: 3.0.0
estree-util-is-identifier-name: 3.0.0
hast-util-whitespace: 3.0.0
mdast-util-mdx-expression: 2.0.0
mdast-util-mdx-jsx: 3.1.0
mdast-util-mdxjs-esm: 2.0.1
property-information: 6.4.1
space-separated-tokens: 2.0.2
style-to-object: 0.4.4
unist-util-position: 5.0.0
zwitch: 2.0.4
transitivePeerDependencies:
- supports-color
dev: false
/hast-util-to-html@8.0.4:
resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==}
dependencies:
@ -2945,6 +3117,28 @@ packages:
zwitch: 2.0.4
dev: false
/hast-util-to-jsx-runtime@2.3.0:
resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==}
dependencies:
'@types/estree': 1.0.5
'@types/hast': 3.0.4
'@types/unist': 3.0.2
comma-separated-tokens: 2.0.3
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
hast-util-whitespace: 3.0.0
mdast-util-mdx-expression: 2.0.0
mdast-util-mdx-jsx: 3.1.0
mdast-util-mdxjs-esm: 2.0.1
property-information: 6.4.1
space-separated-tokens: 2.0.2
style-to-object: 1.0.5
unist-util-position: 5.0.0
vfile-message: 4.0.2
transitivePeerDependencies:
- supports-color
dev: false
/hast-util-to-parse5@7.1.0:
resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==}
dependencies:
@ -3061,6 +3255,14 @@ packages:
dev: false
optional: true
/inline-style-parser@0.1.1:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
dev: false
/inline-style-parser@0.2.2:
resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==}
dev: false
/internal-slot@1.0.7:
resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
engines: {node: '>= 0.4'}
@ -3070,6 +3272,17 @@ packages:
side-channel: 1.0.5
dev: true
/is-alphabetical@2.0.1:
resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
dev: false
/is-alphanumerical@2.0.1:
resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
dependencies:
is-alphabetical: 2.0.1
is-decimal: 2.0.1
dev: false
/is-array-buffer@3.0.4:
resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
engines: {node: '>= 0.4'}
@ -3130,6 +3343,10 @@ packages:
has-tostringtag: 1.0.2
dev: true
/is-decimal@2.0.1:
resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
dev: false
/is-docker@3.0.0:
resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@ -3155,6 +3372,10 @@ packages:
dependencies:
is-extglob: 2.1.1
/is-hexadecimal@2.0.1:
resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
dev: false
/is-inside-container@1.0.0:
resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
engines: {node: '>=14.16'}
@ -3194,6 +3415,12 @@ packages:
engines: {node: '>=12'}
dev: false
/is-reference@3.0.2:
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
dependencies:
'@types/estree': 1.0.5
dev: false
/is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
@ -3469,6 +3696,11 @@ packages:
engines: {node: '>=8'}
dev: true
/markdown-extensions@2.0.0:
resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
engines: {node: '>=16'}
dev: false
/markdown-table@3.0.3:
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
dev: false
@ -3578,6 +3810,64 @@ packages:
- supports-color
dev: false
/mdast-util-mdx-expression@2.0.0:
resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==}
dependencies:
'@types/estree-jsx': 1.0.5
'@types/hast': 3.0.4
'@types/mdast': 4.0.3
devlop: 1.1.0
mdast-util-from-markdown: 2.0.0
mdast-util-to-markdown: 2.1.0
transitivePeerDependencies:
- supports-color
dev: false
/mdast-util-mdx-jsx@3.1.0:
resolution: {integrity: sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w==}
dependencies:
'@types/estree-jsx': 1.0.5
'@types/hast': 3.0.4
'@types/mdast': 4.0.3
'@types/unist': 3.0.2
ccount: 2.0.1
devlop: 1.1.0
mdast-util-from-markdown: 2.0.0
mdast-util-to-markdown: 2.1.0
parse-entities: 4.0.1
stringify-entities: 4.0.3
unist-util-remove-position: 5.0.0
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
transitivePeerDependencies:
- supports-color
dev: false
/mdast-util-mdx@3.0.0:
resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
dependencies:
mdast-util-from-markdown: 2.0.0
mdast-util-mdx-expression: 2.0.0
mdast-util-mdx-jsx: 3.1.0
mdast-util-mdxjs-esm: 2.0.1
mdast-util-to-markdown: 2.1.0
transitivePeerDependencies:
- supports-color
dev: false
/mdast-util-mdxjs-esm@2.0.1:
resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
dependencies:
'@types/estree-jsx': 1.0.5
'@types/hast': 3.0.4
'@types/mdast': 4.0.3
devlop: 1.1.0
mdast-util-from-markdown: 2.0.0
mdast-util-to-markdown: 2.1.0
transitivePeerDependencies:
- supports-color
dev: false
/mdast-util-phrasing@4.1.0:
resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
dependencies:
@ -3735,6 +4025,67 @@ packages:
micromark-util-types: 2.0.0
dev: false
/micromark-extension-mdx-expression@3.0.0:
resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==}
dependencies:
'@types/estree': 1.0.5
devlop: 1.1.0
micromark-factory-mdx-expression: 2.0.1
micromark-factory-space: 2.0.0
micromark-util-character: 2.1.0
micromark-util-events-to-acorn: 2.0.2
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
dev: false
/micromark-extension-mdx-jsx@3.0.0:
resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==}
dependencies:
'@types/acorn': 4.0.6
'@types/estree': 1.0.5
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
micromark-factory-mdx-expression: 2.0.1
micromark-factory-space: 2.0.0
micromark-util-character: 2.1.0
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
vfile-message: 4.0.2
dev: false
/micromark-extension-mdx-md@2.0.0:
resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
dependencies:
micromark-util-types: 2.0.0
dev: false
/micromark-extension-mdxjs-esm@3.0.0:
resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
dependencies:
'@types/estree': 1.0.5
devlop: 1.1.0
micromark-core-commonmark: 2.0.0
micromark-util-character: 2.1.0
micromark-util-events-to-acorn: 2.0.2
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
unist-util-position-from-estree: 2.0.0
vfile-message: 4.0.2
dev: false
/micromark-extension-mdxjs@3.0.0:
resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
dependencies:
acorn: 8.11.3
acorn-jsx: 5.3.2(acorn@8.11.3)
micromark-extension-mdx-expression: 3.0.0
micromark-extension-mdx-jsx: 3.0.0
micromark-extension-mdx-md: 2.0.0
micromark-extension-mdxjs-esm: 3.0.0
micromark-util-combine-extensions: 2.0.0
micromark-util-types: 2.0.0
dev: false
/micromark-factory-destination@2.0.0:
resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
dependencies:
@ -3752,6 +4103,19 @@ packages:
micromark-util-types: 2.0.0
dev: false
/micromark-factory-mdx-expression@2.0.1:
resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==}
dependencies:
'@types/estree': 1.0.5
devlop: 1.1.0
micromark-util-character: 2.1.0
micromark-util-events-to-acorn: 2.0.2
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
unist-util-position-from-estree: 2.0.0
vfile-message: 4.0.2
dev: false
/micromark-factory-space@2.0.0:
resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
dependencies:
@ -3824,6 +4188,19 @@ packages:
resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
dev: false
/micromark-util-events-to-acorn@2.0.2:
resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==}
dependencies:
'@types/acorn': 4.0.6
'@types/estree': 1.0.5
'@types/unist': 3.0.2
devlop: 1.1.0
estree-util-visit: 2.0.0
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
vfile-message: 4.0.2
dev: false
/micromark-util-html-tag-name@2.0.0:
resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
dev: false
@ -4155,6 +4532,19 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
/parse-entities@4.0.1:
resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==}
dependencies:
'@types/unist': 2.0.10
character-entities: 2.0.2
character-entities-legacy: 3.0.0
character-reference-invalid: 2.0.1
decode-named-character-reference: 1.0.2
is-alphanumerical: 2.0.1
is-decimal: 2.0.1
is-hexadecimal: 2.0.1
dev: false
/parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
@ -4217,6 +4607,14 @@ packages:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
dev: false
/periscopic@3.1.0:
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
dependencies:
'@types/estree': 1.0.5
estree-walker: 3.0.3
is-reference: 3.0.2
dev: false
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
dev: false
@ -4479,6 +4877,15 @@ packages:
- supports-color
dev: false
/remark-mdx@3.0.1:
resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==}
dependencies:
mdast-util-mdx: 3.0.0
micromark-extension-mdxjs: 3.0.0
transitivePeerDependencies:
- supports-color
dev: false
/remark-parse@11.0.0:
resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
dependencies:
@ -4821,6 +5228,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
/source-map@0.7.4:
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
engines: {node: '>= 8'}
dev: false
/space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
dev: false
@ -4995,6 +5407,18 @@ packages:
dev: false
optional: true
/style-to-object@0.4.4:
resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
dependencies:
inline-style-parser: 0.1.1
dev: false
/style-to-object@1.0.5:
resolution: {integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==}
dependencies:
inline-style-parser: 0.2.2
dev: false
/supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@ -5267,6 +5691,12 @@ packages:
array-iterate: 2.0.1
dev: false
/unist-util-position-from-estree@2.0.0:
resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
dependencies:
'@types/unist': 3.0.2
dev: false
/unist-util-position@4.0.4:
resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
dependencies:
@ -5279,6 +5709,13 @@ packages:
'@types/unist': 3.0.2
dev: false
/unist-util-remove-position@5.0.0:
resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
dependencies:
'@types/unist': 3.0.2
unist-util-visit: 5.0.0
dev: false
/unist-util-stringify-position@3.0.3:
resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
dependencies: