- srcset="example.jpg {{ imageWidth }}w"
+ srcset="example.jpg {{ imageWidth }}w"
sizes="{{ title }}"
@@ -130,10 +132,10 @@ import HatchBox from '@/vue/HatchBox.vue';
import ImagePreviewBox from "@/vue/ImagePreviewBox.vue";
import CraftNumberField from "@/vue/CraftNumberField.vue";
-const remPx = 16;
-const emPx = 16;
+//const remPx = 16;
+//const emPx = 16;
const maxNormalizedWidth = 1000;
-
+/*
const normalizeUnitsToPx = (value: number, units: string) => {
let result: number;
switch (units) {
@@ -151,6 +153,7 @@ const normalizeUnitsToPx = (value: number, units: string) => {
return result;
}
+*/
export default Vue.extend({
components: {
@@ -210,8 +213,7 @@ export default Vue.extend({
},
},
data(): Record
{
- return {
- }
+ return {}
},
computed: {
breakpointWidth(): string {
diff --git a/buildchain/tailwind.config.js b/buildchain/tailwind.config.ts
similarity index 59%
rename from buildchain/tailwind.config.js
rename to buildchain/tailwind.config.ts
index 498256da..68ecac75 100644
--- a/buildchain/tailwind.config.js
+++ b/buildchain/tailwind.config.ts
@@ -1,10 +1,9 @@
-// module exports
-module.exports = {
+/** @type {import('tailwindcss').Config} */
+export default {
content: [
'../src/templates/**/*.{twig,html}',
'./src/vue/**/*.{vue,html}',
],
- theme: {
- },
+ theme: {},
plugins: [],
};
diff --git a/buildchain/vite.config.ts b/buildchain/vite.config.ts
index b058218b..0e851b2d 100644
--- a/buildchain/vite.config.ts
+++ b/buildchain/vite.config.ts
@@ -13,7 +13,7 @@ export default defineConfig(({command}) => ({
base: command === 'serve' ? '' : '/dist/',
build: {
emptyOutDir: true,
- manifest: true,
+ manifest: 'manifest.json',
outDir: '../src/web/assets/dist',
rollupOptions: {
input: {
@@ -21,10 +21,8 @@ export default defineConfig(({command}) => ({
'field': 'src/js/OptimizedImagesField.js',
'welcome': 'src/js/Welcome.js',
},
- output: {
- sourcemap: true
- },
- }
+ },
+ sourcemap: true
},
plugins: [
viteRestartPlugin({
diff --git a/composer.json b/composer.json
index b041df9c..ce4e8ddd 100644
--- a/composer.json
+++ b/composer.json
@@ -2,7 +2,7 @@
"name": "nystudio107/craft-imageoptimize",
"description": "Automatically create & optimize responsive image transforms, using either native Craft transforms or a service like imgix, with zero template changes.",
"type": "craft-plugin",
- "version": "1.6.51",
+ "version": "1.6.52",
"keywords": [
"craft",
"cms",
@@ -36,6 +36,19 @@
"ksubileau/color-thief-php": "^1.3",
"mikehaertl/php-shellcommand": "~1.2"
},
+ "require-dev": {
+ "craftcms/ecs": "dev-main",
+ "craftcms/phpstan": "dev-main",
+ "craftcms/rector": "dev-main",
+ "markhuot/craftql": "^1.0.0",
+ "nystudio107/craft-minify": "^1.0.0",
+ "verbb/super-table": "^2.7.0"
+ },
+ "scripts": {
+ "phpstan": "phpstan --ansi --memory-limit=1G",
+ "check-cs": "ecs check --ansi",
+ "fix-cs": "ecs check --fix --ansi"
+ },
"config": {
"allow-plugins": {
"craftcms/plugin-installer": true,
diff --git a/docs/Dockerfile b/docs/Dockerfile
index 88ac9a38..f73791fa 100644
--- a/docs/Dockerfile
+++ b/docs/Dockerfile
@@ -1,7 +1,7 @@
-ARG TAG=14-alpine
+ARG TAG=20-alpine
FROM node:$TAG
-USER node
+RUN npm install -g npm@^10.0.0
WORKDIR /app/
diff --git a/docs/Makefile b/docs/Makefile
index 1619090d..c7635f93 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -1,8 +1,8 @@
MAJOR_VERSION?=1
-TAG?=14-alpine
+TAG?=20-alpine
CONTAINER?=$(shell basename $(dir $(CURDIR)))-v${MAJOR_VERSION}-docs
DOCS_DEV_PORT?=400${MAJOR_VERSION}
-DOCS_DEST?=../../../sites/nystudio107/web/docs/image-optimize
+DOCS_DEST?=../../../sites/nystudio107/web/docs/image-optimize/v1
IMAGE_INFO=$(shell docker image inspect $(CONTAINER):$(TAG))
IMAGE_NAME=${CONTAINER}:${TAG}
DOCKER_RUN=docker container run --rm -it -v "${CURDIR}":/app
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 00000000..4cf6fb2a
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,74 @@
+# `image-optimize` docs
+
+This buildchain is a self-contained build system for the `image-optimize` documentation.
+
+## Overview
+
+The buildchain uses [VitePress](https://vitepress.dev/) via a Docker container to facilitate writing the docs as [markdown](https://vitepress.dev/guide/markdown), linting them via [textlint](https://textlint.github.io/), building them as HTML files with bundled assets, and publishing them automatically via a [GitHub action](https://docs.github.com/en/actions).
+
+It also uses a [Rollup](https://rollupjs.org/) [sitemap plugin](https://github.com/aminnairi/rollup-plugin-sitemap) to generate a `sitemap.xml` for the generated docs.
+
+The markdown sources for the docs and assets are in the `docs/docs/` directory.
+
+The built distribution docs are created via the `build-and-deploy-docs.yaml`
+
+## Prerequisites
+
+To run the buildchain for development purposes:
+
+- You must have [Docker Desktop](https://www.docker.com/products/docker-desktop/) (or the equivalent) installed
+
+## Commands
+
+This buildchain uses `make` as an interface to the buildchain. The following commands are available from the `buildchain/` directory:
+
+- `make image-build` - Build the Docker image & run `npm install`. This command must be run once before using the Docker container.
+- `make dev` - Start Vite HMR dev server while writing/editing the docs. Click on the link displayed in the terminal to open the docs up
+- `make lint` - Run `textlint` on the docs, reporting on any errors and warnings
+- `make fix` - Run `textlint` on the docs, automatically fixing any errors, and reporting any warnings
+- `make clean` - Remove `node_modules/` and `package-lock.json` to start clean (need to run `make image-build` after doing this, see below)
+- `make npm XXX` - Run an `npm` command inside the container, e.g.: `make npm run lint` or `make npm install`
+- `make ssh` - Open up a shell session into the buildchain Docker container
+- `make build` - Do a local distribution build of the docs; normally not needed since they are built & deployed via GitHub action
+
+## Docs versioning
+
+Each major version of the plugin corresponds to a major version of Craft.
+
+Each major version of the plugin has separate documentation that needs to be updated when changes span plugin versions.
+
+The latest version of the docs that correspond to the latest version of the plugin is always the root of the docs tree, with older versions appearing in sub-directories:
+
+```
+│ index.html
+├── v4
+│ └── index.html
+├── v3
+│ └── index.html
+```
+
+The docs are entirely separate, but linked to eachother via a version menu, configured in the `docs/docs/.vitepress/config.ts` file.
+
+## Algolia Docsearch
+
+The docs uses [Algolia Docsearch](https://docsearch.algolia.com/) to index them, and allow for easy searching via a search field with auto-complete.
+
+Algolia Docsearch is configured in the `docs/docs/.vitepress/config.ts` file.
+
+## textlint
+
+The buildchain uses [textlint](https://textlint.github.io/) to automatically fix errors on build, and also issue writing style warnings.
+
+`textlint` automatically uses any rules added to the `docs/package.json` file, which can be overridden or customized via the `docs/.textlintrc.js` file.
+
+See the [textlint docs](https://textlint.github.io/docs/getting-started.html) for details.
+
+## Overriding environment variables
+
+The `Makefile` contains sane defaults for most things, but you can override them via environment variables if you need to.
+
+For instance, if you want to change the `DOCS_DEST` environment variable to change where `make build` builds the docs locally, you can set it before running any buildchain `make` commands:
+```bash
+env DOCS_DEST=../path/to/some/dir make build
+```
+...or use any other method for [setting environment variables](https://www.twilio.com/blog/how-to-set-environment-variables.html). This environment variable needs to be set in the shell where you run the buildchain's various `make` commands from, so setting it in your project's `.env` file won't work.
diff --git a/docs/docs/.vitepress/config.ts b/docs/docs/.vitepress/config.ts
index 248efed1..0e5dd7c3 100644
--- a/docs/docs/.vitepress/config.ts
+++ b/docs/docs/.vitepress/config.ts
@@ -3,7 +3,7 @@ import {defineConfig} from 'vitepress'
export default defineConfig({
title: 'ImageOptimize Plugin',
description: 'Documentation for the ImageOptimize plugin',
- base: '/docs/image-optimize/v3/',
+ base: '/docs/image-optimize/v1/',
lang: 'en-US',
head: [
['meta', {content: 'https://github.com/nystudio107', property: 'og:see_also',}],
@@ -24,7 +24,10 @@ export default defineConfig({
algolia: {
appId: 'HVVF81UL1B',
apiKey: '84793c9eb47412ec6c79ad038c19086e',
- indexName: 'image-optimize'
+ indexName: 'image-optimize',
+ searchParameters: {
+ facetFilters: ["version:v1"],
+ },
},
lastUpdatedText: 'Last Updated',
sidebar: [
@@ -45,9 +48,10 @@ export default defineConfig({
{text: 'Changelog', link: 'https://nystudio107.com/plugins/imageoptimize/changelog'},
{text: 'Issues', link: 'https://github.com/nystudio107/craft-imageoptimize/issues'},
{
- text: 'v3', items: [
- {text: 'v4', link: 'https://nystudio107.com/docs/image-optimize/'},
- {text: 'v3', link: '/'},
+ text: 'v1', items: [
+ {text: 'v5', link: 'https://nystudio107.com/docs/image-optimize/'},
+ {text: 'v4', link: 'https://nystudio107.com/docs/image-optimize/v4/'},
+ {text: 'v1', link: '/'},
],
},
],
diff --git a/docs/docs/@types/sitemap-plugin.d.ts b/docs/docs/@types/sitemap-plugin.d.ts
deleted file mode 100644
index 3328d685..00000000
--- a/docs/docs/@types/sitemap-plugin.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-type SiteMapPluginUrls = { path: string; name: string; }[] | undefined;
diff --git a/docs/docs/index.md b/docs/docs/index.md
index c21fc5ff..d25c5c53 100644
--- a/docs/docs/index.md
+++ b/docs/docs/index.md
@@ -14,7 +14,7 @@ Automatically create & optimize responsive image transforms, using either native
## Requirements
-This plugin requires Craft CMS 3.0.0 or later or Craft CMS 4.0.0 or later.
+This plugin requires Craft CMS 3.0.0
## Installation
diff --git a/docs/docs/using.md b/docs/docs/using.md
index c38dfd27..b66e6037 100644
--- a/docs/docs/using.md
+++ b/docs/docs/using.md
@@ -26,15 +26,15 @@ You can then create as many Optimized Image Variants as you like:
You can add, delete, and re-order the Optimized Image Variants just like you can Matrix blocks.
For each Optimized Image Variant, set:
-
- * **Width**: The width of the image, which should correspond to your CSS `@media` query breakpoints or container sizes. For performance, we want to images to be the exact size that they will be displayed on-screen.
- * **Enforce Aspect Ratio**: Controls whether or not the aspect ratio should be enforced for this variant. When off, the vertical dimension retains the original image aspect ratio
- * **Aspect Ratio**: Pick an aspect ratio for the image from the available choices, or create your own with the `?` aspect ratio.
- * **Retina Sizes**: Check any additional retina sizes to create for this variant. For instance, a `100x60` image with with a `2x` retina size would _also_ create a `200x120` image.
- * **Quality**: The quality of the generated image; if **Auto** is selected, it will use your `config/general.php` setting for `defaultImageQuality`
- * **Image Format**: The file format of the generated image; if **Auto** is selected, it will use the original image’s file format. It’s recommended that you set this to `jpg` for most images, for client-proofing purposes.
-
- Once you have set up your field, add it to your asset Volume’s layout via **Settings** → **Assets**, then click on your asset Volume, and click on **Field Layout**.
+
+* **Width**: The width of the image, which should correspond to your CSS `@media` query breakpoints or container sizes. For performance, we want to images to be the exact size that they will be displayed on-screen.
+* **Enforce Aspect Ratio**: Controls whether or not the aspect ratio should be enforced for this variant. When off, the vertical dimension retains the original image aspect ratio
+* **Aspect Ratio**: Pick an aspect ratio for the image from the available choices, or create your own with the `?` aspect ratio.
+* **Retina Sizes**: Check any additional retina sizes to create for this variant. For instance, a `100x60` image with with a `2x` retina size would _also_ create a `200x120` image.
+* **Quality**: The quality of the generated image; if **Auto** is selected, it will use your `config/general.php` setting for `defaultImageQuality`
+* **Image Format**: The file format of the generated image; if **Auto** is selected, it will use the original image’s file format. It’s recommended that you set this to `jpg` for most images, for client-proofing purposes.
+
+Once you have set up your field, add it to your asset Volume’s layout via **Settings** → **Assets**, then click on your asset Volume, and click on **Field Layout**.
By default, ImageOptimize automatically will decrease the `quality` setting of retina images, as discussed in the [Retina revolution](https://www.netvlies.nl/blogs/retina-revolutie-follow) article. This allows for increasing the visual quality of the retina images while keeping the file size modest. You can disable this via the `lowerQualityRetinaImageVariants` setting in `config.php`.
@@ -228,7 +228,819 @@ The third parameter is the `generatePlacholders` setting, which disables generat
ImageOptimize makes it easy to create responsive images in your frontend templates. There are two primary ways to create responsive images: using the `
` element or using the `` element.
-### Img srcset
+ImageOptimize provides simple but powerful shortcut commands for creating HTML markup from the Optimized Images field, or you can do it manually as well.
+
+Generally speaking, you'll usually want to have CSS like this applied to your images with a class:
+
+```css
+.responsive-img {
+ width: 100%;
+ height: auto;
+}
+```
+
+This allows the images to have `height` and `width` attributes applied to them so the browser can load them without layout shifts, while also fitting appropriately in the container.
+
+### Shortcut Method
+
+ImageOptimize knows all about your images, and so can create the HTML markup for your `
` and `` tags quickly and easily.
+
+#### Using `.imgTag()` to create `
` tags
+
+An OptimizedImages field has a `.imgTag()` method that will generate a complete `
` tag for you. In its simplest form, it looks like this:
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.imgTag().render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+```
+
+The `imgTag()` also supports an Element Query-like API that lets you customize the `
` tag that is output.
+
+##### The `.imgAttrs()` Parameter
+
+With `.imgAttrs()`, you can add or override any of the HTML attributes that will be included in the `
` tag. For example, if you wanted the `sizes` attribute in set to `50vw`, and you wanted to add an `alt` attribute, you'd do the following:
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.imgTag()
+ .imgAttrs({
+ 'sizes': '50vw',
+ 'alt': asset.title,
+ })
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+```
+
+Any attributes with empty values will not be rendered, so you can use that to remove any of the prepopulated attributes should you need to.
+
+##### The `.loading()` Parameter
+
+With `.loading()`, you can control how the image will be loaded.
+
+###### Using `.loading('eager')`
+
+`.loading('eager')` is the default, which causes the image to be loader eagerly.
+
+You'd typically want this for "above the fold" images that should be rendered as soon as possible.
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.imgTag()
+ .loading('eager')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+```
+
+###### Using `.loading('lazy')`
+
+`.loading('lazy')` will load the image lazily via native browser [lazing loading](https://web.dev/articles/browser-level-image-lazy-loading) by adding `class="lazyload"` and `loading="lazy"` attributes to the image.
+
+This leverages native browser lazy loading of images, without the need for additional JavaScript code.
+
+You'd typically want this for "below the fold" images that the browser can load lazily as needed.
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.imgTag()
+ .loading('lazy')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+```
+
+Note that it sets the background image to the OptimizedImage's placeholder via the `style` attribute, sp the placeholder image will be visible until the actual image loads.
+
+###### Using `.loading('lazySizes')`
+
+`.loading('lazySizes')` will load the image lazily via the [lazysizes](https://github.com/aFarkas/lazysizes) library. You'd typically want this for "below the fold" images that the browser can load lazily as needed.
+
+This allows you to support lazy loading of images even with browsers that don't support native lazy loading.
+
+You'd typically want this for "below the fold" images that the browser can load lazily as needed.
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.imgTag()
+ .loading('lazySizes')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+```
+
+It's expected that you will have loaded the lazysizes library already on the frontend via your JavaScript build system, but if you want ImageOptimize to include the lazysizes JavaScript for you via CDN you can do the following anywhere in the `` of your HTML:
+
+```twig
+ {{ craft.imageOptimize.renderLazySizesJs() }}
+```
+
+Note that it sets the background image to the OptimizedImage's placeholder via the `style` attribute, sp the placeholder image will be visible until the actual image loads.
+
+###### `.loading('lazySizesFallback')`
+
+`.loading('lazySizesFallback')` will load the image lazily via the native browser [lazing loading](https://web.dev/articles/browser-level-image-lazy-loading), but will fall back on using the [lazysizes](https://github.com/aFarkas/lazysizes) library if the browser doesn't support native lazy loading.
+
+This is the best of both worlds, in terms of using native browser lazy loading if it's available, and falling back on lazysizes JavaScript if it is not.
+
+You'd typically want this for "below the fold" images that the browser can load lazily as needed.
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.imgTag()
+ .loading('lazySizesFallback')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+```
+
+Then you just need to include the [lazysizes fallback script](https://web.dev/articles/browser-level-image-lazy-loadingS#how_do_i_handle_browsers_that_dont_support_lazy_loading) in your `` tag somewhere with:
+
+```twig
+ {{ craft.imageOptimize.renderLazySizesFallbackJs() }}
+```
+
+Note that it sets the background image to the OptimizedImage's placeholder via the `style` attribute, sp the placeholder image will be visible until the actual image loads.
+
+##### The `.placeholder()` Parameter
+
+With `.placeholder()`, you can set the type of placeholder image that should be used for lazy loaded images. It can one of the following:
+
+* `'box'` - (default) a simple SVG box that's the same size as the final image
+* `'color'` - a SVG box that uses the predominant color from the image as the backrground color
+* `'image'` - a base64 encoded low quality placeholder image ([LQPI](https://csswizardry.com/2023/09/the-ultimate-lqip-lcp-technique/)) version of the image
+* `'silhouette'` - a generated SVG image that is a silhouette of the actual image
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.imgTag()
+ .placeholder('image')
+ .loading('lazy')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+```
+
+#### Using `.pictureTag()` to create `` tags
+
+An OptimizedImages field has a `.pictureTag()` method that will generate a complete `` tag with embedded `` and `
` tags for you. In its simplest form, it looks like this:
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag().render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+```
+
+The `pictureTag()` also supports an Element Query-like API that lets you customize the `` tag that is output.
+
+##### The `.imgAttrs()` Parameter
+
+With `.imgAttrs()`, you can add or override any of the HTML attributes that will be included in the embedded `
` tag. For example, if you wanted to add an `alt` attribute, you'd do the following:
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag()
+ .imgAttrs({
+ 'alt': asset.title,
+ })
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+```
+
+Any attributes with empty values will not be rendered, so you can use that to remove any of the prepopulated attributes should you need to.
+
+##### The `.loading()` Parameter
+
+With `.loading()`, you can control how the image will be loaded.
+
+###### Using `.loading('eager')`
+
+`.loading('eager')` is the default, which causes the image to be loader eagerly.
+
+You'd typically want this for "above the fold" images that should be rendered as soon as possible.
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag()
+ .loading('eager')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+```
+
+###### Using `.loading('lazy')`
+
+`.loading('lazy')` will load the image lazily via native browser [lazing loading](https://web.dev/articles/browser-level-image-lazy-loading) by adding `class="lazyload"` and `loading="lazy"` attributes to the image.
+
+This leverages native browser lazy loading of images, without the need for additional JavaScript code.
+
+You'd typically want this for "below the fold" images that the browser can load lazily as needed.
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag()
+ .loading('lazy')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+```
+
+Note that it sets the background image to the OptimizedImage's placeholder via the `style` attribute, sp the placeholder image will be visible until the actual image loads.
+
+###### Using `.loading('lazySizes')`
+
+`.loading('lazySizes')` will load the image lazily via the [lazysizes](https://github.com/aFarkas/lazysizes) library. You'd typically want this for "below the fold" images that the browser can load lazily as needed.
+
+This allows you to support lazy loading of images even with browsers that don't support native lazy loading.
+
+You'd typically want this for "below the fold" images that the browser can load lazily as needed.
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag()
+ .loading('lazySizes')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+```
+
+It's expected that you will have loaded the lazysizes library already on the frontend via your JavaScript build system, but if you want ImageOptimize to include the lazysizes JavaScript for you via CDN you can do the following anywhere in the `` of your HTML:
+
+```twig
+ {{ craft.imageOptimize.renderLazySizesJs() }}
+```
+
+Note that it sets the background image to the OptimizedImage's placeholder via the `style` attribute, sp the placeholder image will be visible until the actual image loads.
+
+###### `.loading('lazySizesFallback')`
+
+`.loading('lazySizesFallback')` will load the image lazily via the native browser [lazing loading](https://web.dev/articles/browser-level-image-lazy-loading), but will fall back on using the [lazysizes](https://github.com/aFarkas/lazysizes) library if the browser doesn't support native lazy loading.
+
+This is the best of both worlds, in terms of using native browser lazy loading if it's available, and falling back on lazysizes JavaScript if it is not.
+
+You'd typically want this for "below the fold" images that the browser can load lazily as needed.
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag()
+ .loading('lazySizesFallback')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+```
+
+Then you just need to include the [lazysizes fallback script](https://web.dev/articles/browser-level-image-lazy-loadingS#how_do_i_handle_browsers_that_dont_support_lazy_loading) in your `` tag somewhere with:
+
+```twig
+ {{ craft.imageOptimize.renderLazySizesFallbackJs() }}
+```
+
+Note that it sets the background image to the OptimizedImage's placeholder via the `style` attribute, sp the placeholder image will be visible until the actual image loads.
+
+##### The `.placeholder()` Parameter
+
+With `.placeholder()`, you can set the type of placeholder image that should be used for lazy loaded images. It can one of the following:
+
+* `'box'` - (default) a simple SVG box that's the same size as the final image
+* `'color'` - a SVG box that uses the predominant color from the image as the backrground color
+* `'image'` - a base64 encoded low quality placeholder image ([LQPI](https://csswizardry.com/2023/09/the-ultimate-lqip-lcp-technique/)) version of the image
+* `'silhouette'` - a generated SVG image that is a silhouette of the actual image
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag()
+ .placeholder('image')
+ .loading('lazy')
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+```
+
+##### The `.pictureAttrs()` Parameter
+
+With `.pictureAttrs()`, you can add or override any of the HTML attributes that will be included in the `` tag. For example, if you wanted to add a `class` attribute to the `` tag, you'd do the following:
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag()
+ .pictureAttrs({
+ 'class': 'some-css-class',
+ })
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+```
+
+Any attributes with empty values will not be rendered, so you can use that to remove any of the prepopulated attributes should you need to.
+
+##### The `.sourceAttrs()` Parameter
+
+With `.sourceAttrs()`, you can add or override any of the HTML attributes that will be included in the embedded `` tags. For example, if you wanted to add a `media` attribute, you'd do the following:
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag()
+ .sourceAttrs({
+ 'media': '(min-width: 800px)',
+ })
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+```
+
+Any attributes with empty values will not be rendered, so you can use that to remove any of the prepopulated attributes should you need to.
+
+##### The `.artDirection()` Parameter
+
+Since each OptimizedImages field can be thought of as encapsulating a [srcset](https://cloudfour.com/thinks/responsive-images-101-part-4-srcset-width-descriptors/) for your images, if you require art direction where images change aspect ratios at different screen sizes, then you should use another OptimizedImages field for each art direction.
+
+With `.artDirection()`, you can add the `` tags from additional OptimizedImages fields to an output `` tag. The first argument is the OptimizedImages field, and the second argument is any `sourceAttrs` you want to set on the `` tags:
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.pictureTag()
+ .loading('lazy')
+ .sourceAttrs({
+ 'media': '(min-width: 800px)',
+ 'sizes': '80vw',
+ })
+ .artDirection(asset.mobileOptimizedImagesField, {
+ 'media': '(max-width: 799px)',
+ 'sizes': '60vw',
+ })
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+
+
+
+
+
+
+```
+
+Any attributes with empty values will not be rendered, so you can use that to remove any of the prepopulated attributes should you need to.
+
+#### Using `.linkPreloadTag()` to create `` tags
+
+An OptimizedImages field has a `.linkPreloadTag()` method that will generate a complete `` tag for you.
+
+This lets you give the browser hints to [preload image srcsets](https://web.dev/articles/preload-responsive-images#imagesrcset_and_imagesizes) to ensure the important images like above the fold hero images are loaded as quickly as possible.
+
+You'd want these `` tags to be rendered somewhere high up in your HTML `` so the browser can start prefetching them ASAP. In its simplest form, it looks like this:
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.linkPreloadTag().render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+```
+
+Any browser that supports `` tags _also_ supports `.webp` so it will prefer `.webp` images if they are available, but will fall back on the regular images otherwise.
+
+The `linkPreloadTag()` also supports an Element Query-like API that lets you customize the `` tag that is output.
+
+##### The `.linkAttrs()` Parameter
+
+With `.linkAttrs()`, you can add or override any of the HTML attributes that will be included in the `` tag. For example, if you wanted to add a `media` attribute, you'd do the following:
+
+```twig
+ {% set asset = entry.myAssetField.one() %}
+ {{ asset.optimizedImagesField.linkPreloadTag()
+ .linkAttrs({
+ 'media': '(min-width: 800px)',
+ })
+ .render() }}
+```
+
+Which will generate the following HTML markup for you:
+
+```html
+
+```
+
+Any attributes with empty values will not be rendered, so you can use that to remove any of the prepopulated attributes should you need to.
+
+### Manual Method
+
+You can also manually create your HTML markup for `
` and `` tags as well.
+
+#### Img srcset
To use `
` elements in your templates, you can just do:
@@ -282,7 +1094,7 @@ To check to see if `.webp` is supported on the server so you can conditionally i
{% endif %}
```
-### Picture Elements
+#### Picture Elements
To use `` in your templates, you can just do:
@@ -336,7 +1148,7 @@ If you’re using the [LazySizes](https://github.com/aFarkas/lazysizes) JavaScri
```
-### Media Query srcset Sizes
+#### Media Query srcset Sizes
If you need separate `srcset`s to match your media queries, you can use:
```twig
@@ -371,12 +1183,12 @@ To mimic the `max-width` media query, you can do:
```
...to output all variants that match the passed in width or are smaller than the passed in width (which also includes any `2x` or `3x` retina variants).
-### Placeholder Images
+#### Placeholder Images
-Image Optimize offers three different flavors of placeholder images you can display while the actual image is being lazy loaded via `lazysizes`.
+Image Optimize offers three different flavors of placeholder images you can display while the actual image is being lazy loaded via `lazysizes`.
All of the placeholder images are stored in the Optimized Image field itself, so no http request is needed to fetch it, and the inline data used to generate them is very small.
-
+
The first is `.placeholderBox()` which displays a simple inline SVG with the background color set to the dominant color of the image:

@@ -422,7 +1234,7 @@ If you have `devMode` on, ImageOptimize will log stats for images that it optimi
2017-03-12 07:49:27 [192.168.10.1][1][-][info][nystudio107\ImageOptimize\services\Optimize::handleGenerateTransformEvent] zappa.png -> Original: 129.5K, Optimized: 100.8K -> Savings: 28.4%
```
-Image transforms that are scaled down >= 50% are auto-sharpened (controllable via the `autoSharpenScaledImages` setting in `config.php`).
+Image transforms that are scaled down >= 50% are auto-sharpened (controllable via the `autoSharpenScaledImages` setting in `config.php`).

@@ -439,8 +1251,8 @@ Here’s an example of what it looks like for images with the transform `Some Tr

The savings from using `.webp` can be significant, without sacrificing image quality:
-
- 
+
+
`webp` also supports transparency, so it can be used as a viable substitute for both `.jpg` and `.png`
diff --git a/docs/docs/vite.config.ts b/docs/docs/vite.config.ts
index 7315400a..d021a26b 100644
--- a/docs/docs/vite.config.ts
+++ b/docs/docs/vite.config.ts
@@ -1,18 +1,18 @@
import {defineConfig} from 'vite'
-import SitemapPlugin from 'rollup-plugin-sitemap'
+import { sitemap, Url as SitemapUrl } from '@aminnairi/rollup-plugin-sitemap'
import VitePressConfig from './.vitepress/config'
import {DefaultTheme} from "vitepress/types/default-theme";
const docsSiteBaseUrl = 'https://nystudio107.com'
const docsBaseUrl = new URL(VitePressConfig.base!, docsSiteBaseUrl).href.replace(/\/$/, '') + '/';
-let siteMapRoutes: SiteMapPluginUrls = [];
+let siteMapUrls: SitemapUrl[] = [];
if (Array.isArray(VitePressConfig.themeConfig?.sidebar)) {
- siteMapRoutes = VitePressConfig.themeConfig?.sidebar?.map((group: DefaultTheme.SidebarItem) => {
- return group.items!.map((items: DefaultTheme.SidebarItem) => ({
- path: items.link!.replace(/^\/+/, '') ?? '',
- name: items.text ?? ''
+ siteMapUrls = VitePressConfig.themeConfig?.sidebar?.map((group: DefaultTheme.SidebarItem) => {
+ return group.items!.map((items: DefaultTheme.SidebarItem) => ({
+ location: items.link!.replace(/^\/+/, '') ?? '',
+ lastModified: new Date(),
}));
- }).reduce((prev: SiteMapPluginUrls, curr: SiteMapPluginUrls) => {
+ }).reduce((prev: SitemapUrl[], curr: SitemapUrl[]) => {
return prev!.concat(curr!);
});
}
@@ -20,10 +20,9 @@ if (Array.isArray(VitePressConfig.themeConfig?.sidebar)) {
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
- SitemapPlugin({
+ sitemap({
baseUrl: docsBaseUrl,
- contentBase: './docs/.vitepress/dist',
- routes: siteMapRoutes,
+ urls: siteMapUrls,
})
],
server: {
diff --git a/docs/package-lock.json b/docs/package-lock.json
index 6e1c002e..f9b038b7 100644
--- a/docs/package-lock.json
+++ b/docs/package-lock.json
@@ -1,443 +1,968 @@
{
+ "name": "app",
+ "lockfileVersion": 3,
"requires": true,
- "lockfileVersion": 1,
- "dependencies": {
- "@algolia/autocomplete-core": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.4.tgz",
- "integrity": "sha512-daoLpQ3ps/VTMRZDEBfU8ixXd+amZcNJ4QSP3IERGyzqnL5Ch8uSRFt/4G8pUvW9c3o6GA4vtVv4I4lmnkdXyg==",
+ "packages": {
+ "": {
+ "devDependencies": {
+ "@aminnairi/rollup-plugin-sitemap": "^0.1.0",
+ "@textlint-rule/textlint-rule-no-unmatched-pair": "^1.0.8",
+ "@types/node": "^20.0.0",
+ "textlint": "^13.0.0",
+ "textlint-filter-rule-comments": "^1.2.2",
+ "textlint-rule-apostrophe": "^1.0.0",
+ "textlint-rule-common-misspellings": "^1.0.1",
+ "textlint-rule-diacritics": "^1.0.0",
+ "textlint-rule-en-capitalization": "^2.0.2",
+ "textlint-rule-stop-words": "^2.0.8",
+ "textlint-rule-terminology": "^2.1.4",
+ "textlint-rule-write-good": "^1.6.2",
+ "vitepress": "^1.0.0-alpha.29"
+ }
+ },
+ "node_modules/@aashutoshrathi/word-wrap": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
+ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@algolia/autocomplete-core": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz",
+ "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==",
"dev": true,
- "requires": {
- "@algolia/autocomplete-shared": "1.7.4"
+ "dependencies": {
+ "@algolia/autocomplete-plugin-algolia-insights": "1.9.3",
+ "@algolia/autocomplete-shared": "1.9.3"
}
},
- "@algolia/autocomplete-preset-algolia": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.4.tgz",
- "integrity": "sha512-s37hrvLEIfcmKY8VU9LsAXgm2yfmkdHT3DnA3SgHaY93yjZ2qL57wzb5QweVkYuEBZkT2PIREvRoLXC2sxTbpQ==",
+ "node_modules/@algolia/autocomplete-plugin-algolia-insights": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz",
+ "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==",
"dev": true,
- "requires": {
- "@algolia/autocomplete-shared": "1.7.4"
+ "dependencies": {
+ "@algolia/autocomplete-shared": "1.9.3"
+ },
+ "peerDependencies": {
+ "search-insights": ">= 1 < 3"
}
},
- "@algolia/autocomplete-shared": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.4.tgz",
- "integrity": "sha512-2VGCk7I9tA9Ge73Km99+Qg87w0wzW4tgUruvWAn/gfey1ZXgmxZtyIRBebk35R1O8TbK77wujVtCnpsGpRy1kg==",
- "dev": true
+ "node_modules/@algolia/autocomplete-preset-algolia": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz",
+ "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/autocomplete-shared": "1.9.3"
+ },
+ "peerDependencies": {
+ "@algolia/client-search": ">= 4.9.1 < 6",
+ "algoliasearch": ">= 4.9.1 < 6"
+ }
},
- "@algolia/cache-browser-local-storage": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.3.tgz",
- "integrity": "sha512-hWH1yCxgG3+R/xZIscmUrWAIBnmBFHH5j30fY/+aPkEZWt90wYILfAHIOZ1/Wxhho5SkPfwFmT7ooX2d9JeQBw==",
+ "node_modules/@algolia/autocomplete-shared": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz",
+ "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==",
"dev": true,
- "requires": {
- "@algolia/cache-common": "4.14.3"
+ "peerDependencies": {
+ "@algolia/client-search": ">= 4.9.1 < 6",
+ "algoliasearch": ">= 4.9.1 < 6"
}
},
- "@algolia/cache-common": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.3.tgz",
- "integrity": "sha512-oZJofOoD9FQOwiGTzyRnmzvh3ZP8WVTNPBLH5xU5JNF7drDbRT0ocVT0h/xB2rPHYzOeXRrLaQQBwRT/CKom0Q==",
+ "node_modules/@algolia/cache-browser-local-storage": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.2.tgz",
+ "integrity": "sha512-PvRQdCmtiU22dw9ZcTJkrVKgNBVAxKgD0/cfiqyxhA5+PHzA2WDt6jOmZ9QASkeM2BpyzClJb/Wr1yt2/t78Kw==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-common": "4.23.2"
+ }
+ },
+ "node_modules/@algolia/cache-common": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.2.tgz",
+ "integrity": "sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==",
"dev": true
},
- "@algolia/cache-in-memory": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.3.tgz",
- "integrity": "sha512-ES0hHQnzWjeioLQf5Nq+x1AWdZJ50znNPSH3puB/Y4Xsg4Av1bvLmTJe7SY2uqONaeMTvL0OaVcoVtQgJVw0vg==",
+ "node_modules/@algolia/cache-in-memory": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.2.tgz",
+ "integrity": "sha512-rfbi/SnhEa3MmlqQvgYz/9NNJ156NkU6xFxjbxBtLWnHbpj+qnlMoKd+amoiacHRITpajg6zYbLM9dnaD3Bczw==",
"dev": true,
- "requires": {
- "@algolia/cache-common": "4.14.3"
+ "dependencies": {
+ "@algolia/cache-common": "4.23.2"
}
},
- "@algolia/client-account": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.3.tgz",
- "integrity": "sha512-PBcPb0+f5Xbh5UfLZNx2Ow589OdP8WYjB4CnvupfYBrl9JyC1sdH4jcq/ri8osO/mCZYjZrQsKAPIqW/gQmizQ==",
+ "node_modules/@algolia/client-account": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.2.tgz",
+ "integrity": "sha512-VbrOCLIN/5I7iIdskSoSw3uOUPF516k4SjDD4Qz3BFwa3of7D9A0lzBMAvQEJJEPHWdVraBJlGgdJq/ttmquJQ==",
"dev": true,
- "requires": {
- "@algolia/client-common": "4.14.3",
- "@algolia/client-search": "4.14.3",
- "@algolia/transporter": "4.14.3"
+ "dependencies": {
+ "@algolia/client-common": "4.23.2",
+ "@algolia/client-search": "4.23.2",
+ "@algolia/transporter": "4.23.2"
}
},
- "@algolia/client-analytics": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.3.tgz",
- "integrity": "sha512-eAwQq0Hb/aauv9NhCH5Dp3Nm29oFx28sayFN2fdOWemwSeJHIl7TmcsxVlRsO50fsD8CtPcDhtGeD3AIFLNvqw==",
+ "node_modules/@algolia/client-analytics": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.2.tgz",
+ "integrity": "sha512-lLj7irsAztGhMoEx/SwKd1cwLY6Daf1Q5f2AOsZacpppSvuFvuBrmkzT7pap1OD/OePjLKxicJS8wNA0+zKtuw==",
"dev": true,
- "requires": {
- "@algolia/client-common": "4.14.3",
- "@algolia/client-search": "4.14.3",
- "@algolia/requester-common": "4.14.3",
- "@algolia/transporter": "4.14.3"
+ "dependencies": {
+ "@algolia/client-common": "4.23.2",
+ "@algolia/client-search": "4.23.2",
+ "@algolia/requester-common": "4.23.2",
+ "@algolia/transporter": "4.23.2"
}
},
- "@algolia/client-common": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.3.tgz",
- "integrity": "sha512-jkPPDZdi63IK64Yg4WccdCsAP4pHxSkr4usplkUZM5C1l1oEpZXsy2c579LQ0rvwCs5JFmwfNG4ahOszidfWPw==",
+ "node_modules/@algolia/client-common": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.2.tgz",
+ "integrity": "sha512-Q2K1FRJBern8kIfZ0EqPvUr3V29ICxCm/q42zInV+VJRjldAD9oTsMGwqUQ26GFMdFYmqkEfCbY4VGAiQhh22g==",
"dev": true,
- "requires": {
- "@algolia/requester-common": "4.14.3",
- "@algolia/transporter": "4.14.3"
+ "dependencies": {
+ "@algolia/requester-common": "4.23.2",
+ "@algolia/transporter": "4.23.2"
}
},
- "@algolia/client-personalization": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.3.tgz",
- "integrity": "sha512-UCX1MtkVNgaOL9f0e22x6tC9e2H3unZQlSUdnVaSKpZ+hdSChXGaRjp2UIT7pxmPqNCyv51F597KEX5WT60jNg==",
+ "node_modules/@algolia/client-personalization": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.2.tgz",
+ "integrity": "sha512-vwPsgnCGhUcHhhQG5IM27z8q7dWrN9itjdvgA6uKf2e9r7vB+WXt4OocK0CeoYQt3OGEAExryzsB8DWqdMK5wg==",
"dev": true,
- "requires": {
- "@algolia/client-common": "4.14.3",
- "@algolia/requester-common": "4.14.3",
- "@algolia/transporter": "4.14.3"
+ "dependencies": {
+ "@algolia/client-common": "4.23.2",
+ "@algolia/requester-common": "4.23.2",
+ "@algolia/transporter": "4.23.2"
}
},
- "@algolia/client-search": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.3.tgz",
- "integrity": "sha512-I2U7xBx5OPFdPLA8AXKUPPxGY3HDxZ4r7+mlZ8ZpLbI8/ri6fnu6B4z3wcL7sgHhDYMwnAE8Xr0AB0h3Hnkp4A==",
+ "node_modules/@algolia/client-search": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.2.tgz",
+ "integrity": "sha512-CxSB29OVGSE7l/iyoHvamMonzq7Ev8lnk/OkzleODZ1iBcCs3JC/XgTIKzN/4RSTrJ9QybsnlrN/bYCGufo7qw==",
"dev": true,
- "requires": {
- "@algolia/client-common": "4.14.3",
- "@algolia/requester-common": "4.14.3",
- "@algolia/transporter": "4.14.3"
+ "dependencies": {
+ "@algolia/client-common": "4.23.2",
+ "@algolia/requester-common": "4.23.2",
+ "@algolia/transporter": "4.23.2"
}
},
- "@algolia/logger-common": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.3.tgz",
- "integrity": "sha512-kUEAZaBt/J3RjYi8MEBT2QEexJR2kAE2mtLmezsmqMQZTV502TkHCxYzTwY2dE7OKcUTxi4OFlMuS4GId9CWPw==",
+ "node_modules/@algolia/logger-common": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.2.tgz",
+ "integrity": "sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==",
"dev": true
},
- "@algolia/logger-console": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.3.tgz",
- "integrity": "sha512-ZWqAlUITktiMN2EiFpQIFCJS10N96A++yrexqC2Z+3hgF/JcKrOxOdT4nSCQoEPvU4Ki9QKbpzbebRDemZt/hw==",
+ "node_modules/@algolia/logger-console": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.2.tgz",
+ "integrity": "sha512-oo+lnxxEmlhTBTFZ3fGz1O8PJ+G+8FiAoMY2Qo3Q4w23xocQev6KqDTA1JQAGPDxAewNA2VBwWOsVXeXFjrI/Q==",
"dev": true,
- "requires": {
- "@algolia/logger-common": "4.14.3"
+ "dependencies": {
+ "@algolia/logger-common": "4.23.2"
}
},
- "@algolia/requester-browser-xhr": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.3.tgz",
- "integrity": "sha512-AZeg2T08WLUPvDncl2XLX2O67W5wIO8MNaT7z5ii5LgBTuk/rU4CikTjCe2xsUleIZeFl++QrPAi4Bdxws6r/Q==",
+ "node_modules/@algolia/recommend": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.2.tgz",
+ "integrity": "sha512-Q75CjnzRCDzgIlgWfPnkLtrfF4t82JCirhalXkSSwe/c1GH5pWh4xUyDOR3KTMo+YxxX3zTlrL/FjHmUJEWEcg==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-browser-local-storage": "4.23.2",
+ "@algolia/cache-common": "4.23.2",
+ "@algolia/cache-in-memory": "4.23.2",
+ "@algolia/client-common": "4.23.2",
+ "@algolia/client-search": "4.23.2",
+ "@algolia/logger-common": "4.23.2",
+ "@algolia/logger-console": "4.23.2",
+ "@algolia/requester-browser-xhr": "4.23.2",
+ "@algolia/requester-common": "4.23.2",
+ "@algolia/requester-node-http": "4.23.2",
+ "@algolia/transporter": "4.23.2"
+ }
+ },
+ "node_modules/@algolia/requester-browser-xhr": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.2.tgz",
+ "integrity": "sha512-TO9wLlp8+rvW9LnIfyHsu8mNAMYrqNdQ0oLF6eTWFxXfxG3k8F/Bh7nFYGk2rFAYty4Fw4XUtrv/YjeNDtM5og==",
"dev": true,
- "requires": {
- "@algolia/requester-common": "4.14.3"
+ "dependencies": {
+ "@algolia/requester-common": "4.23.2"
}
},
- "@algolia/requester-common": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.3.tgz",
- "integrity": "sha512-RrRzqNyKFDP7IkTuV3XvYGF9cDPn9h6qEDl595lXva3YUk9YSS8+MGZnnkOMHvjkrSCKfoLeLbm/T4tmoIeclw==",
+ "node_modules/@algolia/requester-common": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.2.tgz",
+ "integrity": "sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==",
"dev": true
},
- "@algolia/requester-node-http": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.3.tgz",
- "integrity": "sha512-O5wnPxtDRPuW2U0EaOz9rMMWdlhwP0J0eSL1Z7TtXF8xnUeeUyNJrdhV5uy2CAp6RbhM1VuC3sOJcIR6Av+vbA==",
+ "node_modules/@algolia/requester-node-http": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.2.tgz",
+ "integrity": "sha512-SVzgkZM/malo+2SB0NWDXpnT7nO5IZwuDTaaH6SjLeOHcya1o56LSWXk+3F3rNLz2GVH+I/rpYKiqmHhSOjerw==",
"dev": true,
- "requires": {
- "@algolia/requester-common": "4.14.3"
+ "dependencies": {
+ "@algolia/requester-common": "4.23.2"
}
},
- "@algolia/transporter": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.3.tgz",
- "integrity": "sha512-2qlKlKsnGJ008exFRb5RTeTOqhLZj0bkMCMVskxoqWejs2Q2QtWmsiH98hDfpw0fmnyhzHEt0Z7lqxBYp8bW2w==",
+ "node_modules/@algolia/transporter": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.2.tgz",
+ "integrity": "sha512-GY3aGKBy+8AK4vZh8sfkatDciDVKad5rTY2S10Aefyjh7e7UGBP4zigf42qVXwU8VOPwi7l/L7OACGMOFcjB0Q==",
"dev": true,
- "requires": {
- "@algolia/cache-common": "4.14.3",
- "@algolia/logger-common": "4.14.3",
- "@algolia/requester-common": "4.14.3"
+ "dependencies": {
+ "@algolia/cache-common": "4.23.2",
+ "@algolia/logger-common": "4.23.2",
+ "@algolia/requester-common": "4.23.2"
}
},
- "@azu/format-text": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@azu/format-text/-/format-text-1.0.1.tgz",
- "integrity": "sha512-fyPhr8C1DHQqq/xC8gIg2jmYTw/SoY+KgtVFs6H+DFhfh4Hr4OSDeQZuK1eGpOjhuckWy9A1Hhq84+uRjoznLQ==",
+ "node_modules/@aminnairi/rollup-plugin-sitemap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@aminnairi/rollup-plugin-sitemap/-/rollup-plugin-sitemap-0.1.0.tgz",
+ "integrity": "sha512-S1mmPOJk5eIu7pGvH3qoSMxE0pTuQnuRce+ILpEKCckEyiwCnEASySnfY2fQDZTf+CflgqEuEXAG8LCYecfhjw==",
"dev": true
},
- "@azu/style-format": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@azu/style-format/-/style-format-1.0.0.tgz",
- "integrity": "sha512-L7iaxNrk0OLsH7kw3yx3KVQTKhc2zeW0D9SLrRCqbTZi3XtvSVmmjqO73kR4EnWbTRZ18mwdAikbFYJ0coZ55Q==",
+ "node_modules/@azu/format-text": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@azu/format-text/-/format-text-1.0.2.tgz",
+ "integrity": "sha512-Swi4N7Edy1Eqq82GxgEECXSSLyn6GOb5htRFPzBDdUkECGXtlf12ynO5oJSpWKPwCaUssOu7NfhDcCWpIC6Ywg==",
+ "dev": true
+ },
+ "node_modules/@azu/style-format": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@azu/style-format/-/style-format-1.0.1.tgz",
+ "integrity": "sha512-AHcTojlNBdD/3/KxIKlg8sxIWHfOtQszLvOpagLTO+bjC3u7SAszu1lf//u7JJC50aUSH+BVWDD/KvaA6Gfn5g==",
"dev": true,
- "requires": {
+ "dependencies": {
"@azu/format-text": "^1.0.1"
}
},
- "@babel/parser": {
- "version": "7.20.15",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz",
- "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==",
- "dev": true
+ "node_modules/@babel/parser": {
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz",
+ "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
},
- "@docsearch/css": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.3.3.tgz",
- "integrity": "sha512-6SCwI7P8ao+se1TUsdZ7B4XzL+gqeQZnBc+2EONZlcVa0dVrk0NjETxozFKgMv0eEGH8QzP1fkN+A1rH61l4eg==",
+ "node_modules/@docsearch/css": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz",
+ "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==",
"dev": true
},
- "@docsearch/js": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.3.3.tgz",
- "integrity": "sha512-2xAv2GFuHzzmG0SSZgf8wHX0qZX8n9Y1ZirKUk5Wrdc+vH9CL837x2hZIUdwcPZI9caBA+/CzxsS68O4waYjUQ==",
+ "node_modules/@docsearch/js": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.0.tgz",
+ "integrity": "sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==",
"dev": true,
- "requires": {
- "@docsearch/react": "3.3.3",
+ "dependencies": {
+ "@docsearch/react": "3.6.0",
"preact": "^10.0.0"
}
},
- "@docsearch/react": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.3.3.tgz",
- "integrity": "sha512-pLa0cxnl+G0FuIDuYlW+EBK6Rw2jwLw9B1RHIeS4N4s2VhsfJ/wzeCi3CWcs5yVfxLd5ZK50t//TMA5e79YT7Q==",
+ "node_modules/@docsearch/react": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz",
+ "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==",
"dev": true,
- "requires": {
- "@algolia/autocomplete-core": "1.7.4",
- "@algolia/autocomplete-preset-algolia": "1.7.4",
- "@docsearch/css": "3.3.3",
- "algoliasearch": "^4.0.0"
+ "dependencies": {
+ "@algolia/autocomplete-core": "1.9.3",
+ "@algolia/autocomplete-preset-algolia": "1.9.3",
+ "@docsearch/css": "3.6.0",
+ "algoliasearch": "^4.19.1"
+ },
+ "peerDependencies": {
+ "@types/react": ">= 16.8.0 < 19.0.0",
+ "react": ">= 16.8.0 < 19.0.0",
+ "react-dom": ">= 16.8.0 < 19.0.0",
+ "search-insights": ">= 1 < 3"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "search-insights": {
+ "optional": true
+ }
}
},
- "@esbuild/android-arm": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
- "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
- "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
- "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/darwin-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
- "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
- "dev": true,
- "optional": true
- },
- "@esbuild/darwin-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
- "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/freebsd-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
- "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/freebsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
- "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-arm": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
- "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
- "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-ia32": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
- "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-loong64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
- "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-mips64el": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
- "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-ppc64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
- "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-riscv64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
- "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-s390x": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
- "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
- "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/netbsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
- "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/openbsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
- "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/sunos-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
- "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
- "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-ia32": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
- "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
- "dev": true,
- "optional": true
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
+ "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
+ "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
+ "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
+ "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
+ "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
+ "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
+ "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
+ "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
+ "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
+ "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
+ "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
+ "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
+ "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
+ "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
+ "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
+ "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz",
+ "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
+ "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
+ "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
+ "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
+ "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+ "dev": true
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.2.tgz",
+ "integrity": "sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.2.tgz",
+ "integrity": "sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.2.tgz",
+ "integrity": "sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.2.tgz",
+ "integrity": "sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.2.tgz",
+ "integrity": "sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.2.tgz",
+ "integrity": "sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.2.tgz",
+ "integrity": "sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.13.2.tgz",
+ "integrity": "sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==",
+ "cpu": [
+ "ppc64le"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.2.tgz",
+ "integrity": "sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.13.2.tgz",
+ "integrity": "sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.2.tgz",
+ "integrity": "sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.2.tgz",
+ "integrity": "sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.2.tgz",
+ "integrity": "sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.2.tgz",
+ "integrity": "sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.2.tgz",
+ "integrity": "sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@shikijs/core": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.2.1.tgz",
+ "integrity": "sha512-KaIS0H4EQ3KI2d++TjYqRNgwp8E3M/68e9veR4QtInzA7kKFgcjeiJqb80fuXW+blDy5fmd11PN9g9soz/3ANQ==",
+ "dev": true
},
- "@esbuild/win32-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
- "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
+ "node_modules/@shikijs/transformers": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.2.1.tgz",
+ "integrity": "sha512-H7cVtrdv6BW2kx83t2IQgP5ri1IA50mE3QnzgJ0AvOKCGtCEieXu0JIP3245cgjNLrL+LBwb8DtTXdky1iQL9Q==",
"dev": true,
- "optional": true
+ "dependencies": {
+ "shiki": "1.2.1"
+ }
},
- "@textlint-rule/textlint-rule-no-unmatched-pair": {
+ "node_modules/@textlint-rule/textlint-rule-no-unmatched-pair": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/@textlint-rule/textlint-rule-no-unmatched-pair/-/textlint-rule-no-unmatched-pair-1.0.9.tgz",
"integrity": "sha512-uUZhMWs+4ZIXIDfmQcfKdSx17Yx/eGdEUSDs/0UCggzy1nGOi5GMNHo6sUV3NSjSx22vTySj1imsBaBZCyCWNA==",
"dev": true,
- "requires": {
+ "dependencies": {
"sentence-splitter": "^3.0.11",
"textlint-rule-helper": "2.0.1"
}
},
- "@textlint/ast-node-types": {
+ "node_modules/@textlint/ast-node-types": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz",
"integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==",
"dev": true
},
- "@textlint/ast-tester": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-13.2.0.tgz",
- "integrity": "sha512-4UHmeT1J2FGm1rfTAIjWw3LWEZPMuHCA2hdAiXVZXZbIOQYE/kmMvUgUeFAxEj0Wg7ozCoOMsTr7T0VF/8CZlA==",
+ "node_modules/@textlint/ast-tester": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-13.4.1.tgz",
+ "integrity": "sha512-YSHUR1qDgMPGF5+nvrquEhif6zRJ667xUnfP/9rTNtThIhoTQINvczr5/7xa43F1PDWplL6Curw+2jrE1qHwGQ==",
"dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.2.0",
- "debug": "^4.3.4"
- },
"dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- }
+ "@textlint/ast-node-types": "^13.4.1",
+ "debug": "^4.3.4"
}
},
- "@textlint/ast-traverse": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-13.2.0.tgz",
- "integrity": "sha512-aqGLu8Yiex/CJGkKXF2p7k3OfzqGBjUp4Of3hPFWb/oARQsUKIeMfQB0bNi5rqcIeOVQhMVTcMzHiW2LPOjDSw==",
+ "node_modules/@textlint/ast-tester/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
+ "dev": true
+ },
+ "node_modules/@textlint/ast-traverse": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-13.4.1.tgz",
+ "integrity": "sha512-uucuC7+NHWkXx2TX5vuyreuHeb+GFiA83V65I+FnYP5EC4dAMOQ86rTSPrZmCwLz+qIWgfDgihGzPccpj3EZGg==",
"dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.2.0"
- },
"dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- }
+ "@textlint/ast-node-types": "^13.4.1"
}
},
- "@textlint/config-loader": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-13.2.0.tgz",
- "integrity": "sha512-eymrpCBFH2Do98YvNcWVezjO8BODZKtcU92Pp7i1p99KEzoQ2sSbqEN1991+vE/zJnmC8+dYCoHbFr82Vzr5zQ==",
+ "node_modules/@textlint/ast-traverse/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
+ "dev": true
+ },
+ "node_modules/@textlint/config-loader": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-13.4.1.tgz",
+ "integrity": "sha512-ggh6her5PdgcEsvgm3FfCY2+r7IhoQoBTGYxM+IbfkwyVoSoQ2CrXbCVlQkpLPFzhHVbIwgNxkiMr1o2npwfJQ==",
"dev": true,
- "requires": {
- "@textlint/kernel": "^13.2.0",
- "@textlint/module-interop": "^13.2.0",
- "@textlint/types": "^13.2.0",
- "@textlint/utils": "^13.2.0",
+ "dependencies": {
+ "@textlint/kernel": "^13.4.1",
+ "@textlint/module-interop": "^13.4.1",
+ "@textlint/types": "^13.4.1",
+ "@textlint/utils": "^13.4.1",
"debug": "^4.3.4",
- "rc-config-loader": "^4.1.2",
+ "rc-config-loader": "^4.1.3",
"try-resolve": "^1.0.1"
}
},
- "@textlint/feature-flag": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-13.2.0.tgz",
- "integrity": "sha512-HJaz2wT4DDywn5s5r+9N3rEw6GhOB5/IVVVO4HfgALAIrO4K9cSlR1lTFFYgr15uWf0wMnGE8lu43RR9LtDXHw==",
+ "node_modules/@textlint/feature-flag": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-13.4.1.tgz",
+ "integrity": "sha512-qY8gKUf30XtzWMTkwYeKytCo6KPx6milpz8YZhuRsEPjT/5iNdakJp5USWDQWDrwbQf7RbRncQdU+LX5JbM9YA==",
"dev": true
},
- "@textlint/fixer-formatter": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-13.2.0.tgz",
- "integrity": "sha512-iLTAcJiZLKQxw95uLhssTEaLE/RHx47eG/tAUbcE9y/jfW5AZCchfCNFYleRyRWL8oyjE3u98XaQANsceW2P2w==",
+ "node_modules/@textlint/fixer-formatter": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-13.4.1.tgz",
+ "integrity": "sha512-P195Soyxmzv7S5QyCJIjuDXl5t3EyOhYwxR4ukKBZ7bw5hp/P1+e4GEhzqrXWx3z7h0nZZ0TuTjepNxOMo6cAQ==",
"dev": true,
- "requires": {
- "@textlint/module-interop": "^13.2.0",
- "@textlint/types": "^13.2.0",
+ "dependencies": {
+ "@textlint/module-interop": "^13.4.1",
+ "@textlint/types": "^13.4.1",
"chalk": "^4.1.2",
"debug": "^4.3.4",
"diff": "^4.0.2",
@@ -448,99 +973,74 @@
"try-resolve": "^1.0.1"
}
},
- "@textlint/kernel": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-13.2.0.tgz",
- "integrity": "sha512-RUKRax9EhRQDLr9YLv6qxnCnTIre3NouZHyjXR2jB1F6zdOPU+mhI3IC1c7k+iOQVajTi6wWq63POU+ffbpvzA==",
+ "node_modules/@textlint/kernel": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-13.4.1.tgz",
+ "integrity": "sha512-r2sUhjPysFjl2Ax37x9AfWkJM8jgKN0bL4SX3xRzOukdcj69Dst5On5qBZtULaVMX1LDkwkdxA6ZEADmq27qQA==",
"dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.2.0",
- "@textlint/ast-tester": "^13.2.0",
- "@textlint/ast-traverse": "^13.2.0",
- "@textlint/feature-flag": "^13.2.0",
- "@textlint/source-code-fixer": "^13.2.0",
- "@textlint/types": "^13.2.0",
- "@textlint/utils": "^13.2.0",
+ "dependencies": {
+ "@textlint/ast-node-types": "^13.4.1",
+ "@textlint/ast-tester": "^13.4.1",
+ "@textlint/ast-traverse": "^13.4.1",
+ "@textlint/feature-flag": "^13.4.1",
+ "@textlint/source-code-fixer": "^13.4.1",
+ "@textlint/types": "^13.4.1",
+ "@textlint/utils": "^13.4.1",
"debug": "^4.3.4",
"fast-equals": "^4.0.3",
"structured-source": "^4.0.0"
- },
+ }
+ },
+ "node_modules/@textlint/kernel/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
+ "dev": true
+ },
+ "node_modules/@textlint/kernel/node_modules/boundary": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
+ "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
+ "dev": true
+ },
+ "node_modules/@textlint/kernel/node_modules/structured-source": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
+ "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
+ "dev": true,
"dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- },
- "boundary": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
- "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
- "dev": true
- },
- "structured-source": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
- "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
- "dev": true,
- "requires": {
- "boundary": "^2.0.0"
- }
- }
+ "boundary": "^2.0.0"
}
},
- "@textlint/linter-formatter": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-13.2.0.tgz",
- "integrity": "sha512-3Or0TPAOjSSzlnKxoGd0BdNgi7aPqZULC7YuXes4H0gtVdGPI4GrezUi4K9bV+NIONSPjiTBEkhScCOHZjws3w==",
+ "node_modules/@textlint/linter-formatter": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-13.4.1.tgz",
+ "integrity": "sha512-VDLnyHRO9hf6CGxMJLM5oi7NH9s0mqiWxtgi95nuXmJZWbQLZVfcxkD1Cp16pwk8zTvlbyMZFqamFCYZyD9Sww==",
"dev": true,
- "requires": {
- "@azu/format-text": "^1.0.1",
- "@azu/style-format": "^1.0.0",
- "@textlint/module-interop": "^13.2.0",
- "@textlint/types": "^13.2.0",
+ "dependencies": {
+ "@azu/format-text": "^1.0.2",
+ "@azu/style-format": "^1.0.1",
+ "@textlint/module-interop": "^13.4.1",
+ "@textlint/types": "^13.4.1",
"chalk": "^4.1.2",
"debug": "^4.3.4",
- "is-file": "^1.0.0",
"js-yaml": "^3.14.1",
"lodash": "^4.17.21",
- "optionator": "^0.9.1",
"pluralize": "^2.0.0",
"string-width": "^4.2.3",
"strip-ansi": "^6.0.1",
"table": "^6.8.1",
"text-table": "^0.2.0",
"try-resolve": "^1.0.1"
- },
- "dependencies": {
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- }
}
},
- "@textlint/markdown-to-ast": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-13.2.0.tgz",
- "integrity": "sha512-eYd1XgbzirQk/fDKnNAsT3QKTtEz+CSpBiGIzvaD1kYEzA1aSWtWEJoyZU6DwFJgFs+6scAdcYT2O264IVDRyg==",
+ "node_modules/@textlint/markdown-to-ast": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-13.4.1.tgz",
+ "integrity": "sha512-jUa5bTNmxjEgfCXW4xfn7eSJqzUXyNKiIDWLKtI4MUKRNhT3adEaa/NuQl0Mii3Hu3HraZR7hYhRHLh+eeM43w==",
"dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.2.0",
+ "dependencies": {
+ "@textlint/ast-node-types": "^13.4.1",
"debug": "^4.3.4",
"mdast-util-gfm-autolink-literal": "^0.1.3",
"remark-footnotes": "^3.0.0",
@@ -549,2442 +1049,3424 @@
"remark-parse": "^9.0.0",
"traverse": "^0.6.7",
"unified": "^9.2.2"
- },
- "dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- }
}
},
- "@textlint/module-interop": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-13.2.0.tgz",
- "integrity": "sha512-bUrC4iWsfWfo6kIh+sa0OLXtg+lAwjRtvs86k6BbEbgvlQ7MXr8VmxL8zJXIWnyP/RFnwNAb7Ezljxjj/h6VSg==",
+ "node_modules/@textlint/markdown-to-ast/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
"dev": true
},
- "@textlint/source-code-fixer": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-13.2.0.tgz",
- "integrity": "sha512-t8J4kgVQp+G/s5c4DcmAuE8WR2+7Ovf++SQgeRaUoEGoZP+trrF/JaIzlNaH+5MDk6vQ2Z1+WZc2VL+oM5uNnA==",
+ "node_modules/@textlint/module-interop": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-13.4.1.tgz",
+ "integrity": "sha512-keM5zHwyifijEDqEvAFhhXHC5UbmZjfGytRJzPPJaW3C3UsGbIzDCnfOSE9jUVTWZcngHuSJ7aKGv42Rhy9nEg==",
+ "dev": true
+ },
+ "node_modules/@textlint/source-code-fixer": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-13.4.1.tgz",
+ "integrity": "sha512-Sl29f3Tpimp0uVE3ysyJBjxaFTVYLOXiJX14eWCQ/kC5ZhIXGosEbStzkP1n8Urso1rs1W4p/2UemVAm3NH2ng==",
"dev": true,
- "requires": {
- "@textlint/types": "^13.2.0",
+ "dependencies": {
+ "@textlint/types": "^13.4.1",
"debug": "^4.3.4"
}
},
- "@textlint/text-to-ast": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-13.2.0.tgz",
- "integrity": "sha512-kRRQEaWlGdYy+bXszBjLSuDRMEYqnZGUOBU5uQ/B6JQALZGyDRS4UbVr74p9+eVRNQdoEBA1g0n+33JRR/mqYA==",
+ "node_modules/@textlint/text-to-ast": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-13.4.1.tgz",
+ "integrity": "sha512-vCA7uMmbjRv06sEHPbwxTV5iS8OQedC5s7qwmXnWAn2LLWxg4Yp98mONPS1o4D5cPomzYyKNCSfbLwu6yJBUQA==",
"dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.2.0"
- },
"dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- }
+ "@textlint/ast-node-types": "^13.4.1"
}
},
- "@textlint/textlint-plugin-markdown": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-13.2.0.tgz",
- "integrity": "sha512-oLvCp9RqydnfxUacBienhsliTLIsH5zXHeQpQyaDrQtL3syweBgtYFyOoZq1X6jZOU0QLnCCkn1RofMumRBfxA==",
+ "node_modules/@textlint/text-to-ast/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
+ "dev": true
+ },
+ "node_modules/@textlint/textlint-plugin-markdown": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-13.4.1.tgz",
+ "integrity": "sha512-OcLkFKYmbYeGJ0kj2487qcicCYTiE2vJLwfPcUDJrNoMYak5JtvHJfWffck8gON2mEM00DPkHH0UdxZpFjDfeg==",
"dev": true,
- "requires": {
- "@textlint/markdown-to-ast": "^13.2.0"
+ "dependencies": {
+ "@textlint/markdown-to-ast": "^13.4.1"
}
},
- "@textlint/textlint-plugin-text": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-13.2.0.tgz",
- "integrity": "sha512-Y+0qLPh74fdWTlATD9BiEHTQ8gSuDZh8FkKXSqMZEh6pRCaFdf9j9i2ZXfk8on2Xmh/4G6M2FiPpQNCrWSuCWg==",
+ "node_modules/@textlint/textlint-plugin-text": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-13.4.1.tgz",
+ "integrity": "sha512-z0p5B8WUfTCIRmhjVHFfJv719oIElDDKWOIZei4CyYkfMGo0kq8fkrYBkUR6VZ6gofHwc+mwmIABdUf1rDHzYA==",
"dev": true,
- "requires": {
- "@textlint/text-to-ast": "^13.2.0"
+ "dependencies": {
+ "@textlint/text-to-ast": "^13.4.1"
}
},
- "@textlint/types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/types/-/types-13.2.0.tgz",
- "integrity": "sha512-65kCcyym3zQFVU10tzGHGl7awyNDK43HtLTuJo/YUWxSpaQJRM3INk1ePVzfj+M+Uru4chnl+MPYQwd/X3z2hw==",
+ "node_modules/@textlint/types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/types/-/types-13.4.1.tgz",
+ "integrity": "sha512-1ApwQa31sFmiJeJ5yTNFqjbb2D1ICZvIDW0tFSM0OtmQCSDFNcKD3YrrwDBgSokZ6gWQq/FpNjlhi6iETUWt0Q==",
"dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.2.0"
- },
"dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- }
+ "@textlint/ast-node-types": "^13.4.1"
}
},
- "@textlint/utils": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-13.2.0.tgz",
- "integrity": "sha512-3DtR5AYbltOH+4GOhjmB4x3aF5xJhoDGfgOZ4Is9uoXeqC+1eyVCG6NeZ6QyuIuHZKy5p8S48t7JgWb8LM47aA==",
+ "node_modules/@textlint/types/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
+ "dev": true
+ },
+ "node_modules/@textlint/utils": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-13.4.1.tgz",
+ "integrity": "sha512-wX8RT1ejHAPTDmqlzngf0zI5kYoe3QvGDcj+skoTxSv+m/wOs/NyEr92d+ahCP32YqFYzXlqU7aDx2FkULKT+g==",
+ "dev": true
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
- "@types/mdast": {
- "version": "3.0.10",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
- "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
+ "node_modules/@types/linkify-it": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz",
+ "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==",
+ "dev": true
+ },
+ "node_modules/@types/markdown-it": {
+ "version": "13.0.7",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.7.tgz",
+ "integrity": "sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==",
"dev": true,
- "requires": {
- "@types/unist": "*"
+ "dependencies": {
+ "@types/linkify-it": "*",
+ "@types/mdurl": "*"
}
},
- "@types/node": {
- "version": "18.13.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz",
- "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==",
- "dev": true
+ "node_modules/@types/mdast": {
+ "version": "3.0.15",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz",
+ "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "^2"
+ }
},
- "@types/unist": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
- "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==",
+ "node_modules/@types/mdurl": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz",
+ "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==",
"dev": true
},
- "@types/web-bluetooth": {
- "version": "0.0.16",
- "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
- "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==",
+ "node_modules/@types/node": {
+ "version": "20.11.30",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz",
+ "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@types/unist": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+ "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==",
"dev": true
},
- "@vitejs/plugin-vue": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz",
- "integrity": "sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==",
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.20",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
+ "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==",
"dev": true
},
- "@vue/compiler-core": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz",
- "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==",
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz",
+ "integrity": "sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==",
"dev": true,
- "requires": {
- "@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.47",
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz",
+ "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.23.9",
+ "@vue/shared": "3.4.21",
+ "entities": "^4.5.0",
"estree-walker": "^2.0.2",
- "source-map": "^0.6.1"
+ "source-map-js": "^1.0.2"
}
},
- "@vue/compiler-dom": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz",
- "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==",
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz",
+ "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==",
"dev": true,
- "requires": {
- "@vue/compiler-core": "3.2.47",
- "@vue/shared": "3.2.47"
+ "dependencies": {
+ "@vue/compiler-core": "3.4.21",
+ "@vue/shared": "3.4.21"
}
},
- "@vue/compiler-sfc": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz",
- "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==",
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz",
+ "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==",
"dev": true,
- "requires": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.47",
- "@vue/compiler-dom": "3.2.47",
- "@vue/compiler-ssr": "3.2.47",
- "@vue/reactivity-transform": "3.2.47",
- "@vue/shared": "3.2.47",
+ "dependencies": {
+ "@babel/parser": "^7.23.9",
+ "@vue/compiler-core": "3.4.21",
+ "@vue/compiler-dom": "3.4.21",
+ "@vue/compiler-ssr": "3.4.21",
+ "@vue/shared": "3.4.21",
"estree-walker": "^2.0.2",
- "magic-string": "^0.25.7",
- "postcss": "^8.1.10",
- "source-map": "^0.6.1"
+ "magic-string": "^0.30.7",
+ "postcss": "^8.4.35",
+ "source-map-js": "^1.0.2"
}
},
- "@vue/compiler-ssr": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz",
- "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==",
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz",
+ "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==",
"dev": true,
- "requires": {
- "@vue/compiler-dom": "3.2.47",
- "@vue/shared": "3.2.47"
+ "dependencies": {
+ "@vue/compiler-dom": "3.4.21",
+ "@vue/shared": "3.4.21"
}
},
- "@vue/devtools-api": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz",
- "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==",
- "dev": true
+ "node_modules/@vue/devtools-api": {
+ "version": "7.0.25",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.0.25.tgz",
+ "integrity": "sha512-fL6DlRp4MSXCLYcqYvKU7QhQZWE3Hfu7X8pC25BS74coJi7uJeSWs4tmrITcwFihNmC9S5GPiffkMdckkeWjzg==",
+ "dev": true,
+ "dependencies": {
+ "@vue/devtools-kit": "^7.0.25"
+ }
},
- "@vue/reactivity": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz",
- "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==",
+ "node_modules/@vue/devtools-kit": {
+ "version": "7.0.25",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.0.25.tgz",
+ "integrity": "sha512-wbLkSnOTsKHPb1mB9koFHUoSAF8Dp6Ii/ocR2+DeXFY4oKqIjCeJb/4Lihk4rgqEhCy1WwxLfTgNDo83VvDYkQ==",
"dev": true,
- "requires": {
- "@vue/shared": "3.2.47"
+ "dependencies": {
+ "@vue/devtools-shared": "^7.0.25",
+ "hookable": "^5.5.3",
+ "mitt": "^3.0.1",
+ "perfect-debounce": "^1.0.0",
+ "speakingurl": "^14.0.1"
+ },
+ "peerDependencies": {
+ "vue": "^3.0.0"
}
},
- "@vue/reactivity-transform": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz",
- "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==",
+ "node_modules/@vue/devtools-shared": {
+ "version": "7.0.25",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.0.25.tgz",
+ "integrity": "sha512-5+XYhcHSXuJSguYnNwL6/e6VTmXwCfryWQOkffh9ZU2zMByybqqqBrMWqvBkqTmMFCjPdzulo66xXbVbwLaElQ==",
"dev": true,
- "requires": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.47",
- "@vue/shared": "3.2.47",
- "estree-walker": "^2.0.2",
- "magic-string": "^0.25.7"
+ "dependencies": {
+ "rfdc": "^1.3.1"
}
},
- "@vue/runtime-core": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz",
- "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==",
+ "node_modules/@vue/reactivity": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.21.tgz",
+ "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==",
"dev": true,
- "requires": {
- "@vue/reactivity": "3.2.47",
- "@vue/shared": "3.2.47"
+ "dependencies": {
+ "@vue/shared": "3.4.21"
}
},
- "@vue/runtime-dom": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz",
- "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==",
+ "node_modules/@vue/runtime-core": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.21.tgz",
+ "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==",
"dev": true,
- "requires": {
- "@vue/runtime-core": "3.2.47",
- "@vue/shared": "3.2.47",
- "csstype": "^2.6.8"
+ "dependencies": {
+ "@vue/reactivity": "3.4.21",
+ "@vue/shared": "3.4.21"
}
},
- "@vue/server-renderer": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz",
- "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==",
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz",
+ "integrity": "sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==",
"dev": true,
- "requires": {
- "@vue/compiler-ssr": "3.2.47",
- "@vue/shared": "3.2.47"
+ "dependencies": {
+ "@vue/runtime-core": "3.4.21",
+ "@vue/shared": "3.4.21",
+ "csstype": "^3.1.3"
}
},
- "@vue/shared": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
- "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
+ "node_modules/@vue/server-renderer": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.21.tgz",
+ "integrity": "sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==",
+ "dev": true,
+ "dependencies": {
+ "@vue/compiler-ssr": "3.4.21",
+ "@vue/shared": "3.4.21"
+ },
+ "peerDependencies": {
+ "vue": "3.4.21"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz",
+ "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==",
"dev": true
},
- "@vueuse/core": {
- "version": "9.12.0",
- "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.12.0.tgz",
- "integrity": "sha512-h/Di8Bvf6xRcvS/PvUVheiMYYz3U0tH3X25YxONSaAUBa841ayMwxkuzx/DGUMCW/wHWzD8tRy2zYmOC36r4sg==",
+ "node_modules/@vueuse/core": {
+ "version": "10.9.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.9.0.tgz",
+ "integrity": "sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==",
"dev": true,
- "requires": {
- "@types/web-bluetooth": "^0.0.16",
- "@vueuse/metadata": "9.12.0",
- "@vueuse/shared": "9.12.0",
- "vue-demi": "*"
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.20",
+ "@vueuse/metadata": "10.9.0",
+ "@vueuse/shared": "10.9.0",
+ "vue-demi": ">=0.14.7"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
}
},
- "@vueuse/metadata": {
- "version": "9.12.0",
- "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.12.0.tgz",
- "integrity": "sha512-9oJ9MM9lFLlmvxXUqsR1wLt1uF7EVbP5iYaHJYqk+G2PbMjY6EXvZeTjbdO89HgoF5cI6z49o2zT/jD9SVoNpQ==",
- "dev": true
+ "node_modules/@vueuse/core/node_modules/vue-demi": {
+ "version": "0.14.7",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz",
+ "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/integrations": {
+ "version": "10.9.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.9.0.tgz",
+ "integrity": "sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==",
+ "dev": true,
+ "dependencies": {
+ "@vueuse/core": "10.9.0",
+ "@vueuse/shared": "10.9.0",
+ "vue-demi": ">=0.14.7"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "async-validator": "*",
+ "axios": "*",
+ "change-case": "*",
+ "drauu": "*",
+ "focus-trap": "*",
+ "fuse.js": "*",
+ "idb-keyval": "*",
+ "jwt-decode": "*",
+ "nprogress": "*",
+ "qrcode": "*",
+ "sortablejs": "*",
+ "universal-cookie": "*"
+ },
+ "peerDependenciesMeta": {
+ "async-validator": {
+ "optional": true
+ },
+ "axios": {
+ "optional": true
+ },
+ "change-case": {
+ "optional": true
+ },
+ "drauu": {
+ "optional": true
+ },
+ "focus-trap": {
+ "optional": true
+ },
+ "fuse.js": {
+ "optional": true
+ },
+ "idb-keyval": {
+ "optional": true
+ },
+ "jwt-decode": {
+ "optional": true
+ },
+ "nprogress": {
+ "optional": true
+ },
+ "qrcode": {
+ "optional": true
+ },
+ "sortablejs": {
+ "optional": true
+ },
+ "universal-cookie": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/integrations/node_modules/vue-demi": {
+ "version": "0.14.7",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz",
+ "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/metadata": {
+ "version": "10.9.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.9.0.tgz",
+ "integrity": "sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared": {
+ "version": "10.9.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.9.0.tgz",
+ "integrity": "sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==",
+ "dev": true,
+ "dependencies": {
+ "vue-demi": ">=0.14.7"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
},
- "@vueuse/shared": {
- "version": "9.12.0",
- "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.12.0.tgz",
- "integrity": "sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==",
+ "node_modules/@vueuse/shared/node_modules/vue-demi": {
+ "version": "0.14.7",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz",
+ "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
"dev": true,
- "requires": {
- "vue-demi": "*"
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
}
},
- "adverb-where": {
+ "node_modules/adverb-where": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/adverb-where/-/adverb-where-0.0.9.tgz",
"integrity": "sha512-AUIXEoH3S/RMcyBSbcZnd544/ABeD6zgDDL6tR8jfpvtimSdSB1Ab1XFJccCw9TInVsp4CLHXW5E7fptUU95OA==",
"dev": true
},
- "ajv": {
+ "node_modules/ajv": {
"version": "8.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dev": true,
- "requires": {
+ "dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "algoliasearch": {
- "version": "4.14.3",
- "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.3.tgz",
- "integrity": "sha512-GZTEuxzfWbP/vr7ZJfGzIl8fOsoxN916Z6FY2Egc9q2TmZ6hvq5KfAxY89pPW01oW/2HDEKA8d30f9iAH9eXYg==",
- "dev": true,
- "requires": {
- "@algolia/cache-browser-local-storage": "4.14.3",
- "@algolia/cache-common": "4.14.3",
- "@algolia/cache-in-memory": "4.14.3",
- "@algolia/client-account": "4.14.3",
- "@algolia/client-analytics": "4.14.3",
- "@algolia/client-common": "4.14.3",
- "@algolia/client-personalization": "4.14.3",
- "@algolia/client-search": "4.14.3",
- "@algolia/logger-common": "4.14.3",
- "@algolia/logger-console": "4.14.3",
- "@algolia/requester-browser-xhr": "4.14.3",
- "@algolia/requester-common": "4.14.3",
- "@algolia/requester-node-http": "4.14.3",
- "@algolia/transporter": "4.14.3"
- }
- },
- "ansi-regex": {
+ "node_modules/algoliasearch": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.2.tgz",
+ "integrity": "sha512-8aCl055IsokLuPU8BzLjwzXjb7ty9TPcUFFOk0pYOwsE5DMVhE3kwCMFtsCFKcnoPZK7oObm+H5mbnSO/9ioxQ==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-browser-local-storage": "4.23.2",
+ "@algolia/cache-common": "4.23.2",
+ "@algolia/cache-in-memory": "4.23.2",
+ "@algolia/client-account": "4.23.2",
+ "@algolia/client-analytics": "4.23.2",
+ "@algolia/client-common": "4.23.2",
+ "@algolia/client-personalization": "4.23.2",
+ "@algolia/client-search": "4.23.2",
+ "@algolia/logger-common": "4.23.2",
+ "@algolia/logger-console": "4.23.2",
+ "@algolia/recommend": "4.23.2",
+ "@algolia/requester-browser-xhr": "4.23.2",
+ "@algolia/requester-common": "4.23.2",
+ "@algolia/requester-node-http": "4.23.2",
+ "@algolia/transporter": "4.23.2"
+ }
+ },
+ "node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-sequence-parser": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz",
- "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "ansi-styles": {
+ "node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
- "requires": {
+ "dependencies": {
"color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
},
- "astral-regex": {
+ "node_modules/astral-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
"integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "bail": {
+ "node_modules/bail": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
"integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "balanced-match": {
+ "node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
- "body-scroll-lock": {
- "version": "4.0.0-beta.0",
- "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz",
- "integrity": "sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==",
- "dev": true
- },
- "boundary": {
+ "node_modules/boundary": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/boundary/-/boundary-1.0.1.tgz",
"integrity": "sha512-AaLhxHwYVh55iOTJncV3DE5o7RakEUSSj64XXEWRTiIhlp7aDI8qR0vY/k8Uw0Z234VjZi/iG/WxfrvqYPUCww==",
"dev": true
},
- "brace-expansion": {
+ "node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
- "requires": {
+ "dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
- "buffer-from": {
+ "node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "node_modules/call-bind": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "ccount": {
+ "node_modules/ccount": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz",
"integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "chalk": {
+ "node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
- "requires": {
+ "dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "character-entities": {
+ "node_modules/character-entities": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
"integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "character-entities-legacy": {
+ "node_modules/character-entities-legacy": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
"integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "character-reference-invalid": {
+ "node_modules/character-reference-invalid": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
"integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "charenc": {
+ "node_modules/charenc": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
},
- "cities-list": {
+ "node_modules/cities-list": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/cities-list/-/cities-list-1.0.3.tgz",
"integrity": "sha512-UadgzcZiV38TvJXlGymITRvvxaR5PtlrS2M+RJICyvRNp3TnOCPA/5ZZuRn8yG6SexKy1x9I+IwFctZ39XbI/Q==",
"dev": true
},
- "color-convert": {
+ "node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
}
},
- "color-name": {
+ "node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "concat-map": {
+ "node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true
},
- "concat-stream": {
+ "node_modules/concat-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
"integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
"dev": true,
- "requires": {
+ "engines": [
+ "node >= 6.0"
+ ],
+ "dependencies": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.0.2",
"typedarray": "^0.0.6"
}
},
- "crypt": {
+ "node_modules/crypt": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
},
- "csstype": {
- "version": "2.6.21",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
- "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
"dev": true
},
- "debug": {
+ "node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "deep-is": {
+ "node_modules/deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
- "define-properties": {
+ "node_modules/define-data-property": {
"version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dev": true,
- "requires": {
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "diff": {
+ "node_modules/diff": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.3.1"
+ }
},
- "e-prime": {
+ "node_modules/e-prime": {
"version": "0.10.4",
"resolved": "https://registry.npmjs.org/e-prime/-/e-prime-0.10.4.tgz",
"integrity": "sha512-tzBmM2mFSnAq5BuxPSyin6qXb3yMe1wufJN7L7ZPcEWS5S+jI2dhKQEoqHVEcSMMXo/j5lcWpX5jzA6wLSmX6w==",
"dev": true
},
- "emoji-regex": {
+ "node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
- "en-inflectors": {
+ "node_modules/en-inflectors": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/en-inflectors/-/en-inflectors-1.0.12.tgz",
"integrity": "sha512-G9wwJMx9DQQzwom8J8e8ErVpI6h/Z5BpYusJCE2Q/2NfgBNYCesyNaCOOskZAhOrw2nmR4D8nYAv4Xv/INIbzw==",
"dev": true,
- "requires": {
+ "dependencies": {
"en-stemmer": "^1.0.2"
}
},
- "en-lexicon": {
+ "node_modules/en-lexicon": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/en-lexicon/-/en-lexicon-1.0.11.tgz",
"integrity": "sha512-eanOw9551H6jMRpRK023+Nlss5qnuAi99drXcSUzQySsMrB43teDNbin/AbpOfnemQiTtuZChXYm2kEIR1Mhmg==",
"dev": true,
- "requires": {
+ "dependencies": {
"en-inflectors": "^1.0.7"
}
},
- "en-pos": {
+ "node_modules/en-pos": {
"version": "1.0.16",
"resolved": "https://registry.npmjs.org/en-pos/-/en-pos-1.0.16.tgz",
"integrity": "sha512-b/tYA8NNl2fuXn55deB81RwW6S9bJqgYjNMVmltUZxT1JZEzNsWvkZpKiXfOe4RlsB2t5O3s1B/BgnXDOAO1Zw==",
"dev": true,
- "requires": {
+ "dependencies": {
"cities-list": "^1.0.3",
"en-inflectors": "^1.0.7",
"en-lexicon": "^1.0.8",
"humannames": "^1.0.5"
}
},
- "en-stemmer": {
+ "node_modules/en-stemmer": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/en-stemmer/-/en-stemmer-1.0.3.tgz",
"integrity": "sha512-sBeYsHLqZWACn/mTRLAMdYb/A53s55r4/nCB2UjKK96EBuRQ4t4GKl4V1pW/0hvzdncfYlZRT+JSIRxCtoYqbA==",
"dev": true
},
- "error-ex": {
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true,
- "requires": {
+ "dependencies": {
"is-arrayish": "^0.2.1"
}
},
- "esbuild": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz",
- "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==",
- "dev": true,
- "requires": {
- "@esbuild/android-arm": "0.16.17",
- "@esbuild/android-arm64": "0.16.17",
- "@esbuild/android-x64": "0.16.17",
- "@esbuild/darwin-arm64": "0.16.17",
- "@esbuild/darwin-x64": "0.16.17",
- "@esbuild/freebsd-arm64": "0.16.17",
- "@esbuild/freebsd-x64": "0.16.17",
- "@esbuild/linux-arm": "0.16.17",
- "@esbuild/linux-arm64": "0.16.17",
- "@esbuild/linux-ia32": "0.16.17",
- "@esbuild/linux-loong64": "0.16.17",
- "@esbuild/linux-mips64el": "0.16.17",
- "@esbuild/linux-ppc64": "0.16.17",
- "@esbuild/linux-riscv64": "0.16.17",
- "@esbuild/linux-s390x": "0.16.17",
- "@esbuild/linux-x64": "0.16.17",
- "@esbuild/netbsd-x64": "0.16.17",
- "@esbuild/openbsd-x64": "0.16.17",
- "@esbuild/sunos-x64": "0.16.17",
- "@esbuild/win32-arm64": "0.16.17",
- "@esbuild/win32-ia32": "0.16.17",
- "@esbuild/win32-x64": "0.16.17"
- }
- },
- "escape-string-regexp": {
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
+ "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.20.2",
+ "@esbuild/android-arm": "0.20.2",
+ "@esbuild/android-arm64": "0.20.2",
+ "@esbuild/android-x64": "0.20.2",
+ "@esbuild/darwin-arm64": "0.20.2",
+ "@esbuild/darwin-x64": "0.20.2",
+ "@esbuild/freebsd-arm64": "0.20.2",
+ "@esbuild/freebsd-x64": "0.20.2",
+ "@esbuild/linux-arm": "0.20.2",
+ "@esbuild/linux-arm64": "0.20.2",
+ "@esbuild/linux-ia32": "0.20.2",
+ "@esbuild/linux-loong64": "0.20.2",
+ "@esbuild/linux-mips64el": "0.20.2",
+ "@esbuild/linux-ppc64": "0.20.2",
+ "@esbuild/linux-riscv64": "0.20.2",
+ "@esbuild/linux-s390x": "0.20.2",
+ "@esbuild/linux-x64": "0.20.2",
+ "@esbuild/netbsd-x64": "0.20.2",
+ "@esbuild/openbsd-x64": "0.20.2",
+ "@esbuild/sunos-x64": "0.20.2",
+ "@esbuild/win32-arm64": "0.20.2",
+ "@esbuild/win32-ia32": "0.20.2",
+ "@esbuild/win32-x64": "0.20.2"
+ }
+ },
+ "node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "esprima": {
+ "node_modules/esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
},
- "estree-walker": {
+ "node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true
},
- "extend": {
+ "node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
},
- "fast-deep-equal": {
+ "node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
- "fast-equals": {
+ "node_modules/fast-equals": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-4.0.3.tgz",
"integrity": "sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==",
"dev": true
},
- "fast-levenshtein": {
+ "node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
"dev": true
},
- "fault": {
+ "node_modules/fault": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz",
"integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==",
"dev": true,
- "requires": {
+ "dependencies": {
"format": "^0.2.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "file-entry-cache": {
+ "node_modules/file-entry-cache": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
"integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
"dev": true,
- "requires": {
+ "dependencies": {
"flat-cache": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "find-up": {
+ "node_modules/find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "flat-cache": {
+ "node_modules/flat-cache": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
"integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
"dev": true,
- "requires": {
+ "dependencies": {
"flatted": "^2.0.0",
"rimraf": "2.6.3",
"write": "1.0.3"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "flatted": {
+ "node_modules/flatted": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
"integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
- "format": {
+ "node_modules/focus-trap": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz",
+ "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==",
+ "dev": true,
+ "dependencies": {
+ "tabbable": "^6.2.0"
+ }
+ },
+ "node_modules/format": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
"integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.x"
+ }
},
- "fs.realpath": {
+ "node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
- "optional": true
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
},
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
- "get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+ "node_modules/get-intrinsic": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "get-stdin": {
+ "node_modules/get-stdin": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
"integrity": "sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
},
- "glob": {
+ "node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
- "requires": {
+ "dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
"dev": true,
- "requires": {
- "function-bind": "^1.1.1"
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "has-flag": {
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true
+ },
+ "node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true,
- "requires": {
- "get-intrinsic": "^1.1.1"
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "has-symbols": {
+ "node_modules/has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/hookable": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
+ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==",
"dev": true
},
- "hosted-git-info": {
+ "node_modules/hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
"dev": true
},
- "humannames": {
+ "node_modules/humannames": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/humannames/-/humannames-1.0.5.tgz",
"integrity": "sha512-FArOOhsfu1Rzc6wj8TZWTEpO/+TQOqhU0YNx+IyRaScE7HVanOwn8knN1OjjUngJOLaRqFSLjX0EzvMiNnT7zw==",
"dev": true
},
- "inflight": {
+ "node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
- "requires": {
+ "dependencies": {
"once": "^1.3.0",
"wrappy": "1"
}
},
- "inherits": {
+ "node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "is-alphabetical": {
+ "node_modules/is-alphabetical": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
"integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "is-alphanumerical": {
+ "node_modules/is-alphanumerical": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
"integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
"dev": true,
- "requires": {
+ "dependencies": {
"is-alphabetical": "^1.0.0",
"is-decimal": "^1.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "is-arrayish": {
+ "node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
"dev": true
},
- "is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "node_modules/is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
- "is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+ "node_modules/is-core-module": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
"dev": true,
- "requires": {
- "has": "^1.0.3"
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "is-decimal": {
+ "node_modules/is-decimal": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
"integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "is-file": {
+ "node_modules/is-file": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-file/-/is-file-1.0.0.tgz",
"integrity": "sha512-ZGMuc+xA8mRnrXtmtf2l/EkIW2zaD2LSBWlaOVEF6yH4RTndHob65V4SwWWdtGKVthQfXPVKsXqw4TDUjbVxVQ==",
"dev": true
},
- "is-fullwidth-code-point": {
+ "node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "is-hexadecimal": {
+ "node_modules/is-hexadecimal": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
"integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "is-plain-obj": {
+ "node_modules/is-plain-obj": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
"integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "is-utf8": {
+ "node_modules/is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==",
"dev": true
},
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
- "requires": {
- "argparse": "^2.0.1"
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
- "json-parse-better-errors": {
+ "node_modules/json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
- "json-schema-traverse": {
+ "node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
- "json5": {
+ "node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true
- },
- "jsonc-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
- "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
- "dev": true
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
},
- "levn": {
+ "node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
}
},
- "load-json-file": {
+ "node_modules/load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==",
"dev": true,
- "requires": {
+ "dependencies": {
"graceful-fs": "^4.1.2",
"parse-json": "^2.2.0",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0",
"strip-bom": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "locate-path": {
+ "node_modules/locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
"dev": true,
- "requires": {
+ "dependencies": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "lodash": {
+ "node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
- "lodash.truncate": {
+ "node_modules/lodash.truncate": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
"integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
"dev": true
},
- "longest-streak": {
+ "node_modules/longest-streak": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz",
"integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "magic-string": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
- "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+ "node_modules/magic-string": {
+ "version": "0.30.8",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz",
+ "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==",
"dev": true,
- "requires": {
- "sourcemap-codec": "^1.4.8"
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15"
+ },
+ "engines": {
+ "node": ">=12"
}
},
- "markdown-table": {
+ "node_modules/mark.js": {
+ "version": "8.11.1",
+ "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz",
+ "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==",
+ "dev": true
+ },
+ "node_modules/markdown-table": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz",
"integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==",
"dev": true,
- "requires": {
+ "dependencies": {
"repeat-string": "^1.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "match-casing": {
+ "node_modules/match-casing": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/match-casing/-/match-casing-1.0.3.tgz",
"integrity": "sha512-oMyC3vUVCFbGu+M2Zxl212LPJThcaw7QxB5lFuJPQCgV/dsGBP0yZeCoLmX6CiBkoBcVbAKDJZrBpJVu0XcLMw==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "md5": {
+ "node_modules/md5": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
"integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
"dev": true,
- "requires": {
+ "dependencies": {
"charenc": "0.0.2",
"crypt": "0.0.2",
"is-buffer": "~1.1.6"
- },
- "dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- }
}
},
- "mdast-util-find-and-replace": {
+ "node_modules/mdast-util-find-and-replace": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz",
"integrity": "sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==",
"dev": true,
- "requires": {
+ "dependencies": {
"escape-string-regexp": "^4.0.0",
"unist-util-is": "^4.0.0",
"unist-util-visit-parents": "^3.0.0"
},
- "dependencies": {
- "unist-util-is": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
- "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
- "dev": true
- },
- "unist-util-visit-parents": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
- "dev": true,
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0"
- }
- }
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-footnote": {
+ "node_modules/mdast-util-footnote": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/mdast-util-footnote/-/mdast-util-footnote-0.1.7.tgz",
"integrity": "sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==",
"dev": true,
- "requires": {
+ "dependencies": {
"mdast-util-to-markdown": "^0.6.0",
"micromark": "~2.11.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-from-markdown": {
+ "node_modules/mdast-util-from-markdown": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz",
"integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"@types/mdast": "^3.0.0",
"mdast-util-to-string": "^2.0.0",
"micromark": "~2.11.0",
"parse-entities": "^2.0.0",
"unist-util-stringify-position": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-frontmatter": {
+ "node_modules/mdast-util-frontmatter": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-0.2.0.tgz",
"integrity": "sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"micromark-extension-frontmatter": "^0.2.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-gfm": {
+ "node_modules/mdast-util-gfm": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz",
"integrity": "sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"mdast-util-gfm-autolink-literal": "^0.1.0",
"mdast-util-gfm-strikethrough": "^0.2.0",
"mdast-util-gfm-table": "^0.1.0",
"mdast-util-gfm-task-list-item": "^0.1.0",
"mdast-util-to-markdown": "^0.6.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-gfm-autolink-literal": {
+ "node_modules/mdast-util-gfm-autolink-literal": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz",
"integrity": "sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==",
"dev": true,
- "requires": {
+ "dependencies": {
"ccount": "^1.0.0",
"mdast-util-find-and-replace": "^1.1.0",
"micromark": "^2.11.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-gfm-strikethrough": {
+ "node_modules/mdast-util-gfm-strikethrough": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz",
"integrity": "sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==",
"dev": true,
- "requires": {
+ "dependencies": {
"mdast-util-to-markdown": "^0.6.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-gfm-table": {
+ "node_modules/mdast-util-gfm-table": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz",
"integrity": "sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"markdown-table": "^2.0.0",
"mdast-util-to-markdown": "~0.6.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-gfm-task-list-item": {
+ "node_modules/mdast-util-gfm-task-list-item": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz",
"integrity": "sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==",
"dev": true,
- "requires": {
+ "dependencies": {
"mdast-util-to-markdown": "~0.6.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-to-markdown": {
+ "node_modules/mdast-util-to-markdown": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz",
"integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"@types/unist": "^2.0.0",
"longest-streak": "^2.0.0",
"mdast-util-to-string": "^2.0.0",
"parse-entities": "^2.0.0",
"repeat-string": "^1.0.0",
"zwitch": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "mdast-util-to-string": {
+ "node_modules/mdast-util-to-string": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz",
"integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
},
- "micromark": {
+ "node_modules/micromark": {
"version": "2.11.4",
"resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz",
"integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==",
"dev": true,
- "requires": {
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
"debug": "^4.0.0",
"parse-entities": "^2.0.0"
}
},
- "micromark-extension-footnote": {
+ "node_modules/micromark-extension-footnote": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/micromark-extension-footnote/-/micromark-extension-footnote-0.3.2.tgz",
"integrity": "sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"micromark": "~2.11.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "micromark-extension-frontmatter": {
+ "node_modules/micromark-extension-frontmatter": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz",
"integrity": "sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==",
"dev": true,
- "requires": {
+ "dependencies": {
"fault": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "micromark-extension-gfm": {
+ "node_modules/micromark-extension-gfm": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz",
"integrity": "sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==",
"dev": true,
- "requires": {
+ "dependencies": {
"micromark": "~2.11.0",
"micromark-extension-gfm-autolink-literal": "~0.5.0",
"micromark-extension-gfm-strikethrough": "~0.6.5",
"micromark-extension-gfm-table": "~0.4.0",
"micromark-extension-gfm-tagfilter": "~0.3.0",
"micromark-extension-gfm-task-list-item": "~0.3.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "micromark-extension-gfm-autolink-literal": {
+ "node_modules/micromark-extension-gfm-autolink-literal": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz",
"integrity": "sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==",
"dev": true,
- "requires": {
+ "dependencies": {
"micromark": "~2.11.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "micromark-extension-gfm-strikethrough": {
+ "node_modules/micromark-extension-gfm-strikethrough": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz",
"integrity": "sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==",
"dev": true,
- "requires": {
+ "dependencies": {
"micromark": "~2.11.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "micromark-extension-gfm-table": {
+ "node_modules/micromark-extension-gfm-table": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz",
"integrity": "sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==",
"dev": true,
- "requires": {
+ "dependencies": {
"micromark": "~2.11.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "micromark-extension-gfm-tagfilter": {
+ "node_modules/micromark-extension-gfm-tagfilter": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz",
"integrity": "sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
},
- "micromark-extension-gfm-task-list-item": {
+ "node_modules/micromark-extension-gfm-task-list-item": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz",
"integrity": "sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"micromark": "~2.11.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "minimatch": {
+ "node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
- "requires": {
+ "dependencies": {
"brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
}
},
- "minimist": {
+ "node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minisearch": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz",
+ "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==",
"dev": true
},
- "misspellings": {
+ "node_modules/misspellings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/misspellings/-/misspellings-1.1.0.tgz",
"integrity": "sha512-4QT2u/8X7PccbiHUcsZeEZrt3jGIVEpfcQ1RU01wDHKHVNtNhaP+0Xmsg7YPxD7OCc8bO802BTEWeGPvAXBwuw==",
"dev": true
},
- "mkdirp": {
+ "node_modules/mitt": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
+ "dev": true
+ },
+ "node_modules/mkdirp": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"dev": true,
- "requires": {
+ "dependencies": {
"minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
}
},
- "ms": {
+ "node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
- "dev": true
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
},
- "no-cliches": {
+ "node_modules/no-cliches": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/no-cliches/-/no-cliches-0.1.1.tgz",
"integrity": "sha512-mYihjs47X5+N71CN3P+QBrEIBuclIfMMpgWEpkmLqFPvrOXdzokvDlhbLfjdBNZOqYgniaeZC6J1ZCgxFdyvXw==",
"dev": true
},
- "normalize-package-data": {
+ "node_modules/normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
- "requires": {
+ "dependencies": {
"hosted-git-info": "^2.1.4",
"resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
}
},
- "object-keys": {
+ "node_modules/object_values": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/object_values/-/object_values-0.1.2.tgz",
+ "integrity": "sha512-tZgUiKLraVH+4OAedBYrr4/K6KmAQw2RPNd1AuNdhLsuz5WP3VB7WuiKBWbOcjeqqAjus2ChIIWC8dSfmg7ReA==",
+ "dev": true
+ },
+ "node_modules/object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
},
- "object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
+ "node_modules/object.assign": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
"dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
"has-symbols": "^1.0.3",
"object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "object_values": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/object_values/-/object_values-0.1.2.tgz",
- "integrity": "sha512-tZgUiKLraVH+4OAedBYrr4/K6KmAQw2RPNd1AuNdhLsuz5WP3VB7WuiKBWbOcjeqqAjus2ChIIWC8dSfmg7ReA==",
- "dev": true
- },
- "once": {
+ "node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
- "requires": {
+ "dependencies": {
"wrappy": "1"
}
},
- "optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "node_modules/optionator": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
+ "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
"dev": true,
- "requires": {
+ "dependencies": {
+ "@aashutoshrathi/word-wrap": "^1.2.3",
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
+ "type-check": "^0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
}
},
- "p-limit": {
+ "node_modules/p-limit": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
- "requires": {
+ "dependencies": {
"p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "p-locate": {
+ "node_modules/p-locate": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
"dev": true,
- "requires": {
+ "dependencies": {
"p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "p-try": {
+ "node_modules/p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
"integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "parse-entities": {
+ "node_modules/parse-entities": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
"integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"character-entities": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"character-reference-invalid": "^1.0.0",
"is-alphanumerical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-hexadecimal": "^1.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "parse-json": {
+ "node_modules/parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"error-ex": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "passive-voice": {
+ "node_modules/passive-voice": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/passive-voice/-/passive-voice-0.1.0.tgz",
"integrity": "sha512-Pj9iwzXw4bKEtdugGYm92jT4tnsj+xrTSkHFEM4bn6fefqbFdZi49tZMmGIZ91aIQTyFtMUww7O2qYaZKAsDag==",
"dev": true
},
- "path-exists": {
+ "node_modules/path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "path-is-absolute": {
+ "node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "path-parse": {
+ "node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
- "path-to-glob-pattern": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-to-glob-pattern/-/path-to-glob-pattern-1.0.2.tgz",
- "integrity": "sha512-ryF65N5MBB9XOjE5mMOi+0bMrh1F0ORQmqDSSERvv5zD62Cfc5QC6rK1AR1xuDIG1I091CkNENblbteWy1bXgw==",
+ "node_modules/path-to-glob-pattern": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-to-glob-pattern/-/path-to-glob-pattern-2.0.1.tgz",
+ "integrity": "sha512-tmciSlVyHnX0LC86+zSr+0LURw9rDPw8ilhXcmTpVUOnI6OsKdCzXQs5fTG10Bjz26IBdnKL3XIaP+QvGsk5YQ==",
"dev": true
},
- "path-type": {
+ "node_modules/path-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==",
"dev": true,
- "requires": {
+ "dependencies": {
"graceful-fs": "^4.1.2",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "picocolors": {
+ "node_modules/perfect-debounce": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz",
+ "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==",
+ "dev": true
+ },
+ "node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
},
- "pify": {
+ "node_modules/pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "pinkie": {
+ "node_modules/pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "pinkie-promise": {
+ "node_modules/pinkie-promise": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
"dev": true,
- "requires": {
+ "dependencies": {
"pinkie": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "pluralize": {
+ "node_modules/pluralize": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-2.0.0.tgz",
"integrity": "sha512-TqNZzQCD4S42De9IfnnBvILN7HAW7riLqsCyp8lgjXeysyPlX5HhqKAcJHHHb9XskE4/a+7VGC9zzx8Ls0jOAw==",
"dev": true
},
- "postcss": {
- "version": "8.4.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
- "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+ "node_modules/postcss": {
+ "version": "8.4.38",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"dev": true,
- "requires": {
- "nanoid": "^3.3.4",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
"picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
+ "source-map-js": "^1.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
}
},
- "preact": {
- "version": "10.12.1",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.12.1.tgz",
- "integrity": "sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==",
- "dev": true
+ "node_modules/preact": {
+ "version": "10.20.1",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.20.1.tgz",
+ "integrity": "sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/preact"
+ }
},
- "prelude-ls": {
+ "node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
},
- "punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "dev": true
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
},
- "rc-config-loader": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.2.tgz",
- "integrity": "sha512-qKTnVWFl9OQYKATPzdfaZIbTxcHziQl92zYSxYC6umhOqyAsoj8H8Gq/+aFjAso68sBdjTz3A7omqeAkkF1MWg==",
+ "node_modules/rc-config-loader": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.3.tgz",
+ "integrity": "sha512-kD7FqML7l800i6pS6pvLyIE2ncbk9Du8Q0gp/4hMPhJU6ZxApkoLcGD8ZeqgiAlfwZ6BlETq6qqe+12DUL207w==",
"dev": true,
- "requires": {
+ "dependencies": {
"debug": "^4.3.4",
"js-yaml": "^4.1.0",
"json5": "^2.2.2",
"require-from-string": "^2.0.2"
}
},
- "read-pkg": {
+ "node_modules/rc-config-loader/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/rc-config-loader/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/read-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"load-json-file": "^1.0.0",
"normalize-package-data": "^2.3.2",
"path-type": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "read-pkg-up": {
+ "node_modules/read-pkg-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
"integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==",
"dev": true,
- "requires": {
+ "dependencies": {
"find-up": "^2.0.0",
"read-pkg": "^3.0.0"
},
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+ "dev": true,
"dependencies": {
- "load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
- }
- },
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
- "dev": true,
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- },
- "path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true
- },
- "read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
- "dev": true,
- "requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true
- }
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "node_modules/read-pkg-up/node_modules/path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "dependencies": {
+ "pify": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+ "dev": true,
+ "dependencies": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
- "requires": {
+ "dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
- "remark-footnotes": {
+ "node_modules/remark-footnotes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-3.0.0.tgz",
"integrity": "sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==",
"dev": true,
- "requires": {
+ "dependencies": {
"mdast-util-footnote": "^0.1.0",
"micromark-extension-footnote": "^0.3.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "remark-frontmatter": {
+ "node_modules/remark-frontmatter": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-3.0.0.tgz",
"integrity": "sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==",
"dev": true,
- "requires": {
+ "dependencies": {
"mdast-util-frontmatter": "^0.2.0",
"micromark-extension-frontmatter": "^0.2.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "remark-gfm": {
+ "node_modules/remark-gfm": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz",
"integrity": "sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==",
"dev": true,
- "requires": {
+ "dependencies": {
"mdast-util-gfm": "^0.1.0",
"micromark-extension-gfm": "^0.3.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "remark-parse": {
+ "node_modules/remark-parse": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz",
"integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==",
"dev": true,
- "requires": {
+ "dependencies": {
"mdast-util-from-markdown": "^0.8.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "repeat-string": {
+ "node_modules/repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10"
+ }
},
- "require-from-string": {
+ "node_modules/require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
"dev": true,
- "requires": {
- "is-core-module": "^2.9.0",
+ "dependencies": {
+ "is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "rimraf": {
+ "node_modules/rfdc": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz",
+ "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==",
+ "dev": true
+ },
+ "node_modules/rimraf": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"dev": true,
- "requires": {
+ "dependencies": {
"glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
}
},
- "rollup": {
- "version": "2.79.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
- "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
+ "node_modules/rollup": {
+ "version": "4.13.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.2.tgz",
+ "integrity": "sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==",
"dev": true,
- "requires": {
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.13.2",
+ "@rollup/rollup-android-arm64": "4.13.2",
+ "@rollup/rollup-darwin-arm64": "4.13.2",
+ "@rollup/rollup-darwin-x64": "4.13.2",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.13.2",
+ "@rollup/rollup-linux-arm64-gnu": "4.13.2",
+ "@rollup/rollup-linux-arm64-musl": "4.13.2",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.13.2",
+ "@rollup/rollup-linux-riscv64-gnu": "4.13.2",
+ "@rollup/rollup-linux-s390x-gnu": "4.13.2",
+ "@rollup/rollup-linux-x64-gnu": "4.13.2",
+ "@rollup/rollup-linux-x64-musl": "4.13.2",
+ "@rollup/rollup-win32-arm64-msvc": "4.13.2",
+ "@rollup/rollup-win32-ia32-msvc": "4.13.2",
+ "@rollup/rollup-win32-x64-msvc": "4.13.2",
"fsevents": "~2.3.2"
}
},
- "rollup-plugin-sitemap": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/rollup-plugin-sitemap/-/rollup-plugin-sitemap-1.0.3.tgz",
- "integrity": "sha512-RLz6cB0e7q9NDX7PQE1Tb/Cv5nxPXFEQhLWXQO+KUfYXaQbC321gHhkoY2rGqNVVRJ+0L4dgiu5qT6CzKuD3yA==",
- "dev": true,
- "requires": {
- "rollup": "^2.18.0"
- }
- },
- "safe-buffer": {
+ "node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
},
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
+ "node_modules/search-insights": {
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.13.0.tgz",
+ "integrity": "sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
},
- "sentence-splitter": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-3.2.2.tgz",
- "integrity": "sha512-hMvaodgK9Fay928uiQoTMEWjXpCERdKD2uKo7BbSyP+uWTo+wHiRjN+ZShyI99rW0VuoV4Cuw8FUmaRcnpN7Ug==",
+ "node_modules/sentence-splitter": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-3.2.3.tgz",
+ "integrity": "sha512-eDqaz4MasTn6Mp3dagKzIbiNsJpgpueMEQqCJeN9F9XQRFLDGFJ0kX8R3uMp+mU7J58dWjr4q6eks/nUX/vnJQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"@textlint/ast-node-types": "^4.4.2",
"concat-stream": "^2.0.0",
"object_values": "^0.1.2",
"structured-source": "^3.0.2"
+ },
+ "bin": {
+ "sentence-splitter": "bin/cmd.js"
+ }
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
- "shiki": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz",
- "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==",
+ "node_modules/shiki": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.2.1.tgz",
+ "integrity": "sha512-u+XW6o0vCkUNlneZb914dLO+AayEIwK5tI62WeS//R5HIXBFiYaj/Hc5xcq27Yh83Grr4JbNtUBV8W6zyK4hWg==",
"dev": true,
- "requires": {
- "ansi-sequence-parser": "^1.1.0",
- "jsonc-parser": "^3.2.0",
- "vscode-oniguruma": "^1.7.0",
- "vscode-textmate": "^8.0.0"
+ "dependencies": {
+ "@shikijs/core": "1.2.1"
}
},
- "slice-ansi": {
+ "node_modules/slice-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
"integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"ansi-styles": "^4.0.0",
"astral-regex": "^2.0.0",
"is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "dev": true
- },
- "sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "dev": true
+ "node_modules/source-map-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "node_modules/spdx-correct": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
"dev": true,
- "requires": {
+ "dependencies": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
}
},
- "spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "node_modules/spdx-exceptions": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
"dev": true
},
- "spdx-expression-parse": {
+ "node_modules/spdx-expression-parse": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
"dev": true,
- "requires": {
+ "dependencies": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
}
},
- "spdx-license-ids": {
- "version": "3.0.12",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
- "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==",
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
+ "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
"dev": true
},
- "split-lines": {
+ "node_modules/speakingurl": {
+ "version": "14.0.1",
+ "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz",
+ "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/split-lines": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/split-lines/-/split-lines-2.1.0.tgz",
"integrity": "sha512-8dv+1zKgTpfTkOy8XZLFyWrfxO0NV/bj/3EaQ+hBrBxGv2DwiroljPjU8NlCr+59nLnsVm9WYT7lXKwe4TC6bw==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "sprintf-js": {
+ "node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true
},
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "string_decoder": {
+ "node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
- "requires": {
+ "dependencies": {
"safe-buffer": "~5.2.0"
}
},
- "strip-ansi": {
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
- "requires": {
+ "dependencies": {
"ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "strip-bom": {
+ "node_modules/strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
"dev": true,
- "requires": {
+ "dependencies": {
"is-utf8": "^0.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "strip-json-comments": {
+ "node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "structured-source": {
+ "node_modules/structured-source": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/structured-source/-/structured-source-3.0.2.tgz",
"integrity": "sha512-Ap7JHfKgmH40SUjumqyKTHYHNZ8GvGQskP34ks0ElHCDEig+bYGpmXVksxPSrgcY9rkJqhVMzfeg5GIpZelfpQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"boundary": "^1.0.1"
}
},
- "supports-color": {
+ "node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
- "requires": {
+ "dependencies": {
"has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "supports-preserve-symlinks-flag": {
+ "node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/tabbable": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz",
+ "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==",
"dev": true
},
- "table": {
- "version": "6.8.1",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
- "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
+ "node_modules/table": {
+ "version": "6.8.2",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
+ "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
"dev": true,
- "requires": {
+ "dependencies": {
"ajv": "^8.0.1",
"lodash.truncate": "^4.4.2",
"slice-ansi": "^4.0.0",
"string-width": "^4.2.3",
"strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
}
},
- "text-table": {
+ "node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
- "textlint": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/textlint/-/textlint-13.2.0.tgz",
- "integrity": "sha512-do5QcvOhcDlbjmiMi/g3wnpUC79NSSj5WnDdG48Zzl/FLkrVPzU52XGW5eT15GuVR2zeiCKnm1/uZ21tAlOsLg==",
- "dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.2.0",
- "@textlint/ast-traverse": "^13.2.0",
- "@textlint/config-loader": "^13.2.0",
- "@textlint/feature-flag": "^13.2.0",
- "@textlint/fixer-formatter": "^13.2.0",
- "@textlint/kernel": "^13.2.0",
- "@textlint/linter-formatter": "^13.2.0",
- "@textlint/module-interop": "^13.2.0",
- "@textlint/textlint-plugin-markdown": "^13.2.0",
- "@textlint/textlint-plugin-text": "^13.2.0",
- "@textlint/types": "^13.2.0",
- "@textlint/utils": "^13.2.0",
+ "node_modules/textlint": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/textlint/-/textlint-13.4.1.tgz",
+ "integrity": "sha512-ev6XkQEUMWcW90hTHJKlvt23ca1AtmmK2iw4mazqKnSVz8PTSMg45NB68ht3ev92lIPD+8Wt4D6JxCInZkh4GQ==",
+ "dev": true,
+ "dependencies": {
+ "@textlint/ast-node-types": "^13.4.1",
+ "@textlint/ast-traverse": "^13.4.1",
+ "@textlint/config-loader": "^13.4.1",
+ "@textlint/feature-flag": "^13.4.1",
+ "@textlint/fixer-formatter": "^13.4.1",
+ "@textlint/kernel": "^13.4.1",
+ "@textlint/linter-formatter": "^13.4.1",
+ "@textlint/module-interop": "^13.4.1",
+ "@textlint/textlint-plugin-markdown": "^13.4.1",
+ "@textlint/textlint-plugin-text": "^13.4.1",
+ "@textlint/types": "^13.4.1",
+ "@textlint/utils": "^13.4.1",
"debug": "^4.3.4",
"file-entry-cache": "^5.0.1",
"get-stdin": "^5.0.1",
"glob": "^7.2.3",
- "is-file": "^1.0.0",
"md5": "^2.3.0",
"mkdirp": "^0.5.6",
- "optionator": "^0.9.1",
- "path-to-glob-pattern": "^1.0.2",
- "rc-config-loader": "^4.1.2",
+ "optionator": "^0.9.3",
+ "path-to-glob-pattern": "^2.0.1",
+ "rc-config-loader": "^4.1.3",
"read-pkg": "^1.1.0",
"read-pkg-up": "^3.0.0",
"structured-source": "^4.0.0",
"try-resolve": "^1.0.1",
"unique-concat": "^0.2.2"
},
- "dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- },
- "boundary": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
- "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
- "dev": true
- },
- "structured-source": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
- "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
- "dev": true,
- "requires": {
- "boundary": "^2.0.0"
- }
- }
+ "bin": {
+ "textlint": "bin/textlint.js"
+ },
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "textlint-filter-rule-comments": {
+ "node_modules/textlint-filter-rule-comments": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/textlint-filter-rule-comments/-/textlint-filter-rule-comments-1.2.2.tgz",
"integrity": "sha512-AtyxreCPb3Hq/bd6Qd6szY1OGgnW34LOjQXAHzE8NoXbTUudQqALPdRe+hvRsf81rnmGLxBiCUXZbnbpIseFyw==",
- "dev": true
+ "dev": true,
+ "peerDependencies": {
+ "textlint": ">=6.8.0"
+ }
},
- "textlint-rule-apostrophe": {
+ "node_modules/textlint-rule-apostrophe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/textlint-rule-apostrophe/-/textlint-rule-apostrophe-1.0.0.tgz",
"integrity": "sha512-FzAThN6ZRQWIQh0ZxMIqkhBRx7MsbpOvjCgTaopzod1EdvhaDMJnk7Gf1hnvYjqyq256ja6CYZ7xLs4FT9QCDA==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
},
- "textlint-rule-common-misspellings": {
+ "node_modules/textlint-rule-common-misspellings": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/textlint-rule-common-misspellings/-/textlint-rule-common-misspellings-1.0.1.tgz",
"integrity": "sha512-f5KWhQFJzJBUX3RirAS25aSkAaaOHeSHtBeb7d49O+vxnAX3dZBS5DB/e5M1kR4tifW4qae64oqWZygoGYWkjQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"misspellings": "^1.0.1",
"textlint-rule-helper": "^1.1.5"
- },
+ }
+ },
+ "node_modules/textlint-rule-common-misspellings/node_modules/textlint-rule-helper": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-1.2.0.tgz",
+ "integrity": "sha512-yJmVbmyuUPOndKsxOijpx/G7mwybXXf4M10U2up0BeIZSN+6drUl+aSKAoC+RUHY7bG4ogLwRcmWoNG1lSrRIQ==",
+ "dev": true,
"dependencies": {
- "textlint-rule-helper": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-1.2.0.tgz",
- "integrity": "sha512-yJmVbmyuUPOndKsxOijpx/G7mwybXXf4M10U2up0BeIZSN+6drUl+aSKAoC+RUHY7bG4ogLwRcmWoNG1lSrRIQ==",
- "dev": true,
- "requires": {
- "unist-util-visit": "^1.1.0"
- }
- }
+ "unist-util-visit": "^1.1.0"
}
},
- "textlint-rule-diacritics": {
+ "node_modules/textlint-rule-diacritics": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/textlint-rule-diacritics/-/textlint-rule-diacritics-1.0.0.tgz",
"integrity": "sha512-hhJvDZzhV+sKD7walPQ4VmWkBw5o1T/lFLRsoDsAJF+LYhD89R5/L4yFVtxFRUkP9VZ5cvoUIPkYjZvkPEawTA==",
"dev": true,
- "requires": {
+ "dependencies": {
"match-casing": "^1.0.2",
"strip-json-comments": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=8.6"
}
},
- "textlint-rule-en-capitalization": {
+ "node_modules/textlint-rule-en-capitalization": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/textlint-rule-en-capitalization/-/textlint-rule-en-capitalization-2.0.3.tgz",
"integrity": "sha512-tIx2gzm3okWfK5+0NNV1ap21LHk9PTc2/IXNqFhd7RDVSqv7YFaZnhwL+UrBZXTEfOh6VgnTQd81Os2Akzas5g==",
"dev": true,
- "requires": {
+ "dependencies": {
"en-pos": "^1.0.16",
"sentence-splitter": "^3.0.11",
"textlint-rule-helper": "^2.1.1"
- },
+ }
+ },
+ "node_modules/textlint-rule-en-capitalization/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
+ "dev": true
+ },
+ "node_modules/textlint-rule-en-capitalization/node_modules/boundary": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
+ "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
+ "dev": true
+ },
+ "node_modules/textlint-rule-en-capitalization/node_modules/structured-source": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
+ "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
+ "dev": true,
"dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- },
- "boundary": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
- "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
- "dev": true
- },
- "structured-source": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
- "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
- "dev": true,
- "requires": {
- "boundary": "^2.0.0"
- }
- },
- "textlint-rule-helper": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.3.0.tgz",
- "integrity": "sha512-Ug78Saahb/qVImttL0NSFyT5/JJ5wXvOPepR2pYAjNi54BsQAAz/hAyyEgKuYeR0+yjFb0KPhby4f880X5vqHA==",
- "dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.0.2",
- "structured-source": "^4.0.0",
- "unist-util-visit": "^2.0.3"
- }
- },
- "unist-util-is": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
- "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
- "dev": true
- },
- "unist-util-visit": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
- "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
- "dev": true,
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0",
- "unist-util-visit-parents": "^3.0.0"
- }
- },
- "unist-util-visit-parents": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
- "dev": true,
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0"
- }
- }
+ "boundary": "^2.0.0"
}
},
- "textlint-rule-helper": {
+ "node_modules/textlint-rule-en-capitalization/node_modules/textlint-rule-helper": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.3.1.tgz",
+ "integrity": "sha512-b1bijvyiUmKinfFE5hkQMSXs3Ky8jyZ3Y6SOoTRJKV9HLL2LWUVFAUezO7z4FpAkVvYruDYWCwA5qWV8GmvyUw==",
+ "dev": true,
+ "dependencies": {
+ "@textlint/ast-node-types": "^13.4.1",
+ "structured-source": "^4.0.0",
+ "unist-util-visit": "^2.0.3"
+ }
+ },
+ "node_modules/textlint-rule-en-capitalization/node_modules/unist-util-visit": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
+ "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/textlint-rule-helper": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.0.1.tgz",
"integrity": "sha512-QNGSOemLVxm1b0qnH5VpRY8uyHgfx/8M+St8wSy/d6mZh0abd+KAvhQSuO8cxmVeRKr/LRkhAB3+0QU5LKhLGw==",
"dev": true,
- "requires": {
+ "dependencies": {
"unist-util-visit": "^1.1.0"
}
},
- "textlint-rule-stop-words": {
+ "node_modules/textlint-rule-stop-words": {
"version": "2.0.9",
"resolved": "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-2.0.9.tgz",
"integrity": "sha512-UW7nWrqBUHfz/sRLTFo40BNjwXOiXSHg00TJuYY4GVDQtsWRLyAsOnXSBqClP4i6wl7ejMBeYmB5mfllYAYMgA==",
"dev": true,
- "requires": {
+ "dependencies": {
"lodash": "^4.17.15",
"split-lines": "^2.0.0",
"textlint-rule-helper": "^2.1.1"
},
+ "engines": {
+ "node": ">=8.9"
+ }
+ },
+ "node_modules/textlint-rule-stop-words/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
+ "dev": true
+ },
+ "node_modules/textlint-rule-stop-words/node_modules/boundary": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
+ "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
+ "dev": true
+ },
+ "node_modules/textlint-rule-stop-words/node_modules/structured-source": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
+ "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
+ "dev": true,
"dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- },
- "boundary": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
- "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
- "dev": true
- },
- "structured-source": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
- "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
- "dev": true,
- "requires": {
- "boundary": "^2.0.0"
- }
- },
- "textlint-rule-helper": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.3.0.tgz",
- "integrity": "sha512-Ug78Saahb/qVImttL0NSFyT5/JJ5wXvOPepR2pYAjNi54BsQAAz/hAyyEgKuYeR0+yjFb0KPhby4f880X5vqHA==",
- "dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.0.2",
- "structured-source": "^4.0.0",
- "unist-util-visit": "^2.0.3"
- }
- },
- "unist-util-is": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
- "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
- "dev": true
- },
- "unist-util-visit": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
- "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
- "dev": true,
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0",
- "unist-util-visit-parents": "^3.0.0"
- }
- },
- "unist-util-visit-parents": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
- "dev": true,
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0"
- }
- }
+ "boundary": "^2.0.0"
}
},
- "textlint-rule-terminology": {
+ "node_modules/textlint-rule-stop-words/node_modules/textlint-rule-helper": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.3.1.tgz",
+ "integrity": "sha512-b1bijvyiUmKinfFE5hkQMSXs3Ky8jyZ3Y6SOoTRJKV9HLL2LWUVFAUezO7z4FpAkVvYruDYWCwA5qWV8GmvyUw==",
+ "dev": true,
+ "dependencies": {
+ "@textlint/ast-node-types": "^13.4.1",
+ "structured-source": "^4.0.0",
+ "unist-util-visit": "^2.0.3"
+ }
+ },
+ "node_modules/textlint-rule-stop-words/node_modules/unist-util-visit": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
+ "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/textlint-rule-terminology": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-2.1.6.tgz",
"integrity": "sha512-3OdV/0DE8RpIYcshz+5wFaDwNYIlqfsBA8TODgNd68T339rn+K69ak5hoXUBSSuTousbAbCFDPqTILG20os44A==",
"dev": true,
- "requires": {
+ "dependencies": {
"lodash": "^4.17.15",
"strip-json-comments": "^3.0.1",
"textlint-rule-helper": "^2.1.1"
},
+ "engines": {
+ "node": ">=8.9"
+ }
+ },
+ "node_modules/textlint-rule-terminology/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
+ "dev": true
+ },
+ "node_modules/textlint-rule-terminology/node_modules/boundary": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
+ "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
+ "dev": true
+ },
+ "node_modules/textlint-rule-terminology/node_modules/structured-source": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
+ "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
+ "dev": true,
"dependencies": {
- "@textlint/ast-node-types": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.2.0.tgz",
- "integrity": "sha512-P76rGK9SoN/f40yVW2Dep3QkXQOkAYTzEZjV0yBf/W9N0c81HUDJPS//aRbS3ml0Yb7TNgkXYm/ChTsL79RcAg==",
- "dev": true
- },
- "boundary": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
- "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
- "dev": true
- },
- "structured-source": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
- "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
- "dev": true,
- "requires": {
- "boundary": "^2.0.0"
- }
- },
- "textlint-rule-helper": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.3.0.tgz",
- "integrity": "sha512-Ug78Saahb/qVImttL0NSFyT5/JJ5wXvOPepR2pYAjNi54BsQAAz/hAyyEgKuYeR0+yjFb0KPhby4f880X5vqHA==",
- "dev": true,
- "requires": {
- "@textlint/ast-node-types": "^13.0.2",
- "structured-source": "^4.0.0",
- "unist-util-visit": "^2.0.3"
- }
- },
- "unist-util-is": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
- "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
- "dev": true
- },
- "unist-util-visit": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
- "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
- "dev": true,
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0",
- "unist-util-visit-parents": "^3.0.0"
- }
- },
- "unist-util-visit-parents": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
- "dev": true,
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0"
- }
- }
+ "boundary": "^2.0.0"
+ }
+ },
+ "node_modules/textlint-rule-terminology/node_modules/textlint-rule-helper": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.3.1.tgz",
+ "integrity": "sha512-b1bijvyiUmKinfFE5hkQMSXs3Ky8jyZ3Y6SOoTRJKV9HLL2LWUVFAUezO7z4FpAkVvYruDYWCwA5qWV8GmvyUw==",
+ "dev": true,
+ "dependencies": {
+ "@textlint/ast-node-types": "^13.4.1",
+ "structured-source": "^4.0.0",
+ "unist-util-visit": "^2.0.3"
+ }
+ },
+ "node_modules/textlint-rule-terminology/node_modules/unist-util-visit": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
+ "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "textlint-rule-write-good": {
+ "node_modules/textlint-rule-write-good": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/textlint-rule-write-good/-/textlint-rule-write-good-1.6.2.tgz",
"integrity": "sha512-1JznrHizN5EhAJ426AUnjbjIrPW0XyzGII2B2QIF5z+4toU8id+Ky8LChUEMS4IYGrys+eVlvWOXX+hKTdWgqw==",
"dev": true,
- "requires": {
+ "dependencies": {
"textlint-rule-helper": "^2.0.0",
"write-good": "^0.11.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/textlint/node_modules/@textlint/ast-node-types": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
+ "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ==",
+ "dev": true
+ },
+ "node_modules/textlint/node_modules/boundary": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
+ "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
+ "dev": true
+ },
+ "node_modules/textlint/node_modules/structured-source": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
+ "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
+ "dev": true,
+ "dependencies": {
+ "boundary": "^2.0.0"
}
},
- "too-wordy": {
+ "node_modules/too-wordy": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/too-wordy/-/too-wordy-0.1.6.tgz",
"integrity": "sha512-MV5F74YF9+UYsvwXGXTh+5YP3EqH/ivwWfyFE2/YHWQQxm9jDPmkIC23nkN133Ye4nO3HTXmiMcfGqJ5xRPfOA==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=6",
+ "npm": ">=5"
+ }
},
- "traverse": {
- "version": "0.6.7",
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz",
- "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==",
- "dev": true
+ "node_modules/traverse": {
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz",
+ "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
- "trough": {
+ "node_modules/trough": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
"integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "try-resolve": {
+ "node_modules/try-resolve": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/try-resolve/-/try-resolve-1.0.1.tgz",
"integrity": "sha512-yHeaPjCBzVaXwWl5IMUapTaTC2rn/eBYg2fsG2L+CvJd+ttFbk0ylDnpTO3wVhosmE1tQEvcebbBeKLCwScQSQ==",
"dev": true
},
- "type-check": {
+ "node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
- "requires": {
+ "dependencies": {
"prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
}
},
- "typedarray": {
+ "node_modules/typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
"dev": true
},
- "unified": {
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true
+ },
+ "node_modules/unified": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz",
"integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"bail": "^1.0.0",
"extend": "^3.0.0",
"is-buffer": "^2.0.0",
"is-plain-obj": "^2.0.0",
"trough": "^1.0.0",
"vfile": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unified/node_modules/is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "engines": {
+ "node": ">=4"
}
},
- "unique-concat": {
+ "node_modules/unique-concat": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/unique-concat/-/unique-concat-0.2.2.tgz",
"integrity": "sha512-nFT3frbsvTa9rrc71FJApPqXF8oIhVHbX3IWgObQi1mF7WrW48Ys70daL7o4evZUtmUf6Qn6WK0LbHhyO0hpXw==",
"dev": true
},
- "unist-util-is": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
- "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
- "dev": true
+ "node_modules/unist-util-is": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
+ "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
},
- "unist-util-stringify-position": {
+ "node_modules/unist-util-stringify-position": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
"integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
"dev": true,
- "requires": {
+ "dependencies": {
"@types/unist": "^2.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "unist-util-visit": {
+ "node_modules/unist-util-visit": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
"integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
"dev": true,
- "requires": {
+ "dependencies": {
"unist-util-visit-parents": "^2.0.0"
}
},
- "unist-util-visit-parents": {
+ "node_modules/unist-util-visit-parents": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
+ "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit/node_modules/unist-util-is": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
+ "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
+ "dev": true
+ },
+ "node_modules/unist-util-visit/node_modules/unist-util-visit-parents": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
"integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
"dev": true,
- "requires": {
+ "dependencies": {
"unist-util-is": "^3.0.0"
}
},
- "uri-js": {
+ "node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
- "requires": {
+ "dependencies": {
"punycode": "^2.1.0"
}
},
- "util-deprecate": {
+ "node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"dev": true
},
- "validate-npm-package-license": {
+ "node_modules/validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
"dev": true,
- "requires": {
+ "dependencies": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
}
},
- "vfile": {
+ "node_modules/vfile": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
"integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==",
"dev": true,
- "requires": {
+ "dependencies": {
"@types/unist": "^2.0.0",
"is-buffer": "^2.0.0",
"unist-util-stringify-position": "^2.0.0",
"vfile-message": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "vfile-message": {
+ "node_modules/vfile-message": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
"integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"@types/unist": "^2.0.0",
"unist-util-stringify-position": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "vite": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.1.tgz",
- "integrity": "sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==",
+ "node_modules/vfile/node_modules/is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
"dev": true,
- "requires": {
- "esbuild": "^0.16.14",
- "fsevents": "~2.3.2",
- "postcss": "^8.4.21",
- "resolve": "^1.22.1",
- "rollup": "^3.10.0"
- },
- "dependencies": {
- "rollup": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.14.0.tgz",
- "integrity": "sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q==",
- "dev": true,
- "requires": {
- "fsevents": "~2.3.2"
- }
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
}
+ ],
+ "engines": {
+ "node": ">=4"
}
},
- "vitepress": {
- "version": "1.0.0-alpha.45",
- "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-alpha.45.tgz",
- "integrity": "sha512-8AVWdymQqBUPmXmAbpapDDg18iDmkNJ47l5eOklBlAjj3n8P3zDAsBhOWSQ6+Nvm6+/GaZATyAvsrg47JD5Idw==",
+ "node_modules/vite": {
+ "version": "5.2.6",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.6.tgz",
+ "integrity": "sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==",
"dev": true,
- "requires": {
- "@docsearch/css": "^3.3.2",
- "@docsearch/js": "^3.3.2",
- "@vitejs/plugin-vue": "^4.0.0",
- "@vue/devtools-api": "^6.5.0",
- "@vueuse/core": "^9.12.0",
- "body-scroll-lock": "4.0.0-beta.0",
- "shiki": "^0.14.0",
- "vite": "^4.0.4",
- "vue": "^3.2.45"
+ "dependencies": {
+ "esbuild": "^0.20.1",
+ "postcss": "^8.4.36",
+ "rollup": "^4.13.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
}
},
- "vscode-oniguruma": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
- "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
- "dev": true
- },
- "vscode-textmate": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
- "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
- "dev": true
- },
- "vue": {
- "version": "3.2.47",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz",
- "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==",
+ "node_modules/vitepress": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.1.tgz",
+ "integrity": "sha512-eNr5pOBppYUUjEhv8S0S2t9Tv95LQ6mMeHj6ivaGwfHxpov70Vduuwl/QQMDRznKDSaP0WKV7a82Pb4JVOaqEw==",
"dev": true,
- "requires": {
- "@vue/compiler-dom": "3.2.47",
- "@vue/compiler-sfc": "3.2.47",
- "@vue/runtime-dom": "3.2.47",
- "@vue/server-renderer": "3.2.47",
- "@vue/shared": "3.2.47"
+ "dependencies": {
+ "@docsearch/css": "^3.6.0",
+ "@docsearch/js": "^3.6.0",
+ "@shikijs/core": "^1.2.0",
+ "@shikijs/transformers": "^1.2.0",
+ "@types/markdown-it": "^13.0.7",
+ "@vitejs/plugin-vue": "^5.0.4",
+ "@vue/devtools-api": "^7.0.16",
+ "@vueuse/core": "^10.9.0",
+ "@vueuse/integrations": "^10.9.0",
+ "focus-trap": "^7.5.4",
+ "mark.js": "8.11.1",
+ "minisearch": "^6.3.0",
+ "shiki": "^1.2.0",
+ "vite": "^5.2.2",
+ "vue": "^3.4.21"
+ },
+ "bin": {
+ "vitepress": "bin/vitepress.js"
+ },
+ "peerDependencies": {
+ "markdown-it-mathjax3": "^4",
+ "postcss": "^8"
+ },
+ "peerDependenciesMeta": {
+ "markdown-it-mathjax3": {
+ "optional": true
+ },
+ "postcss": {
+ "optional": true
+ }
}
},
- "vue-demi": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
- "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
- "dev": true
+ "node_modules/vue": {
+ "version": "3.4.21",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.21.tgz",
+ "integrity": "sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==",
+ "dev": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.4.21",
+ "@vue/compiler-sfc": "3.4.21",
+ "@vue/runtime-dom": "3.4.21",
+ "@vue/server-renderer": "3.4.21",
+ "@vue/shared": "3.4.21"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
},
- "weasel-words": {
+ "node_modules/weasel-words": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/weasel-words/-/weasel-words-0.1.1.tgz",
"integrity": "sha512-rWkTAGqs4TN6qreS06+irmFUMrQVx5KoFjD8CxMHUsAwmxw/upDcfleaEYOLsonUbornahg+VJ9xrWxp4udyJA==",
"dev": true
},
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
- },
- "wrappy": {
+ "node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
- "write": {
+ "node_modules/write": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
"integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
"dev": true,
- "requires": {
+ "dependencies": {
"mkdirp": "^0.5.1"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "write-good": {
+ "node_modules/write-good": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/write-good/-/write-good-0.11.3.tgz",
"integrity": "sha512-fDKIHO5wCzTLCOGNJl1rzzJrZlTIzfZl8msOoJQZzRhYo0X/tFTm4+2B1zTibFYK01Nnd1kLZBjj4xjcFLePNQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"adverb-where": "0.0.9",
"e-prime": "^0.10.2",
"no-cliches": "^0.1.0",
@@ -2992,13 +4474,21 @@
"passive-voice": "^0.1.0",
"too-wordy": "^0.1.4",
"weasel-words": "^0.1.1"
+ },
+ "bin": {
+ "write-good": "bin/write-good.js",
+ "writegood": "bin/write-good.js"
}
},
- "zwitch": {
+ "node_modules/zwitch": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz",
"integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==",
- "dev": true
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
}
}
}
diff --git a/docs/package.json b/docs/package.json
index 67fa115e..d209d7d7 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -1,4 +1,5 @@
{
+ "type": "module",
"scripts": {
"docs:build": "npm run docs:fix && npm run docs:lint && vitepress build docs",
"docs:dev": "vitepress dev docs",
@@ -7,8 +8,8 @@
},
"devDependencies": {
"@textlint-rule/textlint-rule-no-unmatched-pair": "^1.0.8",
- "@types/node": "^18.0.0",
- "rollup-plugin-sitemap": "^1.0.3",
+ "@types/node": "^20.0.0",
+ "@aminnairi/rollup-plugin-sitemap": "^0.1.0",
"textlint": "^13.0.0",
"textlint-filter-rule-comments": "^1.2.2",
"textlint-rule-apostrophe": "^1.0.0",
diff --git a/ecs.php b/ecs.php
new file mode 100644
index 00000000..dfff63b0
--- /dev/null
+++ b/ecs.php
@@ -0,0 +1,13 @@
+paths([
+ __DIR__ . '/src',
+ __FILE__,
+ ]);
+ $ecsConfig->parallel();
+ $ecsConfig->sets([SetList::CRAFT_CMS_3]);
+};
diff --git a/phpstan.neon b/phpstan.neon
new file mode 100644
index 00000000..1cb34c73
--- /dev/null
+++ b/phpstan.neon
@@ -0,0 +1,10 @@
+includes:
+ - %currentWorkingDirectory%/vendor/craftcms/phpstan/phpstan.neon
+
+parameters:
+ level: 5
+ paths:
+ - src
+ excludePaths:
+ # Ignore library code
+ - src/lib/
diff --git a/src/ImageOptimize.php b/src/ImageOptimize.php
index db828d7f..9b528297 100644
--- a/src/ImageOptimize.php
+++ b/src/ImageOptimize.php
@@ -50,9 +50,11 @@
use nystudio107\imageoptimize\services\ServicesTrait;
use nystudio107\imageoptimize\utilities\ImageOptimizeUtility;
use nystudio107\imageoptimize\variables\ImageOptimizeVariable;
+use Twig\Error\LoaderError;
use yii\base\Event;
use yii\base\Exception;
use yii\base\InvalidConfigException;
+use function function_exists;
/** @noinspection MissingPropertyAnnotationsInspection */
@@ -206,13 +208,13 @@ public function settingsHtml()
'image-optimize/settings/_settings.twig',
[
'settings' => $settings,
- 'gdInstalled' => \function_exists('imagecreatefromjpeg'),
+ 'gdInstalled' => function_exists('imagecreatefromjpeg'),
'imageTransformTypeOptions' => $imageTransformTypeOptions,
'allImageTransformTypes' => $allImageTransformTypes,
'imageTransform' => ImageOptimize::$plugin->transformMethod,
]
);
- } catch (\Twig\Error\LoaderError $e) {
+ } catch (LoaderError $e) {
Craft::error($e->getMessage(), __METHOD__);
} catch (Exception $e) {
Craft::error($e->getMessage(), __METHOD__);
@@ -237,6 +239,7 @@ protected function createSettingsModel()
*/
protected function setImageTransformComponent()
{
+ /** @var Settings $settings */
$settings = $this->getSettings();
$definition = array_merge(
$settings->imageTransformTypeSettings[$settings->transformClass] ?? [],
@@ -258,7 +261,7 @@ protected function addComponents()
Event::on(
CraftVariable::class,
CraftVariable::EVENT_INIT,
- function (Event $event) {
+ function(Event $event) {
/** @var CraftVariable $variable */
$variable = $event->sender;
$variable->set('imageOptimize', [
@@ -272,7 +275,7 @@ function (Event $event) {
Event::on(
Fields::class,
Fields::EVENT_REGISTER_FIELD_TYPES,
- function (RegisterComponentTypesEvent $event) {
+ function(RegisterComponentTypesEvent $event) {
Craft::debug(
'Fields::EVENT_REGISTER_FIELD_TYPES',
__METHOD__
@@ -286,7 +289,7 @@ function (RegisterComponentTypesEvent $event) {
Event::on(
Utilities::class,
Utilities::EVENT_REGISTER_UTILITY_TYPES,
- function (RegisterComponentTypesEvent $event) {
+ function(RegisterComponentTypesEvent $event) {
$event->types[] = ImageOptimizeUtility::class;
}
);
@@ -322,7 +325,7 @@ protected function installAssetEventHandlers()
Event::on(
Assets::class,
Assets::EVENT_GET_ASSET_URL,
- function (GetAssetUrlEvent $event) {
+ function(GetAssetUrlEvent $event) {
Craft::debug(
'Assets::EVENT_GET_ASSET_URL',
__METHOD__
@@ -338,7 +341,7 @@ function (GetAssetUrlEvent $event) {
Event::on(
Assets::class,
Assets::EVENT_GET_ASSET_THUMB_URL,
- function (GetAssetThumbUrlEvent $event) {
+ function(GetAssetThumbUrlEvent $event) {
Craft::debug(
'Assets::EVENT_GET_ASSET_THUMB_URL',
__METHOD__
@@ -354,7 +357,7 @@ function (GetAssetThumbUrlEvent $event) {
Event::on(
AssetTransforms::class,
AssetTransforms::EVENT_GENERATE_TRANSFORM,
- function (GenerateTransformEvent $event) {
+ function(GenerateTransformEvent $event) {
Craft::debug(
'AssetTransforms::EVENT_GENERATE_TRANSFORM',
__METHOD__
@@ -375,7 +378,7 @@ function (GenerateTransformEvent $event) {
Event::on(
AssetTransforms::class,
AssetTransforms::EVENT_AFTER_DELETE_TRANSFORMS,
- function (AssetTransformImageEvent $event) {
+ function(AssetTransformImageEvent $event) {
Craft::debug(
'AssetTransforms::EVENT_AFTER_DELETE_TRANSFORMS',
__METHOD__
@@ -391,7 +394,7 @@ function (AssetTransformImageEvent $event) {
Event::on(
Assets::class,
Assets::EVENT_BEFORE_REPLACE_ASSET,
- function (ReplaceAssetEvent $event) {
+ function(ReplaceAssetEvent $event) {
Craft::debug(
'Assets::EVENT_BEFORE_REPLACE_ASSET',
__METHOD__
@@ -410,7 +413,7 @@ function (ReplaceAssetEvent $event) {
Event::on(
Assets::class,
Assets::EVENT_AFTER_REPLACE_ASSET,
- function (ReplaceAssetEvent $event) {
+ function(ReplaceAssetEvent $event) {
Craft::debug(
'Assets::EVENT_AFTER_REPLACE_ASSET',
__METHOD__
@@ -433,7 +436,7 @@ protected function installElementEventHandlers()
Event::on(
Assets::class,
Elements::EVENT_BEFORE_SAVE_ELEMENT,
- function (ElementEvent $event) {
+ function(ElementEvent $event) {
Craft::debug(
'Elements::EVENT_BEFORE_SAVE_ELEMENT',
__METHOD__
@@ -454,7 +457,7 @@ function (ElementEvent $event) {
Event::on(
Asset::class,
Elements::EVENT_BEFORE_DELETE_ELEMENT,
- function (ElementEvent $event) {
+ function(ElementEvent $event) {
Craft::debug(
'Elements::EVENT_BEFORE_DELETE_ELEMENT',
__METHOD__
@@ -479,13 +482,13 @@ protected function installMiscEventHandlers()
Event::on(
Fields::class,
Fields::EVENT_AFTER_SAVE_FIELD,
- function (FieldEvent $event) {
+ function(FieldEvent $event) {
Craft::debug(
'Fields::EVENT_AFTER_SAVE_FIELD',
__METHOD__
);
+ /** @var Settings $settings */
$settings = $this->getSettings();
- /** @var Field $field */
if (!$event->isNew && $settings->automaticallyResaveImageVariants) {
$this->checkForOptimizedImagesField($event);
}
@@ -496,12 +499,13 @@ function (FieldEvent $event) {
Event::on(
Plugins::class,
Plugins::EVENT_AFTER_SAVE_PLUGIN_SETTINGS,
- function (PluginEvent $event) {
+ function(PluginEvent $event) {
if ($event->plugin === $this) {
Craft::debug(
'Plugins::EVENT_AFTER_SAVE_PLUGIN_SETTINGS',
__METHOD__
);
+ /** @var Settings $settings */
$settings = $this->getSettings();
if ($settings->automaticallyResaveImageVariants) {
// After they have changed the settings, resave all of the assets
@@ -515,11 +519,12 @@ function (PluginEvent $event) {
Event::on(
Volumes::class,
Volumes::EVENT_AFTER_SAVE_VOLUME,
- function (VolumeEvent $event) {
+ function(VolumeEvent $event) {
Craft::debug(
'Volumes::EVENT_AFTER_SAVE_VOLUME',
__METHOD__
);
+ /** @var Settings $settings */
$settings = $this->getSettings();
// Only worry about this volume if it's not new
if (!$event->isNew && $settings->automaticallyResaveImageVariants) {
@@ -536,7 +541,7 @@ function (VolumeEvent $event) {
Event::on(
Plugins::class,
Plugins::EVENT_AFTER_INSTALL_PLUGIN,
- function (PluginEvent $event) {
+ function(PluginEvent $event) {
if ($event->plugin === $this) {
$request = Craft::$app->getRequest();
if ($request->isCpRequest) {
@@ -556,7 +561,7 @@ protected function installCraftQLEventHandlers()
Event::on(
OptimizedImages::class,
GetCraftQLSchema::EVENT_GET_FIELD_SCHEMA,
- [new GetCraftQLSchema, 'handle']
+ [new GetCraftQLSchema(), 'handle']
);
}
}
@@ -570,7 +575,7 @@ protected function installSiteEventListeners()
Event::on(
UrlManager::class,
UrlManager::EVENT_REGISTER_SITE_URL_RULES,
- function (RegisterUrlRulesEvent $event) {
+ function(RegisterUrlRulesEvent $event) {
Craft::debug(
'UrlManager::EVENT_REGISTER_SITE_URL_RULES',
__METHOD__
@@ -593,12 +598,12 @@ protected function installCpEventListeners()
Event::on(
Plugins::class,
Plugins::EVENT_AFTER_LOAD_PLUGINS,
- function () {
+ function() {
// Install these only after all other plugins have loaded
Event::on(
View::class,
View::EVENT_REGISTER_CP_TEMPLATE_ROOTS,
- function (RegisterTemplateRootsEvent $e) {
+ function(RegisterTemplateRootsEvent $e) {
// Register the root directodies
$allImageTransformTypes = ImageOptimize::$plugin->optimize->getAllImageTransformTypes();
/** @var ImageTransformInterface $imageTransformType */
@@ -631,17 +636,17 @@ protected function customFrontendRoutes(): array
*
* @param FieldEvent $event
*
- * @throws \yii\base\InvalidConfigException
+ * @throws InvalidConfigException
*/
protected function checkForOptimizedImagesField(FieldEvent $event)
{
$thisField = $event->field;
if ($thisField instanceof OptimizedImages) {
$volumes = Craft::$app->getVolumes()->getAllVolumes();
+ /** @var Volume $volume */
foreach ($volumes as $volume) {
$needToReSave = false;
- /** @var FieldLayout $fieldLayout */
- /** @var Volume $volume */
+ /** @var ?FieldLayout $fieldLayout */
$fieldLayout = $volume->getFieldLayout();
// Loop through the fields in the layout to see if it contains our field
if ($fieldLayout) {
diff --git a/src/console/controllers/OptimizeController.php b/src/console/controllers/OptimizeController.php
index afbdcc11..d66b8500 100755
--- a/src/console/controllers/OptimizeController.php
+++ b/src/console/controllers/OptimizeController.php
@@ -10,13 +10,13 @@
namespace nystudio107\imageoptimize\console\controllers;
-use nystudio107\imageoptimize\ImageOptimize;
-
use Craft;
+use craft\base\Field;
use craft\base\Volume;
use craft\helpers\App;
use craft\queue\QueueInterface;
-
+use nystudio107\imageoptimize\ImageOptimize;
+use yii\base\InvalidConfigException;
use yii\console\Controller;
use yii\queue\redis\Queue as RedisQueue;
@@ -44,15 +44,33 @@ class OptimizeController extends Controller
*/
public $field = null;
+ /**
+ * @var bool Should the image generation simply be queued, rather than run immediately?
+ */
+ public $queue = false;
+
// Public Methods
// =========================================================================
+ /**
+ * @inheritDoc
+ */
+ public function options($actionID): array
+ {
+ $options = parent::options($actionID);
+ return array_merge($options, [
+ 'force',
+ 'field',
+ 'queue',
+ ]);
+ }
+
/**
* Create all of the OptimizedImages Field variants by creating all of the responsive image variant transforms
*
* @param string|null $volumeHandle
*
- * @throws \yii\base\InvalidConfigException
+ * @throws InvalidConfigException
*/
public function actionCreate($volumeHandle = null)
{
@@ -63,6 +81,7 @@ public function actionCreate($volumeHandle = null)
$fieldId = null;
if ($this->field !== null) {
+ /** @var Field $field */
$field = Craft::$app->getFields()->getFieldByHandle($this->field);
if ($field !== null) {
$fieldId = $field->id;
@@ -82,7 +101,9 @@ public function actionCreate($volumeHandle = null)
echo 'Unknown Asset Volume handle: ' . $volumeHandle . PHP_EOL;
}
}
- $this->runCraftQueue();
+ if (!$this->queue) {
+ $this->runCraftQueue();
+ }
}
/**
@@ -100,19 +121,9 @@ public function actionCreateAsset($id = null)
// Re-save a single Asset ID
ImageOptimize::$plugin->optimizedImages->resaveAsset($id, $this->force);
}
- $this->runCraftQueue();
- }
-
- /**
- * @inheritdoc
- */
- public function options($actionId): array
- {
- $options = parent::options($actionId);
- $options[] = 'force';
- $options[] = 'field';
-
- return $options;
+ if (!$this->queue) {
+ $this->runCraftQueue();
+ }
}
/**
@@ -122,11 +133,12 @@ private function runCraftQueue()
{
// This might take a while
App::maxPowerCaptain();
+ /** @var QueueInterface|RedisQueue $queue */
$queue = Craft::$app->getQueue();
- if ($queue instanceof QueueInterface) {
- $queue->run();
- } elseif ($queue instanceof RedisQueue) {
+ if ($queue instanceof RedisQueue) {
$queue->run(false);
+ } elseif ($queue instanceof QueueInterface) {
+ $queue->run();
}
}
}
diff --git a/src/fields/OptimizedImages.php b/src/fields/OptimizedImages.php
index 67dc2922..9b208b24 100644
--- a/src/fields/OptimizedImages.php
+++ b/src/fields/OptimizedImages.php
@@ -25,6 +25,7 @@
use nystudio107\imageoptimize\gql\types\generators\OptimizedImagesGenerator;
use nystudio107\imageoptimize\ImageOptimize;
use nystudio107\imageoptimize\models\OptimizedImage;
+use nystudio107\imageoptimize\models\Settings;
use ReflectionClass;
use ReflectionException;
use Twig\Error\LoaderError;
@@ -140,6 +141,7 @@ public function init()
// Handle cases where the plugin has been uninstalled
if (ImageOptimize::$plugin !== null) {
+ /** @var ?Settings $settings */
$settings = ImageOptimize::$plugin->getSettings();
if ($settings) {
if (empty($this->variants)) {
@@ -178,7 +180,7 @@ public function rules()
'ignoreFilesOfType',
'variants',
],
- ArrayValidator::class
+ ArrayValidator::class,
],
]);
@@ -233,7 +235,7 @@ public function afterElementSave(ElementInterface $element, bool $isNew)
* via a queue job to prevent it from blocking
*/
ImageOptimize::$plugin->optimizedImages->resaveAsset($element->id);
- } else if (!$request->isConsoleRequest && $request->getPathInfo() === 'actions/assets/save-image') {
+ } elseif (!$request->isConsoleRequest && $request->getPathInfo() === 'actions/assets/save-image') {
/**
* If it's not a newly uploaded/created Asset, check to see if the image
* itself is being updated (via the ImageEditor). If so, update the
@@ -267,7 +269,7 @@ public function normalizeValue($value, ElementInterface $asset = null)
$model = $value;
} else {
// Just create a new empty model
- $model = new OptimizedImage(null);
+ $model = new OptimizedImage([]);
}
return $model;
@@ -511,7 +513,7 @@ protected function getFieldVolumeInfo($fieldHandle): array
protected function volumeHasField(Volume $volume, string $fieldHandle): bool
{
$result = false;
- /** @var FieldLayout $fieldLayout */
+ /** @var ?FieldLayout $fieldLayout */
$fieldLayout = $volume->getFieldLayout();
// Loop through the fields in the layout to see if there is an OptimizedImages field
if ($fieldLayout) {
diff --git a/src/gql/types/OptimizedImagesType.php b/src/gql/types/OptimizedImagesType.php
index 6ef80190..8052c7e0 100644
--- a/src/gql/types/OptimizedImagesType.php
+++ b/src/gql/types/OptimizedImagesType.php
@@ -7,11 +7,9 @@
namespace nystudio107\imageoptimize\gql\types;
-use nystudio107\imageoptimize\models\OptimizedImage;
-
use craft\gql\base\ObjectType;
-
use GraphQL\Type\Definition\ResolveInfo;
+use nystudio107\imageoptimize\models\OptimizedImage;
/**
* @author nystudio107
@@ -32,84 +30,63 @@ protected function resolve($source, $arguments, $context, ResolveInfo $resolveIn
// Special-case the `src` field with arguments
case 'src':
$width = $arguments['width'] ?? 0;
-
return $source->src($width);
- break;
// Special-case the `srcWebp` field with arguments
case 'srcWebp':
$width = $arguments['width'] ?? 0;
-
return $source->srcWebp($width);
- break;
// Special-case the `srcset` field with arguments
case 'srcset':
$dpr = $arguments['dpr'] ?? false;
-
return $source->srcset($dpr);
- break;
// Special-case the `srcsetMinWidth` field with arguments
case 'srcsetMinWidth':
$width = $arguments['width'] ?? 0;
$dpr = $arguments['dpr'] ?? false;
-
return $source->srcsetMinWidth($width, $dpr);
- break;
// Special-case the `srcsetMaxWidth` field with arguments
case 'srcsetMaxWidth':
$width = $arguments['width'] ?? 0;
$dpr = $arguments['dpr'] ?? false;
-
return $source->srcsetMaxWidth($width, $dpr);
- break;
// Special-case the `srcsetWebp` field with arguments
case 'srcsetWebp':
$dpr = $arguments['dpr'] ?? false;
-
return $source->srcsetWebp($dpr);
- break;
// Special-case the `srcsetMinWidthWebp` field with arguments
case 'srcsetMinWidthWebp':
$width = $arguments['width'] ?? 0;
$dpr = $arguments['dpr'] ?? false;
-
return $source->srcsetMinWidthWebp($width, $dpr);
- break;
// Special-case the `srcsetMaxWidthWebp` field with arguments
case 'srcsetMaxWidthWebp':
$width = $arguments['width'] ?? 0;
$dpr = $arguments['dpr'] ?? false;
-
return $source->srcsetMaxWidthWebp($width, $dpr);
- break;
// Special-case the `maxSrcsetWidth` field
case 'maxSrcsetWidth':
return $source->maxSrcsetWidth();
- break;
// Special-case the `placeholderImage` field
case 'placeholderImage':
return $source->placeholderImage();
- break;
// Special-case the `placeholderBox` field
case 'placeholderBox':
$color = $arguments['color'] ?? null;
-
return $source->placeholderBox($color);
- break;
// Special-case the `placeholderSilhouette` field
case 'placeholderSilhouette':
return $source->placeholderSilhouette();
- break;
// Special-case the `srcUrls` field
case 'srcUrls':
@@ -117,19 +94,15 @@ protected function resolve($source, $arguments, $context, ResolveInfo $resolveIn
foreach ($source->optimizedImageUrls as $width => $url) {
$result[] = ['width' => $width, 'url' => $url];
}
-
return $result;
- break;
// Special-case the `colorPaletteRgb` field
case 'colorPaletteRgb':
return $source->colorPaletteRgb();
- break;
// Default to just returning the field value
default:
return $source[$fieldName];
- break;
}
}
}
diff --git a/src/gql/types/generators/OptimizedImagesGenerator.php b/src/gql/types/generators/OptimizedImagesGenerator.php
index 5ba4c1d9..dec445e2 100644
--- a/src/gql/types/generators/OptimizedImagesGenerator.php
+++ b/src/gql/types/generators/OptimizedImagesGenerator.php
@@ -7,14 +7,14 @@
namespace nystudio107\imageoptimize\gql\types\generators;
-use nystudio107\imageoptimize\gql\types\OptimizedImagesType;
-use nystudio107\imageoptimize\fields\OptimizedImages;
-
use craft\gql\base\GeneratorInterface;
use craft\gql\GqlEntityRegistry;
-use craft\gql\TypeLoader;
+use craft\gql\TypeLoader;
use GraphQL\Type\Definition\Type;
+use nystudio107\imageoptimize\fields\OptimizedImages;
+
+use nystudio107\imageoptimize\gql\types\OptimizedImagesType;
/**
* @author nystudio107
@@ -135,7 +135,7 @@ public static function generateTypes($context = null): array
'width' => [
'name' => 'width',
'type' => Type::int(),
- 'description' => 'Width of the image'
+ 'description' => 'Width of the image',
],
],
'type' => Type::string(),
@@ -147,7 +147,7 @@ public static function generateTypes($context = null): array
'width' => [
'name' => 'width',
'type' => Type::int(),
- 'description' => 'Width of the image'
+ 'description' => 'Width of the image',
],
],
'type' => Type::string(),
@@ -159,7 +159,7 @@ public static function generateTypes($context = null): array
'dpr' => [
'name' => 'dpr',
'type' => Type::boolean(),
- 'description' => 'Include dpr images?'
+ 'description' => 'Include dpr images?',
],
],
'type' => Type::string(),
@@ -171,12 +171,12 @@ public static function generateTypes($context = null): array
'width' => [
'name' => 'width',
'type' => Type::int(),
- 'description' => 'Width of the image'
+ 'description' => 'Width of the image',
],
'dpr' => [
'name' => 'dpr',
'type' => Type::boolean(),
- 'description' => 'Include dpr images?'
+ 'description' => 'Include dpr images?',
],
],
'type' => Type::string(),
@@ -188,12 +188,12 @@ public static function generateTypes($context = null): array
'width' => [
'name' => 'width',
'type' => Type::int(),
- 'description' => 'Width of the image'
+ 'description' => 'Width of the image',
],
'dpr' => [
'name' => 'dpr',
'type' => Type::boolean(),
- 'description' => 'Include dpr images?'
+ 'description' => 'Include dpr images?',
],
],
'type' => Type::string(),
@@ -205,7 +205,7 @@ public static function generateTypes($context = null): array
'dpr' => [
'name' => 'dpr',
'type' => Type::boolean(),
- 'description' => 'Include dpr images?'
+ 'description' => 'Include dpr images?',
],
],
'type' => Type::string(),
@@ -217,12 +217,12 @@ public static function generateTypes($context = null): array
'width' => [
'name' => 'width',
'type' => Type::int(),
- 'description' => 'Width of the image'
+ 'description' => 'Width of the image',
],
'dpr' => [
'name' => 'dpr',
'type' => Type::boolean(),
- 'description' => 'Include dpr images?'
+ 'description' => 'Include dpr images?',
],
],
'type' => Type::string(),
@@ -234,12 +234,12 @@ public static function generateTypes($context = null): array
'width' => [
'name' => 'width',
'type' => Type::int(),
- 'description' => 'Width of the image'
+ 'description' => 'Width of the image',
],
'dpr' => [
'name' => 'dpr',
'type' => Type::boolean(),
- 'description' => 'Include dpr images?'
+ 'description' => 'Include dpr images?',
],
],
'type' => Type::string(),
@@ -251,7 +251,7 @@ public static function generateTypes($context = null): array
'color' => [
'name' => 'color',
'type' => Type::string(),
- 'description' => 'The color for the placeholder box'
+ 'description' => 'The color for the placeholder box',
],
],
'type' => Type::string(),
@@ -261,12 +261,12 @@ public static function generateTypes($context = null): array
?: GqlEntityRegistry::createEntity($typeName, new OptimizedImagesType([
'name' => $typeName,
'description' => 'This entity has all the OptimizedImages properties',
- 'fields' => function () use ($optimizedImagesFields) {
+ 'fields' => function() use ($optimizedImagesFields) {
return $optimizedImagesFields;
},
]));
- TypeLoader::registerType($typeName, function () use ($optimizedImagesType) {
+ TypeLoader::registerType($typeName, function() use ($optimizedImagesType) {
return $optimizedImagesType;
});
@@ -279,6 +279,6 @@ public static function generateTypes($context = null): array
public static function getName($context = null): string
{
/** @var OptimizedImages $context */
- return $context->handle.'_OptimizedImages';
+ return $context->handle . '_OptimizedImages';
}
}
diff --git a/src/helpers/Image.php b/src/helpers/Image.php
index 2d39ef66..ae332546 100644
--- a/src/helpers/Image.php
+++ b/src/helpers/Image.php
@@ -10,9 +10,10 @@
use Craft;
use craft\errors\ImageException;
use craft\helpers\FileHelper;
-
use Imagine\Gd\Imagine as GdImagine;
use Imagine\Imagick\Imagine as ImagickImagine;
+use Throwable;
+use yii\base\InvalidConfigException;
/**
* @author nystudio107
@@ -33,7 +34,7 @@ class Image
* @return bool
*
* @throws ImageException
- * @throws \yii\base\InvalidConfigException
+ * @throws InvalidConfigException
*/
public static function getIsAnimatedGif(string $path): bool
{
@@ -61,9 +62,9 @@ public static function getIsAnimatedGif(string $path): bool
if ($imageService->getIsGd()) {
return false;
}
-
+
if (!is_file($path)) {
- Craft::error('Tried to load an image at '.$path.', but the file does not exist.', __METHOD__);
+ Craft::error('Tried to load an image at ' . $path . ', but the file does not exist.', __METHOD__);
throw new ImageException(Craft::t('app', 'No file exists at the given path.'));
}
@@ -87,7 +88,7 @@ public static function getIsAnimatedGif(string $path): bool
try {
$image = $instance->open($path);
- } catch (\Throwable $e) {
+ } catch (Throwable $e) {
throw new ImageException(Craft::t(
'app',
'The file “{path}” does not appear to be an image.',
@@ -97,6 +98,6 @@ public static function getIsAnimatedGif(string $path): bool
$extension = pathinfo($path, PATHINFO_EXTENSION);
- return $extension === 'gif' && $image->layers();
+ return $extension === 'gif' && $image->layers()->count() > 1;
}
}
diff --git a/src/helpers/PluginTemplate.php b/src/helpers/PluginTemplate.php
index ce941883..2acdb0cb 100644
--- a/src/helpers/PluginTemplate.php
+++ b/src/helpers/PluginTemplate.php
@@ -10,11 +10,11 @@
namespace nystudio107\imageoptimize\helpers;
-use nystudio107\minify\Minify;
-
use Craft;
+
use craft\helpers\Template;
use craft\web\View;
+use nystudio107\minify\Minify;
use yii\base\Exception;
@@ -62,8 +62,7 @@ public static function renderPluginTemplate(
string $templatePath,
array $params = [],
string $minifier = null
- ): string
- {
+ ): string {
$template = 'image-optimize/' . $templatePath;
$oldMode = Craft::$app->view->getTemplateMode();
// Look for the template on the frontend first
@@ -86,7 +85,6 @@ public static function renderPluginTemplate(
if ($minify) {
$htmlText = Minify::$plugin->minify->$minifier($htmlText);
}
-
}
} catch (\Exception $e) {
$htmlText = Craft::t(
diff --git a/src/imagetransforms/CraftImageTransform.php b/src/imagetransforms/CraftImageTransform.php
index 1b9933b5..a5b8fbb4 100644
--- a/src/imagetransforms/CraftImageTransform.php
+++ b/src/imagetransforms/CraftImageTransform.php
@@ -10,11 +10,10 @@
namespace nystudio107\imageoptimize\imagetransforms;
-use nystudio107\imageoptimize\ImageOptimize;
-
use Craft;
+
use craft\elements\Asset;
-use craft\models\AssetTransform;
+use nystudio107\imageoptimize\ImageOptimize;
/**
* @author nystudio107
diff --git a/src/imagetransforms/ImageTransform.php b/src/imagetransforms/ImageTransform.php
index d877136b..26a58d45 100644
--- a/src/imagetransforms/ImageTransform.php
+++ b/src/imagetransforms/ImageTransform.php
@@ -10,14 +10,14 @@
namespace nystudio107\imageoptimize\imagetransforms;
-use nystudio107\imageoptimize\helpers\UrlHelper;
-
use Craft;
use craft\base\SavableComponent;
use craft\elements\Asset;
use craft\helpers\FileHelper;
use craft\helpers\StringHelper;
+use nystudio107\imageoptimize\helpers\UrlHelper;
use nystudio107\imageoptimize\ImageOptimize;
+use ReflectionClass;
/**
* @author nystudio107
@@ -47,7 +47,7 @@ public static function displayName(): string
*/
public static function getTemplatesRoot(): array
{
- $reflect = new \ReflectionClass(static::class);
+ $reflect = new ReflectionClass(static::class);
$classPath = FileHelper::normalizePath(
dirname($reflect->getFileName())
. '/../templates'
@@ -148,7 +148,7 @@ public function appendExtension($pathOrUrl, $extension): string
{
$path = $this->decomposeUrl($pathOrUrl);
$path_parts = pathinfo($path['path']);
- $new_path = ($path_parts['filename'] ?? '') . '.' . ($path_parts['extension'] ?? '') . $extension;
+ $new_path = ($path_parts['filename']) . '.' . ($path_parts['extension'] ?? '') . $extension;
if (!empty($path_parts['dirname']) && $path_parts['dirname'] !== '.') {
$dirname = $path_parts['dirname'];
$dirname = $dirname === '/' ? '' : $dirname;
diff --git a/src/jobs/ResaveOptimizedImages.php b/src/jobs/ResaveOptimizedImages.php
index d084f1fe..3ca1663d 100644
--- a/src/jobs/ResaveOptimizedImages.php
+++ b/src/jobs/ResaveOptimizedImages.php
@@ -10,9 +10,6 @@
namespace nystudio107\imageoptimize\jobs;
-use nystudio107\imageoptimize\ImageOptimize;
-use nystudio107\imageoptimize\fields\OptimizedImages as OptimizedImagesField;
-
use Craft;
use craft\base\ElementInterface;
use craft\base\Field;
@@ -22,7 +19,8 @@
use craft\elements\db\ElementQuery;
use craft\helpers\App;
use craft\queue\BaseJob;
-
+use nystudio107\imageoptimize\fields\OptimizedImages as OptimizedImagesField;
+use nystudio107\imageoptimize\ImageOptimize;
use yii\base\Exception;
/**
@@ -106,7 +104,7 @@ public function execute($queue)
$layout = $element->getFieldLayout();
if ($layout !== null) {
$fields = $layout->getFields();
- /** @var $field Field */
+ /** @var Field $field */
foreach ($fields as $field) {
if ($field instanceof OptimizedImagesField && $element instanceof Asset) {
if ($this->fieldId === null || $field->id == $this->fieldId) {
@@ -136,7 +134,6 @@ public function execute($queue)
}
$paginator->currentPage++;
}
-
}
// Protected Methods
diff --git a/src/lib/Potracio.php b/src/lib/Potracio.php
index ae9b4f9d..6fdef4c5 100755
--- a/src/lib/Potracio.php
+++ b/src/lib/Potracio.php
@@ -1,5 +1,7 @@
"majority",
- 'turdsize' => 50,
- 'optcurve' => true,
- 'alphamax' => 1,
+ 'turnpolicy' => "majority",
+ 'turdsize' => 50,
+ 'optcurve' => true,
+ 'alphamax' => 1,
'opttolerance' => 0.4,
];
@@ -216,7 +218,7 @@ private function bmToPathlist()
$bm1 = clone $bm;
$currentPoint = new Point(0, 0);
- $findNext = function ($point) use ($bm1) {
+ $findNext = function($point) use ($bm1) {
$i = $bm1->w * $point->y + $point->x;
while ($i < $bm1->size && $bm1->data[$i] !== 1) {
$i++;
@@ -228,7 +230,7 @@ private function bmToPathlist()
return 0;
};
- $majority = function ($x, $y) use ($bm1) {
+ $majority = function($x, $y) use ($bm1) {
for ($i = 2; $i < 5; $i++) {
$ct = 0;
for ($a = -$i + 1; $a <= $i - 1; $a++) {
@@ -239,7 +241,7 @@ private function bmToPathlist()
}
if ($ct > 0) {
return 1;
- } else if ($ct < 0) {
+ } elseif ($ct < 0) {
return 0;
}
}
@@ -247,7 +249,7 @@ private function bmToPathlist()
return 0;
};
- $findPath = function ($point) use ($bm, $bm1, $majority, $info) {
+ $findPath = function($point) use ($bm, $bm1, $majority, $info) {
$path = new Path();
$x = $point->x;
$y = $point->y;
@@ -297,11 +299,11 @@ private function bmToPathlist()
$dirx = $diry;
$diry = -$tmp;
}
- } else if ($r) {
+ } elseif ($r) {
$tmp = $dirx;
$dirx = -$diry;
$diry = $tmp;
- } else if (!$l) {
+ } elseif (!$l) {
$tmp = $dirx;
$dirx = $diry;
$diry = -$tmp;
@@ -311,7 +313,7 @@ private function bmToPathlist()
return $path;
};
- $xorPath = function ($path) use (&$bm1) {
+ $xorPath = function($path) use (&$bm1) {
$y1 = $path->pt[0]->y;
$len = $path->len;
@@ -345,15 +347,15 @@ private function processPath()
{
$info = $this->info;
- $mod = function ($a, $n) {
+ $mod = function($a, $n) {
return $a >= $n ? $a % $n : ($a >= 0 ? $a : $n - 1 - (-1 - $a) % $n);
};
- $xprod = function ($p1, $p2) {
+ $xprod = function($p1, $p2) {
return $p1->x * $p2->y - $p1->y * $p2->x;
};
- $cyclic = function ($a, $b, $c) {
+ $cyclic = function($a, $b, $c) {
if ($a <= $c) {
return ($a <= $b && $b < $c);
} else {
@@ -361,11 +363,11 @@ private function processPath()
}
};
- $sign = function ($i) {
+ $sign = function($i) {
return $i > 0 ? 1 : ($i < 0 ? -1 : 0);
};
- $quadform = function ($Q, $w) {
+ $quadform = function($Q, $w) {
$v = array_fill(0, 3, null);
$v[0] = $w->x;
@@ -382,7 +384,7 @@ private function processPath()
return $sum;
};
- $interval = function ($lambda, $a, $b) {
+ $interval = function($lambda, $a, $b) {
$res = new Point();
$res->x = $a->x + $lambda * ($b->x - $a->x);
@@ -391,7 +393,7 @@ private function processPath()
return $res;
};
- $dorth_infty = function ($p0, $p2) use ($sign) {
+ $dorth_infty = function($p0, $p2) use ($sign) {
$r = new Point();
$r->y = $sign($p2->x - $p0->x);
@@ -400,13 +402,13 @@ private function processPath()
return $r;
};
- $ddenom = function ($p0, $p2) use ($dorth_infty) {
+ $ddenom = function($p0, $p2) use ($dorth_infty) {
$r = $dorth_infty($p0, $p2);
return $r->y * ($p2->x - $p0->x) - $r->x * ($p2->y - $p0->y);
};
- $dpara = function ($p0, $p1, $p2) {
+ $dpara = function($p0, $p1, $p2) {
$x1 = $p1->x - $p0->x;
$y1 = $p1->y - $p0->y;
$x2 = $p2->x - $p0->x;
@@ -415,7 +417,7 @@ private function processPath()
return $x1 * $y2 - $x2 * $y1;
};
- $cprod = function ($p0, $p1, $p2, $p3) {
+ $cprod = function($p0, $p1, $p2, $p3) {
$x1 = $p1->x - $p0->x;
$y1 = $p1->y - $p0->y;
$x2 = $p3->x - $p2->x;
@@ -424,7 +426,7 @@ private function processPath()
return $x1 * $y2 - $x2 * $y1;
};
- $iprod = function ($p0, $p1, $p2) {
+ $iprod = function($p0, $p1, $p2) {
$x1 = $p1->x - $p0->x;
$y1 = $p1->y - $p0->y;
$x2 = $p2->x - $p0->x;
@@ -433,7 +435,7 @@ private function processPath()
return $x1 * $x2 + $y1 * $y2;
};
- $iprod1 = function ($p0, $p1, $p2, $p3) {
+ $iprod1 = function($p0, $p1, $p2, $p3) {
$x1 = $p1->x - $p0->x;
$y1 = $p1->y - $p0->y;
$x2 = $p3->x - $p2->x;
@@ -442,11 +444,11 @@ private function processPath()
return $x1 * $x2 + $y1 * $y2;
};
- $ddist = function ($p, $q) {
+ $ddist = function($p, $q) {
return sqrt(($p->x - $q->x) * ($p->x - $q->x) + ($p->y - $q->y) * ($p->y - $q->y));
};
- $bezier = function ($t, $p0, $p1, $p2, $p3) {
+ $bezier = function($t, $p0, $p1, $p2, $p3) {
$s = 1 - $t;
$res = new Point();
@@ -456,7 +458,7 @@ private function processPath()
return $res;
};
- $tangent = function ($p0, $p1, $p2, $p3, $q0, $q1) use ($cprod) {
+ $tangent = function($p0, $p1, $p2, $p3, $q0, $q1) use ($cprod) {
$A = $cprod($p0, $p1, $q0, $q1);
$B = $cprod($p1, $p2, $q0, $q1);
$C = $cprod($p2, $p3, $q0, $q1);
@@ -480,14 +482,14 @@ private function processPath()
if ($r1 >= 0 && $r1 <= 1) {
return $r1;
- } else if ($r2 >= 0 && $r2 <= 1) {
+ } elseif ($r2 >= 0 && $r2 <= 1) {
return $r2;
} else {
return -1.0;
}
};
- $calcSums = function (&$path) {
+ $calcSums = function(&$path) {
$path->x0 = $path->pt[0]->x;
$path->y0 = $path->pt[0]->y;
@@ -502,7 +504,7 @@ private function processPath()
}
};
- $calcLon = function (&$path) use ($mod, $xprod, $sign, $cyclic) {
+ $calcLon = function(&$path) use ($mod, $xprod, $sign, $cyclic) {
$n = $path->len;
$pt = &$path->pt;
$pivk = array_fill(0, $n, null);
@@ -556,7 +558,6 @@ private function processPath()
}
if (abs($cur->x) <= 1 && abs($cur->y) <= 1) {
-
} else {
$off->x = $cur->x + (($cur->y >= 0 && ($cur->y > 0 || $cur->x < 0)) ? 1 : -1);
$off->y = $cur->y + (($cur->x <= 0 && ($cur->x < 0 || $cur->y < 0)) ? 1 : -1);
@@ -613,9 +614,8 @@ private function processPath()
}
};
- $bestPolygon = function (&$path) use ($mod) {
-
- $penalty3 = function ($path, $i, $j) {
+ $bestPolygon = function(&$path) use ($mod) {
+ $penalty3 = function($path, $i, $j) {
$n = $path->len;
$pt = $path->pt;
$sums = $path->sums;
@@ -721,10 +721,8 @@ private function processPath()
}
};
- $adjustVertices = function (&$path) use ($mod, $quadform) {
-
- $pointslope = function ($path, $i, $j, &$ctr, &$dir) {
-
+ $adjustVertices = function(&$path) use ($mod, $quadform) {
+ $pointslope = function($path, $i, $j, &$ctr, &$dir) {
$n = $path->len;
$sums = $path->sums;
$r = 0;
@@ -846,7 +844,6 @@ private function processPath()
}
while (1) {
-
$det = $Q->at(0, 0) * $Q->at(1, 1) - $Q->at(0, 1) * $Q->at(1, 0);
if ($det !== 0.0 && $det != 0) {
$w->x = (-$Q->at(0, 2) * $Q->at(1, 1) + $Q->at(1, 2) * $Q->at(0, 1)) / $det;
@@ -857,7 +854,7 @@ private function processPath()
if ($Q->at(0, 0) > $Q->at(1, 1)) {
$v[0] = -$Q->at(0, 1);
$v[1] = $Q->at(0, 0);
- } else if ($Q->at(1, 1)) {
+ } elseif ($Q->at(1, 1)) {
$v[0] = -$Q->at(1, 1);
$v[1] = $Q->at(1, 0);
} else {
@@ -928,7 +925,7 @@ private function processPath()
}
};
- $reverse = function (&$path) {
+ $reverse = function(&$path) {
$curve = &$path->curve;
$m = $curve->n;
$v = &$curve->vertex;
@@ -940,7 +937,7 @@ private function processPath()
}
};
- $smooth = function (&$path) use ($mod, $interval, $ddenom, $dpara, $info) {
+ $smooth = function(&$path) use ($mod, $interval, $ddenom, $dpara, $info) {
$m = $path->curve->n;
$curve = &$path->curve;
@@ -967,7 +964,7 @@ private function processPath()
} else {
if ($alpha < 0.55) {
$alpha = 0.55;
- } else if ($alpha > 1) {
+ } elseif ($alpha > 1) {
$alpha = 1;
}
$p2 = $interval(0.5 + 0.5 * $alpha, $curve->vertex[$i], $curve->vertex[$j]);
@@ -983,8 +980,8 @@ private function processPath()
$curve->alphaCurve = 1;
};
- $optiCurve = function (&$path) use ($mod, $ddist, $sign, $cprod, $dpara, $interval, $tangent, $bezier, $iprod, $iprod1, $info) {
- $opti_penalty = function ($path, $i, $j, $res, $opttolerance, $convc, $areac) use ($mod, $ddist, $sign, $cprod, $dpara, $interval, $tangent, $bezier, $iprod, $iprod1) {
+ $optiCurve = function(&$path) use ($mod, $ddist, $sign, $cprod, $dpara, $interval, $tangent, $bezier, $iprod, $iprod1, $info) {
+ $opti_penalty = function($path, $i, $j, $res, $opttolerance, $convc, $areac) use ($mod, $ddist, $sign, $cprod, $dpara, $interval, $tangent, $bezier, $iprod, $iprod1) {
$m = $path->curve->n;
$curve = $path->curve;
$vertex = $curve->vertex;
@@ -1250,9 +1247,8 @@ public function getSVG($size, $opt_type = '', $bgColor = '#FEFEFE', $fgColor = '
{
$bm = &$this->bm;
$pathlist = &$this->pathlist;
- $path = function ($curve) use ($size) {
-
- $bezier = function ($i) use ($curve, $size) {
+ $path = function($curve) use ($size) {
+ $bezier = function($i) use ($curve, $size) {
$b = 'C ' . number_format($curve->c[$i * 3 + 0]->x * $size, 3) . ' ' .
number_format($curve->c[$i * 3 + 0]->y * $size, 3) . ',';
$b .= number_format($curve->c[$i * 3 + 1]->x * $size, 3) . ' ' .
@@ -1263,7 +1259,7 @@ public function getSVG($size, $opt_type = '', $bgColor = '#FEFEFE', $fgColor = '
return $b;
};
- $segment = function ($i) use ($curve, $size) {
+ $segment = function($i) use ($curve, $size) {
$s = 'L ' . number_format($curve->c[$i * 3 + 1]->x * $size, 3) . ' ' .
number_format($curve->c[$i * 3 + 1]->y * $size, 3) . ' ';
$s .= number_format($curve->c[$i * 3 + 2]->x * $size, 3) . ' ' .
@@ -1279,7 +1275,7 @@ public function getSVG($size, $opt_type = '', $bgColor = '#FEFEFE', $fgColor = '
for ($i = 0; $i < $n; $i++) {
if ($curve->tag[$i] === "CURVE") {
$p .= $bezier($i);
- } else if ($curve->tag[$i] === "CORNER") {
+ } elseif ($curve->tag[$i] === "CORNER") {
$p .= $segment($i);
}
}
@@ -1295,7 +1291,7 @@ public function getSVG($size, $opt_type = '', $bgColor = '#FEFEFE', $fgColor = '
$svg = '