feat(next/mdx): support experimental mdx-rs loader (#41919)

<!--
Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change that you're making:
-->

This PR implements a configuration option in `next.config.js` to support
for rust-based MDX compiler (https://github.com/wooorm/mdxjs-rs).
Currently it is marked as experimental, as mdx-rs and loader both may
need some iteration to fix regressions.

When a new experimental flag is set (`mdxRs: true`), instead of using
`@mdx/js` loader `next/mdx` loads a new webpack loader instead.
Internally, it mostly mimics mdx/js's loader behavior, however actual
compilation will be delegated into next/swc's binding to call mdx-rs's
compiler instead.

I choose to use next-swc to expose its binding function, as mdx-rs
internally uses swc already and creating new binary can double up
bytesize (with all the complex processes of publishing new package).

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the
feature request has been accepted for implementation before opening a
PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have a helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The "examples guidelines" are followed from [our contributing
doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
This commit is contained in:
OJ Kwon 2022-11-02 18:24:05 -07:00 committed by GitHub
parent d159fb08a1
commit 5654cae2d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 540 additions and 335 deletions

View file

@ -207,6 +207,19 @@ export default function Post(props) {
If you use it across the site you may want to add the provider to `_app.js` so all MDX pages pick up the custom element config. If you use it across the site you may want to add the provider to `_app.js` so all MDX pages pick up the custom element config.
## Using rust based MDX compiler (experimental)
Next.js supports a new MDX compiler written in Rust. This compiler is still experimental and is not recommended for production use. To use the new compiler, you need to configure `next.config.js` when you pass it to `withMDX`:
```js
// next.config.js
module.exports = withMDX({
experimental: {
mdxRs: true,
},
})
```
## Helpful Links ## Helpful Links
- [MDX](https://mdxjs.com) - [MDX](https://mdxjs.com)

View file

@ -56,7 +56,7 @@
"@babel/preset-react": "7.14.5", "@babel/preset-react": "7.14.5",
"@edge-runtime/jest-environment": "2.0.0", "@edge-runtime/jest-environment": "2.0.0",
"@fullhuman/postcss-purgecss": "1.3.0", "@fullhuman/postcss-purgecss": "1.3.0",
"@mdx-js/loader": "0.18.0", "@mdx-js/loader": "^1.5.1",
"@next/bundle-analyzer": "workspace:*", "@next/bundle-analyzer": "workspace:*",
"@next/env": "workspace:*", "@next/env": "workspace:*",
"@next/eslint-plugin-next": "workspace:*", "@next/eslint-plugin-next": "workspace:*",

View file

@ -3,20 +3,32 @@ module.exports =
(nextConfig = {}) => { (nextConfig = {}) => {
const extension = pluginOptions.extension || /\.mdx$/ const extension = pluginOptions.extension || /\.mdx$/
const loader = nextConfig?.experimental?.mdxRs
? {
loader: require.resolve('./mdx-rs-loader'),
options: {
providerImportSource: '@mdx-js/react',
...pluginOptions.options,
},
}
: {
loader: require.resolve('@mdx-js/loader'),
options: {
providerImportSource: '@mdx-js/react',
...pluginOptions.options,
},
}
return Object.assign({}, nextConfig, { return Object.assign({}, nextConfig, {
webpack(config, options) { webpack(config, options) {
config.module.rules.push({ config.module.rules.push({
test: extension, test: extension,
use: [ use: [
options.defaultLoaders.babel, nextConfig?.experimental?.mdxRs
{ ? undefined
loader: require.resolve('@mdx-js/loader'), : options.defaultLoaders.babel,
options: { loader,
providerImportSource: '@mdx-js/react', ].filter(Boolean),
...pluginOptions.options,
},
},
],
}) })
if (typeof nextConfig.webpack === 'function') { if (typeof nextConfig.webpack === 'function') {

View file

@ -0,0 +1,136 @@
const { SourceMapGenerator } = require('source-map')
const path = require('path')
const { createHash } = require('crypto')
const markdownExtensions = [
'md',
'markdown',
'mdown',
'mkdn',
'mkd',
'mdwn',
'mkdown',
'ron',
]
const mdx = ['.mdx']
const md = markdownExtensions.map((/** @type {string} */ d) => '.' + d)
const own = {}.hasOwnProperty
const marker = {}
const cache = new WeakMap()
/**
* A webpack loader for mdx-rs. This is largely based on existing @mdx-js/loader,
* replaces internal compilation logic to use mdx-rs instead.
*/
function loader(value, bindings, callback) {
const defaults = this.sourceMap ? { SourceMapGenerator } : {}
const options = this.getOptions()
const config = { ...defaults, ...options }
const hash = getOptionsHash(options)
const compiler = this._compiler || marker
let map = cache.get(compiler)
if (!map) {
map = new Map()
cache.set(compiler, map)
}
let process = map.get(hash)
if (!process) {
process = createFormatAwareProcessors(bindings, config).compile
map.set(hash, process)
}
process({ value, path: this.resourcePath }).then(
(code) => {
// TODO: no sourcemap
callback(null, code, null)
},
(error) => {
const fpath = path.relative(this.context, this.resourcePath)
error.message = `${fpath}:${error.name}: ${error.message}`
callback(error)
}
)
}
function getOptionsHash(options) {
const hash = createHash('sha256')
let key
for (key in options) {
if (own.call(options, key)) {
const value = options[key]
if (value !== undefined) {
const valueString = JSON.stringify(value)
hash.update(key + valueString)
}
}
}
return hash.digest('hex').slice(0, 16)
}
function createFormatAwareProcessors(bindings, compileOptions = {}) {
const mdExtensions = compileOptions.mdExtensions || md
const mdxExtensions = compileOptions.mdxExtensions || mdx
let cachedMarkdown
let cachedMdx
return {
extnames:
compileOptions.format === 'md'
? mdExtensions
: compileOptions.format === 'mdx'
? mdxExtensions
: mdExtensions.concat(mdxExtensions),
compile,
}
function compile({ value, path: p }) {
const format =
compileOptions.format === 'md' || compileOptions.format === 'mdx'
? compileOptions.format
: path.extname(p) &&
(compileOptions.mdExtensions || md).includes(path.extname(p))
? 'md'
: 'mdx'
const options = {
parse: compileOptions.parse,
development: compileOptions.development,
providerImportSource: compileOptions.providerImportSource,
jsx: compileOptions.jsx,
jsxRuntime: compileOptions.jsxRuntime,
jsxImportSource: compileOptions.jsxImportSource,
pragma: compileOptions.pragma,
pragmaFrag: compileOptions.pragmaFrag,
pragmaImportSource: compileOptions.pragmaImportSource,
filepath: p,
}
const compileMdx = (input) => bindings.mdx.compile(input, options)
const processor =
format === 'md'
? cachedMarkdown || (cachedMarkdown = compileMdx)
: cachedMdx || (cachedMdx = compileMdx)
return processor(value)
}
}
module.exports = function (code) {
const callback = this.async()
const { loadBindings } = require('next/dist/build/swc')
loadBindings().then((bindings) => {
return loader.call(this, code, bindings, callback)
})
}

View file

@ -10,5 +10,8 @@
"peerDependencies": { "peerDependencies": {
"@mdx-js/loader": ">=0.15.0", "@mdx-js/loader": ">=0.15.0",
"@mdx-js/react": "*" "@mdx-js/react": "*"
},
"dependencies": {
"source-map": "^0.7.0"
} }
} }

View file

@ -1859,6 +1859,19 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "markdown"
version = "1.0.0-alpha.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ad4f4705119913653a71784beb4cb7f2ca652aaa3f8f87d069efcbe6231e245"
dependencies = [
"log",
"regex",
"reqwest",
"tokio",
"unicode-id",
]
[[package]] [[package]]
name = "match_cfg" name = "match_cfg"
version = "0.1.0" version = "0.1.0"
@ -1883,6 +1896,17 @@ dependencies = [
"digest", "digest",
] ]
[[package]]
name = "mdxjs"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0ee4e6ff2cda3f98007dbe11faeda47dac045558aaefa52f1d620b07554c3b5"
dependencies = [
"markdown",
"serde",
"swc_core",
]
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.5.0" version = "2.5.0"
@ -2307,6 +2331,7 @@ dependencies = [
"backtrace", "backtrace",
"fxhash", "fxhash",
"indexmap", "indexmap",
"mdxjs",
"napi", "napi",
"napi-build", "napi-build",
"napi-derive", "napi-derive",
@ -5898,6 +5923,7 @@ dependencies = [
"console_error_panic_hook", "console_error_panic_hook",
"getrandom", "getrandom",
"js-sys", "js-sys",
"mdxjs",
"next-swc", "next-swc",
"once_cell", "once_cell",
"parking_lot_core 0.8.0", "parking_lot_core 0.8.0",

View file

@ -57,6 +57,7 @@ tracing-subscriber = "0.3.9"
tracing-chrome = "0.5.0" tracing-chrome = "0.5.0"
next-dev = { git = "https://github.com/vercel/turbo.git", rev = "a11422fdf6b1b3cde9072d90aab6d9eebfacb591", features = ["serializable"] } next-dev = { git = "https://github.com/vercel/turbo.git", rev = "a11422fdf6b1b3cde9072d90aab6d9eebfacb591", features = ["serializable"] }
node-file-trace = { git = "https://github.com/vercel/turbo.git", rev = "a11422fdf6b1b3cde9072d90aab6d9eebfacb591", default-features = false, features = ["node-api"] } node-file-trace = { git = "https://github.com/vercel/turbo.git", rev = "a11422fdf6b1b3cde9072d90aab6d9eebfacb591", default-features = false, features = ["node-api"] }
mdxjs = { version = "0.1.1", features = ["serializable"] }
# There are few build targets we can't use native-tls which default features rely on, # There are few build targets we can't use native-tls which default features rely on,
# allow to specify alternative (rustls) instead via features. # allow to specify alternative (rustls) instead via features.
# Note to opt in rustls default-features should be disabled # Note to opt in rustls default-features should be disabled

View file

@ -44,6 +44,7 @@ use swc_core::{
common::{sync::Lazy, FilePathMapping, SourceMap}, common::{sync::Lazy, FilePathMapping, SourceMap},
}; };
pub mod mdx;
pub mod minify; pub mod minify;
pub mod parse; pub mod parse;
pub mod transform; pub mod transform;

View file

@ -0,0 +1,43 @@
use mdxjs::{compile, Options};
use napi::bindgen_prelude::*;
pub struct MdxCompileTask {
pub input: String,
pub option: Buffer,
}
impl Task for MdxCompileTask {
type Output = String;
type JsValue = String;
fn compute(&mut self) -> napi::Result<Self::Output> {
let options: Options = serde_json::from_slice(&self.option)?;
compile(&self.input, &options)
.map_err(|err| napi::Error::new(Status::GenericFailure, format!("{:?}", err)))
}
fn resolve(&mut self, _env: Env, output: Self::Output) -> napi::Result<Self::JsValue> {
Ok(output)
}
}
#[napi]
pub fn mdx_compile(
value: String,
option: Buffer,
signal: Option<AbortSignal>,
) -> napi::Result<AsyncTask<MdxCompileTask>> {
let task = MdxCompileTask {
input: value,
option,
};
Ok(AsyncTask::with_optional_signal(task, signal))
}
#[napi]
pub fn mdx_compile_sync(value: String, option: Buffer) -> napi::Result<String> {
let option: Options = serde_json::from_slice(&option)?;
compile(value.as_str(), &option)
.map_err(|err| napi::Error::new(Status::GenericFailure, format!("{:?}", err)))
}

View file

@ -31,6 +31,7 @@ wasm-bindgen-futures = "0.4.8"
getrandom = { version = "0.2.5", optional = true, default-features = false } getrandom = { version = "0.2.5", optional = true, default-features = false }
js-sys = "0.3.59" js-sys = "0.3.59"
serde-wasm-bindgen = "0.4.3" serde-wasm-bindgen = "0.4.3"
mdxjs = { version = "0.1.1", features = ["serializable"] }
swc_core = { features = [ swc_core = { features = [
"common_concurrent", "common_concurrent",

View file

@ -13,6 +13,8 @@ use swc_core::{
ecma::transforms::base::pass::noop, ecma::transforms::base::pass::noop,
}; };
pub mod mdx;
fn convert_err(err: Error) -> JsValue { fn convert_err(err: Error) -> JsValue {
format!("{:?}", err).into() format!("{:?}", err).into()
} }

View file

@ -0,0 +1,21 @@
use js_sys::JsString;
use mdxjs::{compile, Options};
use wasm_bindgen::prelude::*;
use wasm_bindgen_futures::future_to_promise;
#[wasm_bindgen(js_name = "mdxCompileSync")]
pub fn mdx_compile_sync(value: JsString, opts: JsValue) -> Result<JsValue, JsValue> {
let value: String = value.into();
let option: Options = serde_wasm_bindgen::from_value(opts)?;
compile(value.as_str(), &option)
.map(|v| serde_wasm_bindgen::to_value(&v).expect("Should able to convert to JsValue"))
.map_err(|v| serde_wasm_bindgen::to_value(&v).expect("Should able to convert to JsValue"))
}
#[wasm_bindgen(js_name = "mdxCompile")]
pub fn mdx_compile(value: JsString, opts: JsValue) -> js_sys::Promise {
// TODO: This'll be properly scheduled once wasm have standard backed thread
// support.
future_to_promise(async { mdx_compile_sync(value, opts) })
}

View file

@ -215,6 +215,10 @@ async function loadWasm(importPath = '') {
Log.error('Wasm binding does not support trace yet') Log.error('Wasm binding does not support trace yet')
}, },
}, },
mdx: {
compile: (src, options) => bindings.mdxCompile(src, options),
compileSync: (src, options) => bindings.mdxCompileSync(src, options),
},
} }
return wasmBindings return wasmBindings
} catch (e) { } catch (e) {
@ -352,6 +356,12 @@ function loadNative() {
startTrace: (options = {}) => startTrace: (options = {}) =>
bindings.runTurboTracing(toBuffer({ exact: true, ...options })), bindings.runTurboTracing(toBuffer({ exact: true, ...options })),
}, },
mdx: {
compile: (src, options) =>
bindings.mdxCompile(src, toBuffer(options ?? {})),
compileSync: (src, options) =>
bindings.mdxCompileSync(src, toBuffer(options ?? {})),
},
} }
return nativeBindings return nativeBindings
} }

File diff suppressed because one or more lines are too long

View file

@ -432,6 +432,9 @@ const configSchema = {
enum: ['CLS', 'FCP', 'FID', 'INP', 'LCP', 'TTFB'], enum: ['CLS', 'FCP', 'FID', 'INP', 'LCP', 'TTFB'],
} as any, } as any,
}, },
mdxRs: {
type: 'boolean',
},
turbotrace: { turbotrace: {
type: 'object', type: 'object',
properties: { properties: {

View file

@ -181,6 +181,7 @@ export interface ExperimentalConfig {
processCwd?: string processCwd?: string
maxFiles?: number maxFiles?: number
} }
mdxRs?: boolean
} }
export type ExportPathMap = { export type ExportPathMap = {

View file

@ -21,7 +21,7 @@ importers:
'@babel/preset-react': 7.14.5 '@babel/preset-react': 7.14.5
'@edge-runtime/jest-environment': 2.0.0 '@edge-runtime/jest-environment': 2.0.0
'@fullhuman/postcss-purgecss': 1.3.0 '@fullhuman/postcss-purgecss': 1.3.0
'@mdx-js/loader': 0.18.0 '@mdx-js/loader': ^1.5.1
'@next/bundle-analyzer': workspace:* '@next/bundle-analyzer': workspace:*
'@next/env': workspace:* '@next/env': workspace:*
'@next/eslint-plugin-next': workspace:* '@next/eslint-plugin-next': workspace:*
@ -183,7 +183,7 @@ importers:
'@babel/preset-react': 7.14.5_@babel+core@7.18.0 '@babel/preset-react': 7.14.5_@babel+core@7.18.0
'@edge-runtime/jest-environment': 2.0.0 '@edge-runtime/jest-environment': 2.0.0
'@fullhuman/postcss-purgecss': 1.3.0 '@fullhuman/postcss-purgecss': 1.3.0
'@mdx-js/loader': 0.18.0_uuaxwgga6hqycsez5ok7v2wg4i '@mdx-js/loader': 1.6.22_react@18.2.0
'@next/bundle-analyzer': link:packages/next-bundle-analyzer '@next/bundle-analyzer': link:packages/next-bundle-analyzer
'@next/env': link:packages/next-env '@next/env': link:packages/next-env
'@next/eslint-plugin-next': link:packages/eslint-plugin-next '@next/eslint-plugin-next': link:packages/eslint-plugin-next
@ -882,7 +882,10 @@ importers:
rimraf: 3.0.2 rimraf: 3.0.2
packages/next-mdx: packages/next-mdx:
specifiers: {} specifiers:
source-map: ^0.7.0
dependencies:
source-map: 0.7.3
packages/next-plugin-storybook: packages/next-plugin-storybook:
specifiers: {} specifiers: {}
@ -1448,6 +1451,10 @@ packages:
dependencies: dependencies:
'@babel/types': 7.18.0 '@babel/types': 7.18.0
/@babel/helper-plugin-utils/7.10.4:
resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==}
dev: true
/@babel/helper-plugin-utils/7.16.7: /@babel/helper-plugin-utils/7.16.7:
resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@ -1455,6 +1462,7 @@ packages:
/@babel/helper-plugin-utils/7.17.12: /@babel/helper-plugin-utils/7.17.12:
resolution: {integrity: sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==} resolution: {integrity: sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
dev: true
/@babel/helper-plugin-utils/7.19.0: /@babel/helper-plugin-utils/7.19.0:
resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==} resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==}
@ -2074,6 +2082,17 @@ packages:
'@babel/helper-plugin-utils': 7.19.0 '@babel/helper-plugin-utils': 7.19.0
'@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.0 '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.0
/@babel/plugin-proposal-object-rest-spread/7.12.1_@babel+core@7.18.0:
resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.18.0
'@babel/helper-plugin-utils': 7.19.0
'@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.0
'@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.0
dev: true
/@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.18.0: /@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.18.0:
resolution: {integrity: sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==} resolution: {integrity: sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@ -2428,6 +2447,15 @@ packages:
'@babel/core': 7.18.0 '@babel/core': 7.18.0
'@babel/helper-plugin-utils': 7.19.0 '@babel/helper-plugin-utils': 7.19.0
/@babel/plugin-syntax-jsx/7.12.1_@babel+core@7.18.0:
resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.18.0
'@babel/helper-plugin-utils': 7.19.0
dev: true
/@babel/plugin-syntax-jsx/7.14.5_@babel+core@7.18.0: /@babel/plugin-syntax-jsx/7.14.5_@babel+core@7.18.0:
resolution: {integrity: sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==} resolution: {integrity: sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@ -2478,7 +2506,7 @@ packages:
'@babel/core': ^7.0.0-0 '@babel/core': ^7.0.0-0
dependencies: dependencies:
'@babel/core': 7.18.0 '@babel/core': 7.18.0
'@babel/helper-plugin-utils': 7.17.12 '@babel/helper-plugin-utils': 7.19.0
/@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.18.0: /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.18.0:
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
@ -3328,7 +3356,7 @@ packages:
'@babel/core': ^7.0.0-0 '@babel/core': ^7.0.0-0
dependencies: dependencies:
'@babel/core': 7.18.0 '@babel/core': 7.18.0
'@babel/helper-plugin-utils': 7.16.7 '@babel/helper-plugin-utils': 7.19.0
dev: true dev: true
/@babel/plugin-transform-react-display-name/7.14.5_@babel+core@7.18.0: /@babel/plugin-transform-react-display-name/7.14.5_@babel+core@7.18.0:
@ -3771,7 +3799,7 @@ packages:
'@babel/compat-data': 7.17.10 '@babel/compat-data': 7.17.10
'@babel/core': 7.18.0 '@babel/core': 7.18.0
'@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.0 '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.0
'@babel/helper-plugin-utils': 7.16.7 '@babel/helper-plugin-utils': 7.19.0
'@babel/helper-validator-option': 7.16.7 '@babel/helper-validator-option': 7.16.7
'@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.14.5_@babel+core@7.18.0 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.14.5_@babel+core@7.18.0
'@babel/plugin-proposal-async-generator-functions': 7.14.9_@babel+core@7.18.0 '@babel/plugin-proposal-async-generator-functions': 7.14.9_@babel+core@7.18.0
@ -3783,7 +3811,7 @@ packages:
'@babel/plugin-proposal-logical-assignment-operators': 7.14.5_@babel+core@7.18.0 '@babel/plugin-proposal-logical-assignment-operators': 7.14.5_@babel+core@7.18.0
'@babel/plugin-proposal-nullish-coalescing-operator': 7.16.7_@babel+core@7.18.0 '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.7_@babel+core@7.18.0
'@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.18.0 '@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.18.0
'@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.18.0 '@babel/plugin-proposal-object-rest-spread': 7.19.4_@babel+core@7.18.0
'@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.18.0 '@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.18.0
'@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.18.0 '@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.18.0
'@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.18.0 '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.18.0
@ -3824,7 +3852,7 @@ packages:
'@babel/plugin-transform-named-capturing-groups-regex': 7.14.9_@babel+core@7.18.0 '@babel/plugin-transform-named-capturing-groups-regex': 7.14.9_@babel+core@7.18.0
'@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.18.0 '@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.18.0
'@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.18.0 '@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.18.0
'@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.18.0 '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.0
'@babel/plugin-transform-property-literals': 7.14.5_@babel+core@7.18.0 '@babel/plugin-transform-property-literals': 7.14.5_@babel+core@7.18.0
'@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.18.0 '@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.18.0
'@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.18.0 '@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.18.0
@ -5769,43 +5797,55 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@mdx-js/loader/0.18.0_uuaxwgga6hqycsez5ok7v2wg4i: /@mdx-js/loader/1.6.22_react@18.2.0:
resolution: {integrity: sha512-eRgtB14JwyIiZZPXjrpYhSHHQ5+GtZ5cbG744EV2DZVKjxxg4OT/EtKc4JoxWHRK2HVU6W7cf8IXjQpqDviRuQ==} resolution: {integrity: sha512-9CjGwy595NaxAYp0hF9B/A0lH6C8Rms97e2JS9d3jVUtILn6pT5i5IV965ra3lIWc7Rs1GG1tBdVF7dCowYe6Q==}
dependencies: dependencies:
'@mdx-js/mdx': 0.18.2_@babel+core@7.18.0 '@mdx-js/mdx': 1.6.22
'@mdx-js/tag': 0.18.0_react@18.2.0 '@mdx-js/react': 1.6.22_react@18.2.0
loader-utils: 1.4.0 loader-utils: 2.0.0
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core'
- react - react
- supports-color
dev: true dev: true
/@mdx-js/mdx/0.18.2_@babel+core@7.18.0: /@mdx-js/mdx/1.6.22:
resolution: {integrity: sha512-7DqNBOGPV+36qpH8YZmKI5uvuXhrGZFhJ4C9+9uaQSpH2hQg9xAfdzjSSEO8FQhAlu6wJtUgb72J5/eWdc1HFw==} resolution: {integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==}
dependencies: dependencies:
'@babel/plugin-proposal-object-rest-spread': 7.18.0_@babel+core@7.18.0 '@babel/core': 7.18.0
'@babel/plugin-syntax-jsx': 7.14.5_@babel+core@7.18.0 '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.18.0
change-case: 3.1.0 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.0
'@mdx-js/util': 1.6.22
babel-plugin-apply-mdx-type-prop: 1.6.22_@babel+core@7.18.0
babel-plugin-extract-import-names: 1.6.22
camelcase-css: 2.0.1
detab: 2.0.4 detab: 2.0.4
mdast-util-to-hast: 4.0.0 hast-util-raw: 6.0.1
remark-parse: 6.0.3 lodash.uniq: 4.5.0
remark-squeeze-paragraphs: 3.0.4 mdast-util-to-hast: 10.0.1
to-style: 1.3.3 remark-footnotes: 2.0.0
unified: 7.1.0 remark-mdx: 1.6.22
unist-builder: 1.0.4 remark-parse: 8.0.3
unist-util-visit: 1.4.1 remark-squeeze-paragraphs: 4.0.0
style-to-object: 0.3.0
unified: 9.2.0
unist-builder: 2.0.3
unist-util-visit: 2.0.3
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - supports-color
dev: true dev: true
/@mdx-js/tag/0.18.0_react@18.2.0: /@mdx-js/react/1.6.22_react@18.2.0:
resolution: {integrity: sha512-3g1NOnbw+sJZohNOEN9NlaYYDdzq1y34S7PDimSn3zLV8etCu7pTCMFbnFHMSe6mMmm4yJ1gfbS3QiE7t+WMGA==} resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==}
peerDependencies: peerDependencies:
react: ^0.14.x || ^15.x || ^16.x react: ^16.13.1 || ^17.0.0
dependencies: dependencies:
react: 18.2.0 react: 18.2.0
dev: true dev: true
/@mdx-js/util/1.6.22:
resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==}
dev: true
/@mrmlnc/readdir-enhanced/2.2.1: /@mrmlnc/readdir-enhanced/2.2.1:
resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -7054,6 +7094,12 @@ packages:
resolution: {integrity: sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==} resolution: {integrity: sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==}
dev: true dev: true
/@types/mdast/3.0.10:
resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==}
dependencies:
'@types/unist': 2.0.3
dev: true
/@types/micromatch/4.0.2: /@types/micromatch/4.0.2:
resolution: {integrity: sha512-oqXqVb0ci19GtH0vOA/U2TmHTcRY9kuZl4mqUxe0QmJAlIW13kzhuK5pi1i9+ngav8FjpSb9FVS/GE00GLX1VA==} resolution: {integrity: sha512-oqXqVb0ci19GtH0vOA/U2TmHTcRY9kuZl4mqUxe0QmJAlIW13kzhuK5pi1i9+ngav8FjpSb9FVS/GE00GLX1VA==}
dependencies: dependencies:
@ -7283,21 +7329,6 @@ packages:
resolution: {integrity: sha512-iFNNIrEaJH1lbPiyX+O/QyxSbKxrTjdNBVZGckt+iEL9So0hdZNBL68sOfHnt2txuUD8UJXvmKv/1DkgkebgUg==} resolution: {integrity: sha512-iFNNIrEaJH1lbPiyX+O/QyxSbKxrTjdNBVZGckt+iEL9So0hdZNBL68sOfHnt2txuUD8UJXvmKv/1DkgkebgUg==}
dev: true dev: true
/@types/vfile-message/2.0.0:
resolution: {integrity: sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==}
deprecated: This is a stub types definition. vfile-message provides its own type definitions, so you do not need this installed.
dependencies:
vfile-message: 3.0.2
dev: true
/@types/vfile/3.0.2:
resolution: {integrity: sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==}
dependencies:
'@types/node': 17.0.21
'@types/unist': 2.0.3
'@types/vfile-message': 2.0.0
dev: true
/@types/webpack-sources/0.1.5: /@types/webpack-sources/0.1.5:
resolution: {integrity: sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==} resolution: {integrity: sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==}
dependencies: dependencies:
@ -8418,11 +8449,27 @@ packages:
- supports-color - supports-color
dev: true dev: true
/babel-plugin-apply-mdx-type-prop/1.6.22_@babel+core@7.18.0:
resolution: {integrity: sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==}
peerDependencies:
'@babel/core': ^7.11.6
dependencies:
'@babel/core': 7.18.0
'@babel/helper-plugin-utils': 7.10.4
'@mdx-js/util': 1.6.22
dev: true
/babel-plugin-dynamic-import-node/2.3.3: /babel-plugin-dynamic-import-node/2.3.3:
resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
dependencies: dependencies:
object.assign: 4.1.4 object.assign: 4.1.4
/babel-plugin-extract-import-names/1.6.22:
resolution: {integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==}
dependencies:
'@babel/helper-plugin-utils': 7.10.4
dev: true
/babel-plugin-istanbul/6.1.1: /babel-plugin-istanbul/6.1.1:
resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -9104,13 +9151,6 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
/camel-case/3.0.0:
resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==}
dependencies:
no-case: 2.3.2
upper-case: 1.1.3
dev: true
/camel-case/4.1.2: /camel-case/4.1.2:
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
dependencies: dependencies:
@ -9266,29 +9306,6 @@ packages:
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
dev: true dev: true
/change-case/3.1.0:
resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==}
dependencies:
camel-case: 3.0.0
constant-case: 2.0.0
dot-case: 2.1.1
header-case: 1.0.1
is-lower-case: 1.1.3
is-upper-case: 1.1.2
lower-case: 1.1.4
lower-case-first: 1.0.2
no-case: 2.3.2
param-case: 2.1.1
pascal-case: 2.0.1
path-case: 2.1.1
sentence-case: 2.1.1
snake-case: 2.1.0
swap-case: 1.1.2
title-case: 2.1.1
upper-case: 1.1.3
upper-case-first: 1.1.2
dev: true
/change-case/4.1.2: /change-case/4.1.2:
resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==}
dependencies: dependencies:
@ -9850,13 +9867,6 @@ packages:
resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
dev: true dev: true
/constant-case/2.0.0:
resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==}
dependencies:
snake-case: 2.1.0
upper-case: 1.1.3
dev: true
/constant-case/3.0.4: /constant-case/3.0.4:
resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==}
dependencies: dependencies:
@ -11119,12 +11129,6 @@ packages:
domhandler: 4.3.1 domhandler: 4.3.1
dev: true dev: true
/dot-case/2.1.1:
resolution: {integrity: sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==}
dependencies:
no-case: 2.3.2
dev: true
/dot-case/3.0.4: /dot-case/3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
dependencies: dependencies:
@ -13478,6 +13482,18 @@ packages:
minimalistic-assert: 1.0.1 minimalistic-assert: 1.0.1
dev: true dev: true
/hast-to-hyperscript/9.0.1:
resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==}
dependencies:
'@types/unist': 2.0.3
comma-separated-tokens: 1.0.8
property-information: 5.6.0
space-separated-tokens: 1.1.5
style-to-object: 0.3.0
unist-util-is: 4.1.0
web-namespaces: 1.1.4
dev: true
/hast-util-embedded/1.0.6: /hast-util-embedded/1.0.6:
resolution: {integrity: sha512-JQMW+TJe0UAIXZMjCJ4Wf6ayDV9Yv3PBDPsHD4ExBpAspJ6MOcCX+nzVF+UJVv7OqPcg852WEMSHQPoRA+FVSw==} resolution: {integrity: sha512-JQMW+TJe0UAIXZMjCJ4Wf6ayDV9Yv3PBDPsHD4ExBpAspJ6MOcCX+nzVF+UJVv7OqPcg852WEMSHQPoRA+FVSw==}
dependencies: dependencies:
@ -13523,6 +13539,21 @@ packages:
hast-util-is-element: 1.1.0 hast-util-is-element: 1.1.0
dev: true dev: true
/hast-util-raw/6.0.1:
resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==}
dependencies:
'@types/hast': 2.3.1
hast-util-from-parse5: 6.0.1
hast-util-to-parse5: 6.0.0
html-void-elements: 1.0.5
parse5: 6.0.1
unist-util-position: 3.0.4
vfile: 4.2.1
web-namespaces: 1.1.4
xtend: 4.0.2
zwitch: 1.0.5
dev: true
/hast-util-to-nlcst/1.2.8: /hast-util-to-nlcst/1.2.8:
resolution: {integrity: sha512-cKMArohUvGw4fpN9PKDCIB+klMojkWzz5zNVNFRdKa0oC1MVX1TaDki1E/tb9xqS8WlUjKifIjmrNmRbEJzrJg==} resolution: {integrity: sha512-cKMArohUvGw4fpN9PKDCIB+klMojkWzz5zNVNFRdKa0oC1MVX1TaDki1E/tb9xqS8WlUjKifIjmrNmRbEJzrJg==}
dependencies: dependencies:
@ -13536,6 +13567,16 @@ packages:
vfile-location: 3.2.0 vfile-location: 3.2.0
dev: true dev: true
/hast-util-to-parse5/6.0.0:
resolution: {integrity: sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==}
dependencies:
hast-to-hyperscript: 9.0.1
property-information: 5.6.0
web-namespaces: 1.1.4
xtend: 4.0.2
zwitch: 1.0.5
dev: true
/hast-util-to-string/1.0.4: /hast-util-to-string/1.0.4:
resolution: {integrity: sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==} resolution: {integrity: sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==}
dev: true dev: true
@ -13559,13 +13600,6 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/header-case/1.0.1:
resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==}
dependencies:
no-case: 2.3.2
upper-case: 1.1.3
dev: true
/header-case/2.0.4: /header-case/2.0.4:
resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==}
dependencies: dependencies:
@ -13657,6 +13691,10 @@ packages:
- supports-color - supports-color
dev: true dev: true
/html-void-elements/1.0.5:
resolution: {integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==}
dev: true
/htmlparser2/3.10.1: /htmlparser2/3.10.1:
resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==}
dependencies: dependencies:
@ -14004,6 +14042,10 @@ packages:
validate-npm-package-name: 3.0.0 validate-npm-package-name: 3.0.0
dev: true dev: true
/inline-style-parser/0.1.1:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
dev: true
/inquirer/5.2.0: /inquirer/5.2.0:
resolution: {integrity: sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==} resolution: {integrity: sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@ -14121,14 +14163,14 @@ packages:
dependencies: dependencies:
kind-of: 6.0.3 kind-of: 6.0.3
/is-alphabetical/1.0.3: /is-alphabetical/1.0.4:
resolution: {integrity: sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==} resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
dev: true dev: true
/is-alphanumerical/1.0.3: /is-alphanumerical/1.0.3:
resolution: {integrity: sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==} resolution: {integrity: sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==}
dependencies: dependencies:
is-alphabetical: 1.0.3 is-alphabetical: 1.0.4
is-decimal: 1.0.3 is-decimal: 1.0.3
dev: true dev: true
@ -14395,12 +14437,6 @@ packages:
resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==}
dev: true dev: true
/is-lower-case/1.1.3:
resolution: {integrity: sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==}
dependencies:
lower-case: 1.1.4
dev: true
/is-module/1.0.0: /is-module/1.0.0:
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
dev: true dev: true
@ -14628,12 +14664,6 @@ packages:
engines: {node: '>=12'} engines: {node: '>=12'}
dev: true dev: true
/is-upper-case/1.1.2:
resolution: {integrity: sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==}
dependencies:
upper-case: 1.1.3
dev: true
/is-utf8/0.2.1: /is-utf8/0.2.1:
resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=} resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=}
dev: true dev: true
@ -16354,7 +16384,7 @@ packages:
resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==}
/lodash.uniq/4.5.0: /lodash.uniq/4.5.0:
resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=} resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
dev: true dev: true
/lodash/4.17.21: /lodash/4.17.21:
@ -16450,16 +16480,6 @@ packages:
signal-exit: 3.0.7 signal-exit: 3.0.7
dev: true dev: true
/lower-case-first/1.0.2:
resolution: {integrity: sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==}
dependencies:
lower-case: 1.1.4
dev: true
/lower-case/1.1.4:
resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==}
dev: true
/lower-case/2.0.2: /lower-case/2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
dependencies: dependencies:
@ -16620,16 +16640,16 @@ packages:
resolution: {integrity: sha512-vTFXtmbbF3rgnTh3Zl3irso4LtvwUq/jaDvT2D1JqTGAwaipcS7RpTxzi6KjoRqI9n2yuAhzLDAC8xVTF3XYVQ==} resolution: {integrity: sha512-vTFXtmbbF3rgnTh3Zl3irso4LtvwUq/jaDvT2D1JqTGAwaipcS7RpTxzi6KjoRqI9n2yuAhzLDAC8xVTF3XYVQ==}
dev: true dev: true
/mdast-squeeze-paragraphs/3.0.5: /mdast-squeeze-paragraphs/4.0.0:
resolution: {integrity: sha512-xX6Vbe348Y/rukQlG4W3xH+7v4ZlzUbSY4HUIQCuYrF2DrkcHx584mCaFxkWoDZKNUfyLZItHC9VAqX3kIP7XA==} resolution: {integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==}
dependencies: dependencies:
unist-util-remove: 1.0.3 unist-util-remove: 2.1.0
dev: true dev: true
/mdast-util-definitions/1.2.5: /mdast-util-definitions/4.0.0:
resolution: {integrity: sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA==} resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==}
dependencies: dependencies:
unist-util-visit: 1.4.1 unist-util-visit: 2.0.3
dev: true dev: true
/mdast-util-mdx-expression/0.1.1: /mdast-util-mdx-expression/0.1.1:
@ -16662,20 +16682,17 @@ packages:
resolution: {integrity: sha512-kBiYeashz+nuhfv+712nc4THQhzXIH2gBFUDbuLxuDCqU/fZeg+9FAcdRBx9E13dkpk1p2Xwufzs3wsGJ+mISQ==} resolution: {integrity: sha512-kBiYeashz+nuhfv+712nc4THQhzXIH2gBFUDbuLxuDCqU/fZeg+9FAcdRBx9E13dkpk1p2Xwufzs3wsGJ+mISQ==}
dev: true dev: true
/mdast-util-to-hast/4.0.0: /mdast-util-to-hast/10.0.1:
resolution: {integrity: sha512-yOTZSxR1aPvWRUxVeLaLZ1sCYrK87x2Wusp1bDM/Ao2jETBhYUKITI3nHvgy+HkZW54HuCAhHnS0mTcbECD5Ig==} resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==}
dependencies: dependencies:
collapse-white-space: 1.0.6 '@types/mdast': 3.0.10
detab: 2.0.4 '@types/unist': 2.0.3
mdast-util-definitions: 1.2.5 mdast-util-definitions: 4.0.0
mdurl: 1.0.1 mdurl: 1.0.1
trim: 0.0.1 unist-builder: 2.0.3
trim-lines: 1.1.3
unist-builder: 1.0.4
unist-util-generated: 1.1.6 unist-util-generated: 1.1.6
unist-util-position: 3.0.4 unist-util-position: 3.0.4
unist-util-visit: 1.4.1 unist-util-visit: 2.0.3
xtend: 4.0.2
dev: true dev: true
/mdast-util-to-markdown/0.6.5: /mdast-util-to-markdown/0.6.5:
@ -17365,12 +17382,6 @@ packages:
resolution: {integrity: sha512-3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg==} resolution: {integrity: sha512-3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg==}
dev: true dev: true
/no-case/2.3.2:
resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==}
dependencies:
lower-case: 1.1.4
dev: true
/no-case/3.0.4: /no-case/3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies: dependencies:
@ -18233,12 +18244,6 @@ packages:
resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
dev: true dev: true
/param-case/2.1.1:
resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==}
dependencies:
no-case: 2.3.2
dev: true
/param-case/3.0.4: /param-case/3.0.4:
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
dependencies: dependencies:
@ -18272,17 +18277,6 @@ packages:
unist-util-visit-children: 1.1.4 unist-util-visit-children: 1.1.4
dev: true dev: true
/parse-entities/1.2.2:
resolution: {integrity: sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==}
dependencies:
character-entities: 1.2.3
character-entities-legacy: 1.1.3
character-reference-invalid: 1.1.3
is-alphanumerical: 1.0.3
is-decimal: 1.0.3
is-hexadecimal: 1.0.3
dev: true
/parse-entities/2.0.0: /parse-entities/2.0.0:
resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
dependencies: dependencies:
@ -18404,13 +18398,6 @@ packages:
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
dev: true dev: true
/pascal-case/2.0.1:
resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==}
dependencies:
camel-case: 3.0.0
upper-case-first: 1.1.2
dev: true
/pascal-case/3.1.2: /pascal-case/3.1.2:
resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
dependencies: dependencies:
@ -18427,12 +18414,6 @@ packages:
resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
dev: true dev: true
/path-case/2.1.1:
resolution: {integrity: sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==}
dependencies:
no-case: 2.3.2
dev: true
/path-case/3.0.4: /path-case/3.0.4:
resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==}
dependencies: dependencies:
@ -20599,12 +20580,31 @@ packages:
- supports-color - supports-color
dev: true dev: true
/remark-footnotes/2.0.0:
resolution: {integrity: sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==}
dev: true
/remark-frontmatter/2.0.0: /remark-frontmatter/2.0.0:
resolution: {integrity: sha512-uNOQt4tO14qBFWXenF0MLC4cqo3dv8qiHPGyjCl1rwOT0LomSHpcElbjjVh5CwzElInB38HD8aSRVugKQjeyHA==} resolution: {integrity: sha512-uNOQt4tO14qBFWXenF0MLC4cqo3dv8qiHPGyjCl1rwOT0LomSHpcElbjjVh5CwzElInB38HD8aSRVugKQjeyHA==}
dependencies: dependencies:
fault: 1.0.4 fault: 1.0.4
dev: true dev: true
/remark-mdx/1.6.22:
resolution: {integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==}
dependencies:
'@babel/core': 7.18.0
'@babel/helper-plugin-utils': 7.10.4
'@babel/plugin-proposal-object-rest-spread': 7.12.1_@babel+core@7.18.0
'@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.18.0
'@mdx-js/util': 1.6.22
is-alphabetical: 1.0.4
remark-parse: 8.0.3
unified: 9.2.0
transitivePeerDependencies:
- supports-color
dev: true
/remark-mdx/2.0.0-next.9: /remark-mdx/2.0.0-next.9:
resolution: {integrity: sha512-I5dCKP5VE18SMd5ycIeeEk8Hl6oaldUY6PIvjrfm65l7d0QRnLqknb62O2g3QEmOxCswcHTtwITtz6rfUIVs+A==} resolution: {integrity: sha512-I5dCKP5VE18SMd5ycIeeEk8Hl6oaldUY6PIvjrfm65l7d0QRnLqknb62O2g3QEmOxCswcHTtwITtz6rfUIVs+A==}
dependencies: dependencies:
@ -20622,32 +20622,12 @@ packages:
unified-message-control: 3.0.3 unified-message-control: 3.0.3
dev: true dev: true
/remark-parse/6.0.3:
resolution: {integrity: sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==}
dependencies:
collapse-white-space: 1.0.6
is-alphabetical: 1.0.3
is-decimal: 1.0.3
is-whitespace-character: 1.0.3
is-word-character: 1.0.3
markdown-escapes: 1.0.3
parse-entities: 1.2.2
repeat-string: 1.6.1
state-toggle: 1.0.2
trim: 0.0.1
trim-trailing-lines: 1.1.2
unherit: 1.1.2
unist-util-remove-position: 1.1.4
vfile-location: 2.0.6
xtend: 4.0.2
dev: true
/remark-parse/8.0.3: /remark-parse/8.0.3:
resolution: {integrity: sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==} resolution: {integrity: sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==}
dependencies: dependencies:
ccount: 1.1.0 ccount: 1.1.0
collapse-white-space: 1.0.6 collapse-white-space: 1.0.6
is-alphabetical: 1.0.3 is-alphabetical: 1.0.4
is-decimal: 1.0.3 is-decimal: 1.0.3
is-whitespace-character: 1.0.3 is-whitespace-character: 1.0.3
is-word-character: 1.0.3 is-word-character: 1.0.3
@ -20669,10 +20649,10 @@ packages:
mdast-util-to-nlcst: 4.0.1 mdast-util-to-nlcst: 4.0.1
dev: true dev: true
/remark-squeeze-paragraphs/3.0.4: /remark-squeeze-paragraphs/4.0.0:
resolution: {integrity: sha512-Wmz5Yj9q+W1oryo8BV17JrOXZgUKVcpJ2ApE2pwnoHwhFKSk4Wp2PmFNbmJMgYSqAdFwfkoe+TSYop5Fy8wMgA==} resolution: {integrity: sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==}
dependencies: dependencies:
mdast-squeeze-paragraphs: 3.0.5 mdast-squeeze-paragraphs: 4.0.0
dev: true dev: true
/remote-origin-url/0.5.3: /remote-origin-url/0.5.3:
@ -20709,11 +20689,6 @@ packages:
is-finite: 1.0.2 is-finite: 1.0.2
dev: true dev: true
/replace-ext/1.0.0:
resolution: {integrity: sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA==}
engines: {node: '>= 0.10'}
dev: true
/request-promise-core/1.1.2_request@2.88.2: /request-promise-core/1.1.2_request@2.88.2:
resolution: {integrity: sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==} resolution: {integrity: sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@ -21291,13 +21266,6 @@ packages:
- supports-color - supports-color
dev: true dev: true
/sentence-case/2.1.1:
resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==}
dependencies:
no-case: 2.3.2
upper-case-first: 1.1.2
dev: true
/sentence-case/3.0.4: /sentence-case/3.0.4:
resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
dependencies: dependencies:
@ -21494,12 +21462,6 @@ packages:
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
dev: true dev: true
/snake-case/2.1.0:
resolution: {integrity: sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==}
dependencies:
no-case: 2.3.2
dev: true
/snake-case/3.0.4: /snake-case/3.0.4:
resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
dependencies: dependencies:
@ -21637,7 +21599,6 @@ packages:
/source-map/0.7.3: /source-map/0.7.3:
resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
dev: true
/source-map/0.8.0-beta.0: /source-map/0.8.0-beta.0:
resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
@ -22060,6 +22021,12 @@ packages:
resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==} resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==}
dev: true dev: true
/style-to-object/0.3.0:
resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==}
dependencies:
inline-style-parser: 0.1.1
dev: true
/styled-components/6.0.0-beta.5_biqbaboplfbrettd7655fr4n2y: /styled-components/6.0.0-beta.5_biqbaboplfbrettd7655fr4n2y:
resolution: {integrity: sha512-ns1VlFPcvyiC1bGolCqyIRszaHfs8l/fwChG4RM/U7TzkJCJIKjYFtdYVYW0M4sofay43F5B5w8TSuH5ycFg8w==} resolution: {integrity: sha512-ns1VlFPcvyiC1bGolCqyIRszaHfs8l/fwChG4RM/U7TzkJCJIKjYFtdYVYW0M4sofay43F5B5w8TSuH5ycFg8w==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
@ -22227,13 +22194,6 @@ packages:
util.promisify: 1.0.0 util.promisify: 1.0.0
dev: true dev: true
/swap-case/1.1.2:
resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==}
dependencies:
lower-case: 1.1.4
upper-case: 1.1.3
dev: true
/swr/2.0.0-rc.0_react@18.2.0: /swr/2.0.0-rc.0_react@18.2.0:
resolution: {integrity: sha512-QOp+4Cqnb/uuLKeuRDh7aT+ws6wSWWKPqfyIpBXK8DM3IugOYeLO5v+390I0p1MIfRd0CQlAIJZBEgmHaTfDuA==} resolution: {integrity: sha512-QOp+4Cqnb/uuLKeuRDh7aT+ws6wSWWKPqfyIpBXK8DM3IugOYeLO5v+390I0p1MIfRd0CQlAIJZBEgmHaTfDuA==}
engines: {pnpm: '7'} engines: {pnpm: '7'}
@ -22570,13 +22530,6 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
dev: true dev: true
/title-case/2.1.1:
resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==}
dependencies:
no-case: 2.3.2
upper-case: 1.1.3
dev: true
/title-case/3.0.3: /title-case/3.0.3:
resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==}
dependencies: dependencies:
@ -22644,10 +22597,6 @@ packages:
regex-not: 1.0.2 regex-not: 1.0.2
safe-regex: 1.1.0 safe-regex: 1.1.0
/to-style/1.3.3:
resolution: {integrity: sha512-9K8KYegr9hrdm8yPpu5iZjJp5t6RPAp4gFDU5hD9zR8hwqgF4fsoSitMtkRKQG2qkP5j/uG3wajbgV09rjmIqg==}
dev: true
/to-vfile/6.1.0: /to-vfile/6.1.0:
resolution: {integrity: sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==} resolution: {integrity: sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==}
dependencies: dependencies:
@ -22707,10 +22656,6 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/trim-lines/1.1.3:
resolution: {integrity: sha512-E0ZosSWYK2mkSu+KEtQ9/KqarVjA9HztOSX+9FDdNacRAq29RRV6ZQNgob3iuW8Htar9vAfEa6yyt5qBAHZDBA==}
dev: true
/trim-newlines/1.0.0: /trim-newlines/1.0.0:
resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==} resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@ -23096,17 +23041,15 @@ packages:
vfile-location: 3.2.0 vfile-location: 3.2.0
dev: true dev: true
/unified/7.1.0: /unified/9.2.0:
resolution: {integrity: sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==} resolution: {integrity: sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==}
dependencies: dependencies:
'@types/unist': 2.0.3
'@types/vfile': 3.0.2
bail: 1.0.4 bail: 1.0.4
extend: 3.0.2 extend: 3.0.2
is-plain-obj: 1.1.0 is-buffer: 2.0.4
is-plain-obj: 2.1.0
trough: 1.0.4 trough: 1.0.4
vfile: 3.0.1 vfile: 4.2.1
x-is-string: 0.1.0
dev: true dev: true
/unified/9.2.1: /unified/9.2.1:
@ -23165,10 +23108,8 @@ packages:
crypto-random-string: 2.0.0 crypto-random-string: 2.0.0
dev: true dev: true
/unist-builder/1.0.4: /unist-builder/2.0.3:
resolution: {integrity: sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg==} resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==}
dependencies:
object-assign: 4.1.1
dev: true dev: true
/unist-util-generated/1.1.6: /unist-util-generated/1.1.6:
@ -23181,10 +23122,6 @@ packages:
is-empty: 1.2.0 is-empty: 1.2.0
dev: true dev: true
/unist-util-is/3.0.0:
resolution: {integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==}
dev: true
/unist-util-is/4.1.0: /unist-util-is/4.1.0:
resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==}
dev: true dev: true
@ -23199,12 +23136,6 @@ packages:
resolution: {integrity: sha512-tWvIbV8goayTjobxDIr4zVTyG+Q7ragMSMeKC3xnPl9xzIc0+she8mxXLM3JVNDDsfARPbCd3XdzkyLdo7fF3g==} resolution: {integrity: sha512-tWvIbV8goayTjobxDIr4zVTyG+Q7ragMSMeKC3xnPl9xzIc0+she8mxXLM3JVNDDsfARPbCd3XdzkyLdo7fF3g==}
dev: true dev: true
/unist-util-remove-position/1.1.4:
resolution: {integrity: sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==}
dependencies:
unist-util-visit: 1.4.1
dev: true
/unist-util-remove-position/2.0.1: /unist-util-remove-position/2.0.1:
resolution: {integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==} resolution: {integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==}
dependencies: dependencies:
@ -23217,14 +23148,10 @@ packages:
unist-util-visit: 2.0.3 unist-util-visit: 2.0.3
dev: true dev: true
/unist-util-remove/1.0.3: /unist-util-remove/2.1.0:
resolution: {integrity: sha512-mB6nCHCQK0pQffUAcCVmKgIWzG/AXs/V8qpS8K72tMPtOSCMSjDeMc5yN+Ye8rB0FhcE+JvW++o1xRNc0R+++g==} resolution: {integrity: sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==}
dependencies: dependencies:
unist-util-is: 3.0.0 unist-util-is: 4.1.0
dev: true
/unist-util-stringify-position/1.1.2:
resolution: {integrity: sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==}
dev: true dev: true
/unist-util-stringify-position/2.0.3: /unist-util-stringify-position/2.0.3:
@ -23233,22 +23160,10 @@ packages:
'@types/unist': 2.0.3 '@types/unist': 2.0.3
dev: true dev: true
/unist-util-stringify-position/3.0.0:
resolution: {integrity: sha512-SdfAl8fsDclywZpfMDTVDxA2V7LjtRDTOFd44wUJamgl6OlVngsqWjxvermMYf60elWHbxhuRCZml7AnuXCaSA==}
dependencies:
'@types/unist': 2.0.3
dev: true
/unist-util-visit-children/1.1.4: /unist-util-visit-children/1.1.4:
resolution: {integrity: sha512-sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ==} resolution: {integrity: sha512-sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ==}
dev: true dev: true
/unist-util-visit-parents/2.1.2:
resolution: {integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==}
dependencies:
unist-util-is: 3.0.0
dev: true
/unist-util-visit-parents/3.1.1: /unist-util-visit-parents/3.1.1:
resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==}
dependencies: dependencies:
@ -23256,12 +23171,6 @@ packages:
unist-util-is: 4.1.0 unist-util-is: 4.1.0
dev: true dev: true
/unist-util-visit/1.4.1:
resolution: {integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==}
dependencies:
unist-util-visit-parents: 2.1.2
dev: true
/unist-util-visit/2.0.3: /unist-util-visit/2.0.3:
resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==}
dependencies: dependencies:
@ -23358,22 +23267,12 @@ packages:
xdg-basedir: 4.0.0 xdg-basedir: 4.0.0
dev: true dev: true
/upper-case-first/1.1.2:
resolution: {integrity: sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==}
dependencies:
upper-case: 1.1.3
dev: true
/upper-case-first/2.0.2: /upper-case-first/2.0.2:
resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
dependencies: dependencies:
tslib: 2.4.0 tslib: 2.4.0
dev: true dev: true
/upper-case/1.1.3:
resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==}
dev: true
/upper-case/2.0.2: /upper-case/2.0.2:
resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==}
dependencies: dependencies:
@ -23526,20 +23425,10 @@ packages:
to-vfile: 6.1.0 to-vfile: 6.1.0
dev: true dev: true
/vfile-location/2.0.6:
resolution: {integrity: sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==}
dev: true
/vfile-location/3.2.0: /vfile-location/3.2.0:
resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==} resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==}
dev: true dev: true
/vfile-message/1.1.1:
resolution: {integrity: sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==}
dependencies:
unist-util-stringify-position: 1.1.2
dev: true
/vfile-message/2.0.4: /vfile-message/2.0.4:
resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==}
dependencies: dependencies:
@ -23547,13 +23436,6 @@ packages:
unist-util-stringify-position: 2.0.3 unist-util-stringify-position: 2.0.3
dev: true dev: true
/vfile-message/3.0.2:
resolution: {integrity: sha512-UUjZYIOg9lDRwwiBAuezLIsu9KlXntdxwG+nXnjuQAHvBpcX3x0eN8h+I7TkY5nkCXj+cWVp4ZqebtGBvok8ww==}
dependencies:
'@types/unist': 2.0.3
unist-util-stringify-position: 3.0.0
dev: true
/vfile-reporter/6.0.2: /vfile-reporter/6.0.2:
resolution: {integrity: sha512-GN2bH2gs4eLnw/4jPSgfBjo+XCuvnX9elHICJZjVD4+NM0nsUrMTvdjGY5Sc/XG69XVTgLwj7hknQVc6M9FukA==} resolution: {integrity: sha512-GN2bH2gs4eLnw/4jPSgfBjo+XCuvnX9elHICJZjVD4+NM0nsUrMTvdjGY5Sc/XG69XVTgLwj7hknQVc6M9FukA==}
dependencies: dependencies:
@ -23573,15 +23455,6 @@ packages:
resolution: {integrity: sha512-lXhElVO0Rq3frgPvFBwahmed3X03vjPF8OcjKMy8+F1xU/3Q3QU3tKEDp743SFtb74PdF0UWpxPvtOP0GCLheA==} resolution: {integrity: sha512-lXhElVO0Rq3frgPvFBwahmed3X03vjPF8OcjKMy8+F1xU/3Q3QU3tKEDp743SFtb74PdF0UWpxPvtOP0GCLheA==}
dev: true dev: true
/vfile/3.0.1:
resolution: {integrity: sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==}
dependencies:
is-buffer: 2.0.4
replace-ext: 1.0.0
unist-util-stringify-position: 1.1.2
vfile-message: 1.1.1
dev: true
/vfile/4.2.1: /vfile/4.2.1:
resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==}
dependencies: dependencies:
@ -24038,10 +23911,6 @@ packages:
optional: true optional: true
dev: true dev: true
/x-is-string/0.1.0:
resolution: {integrity: sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w==}
dev: true
/xdg-basedir/3.0.0: /xdg-basedir/3.0.0:
resolution: {integrity: sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==} resolution: {integrity: sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==}
engines: {node: '>=4'} engines: {node: '>=4'}

View file

@ -0,0 +1,14 @@
export default ({ children }) => (
<button
style={{
borderRadius: '3px',
border: '1px solid black',
color: 'black',
padding: '0.5em 1em',
cursor: 'pointer',
fontSize: '1.1em',
}}
>
{children}
</button>
)

View file

@ -0,0 +1,9 @@
const withMDX = require('@next/mdx')({
extension: /\.mdx?$/,
})
module.exports = withMDX({
pageExtensions: ['js', 'jsx', 'mdx'],
experimental: {
mdxRs: true,
},
})

View file

@ -0,0 +1,7 @@
import Button from '../components/button.js'
# MDX + Next.js
Look, a button! 👇
<Button>👋 Hello</Button>

View file

@ -0,0 +1,5 @@
## Hello MDX
Here's a simple mdx file!!
<p>Have p tag!</p>

View file

@ -0,0 +1,28 @@
/* eslint-env jest */
import { join } from 'path'
import { renderViaHTTP, findPort, launchApp, killApp } from 'next-test-utils'
const context = {}
describe('Configuration', () => {
beforeAll(async () => {
context.appPort = await findPort()
context.server = await launchApp(join(__dirname, '../'), context.appPort)
})
afterAll(() => {
killApp(context.server)
})
describe('MDX-rs Plugin support', () => {
it('should render an MDX page correctly', async () => {
expect(await renderViaHTTP(context.appPort, '/')).toMatch(/Hello MDX/)
})
it('should render an MDX page with component correctly', async () => {
expect(await renderViaHTTP(context.appPort, '/button')).toMatch(
/Look, a button!/
)
})
})
})