diff --git a/Makefile b/Makefile
index cb5256247d..8f1440028e 100644
--- a/Makefile
+++ b/Makefile
@@ -40,7 +40,7 @@ LDFLAGS += "
# By default, make test-fn-render/test-fn-eval will run all tests.
T ?= ".*"
-all: generate license fix vet fmt lint test build tidy
+all: license fix vet fmt lint test build tidy
build:
go build ${LDFLAGS} -o $(GOBIN)/kpt -v .
diff --git a/documentation/README.md b/documentation/README.md
index ba7580cbfa..21dda19b94 100644
--- a/documentation/README.md
+++ b/documentation/README.md
@@ -1,12 +1,12 @@
# kpt Documentation Site
-[](https://app.netlify.com/sites/cloud-native-finland/deploys)
+[](https://app.netlify.com/projects/kptdocs/deploys)
This directory contains a [Hugo](https://gohugo.io) web site published via [Netlify](https://www.netlify.com/) to
-.
+ what is redirected to .
When the `main` branch of this repo is updated a fresh build and deploy of the website is executed. Recent Netlify
-builds and deployments are listed at .
+builds and deployments are listed at .
Add content by adding Markdown files to directories in [./content](./content).
@@ -29,3 +29,4 @@ Then run the site using `npm run serve`. To have the site run locally with a fun
## License
Licensed under the [Creative Commons Attribution 4.0 International license](LICENSE-documentation)
+
\ No newline at end of file
diff --git a/documentation/config.toml b/documentation/config.toml
index f086c6cd12..7178c7f929 100644
--- a/documentation/config.toml
+++ b/documentation/config.toml
@@ -1,4 +1,4 @@
-baseURL = "https://684fb170b24b590a22aa61e6--deluxe-horse-d10c96.netlify.app/"
+baseURL = "https://kpt.dev/"
title = "kpt documentaion"
# Language settings
diff --git a/site/.babelrc b/site/.babelrc
deleted file mode 100644
index c4e0dc1e7f..0000000000
--- a/site/.babelrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "plugins": ["@babel/plugin-proposal-optional-chaining"]
- }
\ No newline at end of file
diff --git a/site/.dockerignore b/site/.dockerignore
deleted file mode 100644
index 3091757a3b..0000000000
--- a/site/.dockerignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-coverage
\ No newline at end of file
diff --git a/site/.gitignore b/site/.gitignore
deleted file mode 100644
index 54d8bd2457..0000000000
--- a/site/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-book/*/README.md
-coverage
\ No newline at end of file
diff --git a/site/CONTRIBUTING.md b/site/CONTRIBUTING.md
deleted file mode 100644
index db177d4ac7..0000000000
--- a/site/CONTRIBUTING.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# How to Contribute
-
-We'd love to accept your patches and contributions to this project. There are
-just a few small guidelines you need to follow.
-
-## Contributor License Agreement
-
-Contributions to this project must be accompanied by a Contributor License
-Agreement. You (or your employer) retain the copyright to your contribution;
-this simply gives us permission to use and redistribute your contributions as
-part of the project. Head over to to see
-your current agreements on file or to sign a new one.
-
-You generally only need to submit a CLA once, so if you've already submitted one
-(even if it was for a different project), you probably don't need to do it
-again.
-
-## Code reviews
-
-All submissions, including submissions by project members, require review. We
-use GitHub pull requests for this purpose. Consult
-[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
-information on using pull requests.
-
-## Community Guidelines
-
-This project follows
-[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
diff --git a/site/Dockerfile b/site/Dockerfile
deleted file mode 100644
index 87d0d95fd9..0000000000
--- a/site/Dockerfile
+++ /dev/null
@@ -1,9 +0,0 @@
-FROM nginx:1.18.0-alpine
-COPY . /usr/share/nginx/html
-COPY site_check.conf /etc/nginx/conf.d/configfile.template
-
-ENV PORT 80
-ENV HOST 0.0.0.0
-EXPOSE 80
-RUN sh -c "envsubst '\$PORT' < /etc/nginx/conf.d/configfile.template > /etc/nginx/conf.d/default.conf"
-CMD ["nginx", "-g", "daemon off;"]
\ No newline at end of file
diff --git a/site/README.md b/site/README.md
deleted file mode 100644
index 665f3ab7e0..0000000000
--- a/site/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
download Install
-
-Get started by [installing](/installation/) kpt.
-
-
school Learn
-
-Read [The kpt Book](/book/).
-
-
help_outline Ask
-
-If your question is not a [FAQ](/faq/), please [reach out](/contact/)!
-
-
handyman Contribute
-
-kpt is an OSS project and anyone can [contribute]!
-
-[contribute]:
- https://github.com/kptdev/kpt/blob/main/CONTRIBUTING.md
diff --git a/site/api-reference/README.md b/site/api-reference/README.md
deleted file mode 100755
index da1c57c904..0000000000
--- a/site/api-reference/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: "API Reference"
-linkTitle: "API Reference"
-type: docs
-weight: 40
-description: >
- Overview of kpt declarative APIs
----
diff --git a/site/api-reference/kptfile/README.md b/site/api-reference/kptfile/README.md
deleted file mode 100644
index c91d07189d..0000000000
--- a/site/api-reference/kptfile/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: "Kptfile"
-linkTitle: "Kptfile "
-weight: 1
-type: swagger
-description: >
- Reference for the Kptfile schema
----
-{{< swaggerui src="/openapi/kptfile.yaml" >}}
diff --git a/site/book/01-getting-started/00.md b/site/book/01-getting-started/00.md
deleted file mode 100644
index f62ae2a374..0000000000
--- a/site/book/01-getting-started/00.md
+++ /dev/null
@@ -1,2 +0,0 @@
-This chapter is a quick introduction to kpt using an example to demonstrate important concepts and
-features. The following chapters will cover these concepts in detail.
diff --git a/site/book/01-getting-started/01-system-requirements.md b/site/book/01-getting-started/01-system-requirements.md
deleted file mode 100644
index 81b819a67b..0000000000
--- a/site/book/01-getting-started/01-system-requirements.md
+++ /dev/null
@@ -1,48 +0,0 @@
-In order to follow along with the examples in this book, the following needs to be installed on your
-system:
-
-## kpt
-
-[Install the kpt CLI][install] and ensure you are running **version 1.0 or later**:
-
-```shell
-$ kpt version
-```
-
-## Git
-
-kpt requires that you have [Git] installed and configured.
-
-## Container Runtime
-
-`kpt` requires you to have at least one of the following runtimes installed and configured.
-
-
-
-### Docker
-
-Please follow the [instructions][install-docker] to install and configure Docker.
-
-### Podman
-
-Please follow the [instructions][install-podman] to install and configure Podman.
-
-If you want to set up rootless container runtime, [this][rootless] may be a
-useful resource for you.
-
-Environment variable can be used to control which container runtime to use. More
-details can be found in the reference documents for [`kpt fn render`](/reference/cli/fn/render/)
-and [`kpt fn eval`](/reference/cli/fn/eval/).
-
-## Kubernetes cluster
-
-In order to deploy the examples, you need a Kubernetes cluster and a configured kubeconfig context.
-
-For testing purposes, [kind] tool is useful for running ephemeral Kubernetes cluster on your local host.
-
-[install]: /installation/
-[install-docker]: https://docs.docker.com/get-docker/
-[install-podman]: https://podman.io/getting-started/installation
-[rootless]: https://rootlesscontaine.rs/
-[git]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
-[kind]: https://kind.sigs.k8s.io/docs/user/quick-start/
diff --git a/site/book/01-getting-started/02-quickstart.md b/site/book/01-getting-started/02-quickstart.md
deleted file mode 100644
index 8999bd6c18..0000000000
--- a/site/book/01-getting-started/02-quickstart.md
+++ /dev/null
@@ -1,182 +0,0 @@
-In this example, you are going to configure and deploy Nginx to a Kubernetes
-cluster.
-
-## Fetch the package
-
-kpt is fully integrated with Git and enables forking, rebasing and versioning a
-package of configuration using the underlying Git version control system.
-
-First, let's fetch the _kpt package_ from Git to your local filesystem:
-
-```shell
-$ kpt pkg get https://github.com/kptdev/kpt/package-examples/nginx@v0.9
-```
-
-Subsequent commands are run from the `nginx` directory:
-
-```shell
-$ cd nginx
-```
-
-`kpt pkg` commands provide the functionality for working with packages on Git
-and on your local filesystem.
-
-Next, let's quickly view the content of the package:
-
-```shell
-$ kpt pkg tree
-Package "nginx"
-├── [Kptfile] Kptfile nginx
-├── [deployment.yaml] Deployment my-nginx
-└── [svc.yaml] Service my-nginx-svc
-```
-
-As you can see, this package contains 3 resources in 3 files. There is a special
-file named `Kptfile` which is used by the kpt tool itself and is not deployed to
-the cluster. Later chapters will explain the `Kptfile` in detail.
-
-Initialize a local Git repo and commit the forked copy of the package:
-
-```shell
-$ git init; git add .; git commit -m "Pristine nginx package"
-```
-
-## Customize the package
-
-At this point, you typically want to customize the package. With kpt, you can
-use different approaches depending on your use case.
-
-### Manual Editing
-
-You may want to manually edit the files. For example, modify the value of
-`spec.replicas` in `deployment.yaml` using your favorite editor:
-
-```shell
-$ vim deployment.yaml
-```
-
-### Automating One-time Edits with Functions
-
-The `kpt fn` set of commands enable you to execute programs called _kpt functions_. These
-programs are packaged as containers and take in YAML files, mutate or validate them, and then
-output YAML.
-
-For instance, you can use a function (`gcr.io/kpt-fn/search-replace:v0.1`) to search and replace all
-the occurrences of the `app` key in the `spec` section of the YAML document (`spec.**.app`) and
-set the value to `my-nginx`.
-
-You can use the `kpt fn eval` command to run this mutation on your local files a single time:
-
-```shell
-$ kpt fn eval --image gcr.io/kpt-fn/search-replace:v0.1 -- by-path='spec.**.app' put-value=my-nginx
-```
-
-To see what changes were made to the local package:
-
-```shell
-$ git diff
-```
-
-### Declaratively Defining Edits
-
-For operations that need to be performed repeatedly, there is a _declarative_ way to define a
-pipeline of functions as part of the package (in the `Kptfile`). In this `nginx` package, the author
-has already declared a function (`kubeval`) that validates the resources
-using their OpenAPI schema.
-
-```yaml
-pipeline:
- validators:
- - image: gcr.io/kpt-fn/kubeval:v0.3
-```
-
-You might want to label all resources in the package. To achieve that, you can
-declare `set-labels` function in the `pipeline` section of `Kptfile`. Add this by running the following
-command:
-
-```shell
-cat >> Kptfile < kpt automates Kubernetes configuration editing.
-
-kpt supports management of [Configuration as Data](https://github.com/kptdev/kpt/blob/main/docs/design-docs/06-config-as-data.md).
-
-*Configuration as Data* is an approach to management of configuration which:
-
-* makes configuration data the source of truth, stored separately from the live
- state
-* uses a uniform, serializable data model to represent configuration
-* separates code that acts on the configuration from the data and from packages
- / bundles of the data
-* abstracts configuration file structure and storage from operations that act
- upon the configuration data; clients manipulating configuration data don’t
- need to directly interact with storage (git, container images)
-
-This enables machine manipulation of configuration for Kubernetes and any infrastructure represented
-in the [Kubernetes Resource Model (KRM)](https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/resource-management.md).
-
-kpt manages KRM resources in bundles called **packages**.
-
-Off-the-shelf packages are rarely deployed without any customization. Like [kustomize](https://kustomize.io), kpt applies transformation **functions**, using the same [KRM function specification](https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md), but optimizes for in-place configuration transformation rather than out-of-place transformation.
-
-Validation goes hand-in-hand with customization and kpt functions can be used to automate both mutation and validation of resources, similar to [Kubernetes admission control](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/).
-
-The kpt toolchain includes the following components:
-
-- [**kpt CLI**](https://kpt.dev/reference/cli/): The kpt CLI supports package and function operations, and also
- deployment, via either direct apply or GitOps. By keeping an inventory of deployed resources, kpt enables resource pruning,
- aggregated status and observability, and an improved preview experience.
-
-- **Function SDKs**: Any general-purpose or domain-specific language can be used to create functions to transform and/or validate
- the YAML KRM input/output format, but we provide SDKs to simplify the function authoring process, in
- [Go](https://kpt.dev/book/05-developing-functions/02-developing-in-Go),
- [Typescript](https://kpt.dev/book/05-developing-functions/03-developing-in-Typescript), and
- [Starlark](https://kpt.dev/book/05-developing-functions/04-developing-in-Starlark), a Python-like embedded language.
-
-- [**Function catalog**](https://catalog.kpt.dev/): A catalog of off-the-shelf, tested functions. kpt makes configuration
- easy to create and transform, via reusable functions. Because they are expected to be used for in-place transformation,
- the functions need to be idempotent.
-
-- [**Package orchestrator**](https://github.com/kptdev/kpt/blob/main/docs/design-docs/07-package-orchestration.md):
- The package orchestrator enables the magic behind the unique WYSIWYG experience. It provides a control plane for creating,
- modifying, updating, and deleting packages, and evaluating functions on package data. This enables operations on packaged resources
- similar to operations directly on the live state through the Kubernetes API.
-
-- [**Config Sync**](https://cloud.google.com/anthos-config-management/docs/config-sync-overview): While the package orchestrator
- can be used with any GitOps tool, Config Sync provides a reference GitOps implementation to complete the WYSIWYG management
- experience and enable end-to-end development of new features, such as
- [OCI-based packages](https://github.com/kptdev/kpt/issues/2300). Config Sync is also helping to drive improvements
- in upstream Kubernetes. For instance, Config Sync is built on top of [git-sync](https://github.com/kubernetes/git-sync) and
- leverages [Kustomize](https://kustomize.io) to automatically render manifests on the fly when needed. It uses the same apply
- logic as the kpt CLI.
-
-- **Backstage UI plugin**: We've created a proof-of-concept UI to demonstrate the WYSIWYG experience that's possible on top of the
- package orchestrator. More scenarios can be supported by implementing form-based editors for additional Kubernetes resource types.
-
diff --git a/site/book/02-concepts/01-packages.md b/site/book/02-concepts/01-packages.md
deleted file mode 100644
index 0b30f4251c..0000000000
--- a/site/book/02-concepts/01-packages.md
+++ /dev/null
@@ -1,70 +0,0 @@
-A kpt package is a bundle of configuration _data_. It is represented as a
-directory tree containing KRM resources using YAML as the file format.
-
-A package is explicitly declared using a file named `Kptfile` containing a KRM
-resource of kind `Kptfile`. The Kptfile contains metadata about the package and
-is just a regular resource in the YAML format.
-
-Just as directories can be nested, a package can contain another package, called
-a _subpackage_.
-
-Let's take a look at the wordpress package as an example:
-
-```shell
-$ kpt pkg get https://github.com/kptdev/kpt.git/package-examples/wordpress@v0.9
-```
-
-View the package hierarchy using the `tree` command:
-
-```shell
-$ kpt pkg tree wordpress/
-Package "wordpress"
-├── [Kptfile] Kptfile wordpress
-├── [service.yaml] Service wordpress
-├── deployment
-│ ├── [deployment.yaml] Deployment wordpress
-│ └── [volume.yaml] PersistentVolumeClaim wp-pv-claim
-└── Package "mysql"
- ├── [Kptfile] Kptfile mysql
- ├── [deployment.yaml] PersistentVolumeClaim mysql-pv-claim
- ├── [deployment.yaml] Deployment wordpress-mysql
- └── [deployment.yaml] Service wordpress-mysql
-```
-
-This _package hierarchy_ contains two packages:
-
-1. `wordpress` is the top-level package in the hierarchy declared using
- `wordpress/Kptfile`. This package contains 2 subdirectories.
- `wordpress/deployment` is a regular directory used for organizing resources
- that belong to the `wordpress` package itself. The `wordpress` package
- contains 3 direct resources in 3 files: `service.yaml`,
- `deployment/deployment.yaml`, and `deployment/volume.yaml`.
-2. `wordpress/mysql` is a subpackage of `wordpress` package since it contains a
- `Kptfile`. This package contains 3 resources in
- `wordpress/mysql/deployment.yaml` file.
-
-kpt uses Git as the underlying version control system. A typical workflow starts
-by fetching an _upstream_ package from a Git repository to the local filesystem
-using `kpt pkg` commands. All other functionality (i.e. `kpt fn` and `kpt live`)
-use the package from the local filesystem, not the remote Git repository. You
-may think of this as the _vendoring_ used by tooling for some programming
-languages. The main difference is that kpt is designed to enable you to modify
-the vendored package on the local filesystem and then later update the package
-by merging the local and upstream changes.
-
-There is one scenario where a Kptfile is implicit: You can use kpt to fetch any
-Git directory containing KRM resources, even if it does not contain a `Kptfile`.
-Effectively, you are telling kpt to treat that Git directory as a package. kpt
-automatically creates the `Kptfile` on the local filesystem to keep track of the
-upstream repo. This means that kpt is compatible with large corpus of existing
-Kubernetes configuration stored on Git today!
-
-For example, `cockroachdb` is just a vanilla directory of KRM:
-
-```shell
-$ kpt pkg get https://github.com/kubernetes/examples/staging/cockroachdb
-```
-
-We will go into details of how to work with packages in [Chapter 3].
-
-[chapter 3]: /book/03-packages/
diff --git a/site/book/02-concepts/02-workflows.md b/site/book/02-concepts/02-workflows.md
deleted file mode 100644
index de0baaadfd..0000000000
--- a/site/book/02-concepts/02-workflows.md
+++ /dev/null
@@ -1,64 +0,0 @@
-In this section, we'll describe the typical workflows in kpt. We say "typical", because there is no
-single right way of using kpt. A user may choose to use some command but not another. This
-modularity is a key design principle. However, we still want to provide guidance on how the
-functionality could be used in real-world scenarios.
-
-A workflow in kpt can be best modelled as performing some verbs on the noun _package_.
-For example, when consuming an upstream package, the initial workflow can look like this:
-
-
-
-- **Get**: Using `kpt pkg get`
-- **Explore**: Using an editor or running commands such as `kpt pkg tree`
-- **Edit**: Customize the package either manually or automatically using `kpt fn eval`. This may
- involve editing the functions pipeline in the `Kptfile` which is executed
- in the next stage.
-- **Render**: Using `kpt fn render`
-
-First, you get a package from upstream. Then, you explore the content of the package to understand
-it better. Then you typically want to customize the package for you specific needs. Finally,
-you render the package which produces the final resources that can be directly applied to the
-cluster. Render is a required step as it ensures certain preconditions and postconditions hold
-true about the state of the package.
-
-This workflow is an iterative process. There is usually a tight Edit/Render loop in order to
-produce the desired outcome.
-
-Some time later, you may want to update to a newer version of the upstream package:
-
-
-
-- **Update**: Using `kpt pkg update`
-
-Updating the package involves merging your local changes with the changes made by the upstream
-package authors between the two specified versions. This is a resource-based merge strategy,
-and not a line-based merge strategy used by `git merge`.
-
-Instead of consuming an existing package, you can also create a package from scratch:
-
-
-
-- **Create**: Initialize a directory using `kpt pkg init`.
-
-Now, let's say you have rendered the package, and want to deploy it to a cluster. The workflow
-may look like this:
-
-
-
-- **Initialize**: One-time process using `kpt live init`
-- **Preview**: Using `kpt live apply --dry-run`
-- **Apply**: Using `kpt live apply`
-- **Observe**: Using `kpt live status`
-
-First, you use dry-run to validate the resources in your package and verify that the expected
-resources will be applied and pruned. Then if that looks good, you apply the package. Afterwards,
-you may observe the status of the package on the cluster.
-
-You typically want to store the package on Git:
-
-
-
-- **Publish**: Using `git commit`
-
-The publishing flow is orthogonal to deployment flow. This allows you to act as a publisher of an
-upstream package even though you may not deploy the package personally.
diff --git a/site/book/02-concepts/03-functions.md b/site/book/02-concepts/03-functions.md
deleted file mode 100644
index c1a9003830..0000000000
--- a/site/book/02-concepts/03-functions.md
+++ /dev/null
@@ -1,76 +0,0 @@
-A kpt function (also called a _KRM function_) is a containerized program that
-can perform CRUD operations on KRM resources stored on the local filesystem. kpt
-functions are the extensible mechanism to automate mutation and validation of
-KRM resources. Some example use cases:
-
-- Enforce all `Namespace` resources to have a `cost-center` label.
-- Add a label to resources based on some filtering criteria
-- Use a `Team` custom resource to generate a `Namespace` and associated
- organization-mandated defaults (e.g. `RBAC`, `ResourceQuota`, etc.) when
- bootstrapping a new team
-- Bulk transformation of all `PodSecurityPolicy` resources to improve the
- security posture.
-- Inject a sidecar container (service mesh, mysql proxy, logging) in a workload
- resource (e.g. `Deployment`)
-
-Since functions are containerized, they can encapsulate different toolchains,
-languages, and runtimes. For example, the function container image can
-encapsulate:
-
-- A binary built using kpt's official Go or Typescript SDK
-- Wrap an existing KRM tool such as `kubeval`
-- Invoke a bash script performing low-level operations
-- The interpreter for "executable configuration" such as `Starlark` or `Rego`
-
-To astute readers, this model will sound familiar: functions are the client-side
-analog to Kubernetes controllers:
-
-| | Client-side | Server-side |
-| ---------------- | ------------------------ | ----------------- |
-| **Orchestrator** | kpt | Kubernetes |
-| **Data** | YAML files on filesystem | resources on etcd |
-| **Programs** | functions | controllers |
-
-Just as Kubernetes system orchestrates server-side containers, kpt CLI
-orchestrates client-side containers operating on configuration. By standardizing
-the input and output of the function containers, and how the containers are
-executed, kpt can provide the following guarantees:
-
-- Functions are interoperable
-- Functions can be chained together
-- Functions are hermetic. For correctness, security and speed, it's desirable to
- be able to run functions hermetically without any privileges; preventing
- out-of-band access to the host filesystem and networking.
-
-We will discuss the KRM Functions Specification Standard in detail in Chapter 5.
-At a high level, a function execution looks like this:
-
-
-
-where:
-
-- `input items`: The input list of KRM resources to operate on.
-- `output items`: The output list obtained from adding, removing, or modifying
- items in the input.
-- `functionConfig`: An optional meta resource containing the arguments to this
- invocation of the function.
-- `results`: An optional meta resource emitted by the function for observability
- and debugging purposes.
-
-Naturally, functions can be chained together in a pipeline:
-
-
-
-There are two different CLI commands that execute functions corresponding to two
-fundamentally different approaches:
-
-- `kpt fn render`: Executes the pipeline of functions declared in the package
- and its subpackages. This is a declarative way to run functions.
-- `kpt fn eval`: Executes a given function on the package. The image to run and
- the `functionConfig` is specified as CLI argument. This is an imperative way
- to run functions. Since the function is provided explicitly by the user, an
- imperative invocation can be more privileged and low-level than an declarative
- invocation. For example, it can have access to the host system.
-
-We will discuss how to run functions in Chapter 4 and how to develop functions
-in Chapter 5.
diff --git a/site/book/03-packages/00.md b/site/book/03-packages/00.md
deleted file mode 100644
index cf2d6880de..0000000000
--- a/site/book/03-packages/00.md
+++ /dev/null
@@ -1,5 +0,0 @@
-[Chapter 2][ch2] provided a high-level conceptual explanation of a package and the package
-lifecycle. This chapter will cover working with packages in detail: how to get, explore, edit,
-update, and publish them.
-
-[ch2]: /book/02-concepts/01-packages
diff --git a/site/book/03-packages/01-getting-a-package.md b/site/book/03-packages/01-getting-a-package.md
deleted file mode 100644
index 5791e0756f..0000000000
--- a/site/book/03-packages/01-getting-a-package.md
+++ /dev/null
@@ -1,121 +0,0 @@
-Packaging in kpt is based on Git forking. Producers publish packages by
-committing them to a Git repository. Consumers fork the package to use it.
-
-Let's revisit the Wordpress example:
-
-```shell
-$ kpt pkg get https://github.com/kptdev/kpt.git/package-examples/wordpress@v0.9
-```
-
-A package in a Git repo can be fetched by specifying a branch, tag, or commit
-SHA. In this case, we are specifying tag `v0.9`.
-
-?> Refer to the [get command reference][get-doc] for usage.
-
-The `Kptfile` contains metadata about the origin of the forked package. Take a
-look at the content of the `Kptfile` on your local filesystem:
-
-```yaml
-# wordpress/Kptfile
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: wordpress
-upstream:
- type: git
- git:
- repo: https://github.com/kptdev/kpt
- directory: /package-examples/wordpress
- ref: v0.9
- updateStrategy: resource-merge
-upstreamLock:
- type: git
- git:
- repo: https://github.com/kptdev/kpt
- directory: /package-examples/wordpress
- ref: package-examples/wordpress/v0.9
- commit: b9ea0bca019dafa9f9f91fd428385597c708518c
-info:
- emails:
- - kpt-team@google.com
- description: This is an example wordpress package with mysql subpackage.
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-labels:v0.1
- configMap:
- app: wordpress
- validators:
- - image: gcr.io/kpt-fn/kubeval:v0.3
-```
-
-The `Kptfile` contains two sections to keep track of the upstream package:
-
-1. The `upstream` section contains the user-specified Git reference to the
- upstream package. This contains three pieces of information:
- - `repo`: The Git repository where the package can be found
- - `directory`: The directory within the Git repository where this package can
- be found
- - `ref`: The Git reference for the package. This can be either a branch, tag,
- or commit SHA.
-2. The `upstreamLock` section records the upstream Git reference (exact Git SHA)
- that was fetched by kpt. This section is managed by kpt and should not be
- changed manually.
-
-Now, let's look at the `Kptfile` for the `mysql` subpackage:
-
-```yaml
-# wordpress/mysql/Kptfile
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: mysql
-info:
- emails:
- - kpt-team@google.com
- description: This is an example mysql package.
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-labels:v0.1
- configMap:
- tier: mysql
-```
-
-As you can see, this `Kptfile` doesn't have the `upstream` and `upstreamLock`
-sections. This is because there are two different package types in kpt:
-
-- **Independent package:** A package where the `Kptfile` has `upstream` defined.
-- **Dependent package:** A package where the `Kptfile` doesn’t have `upstream`
- defined.
-
-In this case, the `mysql` subpackage is a _dependent package_. The upstream
-package for `mysql` is automatically inferred from the parent package. You can
-think of the `Kptfile` in the `mysql` package as implicitly inheriting the
-`upstream` section of its parent, with the only difference being that
-`upstream.directory` in the subpackage would instead point to
-`/package-examples/wordpress/mysql`.
-
-## Package Name and Identifier
-
-It is possible to specify a different local directory name to the `get` command.
-For example, the following fetches the packages to a directory named
-`mywordpress`:
-
-```shell
-$ kpt pkg get https://github.com/kptdev/kpt.git/package-examples/wordpress@v0.9 mywordpress
-```
-
-The _name of a package_ is given by its directory name. Since the Kptfile is a
-KRM resource and follows the familiar structure of KRM resources, the name of
-the package is also available from the `metadata.name` field. This must always
-be the name of the directory, and kpt will update it automatically when forking
-a package. In this case, `metadata.name` is set to `mywordpress`.
-
-In general, the package name is not unique. The _unique identifier_ for a
-package is defined as the relative path from the top package to the subpackage.
-For example, we could have two subpackages with the name `mysql` having the
-following identifiers:
-
-- `wordpress/backend/mysql`
-- `wordpress/frontend/mysql`
-
-[get-doc]: /reference/cli/pkg/get/
diff --git a/site/book/03-packages/02-exploring-a-package.md b/site/book/03-packages/02-exploring-a-package.md
deleted file mode 100644
index fabbb44c0f..0000000000
--- a/site/book/03-packages/02-exploring-a-package.md
+++ /dev/null
@@ -1,35 +0,0 @@
-After you fetch a package to your local filesystem, you typically want to
-explore the package to understand how it is composed and how it can be
-customized for your needs. Given a kpt package is just an ordinary directory of
-human-readable YAML files, you can naturally use your favorite file explorer,
-shell commands, or editor to explore the package.
-
-kpt also provides the `tree` command which is handy for quickly viewing package
-hierarchy and the constituent packages, files, and resources:
-
-```shell
-$ kpt pkg tree wordpress/
-Package "wordpress"
-├── [Kptfile] Kptfile wordpress
-├── [service.yaml] Service wordpress
-├── deployment
-│ ├── [deployment.yaml] Deployment wordpress
-│ └── [volume.yaml] PersistentVolumeClaim wp-pv-claim
-└── Package "mysql"
- ├── [Kptfile] Kptfile mysql
- ├── [deployment.yaml] PersistentVolumeClaim mysql-pv-claim
- ├── [deployment.yaml] Deployment wordpress-mysql
- └── [deployment.yaml] Service wordpress-mysql
-```
-
-?> Refer to the [tree command reference][tree-doc] for usage.
-
-In addition, you can use a kpt function such as `search-replace` to run a query
-on the package. For example, to search for resources that have a field with path
-`spec.selector.tier`:
-
-```shell
-$ kpt fn eval wordpress -i search-replace:v0.1 -- 'by-path=spec.selector.tier'
-```
-
-[tree-doc]: /reference/cli/pkg/tree/
diff --git a/site/book/03-packages/03-editing-a-package.md b/site/book/03-packages/03-editing-a-package.md
deleted file mode 100644
index e1fa0ca460..0000000000
--- a/site/book/03-packages/03-editing-a-package.md
+++ /dev/null
@@ -1,56 +0,0 @@
-kpt does not maintain any state on your local machine outside of the directory where you fetched the
-package. Making changes to the package is accomplished by manipulating the local filesystem. At the
-lowest-level, _editing_ a package is simply a process that either:
-
-- Changes the resources within that package. Examples:
- - Authoring new a Deployment resource
- - Customizing an existing Deployment resource
- - Modifying the Kptfile
-- Changes the package hierarchy, also called _package composition_. Examples:
- - Adding a subpackage.
- - Create a new dependent subpackage.
-
-At the end of the day, editing a package will result in a Git commit that fully specifies
-the package. This process can be manual or automated depending on your use case.
-
-We will cover package composition later in this chapter. For now, let's focus on editing resources
-_within_ a package.
-
-## Initialize the local repo
-
-Before you make any changes to package, you should first initialize and commit the pristine package:
-
-```shell
-$ git init; git add .; git commit -m "Pristine wordpress package"
-```
-
-## Manual edits
-
-As mentioned earlier, you can manually edit or author KRM resources using your favorite editor.
-Since every KRM resource has a known schema, you can take advantage of tooling that assists in
-authoring and validating resource configuration. For example, [Cloud Code] extensions for VS Code
-and IntelliJ provide IDE features such as auto-completion, inline documentation, linting, and snippets.
-
-For example, if you have VS Code installed, try modifying the resources in the `wordpress` package:
-
-```shell
-$ code wordpress
-```
-
-## Automation
-
-Oftentimes, you want to automate repetitive or complex operations. Having standardized on KRM for
-all resources in a package allows us to easily develop automation in different
-toolchains and languages, as well as at levels of abstraction.
-
-For example, setting a label on all the resources in the `wordpress` package can be done
-using the following function:
-
-```shell
-$ kpt fn eval wordpress -i set-labels:v0.1 -- env=dev
-```
-
-[Chapter 4] discusses different ways of running functions in detail.
-
-[cloud code]: https://cloud.google.com/code
-[chapter 4]: /book/04-using-functions/
diff --git a/site/book/03-packages/04-rendering-a-package.md b/site/book/03-packages/04-rendering-a-package.md
deleted file mode 100644
index 900730dc7b..0000000000
--- a/site/book/03-packages/04-rendering-a-package.md
+++ /dev/null
@@ -1,23 +0,0 @@
-Regardless of how you have edited the package, you want to _render_ the package:
-
-```shell
-$ kpt fn render wordpress
-```
-
-?> Refer to the [render command reference][render-doc] for usage.
-
-`render` is a critical step in the package lifecycle. At a high level, it
-perform the following steps:
-
-1. Enforces package preconditions. For example, it validates the `Kptfile`.
-2. Executes functions declared in the package hierarchy in a depth-first order.
- By default, the packages are modified in-place.
-3. Guarantees package postconditions. For example, it enforces a consistent
- formatting of resources, even though a function (developed by different
- people using different toolchains) may have modified the formatting in some
- way.
-
-[Chapter 4] discusses different ways of running functions in detail.
-
-[render-doc]: /reference/cli/fn/render/
-[chapter 4]: /book/04-using-functions/
diff --git a/site/book/03-packages/05-updating-a-package.md b/site/book/03-packages/05-updating-a-package.md
deleted file mode 100644
index b02360a7dd..0000000000
--- a/site/book/03-packages/05-updating-a-package.md
+++ /dev/null
@@ -1,70 +0,0 @@
-An independent package records the exact commit where the local fork and the
-upstream package diverged. This enables kpt to fetch any update to the upstream
-package and merge it with local changes.
-
-## Commit your local changes
-
-Before you update the package, you want to commit your local changes.
-
-First, to see the changes you've made to the fork of the upstream package:
-
-```shell
-$ git diff
-```
-
-If you're happy with the changes, commit them:
-
-```shell
-$ git add .; git commit -m "My changes"
-```
-
-## Update the package
-
-For example, you can update to version `v0.10` of the `wordpress` package:
-
-```shell
-$ kpt pkg update wordpress@v0.10
-```
-
-This is a porcelain for manually updating the `upstream` section in the
-`Kptfile` :
-
-```yaml
-upstream:
- type: git
- git:
- repo: https://github.com/kptdev/kpt
- directory: /package-examples/wordpress
- # Change this from v0.9 to v0.10
- ref: v0.10
- updateStrategy: resource-merge
-```
-
-and then running:
-
-```shell
-$ kpt pkg update wordpress
-```
-
-The `update` command updates the local `wordpress` package and the dependent
-`mysql` package to the upstream version `v0.10` by doing a 3-way merge between:
-
-1. Original upstream commit
-2. New upstream commit
-3. Local (edited) package
-
-Several different strategies are available to handle the merge. By default, the
-`resource-merge` strategy is used which performs a structural comparison of the
-resource using OpenAPI schema.
-
-?> Refer to the [update command reference][update-doc] for usage.
-
-## Commit the updated resources
-
-Once you have successfully updated the package, commit the changes:
-
-```shell
-$ git add .; git commit -m "Updated wordpress to v0.10"
-```
-
-[update-doc]: /reference/cli/pkg/update/
diff --git a/site/book/03-packages/06-creating-a-package.md b/site/book/03-packages/06-creating-a-package.md
deleted file mode 100644
index 10e275f0e2..0000000000
--- a/site/book/03-packages/06-creating-a-package.md
+++ /dev/null
@@ -1,40 +0,0 @@
-Creating a new package is simple: create a new directory and [author resources]:
-
-```shell
-$ mkdir awesomeapp
-# Create resources in awesomeapp/
-```
-
-For convenience, you can use `pkg init` command to create a minimal `Kptfile`
-and `README` files:
-
-```shell
-$ kpt pkg init awesomeapp
-writing Kptfile
-writing README.md
-```
-
-?> Refer to the [init command reference][init-doc] for usage.
-
-The `info` section of the `Kptfile` contains some optional package metadata you
-may want to set. These fields are not consumed by any functionality in kpt:
-
-```yaml
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: awesomeapp
-info:
- description: Awesomeapp solves all the world's problems in half the time.
- site: awesomeapp.example.com
- emails:
- - jack@example.com
- - jill@example.com
- license: Apache-2.0
- keywords:
- - awesome-tech
- - world-saver
-```
-
-[author resources]: /book/03-packages/03-editing-a-package
-[init-doc]: /reference/cli/pkg/init/
diff --git a/site/book/03-packages/07-composing-a-package.md b/site/book/03-packages/07-composing-a-package.md
deleted file mode 100644
index 5e33b92286..0000000000
--- a/site/book/03-packages/07-composing-a-package.md
+++ /dev/null
@@ -1,77 +0,0 @@
-A package can be _composed_ of subpackages (_HAS A_ relationship). _Package
-composition_ is when you change the package hierarchy by adding or removing
-subpackages.
-
-There are two different ways to add a subpackage to a package on the local
-filesystem:
-
-1. [Create a new package] in a subdirectory
-2. [Get an existing package] in a subdirectory
-
-Let's revisit the `wordpress` package and see how it was composed in the first
-place. Currently, it has the following package hierarchy:
-
-```shell
-$ kpt pkg tree wordpress/
-Package "wordpress"
-├── [Kptfile] Kptfile wordpress
-├── [service.yaml] Service wordpress
-├── deployment
-│ ├── [deployment.yaml] Deployment wordpress
-│ └── [volume.yaml] PersistentVolumeClaim wp-pv-claim
-└── Package "mysql"
- ├── [Kptfile] Kptfile mysql
- ├── [deployment.yaml] PersistentVolumeClaim mysql-pv-claim
- ├── [deployment.yaml] Deployment wordpress-mysql
- └── [deployment.yaml] Service wordpress-mysql
-```
-
-First, let's delete the `mysql` subpackage. Deleting a subpackage is done by
-simply deleting the subdirectory:
-
-```shell
-$ rm -r wordpress/mysql
-```
-
-We're going to add back the `mysql` subpackage using the two different
-approaches:
-
-## Create a new package
-
-Create the directory:
-
-```shell
-$ mkdir wordpress/mysql
-```
-
-Initialize the package:
-
-```shell
-$ kpt pkg init wordpress/mysql
-# author resources in mysql
-```
-
-This creates a [dependent package].
-
-## Get an existing package
-
-Remove the existing directory if it exists:
-
-```shell
-$ rm -rf wordpress/mysql
-```
-
-Fetch the package:
-
-```shell
-$ kpt pkg get https://github.com/kubernetes/website.git/content/en/examples/application/mysql@snapshot-initial-v1.20 wordpress/mysql
-```
-
-This creates an [independent package]. If you wish to make this a dependent
-package, you can delete the `upstream` and `upstreamLock` sections of the
-`Kptfile` in `mysql` directory.
-
-[create a new package]: /book/03-packages/06-creating-a-package
-[get an existing package]: /book/03-packages/01-getting-a-package
-[dependent package]: /book/03-packages/01-getting-a-package
-[independent package]: /book/03-packages/01-getting-a-package
diff --git a/site/book/03-packages/08-publishing-a-package.md b/site/book/03-packages/08-publishing-a-package.md
deleted file mode 100644
index 1cd2ddbf8a..0000000000
--- a/site/book/03-packages/08-publishing-a-package.md
+++ /dev/null
@@ -1,58 +0,0 @@
-A kpt package is published as a Git subdirectory containing KRM resources.
-Publishing a package is just a normal Git push. This also means that any
-existing Git directory of KRM resources is a valid kpt package.
-
-As an example, let's re-publish the local `wordpress` package to your own repo.
-
-Start by initializing the the `wordpress` directory as a Git repo if you haven't
-already done so:
-
-```shell
-$ cd wordpress; git init; git add .; git commit -m "My wordpress package"
-```
-
-Tag the commit:
-
-```shell
-$ git tag v0.1
-```
-
-Push the commit which requires you to have access to the repo:
-
-```shell
-$ git push origin v0.1
-```
-
-You can then fetch the published package:
-
-```shell
-$ kpt pkg get /@v0.1
-```
-
-## Monorepo Versioning
-
-You may have a Git repo containing multiple packages. kpt provides a tagging
-convention to enable packages to be independently versioned.
-
-For example, let's assume the `wordpress` directory is not at the root of the
-repo but instead is in the directory `packages/wordpress`.
-
-Tag the commit:
-
-```shell
-$ git tag packages/wordpress/v0.1
-```
-
-Push the commit:
-
-```shell
-$ git push origin packages/wordpress/v0.1
-```
-
-You can then fetch the published package:
-
-```shell
-$ kpt pkg get /packages/wordpress@v0.1
-```
-
-[tagging]: https://git-scm.com/book/en/v2/Git-Basics-Tagging
diff --git a/site/book/04-using-functions/00.md b/site/book/04-using-functions/00.md
deleted file mode 100644
index f6ed9be5f4..0000000000
--- a/site/book/04-using-functions/00.md
+++ /dev/null
@@ -1,5 +0,0 @@
-[Chapter 2][ch2] provided a high-level conceptual explanation of functions. We also saw examples of
-how to use `fn eval` and `fn render` to execute functions. In this chapter, we will take a closer
-look at how to execute functions using these two approaches.
-
-[ch2]: /book/02-concepts/03-functions
diff --git a/site/book/04-using-functions/01-declarative-function-execution.md b/site/book/04-using-functions/01-declarative-function-execution.md
deleted file mode 100644
index 9b629ed947..0000000000
--- a/site/book/04-using-functions/01-declarative-function-execution.md
+++ /dev/null
@@ -1,438 +0,0 @@
-In many real-world scenarios, it's not sufficient to only have packages of
-static, fully-rendered resource configuration. You want the package to declare
-both static data as well as operations that should be performed on current
-resources and any resource that may be added in the future as you edit the
-package. Example use cases:
-
-- Set the namespace on all namespace-scoped resources
-- Always perform schema validation on resources in the package
-- Always enforce a constraint policy on resources in the package
-- Generate resources using a human-authored custom resource
-
-In kpt, this is achieved by declaring a pipeline of functions in the `Kptfile`
-and executing all the pipelines in the package hierarchy in a depth-first order
-using the `fn render` command.
-
-In our wordpress example, the top-level `wordpress` package declares this
-pipeline:
-
-```yaml
-# wordpress/Kptfile (Excerpt)
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: wordpress
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-labels:v0.1
- configMap:
- app: wordpress
- validators:
- - image: gcr.io/kpt-fn/kubeval:v0.1
-```
-
-This declares two functions:
-
-- `set-label` is a mutator function which adds a set of labels to resources.
-- `kubeval` is a validator function which validates the resources against their
- OpenAPI schema.
-
-?> Refer to the [Functions Catalog](https://catalog.kpt.dev/ ":target=_self")
-for details on how to use a particular function.
-
-There are two differences between mutators and validators:
-
-1. Validators are not allowed to modify resources.
-2. Validators are always executed after mutators.
-
-The `mysql` subpackage declares only a mutator function:
-
-```yaml
-# wordpress/mysql/Kptfile
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: mysql
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-labels:v0.1
- configMap:
- tier: mysql
-```
-
-Now, let's render the package hierarchy:
-
-```shell
-$ kpt fn render wordpress
-Package "wordpress/mysql":
-
-[PASS] "gcr.io/kpt-fn/set-labels:v0.1"
-
-Package "wordpress":
-
-[PASS] "gcr.io/kpt-fn/set-labels:v0.1"
-[PASS] "gcr.io/kpt-fn/kubeval:v0.1"
-
-Successfully executed 3 function(s) in 2 package(s).
-```
-
-?> Refer to the [render command reference][render-doc] for usage.
-
-When you invoke the `render` command, kpt performs the following steps:
-
-1. Sequentially executes the list of mutators declared in the `mysql` package.
- The input to the first function is the set of resources read from the
- configuration files in the `mysql` package. The output of the first function
- is the input of the second function and so on.
-2. Similarly, executes all the validators declared in the `mysql` package. The
- input to the first validator is the output of the last mutator. The output of
- the last validator is the output of the pipeline in the `mysql` package.
-3. Sequentially executes the list of mutators declared in the `wordpress`
- package. The input to the first function is the union of:
-
- - Resources read from configuration files in the `wordpress` package AND
- - Output of the pipeline from the `mysql` package (Step 2).
-
-4. Similarly, execute all the validators declared in the `wordpress` package.
- The output of the last validator is the output of the pipeline in the
- `wordpress` package.
-5. Write the output of step 4 by modifying the local filesystem in-place. This
- can change both `wordpress` and `mysql` packages.
-
-The end result is that:
-
-1. Resources in the `mysql` package are labelled with `tier: mysql`.
-2. Resources in `mysql` and `wordpress` packages are labelled with
- `app: wordpress`.
-3. Resources in `mysql` and `wordpress` packages are validated against their
- OpenAPI spec.
-
-If any of the functions in the pipeline fails for whatever reason, then the
-entire pipeline is aborted and the local filesystem is left intact.
-
-## Specifying `function`
-
-### `image`
-
-The `image` field specifies the container image for the function. You can specify
-an image from any container registry. If the registry is omitted, the default
-container registry for functions catalog (`gcr.io/kpt-fn`) is prepended automatically.
-For example, `set-labels:v0.1` is automatically expanded to `gcr.io/kpt-fn/set-labels:v0.1`.
-
-### `exec`
-
-The `exec` field specifies the executable command for the function. You can specify
-an executable with arguments.
-
-Example below uses `sed` executable to replace all occurrences of `foo` with `bar`
-in the package resources.
-
-```yaml
-# PKG_DIR/Kptfile (Excerpt)
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: app
-pipeline:
- mutators:
- - exec: "sed -e 's/foo/bar/'"
-```
-
-Note that you must render the package by allowing executables by specifying `--allow-exec`
-command line flag as shown below.
-
-```shell
-$ kpt fn render [PKG_DIR] --allow-exec
-```
-
-Using `exec` is not recommended for two reasons:
-
-- It makes the package non-portable since rendering the package requires the
- executables to be present on the system.
-- Executing binaries is not very secure since they can perform privileged operations
- on the system.
-
-## Specifying `functionConfig`
-
-In [Chapter 2], we saw this conceptual representation of a function invocation:
-
-
-
-`functionConfig` is an optional meta resource containing the arguments to a
-particular invocation of the function. There are two different ways to declare
-the `functionConfig`.
-
-### `configPath`
-
-The general way to provide a `functionConfig` of arbitrary kind (core or custom
-resources), is to declare the resource in a separate file in the same directory
-as the `Kptfile` and refer to it using the `configPath` field.
-
-For example:
-
-```yaml
-# wordpress/mysql/Kptfile
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: mysql
-pipeline:
- mutators:
- - image: set-labels:v0.1
- configPath: labels.yaml
-```
-
-```yaml
-# wordpress/mysql/labels.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: labels
-data:
- tier: mysql
-```
-
-### `configMap`
-
-Many functions take a `functionConfig` of kind `ConfigMap` since they only need
-simple key/value pairs as argument. For convenience, there is a way to inline
-the key/value pairs in the `Kptfile`.
-
-The following is equivalent to what we showed before:
-
-```yaml
-# wordpress/mysql/Kptfile
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: mysql
-pipeline:
- mutators:
- - image: set-labels:v0.1
- configMap:
- tier: mysql
-```
-
-## Specifying function `name`
-
-Functions can optionally be named using the `pipeline.mutators.name`
-or `pipeline.validators.name` field to identify a function.
-
-For example:
-
-```yaml
-# wordpress/mysql/Kptfile
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: mysql
-pipeline:
- mutators:
- - name: set tier label
- image: set-labels:v0.1
- configMap:
- tier: mysql
-```
-
-Unique function names for all functions in the Kptfile function
-pipeline is recommended. If `name` is specified, `kpt pkg update`
-will merge each function pipeline list as an associative list, using
-`name` as the merge key. An unspecified `name` or duplicated names may
-result in unexpected merges.
-
-## Specifying `selectors`
-
-In some cases, you want to invoke the function only on a subset of resources based on a
-selection criteria. This can be accomplished using selectors. At a high level, selectors
-work as follows:
-
-
-
-Resources that are selected are passed as input to the function.
-Resources that are not selected are passed through unchanged.
-
-For example, let's add a function to the pipeline that adds an annotation to
-resources with name `wordpress-mysql` only:
-
-```yaml
-# wordpress/Kptfile (Excerpt)
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: wordpress
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-annotations:v0.1
- configMap:
- tier: mysql
- selectors:
- - name: wordpress-mysql
- - image: gcr.io/kpt-fn/set-labels:v0.1
- configMap:
- app: wordpress
- validators:
- - image: gcr.io/kpt-fn/kubeval:v0.1
-```
-
-When you invoke the render command, the `mysql` package is rendered first, and `set-annotations`
-function is invoked only on the resources with name `wordpress-mysql`. Then, `set-label`
-function is invoked on all the resources in the package hierarchy of `wordpress` package.
-
-```shell
-$ kpt fn render wordpress
-Package "wordpress/mysql":
-[RUNNING] "gcr.io/kpt-fn/set-label:v0.1"
-[PASS] "gcr.io/kpt-fn/set-label:v0.1"
-
-Package "wordpress":
-[RUNNING] "gcr.io/kpt-fn/set-annotations:v0.1" on 3 resource(s)
-[PASS] "gcr.io/kpt-fn/set-annotations:v0.1"
-[RUNNING] "gcr.io/kpt-fn/set-label:v0.1"
-[PASS] "gcr.io/kpt-fn/set-label:v0.1"
-[RUNNING] "gcr.io/kpt-fn/kubeval:v0.1"
-[PASS] "gcr.io/kpt-fn/kubeval:v0.1"
-
-Successfully executed 4 function(s) in 2 package(s).
-```
-
-As another example, let's add another function to the pipeline that adds a prefix to the name of a resource if:
-- it has kind `Deployment` AND name `wordpress`
- **OR**
-- it has kind `Service` AND name `wordpress`
-
-```yaml
-# wordpress/Kptfile (Excerpt)
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: wordpress
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-annotations:v0.1
- configMap:
- tier: mysql
- selectors:
- - name: wordpress-mysql
- - image: gcr.io/kpt-fn/set-labels:v0.1
- configMap:
- app: wordpress
- - image: gcr.io/kpt-fn/ensure-name-substring:v0.1
- configMap:
- prepend: dev-
- selectors:
- - kind: Deployment
- name: wordpress
- - kind: Service
- name: wordpress
- validators:
- - image: gcr.io/kpt-fn/kubeval:v0.1
-```
-
-Now, let's render the package:
-
-```shell
-kpt fn render wordpress
-Package "wordpress/mysql":
-[RUNNING] "gcr.io/kpt-fn/set-label:v0.1"
-[PASS] "gcr.io/kpt-fn/set-label:v0.1"
-
-Package "wordpress":
-[RUNNING] "gcr.io/kpt-fn/set-annotations:v0.1" on 3 resource(s)
-[PASS] "gcr.io/kpt-fn/set-annotations:v0.1"
-[RUNNING] "gcr.io/kpt-fn/set-label:v0.1"
-[PASS] "gcr.io/kpt-fn/set-label:v0.1"
-[RUNNING] "gcr.io/kpt-fn/ensure-name-substring:v0.1" on 2 resource(s)
-[PASS] "gcr.io/kpt-fn/ensure-name-substring:v0.1"
-[RUNNING] "gcr.io/kpt-fn/kubeval:v0.1"
-[PASS] "gcr.io/kpt-fn/kubeval:v0.1"
-
-Successfully executed 5 function(s) in 2 package(s).
-```
-
-Note that the `ensure-name-substring` function is applied only to the
-resources matching the selection criteria.
-
-If you have resources with particular labels or annotations that you want to use to
-select your resources, you can do so. For example, here is a function that will only
-be applied to resources matching the label `foo: bar`:
-
-```yaml
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: wordpress
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-annotations:v0.1
- configMap:
- tier: mysql
- selectors:
- - labels:
- foo: bar
- validators:
- - image: gcr.io/kpt-fn/kubeval:v0.1
-```
-
-The following are the matchers you can specify in a selector:
-
-1. `apiVersion`: `apiVersion` field value of resources to be selected.
-2. `kind`: `kind` field value of resources to be selected.
-3. `name`: `metadata.name` field value of resources to be selected.
-4. `namespace`: `metadata.namespace` field of resources to be selected.
-5. `annotations`: resources with matching annotations will be selected.
-6. `labels`: resources with matching labels will be selected.
-
-### Specifying exclusions
-
-Similar to `selectors`, you can also specify resources that should be excluded from functions.
-
-For example, you can exclude a resource if it has both kind "Deployment" and name "nginx":
-
-```yaml
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: wordpress
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-annotations:v0.1
- configMap:
- tier: mysql
- exclude:
- - kind: Deployment
- name: nginx
- validators:
- - image: gcr.io/kpt-fn/kubeval:v0.1
-```
-
-This is distinct from the following, which excludes a resource if it has either kind "Deployment" or name "nginx":
-
-```yaml
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: wordpress
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-annotations:v0.1
- configMap:
- tier: mysql
- exclude:
- - kind: Deployment
- - name: nginx
- validators:
- - image: gcr.io/kpt-fn/kubeval:v0.1
-```
-
-The following are the matchers you can specify in an exclusion:
-
-1. `apiVersion`: `apiVersion` field value of resources to be excluded.
-2. `kind`: `kind` field value of resources to be excluded.
-3. `name`: `metadata.name` field value of resources to be excluded.
-4. `namespace`: `metadata.namespace` field of resources to be excluded.
-5. `annotations`: resources with matching annotations will be excluded.
-6. `labels`: resources with matching labels will be excluded.
-
-[chapter 2]: /book/02-concepts/03-functions
-[render-doc]: /reference/cli/fn/render/
-[Package identifier]: book/03-packages/01-getting-a-package?id=package-name-and-identifier
diff --git a/site/book/04-using-functions/02-imperative-function-execution.md b/site/book/04-using-functions/02-imperative-function-execution.md
deleted file mode 100644
index bd93c08f05..0000000000
--- a/site/book/04-using-functions/02-imperative-function-execution.md
+++ /dev/null
@@ -1,222 +0,0 @@
-The `fn eval` command enables you to execute a single function without declaring
-it in the package. This is referred to as imperative function execution.
-
-For example, to set the namespace of all resources in the wordpress package
-hierarchy:
-
-```shell
-$ kpt fn eval wordpress --image gcr.io/kpt-fn/set-namespace:v0.1 -- namespace=mywordpress
-```
-
-Alternatively, for convenience, you can use the short-hand form of the above command:
-
-```shell
-$ kpt fn eval wordpress -i set-namespace:v0.1 -- namespace=mywordpress
-```
-
-?> Refer to the [eval command reference][eval-doc] for usage.
-
-This changes the resources in the `wordpress` package and the `mysql`
-subpackage.
-
-For comparison, this has the same effect as the following declaration:
-
-```yaml
-# wordpress/Kptfile (Excerpt)
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: wordpress
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-namespace:v0.1
- configMap:
- namespace: mywordpress
-```
-
-So when should you execute a function using `eval` instead of `render`?
-
-When you have one of these use cases:
-
-- Perform a one-time operation
-- Execute a function from a CI/CD system on packages authored by other teams
-- Develop shell scripts and chain functions with the Unix pipe (`|`)
-- Execute the function with privilege (Not allowed by `render`)
-
-We will cover these topics in detail.
-
-## Specifying `functionConfig`
-
-There are two ways to specify the `functionConfig`.
-
-### `fn-config` flag
-
-The general way to provide a `functionConfig` of arbitrary kind (core or custom
-resources), is to declare the resource in a separate file and use the
-`fn-config` flag.
-
-```shell
-$ cat << EOF > /tmp/fn-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: ns
-data:
- namespace: mywordpress
-EOF
-```
-
-```shell
-$ kpt fn eval wordpress -i set-namespace:v0.1 --fn-config /tmp/fn-config.yaml
-```
-
-### CLI arguments
-
-Many functions take a `functionConfig` of kind `ConfigMap` since they only need
-simple key/value pairs as argument. For convenience, there is a way to provide
-the key/value pairs as command line arguments. The following is equivalent to
-what we showed previously:
-
-```shell
-$ kpt fn eval wordpress -i set-namespace:v0.1 -- namespace=mywordpress
-```
-
-Note that the arguments must come after the separator `--`.
-
-## Specifying `selectors`
-
-Selectors can be used to target specific resources for a function execution.
-
-For example, you can selectively add an annotation to the resources if it has kind
-`Deployment` AND name `wordpress`:
-
-```shell
-$ kpt fn eval wordpress -i set-annotations:v0.1 --match-kind Deployment --match-name wordpress -- foo=bar
-```
-
-Here is the list of available selector matcher flags:
-
-1. `match-api-version`
-2. `match-kind`
-3. `match-name`
-4. `match-namespace`
-5. `match-annotations`
-6. `match-labels`
-
-## Specifying `exclusions`
-
-Exclusions can be used to exclude specific resources for a function execution.
-
-For example, you can set the namespace of all resources in the wordpress package,
-except for the ones with the label `foo: bar`:
-
-```shell
-$ kpt fn eval wordpress -i set-namespace:v0.1 --exclude-labels foo=bar -- namespace=my-namespace
-```
-
-If you use multiple exclusions, it will exclude resources that match all provided exclusions. For
-example, you can set the namespace of all resources, except for those that have both kind "Deployment"
-and name "nginx":
-
-`$ kpt fn eval wordpress -i set-namespace:v0.1 --exclude-kind Deployment --exclude-name nginx -- namespace=my-namespace`
-
-Here is the list of available exclusion flags:
-
-1. `exclude-api-version`
-2. `exclude-kind`
-3. `exclude-name`
-4. `exclude-namespace`
-5. `exclude-annotations`
-6. `exclude-labels`
-
-## Privileged Execution
-
-Since the function is provided explicitly by the user, `eval` can be more
-privileged and low-level than a declarative invocation using `render`. For
-example, it can have access to the host system.
-
-In general, we recommend against having functions that require privileged access
-to the host since they can only be executed imperatively and pose a challenge in
-terms of security, correctness, portability and speed. If at all possible,
-functions should be executed hermetically with all required dependencies either
-passed in as KRM resources (input items or functionConfig) or included in the
-container image. However, there are some legitimate use cases where the only
-available option requires either network access or mounting a volume from the
-host. In those situations, you can use `eval` as described below.
-
-### Network Access
-
-By default, functions cannot access the network. You can enable network access
-using the `--network` flag.
-
-For example, `kubeval` function can download a JSON schema file:
-
-```shell
-$ kpt fn eval wordpress -i kubeval:v0.1 --network -- schema_location="https://kubernetesjsonschema.dev"
-```
-
-### Mounting Directories
-
-By default, functions cannot access the host file system. You can use the
-`--mount` flag to mount host volumes. kpt accepts the same options to `--mount`
-specified on the [Docker Volumes] page.
-
-For example, `kubeval` function can consume a JSON schema file:
-
-```shell
-$ kpt fn eval -i kubeval:v0.1 --mount type=bind,src="/path/to/schema-dir",dst=/schema-dir --as-current-user wordpress -- schema_location=file:///schema-dir
-```
-
-Note that the `--as-current-user` flag may be required to run the function as
-your uid instead of the default `nobody` to access the host filesystem.
-
-All volumes are mounted readonly by default. Specify `rw=true` to mount volumes
-in read-write mode.
-
-```
---mount type=bind,src="/path/to/schema-dir",dst=/schema-dir,rw=true
-```
-
-## Chaining functions using the Unix pipe
-
-As an alternative to declaring a pipeline in the `Kptfile`, you can chain
-functions using the Unix pipe.
-
-Here is an example:
-
-```shell
-$ kpt fn source wordpress \
- | kpt fn eval - -i set-namespace:v0.1 -- namespace=mywordpress \
- | kpt fn eval - -i set-labels:v0.1 -- app=wordpress env=prod \
- | kpt fn sink my-wordpress
-```
-
-?> Refer to the command reference for usage of [source][source-doc] and
-[sink][sink-doc] commands.
-
-The following describes the above pipeline:
-
-1. The `source` command is used to read the resources in the package hierarchy
- (`wordpress` and `mysql` packages). The output of the `source` command
- follows the KRM Function Specification standard, which we are going to look
- at in chapter 5.
-2. The output of the `source` function is piped into the `set-namespace`
- function. `eval` function is instructed to read inputs items from the `stdin`
- using `-`. This is the convention used in all commands in kpt that can read
- from `stdin`. The `set-namespace` function mutates the input items and emits
- the output items.
-3. The output of the `set-namespace` function is piped into `set-labels`
- function which adds the given labels to all resources.
-4. The `sink` command writes the output of `set-labels` to the filesystem.
-
-This is a low-level and less abstracted approach to executing functions. You can
-instead write the output of the pipeline to a different directory instead of
-mutating the directory in-place. You can also pipe to other programs (e.g.
-`sed`, `yq`) that are not functions. Be mindful that the cost of this low-level
-flexibility is not having benefits provided by functions: scalability,
-reusability, and encapsulation.
-
-[eval-doc]: /reference/cli/fn/eval/
-[source-doc]: /reference/cli/fn/source/
-[sink-doc]: /reference/cli/fn/sink/
-[docker volumes]: https://docs.docker.com/storage/volumes/
diff --git a/site/book/04-using-functions/03-function-results.md b/site/book/04-using-functions/03-function-results.md
deleted file mode 100644
index 71fabab899..0000000000
--- a/site/book/04-using-functions/03-function-results.md
+++ /dev/null
@@ -1,95 +0,0 @@
-In kpt, the counterpart to Unix philsophophy of "everything is a file" is "everything is a
-Kubernetes resource". This also extends to the results of executing functions using `eval` or
-`render`. In addition to providing a human-readable terminal output, these commands provide
-structured results which can be consumed by other tools. This enables you to build robust UI layers
-on top of kpt. For example:
-
-- Create a custom dashboard that shows the results returned by functions
-- Annotate a GitHub Pull Request with results returned by a validator function at the granularity of individuals fields
-
-In both `render` and `eval`, structured results can be enabled using the `--results-dir` flag.
-
-For example:
-
-```shell
-$ kpt fn render wordpress --results-dir /tmp
-Package "wordpress/mysql":
-
-[PASS] "gcr.io/kpt-fn/set-labels:v0.1"
-
-Package "wordpress":
-
-[PASS] "gcr.io/kpt-fn/set-labels:v0.1"
-[PASS] "gcr.io/kpt-fn/kubeval:v0.1"
-
-Successfully executed 3 function(s) in 2 package(s).
-For complete results, see /tmp/results.yaml
-```
-
-The results are provided as resource of kind `FunctionResultList`:
-
-```yaml
-# /tmp/results.yaml
-apiVersion: kpt.dev/v1
-kind: FunctionResultList
-metadata:
- name: fnresults
-exitCode: 0
-items:
- - image: gcr.io/kpt-fn/set-labels:v0.1
- exitCode: 0
- - image: gcr.io/kpt-fn/set-labels:v0.1
- exitCode: 0
- - image: gcr.io/kpt-fn/kubeval:v0.1
- exitCode: 0
-```
-
-Let's see a more interesting result where the `kubeval` function catches a validation issue.
-For example, change the value of `port` field in `service.yaml` from `80` to `"80"` and
-rerun:
-
-```shell
-$ kpt fn render wordpress --results-dir /tmp
-Package "wordpress/mysql":
-
-[PASS] "gcr.io/kpt-fn/set-labels:v0.1"
-
-Package "wordpress":
-
-[PASS] "gcr.io/kpt-fn/set-labels:v0.1"
-[FAIL] "gcr.io/kpt-fn/kubeval:v0.1"
- Results:
- [ERROR] Invalid type. Expected: integer, given: string in object "v1/Service/wordpress" in file "service.yaml" in field "spec.ports.0.port"
- Exit code: 1
-
-For complete results, see /tmp/results.yaml
-```
-
-The results resource will now contain failure details:
-
-```yaml
-# /tmp/results.yaml
-apiVersion: kpt.dev/v1
-kind: FunctionResultList
-metadata:
- name: fnresults
-exitCode: 1
-items:
- - image: gcr.io/kpt-fn/set-labels:v0.1
- exitCode: 0
- - image: gcr.io/kpt-fn/set-labels:v0.1
- exitCode: 0
- - image: gcr.io/kpt-fn/kubeval:v0.1
- exitCode: 1
- results:
- - message: "Invalid type. Expected: integer, given: string"
- severity: error
- resourceRef:
- apiVersion: v1
- kind: Service
- name: wordpress
- field:
- path: spec.ports.0.port
- file:
- path: service.yaml
-```
diff --git a/site/book/05-developing-functions/00.md b/site/book/05-developing-functions/00.md
deleted file mode 100644
index 57bd2c2040..0000000000
--- a/site/book/05-developing-functions/00.md
+++ /dev/null
@@ -1,78 +0,0 @@
-[Chapter 2] provided a high-level conceptual explanation of functions. We
-discussed how this architecture enables us to develop functions in different
-languages, frameworks and runtimes. In this chapter, we are going to look at
-different approaches to developing functions.
-
-?> Before you start developing your custom function, check out the
-[Functions Catalog](https://catalog.kpt.dev/ ":target=_self") in case there is
-an existing function that meets your needs. This is an ever-growing catalog of
-functions that we consider to be generally useful to many users. If your use
-case fits that description, please [open a feature request][fr] for adding a
-function to the catalog.
-
-## Approaches
-
-### Creating Custom Images
-
-With this approach you create a custom container image which can execute
-programs in an arbitrary language or encapsulate existing tools as long as it
-satisfies the KRM Functions Specification we will see later in this chapter.
-
-To simplify development, we provide frameworks for developing functions in Go
-and Typescript. We will cover these later in this chapter.
-
-### Authoring Executable Configuration
-
-Instead of developing a custom image, you can use an existing function image
-containing a language interpreter, and provide your business logic in a KRM
-resource. This is referred to as _executable configuration_. We will see two
-examples of executable configuration pattern in this chapter.
-
-Although using executable configuration saves some time initially, it can become
-an anti-pattern if it grows in complexity. We recommend limiting their use to:
-
-- Small amount of logic (< 20 lines)
-- You do not forsee this logic growing in complexity in the future
-
-Otherwise, you are better off developing functions in a general-purpose language
-where you can take advantage of proper abstractions and language features,
-better testing, rich IDE experience, and existing libraries.
-
-## Function Properties
-
-As you think about how to formulate your function, keep in mind the following
-desired properties:
-
-### Deterministic
-
-Executing a function with the same input should produce the same output. For
-example, a function that annotates a resource with the current timestamp is not
-deterministic.
-
-Note that input to the function includes both `input items` and the
-`functionConfig`:
-
-
-
-### Idempotent
-
-Executing a function a second time should not produce any change. For example, a
-function that increments value of the `replicas` field by 1 is not idempotent.
-Instead, the function could take the desired value of the `replicas` field as
-input.
-
-This property enables in-place edits to work and is analogous to the
-level-driven reconciliation model of the Kubernetes system.
-
-### Hermetic and Unprivileged
-
-If possible, try to formulate your function to be hermetic. We discussed this in
-detail in [chapter 4].
-
-[chapter 2]: /book/02-concepts/03-functions
-[chapter 4]:
- /book/04-using-functions/02-imperative-function-execution?id=privileged-execution
-[fr]:
- https://github.com/kptdev/kpt/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=
-[functions specification]:
- /book/05-developing-functions/01-functions-specification
diff --git a/site/book/05-developing-functions/01-functions-specification.md b/site/book/05-developing-functions/01-functions-specification.md
deleted file mode 100644
index 9172f9eb7c..0000000000
--- a/site/book/05-developing-functions/01-functions-specification.md
+++ /dev/null
@@ -1,19 +0,0 @@
-In order to enable functions to be developed in different toolchains and
-languages and be interoperable and backwards compatible, the kpt project created
-a standard for the inter-process communication between the orchestrator (i.e.
-kpt CLI) and functions. This standard was published as [KRM Functions Specification][spec]
-and donated to the CNCF as part of the Kubernetes SIG-CLI.
-
-Understanding this specification enables you to have a deeper understanding of
-how things work under the hood. It also enables to create your own toolchain for
-function development if you so desire.
-
-As an example, you can see the `ResourceList` containing resources in the
-`wordpress` package:
-
-```shell
-$ kpt fn source wordpress | less
-```
-
-[spec]:
- https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md#krm-functions-specification
diff --git a/site/book/05-developing-functions/02-developing-in-Go.md b/site/book/05-developing-functions/02-developing-in-Go.md
deleted file mode 100644
index f3ed6fd2b7..0000000000
--- a/site/book/05-developing-functions/02-developing-in-Go.md
+++ /dev/null
@@ -1,163 +0,0 @@
-You can develop a KRM function in Go using [the kpt function SDK].
-
-- **General-purpose language:** Compared to Domain Specific Languages (DSL), Go
- is a general-purpose programming language that provides:
- - Proper abstractions and language features
- - An extensive ecosystem of tooling (e.g. IDE support)
- - A comprehensive catalog of well-supported libraries
- - Robust community support and detailed documentation
-
-## Prerequisites
-
-- [Install kpt](https://kpt.dev/installation/)
-
-- [Install Docker](https://docs.docker.com/get-docker/)
-
-- [Golang](https://go.dev/dl/) (at least version 1.19)
-
-## Quickstart
-
-In this quickstart, we will write a function that adds an annotation
-`config.kubernetes.io/managed-by=kpt` to all `Deployment` resources.
-
-### Initialize your project
-
-We start from a "get-started" package which contains a `main.go` file with some scaffolding code.
-
-```shell
-# Set your KRM function name.
-export FUNCTION_NAME=set-annotation
-
-# Get the "get-started" package.
-kpt pkg get https://github.com/kptdev/krm-functions-sdk.git/go/get-started@master ${FUNCTION_NAME}
-
-cd ${FUNCTION_NAME}
-
-# Initialize the Go module
-go mod init
-go mod tidy
-```
-
-### Write the KRM function logic
-
-Take a look at the `main.go` (as below) and complete the `Run` function.
-
-```go
-// Copyright 2022 The kpt Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package main
-
-import (
- "context"
- "os"
-
- "github.com/kptdev/krm-functions-sdk/go/fn"
-)
-
-var _ fn.Runner = &YourFunction{}
-
-// TODO: Change to your functionConfig "Kind" name.
-type YourFunction struct {
- FnConfigBool bool
- FnConfigInt int
- FnConfigFoo string
-}
-
-// Run is the main function logic.
-// `items` is parsed from the STDIN "ResourceList.Items".
-// `functionConfig` is from the STDIN "ResourceList.FunctionConfig". The value has been assigned to the r attributes
-// `results` is the "ResourceList.Results" that you can write result info to.
-func (r *YourFunction) Run(ctx *fn.Context, functionConfig *fn.KubeObject, items fn.KubeObjects, results *fn.Results) bool {
- // TODO: Write your code.
- return true
-}
-
-func main() {
- runner := fn.WithContext(context.Background(), &YourFunction{})
- if err := fn.AsMain(runner); err != nil {
- os.Exit(1)
- }
-}
-```
-
-The [`fn`] library provides a series of KRM level operations for [`ResourceList`].
-Basically, the KRM resource `ResourceList.FunctionConfig` and KRM resources `ResourceList.Items` are both converted to
-`KubeObject` objects. You can use `KubeObject` similar as [`unstructured.Unstructured`].
-
-The set-annotation function (see below) iterates the `ResourceList.Items`, finds out the `Deployment` resources and
-adds the annotation. After the iteration, it adds some user message to the `ResourceList.Results`
-
-```go
-func (r *YourFunction) Run(ctx *fn.Context, functionConfig *fn.KubeObject, items fn.KubeObjects, results *fn.Results) bool {
- for _, kubeObject := range items {
- if kubeObject.IsGVK("apps", "v1", "Deployment") {
- kubeObject.SetAnnotation("config.kubernetes.io/managed-by", "kpt")
- }
- }
- // This result message will be displayed in the function evaluation time.
- *results = append(*results, fn.GeneralResult("Add config.kubernetes.io/managed-by=kpt to all `Deployment` resources", fn.Info))
- return true
-}
-```
-
-Learn more about the `KubeObject` from the [go doc](https://pkg.go.dev/github.com/kptdev/krm-functions-sdk/go/fn).
-
-
-### Test the KRM function
-
-The "get-started" package contains a `./testdata` directory. You can use this to test out your functions.
-
-```shell
-# Edit the `testdata/test1/resources.yaml` with your KRM resources.
-# resources.yaml already has a `Deployment` and `Service` as test data.
-vim testdata/test1/resources.yaml
-
-# Convert the KRM resources and FunctionConfig resource to `ResourceList`, and
-# then pipe the ResourceList as StdIn to your function
-kpt fn source testdata | go run main.go
-
-# Verify the KRM function behavior in the StdOutput `ResourceList`
-```
-
-### Build the KRM function as a Docker image
-
-Build the image
-
-The "get-started" package provides the `Dockerfile` that you can download using:
-```shell
-wget https://raw.githubusercontent.com/kptdev/krm-functions-sdk/master/go/kfn/commands/embed/Dockerfile
-```
-
-```shell
-export FN_CONTAINER_REGISTRY=
-export TAG=
-docker build . -t ${FN_CONTAINER_REGISTRY}/${FUNCTION_NAME}:${TAG}
-```
-
-To verify the image using the same `./testdata` resources
-```shell
-kpt fn eval ./testdata/test1/resources.yaml --image ${FN_CONTAINER_REGISTRY}/${FUNCTION_NAME}:${TAG}
-```
-
-## Next Steps
-
-- See other [go doc examples] to use KubeObject.
-- To contribute to KRM catalog functions, please follow the [contributor guide](https://github.com/kptdev/krm-functions-catalog/blob/master/CONTRIBUTING.md)
-
-[the kpt function SDK]: https://pkg.go.dev/github.com/kptdev/krm-functions-sdk/go/fn
-[go doc examples]: https://pkg.go.dev/github.com/kptdev/krm-functions-sdk/go/fn/examples
-[`fn`]: https://pkg.go.dev/github.com/kptdev/krm-functions-sdk/go/fn
-[`ResourceList`]: https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md
-[`unstructured.Unstructured`]: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured
diff --git a/site/book/05-developing-functions/03-developing-in-Typescript.md b/site/book/05-developing-functions/03-developing-in-Typescript.md
deleted file mode 100644
index c18f8b8313..0000000000
--- a/site/book/05-developing-functions/03-developing-in-Typescript.md
+++ /dev/null
@@ -1,247 +0,0 @@
-kpt project provides an opinionated Typescript SDK for implementing functions.
-It provides the following features:
-
-- **General-purpose language:** Similar to Go, Typescript is a general-purpose
- programming language that provides:
- - Proper abstractions and language features
- - An extensive ecosystem of tooling (e.g. IDE support)
- - A comprehensive catalog of well-supported libraries
- - Robust community support and detailed documentation
-- **Idiomatic:** The TS SDK provides a different level of abstraction compared
- to the Go library we saw previously. Instead of exposing the low-level YAML
- AST, resources are marshalled into native Typescript objects. As a result, you
- get a more idiomatic and high-level abstraction. Ideally, you should work with
- native data structure/object in each language and not think about YAML which
- is just a file format. Even though resources in configuration files are
- round-tripped to Typescript objects, the kpt orchestrator ensures that
- YAML-specific constructs such as comments are preserved. The obvious
- limitation of this high-level abstraction is that you cannot develop functions
- for manipulating YAML-specific constructs like comments.
-- **Type-safety:** Kubernetes configuration is typed, and its schema is defined
- using the OpenAPI spec. Typescript has a sophisticated type system that
- accommodates the complexity of Kubernetes resources. The TS SDK enables
- generating Typescript classes for core and CRD types.
-- **Batteries-included:** The TS SDK provides a simple, powerful API for
- querying and manipulating resources inspired by [document-oriented databases].
- It provides the scaffolding required to develop, build, test, and publish
- functions, allowing you to focus on implementing your business-logic.
-
-## Quickstart
-
-This quickstart will get you started developing a kpt function with the TS SDK.
-
-### System Requirements
-
-Currently supported platforms: amd64 Linux/Mac
-
-- Install [kpt][download-kpt] and its dependencies
-- Install [node][download-node]
- - The SDK requires `npm` version 6 or higher.
- - If installing node from binaries (i.e. without a package manager), follow
- these [installation instructions][install-node].
-
-### Explore the Demo Functions Package
-
-1. Get the `demo-functions` package:
-
- ```shell
- $ git clone --depth 1 https://github.com/kptdev/krm-functions-sdk.git
- ```
-
- All subsequent commands are run from the `demo-functions` directory:
-
- ```shell
- $ cd kpt-functions-sdk/ts/demo-functions
- ```
-
-1. Install all dependencies:
-
- ```shell
- $ npm install
- ```
-
-1. Run the following in a separate terminal to continuously build your function
- as you make changes:
-
- ```shell
- $ npm run watch
- ```
-
-1. Explore the [`label_namespace`][label-namespace] transformer function. This
- function takes a given `label_name` and `label_value` to add the appropriate
- label to `Namespace` objects using the SDK's `addLabel` function.
-
- ```typescript
- import { addLabel, Configs } from "kpt-functions";
- import { isNamespace } from "./gen/io.k8s.api.core.v1";
-
- export const LABEL_NAME = "label_name";
- export const LABEL_VALUE = "label_value";
-
- export async function labelNamespace(configs: Configs) {
- const labelName = configs.getFunctionConfigValueOrThrow(LABEL_NAME);
- const labelValue = configs.getFunctionConfigValueOrThrow(LABEL_VALUE);
- configs
- .get(isNamespace)
- .forEach((n) => addLabel(n, labelName, labelValue));
- }
- ```
-
-1. Run the `label_namespace` function on the `example-configs` directory:
-
- ```shell
- $ export CONFIGS=../../example-configs
- ```
-
- ```shell
- $ kpt fn eval $CONFIGS --exec "node dist/label_namespace_run.js" -- label_name=color label_value=orange
- ```
-
- As the name suggests, this function added the given label to all `Namespace`
- objects in the `example-configs` directory:
-
- ```shell
- $ git diff $CONFIGS
- ```
-
-1. Try modifying the function in `src/label_namespace.ts` to perform other
- operations and rerun the function on `example-configs` to see the changes.
-
-1. Explore validation functions like [validate-rolebinding]. Instead of
- transforming configuration, this function searches RoleBindings and returns a
- results field containing details about invalid subject names.
-
- ```typescript
- import { Configs, kubernetesObjectResult } from "kpt-functions";
- import { isRoleBinding } from "./gen/io.k8s.api.rbac.v1";
-
- const SUBJECT_NAME = "subject_name";
-
- export async function validateRolebinding(configs: Configs) {
- // Get the subject name parameter.
- const subjectName = configs.getFunctionConfigValueOrThrow(SUBJECT_NAME);
-
- // Iterate over all RoleBinding objects in the input
- // Filter those that have a subject we're looking for.
- const results = configs
- .get(isRoleBinding)
- .filter(
- (rb) =>
- rb && rb.subjects && rb.subjects.find((s) => s.name === subjectName)
- )
- .map((rb) =>
- kubernetesObjectResult(`Found banned subject '${subjectName}'`, rb)
- );
-
- configs.addResults(...results);
- }
- ```
-
-1. Run `validate-rolebinding` on `example-configs`.
-
- ```shell
- $ kpt fn eval $CONFIGS --exec "node dist/validate_rolebinding_run.js" -- subject_name=alice@foo-corp.com
- ```
-
- Look at the changes made by the function:
-
- ```shell
- $ git diff $CONFIGS
- ```
-
-1. Explore generator functions like [expand-team-cr]. This function generates a
- per-environment Namespace and RoleBinding object for each custom resource
- (CR) of type Team.
-
- ```typescript
- import { Configs } from "kpt-functions";
- import { isTeam, Team } from "./gen/dev.cft.anthos.v1alpha1";
- import { Namespace } from "./gen/io.k8s.api.core.v1";
- import { RoleBinding, Subject } from "./gen/io.k8s.api.rbac.v1";
-
- const ENVIRONMENTS = ["dev", "prod"];
-
- export async function expandTeamCr(configs: Configs) {
- // For each 'Team' custom resource in the input:
- // 1. Generate a per-enviroment Namespace.
- // 2. Generate RoleBindings in each Namespace.
- configs.get(isTeam).forEach((team) => {
- const name = team.metadata.name;
-
- ENVIRONMENTS.forEach((suffix) => {
- const ns = `${name}-${suffix}`;
- configs.insert(Namespace.named(ns));
- configs.insert(...createRoleBindings(team, ns));
- });
- });
- }
-
- function createRoleBindings(team: Team, namespace: string): RoleBinding[] {
- return (team.spec.roles || []).map((item) => {
- return new RoleBinding({
- metadata: {
- name: item.role,
- namespace,
- },
- subjects: roleSubjects(item),
- roleRef: {
- kind: "ClusterRole",
- name: item.role,
- apiGroup: "rbac.authorization.k8s.io",
- },
- });
- });
- }
-
- function roleSubjects(item: Team.Spec.Item): Subject[] {
- const userSubjects: Subject[] = (item.users || []).map(
- (user) =>
- new Subject({
- kind: "User",
- name: user,
- })
- );
- const groupSubjects: Subject[] = (item.groups || []).map(
- (group) =>
- new Subject({
- kind: "Group",
- name: group,
- })
- );
- return userSubjects.concat(groupSubjects);
- }
- ```
-
-1. Run `expand-team-cr` on `example-configs`.
-
- ```shell
- $ kpt fn eval $CONFIGS --exec "node dist/expand_team_cr_run.js"
- ```
-
- Look at the changes made by the function:
-
- ```shell
- $ git diff $CONFIGS
- ```
-
-## Next Steps
-
-- Read the complete [Typescript SDK Developer Guide].
-- Take a look at these [example functions] to better understand how to use the
- TS SDK.
-
-[download-kpt]: /book/01-getting-started/01-system-requirements
-[download-node]: https://nodejs.org/en/download/
-[install-node]: https://github.com/nodejs/help/wiki/Installation/
-[ts sdk api]: https://kptdev.github.io/krm-functions-sdk/api/
-[label-namespace]:
- https://github.com/kptdev/krm-functions-sdk/blob/master/ts/demo-functions/src/label_namespace.ts
-[validate-rolebinding]:
- https://github.com/kptdev/krm-functions-sdk/blob/master/ts/demo-functions/src/validate_rolebinding.ts
-[expand-team-cr]:
- https://github.com/kptdev/krm-functions-sdk/blob/master/ts/demo-functions/src/expand_team_cr.ts
-[example functions]:
- https://github.com/kptdev/krm-functions-sdk/tree/master/ts/demo-functions/src/
-[document-oriented databases]:
- https://en.wikipedia.org/wiki/Document-oriented_database
-[typescript sdk developer guide]: /sdk/ts-guide
diff --git a/site/book/05-developing-functions/04-developing-in-Starlark.md b/site/book/05-developing-functions/04-developing-in-Starlark.md
deleted file mode 100644
index 2acdcafe27..0000000000
--- a/site/book/05-developing-functions/04-developing-in-Starlark.md
+++ /dev/null
@@ -1,58 +0,0 @@
-You can write the function in Starlark script.
-
-?> Starlark SDK is in *experimental* stage.
-
-[Starlark] is a python-like language designed for use in configuration files that has several desirable properties:
-* deterministic evaluation
-* hermetic execution
-* simplicity.
-
-Current Starlark SDK is driven by [`gcr.io/kpt-fn/starlark:v0.4`] which contains the interpreter and accepts
-a `StarlarkRun` object as its `FunctionConfig`. You should place your starlark script in the `source` field
-of the `StarlarkRun` object.
-
-## Quickstart
-
-Let's write a starlark function which add annotation "managed-by=kpt" only to `Deployment` resources.
-
-### Get the "get-started" example
-
-```shell
-kpt pkg get https://github.com/kptdev/krm-functions-sdk.git/starlark/get-started@master set-annotation
-cd set-annotation
-```
-
-### Update the `FunctionConfig`
-```yaml
-# starlark-fn-config.yaml
-apiVersion: fn.kpt.dev/v1alpha1
-kind: StarlarkRun
-metadata:
- name: set-annotation
-# EDIT THE SOURCE!
-# This should be your starlark script which preloads the `ResourceList` to `ctx.resource_list`
-source: |
- for resource in ctx.resource_list["items"]:
- if resource.get("kind") == "Deployment":
- resource["metadata"]["annotations"]["managed-by"] = "kpt"
-```
-In the `source` field, the `ResourceList` from STDIN is loaded to `ctx.resource_list` as a dict.
-You can manipulate KRM resource as operating on a dict.
-
-### Test and Run
-
-Run the starlark script via `kpt`
-```shell
-# `starlark:v0.4` is the short form of gcr.io/kpt-fn/starlark:v0.4 catalog function.
-kpt fn eval ./data --image starlark:v0.4 --fn-config starlark-fn-config.yaml
-
-# Verify that the annotation is added to the `Deployment` resource and the other resource `Service`
-# does not have this annotation.
-cat ./data/resources.yaml | grep annotations -A1 -B5
-```
-
-?> Refer to the [Functions Catalog](https://catalog.kpt.dev/starlark/v0.4/) for
-details on how to use this function.
-
-[`gcr.io/kpt-fn/starlark:v0.4`]: https://catalog.kpt.dev/starlark/v0.4/
-[Starlark]: https://github.com/bazelbuild/starlark#starlark
\ No newline at end of file
diff --git a/site/book/06-deploying-packages/00.md b/site/book/06-deploying-packages/00.md
deleted file mode 100644
index cff3820f7e..0000000000
--- a/site/book/06-deploying-packages/00.md
+++ /dev/null
@@ -1,82 +0,0 @@
-In this chapter of this book, we are going to cover how you deploy a kpt
-package to a Kubernetes cluster and how the cluster state is managed as the
-package evolves over time.
-
-We use `kpt live apply` instead `kubectl apply` since it provides some critical
-functionality not provided by the latter: pruning and reconcile status. To
-enable this functionality, we need a cluster-side mechanism for grouping and
-tracking resources belonging to a package. This cluster-side grouping is
-implemented using a custom resource of kind `ResourceGroup`. Otherwise,
-`kpt live` and `kubectl` are complementary. For example, you can use
-`kubectl get` as you normal would.
-
-`kpt` packages can also be deployed with [GitOps](gitops/) tools.
-
-## Pruning
-
-`live apply` will automatically delete cluster resources that are no longer
-present in the local package. This clean-up functionality is called pruning.
-
-For example, consider a package which has been applied with the following three
-resources:
-
-```
-service-1 (Service)
-deployment-1 (Deployment)
-config-map-1 (ConfigMap)
-```
-
-Then imagine the package is updated to contain the following resources:
-
-```
-service-1 (Service)
-deployment-1 (Deployment)
-config-map-2 (ConfigMap)
-```
-
-When the updated package is applied, `config-map-1` is automatically deleted
-from the cluster.
-
-## Reconcile Status
-
-Kubernetes is based on an asynchronous reconciliation model. When you apply a
-resource to a cluster, you actually care about two different things:
-
-- Did the resource apply successfully (synchronous)?
-- Did the resource reconcile successfully (asynchronous)?
-
-This is referred to as _apply status_ and _reconcile status_ respectively:
-
-
-
-The `live apply` command computes the reconcile status. An example of this could
-be applying a `Deployment`. Without computing reconcile status, the operation
-would be reported as successful as soon as the resource has been created in the
-API server. With reconcile status, `live apply` will wait until the desired
-number of pods have been created and become available.
-
-For core kubernetes types, reconcile status is computed using hardcoded rules.
-For CRDs, the status computation is based on recommended [convention for status
-fields] that needs to be followed by custom resource publishers. If CRDs follow
-these conventions, `live apply` will be able to correctly compute status. `kpt` also
-has special rules for computing status for [Config Connector resources].
-
-Usually multiple resources are being applied together, and we want to know
-when all of those resources have been successfully reconciled. `live apply` computes
-the aggregate status and will wait until either they are all reconciled, the timeout
-expires, or all the remaining unreconciled resources have reached a state where they
-are unlikely to successfully reconcile. An example of the latter for `Deployment`
-resources is when the progress deadline is exceeded.
-
-## Dependency ordering
-
-Sometimes resources must be applied in a specific order. For example,
-an application might require that a database is available when it starts.
-`kpt live` lets users express these constraints on resources, and use them
-to make sure a resource has been successfully applied and reconciled before
-any resources that depend on it are applied.
-
-
-
-[convention for status fields]: /reference/schema/crd-status-convention/
-[Config Connector resources]: /reference/schema/config-connector-status-convention/
diff --git a/site/book/06-deploying-packages/01-initializing-a-package-for-apply.md b/site/book/06-deploying-packages/01-initializing-a-package-for-apply.md
deleted file mode 100644
index 28e85ecdb3..0000000000
--- a/site/book/06-deploying-packages/01-initializing-a-package-for-apply.md
+++ /dev/null
@@ -1,38 +0,0 @@
-Before you can apply the package to the cluster, it needs to be initialized
-using `live init`. This is a one-time client-side operation that adds metadata
-to the `ResourceGroup` CR (by default located in `resourcegroup.yaml` file)
-specifying the name, namespace and inventoryID of the `ResourceGroup` resource
-`live apply` command will use to store the inventory (list of the resources applied).
-
-Let's initialize the `wordpress` package:
-
-```shell
-$ kpt live init wordpress
-initializing "resourcegroup.yaml" inventory info (namespace: default)...success
-```
-
-This creates the `ResourceGroup` CR in the `resourcegroup.yaml` file:
-
-```yaml
-apiVersion: kpt.dev/v1alpha1
-kind: ResourceGroup
-metadata:
- name: inventory-74096247
- namespace: default
- labels:
- cli-utils.sigs.k8s.io/inventory-id: 0a32e2c0200b4bd4c19cd3e097086b4648b8902d-1653113657067255815
-```
-
-`ResourceGroup` is a namespace-scoped resource. By default, `live init` command
-uses heuristics to automatically choose the namespace. In this example, all the
-resources in `wordpress` package were in the `default` namespace, so it chose
-`default` for the namespace. Alternatively, you can manually configure the name
-and namespace of the `ResourceGroup` resource.
-
-?> Refer to the [init command reference][init-doc] for usage.
-
-!> Once a package is applied to the cluster, you do not want to change the
-`ResourceGroup` CR; doing so severs the association between the
-package and the inventory in the cluster, leading to destructive operations.
-
-[init-doc]: /reference/cli/live/init/
diff --git a/site/book/06-deploying-packages/02-applying-a-package.md b/site/book/06-deploying-packages/02-applying-a-package.md
deleted file mode 100644
index f09762795e..0000000000
--- a/site/book/06-deploying-packages/02-applying-a-package.md
+++ /dev/null
@@ -1,136 +0,0 @@
-Once you have initialized the package, you can deploy it using `live apply`.
-
-The `wordpress` package requires a `Secret` containing the mysql password.
-Let's create that first:
-
-```shell
-$ kubectl create secret generic mysql-pass --from-literal=password=YOUR_PASSWORD
-```
-
-!> You can also declare the `Secret` resource, but make sure it is not committed to
-Git as part of the package.
-
-Then deploy the package and wait for the resources to be reconciled:
-
-```shell
-$ kpt live apply wordpress --reconcile-timeout=2m
-installing inventory ResourceGroup CRD.
-service/wordpress created
-service/wordpress-mysql created
-deployment.apps/wordpress created
-deployment.apps/wordpress-mysql created
-persistentvolumeclaim/mysql-pv-claim created
-persistentvolumeclaim/wp-pv-claim created
-6 resource(s) applied. 6 created, 0 unchanged, 0 configured, 0 failed
-service/wordpress reconcile pending
-service/wordpress-mysql reconcile pending
-deployment.apps/wordpress reconcile pending
-deployment.apps/wordpress-mysql reconcile pending
-persistentvolumeclaim/mysql-pv-claim reconcile pending
-persistentvolumeclaim/wp-pv-claim reconcile pending
-service/wordpress reconciled
-service/wordpress-mysql reconciled
-persistentvolumeclaim/mysql-pv-claim reconciled
-persistentvolumeclaim/wp-pv-claim reconciled
-deployment.apps/wordpress-mysql reconciled
-deployment.apps/wordpress reconciled
-6 resource(s) reconciled, 0 skipped, 0 failed to reconcile, 0 timed out
-```
-
-?> Refer to the [apply command reference][apply-doc] for usage.
-
-## `ResourceGroup` CRD
-
-By default, `live apply` automatically installs the `ResourceGroup` CRD (unless
-`--dry-run` is specified) since it needs to create the associated
-`ResourceGroup` custom resource. You can also manually install the CRD before
-running `live apply`:
-
-```shell
-$ kpt live install-resource-group
-```
-
-?> Installing this CRD requires sufficient ClusterRole permission, so you may
-need to ask your cluster admin to install it for you.
-
-## Server-side vs Client-side apply
-
-By default, `live apply` command uses client-side apply. The updates are
-accomplished by calculating and sending a patch from the client. Server-side
-apply, which can be enabled with the `--server-side` flag, sends the entire
-resource to the server for the update.
-
-## Dry-run
-
-You can use the `--dry-run` flag to get break down of operations that will be
-performed when applying the package.
-
-For example, before applying the `wordpresss` package for the first time, you
-would see that 6 resources would be created:
-
-```shell
-$ kpt live apply wordpress --dry-run
-Dry-run strategy: client
-service/wordpress created
-service/wordpress-mysql created
-deployment.apps/wordpress created
-deployment.apps/wordpress-mysql created
-persistentvolumeclaim/mysql-pv-claim created
-persistentvolumeclaim/wp-pv-claim created
-6 resource(s) applied. 6 created, 0 unchanged, 0 configured, 0 failed
-0 resource(s) pruned, 0 skipped, 0 failed
-```
-
-When combined with server-side apply, the resources in the package pass through
-all the validation steps on the API server.
-
-## Observe the package
-
-After you have deployed the package, you can get its current status at any time:
-
-```shell
-$ kpt live status wordpress
-service/wordpress is Current: Service is ready
-service/wordpress-mysql is Current: Service is ready
-deployment.apps/wordpress is Current: Deployment is available. Replicas: 1
-deployment.apps/wordpress-mysql is Current: Deployment is available. Replicas: 1
-persistentvolumeclaim/mysql-pv-claim is Current: PVC is Bound
-persistentvolumeclaim/wp-pv-claim is Current: PVC is Bound
-```
-
-?> Refer to the [status command reference][status-doc] for usage.
-
-## Delete the package
-
-To delete all the resources in a package, you can use the `live destroy`
-command:
-
-```shell
-$ kpt live destroy wordpress
-persistentvolumeclaim/wp-pv-claim deleted
-persistentvolumeclaim/mysql-pv-claim deleted
-deployment.apps/wordpress-mysql deleted
-deployment.apps/wordpress deleted
-service/wordpress-mysql deleted
-service/wordpress deleted
-6 resource(s) deleted, 0 skipped, 0 failed to delete
-persistentvolumeclaim/wp-pv-claim reconcile pending
-persistentvolumeclaim/mysql-pv-claim reconcile pending
-deployment.apps/wordpress-mysql reconcile pending
-deployment.apps/wordpress reconcile pending
-service/wordpress-mysql reconcile pending
-service/wordpress reconcile pending
-deployment.apps/wordpress-mysql reconciled
-deployment.apps/wordpress reconciled
-service/wordpress-mysql reconciled
-service/wordpress reconciled
-persistentvolumeclaim/mysql-pv-claim reconciled
-persistentvolumeclaim/wp-pv-claim reconciled
-6 resource(s) reconciled, 0 skipped, 0 failed to reconcile, 0 timed out
-```
-
-?> Refer to the [destroy command reference][destroy-doc] for usage.
-
-[apply-doc]: /reference/cli/live/apply/
-[status-doc]: /reference/cli/live/status/
-[destroy-doc]: /reference/cli/live/destroy/
diff --git a/site/book/06-deploying-packages/03-handling-dependencies.md b/site/book/06-deploying-packages/03-handling-dependencies.md
deleted file mode 100644
index 4451de43ac..0000000000
--- a/site/book/06-deploying-packages/03-handling-dependencies.md
+++ /dev/null
@@ -1,89 +0,0 @@
-Sometimes resources within a package have dependencies that require
-one resource to be applied and reconciled before another resource.
-For example, a package that includes both Wordpress and MySQL might
-require that the MySQL `StatefulSet` is running before the Wordpress
-`Deployment` is started.
-
-In kpt, this is supported by declaring dependencies with the
-`config.kubernetes.io/depends-on` annotation.
-
-Let's take a look at the `wordpress-with-dependencies` package, a modified
-version of the `wordpress` package used earlier:
-
-```shell
-$ kpt pkg get https://github.com/kptdev/kpt.git/package-examples/wordpress-with-dependencies@v0.1
-```
-
-You can see that the resources belonging to wordpress have
-the `depends-on` annotation referencing the MySQL `StatefulSet`:
-
-```yaml
-# wordpress-with-dependencies/deployment/deployment.yaml (Excerpt)
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: wordpress
- namespace: default
- labels:
- app: wordpress
- annotations:
- config.kubernetes.io/depends-on: apps/namespaces/default/StatefulSet/wordpress-mysql
-```
-
-The syntax for the resource references are:
- * For namespaced resources: `/namespaces///`
- * For cluster-scoped resources: `//`
-
-Before you can deploy the package, you need to initialize it and create a `Secret`
-containing the mysql password:
-
-```shell
-$ kpt live init wordpress-with-dependencies
-initializing Kptfile inventory info (namespace: default)...success
-
-$ kubectl create secret generic mysql-pass --from-literal=password=YOUR_PASSWORD
-```
-
-You can deploy the package just like other packages. You can see that the MySQL `StatefulSet`
-and `Service` are created and reconciled before the Wordpress `Deployment` and `Service` are applied.
-
-```shell
-$ kpt live apply wordpress-with-dependencies --reconcile-timeout=2m
-service/wordpress-mysql created
-statefulset.apps/wordpress-mysql created
-service/wordpress-mysql reconcile pending
-statefulset.apps/wordpress-mysql reconcile pending
-service/wordpress-mysql reconciled
-statefulset.apps/wordpress-mysql reconciled
-service/wordpress created
-deployment.apps/wordpress created
-4 resource(s) applied. 4 created, 0 unchanged, 0 configured, 0 failed
-service/wordpress reconcile pending
-deployment.apps/wordpress reconcile pending
-service/wordpress reconciled
-deployment.apps/wordpress reconciled
-4 resource(s) reconciled, 0 skipped, 0 failed to reconcile, 0 timed out
-```
-
-When you delete the package from the cluster, you can see that
-resources are deleted in reverse order:
-```shell
-$ kpt live destroy wordpress-with-dependencies
-deployment.apps/wordpress deleted
-service/wordpress deleted
-deployment.apps/wordpress reconciled
-service/wordpress reconciled
-statefulset.apps/wordpress-mysql deleted
-service/wordpress-mysql deleted
-4 resource(s) deleted, 0 skipped, 0 failed to delete
-statefulset.apps/wordpress-mysql reconcile pending
-service/wordpress-mysql reconcile pending
-statefulset.apps/wordpress-mysql reconciled
-service/wordpress-mysql reconciled
-4 resource(s) reconciled, 0 skipped, 0 failed to reconcile, 0 timed out
-```
-
-See [depends-on] for more information.
-
-[depends-on]:
- /reference/annotations/depends-on/
diff --git a/site/book/07-effective-customizations/00.md b/site/book/07-effective-customizations/00.md
deleted file mode 100644
index 3c699224db..0000000000
--- a/site/book/07-effective-customizations/00.md
+++ /dev/null
@@ -1,19 +0,0 @@
-Kubernetes configuration packages and customizations go hand in hand, all the
-packaging tools enable package customization, since every package needs to be adapted to each specific use. In this chapter we cover effective
-customizations techniques that kpt rendering and packaging enables. We show how
-providing customization through parameters has some [pitfalls] and recommend
-alternatives where the contents of the package are not hidden behind a facade.
-Some of these alternatives are only possible because kpt has made an investment
-into bulk editing with [KRM functions] and upstream merging.
-
-### Prerequisites
-
-Before reading this chapter you should familiarize yourself with [chapter 4]
-which talks about using functions as well as [updating a package page] in
-[chapter 3].
-
-[chapter 4]: /book/04-using-functions/
-[chapter 3]: /book/03-packages/
-[pitfalls]: https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/declarative-application-management.md#parameterization-pitfalls
-[KRM functions]: https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md
-[updating a package page]: /book/03-packages/05-updating-a-package.md
\ No newline at end of file
diff --git a/site/book/07-effective-customizations/01-single-value-replacement.md b/site/book/07-effective-customizations/01-single-value-replacement.md
deleted file mode 100644
index 970f75a8ca..0000000000
--- a/site/book/07-effective-customizations/01-single-value-replacement.md
+++ /dev/null
@@ -1,137 +0,0 @@
-## Scenario
-
-I have a single value replacement in my package. I don’t want package consumers
-to look through all the yaml files to find the value I want them to set. It
-seems easier to just create a parameter for this value and have the user look
-at Kptfile for inputs.
-
-Example storage bucket:
-
-```yaml
-apiVersion: storage.cnrm.cloud.google.com/v1beta1
-kind: StorageBucket
-metadata:
- name: my-bucket # kpt-set: ${project-id}-${name}
- namespace: ns-test # kpt-set: ${namespace}
- annotations:
- cnrm.cloud.google.com/force-destroy: "false"
- cnrm.cloud.google.com/project-id: my-project # kpt-set: ${project-id}
-spec:
- storageClass: standard # kpt-set: ${storage-class}
- uniformBucketLevelAccess: true
- versioning:
- enabled: false
-```
-
-The corresponding Kptfile:
-
-```yaml
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: bucket
-info:
- description: A Google Cloud Storage bucket
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/apply-setters:v0.2
- configMap:
- name: todo-bucket-name
- namespace: todo-namespace
- project-id: todo-project-id
- storage-class: standard
-```
-
-
-## Problems
-
-1. With package popularity the single values inevitably expand to provide a
-facade to a large portion of the data. That defeats the purpose of minimizing
-the cognitive load. With this small example almost half of the StorageBucket configuration is now covered with parameters.
-1. Some values like resource names are used as references so setting them in
-one place needs to trigger updates in all the places where they are referenced.
-1. If additional resources that have similar values are added to the package
-new string replacements need to be added. In this case everything will need
-to also be marked up with project ID and namespace.
-1. If a package is used as a sub-package the string replacement parameters need
-to be surfaced to the parent package and if the parent package already expects
-some values to be set and the parameters do not exist, the sub-package needs to
-be updated.
-
-## Solutions:
-
-1. kpt allows the user to edit a particular value directly in the configuration
-data and will handle upstream merge. When [editing the yaml] directly the
-consumers are not confined to the parameters that the package author has
-provided. [kpt pkg update] merges the local edits made by consumer with the
-changes in the upstream package made by publisher. In this case `storageClass`
-can be set directly by the user.
-1. Attributes like resource names which are often updated by consumers to add
-prefix or suffix (e.g. *-dev, *-stage, *-prod, na1-*, eu1-*) are best handled
-by the [ensure-name-substring] function that will handle dependency updates as
-well as capture all the resources in the package.
-1. Instead of setting a particular value on a resource a bulk operation can be
-applied to all the resources that fit a particular interface. This can be done
-by a custom function or by [set-namespace], [search-and-replace] , [set-labels]
-and [set-annotations] functions.
-
-New bucket configuration:
-
-```yaml
-apiVersion: storage.cnrm.cloud.google.com/v1beta1
-kind: StorageBucket
-metadata:
- name: bucket
- annotations:
- cnrm.cloud.google.com/force-destroy: "false"
-spec:
- storageClass: standard
- uniformBucketLevelAccess: true
- versioning:
- enabled: false
-```
-
-The suggested customizations are now in the Kptfile:
-
-```yaml
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: bucket
-info:
- description: A Google Cloud Storage bucket
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-namespace:v0.2.0
- configMap:
- namespace: example-ns
- - image: gcr.io/kpt-fn/ensure-name-substring:v0.1.1
- configMap:
- prepend: project111-
- - image: gcr.io/kpt-fn/set-annotations:v0.1.4
- configMap:
- cnrm.cloud.google.com/project-id: project111
-```
-
-The resource configuration YAML doesn't need to be marked up with where the
-namespace value needs to go. The [set-namespace] function is smart enough to
-find all the appropriate resources that need the namespace.
-
-We have put in the starter name `bucket` and have an [ensure-name-substring]
-that shows the package consumer that the project ID prefix is what we suggest.
-However if they have a different naming convention they can alter the name
-prefix or suffix on all the resources in the package.
-
-Since we are trying to set the annotation to the project ID we can use the
-[set-annotations] function one time and the annotation are going to be set on
-all the resources in the package. If we add additional resources or whole
-sub packages we will get the consistent annotations across all resources
-without having to find all the places where annotations can go.
-
-[editing the yaml]: /book/03-packages/03-editing-a-package
-[kpt pkg update]: /book/03-packages/05-updating-a-package
-[ensure-name-substring]: https://catalog.kpt.dev/ensure-name-substring/v0.1/
-[search-and-replace]: https://catalog.kpt.dev/search-replace/v0.2/
-[set-labels]: https://catalog.kpt.dev/set-labels/v0.1/
-[set-annotations]: https://catalog.kpt.dev/set-annotations/v0.1/
-[set-namespace]: https://catalog.kpt.dev/set-namespace/v0.2/
\ No newline at end of file
diff --git a/site/book/07-effective-customizations/02-limiting-package-changes.md b/site/book/07-effective-customizations/02-limiting-package-changes.md
deleted file mode 100644
index c7aa4bb0e3..0000000000
--- a/site/book/07-effective-customizations/02-limiting-package-changes.md
+++ /dev/null
@@ -1,113 +0,0 @@
-## Scenario:
-
-I’d like to limit what my package consumers can do with my package and it feels
-safer to just provide a string replacement in one place so they know not to
-alter the configuration outside of the few places that I designated as OK
-places to change.
-
-Example deployment:
-```yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata: # kpt-merge: /nginx-deploy
- name: nginx-deploy
-spec:
- selector:
- matchLabels:
- app: nginx
- template:
- metadata:
- labels:
- app: nginx
- spec:
- containers:
- - name: backend
- image: nginx:1.16.1 # kpt-set: nginx:${tag}
-```
-
-kpt configuration that uses a setter:
-```yaml
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: dont-change-much
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/apply-setters:v0.2.0
- configMap:
- tag: 1.21
-```
-
-## Problems:
-
-1. The limitation by parameters does not guarantee that consumers are in fact
-going to limit their changes to the parameters. A popular pattern is using
-kustomize to change output of other tools no matter what parameters had. In
-this particular case I am able to fork or patch this package and add:
-
-```yaml
-securityContext:
- runAsNonRoot: false
-```
-
-2. String replacements rarely describe the intent of the package author.
-When additional resources are added I need additional places where parameters
-need to be applied. I can easily add other containers to this deployment and
-the package author's rules are not clear and not easily validated.
-
-## Solutions:
-
-1. General ways to describe policy already exist. kpt has a [gatekeeper]
-function that allows the author to describe intended limitations for a class
-of resources or the entire package giving the consumer the freedom to customize
-and get an error or a warning when the policy is violated.
-
-In the sample provided by the function we see how to provide a policy that will
-clearly describe the intent using rego:
-
-```yaml
-apiVersion: templates.gatekeeper.sh/v1
-kind: ConstraintTemplate
-metadata: # kpt-merge: /disallowroot
- name: disallowroot
-spec:
- crd:
- spec:
- names:
- kind: DisallowRoot
- targets:
- - target: admission.k8s.gatekeeper.sh
- rego: |-
- package disallowroot
- violation[{"msg": msg}] {
- not input.review.object.spec.template.spec.securityContext.runAsNonRoot
- msg := "Containers must not run as root"
- }
----
-apiVersion: constraints.gatekeeper.sh/v1beta1
-kind: DisallowRoot
-metadata: # kpt-merge: /disallowroot
- name: disallowroot
-spec:
- match:
- kinds:
- - apiGroups:
- - 'apps'
- kinds:
- - Deployment
-```
-
-The Kptfile can enforce that resources comply with this policy every time
-`kpt fn render` is used:
-
-```yaml
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: gatekeeper-disallow-root-user
-pipeline:
- validators:
- - image: gcr.io/kpt-fn/gatekeeper:v0.2
-```
-
-[gatekeeper]: https://catalog.kpt.dev/gatekeeper/v0.2/
diff --git a/site/book/07-effective-customizations/03-generation.md b/site/book/07-effective-customizations/03-generation.md
deleted file mode 100644
index 4393d08d07..0000000000
--- a/site/book/07-effective-customizations/03-generation.md
+++ /dev/null
@@ -1,29 +0,0 @@
-## Scenario:
-
-When using template languages I am able to provide conditional statements based
-on parameter values. This allows me to ask the user for a little bit of
-information and generate a lot of boilerplate configuration. Some template
-languages like [Jinja] are very robust and feature rich.
-
-## Problems:
-
-1. Increased usage and additional edge cases make a template a piece of code
-that requires testing and debugging.
-1. The interplay between different conditionals and loops is interleaved in the template making it hard to understand what exactly is configuration and what is
-the logic that alters the configuration. The consumer is left with one choice
-supply different parameter values, execute the template rendering code and see
-what happens.
-1. Templates are generally monolithic, when a change is introduced the package consumers need to either pay the cost of updating or the new consumers pay the
-cost of having to decipher more optional parameters.
-
-## Solutions:
-
-1. When the generated configuration is simple consider just using a sub-package
-and running customizations using [single value replacement] techniques.
-1. When a complex configuration needs to be generated the package author can
-create a generator function using turing complete languages and debugging tools. Example of such a function is [folder generation]. The output of the function
-is plain old KRM.
-
-[folder generation]: https://catalog.kpt.dev/generate-folders/v0.1/
-[Jinja]: https://palletsprojects.com/p/jinja/
-[single value replacement]: /book/07-effective-customizations/01-single-value-replacement.md
\ No newline at end of file
diff --git a/site/book/08-package-orchestration/00.md b/site/book/08-package-orchestration/00.md
deleted file mode 100644
index 0e8fc62d03..0000000000
--- a/site/book/08-package-orchestration/00.md
+++ /dev/null
@@ -1,28 +0,0 @@
-In this chapter, we are going to cover _package orchestration_ - management
-of package lifecycle supported by the kpt toolchain and Porch - Package
-Orchestration service.
-
-Package Orchestration encompasses management of the overall lifecycle of
-configuration [**packages**](/book/02-concepts/01-packages), including:
-
-* management of package repositories
-* discovery of configuration packages and kpt
- [**functions**](/book/02-concepts/03-functions)
-* creating, modifying, updating, and deleting packages
-* versioning packages
-* WYSIWYG package authoring
-* package customization with _guardrails_
-* evaluation of functions on package contents
-* approval flow to publish a change to a configuration package
-* deployment and rollouts
-
-Package Orchestration enables [workflows](/book/02-concepts/02-workflows)
-similar to those supported by the kpt CLI, but makes them available as a
-service. This enables creation of WYSIWYG user experiences, similar to the
-proof-of-concept [Backstage plugin](/guides/namespace-provisioning-ui).
-
-Dedicated user guides are available for the use of Porch with the
-[Backstage UI](/guides/namespace-provisioning-ui) and
-the [kpt cli](/guides/porch-user-guide). In the following sections
-of the book you will follow the basic journey of discovering and authoring
-configuration packages using Porch - the Package Orchestration service.
diff --git a/site/book/08-package-orchestration/01-system-requirements.md b/site/book/08-package-orchestration/01-system-requirements.md
deleted file mode 100644
index a2a5989c97..0000000000
--- a/site/book/08-package-orchestration/01-system-requirements.md
+++ /dev/null
@@ -1,8 +0,0 @@
-In order to follow the package orchestration examples, you will need:
-
-* the Package Orchestration service (Porch)
- [installed](https://kpt.dev/guides/porch-installation) in your Kubernetes
- cluster and [kubectl context][kubeconfig] configured with your cluster.
-* kpt CLI [installed](/installation/) on your system
-
-[kubeconfig]: https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/
diff --git a/site/book/08-package-orchestration/02-quickstart.md b/site/book/08-package-orchestration/02-quickstart.md
deleted file mode 100644
index bf72bcc10a..0000000000
--- a/site/book/08-package-orchestration/02-quickstart.md
+++ /dev/null
@@ -1,213 +0,0 @@
-In this quickstart you will use Porch to discover configuration packages
-in a [sample repository](https://github.com/kptdev/kpt-samples).
-
-You will use the kpt CLI - the new `kpt alpha` command sub-groups to interact
-with the Package Orchestration service.
-
-## Register the repository
-
-Start by registering the sample repository with Porch. The repository already
-contains a [`basens`][basens] package.
-
-```sh
-# Register a sample Git repository:
-$ kpt alpha repo register --namespace default \
- https://github.com/kptdev/kpt-samples.git
-```
-
-?> Refer to the [register command reference][register-doc] for usage.
-
-The sample repository is public and Porch therefore doesn't require
-authentication to read the repository and discover packages within it.
-
-You can confirm the repository is now registered with Porch by using the
-`kpt alpha repo get` command. Similar to `kubectl get`, the command will list
-all repositories registered with Porch, or get information about specific ones
-if list of names is provided
-
-```sh
-# Query repositories registered with Porch:
-$ kpt alpha repo get
-NAME TYPE CONTENT DEPLOYMENT READY ADDRESS
-kpt-samples git Package True https://github.com/kptdev/kpt-samples.git
-```
-
-?> Refer to the [get command reference][get-doc] for usage.
-
-From the output you can see that:
-
-* the repository was registered by the name `kpt-samples`. This was chosen
- by kpt automatically from the repository URL, but can be overridden
-* it is a `git` repository (OCI repositories are also supported, though
- currently with some limitations)
-* the repository is *not* a deployment repository. Repository can be marked
- as deployment repository which indicates that packages in the repository are
- intended to be deployed into live state.
-* the repository is ready - Porch successfully registered it and discovered
- packages stored in the repository.
-
-The Package Orchestration service is designed to be part of the Kubernetes
-ecosystem. The [resources] managed by Porch are KRM resources.
-
-You can use the `-oyaml` to see the YAML representation of the repository
-registration resource:
-
-?> kpt uses the same output format flags as `kubectl`. Flags with which you are
-already familiar from using `kubectl get` will work with the kpt commands
-that get or list Porch resources.
-
-```sh
-# View the Repository registration resource as YAML:
-$ kpt alpha repo get kpt-samples --namespace default -oyaml
-apiVersion: config.porch.kpt.dev/v1alpha1
-kind: Repository
-metadata:
- name: kpt-samples
- namespace: default
-spec:
- content: Package
- git:
- branch: main
- directory: /
- repo: https://github.com/kptdev/kpt-samples.git
- secretRef:
- name: ""
- type: git
-status:
- conditions:
- - reason: Ready
- status: "True"
- type: Ready
-```
-
-Few additional details are available in the YAML listing:
-
-The name of the `main` branch and a directory. These specify location within
-the repository where Porch will be managing packages. Porch also analyzes tags
-in the repository to identify all packages (and their specific versions), all
-within the directory specified. By default Porch will analyze the whole
-repository.
-
-The `secretRef` can contain a name of a Kubernetes [Secret][secret] resource
-with authentication credentials for Porch to access the repository.
-
-### kubectl
-
-Thanks to the integration with Kubernetes ecosystem, you can also use `kubectl`
-directly to interact with Porch, such as listing repository resources:
-
-```sh
-# List registered repositories using kubectl
-$ kubectl get repository
-NAME TYPE CONTENT DEPLOYMENT READY ADDRESS
-kpt-samples git Package True https://github.com/kptdev/kpt-samples.git
-```
-
-You can use kubectl for _all_ interactions with Porch server if you prefer.
-The kpt CLI integration provides a variety of convenience features.
-
-## Discover packages
-
-You can use the `kpt alpha rpkg get` command to list the packages discovered
-by Porch across all registered repositories.
-
-```sh
-# List package revisions in registered repositories
-$ kpt alpha rpkg get
-NAME PACKAGE REVISION LATEST LIFECYCLE REPOSITORY
-kpt-samples-da07e9611f9b99028f761c07a79e3c746d6fc43b basens main false Published kpt-samples
-kpt-samples-afcf4d1fac605a60ba1ea4b87b5b5b82e222cb69 basens v0 true Published kpt-samples
-```
-
-?> Refer to the [get command reference][get-doc] for usage.
-
-?> The `r` prefix of the `rpkg` command group stands for `remote`. The commands
-in the `kpt alpha rpkg` group interact with packages managed (remotely) by Porch
-server. The commands in the `rpkg` group are similar to the `kpt pkg` commands
-except that they operate on remote packages managed by Porch server rather than
-on a local disk.
-
-The output shows that Porch discovered the `basens` package, and found two
-different revisions of it. The `v0` revision (associated with the
-[`basens/v0`][basens-v0] tag) and the `main` revision associated with the
-[`main` branch][main-branch] in the repository.
-
-The `LIFECYCLE` column indicates the lifecycle stage of the package revision.
-The package revisions in the repository are *`Published`* - ready to be used.
-Package revision may be also *`Draft`* (the package revision is being authored)
-or *`Proposed`* (the author of the package revision proposed that it be
-published). We will encounter examples of these
-
-Porch identifies the latest revision of the package (`LATEST` column).
-
-### View package resources
-
-The `kpt alpha rpkg get` command displays package metadata. To view the
-_contents_ of the package revision, use the `kpt alpha rpkg pull` command.
-
-You can use the command to output the resources as a
-[`ResourceList`][resourcelist] on standard output, or save them into a local
-directory:
-
-```sh
-# View contents of the basens/v0 package revision
-$ kpt alpha rpkg pull kpt-samples-afcf4d1fac605a60ba1ea4b87b5b5b82e222cb69 -ndefault
-
-apiVersion: config.kubernetes.io/v1
-kind: ResourceList
-items:
-- apiVersion: kpt.dev/v1
- kind: Kptfile
- metadata:
- name: basens
- annotations:
-...
-```
-
-Add a name of a local directory on the command line to save the package onto
-local disk for inspection or editing.
-
-```sh
-# Pull package revision resources, save to local disk into `./basens` directory
-$ kpt alpha rpkg pull kpt-samples-afcf4d1fac605a60ba1ea4b87b5b5b82e222cb69 ./basens -ndefault
-
-# Explore the package contents
-$ find basens
-
-basens
-basens/README.md
-basens/namespace.yaml
-basens/Kptfile
-...
-```
-
-?> Refer to the [pull command reference][pull-doc] for usage.
-
-## Unregister the repository
-
-When you are done using the repository with Porch, you can unregister it:
-
-```sh
-# Unregister the repository
-$ kpt alpha repo unregister kpt-samples -ndefault
-```
-
-## More resources
-
-To continue learning about Porch, you can review:
-
-* [Porch User Guide](/guides/porch-user-guide)
-* [Provisioning Namespaces with the UI](/guides/namespace-provisioning-ui)
-* [Porch Design Document][design]
-
-[basens]: https://github.com/kptdev/kpt-samples/tree/main/basens
-[register-doc]: /reference/cli/alpha/repo/reg/
-[get-doc]: /reference/cli/alpha/repo/get/
-[pull-doc]: /reference/cli/alpha/rpkg/pull/
-[unregister-doc]: /reference/cli/alpha/repo/unreg/
-[resources]: /guides/porch-user-guide
-[secret]: https://kubernetes.io/docs/concepts/configuration/secret/
-[basens-v0]: https://github.com/kptdev/kpt-samples/tree/basens/v0
-[main-branch]: https://github.com/kptdev/kpt-samples/tree/main
-[resource-list]: /reference/schema/resource-list/
-[design]: https://github.com/kptdev/kpt/blob/main/docs/design-docs/07-package-orchestration.md
diff --git a/site/book/08-package-orchestration/03-registering-a-repository.md b/site/book/08-package-orchestration/03-registering-a-repository.md
deleted file mode 100644
index 3dac7edc03..0000000000
--- a/site/book/08-package-orchestration/03-registering-a-repository.md
+++ /dev/null
@@ -1,63 +0,0 @@
-In the following sections of this chapter you will explore package authoring
-using Porch. You will need:
-
-* A GitHub repository for your blueprints. An otherwise empty repository with an
- initial commit works best. The initial commit is required to establish the
- `main` branch.
-* A GitHub [Personal Access Token](https://github.com/settings/tokens) with
- the `repo` scope for Porch to authenticate with the repository and allow it
- to create commits in the repository.
-
-A repository is a porch representation of either a git repo or an oci registry.
-Package revisions always belong to a single repository. A repository exists in
-a Kubernetes namespace and all package revisions in a repo also belong to
-the same namespace.
-
-Use the `kpt alpha repo register` command to register your repository with
-Porch: The command below uses the repository `deployments.git`.
-Your repository name may be different; please update the command with the
-correct repository name.
-
-```sh
-# Register your Git repository:
-
-GITHUB_USERNAME=
-GITHUB_TOKEN=
-REPOSITORY_ADDRESS=
-
-$ kpt alpha repo register \
- --namespace default \
- --name deployments \
- --deployment \
- --repo-basic-username=${GITHUB_USERNAME} \
- --repo-basic-password=${GITHUB_TOKEN} \
- ${REPOSITORY_ADDRESS}
-```
-
-And register the sample repository we used in the [quickstart](./02-quickstart):
-
-```sh
-# Register the sample repository:
-
-kpt alpha repo register --namespace default \
- https://github.com/kptdev/kpt-samples.git
-```
-
-?> Refer to the [register command reference][register-doc] for usage.
-
-You now have two repositories registered, and your repository is marked as
-deployment repository. This indicates that published packages in the repository
-are considered deployment-ready.
-
-```sh
-# Query repositories registered with Porch:
-$ kpt alpha repo get
-NAME TYPE CONTENT DEPLOYMENT READY ADDRESS
-deployments git Package true True [Your repository address]
-kpt-samples git Package True https://github.com/kptdev/kpt-samples.git
-```
-
-?> Refer to the [get command reference][get-doc] for usage.
-
-[register-doc]: /reference/cli/alpha/repo/reg/
-[get-doc]: /reference/cli/alpha/repo/get/
diff --git a/site/book/08-package-orchestration/04-package-authoring.md b/site/book/08-package-orchestration/04-package-authoring.md
deleted file mode 100644
index eb3ed56261..0000000000
--- a/site/book/08-package-orchestration/04-package-authoring.md
+++ /dev/null
@@ -1,311 +0,0 @@
-There are several ways to author a package revision, including creating
-a completely new one, cloning an existing package, or creating a new revision
-of an existing package. In this section we will explore the different ways to
-author package revisions, and explore how to modify package contents.
-
-## Create a new package revision
-
-Create a new package revision in a repository managed by Porch:
-
-```sh
-# Initialize a new (empty) package revision:
-$ kpt alpha rpkg init new-package --repository=deployments --revision=v1 -ndefault
-
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 created
-
-# List the available package revisions.
-$ kpt alpha rpkg get
-
-NAME PACKAGE REVISION LATEST LIFECYCLE REPOSITORY
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 new-package v1 false Draft deployments
-kpt-samples-da07e9611f9b99028f761c07a79e3c746d6fc43b basens main false Published kpt-samples
-kpt-samples-afcf4d1fac605a60ba1ea4b87b5b5b82e222cb69 basens v0 true Published kpt-samples
-...
-```
-
-?> Refer to the [init command reference][rpkg-init] for usage.
-
-You can see the `new-package` is created in the `Draft` lifecycle stage. This
-means that the package is being authored.
-
-> You may notice that the name of the package revision
-> `deployments-c32b851b591b860efda29ba0e006725c8c1f7764` was assigned
-> automatically. Packages in a git repository may be located in subdirectories
-> and to make sure Porch works well with the rest of the Kubernetes ecosystem,
-> the resource names must meet Kubernetes requirements. The resource names
-> assigned by Porch are stable, and computed as hash of the repository name,
-> directory path within the repository, and revision.
-
-The contents of the new package revision are the same as if it was created using
-the [`kpt pkg init`](/book/03-packages/06-creating-a-package) command, except it
-was created by the Package Orchestration service in your repository.
-
-In fact, if you check your Git repository, you will see a new branch called
-`drafts/new-package/v1` which Porch created for the draft authoring. You will
-also see one or more commits made into the branch by Porch on your behalf.
-
-## Clone an existing package
-
-Another way to create a new package revision is by cloning an already existing
-package. The existing package is referred to as *upstream* and the newly created
-package is *downstream*.
-
-Use `kpt alpha rpkg clone` command to create a new *downstream* package
-`istions` by cloning the sample `basens/v0` package revision:
-
-```sh
-# Clone an upstream package to create a downstream package
-$ kpt alpha rpkg clone \
- kpt-samples-afcf4d1fac605a60ba1ea4b87b5b5b82e222cb69 \
- istions \
- --repository=deployments -ndefault
-
-deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b created
-
-# Confirm the package revision was created
-kpt alpha rpkg get deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b -ndefault
-NAME PACKAGE REVISION LATEST LIFECYCLE REPOSITORY
-deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b istions v1 false Draft deployments
-```
-
-?> Refer to the [clone command reference][rpkg-clone] for usage.
-
-Cloning a package using the Package Orchestration service is an action similar to
-[`kpt pkg get`](/book/03-packages/01-getting-a-package) command. Porch will
-create the appropriate upstream package links in the new package's `Kptfile`.
-Let's take a look:
-
-```sh
-# Examine the new package's upstream link (the output has been abbreviated):
-$ kpt alpha rpkg pull deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b -ndefault
-
-kpt alpha rpkg pull deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b -ndefault
-apiVersion: config.kubernetes.io/v1
-kind: ResourceList
-items:
-- apiVersion: kpt.dev/v1
- kind: Kptfile
- metadata:
- name: istions
- upstream:
- type: git
- git:
- repo: https://github.com/kptdev/kpt-samples.git
- directory: basens
- ref: basens/v0
- upstreamLock:
- type: git
- git:
- repo: https://github.com/kptdev/kpt-samples.git
- directory: basens
- ref: basens/v0
- commit: 026dfe8e3ef8d99993bc8f7c0c6ba639faa9a634
- info:
- description: kpt package for provisioning namespace
-...
-```
-
-You can find out more about the `upstream` and `upstreamLock` sections of the
-`Kptfile` in an [earlier chapter](/book/03-packages/01-getting-a-package)
-of the book.
-
-> A cloned package must be created in a repository in the same namespace as
-> the source package. Cloning a package with the Package Orchestration Service
-> retains a reference to the upstream package revision in the clone, and
-> cross-namespace references are not allowed. Package revisions in repositories
-> in other namespaces can be cloned using a reference directly to the underlying
-> oci or git repository as described below.
-
-You can also clone a package from a repository that is _not_ registered with
-Porch, for example:
-
-```sh
-# Clone a package from Git repository directly (repository is not registered)
-$ kpt alpha rpkg clone \
- https://github.com/GoogleCloudPlatform/blueprints.git/catalog/bucket@main my-bucket \
- --repository=deployments \
- --namespace=default
-
-deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 created
-
-# Confirm the package revision was created
-$ kpt alpha rpkg get deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 -ndefault
-NAME PACKAGE REVISION LATEST LIFECYCLE REPOSITORY
-deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 my-bucket v1 false Draft deployments
-```
-
-## Create a new revision of an existing package
-
-Finally, with Porch you can create a new revision of an existing,
-**`Published`** package. All the package revisions in your repository are
-**`Draft`** revisions and need to be published first. We will cover the package
-approval flow in more detail in the next section. For now we will quickly
-propose and approve one of our draft package revisions and create a new revision
-from it.
-
-```sh
-# Propose the package draft to be published
-$ kpt alpha rpkg propose deployments-c32b851b591b860efda29ba0e006725c8c1f7764 -ndefault
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 proposed
-
-# Approve the proposed package revision for publishing
-$ kpt alpha rpkg approve deployments-c32b851b591b860efda29ba0e006725c8c1f7764 -ndefault
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 approved
-```
-
-You now have a **`Published`** package revision in the repository managed by Porch
-and next you will create a new revision of it. A **`Published`** package is ready
-to be used, such as deployed or copied.
-
-```sh
-# Confirm the package is published:
-$ kpt alpha rpkg get deployments-c32b851b591b860efda29ba0e006725c8c1f7764 -ndefault
-NAME PACKAGE REVISION LATEST LIFECYCLE REPOSITORY
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 new-package v1 true Published deployments
-```
-
-Copy the existing, **`Published`** package revision to create a **`Draft`** of
-a new package revision that you can further customize:
-
-```sh
-# Copy the published package:
-$ kpt alpha rpkg copy deployments-c32b851b591b860efda29ba0e006725c8c1f7764 \
- -ndefault --revision v2
-deployments-93bb9ac8c2fb7a5759547a38f5f48b369f42d08a created
-
-# List all revisions of the new-package that we just copied:
-$ kpt alpha rpkg get --name new-package
-NAME PACKAGE REVISION LATEST LIFECYCLE REPOSITORY
-deployments-af86ae3c767b0602a198856af513733e4e37bf10 new-package main false Published deployments
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 new-package v1 true Published deployments
-deployments-93bb9ac8c2fb7a5759547a38f5f48b369f42d08a new-package v2 false Draft deployments
-```
-
-?> Refer to the [copy command reference][rpkg-copy] for usage.
-
-Unlike `clone` of a package which establishes the upstream-downstream
-relationship between the respective packages, and updates the `Kptfile`
-to reflect the relationship, the `copy` command does *not* change the
-upstream-downstream relationships. The copy of a package shares the same
-upstream package as the package from which it was copied. Specifically,
-in this case both `new-package/v1` and `new-package/v2` have identical contents,
-including upstream information, and differ in revision only.
-
-## Editing package revision resources
-
-One of the driving motivations for the Package Orchestration service is enabling
-WYSIWYG authoring of packages, including their contents, in highly usable UIs.
-Porch therefore supports reading and updating package *contents*.
-
-In addition to using a [UI](/guides/namespace-provisioning-ui) with Porch, we
-can change the package contents by pulling the package from Porch onto the local
-disk, make any desired changes, and then pushing the updated contents to Porch.
-
-```sh
-# Pull the package contents of istions/v1 onto the local disk:
-$ kpt alpha rpkg pull deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b ./istions -ndefault
-```
-
-?> Refer to the [pull command reference][rpkg-pull] for usage.
-
-The command downloaded the `istions/v1` package revision contents and saved
-them in the `./istions` directory. Now you will make some changes.
-
-First, note that even though Porch updated the namespace name (in
-`namespace.yaml`) to `istions` when the package was cloned, the `README.md`
-was not updated. Let's fix it first.
-
-Open the `README.md` in your favorite editor and update its contents, for
-example:
-
-```
-# istions
-
-## Description
-kpt package for provisioning Istio namespace
-```
-
-In the second change, add a new mutator to the `Kptfile` pipeline. Use the
-[set-labels](https://catalog.kpt.dev/set-labels/v0.1/) function which will add
-labels to all resources in the package. Add the following mutator to the
-`Kptfile` `pipeline` section:
-
-```yaml
- - image: gcr.io/kpt-fn/set-labels:v0.1.5
- configMap:
- color: orange
- fruit: apple
-```
-
-The whole `pipeline` section now looks like this:
-
-```yaml
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-namespace:v0.4.1
- configPath: package-context.yaml
- - image: gcr.io/kpt-fn/apply-replacements:v0.1.1
- configPath: update-rolebinding.yaml
- - image: gcr.io/kpt-fn/set-labels:v0.1.5
- configMap:
- color: orange
- fruit: apple
-```
-
-Save the changes and push the package contents back to the server:
-
-```sh
-# Push updated package contents to the server
-$ kpt alpha rpkg push deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b ./istions -ndefault
-```
-
-?> Refer to the [push command reference][rpkg-push] for usage.
-
-Now, pull the contents of the package revision again, and inspect one of the
-configuration files.
-
-```sh
-# Pull the updated package contents to local drive for inspection:
-$ kpt alpha rpkg pull deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b ./updated-istions -ndefault
-
-# Inspect updated-istions/namespace.yaml
-$ cat updated-istions/namespace.yaml
-
-apiVersion: v1
-kind: Namespace
-metadata:
- name: istions
- labels:
- color: orange
- fruit: apple
-spec: {}
-```
-
-The updated namespace now has new labels! What happened?
-
-Whenever package is updated during the authoring process, Porch automatically
-re-renders the package to make sure that all mutators and validators are
-executed. So when we added the new `set-labels` mutator, as soon as we pushed
-the updated package contents to Porch, Porch re-rendered the package and
-the `set-labels` function applied the labels we requested (`color: orange` and
-`fruit: apple`).
-
-## Summary of package authoring
-
-In this section we reviewed how to use Porch to author packages, including
-
-* creating a new package ([`kpt alpha rpkg init`][rpkg-init])
-* cloning an existing package ([`kpt alpha rpkg clone`][rpkg-clone])
-* creating a new revision of an existing package
- ([`kpt alpha rpkg copy`][rpkg-copy])
-* pulling package contents for local editing
- ([`kpt alpha rpkg pull`][rpkg-pull])
-* and pushing updated package contents to Porch
- ([`kpt alpha rpkg push`][rpkg-push])
-
-[rpkg-init]: /reference/cli/alpha/rpkg/init/
-[rpkg-get]: /reference/cli/alpha/rpkg/get/
-[rpkg-clone]: /reference/cli/alpha/rpkg/clone/
-[rpkg-copy]: /reference/cli/alpha/rpkg/copy/
-[rpkg-pull]: /reference/cli/alpha/rpkg/pull/
-[rpkg-push]: /reference/cli/alpha/rpkg/push/
diff --git a/site/book/08-package-orchestration/05-package-lifecycle.md b/site/book/08-package-orchestration/05-package-lifecycle.md
deleted file mode 100644
index 595f5e649a..0000000000
--- a/site/book/08-package-orchestration/05-package-lifecycle.md
+++ /dev/null
@@ -1,98 +0,0 @@
-When a new package revision is created, it is in a **`Draft`** lifecycle stage,
-where the package can be authored, including updating its contents.
-
-Before a package can be deployed or cloned, it must be **`Published`**.
-The approval flow is the process by which the package is advanced from
-**`Draft`** to **`Proposed`** and finally **`Published`** lifecycle stage.
-
-In the [previous section](./04-package-authoring) we created several packages,
-let's explore how to publish some of them.
-
-```sh
-# List package revisions (the output was abbreviated to only include Draft)
-# packages
-$ kpt alpha rpkg get
-NAME PACKAGE REVISION LATEST LIFECYCLE REPOSITORY
-deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b istions v1 false Draft deployments
-deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 my-bucket v1 false Draft deployments
-deployments-93bb9ac8c2fb7a5759547a38f5f48b369f42d08a new-package v2 false Draft deployments
-...
-```
-
-Now, in the role of the package author, we will propose two of those packages
-to be published: `istions/v1` and `my-bucket/v2`.
-
-```sh
-# Propose two package revisions to be be published
-$ kpt alpha rpkg propose \
- deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b \
- deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 \
- -ndefault
-
-deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b proposed
-deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 proposed
-```
-
-?> Refer to the [propose command reference][rpkg-propose] for usage.
-
-The two package revisions are now **`Proposed`**:
-
-```sh
-# Confirm the package revisions are now Proposed (the output was abbreviated
-# to only show relevant packages)
-$ kpt alpha rpkg get
-NAME PACKAGE REVISION LATEST LIFECYCLE REPOSITORY
-deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b istions v1 false Proposed deployments
-deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 my-bucket v1 false Proposed deployments
-deployments-93bb9ac8c2fb7a5759547a38f5f48b369f42d08a new-package v2 false Draft deployments
-...
-```
-
-At this point, a person in the _platform administrator_ role, or even an
-automated process, will review and either approve or reject the proposals.
-To aid with the decision, the platform administrator may inspect the package
-contents using the commands above, such as `kpt alpha rpkg pull`.
-
-```sh
-# Approve a proposal to publish istions/v1
-$ kpt alpha rpkg approve deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b -ndefault
-deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b approved
-
-# Reject a proposal to publish a my-bucket/v1
-$ kpt alpha rpkg reject deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 -ndefault
-deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 rejected
-```
-
-?> Refer to the [approve][rpkg-approve] and [reject][rpkg-reject] command
-reference for usage.
-
-> Approving a package revisions requires that the current user has been granted
-> update access to the `approve` subresource of `packagerevisions`. This allows
-> for giving only a limited set of users permission to approve package revisions.
-
-Now, confirm lifecycle stages of the package revisions:
-
-```sh
-# Confirm package revision lifecycle stages after approvals (output was
-# abbreviated to display only relevant package revisions):
-$ kpt alpha rpkg get
-NAME PACKAGE REVISION LATEST LIFECYCLE REPOSITORY
-deployments-98bc9a49246a5bd0f4c7a82f3d07d0d2d1293cd0 istions main false Published deployments
-deployments-eeb52a8072ca2602e7ee27f3c56ad6344b024f5b istions v1 true Published deployments
-deployments-8baf4892d6bdeda0f26ef4b1088fddb85c5a2486 my-bucket v1 false Draft deployments
-deployments-93bb9ac8c2fb7a5759547a38f5f48b369f42d08a new-package v2 false Draft deployments
-...
-```
-
-The rejected proposal returned the package to **`Draft`**, and the approved
-proposal resulted in **`Published`** package revision.
-
-You may have noticed that a `main` revision of the istions package appeared.
-When a package is approved, Porch will commit it into the branch which was
-provided at the repository registration (`main` in this case) and apply a tag.
-As a result, the package revision exists in two locations - tag, and the `main`
-branch.
-
-[rpkg-propose]: /reference/cli/alpha/rpkg/propose/
-[rpkg-approve]: /reference/cli/alpha/rpkg/approve/
-[rpkg-reject]: /reference/cli/alpha/rpkg/reject/
diff --git a/site/book/README.md b/site/book/README.md
deleted file mode 100644
index 749c12c9f1..0000000000
--- a/site/book/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# The kpt Book
-
-_by Frank Farzan with contributions from the kpt team and community_
-
-Welcome to the _The kpt Book_, a step-by-step introduction to kpt.
-
-This book is organized as follows:
-
-- [Chapter 1] is a quickstart to get you oriented with kpt and sets up the
- context for the rest of the book.
-- [Chapter 2] introduces the fundamental concepts in kpt.
-- [Chapter 3] covers how to work with kpt packages.
-- [Chapter 4] covers how to use kpt functions to automate configuration changes.
-- [Chapter 5] guides you through developing custom functions.
-- [Chapter 6] covers how to deploy a package to a Kubernetes cluster.
-- [Chapter 7] covers effective customizations techniques.
-- [Chapter 8] covers package orchestration concepts and support in kpt toolchain.
-
-Let's get started!
-
-[chapter 1]: /book/01-getting-started/
-[chapter 2]: /book/02-concepts/
-[chapter 3]: /book/03-packages/
-[chapter 4]: /book/04-using-functions/
-[chapter 5]: /book/05-developing-functions/
-[chapter 6]: /book/06-deploying-packages/
-[chapter 7]: /book/07-effective-customizations/
-[chapter 8]: /book/08-package-orchestration/
diff --git a/site/contact/README.md b/site/contact/README.md
deleted file mode 100755
index f7e0fb6412..0000000000
--- a/site/contact/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: "Contact"
-linkTitle: "Contact"
-type: docs
-weight: 20
-menu:
- main:
- weight: 7
----
-
-Do you have questions, comments, suggestions for improving kpt?
-
-We'd love to hear from you!
-
-- Join our [Slack channel](https://kubernetes.slack.com/channels/kpt)
-- Join our [email list](https://groups.google.com/forum/?oldui=1#!forum/kpt-users)
-- Join our [office hours](https://calendar.google.com/event?action=TEMPLATE&tmeid=MGk2NWhrdmkyMjgxOGc3ZWtobzFrZnB0NnBfMjAyMjA3MjhUMTcwMDAwWiBzdW5pbGFyb3JhQGdvb2dsZS5jb20&tmsrc=sunilarora%40google.com&scp=ALL)
-- Follow us on [Twitter](https://twitter.com/kptdev)
-- Subscribe to our [Youtube channel](https://www.youtube.com/channel/UCE6EvJ37y6Z8Xu_cDykhlnw)
diff --git a/site/coverpage.md b/site/coverpage.md
deleted file mode 100644
index 436762a5b9..0000000000
--- a/site/coverpage.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# 
-
-> kpt: Automate Kubernetes Configuration Editing
-
-
-
-
-
-[Why kpt](guides/rationale.md)
-[Get Started](?id=overview)
diff --git a/site/faq/README.md b/site/faq/README.md
deleted file mode 100755
index cdb3612d85..0000000000
--- a/site/faq/README.md
+++ /dev/null
@@ -1,143 +0,0 @@
-# FAQ
-
-### What is the roadmap for kpt?
-
-Please visit the [roadmap document] and the [kpt milestones].
-
-### How is kpt different from other solutions?
-
-Think of configuration as an API or data in a database. kpt can operate on configuration
-in storage, git or OCI.
-
-Rather than expressing configuration AS code or templates that generate configuration,
-kpt represents [Configuration as Data]. In particular, it represents configuration
-as YAML or JSON objects adhering to [The Kubernetes Resource Model], the same as the
-live state in Kubernetes, which enables novel remedies to configuration drift.
-
-kpt uses an in-place transformation approach to customization:
-read configuration in, modify it, and write it back.
-
-This enables interoperability of a variety of generators,
-transformers, and validators. One doesn’t have to make all changes through a monolithic
-generator implementation.
-
-By storing the result of config generators and transformers, automated mutations can be separated in time
-from use and other modifications. This enables generation via a UI, for example.
-It also is one enabler of in-place edits rather than patches or other programmatic overrides.
-
-Another ingredient in the secret sauce is the ability to upgrade from an upstream package
-despite downstream modifications. Conceptually it's like deriving and applying patches automatically.
-
-Combine these capabilities with the ability to operate on packages in bulk via APIs,
-and new operational capabilities are enabled.
-
-### What's the difference between kpt and kustomize?
-
-While both kpt and kustomize support customization of KRM resources via a transformation-based approach,
-there are important differences in both feature sets and the scopes of these projects.
-
-_kustomize_
-
-- Builds the final configuration out of place, primarily using the [overlay pattern].
-- Treats base layers as immutable, but enables nearly arbitrary overrides.
-
-_kpt_
-
-- Optimizes for WYSIWYG configuration and in-place customization.
-- Allows edits to the configuration in-place without creating complex patches.
-- Supports rebase with resource merge strategy allowing for edited config to
- be updated.
-- Enables workflows that combine programmatic changes ([functions]) with manual
- edits.
-- Aims to support mutating and validating admission control on derived packages.
-- Also supports packages, [package orchestration], resource actuation, and GitOps.
-
-### Do kpt and kustomize work together?
-
-The goal of kpt project is to provide a seamless UX spanning packaging,
-transformation, and actuation functionality. At the same time, kpt follows a modular
-design principle to make it possible to use each of its functionality
-independently if needed. For example:
-
-- You can use packaging without declaring functions
-- You can use imperative functions to operate on vanilla directories of Kubernetes
- resources
-- You can use apply logic without buying into the full packaging story (still
- need a minimal `Kptfile` though)
-
-We have created a [kustomize solution] which allows you to use kpt for packaging
-and actuation, and kustomize for customization.
-
-### Why resource configuration as the artifact rather than templates or configuration DSLs?
-
-As explained in [Declarative application management in Kubernetes], using
-resource configuration provides a number of desirable properties:
-
-1. it clearly **represents the intended state** of the infrastructure
-
-2. it **aligns with how tools developed by the Kubernetes project are written**
- -- `kubectl`, `kustomize`, etc
-
-3. it enables **composition of different types of tools written in different
- languages**
-
- - any modern language can manipulate YAML / JSON structures, no need to adopt
- `go`
-
-4. it **supports static analysis and validation**
-
- - develop tools and processes to perform validation and linting
-
-5. it **supports programmatic modification**
-
- - develop CLIs and UIs for working with configuration rather than using `vim`
-
-6. it **supports display in UI and tools** which use either OpenAPI or the
- YAML/JSON directly.
-
-For a more complete explanation, see the [rationale].
-
-### I really like DSL / templating solution X. Can I use it with kpt?
-
-Yes. kpt supports plugging in solutions which generate or manipulate
-configuration, e.g. from DSLs and templates. This may be performed using the
-[Functions Catalog]. The generated output may be modified directly, and merged
-when regenerated.
-
-### I want to write high-level abstractions like CRDs, but on the client-side. Can I do this with kpt?
-
-Yes. kpt's architecture facilitates the developing programs which may generate
-or modify configuration. See the [Using Functions] for how to compose multiple
-programs together.
-
-### What's with the name?
-
-kpt was inspired by `apt`, but with a Kubernetes focus. We wanted to uphold the
-tradition of naming tools to start with `k`, and also be short enough that you
-don't have to alias it. It is pronounced "kept".
-
-### I still have questions. How do I contact you?
-
-[Please reach out!][contact]
-
-[Configuration as Data]:
- https://github.com/kptdev/kpt/blob/main/docs/design-docs/06-config-as-data.md
-[package orchestration]:
- https://github.com/kptdev/kpt/blob/main/docs/design-docs/07-package-orchestration.md
-[the kubernetes resource model]:
- https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/resource-management.md
-[declarative application management in kubernetes]:
- https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/declarative-application-management.md
-[rationale]: https://kpt.dev/guides/rationale
-[functions]: /reference/cli/fn/eval/
-[using functions]: /book/04-using-functions/
-[contact]: /contact/
-[functions catalog]: https://catalog.kpt.dev/
-[roadmap document]:
- https://github.com/kptdev/kpt/blob/main/docs/ROADMAP.md
-[kpt milestones]: https://github.com/kptdev/kpt/milestones
-[kustomize solution]:
- https://github.com/kptdev/kpt/tree/main/package-examples/kustomize
-[kustomize]: https://kustomize.io
-[overlay pattern]:
- https://github.com/kubernetes-sigs/kustomize/tree/master/examples/multibases
diff --git a/site/gitops/README.md b/site/gitops/README.md
deleted file mode 100644
index bc92119090..0000000000
--- a/site/gitops/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# GitOps
-
-Packages eventually have to be deployed into one or more clusters. The default
-deployment mechanism is [Config Sync](gitops/configsync/), but since configuration is stored in standard
-repositories, other [GitOps](https://opengitops.dev/) tools can also be used.
-
-Currently supported gitops tools:
-* [Config Sync](gitops/configsync/)
\ No newline at end of file
diff --git a/site/gitops/configsync/README.md b/site/gitops/configsync/README.md
deleted file mode 100644
index 0a3e4aecfd..0000000000
--- a/site/gitops/configsync/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Config Sync
-
-Config Sync lets cluster operators and platform administrators deploy consistent
-configurations and policies. You can deploy these configurations and policies to
-individual Kubernetes clusters, multiple clusters that can span hybrid and
-multi-cloud environments, and multiple namespaces within clusters. This process
-simplifies and automates configuration and policy management at scale.
-Config Sync also lets development teams independently manage their
-namespaces within clusters, while still being subject to policy guardrails set
-by administrators.
-
-Config Sync is an open-source project and the source and releases available at
-[github.com/GoogleContainerTools/kpt-config-sync](https://github.com/GoogleContainerTools/kpt-config-sync).
-It also provides instructions for installing Config Sync on your cluster and
-building it from source.
-
-[Config Sync](https://cloud.google.com/anthos-config-management/docs/config-sync-overview)
-is also available with [Anthos Config Management (ACM)](https://cloud.google.com/anthos/config-management)
-on [Google Cloud Platform (GCP)](https://cloud.google.com).
-
-
-
diff --git a/site/guides/README.md b/site/guides/README.md
deleted file mode 100644
index dcd63cb165..0000000000
--- a/site/guides/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Reference
-
-- [The Rationale Behind kpt](guides/rationale.md)
-- [Porch Installation Guide](guides/porch-installation.md)
-- [Porch UI Installation Guide](guides/porch-ui-installation.md)
-- [Porch User Guide](guides/porch-user-guide.md)
-- [Namespace Provisioning CLI](guides/namespace-provisioning-cli.md)
-- [Namespace Provisioning UI](guides/namespace-provisioning-ui.md)
-- [Variant Constructor Pattern](guides/variant-constructor-pattern.md)
-- [Value Propagation Pattern](guides/value-propagation.md)
\ No newline at end of file
diff --git a/site/guides/namespace-provisioning-cli.md b/site/guides/namespace-provisioning-cli.md
deleted file mode 100644
index 64d53ce8c3..0000000000
--- a/site/guides/namespace-provisioning-cli.md
+++ /dev/null
@@ -1,444 +0,0 @@
-# Namespace provisioning using kpt CLI
-
-In this guide, we will learn how to create a kpt package from scratch using
-`kpt CLI`. We will also learn how to enable customization of the package
-with minimal manual steps for package consumers.
-
-## What package are we creating ?
-
-Onboarding a new application or a micro-service is a very common task for a
-platform team. It involves provisioning a dedicated namespace (and other
-associated resources) where all resources that belong to the application reside.
-In this guide, we will create a package that will be used for provisioning a namespace.
-
-## Prerequisites
-
-### Repositories
-
-Platform teams will have to setup two repos:
-1. Blueprint repo where reusable kpt packages will live.
-2. Deployment repo where instances of packages that will be deployed to a
-kubernetes cluster will live. Users will create deployable packages from the
-packages in the blueprint repo.
-
-We will refer to the repos with environment variables named $BLUEPRINT_REPO and $DEPLOYMENT_REPO.
-
-If you don’t have these two repositories, you can follow the steps below using
-Github’s CLI [gh](https://cli.github.com/) to set up the repos, or set them up
-via the GitHub GUI.
-
-```shell
-
-# (optional) skip if you've authenticated.
-# Authenticate gh to create a repository.
-
-$ gh auth login
-
-# Create the "blueprint" and "deployment" repos if you don't have them yet
-
-$ gh repo create blueprint
-$ gh repo create deployment
-
-
-# clone and enter the blueprint repo
-$ USER=
-$ BLUEPRINT_REPO=git@github.com:${USER}/blueprint.git
-$ DEPLOYMENT_REPO=git@github.com:${USER}/deployment.git
-
-$ git clone ${BLUEPRINT_REPO}
-$ git clone ${DEPLOYMENT_REPO}
-
-$ cd blueprint
-
-```
-
-### kube-gen.sh
-
-We will be writing kubernetes manifests from scratch, feel free to use whatever
-tools (IDE/extensions) you are most comfortable with. We have created this
-little script that helps in generating kubernetes manifests just with kubectl.
-So ensure that you have kubectl installed and configured to talk to a
-kubernetes cluster.
-
-```shell
-# quick check is kubectl is working correctly
-
-$ kubectl get pods
-No resources found.
-```
-
-Run the following bash snippet to create our little k8s manifest generator called
-kube-gen.sh.
-
-```shell
-$ cat << 'EOF' > kube-gen.sh
-
-#!/usr/bin/env bash
-#kube-gen.sh resource-type args
-res="${1}"
-shift 1
-if [[ "${res}" != namespace ]] ; then
- namespace="--namespace=example"
-else
- namespace=""
-fi
-kubectl create "${res}" -o yaml --dry-run=client "${@}" ${namespace} |\
-egrep -v "creationTimestamp|status"
-EOF
-```
-
-Follow the steps below to make sure that script can be invoked from the command line.
-
-```shell
-# make the script executable
-$ chmod a+x kube-gen.sh
-
-# let's make it available in our $PATH
-$ sudo mv kube-gen.sh /usr/local/bin
-
-# test the script out
-$ kube-gen.sh --help
-Create a resource from a file or from stdin.
- JSON and YAML formats are accepted.
-....
-```
-
-## Steps
-
-### Initialize a package
-
-```shell
-# You should be under the `./blueprint` git directory. If not, check the above
-# section "Prerequisites | Repositories"
-
-# create a directory
-$ mkdir basens
-
-# let's initialize the package
-$ kpt pkg init basens --description "kpt package for provisioning namespace"
-writing basens/Kptfile
-writing basens/README.md
-writing basens/package-context.yaml
-
-# examine the package content
-$ kpt pkg tree basens
-Package "basens"
-├── [Kptfile] Kptfile tenant
-└── [package-context.yaml] ConfigMap kptfile.kpt.dev
-```
-
-## Adding Resources
-
-### Namespace
-
-Now that we have the package initialized we are ready to add basic resources for
-provisioning a namespace.
-
-```shell
-# ensure that we are working in the basens directory
-$ cd basens
-
-# create namespace
-$ kube-gen.sh namespace example > namespace.yaml
-
-# you should see namespace resource
-$ kpt pkg tree
-Package "basens"
-├── [Kptfile] Kptfile tenant
-├── [namespace.yaml] Namespace example
-└── [package-context.yaml] ConfigMap kptfile.kpt.dev
-```
-
-Before we add more resources to the package, let's configure our package to
-ensure that the namespace for new resources in the package is set correctly.
-kpt offers a set of common functions as part of [kpt-function-catalog](https://catalog.kpt.dev)
-and it has a [set-namespace](https://catalog.kpt.dev/set-namespace) function
-that can be used to ensure all resources in a package use the same namespace.
-
-```shell
-# You should be under the "./blueprint/basens" directory.
-# Make sure you have kpt autocomplete enabled.
-# How it works:
-# Reset your brain, assume you do not know how to use `kpt fn eval`, the goal
-# is to find and add a "namespace" function.
-# Press the keyboard key `tab` or `tab tab` after each flag `--type`,
-# `--keywords`, `--image`, `--fn-config` to see available choices, click `tab`
-# to autocomplete your choice or to see further options.
-
-$ kpt fn eval --type mutator --keywords namespace --image set-namespace:v0.4.1 --fn-config package-context.yaml
-[RUNNING] "gcr.io/kpt-fn/set-namespace:v0.4.1"
-[PASS] "gcr.io/kpt-fn/set-namespace:v0.4.1" in 600ms
- Results:
- [info]: namespace "example" updated to "example", 0 values changed
-
-# let's add `set-namespace` to rendering workflow so that it is invoked whenever
-# package is rendered.
-$ kpt fn eval -i set-namespace:v0.4.1 --fn-config package-context.yaml --save -t mutator
-[RUNNING] "gcr.io/kpt-fn/set-namespace:v0.4.1"
-[PASS] "gcr.io/kpt-fn/set-namespace:v0.4.1" in 600ms
- Results:
- [info]: namespace "example" updated to "example", 0 values changed
- Added "gcr.io/kpt-fn/set-namespace:v0.4.1" as mutator in the Kptfile.
-
-# Let's take a look at Kptfile to see if `set-namespace` is added in the
-# rendering pipeline.
-$ cat Kptfile
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: basens
- annotations:
- config.kubernetes.io/local-config: "true"
-info:
- description: kpt package for provisioning namespace
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/set-namespace:v0.4.1
- configPath: package-context.yaml
-
-# render the package to ensure we have a working package.
-$ kpt fn render
-Package "tenant":
-[RUNNING] "gcr.io/kpt-fn/set-namespace:v0.4.1"
-[PASS] "gcr.io/kpt-fn/set-namespace:v0.4.1" in 600ms
- Results:
- [info]: namespace "example" updated to "example", 0 values changed
-Successfully executed 1 function(s) in 1 package(s).
-```
-
-Note: if you are curious about how KRM functions are implemented. Take a look
-at [set-namespace code](https://github.com/kptdev/krm-functions-catalog/blob/master/functions/go/set-namespace/transformer/namespace.go)
-to get a feel for the implementation.
-
-### Permissions
-
-Cluster roles for administering the workloads (say app-admin) will already be
-created with the correct set of permissions. Organizations will have conventions
-such as [example.admin@bigco.com](mailto:tenant-name-admins@mycompany.com)
-(think [order-service.admin@bigco.com](mailto:order-service-admins@googlegroups.com))
-as the group name responsible for administering namespace example. So let’s
-create a rolebinding that grants permissions to the workload service account and
-the group [example.admin@bigco.com](mailto:tenant-name-admins@mycompany.com) for
-managing this tenant.
-
-```shell
-# create rolebinding and try out the simple value propagation scenario
-$ kube-gen.sh rolebinding app-admin --clusterrole=app-admin --group=example.admin@bigco.com > rolebinding.yaml
-
-$ cat rolebinding.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: app-admin
- namespace: example
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: app-admin
-subjects:
-- apiGroup: rbac.authorization.k8s.io
- kind: Group
- name: example.admin@bigco.com
-```
-
-To enable automatic customization of this role binding for an instance of a
-namespace package, we can bind the value of package instance name to the group
-name in the above role binding resource. We will use the [apply-replacements function](https://catalog.kpt.dev/apply-replacements/v0.1/)
-from kpt-function-catalog for binding the values.
-Here is an snippet that does that:
-
-```shell
-# get the value of package name from configmap in `package-context.yaml`
-# and use it to update the name of the entry in subjects section of app-admin
-# role binding with a Group kind. Save the config to update-rolebinding.yaml.
-$ cat > update-rolebinding.yaml << EOF
-
-apiVersion: fn.kpt.dev/v1alpha1
-kind: ApplyReplacements
-metadata:
- name: update-rolebinding
- annotations:
- config.kubernetes.io/local-config: "true"
-replacements:
-- source:
- kind: ConfigMap
- name: kptfile.kpt.dev
- fieldPath: data.name
- targets:
- - select:
- name: app-admin
- kind: RoleBinding
- fieldPaths:
- - subjects.[kind=Group].name
- options:
- delimiter: '.'
- index: 0
-EOF
-```
-
-Run following commands to add apply-replacements in the package rendering workflow.
-
-```shell
-$ kpt fn eval -i apply-replacements:v0.1.1 --fn-config update-rolebinding.yaml --save -t mutator
-[RUNNING] "gcr.io/kpt-fn/apply-replacements:v0.1.1"
-[PASS] "gcr.io/kpt-fn/apply-replacements:v0.1.1" in 1s
-Added "gcr.io/kpt-fn/apply-replacements:v0.1.1" as mutator in the Kptfile.
-
-# ensure our package is being rendered correctly
-$ kpt fn render
-```
-
-### Quota
-
-Let’s add quota limits for this tenant.
-
-```shell
-$ kube-gen.sh quota default --hard=cpu=40,memory=40G > resourcequota.yaml
-$ kpt fn render
-
-$ cat resourcequota.yaml
-apiVersion: v1
-kind: ResourceQuota
-metadata:
- name: default
- namespace: example
-spec:
- hard:
- cpu: "40"
- memory: 40G
-
-```
-
-So with that, we should have our basic namespace provisioning package ready.
-Let’s take a look at what we have:
-
-```shell
-$ kpt pkg tree
-Package "basens"
-├── [Kptfile] Kptfile basens
-├── [namespace.yaml] Namespace example
-├── [package-context.yaml] ConfigMap kptfile.kpt.dev
-├── [resourcequota.yaml] ResourceQuota example/default
-├── [rolebinding.yaml] RoleBinding example/app-admin
-└── [update-rolebinding.yaml] ApplyReplacements update-rolebinding
-```
-
-## Publishing the package
-
-Now that we have a basic namespace package in place, let's publish it so that
-other users can consume it.
-
-```shell
-$ cd .. && git add basens && git commit -am "initial pkg"
-$ git push origin main
-
-$ git tag basens/v0 && git push origin basens/v0
-```
-
-So, now the package should be available in the `blueprint` repo. Consumers
-(application teams or platform team provisioning namespace on behalf of
-application team) will now use this published package to create deployable
-instances of it. There are different ways to create deployable instances of
-this package:
-
-- [Use package orchestration CLI](guides/porch-user-guide.md)
-- Use package orchestration UI (coming soon)
-- Use kpt CLI without package orchestration as described in the next section.
-
-### Package Consumption Workflow (without package orchestration)
-
-Assuming you are onboarding a new micro-service called backend, let’s go
-through the process of creating an instance of the basens package for backend.
-You need to do this step in the deployment repo.
-
-```shell
-# Redirect yourself to $DEPLOYMENT_REPO, which is created in "Prerequisites – Repositories
-$ cd ../deployment
-
-$ kpt pkg get ${BLUEPRINT_REPO}/basens/@v0 backend --for-deployment
-Package "backend":
-Fetching ${BLUEPRINT_REPO}@v0
-From ${BLUEPRINT_REPO}
- * tag basens/v0 -> FETCH_HEAD
-Adding package "basens".
-Fetched 1 package(s).
-
-Customizing package for deployment.
-[RUNNING] "builtins/gen-pkg-context"
-[PASS] "builtins/gen-pkg-context" in 0s
- Results:
- [info]: generated package context
-
-Customized package for deployment.
-```
-
-Render the `backend` package so that the package is customized for the `backend`.
-
-```shell
-
-$ kpt fn render backend
-Package "backend":
-[RUNNING] "gcr.io/kpt-fn/set-namespace:v0.4.1"
-[PASS] "gcr.io/kpt-fn/set-namespace:v0.4.1" in 900ms
- Results:
- [info]: namespace "example" updated to "backend", 3 values changed
-[RUNNING] "gcr.io/kpt-fn/apply-replacements:v0.1.1"
-[PASS] "gcr.io/kpt-fn/apply-replacements:v0.1.1" in 1s
-
-Successfully executed 2 function(s) in 1 package(s).
-# Important thing to note in the above output is that the `set-namespace`
-# function updated the namespace for the `backend` package instance automatically.
-
-# examine the output of backend package
-$ kpt pkg tree backend
-Package "backend"
-├── [Kptfile] Kptfile backend
-├── [namespace.yaml] Namespace backend
-├── [package-context.yaml] ConfigMap kptfile.kpt.dev
-├── [resourcequota.yaml] ResourceQuota backend/default
-├── [rolebinding.yaml] RoleBinding backend/app-admin
-└── [update-rolebinding.yaml] ApplyReplacements update-rolebinding
-
-```
-
-So with that we now have a backend service ready to be onboarded and applied to
-the cluster. So the first step would be to commit and tag the backend package in
-the deployment repo.
-
-```shell
-# assuming you are in deployment repo
-
-$ git add backend && git commit -am "initial pkg for deployment"
-$ git push origin main
-
-# tag the package
-$ git tag backend/v0 main && git push origin backend/v0
-
-```
-
-## Deploy the package in kubernetes cluster
-
-Now let’s deploy the package using kpt live:
-
-```shell
-# assuming you are in the deployment directory
-
-$ kpt live init backend
-initializing Kptfile inventory info (namespace: backend)...success
-
-$ kpt live apply backend
-namespace/backend unchanged
-namespace/backend reconciled
-resourcequota/default created
-rolebinding.rbac.authorization.k8s.io/app-admin created
-3 resource(s) applied. 2 created, 1 unchanged, 0 configured, 0 failed
-resourcequota/default reconcile pending
-rolebinding.rbac.authorization.k8s.io/app-admin reconcile pending
-resourcequota/default reconciled
-rolebinding.rbac.authorization.k8s.io/app-admin reconciled
-3 resource(s) reconciled, 0 skipped, 0 failed to reconcile, 0 timed out
-```
-
-## References
-
-[Kubernetes RBAC reference documentation](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)
diff --git a/site/guides/namespace-provisioning-ui.md b/site/guides/namespace-provisioning-ui.md
deleted file mode 100644
index 3a78b9ecb3..0000000000
--- a/site/guides/namespace-provisioning-ui.md
+++ /dev/null
@@ -1,176 +0,0 @@
-# Namespace provisioning using UI
-
-This guide will teach us how to create a kpt package from scratch using Config
-as Data UI. We will also learn how to enable customization of the package with
-minimal steps for package consumers and deploy the package to a Kubernetes
-cluster.
-
-## What package are we creating?
-
-Onboarding a new application or a micro-service is a very common task for a
-platform team. It involves provisioning a dedicated namespace (and other
-associated resources) where all resources that belong to the application reside.
-In this guide, we will create a package that will be used for provisioning a
-namespace.
-
-## Prerequisites
-
-Before we begin, ensure that you can access the Config as Data UI. The UI is
-provided as a [Backstage](https://backstage.io) plugin and can be accessed at
-`[BACKSTAGE_BASE_URL]/config-as-data`.
-
-_If you don't have a UI installed, follow the steps in the
-[UI installation guide](guides/porch-ui-installation.md) to install the UI._
-
-You will also need two new git repositories. The first repository will be where
-the reusable kpt packages will live. The second repository is where the
-instances of packages that will be deployed to a Kubernetes cluster will live.
-Users will create deployable packages from the packages in the blueprint repo.
-
-## Repository Registration
-
-### Registering blueprint repository
-
-Start by clicking the **Register Repository** link on the Team Blueprints card
-to register a blueprint repository. Enter the following details in the Register
-Repository flow:
-
-- In the Repository Details section, the Repository URL is the clone URL from
- your repository. Branch and directory can be left blank. Branch will default
- to "main" and directory will default to "/".
-- In the Repository Authentication section, you will need to use the GitHub
- Personal Access Token (unless your repository allows for unauthenticated
- writes). GitHub Personal Access Tokens can be created at
- , and must include the 'repo' scope.
-- In the Repository Content section, select "Team Blueprints".
-
-Once the repository is registered, use the breadcrumbs (upper left) to navigate
-to the **Package Management** screen.
-
-### Registering deployment repository
-
-Start by clicking the **Register Repository** link on the Deployments card to
-register a deployment repository. Enter the following details in the Register
-Repository flow:
-
-- In the Repository Details section, the Repository URL is the clone URL from
- your repository. Branch and Directory can be left blank. Branch will default
- to "main", and directory will default to "/".
-- In the Repository Authentication section, either create a new secret, or
- optionally select the same secret in the Authentication Secret dropdown you
- created for registering the blueprint repository.
-- In the Repository Content section, select "Deployments".
-
-Once the repository is created, use the breadcrumbs (upper left) to navigate to
-the **Package Management** screen.
-
-## Creating a Blueprint from scratch
-
-Now that we have our repositories registered, we are ready to create the simple
-namespace team blueprint using the UI.
-
-- From the **Package Management** screen, click the **Team Blueprints →** link.
-- Clicking the link will take you to a Team Blueprints screen where you can view
- and add team blueprints.
-- Click the **ADD TEAM BLUEPRINT** button in the upper right corner to create a
- new team blueprint.
-- On the Add Team Blueprint screen:
- - Choose "Create a new team blueprint from scratch".
- - Click Next to proceed to the Metadata section.
- - Set the team blueprint name to "simplens".
- - Click Next to proceed to the Namespace section.
- - Check the "Add namespace resource to the team blueprint" checkbox. Checking
- this checkbox will automatically add a Namespace resource to the team
- blueprint.
- - Set namespace option to "Set the namespace to the name of the deployment
- instance". This option will set the name of the namespace equal to the name
- of the deployment package when a deployment package is created/cloned from
- this team blueprint by adding the set-namespace mutator to the Kptfile
- resource. Since we are creating a team blueprint, the namespace will be set
- to "example".
- - Click Next to proceed to the Validate Resources section.
- - Click Next to proceed to the Confirm section.
- - Click the **CREATE TEAM BLUEPRINT** button.
-- The next screen is the package editor screen for the new _Draft_ team
- blueprint package you have just created. Here we will want to add a few
- resources to complete the team blueprint.
- - Click the **EDIT** button to allow the team blueprint to be updated.
- - Click the **ADD BUTTON** button and add a new Role Binding resource.
- - In the Resource Metadata section, name the resource "app-admin".
- - In Role Reference section, set the kind to "Cluster Role" and name to
- "app-admin" .
- - Click the **ADD SUBJECT** button, and in the newly added subject section,
- set the kind to "Group" and name to "example.admin@bigco.com".
- - Click the **SAVE** button to close the add resource dialog.
- - Click the **ADD BUTTON** button and add a new Apply Replacements resource.
- - In the Resource Metadata section, name the resource "update-rolebinding"
- - In the Source section, set the source resource as "ConfigMap:
- kptfile.kpt.dev" and source path to "data.name: example"
- - In the Target section, set the target resource to "RoleBinding:
- app-admin", the target path to "subjects.0.name: example.admin@bigco.com".
- Set the replacement value option to "Partial value", delimiter to "period
- (.)", and replace to "example".
- - Click the **SAVE** button to close the add resource dialog.
- - Click the **ADD BUTTON** button and add a new Resource Quota resource.
- - In the Resource Metadata section, name the resource "base".
- - In the Compute Resources section, set Max CPU Requests to "40" and Max
- Memory Requests to "40G".
- - Click the **SAVE** button to close the add resource dialog.
- - Click the **SAVE** button on the upper right corner of the screen.
-- This will bring you back to the team blueprint screen. The team blueprint is
- still in _Draft_ status so we will need to publish it to make it available for
- deployment.
- - Click the **PROPOSE** button to propose the simplens team blueprint package
- for review.
- - It will change to **APPROVE** momentarily. Click that button to publish the
- simplens team blueprint.
-- Using the breadcrumbs, click back to view your blueprints repository - here
- you should see the blueprint you just created has been published.
-
-This completes the simplens team blueprint. The next section shows how
-deployable instances can be created using this team blueprint.
-
-## Create a deployable instance of the team blueprint
-
-In this section, we will walk through creating a deployable instance of the
-simplens team blueprint.
-
-- From the **Package Management** screen, click the **Team Blueprints →** link.
-- Here you should see the "simplens" team blueprint created in the section
- above.
-- Click the "simplens" team blueprint row to view the blueprint.
-- Click the **CLONE** button.
-- In the **Clone simplens** screen:
- - Choose "Create a new deployment by cloning the simplens team blueprint"
- option.
- - Click Next to proceed to the Metadata section.
- - Update the deployment name to "backend".
- - Click Next to proceed to the Namespace section.
- - Click Next to proceed to the Validate Resources section.
- - Click Next to proceed to the Confirm section.
- - Click the **CREATE DEPLOYMENT** button.
-- The next screen is the package editor screen for the new _Draft_ deployment
- package you have just created. Note that the namespace across all the
- namespace scoped resources has been updated to the name of the package.
- - Click the **DIFF** button for any resource to view the differences between
- the resource and the same resource in the upstream simplens team blueprint.
- For many of the deployable resources, only the namespace will be updated.
- For the app-admin RoleBiding resource, the group binding has also been
- updated by the Apply Replacements resource.
-- We need to publish the deployment package to make it available for deployment.
- - Before moving the deployment to _Proposed_, you can make changes by editing
- the deployment and adding, removing, and updating resources.
- - Click the **PROPOSE** button to propose the backend deployment package for
- review.
- - It will change to **APPROVE** momentarily. Click that button to publish the
- backend deployment package.
-- Once the deployment package is published, click the **CREATE SYNC** button to
- have _Config Sync_ sync the deployment to the Kubernetes cluster.
- - After a few seconds, you will see the Sync status update in the upper
- right-hand corner.
-- Navigating back to the deployment repository the _SYNC STATUS_ column shows
- the status of each deployment package.
-
-This completes our end-to-end workflow of creating a blueprint from scratch and
-deploying a variant of the blueprint to a Kubernetes cluster using the Config as
-Data UI.
diff --git a/site/guides/porch-installation.md b/site/guides/porch-installation.md
deleted file mode 100644
index 6fad9660a2..0000000000
--- a/site/guides/porch-installation.md
+++ /dev/null
@@ -1,266 +0,0 @@
-# Installing Porch
-
-You can install Porch by either using one of the
-[released versions](https://github.com/kptdev/kpt/releases), or
-building Porch from sources.
-
-## Prerequisites
-
-Note: Porch should run on any kubernetes cluster and should work on any cloud.
-We have just started by documenting one known-good configuration: GCP and GKE.
-We would welcome comparable installation instructions or feedback from people
-that try it out on other clouds / configurations.
-
-To run one of the [released versions](https://github.com/kptdev/kpt/releases)
-of Porch on GKE, you will need:
-
-* A [GCP Project](https://console.cloud.google.com/projectcreate)
-* [gcloud](https://cloud.google.com/sdk/docs/install)
-* [kubectl](https://kubernetes.io/docs/tasks/tools/); you can install it via
- `gcloud components install kubectl`
-* [kpt](https://kpt.dev/)
-* Command line utilities such as `curl`, `tar`
-
-To build and run Porch on GKE, you will also need:
-
-* A container registry which will work with your GKE cluster.
- [Artifact Registry](https://console.cloud.google.com/artifacts)
- or [Container Registry](https://console.cloud.google.com/gcr) work well
- though you can use others too.
-* [go 1.17](https://go.dev/dl/) or newer
-* [docker](https://docs.docker.com/get-docker/)
-* [Configured docker credential helper](https://cloud.google.com/sdk/gcloud/reference/auth/configure-docker)
-* [git](https://git-scm.com/)
-* [make](https://www.gnu.org/software/make/)
-
-## Getting Started
-
-Make sure your `gcloud` is configured with your project (alternatively, you can
-augment all following `gcloud` commands below with `--project` flag):
-
-```sh
-gcloud config set project YOUR_GCP_PROJECT
-```
-
-Select a GKE cluster or create a new one:
-
-```sh
-gcloud services enable container.googleapis.com
-gcloud container clusters create-auto --region us-central1 porch-dev
-```
-
-**Note:** For development of Porch, in particular for running Porch tests,
-Standard GKE cluster is currently preferable. Select a
-[GCP region](https://cloud.google.com/compute/docs/regions-zones#available)
- that works best for your needs:
-
- ```sh
-gcloud services enable container.googleapis.com
-gcloud container clusters create --region us-central1 porch-dev
-```
-
-And ensure `kubectl` is targeting your GKE cluster:
-
-```sh
-gcloud container clusters get-credentials --region us-central1 porch-dev
-```
-
-## Run Released Version of Porch
-
-To run a released version of Porch, download the release config bundle from
-[Porch release page](https://github.com/kptdev/kpt/releases);
-please note you'll need to scroll past recent kpt releases to the most
-recent `porch/...` release.
-
-Untar and apply the `deployment-blueprint.tar.gz` config bundle. This will install:
-
-* Porch server
-* [Config Sync](https://kpt.dev/gitops/configsync/)
-
-```sh
-mkdir porch-install
-tar xzf ~/Downloads/deployment-blueprint.tar.gz -C porch-install
-kubectl apply -f porch-install
-kubectl wait deployment --for=condition=Available porch-server -n porch-system
-```
-
-You can verify that Porch is running by querying the `api-resources`:
-
-```sh
-kubectl api-resources | grep porch
-```
-Expected output will include:
-
-```
-repositories config.porch.kpt.dev/v1alpha1 true Repository
-functions porch.kpt.dev/v1alpha1 true Function
-packagerevisionresources porch.kpt.dev/v1alpha1 true PackageRevisionResources
-packagerevisions porch.kpt.dev/v1alpha1 true PackageRevision
-```
-
-To install ConfigSync:
-
-```sh
-echo "
-apiVersion: configmanagement.gke.io/v1
-kind: ConfigManagement
-metadata:
- name: config-management
-spec:
- enableMultiRepo: true
-" | kubectl apply -f -
-```
-
-You can start [using Porch](guides/porch-user-guide.md).
-
-## Run Custom Build of Porch
-
-To run custom build of Porch, you will need additional [prerequisites](#prerequisites).
-The commands below use [Google Container Registry](https://console.cloud.google.com/gcr).
-
-Clone this repository into `${GOPATH}/src/github.com/kptdev/kpt`.
-
-```sh
-git clone https://github.com/kptdev/kpt.git "${GOPATH}/src/github.com/kptdev/kpt"
-```
-
-[Configure](https://cloud.google.com/sdk/gcloud/reference/auth/configure-docker)
-docker credential helper for your repository
-
-If your use case doesn't require Porch to interact with GCP container registries,
-you can build and deploy Porch by running the following command. It will build and
-push Porch Docker images into (by default) Google Container Registry named (example
-shown is the Porch server image):
-
-`gcr.io/YOUR-PROJECT-ID/porch-server:SHORT-COMMIT-SHA`
-
-
-```sh
-IMAGE_TAG=$(git rev-parse --short HEAD) make push-and-deploy-no-sa
-```
-
-If you want to use different repository, you can set `IMAGE_REPO` variable
-(see [Makefile](https://github.com/nephio-project/porch/blob/main/Makefile#L38)
-for details).
-
-The `make push-and-deploy-no-sa` target will install Porch but not Config Sync.
-You can install Config Sync in your k8s cluster manually following the
-[documentation](https://github.com/kptdev/kpt-config-sync/blob/main/docs/installation.md).
-
-**Note**: The `-no-sa` (no service account) targets create Porch deployment
-configuration which does not associate Kubernetes service accounts with GCP
-service accounts. This is sufficient for Porch to integate with Git repositories
-using Basic Auth, for example GitHub.
-
-As above, you can verify that Porch is running by querying the `api-resources`:
-
-```sh
-kubectl api-resources | grep porch
-```
-
-And start [using Porch](guides/porch-user-guide.md) if the Porch resources are
-available.
-
-### Workload Identity
-
-[Workload Identity](https://cloud.google.com/kubernetes-engine/docs/concepts/workload-identity)
-is a simple way to access Google Cloud services from porch.
-
-#### Google Cloud Source Repositories
-
-[Cloud Source Repositories](https://cloud.google.com/source-repositories) can be access using
-workload identity, removing the need to store credentials in the cluster.
-
-To set it up, create the necessary service accounts and give it the required roles:
-
-```sh
-GCP_PROJECT_ID=$(gcloud config get-value project)
-
-# Create GCP service account (GSA) for Porch server.
-gcloud iam service-accounts create porch-server
-
-# We want to create and delete images. Assign IAM roles to allow repository
-# administration.
-gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
- --member "serviceAccount:porch-server@${GCP_PROJECT_ID}.iam.gserviceaccount.com" \
- --role "roles/source.admin"
-
-gcloud iam service-accounts add-iam-policy-binding porch-server@${GCP_PROJECT_ID}.iam.gserviceaccount.com \
- --role roles/iam.workloadIdentityUser \
- --member "serviceAccount:${GCP_PROJECT_ID}.svc.id.goog[porch-system/porch-server]"
-
-# We need to associate the Kubernetes Service Account (KSA)
-# with the GSA by annotating the KSA.
-kubectl annotate serviceaccount porch-server -n porch-system \
- iam.gke.io/gcp-service-account=porch-server@${GCP_PROJECT_ID}.iam.gserviceaccount.com
-```
-
-Build Porch, push images, and deploy porch server and controllers using the
-`make` target that adds workload identity service account annotations:
-
-```sh
-IMAGE_TAG=$(git rev-parse --short HEAD) make push-and-deploy
-```
-
-As above, you can verify that Porch is running by querying the `api-resources`:
-
-```sh
-kubectl api-resources | grep porch
-```
-
-To register a repository, use the following command:
-```sh
-kpt alpha repo register --repo-workload-identity --namespace=default https://source.developers.google.com/p//r/
-```
-
-#### OCI
-
-To integrate with OCI repositories such as
-[Artifact Registry](https://console.cloud.google.com/artifacts) or
-[Container Registry](https://console.cloud.google.com/gcr), Porch relies on
-[workload identity](https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity).
-
-For that use case, create service accounts and assign roles:
-
-```sh
-GCP_PROJECT_ID=$(gcloud config get-value project)
-
-# Create GCP service account for Porch server.
-gcloud iam service-accounts create porch-server
-# Create GCP service account for Porch sync controller.
-gcloud iam service-accounts create porch-sync
-
-# We want to create and delete images. Assign IAM roles to allow repository
-# administration.
-gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
- --member "serviceAccount:porch-server@${GCP_PROJECT_ID}.iam.gserviceaccount.com" \
- --role "roles/artifactregistry.repoAdmin"
-
-gcloud iam service-accounts add-iam-policy-binding porch-server@${GCP_PROJECT_ID}.iam.gserviceaccount.com \
- --role roles/iam.workloadIdentityUser \
- --member "serviceAccount:${GCP_PROJECT_ID}.svc.id.goog[porch-system/porch-server]"
-
-gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
- --member "serviceAccount:porch-sync@${GCP_PROJECT_ID}.iam.gserviceaccount.com" \
- --role "roles/artifactregistry.reader"
-
-gcloud iam service-accounts add-iam-policy-binding porch-sync@${GCP_PROJECT_ID}.iam.gserviceaccount.com \
- --role roles/iam.workloadIdentityUser \
- --member "serviceAccount:${GCP_PROJECT_ID}.svc.id.goog[porch-system/porch-controllers]"
-```
-
-Build Porch, push images, and deploy porch server and controllers using the
-`make` target that adds workload identity service account annotations:
-
-```sh
-IMAGE_TAG=$(git rev-parse --short HEAD) make push-and-deploy
-```
-
-As above, you can verify that Porch is running by querying the `api-resources`:
-
-```sh
-kubectl api-resources | grep porch
-```
-
-And start [using Porch](guides/porch-user-guide.md) if the Porch resources are
-available.
diff --git a/site/guides/porch-ui-installation.md b/site/guides/porch-ui-installation.md
deleted file mode 100644
index df604e79e2..0000000000
--- a/site/guides/porch-ui-installation.md
+++ /dev/null
@@ -1,143 +0,0 @@
-# Accessing the Configuration as Data UI
-
-You can access the Configuration as Data UI UI either by running the UI on a
-cluster or integrating the UI into an existing Backstage installation.
-
-## Prerequisites
-
-To access the Configuration as Data UI, you will need:
-
-- [Porch](guides/porch-installation.md) installed on a Kubernetes cluster
-- [kubectl](https://kubernetes.io/docs/tasks/tools/) targeting the Kubernetes
- cluster with Porch installed
-- [kpt CLI](https://kpt.dev/installation/kpt-cli) installed
-
-## Running on a GKE cluster
-
-This setup assumes that you have a GKE cluster up and running with Porch installed, and that
-your current kube context is set to that GKE cluster. We would welcome contributions or feedback
-from people that have set this up in other clouds outside of GKE.
-
-First, create a namespace called `backstage`:
-
-```sh
-kubectl create namespace backstage
-```
-
-Second, Google OAuth Credentials will need to be created to allow the UI to use
-Google authentication to authenticate users with the UI and to the Kubernetes
-API Server.
-
-To create the Google OAuth Credentials:
-
-1. Sign in to the [Google Console](https://console.cloud.google.com)
-2. Select or create a new project from the dropdown menu on the top bar
-3. Navigate to
- [APIs & Services > Credentials](https://console.cloud.google.com/apis/credentials)
-4. Click **Create Credentials** and choose `OAuth client ID`
-5. Configure an OAuth consent screen, if required
- - For scopes, select `openid`, `auth/userinfo.email`,
- `auth/userinfo.profile`, and `auth/cloud-platform`.
- - Add any users that will want access to the UI if using External user type
-6. Set **Application Type** to `Web Application` with these settings:
- - `Name`: Config as Data UI (or any name you prefer)
- - `Authorized JavaScript origins`: http://localhost:7007
- - `Authorized redirect URIs`:
- http://localhost:7007/api/auth/google/handler/frame
-7. Click Create
-8. Copy the Client ID and Client secret displayed
-
-We will now need to add the credentials as a secret to the cluster. Be sure to
-replace the PLACEHOLDER values prior to executing:
-
-```sh
-kubectl create secret generic -n backstage cad-google-oauth-client --from-literal=client-id=CLIENT_ID_PLACEHOLDER --from-literal=client-secret=CLIENT_SECRET_PLACEHOLDER
-```
-
-Next, find a published image in the
-[kpt-dev/kpt-backstage-plugins container registry](https://console.cloud.google.com/gcr/images/kpt-dev/global/kpt-backstage-plugins/backstage-plugin-cad?project=kpt-dev).
-For this example, we will use
-`gcr.io/kpt-dev/kpt-backstage-plugins/backstage-plugin-cad:v0.1.3`.
-
-Now, run the following command to set up the backstage deployment and service.
-Change the image name and tag in the `newName` and `newTag` flags in the below
-`kpt fn eval` command to the ones you would like to use:
-
-```sh
-echo "
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: backstage
- namespace: backstage
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: backstage
- template:
- metadata:
- labels:
- app: backstage
- spec:
- containers:
- - name: backstage
- image: backstage
- ports:
- - name: http
- containerPort: 7007
- env:
- - name: AUTH_GOOGLE_CLIENT_ID
- valueFrom:
- secretKeyRef:
- name: cad-google-oauth-client
- key: client-id
- optional: false
- - name: AUTH_GOOGLE_CLIENT_SECRET
- valueFrom:
- secretKeyRef:
- name: cad-google-oauth-client
- key: client-secret
- optional: false
----
-apiVersion: v1
-kind: Service
-metadata:
- name: backstage
- namespace: backstage
-spec:
- selector:
- app: backstage
- ports:
- - name: http
- port: 7007
- targetPort: http
-" | kpt fn eval "" -o unwrap --image set-image:v0.1.0 -- \
-name=backstage newName=gcr.io/kpt-dev/kpt-backstage-plugins/backstage-plugin-cad newTag=v0.1.3 | \
-kubectl apply -f -
-```
-
-In your cluster, confirm the backstage deployment is ready and available:
-
-```sh
-kubectl get deployment -n backstage backstage
-```
-
-Forward port 7007 locally to access backstage. It is important that you do not map this port to another port
-as this will cause Backstage and the OAuth client to fail.
-
-```sh
-kubectl port-forward --namespace=backstage svc/backstage 7007
-```
-
-Open the plugin by browsing to `localhost:7007/config-as-data`. On the plugin, you will need to sign in to your
-Google account so that the plugin can access your GKE cluster.
-
-## Running in Backstage
-
-This setup is intended for those installing the plugin into existing backstage deployments.
-
-The Configuration as Data UI can be added to an existing
-[Backstage](https://backstage.io) application by following the instructions on
-the
-[Configuration as Data Plugin README](https://github.com/GoogleContainerTools/kpt-backstage-plugins/tree/main/plugins/cad/README.md).
diff --git a/site/guides/porch-user-guide.md b/site/guides/porch-user-guide.md
deleted file mode 100644
index 02917987fd..0000000000
--- a/site/guides/porch-user-guide.md
+++ /dev/null
@@ -1,522 +0,0 @@
-# Porch User Guide
-
-This document is focused on using Porch via the `kpt` CLI.
-
-Installation of Porch, including prerequisites, is covered in a
-[dedicated document](guides/porch-installation.md).
-
-## Prerequisites
-
-To use Porch, you will need:
-
-* [`kpt`](https://kpt.dev)
-* [`gcloud`](https://cloud.google.com/sdk/gcloud) (if running on GKE)
-* [`kubectl`](https://kubernetes.io/docs/tasks/tools/#kubectl)
-
-Make sure that your `kubectl` context is set up for `kubectl` to interact with the
-correct Kubernetes instance (see
-[installation instructions](guides/porch-installation.md) or
-the [running-locally](https://docs.nephio.org/docs/porch/running-porch/running-locally/) guide for details).
-
-To check whether `kubectl` is configured with your Porch cluster (or local instance), run:
-
-```sh
-kubectl api-resources | grep porch
-```
-
-You should see the following four resourceds listed:
-
-```
-repositories config.porch.kpt.dev/v1alpha1 true Repository
-packagerevisionresources porch.kpt.dev/v1alpha1 true PackageRevisionResources
-packagerevisions porch.kpt.dev/v1alpha1 true PackageRevision
-functions porch.kpt.dev/v1alpha1 true Function
-```
-
-## Porch Resources
-
-Porch server manages the following resources:
-
-1. `repositories`: a repository (Git or OCI) can be registered with Porch to support
- discovery or management of KRM configuration packages in those repositories,
- or discovery of KRM functions in those repositories.
-2. `packagerevisions`: a specific revision of a KRM configuration package
- managed by Porch in one of the registered repositories. This resource
- represents a _metadata view_ of the KRM configuration package.
-3. `packagerevisionresources`: this resource represents the contents of the
- configuration package (KRM resources contained in the package)
-4. `functions`: function resource represents a KRM function discovered in a repository
- registered with Porch. Functions are only supported with OCI repositories.
-
-Note that `packagerevisions` and `packagerevisionresources` represent different
-_views_ of the same underlying KRM configuration package. `packagerevisions`
-represents the package metadata, and `packagerevisionresources` represents the
-package content. The matching resources share the same `name` (as well as API
-group and version: `porch.kpt.dev/v1alpha1`) and differ in resource kind
-(`PackageRevision` and `PackageRevisionResources` respectively).
-
-## Repository Registration
-
-To use Porch with a Git repository, you will need:
-
-* A Git repository for your blueprints.
-* A [Personal Access Token](https://github.com/settings/tokens) (when using
- GitHub repository) for Porch to authenticate with the repository. Porch requires
- the 'repo' scope.
-* Or Basic Auth credentials for Porch to authenticate with the repository.
-
-To use Porch with an OCI repository
-([Artifact Registry](https://console.cloud.google.com/artifacts) or
-[Google Container Registry](https://cloud.google.com/container-registry)), first
-make sure to:
-* Enable [workload identity](guides/porch-installation.md#workload-identity) for Porch
-* Assign appropriate roles to the Porch workload identity service account
- (`iam.gke.io/gcp-service-account=porch-server@$(GCP_PROJECT_ID).iam.gserviceaccount.com`)
- to have appropriate level of access to your OCI repository.
-
-Use the `kpt alpha repo register` command to register your repository with Porch:
-
-```sh
-# Register a Git repository:
-
-GITHUB_USERNAME=
-GITHUB_TOKEN=
-
-$ kpt alpha repo register \
- --namespace default \
- --repo-basic-username=${GITHUB_USERNAME} \
- --repo-basic-password=${GITHUB_TOKEN} \
- https://github.com/${GITHUB_USERNAME}/blueprints.git
-```
-
-All command line flags supported:
-
-* `--directory` - Directory within the repository where to look for packages.
-* `--branch` - Branch in the repository where finalized packages are committed.
- (defaults to `main`)
-* `--name` - Name of the package repository Kubernetes resource. If unspecified,
- will default to the name portion (last segment) of the repository URL
- (`blueprint` in the example above)
-* `--description` - Brief description of the package repository.
-* `--deployment` - Boolean value; If specified, repository is a deployment
- repository; published packages in a deployment repository are considered
- deployment-ready.
-* `--repo-basic-username` - Username for repository authentication using basic auth.
-* `--repo-basic-password` - Password for repository authentication using basic auth.
-
-Additionally, common `kubectl` command line flags for controlling aspects of
-interaction with the Kubernetes apiserver, logging, and more (this is true for
-all `kpt` CLI commands which interact with Porch).
-
-Use the `kpt alpha repo get` command to query registered repositories:
-
-```sh
-# Query registered repositories
-$ kpt alpha repo get
-
-NAME TYPE CONTENT DEPLOYMENT READY ADDRESS
-blueprints git Package True https://github.com/platkrm/blueprints.git
-deployments git Package true True https://github.com/platkrm/deployments.git
-```
-
-The `kpt alpha get` commands support common `kubectl`
-[flags](https://kubernetes.io/docs/reference/kubectl/cheatsheet/#formatting-output)
-to format output, for example `kpt alpha repo get --output=yaml`.
-
-The command `kpt alpha repo unregister` can be used to unregister a repository:
-
-```sh
-# Unregister a repository
-$ kpt alpha repo unregister deployments --namespace default
-```
-
-## Package Discovery And Introspection
-
-The `kpt alpha rpkg` command group contains commands for interacting with
-packages managed by the Package Orchestration service. the `r` prefix used
-in the command group name stands for 'remote'.
-
-The `kpt alpha rpkg get` command list the packages in registered repositories:
-
-```sh
-# List package revisions in registered repositories
-$ kpt alpha rpkg get
-
-NAME PACKAGE WORKSPACENAME REVISION LATEST LIFECYCLE REPOSITORY
-blueprints-0349d71330b89ee48ac85167598ef23021fd0484 basens main main false Published blueprints
-blueprints-2e47615fda05664491f72c58b8ab658683afa036 basens v1 v1 true Published blueprints
-blueprints-7e2fe44bfdbb744d49bdaaaeac596200102c5f7c istions main main false Published blueprints
-blueprints-ac6e872be4a4a3476922deca58cca3183b16a5f7 istions v1 v1 false Published blueprints
-blueprints-421a5b5e43b03bc697d96f471929efc6ba3f54b3 istions v2 v2 true Published blueprints
-...
-```
-
-The `LATEST` column indicates whether the package revision is the latest among
-the revisions of the same package. In the output above, `v2` is the latest
-revision of `istions` package and `v1` is the latest revision of `basens`
-package.
-
-The `LIFECYCLE` column indicates the lifecycle stage of the package revision,
-one of: `Published`, `Draft` or `Proposed`.
-
-The `REVISION` column indicates the revision of the package. Revisions are
-assigned when a package is `Published` and starts at `v1`.
-
-The `WORKSPACENAME` column indicates the workspace name of the package. The
-workspace name is assigned when a draft revision is created and is used as the
-branch name for proposed and draft package revisions. The workspace name must be
-must be unique among package revisions in the same package.
-
-*Note* on package revision names. Packages exist in a hierarchical directory
-structure maintained by the underlying repository such as git, or in a
-filesystem bundle of OCI images. The hierarchical, filesystem-compatible names
-of packages do not satisfy the Kubernetes naming
-[constraints](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
-Therefore, the names of the Kubernetes resources representing package revisions
-are computed as a hash.
-
-Simple filtering of package revisions by name (substring) and revision (exact
-match) is supported by the CLI using `--name` and `--revision` flags:
-
-```sh
-# List package with `istio` in the package name, and `v2` revision
-$ kpt alpha rpkg get --name istio --revision=v2
-
-NAME PACKAGE WORKSPACENAME REVISION LATEST LIFECYCLE REPOSITORY
-blueprints-421a5b5e43b03bc697d96f471929efc6ba3f54b3 istions v2 v2 true Published blueprints
-```
-
-The common `kubectl` flags that control output format are available as well:
-
-```sh
-# Get the package revision in YAML format
-$ kpt alpha rpkg get blueprints-421a5b5e43b03bc697d96f471929efc6ba3f54b3 -ndefault -oyaml
-
-apiVersion: porch.kpt.dev/v1alpha1
-kind: PackageRevision
-metadata:
- labels:
- kpt.dev/latest-revision: "true"
- name: blueprints-421a5b5e43b03bc697d96f471929efc6ba3f54b3
- namespace: default
-spec:
- lifecycle: Published
- packageName: istions
- repository: blueprints
- revision: v2
- workspaceName: v2
-...
-```
-
-The `kpt alpha rpkg pull` command can be used to read the package resources.
-
-The command can be used to print the package revision resources as
-`ResourceList` to `stdout`, which enables
-[chaining](https://kpt.dev/book/04-using-functions/02-imperative-function-execution?id=chaining-functions-using-the-unix-pipe)
-evaluation of functions on the package revision pulled from the Package
-Orchestration server.
-
-```sh
-# Pull package revision resources, output as ResourceList to stdout
-$ kpt alpha rpkg pull blueprints-421a5b5e43b03bc697d96f471929efc6ba3f54b3 -ndefault
-
-apiVersion: config.kubernetes.io/v1
-kind: ResourceList
-items:
-- apiVersion: kpt.dev/v1
- kind: Kptfile
- metadata:
- name: istions
-...
-```
-
-Or, the package contents can be saved on local disk for direct introspection
-or editing:
-
-```sh
-# Pull package revision resources, save to local disk into `./istions` directory
-$ kpt alpha rpkg pull blueprints-421a5b5e43b03bc697d96f471929efc6ba3f54b3 ./istions -ndefault
-
-# Explore the package contents
-$ find istions
-
-istions
-istions/istions.yaml
-istions/README.md
-istions/Kptfile
-istions/package-context.yaml
-...
-```
-
-## Authoring Packages
-
-Several commands in the `kpt alpha rpkg` group support package authoring:
-
-* `init` - Initializes a new package revision in the target repository.
-* `clone` - Creates a clone of a source package in the target repository.
-* `copy` - Creates a new package revision from an existing one.
-* `push` - Pushes package resources into a remote package.
-* `del` - Deletes one or more packages in registered repositories.
-
-
-The `kpt alpha rpkg init` command can be used to initialize a new package
-revision. Porch server will create and initialize a new package (as a draft)
-and save it in the specified repository.
-
-```sh
-# Initialize a new (empty) package revision:
-$ kpt alpha rpkg init new-package --repository=deployments --workspace=v1 -ndefault
-
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 created
-
-# List the available package revisions.
-$ kpt alpha rpkg get
-
-NAME PACKAGE WORKSPACENAME REVISION LATEST LIFECYCLE REPOSITORY
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 new-package v1 false Draft deployments
-...
-```
-
-The new package is created in the `Draft` lifecycle stage. This is true also for
-all commands that create new package revision (`init`, `clone` and `copy`).
-
-Additional flags supported by the `kpt alpha rpkg init` command are:
-
-* `--repository` - Repository in which the package will be created.
-* `--workspace` - Workspace of the new package.
-* `--description` - Short description of the package.
-* `--keywords` - List of keywords for the package.
-* `--site` - Link to page with information about the package.
-
-
-Use `kpt alpha rpkg clone` command to create a _downstream_ package by cloning
-an _upstream_ package:
-
-```sh
-# Clone an upstream package to create a downstream package
-$ kpt alpha rpkg clone blueprints-421a5b5e43b03bc697d96f471929efc6ba3f54b3 istions-clone \
- --repository=deployments -ndefault
-deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 created
-
-# Confirm the package revision was created
-kpt alpha rpkg get deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 -ndefault
-NAME PACKAGE WORKSPACENAME REVISION LATEST LIFECYCLE REPOSITORY
-deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 istions-clone v1 false Draft deployments
-```
-
-`kpt alpha rpkg clone` can also be used to clone packages that are in
-repositories not registered with Porch, for example:
-
-```sh
-# Clone a package from Git repository directly (repository is not registered)
-$ kpt alpha rpkg clone \
- https://github.com/GoogleCloudPlatform/blueprints.git cloned-bucket \
- --directory=catalog/bucket \
- --ref=main \
- --repository=deployments \
- --namespace=default
-deployments-e06c2f6ec1afdd8c7d977fcf204e4d543778ddac created
-
-# Confirm the package revision was created
-kpt alpha rpkg get deployments-e06c2f6ec1afdd8c7d977fcf204e4d543778ddac -ndefault
-NAME PACKAGE WORKSPACENAME REVISION LATEST LIFECYCLE REPOSITORY
-deployments-e06c2f6ec1afdd8c7d977fcf204e4d543778ddac cloned-bucket v1 false Draft deployments
-```
-
-The flags supported by the `kpt alpha rpkg clone` command are:
-
-* `--directory` - Directory within the upstream repository where the upstream
- package is located.
-* `--ref` - Ref in the upstream repository where the upstream package is
- located. This can be a branch, tag, or SHA.
-* `--repository` - Repository to which package will be cloned (downstream
- repository).
-* `--workspace` - Workspace to assign to the downstream package.
-* `--strategy` - Update strategy that should be used when updating this package;
- one of: `resource-merge`, `fast-forward`, `force-delete-replace`.
-
-
-The `kpt alpha rpkg copy` command can be used to create a new revision of an
-existing package. It is a means to modifying an already published package
-revision.
-
-```sh
-# Create a new revision of an existing package
-$ kpt alpha rpkg copy \
- blueprints-421a5b5e43b03bc697d96f471929efc6ba3f54b3 \
- --workspace=v3 -ndefault
-
-# Confirm the package revision was created
-$ kpt alpha rpkg get blueprints-bf11228f80de09f1a5dd9374dc92ebde3b503689 -ndefault
-NAME PACKAGE WORKSPACENAME REVISION LATEST LIFECYCLE REPOSITORY
-blueprints-bf11228f80de09f1a5dd9374dc92ebde3b503689 istions v3 false Draft blueprints
-```
-
-The `kpt alpha rpkg push` command can be used to update the resources (package
-contents) of a package _draft_:
-
-```sh
-# Pull package draft contents into a local directory
-$ kpt alpha rpkg pull \
- deployments-c32b851b591b860efda29ba0e006725c8c1f7764 ./new-package -ndefault
-
-# Make edits using your favorite YAML editor, for example adding a new resource
-$ cat < ./new-package/config-map.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: example-config-map
-data:
- color: orange
-EOF
-
-# Push the updated contents to the Package Orchestration server, updating the
-# package contents.
-$ kpt alpha rpkg push \
- deployments-c32b851b591b860efda29ba0e006725c8c1f7764 ./new-package -ndefault
-
-# Confirm that the remote package now includes the new ConfigMap resource
-$ kpt alpha rpkg pull deployments-c32b851b591b860efda29ba0e006725c8c1f7764 -ndefault
-
-apiVersion: config.kubernetes.io/v1
-kind: ResourceList
-items:
-...
-- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: example-config-map
- data:
- color: orange
-...
-```
-
-Package revision can be deleted using `kpt alpha rpkg del` command:
-
-```sh
-# Delete package revision
-$ kpt alpha rpkg del blueprints-bf11228f80de09f1a5dd9374dc92ebde3b503689 -ndefault
-
-blueprints-bf11228f80de09f1a5dd9374dc92ebde3b503689 deleted
-```
-
-## Package Lifecycle and Approval Flow
-
-Authoring is performed on the package revisions in the _Draft_ lifecycle stage.
-Before a package can be deployed or cloned, it must be _Published_. The approval
-flow is the process by which the package is advanced from _Draft_ state through
-_Proposed_ state and finally to _Published_ lifecycle stage.
-
-The commands used to manage package lifecycle stages include:
-
-* `propose` - Proposes to finalize a package revision draft
-* `approve` - Approves a proposal to finalize a package revision.
-* `reject` - Rejects a proposal to finalize a package revision
-
-In the [Authoring Packages](#authoring-packages) section above we created
-several _draft_ packages and in this section we will create proposals for
-publishing some of them.
-
-```sh
-# List package revisions to identify relevant drafts:
-$ kpt alpha rpkg get
-NAME PACKAGE WORKSPACENAME REVISION LATEST LIFECYCLE REPOSITORY
-...
-deployments-e06c2f6ec1afdd8c7d977fcf204e4d543778ddac cloned-bucket v1 false Draft deployments
-deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 istions-clone v1 false Draft deployments
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 new-package v1 false Draft deployments
-
-# Propose two package revisions to be be published
-$ kpt alpha rpkg propose \
- deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 \
- deployments-c32b851b591b860efda29ba0e006725c8c1f7764 \
- -ndefault
-
-deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 proposed
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 proposed
-
-# Confirm the package revisions are now Proposed
-$ kpt alpha rpkg get
-NAME PACKAGE WORKSPACENAME REVISION LATEST LIFECYCLE REPOSITORY
-...
-deployments-e06c2f6ec1afdd8c7d977fcf204e4d543778ddac cloned-bucket v1 false Draft deployments
-deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 istions-clone v1 false Proposed deployments
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 new-package v1 false Proposed deployments
-```
-
-At this point, a person in _platform administrator_ role, or even an automated
-process, will review and either approve or reject the proposals. To aid with the
-decision, the platform administrator may inspect the package contents using the
-commands above, such as `kpt alpha rpkg pull`.
-
-```sh
-# Approve a proposal to publish a package revision
-$ kpt alpha rpkg approve deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 -ndefault
-deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 approved
-
-# Reject a proposal to publish a package revision
-$ kpt alpha rpkg reject deployments-c32b851b591b860efda29ba0e006725c8c1f7764 -ndefault
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 rejected
-```
-
-Now the user can confirm lifecycle stages of the package revisions:
-
-```sh
-# Confirm package revision lifecycle stages after approvals:
-$ kpt alpha rpkg get
-NAME PACKAGE WORKSPACENAME REVISION LATEST LIFECYCLE REPOSITORY
-...
-deployments-e06c2f6ec1afdd8c7d977fcf204e4d543778ddac cloned-bucket v1 false Draft deployments
-deployments-11ca1db650fa4bfa33deeb7f488fbdc50cdb3b82 istions-clone v1 v1 true Published deployments
-deployments-c32b851b591b860efda29ba0e006725c8c1f7764 new-package v1 false Draft deployments
-```
-
-Observe that the rejected proposal returned the package revision back to _Draft_
-lifecycle stage. The package whose proposal was approved is now in _Published_
-state.
-
-## Deploying a Package
-
-Commands used in the context of deploying a package include are in the
-`kpt alpha sync` command group (named `sync` to emphasize that Config Sync
-is the deploying mechanism and that configuration is being synchronized with the
-actuation target as a means of deployment) and include:
-
-* `create` - Creates a sync of a package in the deployment cluster.
-* `del` - Deletes the package RootSync.
-* `get` - Gets a RootSync resource with which package was deployed.
-
-```sh
-# Make sure Config Sync is configured to use multirepo mode
-kubectl apply -f - <
-
-Configuration as Data is a novel approach that doesn’t sacrifice usability or the potential for higher-level automation in order to enable reproducibility. Instead, it supports an interoperable, WYSIWYG, automatable configuration authoring and editing experience.
-
diff --git a/site/guides/tenant-onboarding.md b/site/guides/tenant-onboarding.md
deleted file mode 100644
index 091007441e..0000000000
--- a/site/guides/tenant-onboarding.md
+++ /dev/null
@@ -1,248 +0,0 @@
-# Tenant onboarding
-
-We have seen that in large organizations using kubernetes, there is a platform
-team (or infrastructure team) that is responsible for managing the kubernetes
-clusters. Typically a kubernetes cluster is shared by multiple teams to run
-different types of workloads. One of the common use-cases platform teams have
-is onboarding a new tenant on the kubernetes cluster. In this guide, you will
-learn - how you can use kpt to address the tenant use-case. Though this guide
-focuses on the tenant use-case, the pattern for package workflow discussed here
-can be applied to other use cases as well.
-
-**Note:** This guide is inspired by the [kube-common-setup](https://github.com/nghnam/kube-common-setup)
-helm chart.
-
-## Terminology
-
-Before we jump into the tutorial, let’s go over some terminologies that are
-used throughout this guide.
-
-### Tenant
-
-A tenant represents a collection of related infra/app resources and needs to be
-isolated from other resources, for example, a microservice, a workload, a team
-(group of developers) sharing common infra resources.
-
-### Platform team
-
-Central infra team responsible for managing the Kubernetes cluster. Members of
-the platform teams typically have administrative privileges on the Kubernetes cluster.
-
-### App developer team
-
-The team responsible for operating the tenant. Once the tenant is provisioned,
-this team will typically deploy resources (workload, services etc) in the tenant.
-
-## Package organization
-
-There are many ways to organize the tenant package and its variants. In this guide,
-we will explore one of the patterns where we keep the packages and their variants
-in different repos as shown in the figure below.
-
-
-
-Package catalog repo contains kpt packages that will be used to create variants
-of the packages. Platform repo contains the variants of the packages and there
-is one-to-many relationship between packages in catalog to platform repo. This
-organization has many benefits such as:
-
-* It is easy to discover the packages and its variants.
-* It makes it easy to enforce different constraints/invariants on package and
- package variants.
-* It allows flexibility in roles/permissions for package publishing/consumption.
-* Platform repo also serves as the deployment repository.
-
-```shell
-# A sample layout for package catalog repo
-# that contains the tenant pkg
-pkg-catalog $ tree .
-.
-├── LICENSE
-├── README.md
-└── tenant
- ├── Kptfile
- ├── README.md
- ├── namespace.yaml
- ├── ns-invariant.yaml
- ├── quota.yaml
- ├── role-binding.yaml
- └── service-account.yaml
- # other packages will come here
-```
-
-```shell
-# An sample layout for platform repo
-platform $ tree .
-.
-├── LICENSE
-├── README.md
-└── tenants
- ├── tenant-a
- │ ├── Kptfile
- │ ├── README.md
- │ ├── namespace.yaml
- │ ├── ns-invariant.yaml
- │ ├── quota.yaml
- │ ├── role-binding.yaml
- │ └── service-account.yaml
- └── tenant-b
- ├── Kptfile
- ├── README.md
- ├── namespace.yaml
- ├── ns-invariant.yaml
- ├── quota.yaml
- ├── role-binding.yaml
- └── service-account.yaml
-```
-
-## Tenant package
-
-The tenant package should have a good set of defaults configuration so that it
-can work as a good starting point for most of the tenants. Application developer
-teams can customize the tenant package over time as their need evolves.
-
-The tenant package should include invariants (guardrails) that prevent
-mis-configuration. For example, each tenant package shouldn’t have more than
-one namespace, resource quota shouldn’t exceed limits etc.
-
-One of the key principles to keep in mind is that the tenant package shouldn’t
-try to offer all the possible customization options. The tenant package should
-offer a reasonable set of defaults with required constraints. Downstream users
-of the tenant package can directly edit, add/delete resources as per their needs.
-
-Here is an example of a [basic tenant package](https://github.com/kptdev/kpt/tree/main/package-examples/tenant).
-
-```shell
-
-$ export PKG_CATALOG_DIR=
-$ cd $PKG_CATALOG_DIR
-pkg-catalog $ kpt pkg tree tenant
-Package "tenant"
-├── [Kptfile] Kptfile tenant
-├── [namespace.yaml] Namespace tenant-name
-├── [ns-invariant.yaml] StarlarkRun ns-invariant
-├── [quota.yaml] ResourceQuota tenant-name/quota
-├── [role-binding.yaml] RoleBinding tenant-name/sa-admin
-└── [service-account.yaml] ServiceAccount tenant-name/sa
-
-```
-
-The tenant package’s Kptfile offers basic customization and enforces single
-namespace constraint.
-
-```shell
-
-$ cd $PKG_CATALOG_DIR
-pkg-catalog $ cat tenant/Kptfile
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: tenant
-info:
- description: Base tenant package
-pipeline:
- mutators:
- - image: set-namespace:v0.1
- configMap:
- namespace: tenant-name # ←- will be customized for pkg variant
- validators:
- - image: gcr.io/kpt-fn/starlark:v0.3
- configPath: ns-invariant.yaml
-
-```
-
-### Publishing tenant package
-
-So once you are happy with the tenant package, you can publish the tenant
-package by tagging the version as shown below:
-
-```shell
-# Assuming you are in the pkg catalog repo where tenant package exists
-$ cd $PKG_CATALOG_DIR
-
-# Please remove the inventory information from the Kptfile before publishing
-
-# create new tag
-$ git tag tenant/v0.1 main
-
-# push the tag to the upstream
-$ git push origin tenant/v0.1
-
-```
-
-## Tenant onboarding workflow
-
-Now, let’s take a look at how tenant onboarding will work. Steps described below
-can be done by a member of the platform team or application developer team. The
-good thing is that it enables self-service workflow for application teams where
-they can request for new tenants by simply issuing a PR against the platform repo.
-
-```shell
-
-# assuming you have a fork of the platform repo residing locally at pointed by
-# by PLATFORM_DIR env variable locally.
-$ cd $PLATFORM_DIR
-
-# create a new branch to onboard new tenant
-$ git checkout -b onboarding-tenant-a
-
-$ cd tenants
-
-# create an instance `tenant-a` of the upstream tenant package using `kpt pkg get`
-# Ensure PKG_CATALOG_REPO env variable points to the pkg catalog repo.
-$ kpt pkg get $PKG_CATALOG_REPO/tenant@v0.1 tenant-a
-
-# tenant customizations:
-# change the namespace to tenant-a in the tenant-a/Kptfile
-# configure the quota.yaml by directly editing if needed
-# configure resources by directly editing them
-# Add functions to the pipeline in Kptfile
-
-# render the package to ensure all customizations are applied
-# and validations are run.
-$ kpt fn render tenant-a
-
-# if all invariants passed, then we are all set.
-
-$ git commit -am "added tenant-a"
-$ git push origin onboarding-tenant-a
-
-# make a pull request for platform team to merge
-# TODO (link to an example PR will be great here)
-```
-
-## Day 2 use-cases
-
-Platform team can evolve the tenant package over time for example, introducing
-additional invariants to be enforced, updating the defaults for quota etc. So
-assuming a new version of the tenant package `tenant/v0.2` has been published.
-Let’s go through the steps needed to update the tenant package.
-
-```shell
-
-# assuming you have a fork of the platform repo residing locally at pointed by
-# by PLATFORM_DIR env variable locally.
-$ cd $PLATFORM_DIR
-
-# create a new branch to update tenant
-$ git checkout -b update-tenant-a
-
-$ kpt pkg update tenant-a@tenants/v0.2
-
-$ kpt fn render tenant-a
-
-# if all invariants passed, then we are all set.
-
-$ git commit -am "updated tenant-a to newer version"
-$ git push origin update-tenant-a
-
-# make a pull request for platform team to merge
-```
-
-## Summary
-
-So, in this guide, how platform teams can enable self service workflow for
-application teams to onboard a new tenant. In the next guide, we will explore
-how platform teams can do it at a scale when there are hundreds of tenants
-provisioned on a kubernetes cluster. Next guides will explore package lifecycle
-(pkg diff/update) use cases at large scale.
diff --git a/site/guides/value-propagation.md b/site/guides/value-propagation.md
deleted file mode 100644
index ffe133f658..0000000000
--- a/site/guides/value-propagation.md
+++ /dev/null
@@ -1,184 +0,0 @@
-[starlark]: https://catalog.kpt.dev/starlark/v0.4/
-[apply-replacements]: https://catalog.kpt.dev/apply-replacements/v0.1/
-
-# Value propagation pattern
-
-Generating a string value and propagating that value to another place
-(or many other places) in your configuration is a very common pattern.
-In this guide, we will go through the recommended technique to
-do this value propagation using our [starlark] and [apply-replacements]
-KRM functions.
-
-## String generation function
-
-Sometimes, the value that we need to propagate is a concatenation of
-other values that come from various other resource fields. In order
-to generate the value we need to propagate, we can make use of the
-[starlark] function.
-
-For example, let's say we have a few context resources:
-
-```yaml
-# gcloud-config.yaml
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: gcloud-config.kpt.dev
- annotations:
- config.kubernetes.io/local-config: "true"
-data:
- domain: domain
- orgId: org-ID
- projectID: project
- region: region
- zone: zone
-```
-
-```yaml
-# package-context.yaml
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: kptfile.kpt.dev
- annotations:
- config.kubernetes.io/local-config: "true"
-data:
- name: namespace
-```
-
-and a RoleBinding as follows:
-
-```yaml
-# rolebinding.yaml
-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: app-admin
- namespace: myns
-subjects:
-- kind: Group
- name: example-admin@example.com
- apiGroup: rbac.authorization.k8s.io
-roleRef:
- kind: ClusterRole
- name: app-admin
- apiGroup: rbac.authorization.k8s.io
-```
-
-For this example, our goal is to change the RoleBinding's Group name
-from `example-admin@example.com` to the value `project-namespace-role@domain`.
-In order to generate this value, we will need to look at various fields from our
-context resources, concatenate them together, and then store the generated value somewhere.
-
-We can create a ConfigMap named `value-store`, which we will use to store the generated string in its
-`data.group` field:
-
-```yaml
-# value-store.yaml
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: value-store
- annotations:
- config.kubernetes.io/local-config: "true"
-data:
- group: example-group
-```
-
-Now we can use the [starlark] function to generate and store the desired string value.
-This function allows you to run a Starlark script to modify or generate resources. In
-our case, the functionConfig should look like the following:
-
-```yaml
-# generate-rolebinding-group.yaml
-
-apiVersion: fn.kpt.dev/v1alpha1
-kind: StarlarkRun
-metadata:
- name: generate-rolebinding-group.yaml
- annotations:
- config.kubernetes.io/local-config: "true"
-source: |-
- load("krmfn.star", "krmfn")
-
- def generate_group(resources, role):
- group = ""
- value_store = {}
- for r in resources:
- if krmfn.match_gvk(r, "v1", "ConfigMap") and krmfn.match_name(r, "gcloud-config.kpt.dev"):
- project = r["data"]["projectID"]
- domain = r["data"]["domain"]
- if krmfn.match_gvk(r, "v1", "ConfigMap") and krmfn.match_name(r, "kptfile.kpt.dev"):
- namespace = r["data"]["name"]
- if krmfn.match_gvk(r, "v1", "ConfigMap") and krmfn.match_name(r, "value-store"):
- value_store = r
- group = project + "-" + namespace + "-" + role + "@" + domain
- value_store["data"]["group"] = group
- generate_group(ctx.resource_list["items"], "app-admin")
-```
-
-## Value propagation function
-
-Now that we have a function that can generate the desired value, we will need to
-configure another function to propagate the value to the desired place(s).
-
-We can achieve this with the [apply-replacements] function. The apply-replacements
-function is a wrapper for the [kustomize replacements](https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/replacements/)
-feature, and can be used to copy a value from a provided source to any number of specified targets.
-In our case, the functionConfig looks like the following:
-
-```yaml
-# propagate-rolebinding-group.yaml
-
-apiVersion: fn.kpt.dev/v1alpha1
-kind: ApplyReplacements
-metadata:
- name: propagate-rolebinding-group
- annotations:
- config.kubernetes.io/local-config: "true"
-replacements:
- - source:
- kind: ConfigMap
- name: value-store
- fieldPath: data.group
- targets:
- - select:
- kind: RoleBinding
- name: app-admin
- fieldPaths:
- - subjects.[kind=Group].name
-```
-
-This functionConfig will configure [apply-replacements] to copy the value
-we stored in `value-store` to the RoleBinding Group.
-
-## Running the functions
-
-In order to run the configured functions, we can have the following pipeline in our Kptfile:
-
-```yaml
-# Kptfile
-
-apiVersion: kpt.dev/v1
-kind: Kptfile
-metadata:
- name: example
-pipeline:
- mutators:
- - image: gcr.io/kpt-fn/starlark:v0.4
- configPath: generate-rolebinding-group.yaml
- - image: gcr.io/kpt-fn/apply-replacements:v0.1
- configPath: propagate-rolebinding-group.yaml
-```
-
-After running these two functions with `kpt fn render`, we should see the value of our
-RoleBinding group change from `example-admin@example.com` to `project-namespace-role@domain` as desired.
-
-## Summary
-
-With the above pattern and workflow, you can easily generate and propagate
-common values to various places of your configuration.
diff --git a/site/guides/variant-constructor-pattern.md b/site/guides/variant-constructor-pattern.md
deleted file mode 100644
index 41f5df8d1d..0000000000
--- a/site/guides/variant-constructor-pattern.md
+++ /dev/null
@@ -1,180 +0,0 @@
-# Variant construction pattern
-
-If you look at the config workflows, you will notice that creating a variant
-of a package is a very frequent operation, so reducing the steps
-required to create a variant can have significant benefits for the
-package consumers. In this guide, we will look at some techniques
-that a package author can use to enable automatic variant construction of a package.
-
-## Types of packages
-
-kpt packages comes in two flavors: `abstract package` and
-`deployable instance`. An `abstract` package is a reususable package that
-is used to create deployable instances that can be deployed to a
-kubernetes cluster. In programming language terms, you can think of an `abstract`
-packages as the class and `deployable instance` as the instances of the class.
-`deployable` instances of package are also referred to as `variant` of the package.
-
-Figure below shows a `package catalog` on the left that has `abstract` packages
-and `deployable instances` on the right. A good pattern is to keep the abstract
-packages and instance packages in separate repos and typically
-`deployable instances` repo will be setup to auto deploy to a kubernetes cluster
-using gitops tools such as `config-sync`, `fluxcd`, `argocd`.
-
-
-
-Resources in an `abstract` package have placeholder values that need to be
-substituted with actual values to make them ready for deployment.
-For example, the name of the namespace resource below has `example` as a placeholder
-value. This is a part of the `abstract package`.
-
-```yaml
-apiVersion:v1
-kind: Namespace
-metadata:
- name: example # <-- this is a placeholder value
-```
-
-## Customizing identity of resources
-
-A kpt package contains kubernetes resources. Whenever you are creating a
-variant of the package, first step is to ensure unique identity of the
-resources in that variant. For example, if the abstract package contains a
-`namespace` resource, then the variant package should contain a `namespace` resource
-corresponding to that variant.
-
-In a kubernetes cluster, resources are identified by their group, version, kind,
-namespace and name (also referred to as GVKNN). If resource is cluster scoped,
-then the `metadata.name` uniquely identifies the resource in a cluster. If the resource
-is namespace scoped, then (`metadata.namespace`, `metadata.name`) together identifies the
-resource uniquely.
-
-[kpt-function-catalog](https://catalog.kpt.dev) provides two function that helps
-with customizing the identify of the resources:
-
-1. [set-namespace](https://catalog.kpt.dev/set-namespace/v0.3/): sets the
- namespace for all resources in the package.
-2. [ensure-name-substring](https://catalog.kpt.dev/ensure-name-substring/v0.2/):
- sets the name of the resources in the package.
-
-You can use the appropriate functions from the catalog or implement a custom
-function to ensure unique identity of the resources.
-
-## Customizing non-identifier fields of resources
-
-Packages can use other functions such as `set-labels`, `set-annotations`, `apply-replacements`
-or custom functions to transform other fields of resources.
-
-## Core mechanism
-
-Enabling automatic variant construction involves two steps:
-
-1. Use functions to customize identity or other fields of the resources
-2. Generating inputs for the functions declarared in the package
-
-Here is an example of `Kptfile` of a package that uses `set-namespace` and `apply-transform`
-to enable customization.
-
-```Kptfile
-# Kptfile
-...
-pipeline:
- mutators:
- - image: set-namespace:v0.3.4
- configPath: ...
- - image: apply-transform:v0.1.0
- configPath: ...
-...
-```
-
-Now let's talk about the input to the functions. In most cases, variant's name
-(deployable instance name) itself can be used to derive unique identity
-of the resources in the variant. For example, if I create a variant of
-`microservice` package, I will name the deployable instance to
-`user-service` or `order-service`. So if the package's name is available to the
-functions, then they can use it to customize the name/namespace of the resources.
-So, starting with `kpt v1.0.0-beta.15+`, kpt makes `package name` available
-in a `ConfigMap` at a well-known path `package-context.yaml` in `data.name` field.
-The `package-context.yaml` is available to functions during `kpt fn render|eval`.
-
-Here are examples of `package-context.yaml` for abstract and deployable instance:
-
-```yaml
-# package-context.yaml
-# package context for an abstract package.
-# This is automatically created on `kpt pkg init`.
-apiVersion: v1
-kind: ConfigMap
-data:
- name: example # <-- placeholder value
-```
-
-```yaml
-# package-context.yaml
-# package context for a deployable instance of a package.
-# This is automatically populated during `kpt pkg get`.
-apiVersion: v1
-kind: ConfigMap
-data:
- name: my-pkg-instance # <- deployable instance name
-```
-
-kpt supports a way to create `deployable instance` such that `package-context.yaml`
-is automatically populated with the `deployable instance`'s name.
-
-```shell
-$kpt pkg get my-pkg-instance --for-deployment
-```
-
-Now, let's look at how to provide the input to the functions.
-
-If you are using `set-namespace` function in your package, then
-`set-namespace` function supports reading input from `package-context.yaml`.
-Here is an example:
-
-```Kptfile
-...
-pipeline:
- mutators:
- - image: set-namespace:v0.3.4
- configPath: package-context.yaml
-...
-```
-
-By using `package-context.yaml` as input, `set-namespace` uses the value `example`
-for an `abstract` package and variant's name for a deployable instance. The
-same pattern can be applied to other functions also. For example, a
-"namespace provisioning" package might use the `apply-replacements` function to set
-the RoleBinding group using the name of the package.
-
-In some cases, the inputs needed to generate the variant will come from
-some external system or environment. Those can be generated imperatively or
-manually edited after the package is forked using `kpt pkg get`. Additional
-customizations could also be made at that point.
-
-So for a package consumer, creating a deployable instance involves the following:
-
-```shell
-# pick name of the deployable instance say `my-pkg-instance`
-$ kpt pkg get --for-deployement
-
-$ kpt fn render
-
-```
-
-## See it in action
-
-If you want to see `variant constructor pattern` in action for a real use-case,
-check out [`namespace provisioning using kpt CLI guide`](/guides/namespace-provisioning-cli.md).
-
-## Summary
-
-With the above pattern and workflow, you can see - how a package publisher can
-enable automatic customization of deployable instance of a package with minimal
-input i.e. package instance name.
-
-## Future plans
-
-Currently `--for-deployment` steps invokes built-in function to generate
-`package-context.yaml`. We would like to make it extensible for users to invoke their
-custom function for deploy workflow.
diff --git a/site/index.html b/site/index.html
deleted file mode 100644
index 857a3d9014..0000000000
--- a/site/index.html
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
- kpt - Home
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/site/installation/README.md b/site/installation/README.md
deleted file mode 100644
index 019b44ca52..0000000000
--- a/site/installation/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Installation
-
-Please follow the links below to install `kpt` components:
-
-- [kpt CLI](/installation/kpt-cli.md)
-- [Package Orchestrator](/guides/porch-installation.md)
-- [Config Sync](https://github.com/GoogleContainerTools/kpt-config-sync/blob/main/docs/installation.md)
-- [Configuration as Data UI](/guides/porch-ui-installation.md)
diff --git a/site/installation/kpt-cli.md b/site/installation/kpt-cli.md
deleted file mode 100644
index 21852555bc..0000000000
--- a/site/installation/kpt-cli.md
+++ /dev/null
@@ -1,145 +0,0 @@
-# Installation
-
-Users can get kpt CLI in a variety of ways:
-
-## Binaries
-
-Download pre-compiled binaries:
-
-- [Linux (amd64)][linux-amd64]
-- [Linux (arm64)][linux-arm64]
-- [MacOS (amd64)][darwin-amd64]
-- [MacOS (arm64)][darwin-arm64]
-
-Optionally verify the [SLSA3 signatures](slsa.dev) generated using the OpenSSF's [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator) during the release process. To verify a release binary:
-1. Install the verification tool from [slsa-framework/slsa-verifier#installation](https://github.com/slsa-framework/slsa-verifier#installation).
-2. Download the signature file `attestation.intoto.jsonl` from the [GitHub releases page](https://github.com/kptdev/kpt/releases).
-3. Run the verifier:
-```shell
-slsa-verifier -artifact-path kpt-- -provenance attestation.intoto.jsonl -source github.com/kptdev/kpt -tag
-```
-
-On Linux and MacOS, make it executable:
-
-```shell
-$ chmod +x kpt
-```
-
-?> On MacOS the first time, it may be necessary to open the
-program from the finder with _ctrl-click open_.
-
-Verify the version:
-
-```shell
-$ kpt version
-```
-
-## (Optional) enable shell auto-completion
-
-kpt provides auto-completion support for several of the common shells.
-To see the options for enabling shell auto-completion:
-
-```shell
-$ kpt completion -h
-```
-
-### Prerequisites
-Previous installations of kpt completion may have added the following line to
-the shell's config file (e.g. `.bashrc`, `.zshrc`, etc.):
-
-```shell
-$ complete -C kpt
-```
-
-This line needs to be removed for kpt's completion implementation to function
-properly.
-
-### Enable kpt auto-completion
-The kpt completion script for a shell can be generated with the commands
-`kpt completion bash`, `kpt completion zsh`, etc.
-For instructions on how to enable the script for the given shell, see the help
-page with the commands `kpt completion bash -h`, `kpt completion zsh -h`, etc.
-
-## gcloud
-
-Install with gcloud.
-
-```shell
-$ gcloud components install kpt
-```
-
-```shell
-$ kpt version
-```
-
-The version of kpt installed using `gcloud` may not be the latest released version, and can lag behind. Please use another installation method if you need to latest release.
-
-## Homebrew
-
-Install the latest release with Homebrew on MacOS.
-
-```shell
-$ brew tap kptdev/kpt https://github.com/kptdev/kpt.git
-$ brew install kpt
-```
-
-```shell
-$ kpt version
-```
-
-The version of kpt installed using `brew` can only be a tagged release, master releases are not shipped.
-
-## Docker
-
-Use one of the kpt docker images.
-
-| Feature | `kpt` | `kpt-gcloud` |
-| --------- | :---: | :----------: |
-| kpt | ✓ | ✓ |
-| git | ✓ | ✓ |
-| diffutils | ✓ | ✓ |
-| gcloud | | ✓ |
-
-### `kpt`
-
-```shell
-$ docker run gcr.io/kpt-dev/kpt:v1.0.0-beta.49 version
-```
-
-### `kpt-gcloud`
-
-An image which includes kpt based upon the Google [cloud-sdk] alpine image.
-
-```shell
-$ docker run gcr.io/kpt-dev/kpt-gcloud:v1.0.0-beta.49 version
-```
-
-## Source
-
-Install by compiling the source. This requires having Go version 1.21+:
-
-```shell
-$ go install -v github.com/kptdev/kpt@main
-```
-
-kpt version will return `unknown` for binaries built from source:
-
-```shell
-$ kpt version
-```
-
-[gcr.io/kpt-dev/kpt]:
- https://console.cloud.google.com/gcr/images/kpt-dev/GLOBAL/kpt?gcrImageListsize=30
-[gcr.io/kpt-dev/kpt-gcloud]:
- https://console.cloud.google.com/gcr/images/kpt-dev/GLOBAL/kpt-gcloud?gcrImageListsize=30
-[cloud-sdk]: https://github.com/GoogleCloudPlatform/cloud-sdk-docker
-[linux-amd64]:
- https://github.com/kptdev/kpt/releases/download/v1.0.0-beta.49/kpt_linux_amd64
-[linux-arm64]:
- https://github.com/kptdev/kpt/releases/download/v1.0.0-beta.49/kpt_linux_arm64
-[darwin-amd64]:
- https://github.com/kptdev/kpt/releases/download/v1.0.0-beta.49/kpt_darwin_amd64
-[darwin-arm64]:
- https://github.com/kptdev/kpt/releases/download/v1.0.0-beta.49/kpt_darwin_arm64
-[migration guide]: /installation/migration
-[bash-completion]: https://github.com/scop/bash-completion#installation
diff --git a/site/installation/migration.md b/site/installation/migration.md
deleted file mode 100644
index 959d941175..0000000000
--- a/site/installation/migration.md
+++ /dev/null
@@ -1,382 +0,0 @@
-## Migrating from kpt `v0.39` to `v1.0`
-
-- [Before you begin](#Before-you-begin)
-- [What's new and changed?](#What's-new-and-changed?)
- - [CLI changes](#CLI-changes)
- - [Kptfile schema changes](#Kptfile-schema-changes)
- - [`pkg`](#pkg)
- - [`sync` merged with `update`](#sync-merged-with-update)
- - [`cfg`](#cfg)
- - [Changes to Setters](#Changes-to-Setters)
- - [Setter validations deprecated](#Setter-validations-deprecated)
- - [Auto setters deprecated](#Auto-setters-deprecated)
- - [`fn`](#fn)
- - [`run` is split into `eval` and `render`](#run-is-split-into-eval-and-render)
- - [Function Config](#Function-Config)
- - [Function Results](#Function-Results)
- - [`live`](#live)
-- [Migration steps](#Migration-steps)
- - [For Package Publishers](#For-Package-Publishers)
- - [Automated portion of migration](#Automated-portion-of-migration)
- - [Changes made by the function](#Changes-made-by-the-function)
- - [Manual portion of migration](#Manual-portion-of-migration)
- - [For Package Consumers](#For-Package-Consumers)
-- [Timeline](#Timeline)
-
-kpt `v1.0` is going to be the latest major release of the kpt CLI. The
-implementation of kpt `v1.0` has changed considerably from kpt `v0.39`. A rich
-set of new features have been added as a result of the users’ input and
-requirements. Some features have been deprecated or refactored in ways that make
-them incompatible with kpt `v0.39`. Since these are backwards incompatible
-changes, there should be a way for users to migrate/fix their existing kpt
-packages which are compatible with `v0.39` version of kpt, to become compatible
-with kpt `v1.0`. This document outlines the end to end migration journey of
-users using a comprehensive kpt package example.
-
-## Before you begin
-
-Please go through [installation instructions] for installing `v1.0` binary and
-at least Chapter 1 and 2 of [The kpt Book] for understanding the basic model of
-kpt `v1.0`.
-
-## What's new and changed?
-
-### CLI changes
-
-To start with, all the commands in kpt `v1.0` will follow the consistent pattern
-
-```
-$ kpt [PKG_PATH | DIR | - STDIN] [flags]
-```
-
-Almost all the existing commands/features in kpt `v0.39` are also offered in kpt
-`v1.0` but in a better and enhanced format. In kpt `v0.39`, `cfg` group had been
-a dumping ground for many cli commands which don’t have a coherent story. `cfg`
-is often confused with `pkg` and vice-versa. As a major step, we removed the
-`cfg` subgroup and rearranged the functionality. Here are the one-liners for
-each command group in kpt `v1.0`.
-
-1. `pkg:` Commands for composing and describing packages.
-2. `fn:` Commands for running functions for validation and customization.
-3. `live:` Commands for interacting with a live cluster.
-
-`PKG_PATH vs DIR:` Most of the commands accept only `PKG_PATH` as input which
-means the input directory must have a valid Kptfile. Few commands can work on
-just the simple `DIR` with resources. Commands operate on the current working
-directory by default.
-
-| [v0.39 Commands] | [v1.0 Commands] |
-| ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `kpt pkg get REPO_URI[.git]/PKG_PATH[@VERSION] LOCAL_DEST_DIRECTORY [flags]` | `kpt pkg get REPO_URI[.git]/PKG_PATH[@VERSION] [flags] [LOCAL_DEST_DIRECTORY]` Fetch a remote package from a git subdirectory and writes it to a new local directory. |
-| `kpt pkg init DIR [flags]` | `kpt pkg init [DIR] [flags]` Initializes an existing empty directory as a kpt package by adding a Kptfile. |
-| `kpt pkg update LOCAL_PKG_DIR[@VERSION] [flags]` | `kpt pkg update [PKG_PATH][@version] [flags]` Pulls in upstream changes and merges them into a local package. |
-| `kpt pkg fix DIR [flags]` | `kpt fn eval --image gcr.io/kpt-fn/fix:v0.2 --include-meta-resources` Fix a local package which is using deprecated features. |
-| `kpt pkg desc DIR [flags]` | Deprecated in favor of reading Kptfile directly |
-| `kpt pkg diff DIR[@VERSION] [flags]` | `kpt pkg diff [PKG_PATH][@version] [flags]` Display differences between upstream and local packages. |
-| `kpt cfg fmt DIR/STDIN [flags]` | `kpt fn eval --image gcr.io/kpt-fn/format:v0.1` |
-| `kpt cfg tree DIR/STDIN [flags]` | `kpt pkg tree [DIR] [flags]` Displays resources, files and packages in a tree structure. |
-| `kpt cfg cat DIR/STDIN [flags]` | `kpt fn source [DIR] -o unwrap` |
-| `kpt fn run DIR/STDIN [flags]` | `kpt fn eval [DIR / -] [flags]` Executes a single function on resources in a directory.
`kpt fn render [PKG_PATH]` Executes the pipeline of functions on resources in the package and writes the output to the local filesystem. |
-| `kpt fn source DIR [flags]` | `kpt fn source [DIR] [flags]` Reads resources from a local directory and writes them in Function Specification wire format to stdout. |
-| `kpt fn sink DIR [flags]` | `kpt fn sink [DIR] [flags]` Reads resources from stdin and writes them to a local directory. |
-| `kpt fn export DIR [flags]` | Deprecated. |
-| `kpt live init DIR [flags]` | `kpt live init [PKG_PATH] [flags]` Initializes the package with the name, namespace and id of the resource that will keep track of the package inventory. |
-| `kpt live apply DIR/STDIN [flags]` | `kpt live apply [PKG_PATH / -] [flags]` Creates, updates and deletes resources in the cluster to make the remote cluster resources match the local package configuration. |
-| `kpt live preview DIR/STDIN [flags]` | Deprecated. The functionality will be provided by `dry-run` flag in `apply` and `destroy` commands. |
-| `kpt live destroy DIR/STDIN [flags]` | `kpt live destroy [PKG_PATH / -] [flags]` Removes all files belonging to a package from the cluster. |
-| `kpt live status DIR/STDIN [flags]` | `kpt live status [PKG_PATH / -] [flags]` Shows the resource status for resources belonging to the package. |
-| `kpt live diff DIR/STDIN [flags]` | Deprecated. The functionality will be provided by `dry-run` flag in `apply` and `destroy` commands. |
-| `kpt cfg set DIR setter_name setter_value` | `kpt fn eval --image gcr.io/kpt-fn/apply-setters:v0.1 -- 'foo=bar' 'env=[dev, stage]'` |
-| `kpt cfg create-setter DIR setter_name setter_value` | `kpt fn eval --image gcr.io/kpt-fn/search-replace:v0.1 -- 'by-value=nginx' 'put-comment=kpt-set: ${image}'` |
-| `kpt cfg create-subst DIR subst_name --field-value nginx:1.7.1 --pattern ${image}:${tag} [flags]` | `kpt fn eval --image gcr.io/kpt-fn/search-replace:v0.1 -- 'by-value=nginx:1.7.1' 'put-comment=kpt-set: ${image}:${tag}'` |
-| `kpt cfg delete-setter DIR setter_name` | `kpt fn eval --image gcr.io/kpt-fn/search-replace:v0.1 -- 'by-value=nginx' put-comment=''` |
-| `kpt cfg delete-subst DIR subst_name [flags]` | `kpt fn eval --image gcr.io/kpt-fn/search-replace:0.1 -- 'by-value=nginx:1.7.1' put-comment=''` |
-| `kpt cfg annotate DIR/STDIN [flags]` | `kpt fn eval --image gcr.io/kpt-fn/set-annotations:v0.1 -- 'name=foo' 'value=bar'` |
-| `kpt cfg grep DIR/STDIN [flags]` | `kpt fn eval --image gcr.io/kpt-fn/search-replace:v0.1 -- 'by-value=foo' 'by-path=bar'` |
-| `kpt cfg count DIR/STDIN [flags]` | Deprecated. |
-
-### Kptfile schema changes
-
-The existing [v1alpha1 Kptfile] format/schema is not compatible with kpt `v1.0`.
-Here is the schema for [v1 Kptfile] which is compatible with kpt `v1.0`.
-
-1. The `packageMetaData` section in `v1alpha1` Kptfile is transformed to `info`
- section in `v1` Kptfile.
-2. `upstream` section, in the `v1alpha1` Kptfile is split into `upstream` and
- `upstreamLock` sections in `v1` Kptfile. `upstream` section can be
- modified by users to declare the desired version of the package,
- `upstreamLock` is the resolved package state and should not be modified by
- users.
-3. The `OpenAPI` section in `v1alpha1` Kptfile is deprecated.
- [Details below](#changes-to-setters).
-4. `dependencies` section in `v1alpha1` Kptfile is deprecated.
- [Details below](#sync-merged-with-update).
-5. `functions` section in `v1alpha1` Kptfile holds definitions for Starlark
- functions only. This section is deprecated and all the functions can be
- declared in the `pipeline` section including [Starlark function].
-6. `inventory-object` is moved to `inventory` section in `v1` Kptfile.
- [Details below](#live-group-changes).
-
-### `pkg`
-
-#### `sync` merged with `update`
-
-Nothing to worry about. `sync` is just a declarative version of `update`
-functionality. The functionality is offered by `kpt pkg update` in a more user
-friendly fashion. Running the new `kpt pkg update` command on a package which
-has subpackages, simply means traversing the package hierarchy, and for each
-package encountered, update the package if needed. If you want to declaratively
-update nested subpackages, you can declare the desired version in the upstream
-section of the respective subpackage and invoking `kpt pkg update` on the root
-package will take care of updating all the nested subpackages. [Update guide]
-
-### `cfg`
-
-#### Changes to Setters
-
-`Setters` and `substitutions` no longer follow the complex and verbose OpenAPI
-format. The setters and substitutions are simplified to use new and simple
-setter pattern comments. Creating a setter is as simple as adding a line comment
-to the desired field. Users need not add any `OpenAPI` definitions. Please refer
-to [apply-setters] for the information about new syntax for setters and how to
-apply setter values, this is equivalent to the `kpt cfg set` in `v0.39`. [Setter
-Inheritance] works as usual in kpt `v1.0`.
-
-Here is the [simple example] of setter syntax transformation.
-
-#### Setter validations deprecated
-
-We want to keep the authoring experience of setters as simple as possible and
-hence [OpenAPI validations] and [required setters] feature offered by `v0.39`
-setters is no longer offered in `v1.0` version of kpt. However, we are working
-on providing an easy way to achieve similar functionality retaining the
-simplicity of setters, which is scoped for post `v1.0` release. Stay tuned.
-
-#### Auto setters deprecated
-
-[Auto-setters] feature is deprecated in `v1.0` version of kpt. Since the setters
-are migrated to a new and simple declarative version, package consumers can
-easily declare all the setter values and render them all at once.
-
-### `fn`
-
-#### `run` is split into `eval` and `render`
-
-The functionality of `kpt fn run` command in `v0.39` is split into two different
-CLI commands that execute functions corresponding to two fundamentally different
-approaches:
-
-`kpt fn render:` Executes the pipeline of functions declared in the package and
-its subpackages. This is a declarative way to run functions. [render guide]
-
-`kpt fn eval:` Executes a given function on the package. The image to run and
-the functionConfig is specified as CLI argument. This is an imperative way to
-run functions. [eval guide]
-
-#### Function Config
-
-As a result of these changes, we no longer need function configs to hold
-`config.kubernetes.io/function` annotation. Functions can be declared in the
-pipeline section of Kptfile and invoked using `kpt fn render`. The declared
-function can point to the [function config] using `configPath` argument.
-
-#### Function Results
-
-In both `render` and `eval`, structured results can be enabled using the
-`--results-dir` flag. Please refer to the [function results] section for more
-information on the new structure of function results.
-
-### `live`
-
-`kpt live` in `v1.0` no longer uses an inventory object to track the grouping of
-resources in the cluster. Instead, it uses a more expressive `ResourceGroup`
-CRD. Please refer to the user guide on [migrating inventory objects] to the
-`ResourceGroup` equivalent.
-
-## Migration Steps
-
-### For Package Publishers
-
-Based on the changes discussed above, this section walks package publishers through an end to
-end workflow to migrate their existing packages which are compatible with
-`v0.39` version of kpt, and make them compatible with kpt `v1.0`.
-
-#### Automated portion of migration
-
-Since you are the package publisher, you are expected to have the latest version
-of published package on your local disk. If you do not already have it, you can [git clone]
-the latest version of remote package on to your local disk.
-
-```shell
-$ DEMO_HOME=$(mktemp -d); cd $DEMO_HOME
-```
-
-```shell
-# replace it with your package repo uri
-$ git clone https://github.com/kptdev/krm-functions-catalog.git
-```
-
-```shell
-# cd to the package directory which you want to migrate
-$ cd kpt-functions-catalog/testdata/fix/nginx-v1alpha1
-```
-
-```shell
-# verify the version of kpt
-$ kpt version
-1.0.0+
-```
-
-Invoke `gcr.io/kpt-fn/fix` function on the kpt package.
-
-```shell
-# you must be using 1.0+ version of kpt
-$ kpt fn eval --image gcr.io/kpt-fn/fix:v0.2 --include-meta-resources --truncate-output=false
-```
-
-```shell
-# observe the changes done by the fix function
-$ git diff
-```
-
-##### Changes made by the function
-
-1. Best effort is made by the function to transform the `packageMetaData`
- section to the `info` section.
-2. `upstream` section, in the `v1alpha1` Kptfile is converted to `upstream` and
- `upstreamLock` sections in `v1` version of Kptfile.
-3. `dependencies` section is removed from Kptfile.
-4. Starlark functions section is removed from Kptfile.
-5. `Setters` and `substitutions` are converted to new and simple setter
- patterns. The setter comments in the resources are updated to follow new
- comment syntax.
-6. The `apply-setters` function and all the setters are added to the mutators
- section in the pipeline.
-7. Function annotation from function configs will be removed and corresponding
- function definitions will be declared in `pipeline` section of Kptfile.
- Reference to function config is added via [configPath] option.
-
-Note: This function modifies only the local package files and doesn’t make any
-changes to the resources in the live cluster.
-
-#### Manual portion of migration
-
-1. All the functions are treated as `mutators` by the `gcr.io/kpt-fn/fix`
- function and are added to the `mutators` section in the pipeline. Users must
- manually go through the functions and move the validator functions to the
- `validators` section in the pipeline section of `v1` Kptfile.
- 1. The order of functions also must be re-arranged manually by users if
- needed.
- 2. Also, note that the [function config] is used to configure the function
- and is not included in the input list of resources to function.
-2. [OpenAPI validations] and required setters feature offered by `v0.39` setters
- is no longer offered in `v1.0` version of kpt. Users must write their own
- validation functions to achieve the functionality. `Tip:` Adding a [starlark
- function] would be an easier alternative to achieve the equivalent validation
- functionality.
-3. If you have used [Starlark runtime] in `v0.39`, please checkout the new and
- improved [Starlark functions] and declare it accordingly in the pipeline.
-4. [Auto-setters] feature is deprecated in `v1.0` version of kpt. Since the
- setters are migrated to a new and simple declarative version, package
- consumers can easily declare all the setter values and render them all at
- once.
-
-Test your migrated kpt package end-to-end and make sure that the
-functionality is as expected. `gcr.io/kpt-fn/fix` is a helper for migration and
-doesn't guarantee functional parity.
-
-Finally, [publish your package] to git by upgrading the version so that your
-consumers can fetch the specific version of the package.
-
-### For Package Consumers
-
-This section walks package consumers through an end to end workflow in order to
-fetch the latest version of the published package which is compatible with kpt `v1.0`
-and migrate the local customizations(if any) already performed to their existing package.
-
-- As a package consumer, you are expected to have some version of the kpt package
- which is compatible with kpt `v0.39` on your local.
- Fetch the latest version of published remote package in to a new directory different
- from your existing package directory.
-
-```shell
-$ DEMO_HOME=$(mktemp -d); cd $DEMO_HOME
-```
-
-```shell
-# verify the version of kpt
-$ kpt version
-1.0.0+
-```
-
-```shell
-# fetch the package with upgraded version
-$ kpt pkg get https://github.com/kptdev/krm-functions-catalog.git/testdata/fix/nginx-v1@master
-```
-
-- You might have performed some customizations to your existing package such as,
- updated setter values, made some in-place edits to your resources etc.
- Please make sure that you capture those customizations and add them to the newly
- fetched package.
-
-- Render the package resources with customizations
-
-```shell
-$ kpt fn render nginx-v1/
-```
-
-- The step is only applicable if you're using `kpt live` functionality.
- a. If you are using the inventory object in order to manage live resources in the cluster,
- please refer to `live migrate` command docs to perform [live migration].
- b. If you are using ResourceGroup CRD to manage live resources, copy the inventory
- section in the Kptfile of existing package to the Kptfile of new package.
-
-- Once you test your new package and confirm that all the changes are as expected,
- you can simply discard the existing package and move forward with the new version
- of the fetched and customized package.
-
-Here is an [example kpt package], migrated from `v1alpha1` version(compatible with
-kpt `v0.39`) to `v1` version(compatible with kpt `v1.0`).
-
-## Timeline
-
-1. `Right now:` You can [install] and try the pre-release version of kpt `v1.0`
- binary.
-2. `June 1, 2021:` `gcr.io/kpt-fn/fix` function will be released in
- [kpt-functions-catalog]. You can start migrating your existing kpt packages
- using the function.
-3. `July 1, 2021:` Package format `v1` will be released which guarantees
- backwards compatibility for new packages going forward. The existing kpt
- packages are not compatible with the kpt `v1.0` binary and users will be
- prompted to migrate/fix their packages.
-4. `TBD:` Feature releases and bug fixes for pre-v1 versions of kpt will be
- reserved for serious security bugs only. Users will be asked to migrate to
- kpt `v1.0`.
-
-[v0.39 commands]: https://kptdev.github.io/kpt/reference/
-[v1.0 commands]: https://kpt.dev/reference/cli/
-[v1 kptfile]: https://github.com/kptdev/kpt/blob/main/pkg/api/kptfile/v1/types.go
-[starlark function]: https://catalog.kpt.dev/starlark/v0.2/
-[apply-setters]: https://catalog.kpt.dev/apply-setters/v0.1/
-[setter inheritance]: https://kptdev.github.io/kpt/concepts/setters/#inherit-setter-values-from-parent-package
-[openapi validations]: https://kptdev.github.io/kpt/guides/producer/setters/#openapi-validations
-[required setters]: https://kptdev.github.io/kpt/guides/producer/setters/#required-setters
-[auto-setters]: https://kptdev.github.io/kpt/concepts/setters/#auto-setters
-[migrating inventory objects]: https://kptdev.github.io/kpt/reference/live/alpha/
-[live migration]: https://kptdev.github.io/kpt/reference/cli/live/alpha/
-[configpath]: https://kpt.dev/book/04-using-functions/01-declarative-function-execution?id=configpath
-[example kpt package]: https://github.com/kptdev/krm-functions-catalog/tree/master/testdata/fix
-[simple example]: https://github.com/kptdev/krm-functions-catalog/tree/master/functions/go/fix#examples
-[function config]: https://kpt.dev/book/04-using-functions/01-declarative-function-execution?id=configpath
-[starlark runtime]: https://kptdev.github.io/kpt/guides/producer/functions/starlark/
-[update guide]: https://kpt.dev/book/03-packages/05-updating-a-package
-[render guide]: https://kpt.dev/book/04-using-functions/01-declarative-function-execution
-[eval guide]: https://kpt.dev/book/04-using-functions/02-imperative-function-execution
-[function results]: https://kpt.dev/book/04-using-functions/03-function-results
-[the kpt book]: https://kpt.dev/book/
-[installation instructions]: https://kpt.dev/installation/
-[install]: https://kpt.dev/installation/
-[kpt-functions-catalog]: https://catalog.kpt.dev/
-[v1alpha1 kptfile]: https://github.com/kptdev/kpt/blob/master/pkg/kptfile/pkgfile.go#L39
-[git clone]: https://git-scm.com/docs/git-clone
-[publish your package]: https://kpt.dev/book/03-packages/08-publishing-a-package
diff --git a/site/markdownlint.json b/site/markdownlint.json
deleted file mode 100644
index 1b6a8b17cf..0000000000
--- a/site/markdownlint.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "default": false,
- "MD001": false,
- "MD013": false,
- "MD024": false,
- "MD025": false,
- "MD031": false,
- "MD040": false,
- "MD041": false,
- "MD044": { "names": ["kpt"] },
- "MD046": false
-}
diff --git a/site/package-lock.json b/site/package-lock.json
deleted file mode 100644
index 7d4f33833a..0000000000
--- a/site/package-lock.json
+++ /dev/null
@@ -1,12798 +0,0 @@
-{
- "name": "site",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "devDependencies": {
- "@babel/plugin-proposal-optional-chaining": "^7.14.2",
- "@gouch/to-title-case": "^2.2.1",
- "autoprefixer": "^10.4.16",
- "href-checker": "etefera/href-checker#docsify",
- "jest": "^27.0.4",
- "markdownlint-cli": "^0.32.2",
- "postcss-cli": "^10.0.0",
- "super-simple-sitemap-generator": "etefera/super-simple-sitemap-generator"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
- "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
- "dev": true,
- "dependencies": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
- "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.14.6",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz",
- "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.14.5",
- "@babel/helper-compilation-targets": "^7.14.5",
- "@babel/helper-module-transforms": "^7.14.5",
- "@babel/helpers": "^7.14.6",
- "@babel/parser": "^7.14.6",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
- "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.23.0",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz",
- "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.14.5",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-environment-visitor": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
- "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
- "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/types": "^7.23.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
- "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
- "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz",
- "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz",
- "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-replace-supers": "^7.14.5",
- "@babel/helper-simple-access": "^7.14.5",
- "@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.5",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz",
- "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz",
- "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==",
- "dev": true,
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.14.5",
- "@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz",
- "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz",
- "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.22.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
- "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
- "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
- "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.14.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz",
- "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
- "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.22.20",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
- "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/plugin-proposal-optional-chaining": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz",
- "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
- "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz",
- "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.23.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
- "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/generator": "^7.23.0",
- "@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-function-name": "^7.23.0",
- "@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.23.0",
- "@babel/types": "^7.23.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
- "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.20",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@bcoe/v8-coverage": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
- "dev": true
- },
- "node_modules/@gouch/to-title-case": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@gouch/to-title-case/-/to-title-case-2.2.1.tgz",
- "integrity": "sha512-i/Hj91LfiE2pxYdIT0Ttdc/fIzdBwojDNQe6S6/N/Uf3xMmn0lWO+iLkAd84zs/NUGfTLsMUacDZzSy6N4jkcw==",
- "dev": true
- },
- "node_modules/@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/console": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz",
- "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^27.0.2",
- "jest-util": "^27.0.2",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/console/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@jest/console/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/console/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@jest/console/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
- },
- "node_modules/@jest/console/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/console/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/core": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.5.tgz",
- "integrity": "sha512-g73//jF0VwsOIrWUC9Cqg03lU3QoAMFxVjsm6n6yNmwZcQPN/o8w+gLWODw5VfKNFZT38otXHWxc6b8eGDUpEA==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^27.0.2",
- "@jest/reporters": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^27.0.2",
- "jest-config": "^27.0.5",
- "jest-haste-map": "^27.0.5",
- "jest-message-util": "^27.0.2",
- "jest-regex-util": "^27.0.1",
- "jest-resolve": "^27.0.5",
- "jest-resolve-dependencies": "^27.0.5",
- "jest-runner": "^27.0.5",
- "jest-runtime": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "jest-watcher": "^27.0.2",
- "micromatch": "^4.0.4",
- "p-each-series": "^2.1.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/@jest/core/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@jest/core/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/core/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@jest/core/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
- },
- "node_modules/@jest/core/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/core/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/environment": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.5.tgz",
- "integrity": "sha512-IAkJPOT7bqn0GiX5LPio6/e1YpcmLbrd8O5EFYpAOZ6V+9xJDsXjdgN2vgv9WOKIs/uA1kf5WeD96HhlBYO+FA==",
- "dev": true,
- "dependencies": {
- "@jest/fake-timers": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "jest-mock": "^27.0.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/fake-timers": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.5.tgz",
- "integrity": "sha512-d6Tyf7iDoKqeUdwUKrOBV/GvEZRF67m7lpuWI0+SCD9D3aaejiOQZxAOxwH2EH/W18gnfYaBPLi0VeTGBHtQBg==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "@sinonjs/fake-timers": "^7.0.2",
- "@types/node": "*",
- "jest-message-util": "^27.0.2",
- "jest-mock": "^27.0.3",
- "jest-util": "^27.0.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/globals": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.5.tgz",
- "integrity": "sha512-qqKyjDXUaZwDuccpbMMKCCMBftvrbXzigtIsikAH/9ca+kaae8InP2MDf+Y/PdCSMuAsSpHS6q6M25irBBUh+Q==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.0.5",
- "@jest/types": "^27.0.2",
- "expect": "^27.0.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/reporters": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.5.tgz",
- "integrity": "sha512-4uNg5+0eIfRafnpgu3jCZws3NNcFzhu5JdRd1mKQ4/53+vkIqwB6vfZ4gn5BdGqOaLtYhlOsPaL5ATkKzyBrJw==",
- "dev": true,
- "dependencies": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.0.2",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.0.5",
- "jest-resolve": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-worker": "^27.0.2",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^8.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/@jest/reporters/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@jest/reporters/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/reporters/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@jest/reporters/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
- },
- "node_modules/@jest/reporters/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/reporters/node_modules/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,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@jest/reporters/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/source-map": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz",
- "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==",
- "dev": true,
- "dependencies": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/source-map/node_modules/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,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@jest/test-result": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz",
- "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/test-sequencer": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.5.tgz",
- "integrity": "sha512-opztnGs+cXzZ5txFG2+omBaV5ge/0yuJNKbhE3DREMiXE0YxBuzyEa6pNv3kk2JuucIlH2Xvgmn9kEEHSNt/SA==",
- "dev": true,
- "dependencies": {
- "@jest/test-result": "^27.0.2",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.0.5",
- "jest-runtime": "^27.0.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/transform": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.5.tgz",
- "integrity": "sha512-lBD6OwKXSc6JJECBNk4mVxtSVuJSBsQrJ9WCBisfJs7EZuYq4K6vM9HmoB7hmPiLIDGeyaerw3feBV/bC4z8tg==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^27.0.2",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.0.5",
- "jest-regex-util": "^27.0.1",
- "jest-util": "^27.0.2",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/transform/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@jest/transform/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/transform/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@jest/transform/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
- },
- "node_modules/@jest/transform/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/transform/node_modules/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,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@jest/transform/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/types": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz",
- "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==",
- "dev": true,
- "dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/types/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@jest/types/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@jest/types/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@jest/types/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
- },
- "node_modules/@jest/types/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/types/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "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/@jridgewell/trace-mapping": {
- "version": "0.3.19",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
- "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
- "dev": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@sinonjs/commons": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
- "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
- "dev": true,
- "dependencies": {
- "type-detect": "4.0.8"
- }
- },
- "node_modules/@sinonjs/fake-timers": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
- "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
- "dev": true,
- "dependencies": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@types/babel__core": {
- "version": "7.1.14",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz",
- "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==",
- "dev": true,
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "node_modules/@types/babel__generator": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz",
- "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__template": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz",
- "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==",
- "dev": true,
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__traverse": {
- "version": "7.11.1",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz",
- "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.3.0"
- }
- },
- "node_modules/@types/graceful-fs": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
- "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
- "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
- "dev": true
- },
- "node_modules/@types/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
- "dev": true,
- "dependencies": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "node_modules/@types/istanbul-reports": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
- "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
- "dev": true,
- "dependencies": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "node_modules/@types/mime-types": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz",
- "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "15.12.4",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz",
- "integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==",
- "dev": true
- },
- "node_modules/@types/prettier": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.0.tgz",
- "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==",
- "dev": true
- },
- "node_modules/@types/stack-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz",
- "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==",
- "dev": true
- },
- "node_modules/@types/yargs": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz",
- "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==",
- "dev": true,
- "dependencies": {
- "@types/yargs-parser": "*"
- }
- },
- "node_modules/@types/yargs-parser": {
- "version": "20.2.0",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz",
- "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==",
- "dev": true
- },
- "node_modules/@types/yauzl": {
- "version": "2.9.1",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
- "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/abab": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
- "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
- "dev": true
- },
- "node_modules/acorn": {
- "version": "8.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
- "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-globals": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
- "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
- "dev": true,
- "dependencies": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- }
- },
- "node_modules/acorn-globals/node_modules/acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.21.3"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "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"
- }
- },
- "node_modules/async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
- "dev": true
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
- "node_modules/autoprefixer": {
- "version": "10.4.16",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
- "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "browserslist": "^4.21.10",
- "caniuse-lite": "^1.0.30001538",
- "fraction.js": "^4.3.6",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.0",
- "postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/babel-jest": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.5.tgz",
- "integrity": "sha512-bTMAbpCX7ldtfbca2llYLeSFsDM257aspyAOpsdrdSrBqoLkWCy4HPYTXtXWaSLgFPjrJGACL65rzzr4RFGadw==",
- "dev": true,
- "dependencies": {
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^27.0.1",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.8.0"
- }
- },
- "node_modules/babel-jest/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/babel-jest/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/babel-jest/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/babel-jest/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
- },
- "node_modules/babel-jest/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/babel-jest/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/babel-plugin-istanbul": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
- "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^4.0.0",
- "test-exclude": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/babel-plugin-jest-hoist": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz",
- "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@types/babel__traverse": "^7.0.6"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
- "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
- "dev": true,
- "dependencies": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/babel-preset-jest": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz",
- "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==",
- "dev": true,
- "dependencies": {
- "babel-plugin-jest-hoist": "^27.0.1",
- "babel-preset-current-node-syntax": "^1.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "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
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "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"
- }
- ]
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dev": true,
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/bl/node_modules/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==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "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,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browser-process-hrtime": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
- "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
- "dev": true
- },
- "node_modules/browserslist": {
- "version": "4.22.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
- "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "caniuse-lite": "^1.0.30001541",
- "electron-to-chromium": "^1.4.535",
- "node-releases": "^2.0.13",
- "update-browserslist-db": "^1.0.13"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/bser": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
- "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
- "dev": true,
- "dependencies": {
- "node-int64": "^0.4.0"
- }
- },
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "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"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "node_modules/call-bind-apply-helpers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
- "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
- "dev": true,
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001546",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz",
- "integrity": "sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ]
- },
- "node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/char-regex": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
- "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "node_modules/ci-info": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
- "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
- "dev": true
- },
- "node_modules/cjs-module-lexer": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz",
- "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==",
- "dev": true
- },
- "node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true,
- "engines": {
- "iojs": ">= 1.0.0",
- "node": ">= 0.12.0"
- }
- },
- "node_modules/collect-v8-coverage": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
- "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
- "dev": true
- },
- "node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/commander": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz",
- "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==",
- "dev": true,
- "engines": {
- "node": "^12.20.0 || >=14"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "node_modules/concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "engines": [
- "node >= 0.8"
- ],
- "dependencies": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "node_modules/convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.1"
- }
- },
- "node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/cssom": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
- "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
- "dev": true
- },
- "node_modules/cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
- "dev": true,
- "dependencies": {
- "cssom": "~0.3.6"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cssstyle/node_modules/cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- },
- "node_modules/data-urls": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
- "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
- "dev": true,
- "dependencies": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decimal.js": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.0.tgz",
- "integrity": "sha512-MrQRs2gyD//7NeHi9TtsfClkf+cFAewDz+PZHR8ILKglLmBMyVX3ymQ+oeznE3tjrS7beTN+6JXb2C3JDHm7ug==",
- "dev": true
- },
- "node_modules/dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
- "dev": true
- },
- "node_modules/deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true,
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "node_modules/deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/dependency-graph": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
- "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/detect-newline": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/devtools-protocol": {
- "version": "0.0.818844",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz",
- "integrity": "sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==",
- "dev": true
- },
- "node_modules/diff-sequences": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz",
- "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==",
- "dev": true,
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/domexception": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
- "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
- "dev": true,
- "dependencies": {
- "webidl-conversions": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/domexception/node_modules/webidl-conversions": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
- "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dunder-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
- "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
- "dev": true,
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "es-errors": "^1.3.0",
- "gopd": "^1.2.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.542",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.542.tgz",
- "integrity": "sha512-6+cpa00G09N3sfh2joln4VUXHquWrOFx3FLZqiVQvl45+zS9DskDBTPvob+BhvFRmTBkyDSk0vvLMMRo/qc6mQ==",
- "dev": true
- },
- "node_modules/emittery": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
- "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/emittery?sponsor=1"
- }
- },
- "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
- },
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/entities": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
- "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
- "dev": true,
- "engines": {
- "node": ">=0.12"
- },
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
- "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
- "dev": true,
- "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/es-object-atoms": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
- "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
- "dev": true,
- "dependencies": {
- "es-errors": "^1.3.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-set-tostringtag": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
- "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
- "dev": true,
- "dependencies": {
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6",
- "has-tostringtag": "^1.0.2",
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/escodegen": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
- "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
- "dev": true,
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "node_modules/escodegen/node_modules/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,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "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,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/estraverse": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
- "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/expect": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz",
- "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "ansi-styles": "^5.0.0",
- "jest-get-type": "^27.0.1",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-regex-util": "^27.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/expect/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dev": true,
- "dependencies": {
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "extract-zip": "cli.js"
- },
- "engines": {
- "node": ">= 10.17.0"
- },
- "optionalDependencies": {
- "@types/yauzl": "^2.9.1"
- }
- },
- "node_modules/extract-zip/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "node_modules/fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fb-watchman": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
- "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
- "dev": true,
- "dependencies": {
- "bser": "2.1.1"
- }
- },
- "node_modules/fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "dev": true,
- "dependencies": {
- "pend": "~1.2.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/form-data": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
- "integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
- "dev": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "es-set-tostringtag": "^2.1.0",
- "hasown": "^2.0.2",
- "mime-types": "^2.1.35"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fraction.js": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz",
- "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==",
- "dev": true,
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "patreon",
- "url": "https://github.com/sponsors/rawify"
- }
- },
- "node_modules/fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true
- },
- "node_modules/fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/fs-extra/node_modules/universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true,
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "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"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
- "dev": true,
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "function-bind": "^1.1.2",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "math-intrinsics": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-package-type": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
- "dev": true,
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/get-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
- "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
- "dev": true,
- "dependencies": {
- "dunder-proto": "^1.0.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/get-stdin": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
- "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/globby": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz",
- "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==",
- "dev": true,
- "dependencies": {
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.11",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globby/node_modules/slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/gopd": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
- "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
- "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
- "dev": true
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.3"
- },
- "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/href-checker": {
- "version": "1.1.2",
- "resolved": "git+ssh://git@github.com/etefera/href-checker.git#b60a5f983aeed02df5a635825f05aac66b7292fa",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "puppeteer": "^5.4.1",
- "sade": "^1.7.4"
- },
- "bin": {
- "href-checker": "cli.js"
- },
- "engines": {
- "node": ">= 12.11"
- }
- },
- "node_modules/html-encoding-sniffer": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
- "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
- "dev": true,
- "dependencies": {
- "whatwg-encoding": "^1.0.5"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
- },
- "node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
- "dev": true,
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true,
- "engines": {
- "node": ">=10.17.0"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "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"
- }
- ]
- },
- "node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/import-local": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
- "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
- "dev": true,
- "dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true,
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "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
- },
- "node_modules/ini": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz",
- "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==",
- "dev": true,
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-ci": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz",
- "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==",
- "dev": true,
- "dependencies": {
- "ci-info": "^3.1.1"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
- "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-generator-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
- "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-potential-custom-element-name": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true
- },
- "node_modules/is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "node_modules/istanbul-lib-coverage": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
- "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
- "dev": true,
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-report/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-report/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-source-maps": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
- "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
- "dev": true,
- "dependencies": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-source-maps/node_modules/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,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/istanbul-reports": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
- "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
- "dev": true,
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.5.tgz",
- "integrity": "sha512-4NlVMS29gE+JOZvgmSAsz3eOjkSsHqjTajlIsah/4MVSmKvf3zFP/TvgcLoWe2UVHiE9KF741sReqhF0p4mqbQ==",
- "dev": true,
- "dependencies": {
- "@jest/core": "^27.0.5",
- "import-local": "^3.0.2",
- "jest-cli": "^27.0.5"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/jest-changed-files": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz",
- "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-circus": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.5.tgz",
- "integrity": "sha512-p5rO90o1RTh8LPOG6l0Fc9qgp5YGv+8M5CFixhMh7gGHtGSobD1AxX9cjFZujILgY8t30QZ7WVvxlnuG31r8TA==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.0.2",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.0.2",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-runtime": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "pretty-format": "^27.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-circus/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-circus/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-circus/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-circus/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
- },
- "node_modules/jest-circus/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-circus/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-cli": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.5.tgz",
- "integrity": "sha512-kZqY020QFOFQKVE2knFHirTBElw3/Q0kUbDc3nMfy/x+RQ7zUY89SUuzpHHJoSX1kX7Lq569ncvjNqU3Td/FCA==",
- "dev": true,
- "dependencies": {
- "@jest/core": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "import-local": "^3.0.2",
- "jest-config": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "prompts": "^2.0.1",
- "yargs": "^16.0.3"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/jest-cli/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-cli/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-cli/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-cli/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
- },
- "node_modules/jest-cli/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-cli/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-config": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.5.tgz",
- "integrity": "sha512-zCUIXag7QIXKEVN4kUKbDBDi9Q53dV5o3eNhGqe+5zAbt1vLs4VE3ceWaYrOub0L4Y7E9pGfM84TX/0ARcE+Qw==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.0.5",
- "@jest/types": "^27.0.2",
- "babel-jest": "^27.0.5",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.0.5",
- "jest-environment-jsdom": "^27.0.5",
- "jest-environment-node": "^27.0.5",
- "jest-get-type": "^27.0.1",
- "jest-jasmine2": "^27.0.5",
- "jest-regex-util": "^27.0.1",
- "jest-resolve": "^27.0.5",
- "jest-runner": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.0.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/jest-config/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-config/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-config/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-config/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
- },
- "node_modules/jest-config/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-config/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-diff": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz",
- "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.0.1",
- "jest-get-type": "^27.0.1",
- "pretty-format": "^27.0.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-diff/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-diff/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-diff/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-diff/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
- },
- "node_modules/jest-diff/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-diff/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-docblock": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz",
- "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==",
- "dev": true,
- "dependencies": {
- "detect-newline": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-each": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz",
- "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.1",
- "jest-util": "^27.0.2",
- "pretty-format": "^27.0.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-each/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-each/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-each/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-each/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
- },
- "node_modules/jest-each/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-each/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-environment-jsdom": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.5.tgz",
- "integrity": "sha512-ToWhViIoTl5738oRaajTMgYhdQL73UWPoV4GqHGk2DPhs+olv8OLq5KoQW8Yf+HtRao52XLqPWvl46dPI88PdA==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.0.5",
- "@jest/fake-timers": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "jest-mock": "^27.0.3",
- "jest-util": "^27.0.2",
- "jsdom": "^16.6.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-environment-node": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.5.tgz",
- "integrity": "sha512-47qqScV/WMVz5OKF5TWpAeQ1neZKqM3ySwNveEnLyd+yaE/KT6lSMx/0SOx60+ZUcVxPiESYS+Kt2JS9y4PpkQ==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.0.5",
- "@jest/fake-timers": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "jest-mock": "^27.0.3",
- "jest-util": "^27.0.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-get-type": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz",
- "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==",
- "dev": true,
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-haste-map": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.5.tgz",
- "integrity": "sha512-3LFryGSHxwPFHzKIs6W0BGA2xr6g1MvzSjR3h3D8K8Uqy4vbRm/grpGHzbPtIbOPLC6wFoViRrNEmd116QWSkw==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^27.0.1",
- "jest-serializer": "^27.0.1",
- "jest-util": "^27.0.2",
- "jest-worker": "^27.0.2",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "optionalDependencies": {
- "fsevents": "^2.3.2"
- }
- },
- "node_modules/jest-jasmine2": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.5.tgz",
- "integrity": "sha512-m3TojR19sFmTn79QoaGy1nOHBcLvtLso6Zh7u+gYxZWGcza4rRPVqwk1hciA5ZOWWZIJOukAcore8JRX992FaA==",
- "dev": true,
- "dependencies": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.0.5",
- "@jest/source-map": "^27.0.1",
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "expect": "^27.0.2",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.0.2",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-runtime": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "pretty-format": "^27.0.2",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-jasmine2/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-jasmine2/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-jasmine2/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-jasmine2/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
- },
- "node_modules/jest-jasmine2/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-jasmine2/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-leak-detector": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz",
- "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==",
- "dev": true,
- "dependencies": {
- "jest-get-type": "^27.0.1",
- "pretty-format": "^27.0.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-matcher-utils": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz",
- "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "jest-diff": "^27.0.2",
- "jest-get-type": "^27.0.1",
- "pretty-format": "^27.0.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-matcher-utils/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-matcher-utils/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-matcher-utils/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-matcher-utils/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
- },
- "node_modules/jest-matcher-utils/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-matcher-utils/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-message-util": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz",
- "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.0.2",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-message-util/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-message-util/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-message-util/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-message-util/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
- },
- "node_modules/jest-message-util/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-message-util/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-mock": {
- "version": "27.0.3",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz",
- "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "@types/node": "*"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-pnp-resolver": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
- "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
- "dev": true,
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "jest-resolve": "*"
- },
- "peerDependenciesMeta": {
- "jest-resolve": {
- "optional": true
- }
- }
- },
- "node_modules/jest-regex-util": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz",
- "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==",
- "dev": true,
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-resolve": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.5.tgz",
- "integrity": "sha512-Md65pngRh8cRuWVdWznXBB5eDt391OJpdBaJMxfjfuXCvOhM3qQBtLMCMTykhuUKiBMmy5BhqCW7AVOKmPrW+Q==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "escalade": "^3.1.1",
- "graceful-fs": "^4.2.4",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "resolve": "^1.20.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-resolve-dependencies": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.5.tgz",
- "integrity": "sha512-xUj2dPoEEd59P+nuih4XwNa4nJ/zRd/g4rMvjHrZPEBWeWRq/aJnnM6mug+B+Nx+ILXGtfWHzQvh7TqNV/WbuA==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "jest-regex-util": "^27.0.1",
- "jest-snapshot": "^27.0.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-resolve/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-resolve/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-resolve/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-resolve/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
- },
- "node_modules/jest-resolve/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-resolve/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-runner": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.5.tgz",
- "integrity": "sha512-HNhOtrhfKPArcECgBTcWOc+8OSL8GoFoa7RsHGnfZR1C1dFohxy9eLtpYBS+koybAHlJLZzNCx2Y/Ic3iEtJpQ==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^27.0.2",
- "@jest/environment": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.0.1",
- "jest-environment-jsdom": "^27.0.5",
- "jest-environment-node": "^27.0.5",
- "jest-haste-map": "^27.0.5",
- "jest-leak-detector": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-resolve": "^27.0.5",
- "jest-runtime": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-worker": "^27.0.2",
- "source-map-support": "^0.5.6",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-runner/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-runner/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-runner/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-runner/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
- },
- "node_modules/jest-runner/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-runner/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-runtime": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.5.tgz",
- "integrity": "sha512-V/w/+VasowPESbmhXn5AsBGPfb35T7jZPGZybYTHxZdP7Gwaa+A0EXE6rx30DshHKA98lVCODbCO8KZpEW3hiQ==",
- "dev": true,
- "dependencies": {
- "@jest/console": "^27.0.2",
- "@jest/environment": "^27.0.5",
- "@jest/fake-timers": "^27.0.5",
- "@jest/globals": "^27.0.5",
- "@jest/source-map": "^27.0.1",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.0.5",
- "jest-message-util": "^27.0.2",
- "jest-mock": "^27.0.3",
- "jest-regex-util": "^27.0.1",
- "jest-resolve": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^16.0.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-runtime/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-runtime/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-runtime/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-runtime/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
- },
- "node_modules/jest-runtime/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-runtime/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-serializer": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz",
- "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "graceful-fs": "^4.2.4"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-snapshot": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.5.tgz",
- "integrity": "sha512-H1yFYdgnL1vXvDqMrnDStH6yHFdMEuzYQYc71SnC/IJnuuhW6J16w8GWG1P+qGd3Ag3sQHjbRr0TcwEo/vGS+g==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.7.2",
- "@babel/generator": "^7.7.2",
- "@babel/parser": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.0.0",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/babel__traverse": "^7.0.4",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^27.0.2",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.0.2",
- "jest-get-type": "^27.0.1",
- "jest-haste-map": "^27.0.5",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-resolve": "^27.0.5",
- "jest-util": "^27.0.2",
- "natural-compare": "^1.4.0",
- "pretty-format": "^27.0.2",
- "semver": "^7.3.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-snapshot/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-snapshot/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-snapshot/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-snapshot/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
- },
- "node_modules/jest-snapshot/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-snapshot/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/jest-snapshot/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-util": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz",
- "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-util/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-util/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-util/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-util/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
- },
- "node_modules/jest-util/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-util/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-validate": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz",
- "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.1",
- "leven": "^3.1.0",
- "pretty-format": "^27.0.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-validate/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-validate/node_modules/camelcase": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
- "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/jest-validate/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-validate/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-validate/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
- },
- "node_modules/jest-validate/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-validate/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-watcher": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz",
- "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==",
- "dev": true,
- "dependencies": {
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "jest-util": "^27.0.2",
- "string-length": "^4.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-watcher/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-watcher/node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-watcher/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-watcher/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
- },
- "node_modules/jest-watcher/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-watcher/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-worker": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz",
- "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/jest-worker/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "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,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsdom": {
- "version": "16.6.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz",
- "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==",
- "dev": true,
- "dependencies": {
- "abab": "^2.0.5",
- "acorn": "^8.2.4",
- "acorn-globals": "^6.0.0",
- "cssom": "^0.4.4",
- "cssstyle": "^2.3.0",
- "data-urls": "^2.0.0",
- "decimal.js": "^10.2.1",
- "domexception": "^2.0.1",
- "escodegen": "^2.0.0",
- "form-data": "^3.0.0",
- "html-encoding-sniffer": "^2.0.1",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.0",
- "parse5": "6.0.1",
- "saxes": "^5.0.1",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.0.0",
- "w3c-hr-time": "^1.0.2",
- "w3c-xmlserializer": "^2.0.0",
- "webidl-conversions": "^6.1.0",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.5.0",
- "ws": "^7.4.5",
- "xml-name-validator": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "canvas": "^2.5.0"
- },
- "peerDependenciesMeta": {
- "canvas": {
- "optional": true
- }
- }
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "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,
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonc-parser": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz",
- "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==",
- "dev": true
- },
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/jsonfile/node_modules/universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true,
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/kleur": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/leven": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "dependencies": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
- "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/linkify-it": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz",
- "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==",
- "dev": true,
- "dependencies": {
- "uc.micro": "^1.0.1"
- }
- },
- "node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/makeerror": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
- "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
- "dev": true,
- "dependencies": {
- "tmpl": "1.0.x"
- }
- },
- "node_modules/markdown-it": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz",
- "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==",
- "dev": true,
- "dependencies": {
- "argparse": "^2.0.1",
- "entities": "~3.0.1",
- "linkify-it": "^4.0.1",
- "mdurl": "^1.0.1",
- "uc.micro": "^1.0.5"
- },
- "bin": {
- "markdown-it": "bin/markdown-it.js"
- }
- },
- "node_modules/markdown-it/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/markdownlint": {
- "version": "0.26.2",
- "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz",
- "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==",
- "dev": true,
- "dependencies": {
- "markdown-it": "13.0.1"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/markdownlint-cli": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.32.2.tgz",
- "integrity": "sha512-xmJT1rGueUgT4yGNwk6D0oqQr90UJ7nMyakXtqjgswAkEhYYqjHew9RY8wDbOmh2R270IWjuKSeZzHDEGPAUkQ==",
- "dev": true,
- "dependencies": {
- "commander": "~9.4.0",
- "get-stdin": "~9.0.0",
- "glob": "~8.0.3",
- "ignore": "~5.2.0",
- "js-yaml": "^4.1.0",
- "jsonc-parser": "~3.1.0",
- "markdownlint": "~0.26.2",
- "markdownlint-rule-helpers": "~0.17.2",
- "minimatch": "~5.1.0",
- "run-con": "~1.2.11"
- },
- "bin": {
- "markdownlint": "markdownlint.js"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/markdownlint-cli/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/markdownlint-cli/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/markdownlint-cli/node_modules/glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/markdownlint-cli/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/markdownlint-cli/node_modules/minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/markdownlint-rule-helpers": {
- "version": "0.17.2",
- "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.17.2.tgz",
- "integrity": "sha512-XaeoW2NYSlWxMCZM2B3H7YTG6nlaLfkEZWMBhr4hSPlq9MuY2sy83+Xr89jXOqZMZYjvi5nBCGoFh7hHoPKZmA==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/math-intrinsics": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
- "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
- "dev": true
- },
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
- "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==",
- "dev": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "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,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
- "dev": true
- },
- "node_modules/mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
- "dev": true
- },
- "node_modules/mri": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz",
- "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/nanoid": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "peer": true,
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dev": true,
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/node-fetch/node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
- },
- "node_modules/node-fetch/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
- },
- "node_modules/node-fetch/node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/node-int64": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
- "dev": true
- },
- "node_modules/node-modules-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
- "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
- "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
- "dev": true
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nwsapi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
- "dev": true
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
- "dev": true,
- "dependencies": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/p-each-series": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz",
- "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
- "dev": true
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "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
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "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
- },
- "node_modules/picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pirates": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
- "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
- "dev": true,
- "dependencies": {
- "node-modules-regexp": "^1.0.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.31",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
- "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "peer": true,
- "dependencies": {
- "nanoid": "^3.3.6",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-cli": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.0.0.tgz",
- "integrity": "sha512-Wjy/00wBBEgQqnSToznxLWDnATznokFGXsHtF/3G8glRZpz5KYlfHcBW/VMJmWAeF2x49zjgy4izjM3/Wx1dKA==",
- "dev": true,
- "dependencies": {
- "chokidar": "^3.3.0",
- "dependency-graph": "^0.11.0",
- "fs-extra": "^10.0.0",
- "get-stdin": "^9.0.0",
- "globby": "^13.0.0",
- "picocolors": "^1.0.0",
- "postcss-load-config": "^4.0.0",
- "postcss-reporter": "^7.0.0",
- "pretty-hrtime": "^1.0.3",
- "read-cache": "^1.0.0",
- "slash": "^4.0.0",
- "yargs": "^17.0.0"
- },
- "bin": {
- "postcss": "index.js"
- },
- "engines": {
- "node": ">=14"
- },
- "peerDependencies": {
- "postcss": "^8.0.0"
- }
- },
- "node_modules/postcss-cli/node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/postcss-cli/node_modules/slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/postcss-cli/node_modules/yargs": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
- "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
- "dev": true,
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/postcss-cli/node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
- "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
- "dev": true,
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^2.1.1"
- },
- "engines": {
- "node": ">= 14"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-reporter": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz",
- "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==",
- "dev": true,
- "dependencies": {
- "picocolors": "^1.0.0",
- "thenby": "^1.3.4"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
- },
- "node_modules/prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/pretty-format": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz",
- "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==",
- "dev": true,
- "dependencies": {
- "@jest/types": "^27.0.2",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/pretty-hrtime": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
- "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "node_modules/progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/prompts": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz",
- "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==",
- "dev": true,
- "dependencies": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "dev": true
- },
- "node_modules/psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
- },
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/puppeteer": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-5.5.0.tgz",
- "integrity": "sha512-OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "debug": "^4.1.0",
- "devtools-protocol": "0.0.818844",
- "extract-zip": "^2.0.0",
- "https-proxy-agent": "^4.0.0",
- "node-fetch": "^2.6.1",
- "pkg-dir": "^4.2.0",
- "progress": "^2.0.1",
- "proxy-from-env": "^1.0.0",
- "rimraf": "^3.0.2",
- "tar-fs": "^2.0.0",
- "unbzip2-stream": "^1.3.3",
- "ws": "^7.2.3"
- },
- "engines": {
- "node": ">=10.18.1"
- }
- },
- "node_modules/puppeteer/node_modules/agent-base": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
- "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
- "dev": true,
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/puppeteer/node_modules/https-proxy-agent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
- "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
- "dev": true,
- "dependencies": {
- "agent-base": "5",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/querystringify": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
- "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
- "dev": true
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "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"
- }
- ]
- },
- "node_modules/react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
- "dev": true,
- "dependencies": {
- "pify": "^2.3.0"
- }
- },
- "node_modules/read-cache/node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true
- },
- "node_modules/resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
- "dev": true,
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/run-con": {
- "version": "1.2.11",
- "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz",
- "integrity": "sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==",
- "dev": true,
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~3.0.0",
- "minimist": "^1.2.6",
- "strip-json-comments": "~3.1.1"
- },
- "bin": {
- "run-con": "cli.js"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "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"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/sade": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz",
- "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==",
- "dev": true,
- "dependencies": {
- "mri": "^1.1.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "node_modules/saxes": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
- "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
- "dev": true,
- "dependencies": {
- "xmlchars": "^2.2.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
- "dev": true
- },
- "node_modules/sisteransi": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
- "dev": true
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/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,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.19",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
- "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
- "dev": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/source-map-support/node_modules/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,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "node_modules/stack-utils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz",
- "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==",
- "dev": true,
- "dependencies": {
- "escape-string-regexp": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/stack-utils/node_modules/escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/string-length": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
- "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
- "dev": true,
- "dependencies": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "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,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "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,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/super-simple-sitemap-generator": {
- "version": "1.0.5",
- "resolved": "git+ssh://git@github.com/etefera/super-simple-sitemap-generator.git#cb84797ded8cbcd24446610acd538b35d2a80ee3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "commander": "^4.1.1",
- "puppeteer": "^2.1.1",
- "xmlbuilder": "^13.0.2"
- },
- "bin": {
- "sitemap": "bin/cli.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/super-simple-sitemap-generator/node_modules/agent-base": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
- "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
- "dev": true,
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/super-simple-sitemap-generator/node_modules/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/super-simple-sitemap-generator/node_modules/extract-zip": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
- "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
- "dev": true,
- "dependencies": {
- "concat-stream": "^1.6.2",
- "debug": "^2.6.9",
- "mkdirp": "^0.5.4",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "extract-zip": "cli.js"
- }
- },
- "node_modules/super-simple-sitemap-generator/node_modules/extract-zip/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/super-simple-sitemap-generator/node_modules/https-proxy-agent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
- "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
- "dev": true,
- "dependencies": {
- "agent-base": "5",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/super-simple-sitemap-generator/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "node_modules/super-simple-sitemap-generator/node_modules/puppeteer": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.1.tgz",
- "integrity": "sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "@types/mime-types": "^2.1.0",
- "debug": "^4.1.0",
- "extract-zip": "^1.6.6",
- "https-proxy-agent": "^4.0.0",
- "mime": "^2.0.3",
- "mime-types": "^2.1.25",
- "progress": "^2.0.1",
- "proxy-from-env": "^1.0.0",
- "rimraf": "^2.6.1",
- "ws": "^6.1.0"
- },
- "engines": {
- "node": ">=8.16.0"
- }
- },
- "node_modules/super-simple-sitemap-generator/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/super-simple-sitemap-generator/node_modules/ws": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
- "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
- "dev": true,
- "dependencies": {
- "async-limiter": "~1.0.0"
- }
- },
- "node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/supports-hyperlinks": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
- "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-hyperlinks/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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-hyperlinks/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,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/symbol-tree": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true
- },
- "node_modules/tar-fs": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz",
- "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dev": true,
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tar-stream/node_modules/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==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/terminal-link": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
- "dev": true,
- "dependencies": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
- "dev": true,
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/thenby": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz",
- "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==",
- "dev": true
- },
- "node_modules/throat": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
- "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==",
- "dev": true
- },
- "node_modules/through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
- },
- "node_modules/tmpl": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
- "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
- "dev": true
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tough-cookie": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
- "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
- "dev": true,
- "dependencies": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.2.0",
- "url-parse": "^1.5.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "dependencies": {
- "prelude-ls": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "dependencies": {
- "is-typedarray": "^1.0.0"
- }
- },
- "node_modules/uc.micro": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
- "dev": true
- },
- "node_modules/unbzip2-stream": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
- "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
- "dev": true,
- "dependencies": {
- "buffer": "^5.2.1",
- "through": "^2.3.8"
- }
- },
- "node_modules/universalify": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
- "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/update-browserslist-db": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
- "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
- "node_modules/url-parse": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
- "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
- "dev": true,
- "dependencies": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "node_modules/v8-to-istanbul": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz",
- "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==",
- "dev": true,
- "dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "engines": {
- "node": ">=10.12.0"
- }
- },
- "node_modules/v8-to-istanbul/node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/w3c-hr-time": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
- "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
- "dev": true,
- "dependencies": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "node_modules/w3c-xmlserializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
- "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
- "dev": true,
- "dependencies": {
- "xml-name-validator": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/walker": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
- "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
- "dev": true,
- "dependencies": {
- "makeerror": "1.0.x"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
- "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
- "dev": true,
- "engines": {
- "node": ">=10.4"
- }
- },
- "node_modules/whatwg-encoding": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
- "dev": true,
- "dependencies": {
- "iconv-lite": "0.4.24"
- }
- },
- "node_modules/whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
- "dev": true
- },
- "node_modules/whatwg-url": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.6.0.tgz",
- "integrity": "sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
- "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/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,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/wrap-ansi/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
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "node_modules/write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "dev": true,
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "node_modules/ws": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz",
- "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==",
- "dev": true,
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/xml-name-validator": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
- "dev": true
- },
- "node_modules/xmlbuilder": {
- "version": "13.0.2",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz",
- "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==",
- "dev": true,
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/xmlchars": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/yaml": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz",
- "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==",
- "dev": true,
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "dev": true,
- "dependencies": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- }
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
- "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
- }
- },
- "@babel/compat-data": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
- "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
- "dev": true
- },
- "@babel/core": {
- "version": "7.14.6",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz",
- "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.14.5",
- "@babel/helper-compilation-targets": "^7.14.5",
- "@babel/helper-module-transforms": "^7.14.5",
- "@babel/helpers": "^7.14.6",
- "@babel/parser": "^7.14.6",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- }
- },
- "@babel/generator": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
- "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.23.0",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
- "jsesc": "^2.5.1"
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz",
- "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.14.5",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
- "semver": "^6.3.0"
- }
- },
- "@babel/helper-environment-visitor": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
- "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
- "dev": true
- },
- "@babel/helper-function-name": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
- "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.22.15",
- "@babel/types": "^7.23.0"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
- "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.22.5"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
- "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz",
- "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz",
- "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-replace-supers": "^7.14.5",
- "@babel/helper-simple-access": "^7.14.5",
- "@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.5",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz",
- "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
- "dev": true
- },
- "@babel/helper-replace-supers": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz",
- "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==",
- "dev": true,
- "requires": {
- "@babel/helper-member-expression-to-functions": "^7.14.5",
- "@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz",
- "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz",
- "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.22.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
- "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.22.5"
- }
- },
- "@babel/helper-string-parser": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
- "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
- "dev": true
- },
- "@babel/helper-validator-identifier": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
- "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
- "dev": true
- },
- "@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
- "dev": true
- },
- "@babel/helpers": {
- "version": "7.14.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz",
- "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
- }
- },
- "@babel/highlight": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
- "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.22.20",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
- }
- },
- "@babel/parser": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
- "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
- "dev": true
- },
- "@babel/plugin-proposal-optional-chaining": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz",
- "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
- }
- },
- "@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
- "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.12.13"
- }
- },
- "@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-typescript": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz",
- "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
- }
- },
- "@babel/traverse": {
- "version": "7.23.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
- "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.22.13",
- "@babel/generator": "^7.23.0",
- "@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-function-name": "^7.23.0",
- "@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.23.0",
- "@babel/types": "^7.23.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- }
- },
- "@babel/types": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
- "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
- "dev": true,
- "requires": {
- "@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.20",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@bcoe/v8-coverage": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
- "dev": true
- },
- "@gouch/to-title-case": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@gouch/to-title-case/-/to-title-case-2.2.1.tgz",
- "integrity": "sha512-i/Hj91LfiE2pxYdIT0Ttdc/fIzdBwojDNQe6S6/N/Uf3xMmn0lWO+iLkAd84zs/NUGfTLsMUacDZzSy6N4jkcw==",
- "dev": true
- },
- "@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- }
- },
- "@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true
- },
- "@jest/console": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz",
- "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^27.0.2",
- "jest-util": "^27.0.2",
- "slash": "^3.0.0"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "@jest/core": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.5.tgz",
- "integrity": "sha512-g73//jF0VwsOIrWUC9Cqg03lU3QoAMFxVjsm6n6yNmwZcQPN/o8w+gLWODw5VfKNFZT38otXHWxc6b8eGDUpEA==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.0.2",
- "@jest/reporters": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^27.0.2",
- "jest-config": "^27.0.5",
- "jest-haste-map": "^27.0.5",
- "jest-message-util": "^27.0.2",
- "jest-regex-util": "^27.0.1",
- "jest-resolve": "^27.0.5",
- "jest-resolve-dependencies": "^27.0.5",
- "jest-runner": "^27.0.5",
- "jest-runtime": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "jest-watcher": "^27.0.2",
- "micromatch": "^4.0.4",
- "p-each-series": "^2.1.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "@jest/environment": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.5.tgz",
- "integrity": "sha512-IAkJPOT7bqn0GiX5LPio6/e1YpcmLbrd8O5EFYpAOZ6V+9xJDsXjdgN2vgv9WOKIs/uA1kf5WeD96HhlBYO+FA==",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "jest-mock": "^27.0.3"
- }
- },
- "@jest/fake-timers": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.5.tgz",
- "integrity": "sha512-d6Tyf7iDoKqeUdwUKrOBV/GvEZRF67m7lpuWI0+SCD9D3aaejiOQZxAOxwH2EH/W18gnfYaBPLi0VeTGBHtQBg==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@sinonjs/fake-timers": "^7.0.2",
- "@types/node": "*",
- "jest-message-util": "^27.0.2",
- "jest-mock": "^27.0.3",
- "jest-util": "^27.0.2"
- }
- },
- "@jest/globals": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.5.tgz",
- "integrity": "sha512-qqKyjDXUaZwDuccpbMMKCCMBftvrbXzigtIsikAH/9ca+kaae8InP2MDf+Y/PdCSMuAsSpHS6q6M25irBBUh+Q==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.0.5",
- "@jest/types": "^27.0.2",
- "expect": "^27.0.2"
- }
- },
- "@jest/reporters": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.5.tgz",
- "integrity": "sha512-4uNg5+0eIfRafnpgu3jCZws3NNcFzhu5JdRd1mKQ4/53+vkIqwB6vfZ4gn5BdGqOaLtYhlOsPaL5ATkKzyBrJw==",
- "dev": true,
- "requires": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.0.2",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.0.5",
- "jest-resolve": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-worker": "^27.0.2",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^8.0.0"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "@jest/source-map": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz",
- "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "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
- }
- }
- },
- "@jest/test-result": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz",
- "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- }
- },
- "@jest/test-sequencer": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.5.tgz",
- "integrity": "sha512-opztnGs+cXzZ5txFG2+omBaV5ge/0yuJNKbhE3DREMiXE0YxBuzyEa6pNv3kk2JuucIlH2Xvgmn9kEEHSNt/SA==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.0.2",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.0.5",
- "jest-runtime": "^27.0.5"
- }
- },
- "@jest/transform": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.5.tgz",
- "integrity": "sha512-lBD6OwKXSc6JJECBNk4mVxtSVuJSBsQrJ9WCBisfJs7EZuYq4K6vM9HmoB7hmPiLIDGeyaerw3feBV/bC4z8tg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^27.0.2",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.0.5",
- "jest-regex-util": "^27.0.1",
- "jest-util": "^27.0.2",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "@jest/types": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz",
- "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dev": true,
- "requires": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
- "dev": true
- },
- "@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "dev": true
- },
- "@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
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.19",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
- "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
- "dev": true,
- "requires": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@sinonjs/commons": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
- "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
- "dev": true,
- "requires": {
- "type-detect": "4.0.8"
- }
- },
- "@sinonjs/fake-timers": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
- "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true
- },
- "@types/babel__core": {
- "version": "7.1.14",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz",
- "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "@types/babel__generator": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz",
- "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__template": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz",
- "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__traverse": {
- "version": "7.11.1",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz",
- "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.3.0"
- }
- },
- "@types/graceful-fs": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
- "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
- "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
- "dev": true
- },
- "@types/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "@types/istanbul-reports": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
- "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/mime-types": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz",
- "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=",
- "dev": true
- },
- "@types/node": {
- "version": "15.12.4",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz",
- "integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==",
- "dev": true
- },
- "@types/prettier": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.0.tgz",
- "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==",
- "dev": true
- },
- "@types/stack-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz",
- "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==",
- "dev": true
- },
- "@types/yargs": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz",
- "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "@types/yargs-parser": {
- "version": "20.2.0",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz",
- "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==",
- "dev": true
- },
- "@types/yauzl": {
- "version": "2.9.1",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
- "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==",
- "dev": true,
- "optional": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "abab": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
- "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
- "dev": true
- },
- "acorn": {
- "version": "8.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
- "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
- "dev": true
- },
- "acorn-globals": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
- "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- },
- "dependencies": {
- "acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true
- }
- }
- },
- "acorn-walk": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
- "dev": true
- },
- "agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "requires": {
- "debug": "4"
- }
- },
- "ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
- "requires": {
- "type-fest": "^0.21.3"
- }
- },
- "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-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "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"
- }
- },
- "async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
- "dev": true
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
- "autoprefixer": {
- "version": "10.4.16",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
- "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==",
- "dev": true,
- "requires": {
- "browserslist": "^4.21.10",
- "caniuse-lite": "^1.0.30001538",
- "fraction.js": "^4.3.6",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "babel-jest": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.5.tgz",
- "integrity": "sha512-bTMAbpCX7ldtfbca2llYLeSFsDM257aspyAOpsdrdSrBqoLkWCy4HPYTXtXWaSLgFPjrJGACL65rzzr4RFGadw==",
- "dev": true,
- "requires": {
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^27.0.1",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "babel-plugin-istanbul": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
- "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^4.0.0",
- "test-exclude": "^6.0.0"
- }
- },
- "babel-plugin-jest-hoist": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz",
- "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@types/babel__traverse": "^7.0.6"
- }
- },
- "babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
- "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- }
- },
- "babel-preset-jest": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz",
- "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "^27.0.1",
- "babel-preset-current-node-syntax": "^1.0.0"
- }
- },
- "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
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true
- },
- "bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dev": true,
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- },
- "dependencies": {
- "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==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "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": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browser-process-hrtime": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
- "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
- "dev": true
- },
- "browserslist": {
- "version": "4.22.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
- "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001541",
- "electron-to-chromium": "^1.4.535",
- "node-releases": "^2.0.13",
- "update-browserslist-db": "^1.0.13"
- }
- },
- "bser": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
- "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
- "dev": true,
- "requires": {
- "node-int64": "^0.4.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "call-bind-apply-helpers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
- "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
- "dev": true,
- "requires": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "caniuse-lite": {
- "version": "1.0.30001546",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz",
- "integrity": "sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==",
- "dev": true
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "char-regex": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
- "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
- "dev": true
- },
- "chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- }
- },
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "ci-info": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
- "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
- "dev": true
- },
- "cjs-module-lexer": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz",
- "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==",
- "dev": true
- },
- "cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true
- },
- "collect-v8-coverage": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
- "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
- "dev": true
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "commander": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz",
- "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "cssom": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
- "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
- "dev": true
- },
- "cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
- "dev": true,
- "requires": {
- "cssom": "~0.3.6"
- },
- "dependencies": {
- "cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- }
- }
- },
- "data-urls": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
- "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
- "dev": true,
- "requires": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- }
- },
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "decimal.js": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.0.tgz",
- "integrity": "sha512-MrQRs2gyD//7NeHi9TtsfClkf+cFAewDz+PZHR8ILKglLmBMyVX3ymQ+oeznE3tjrS7beTN+6JXb2C3JDHm7ug==",
- "dev": true
- },
- "dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
- "dev": true
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
- "dev": true
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
- "dependency-graph": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
- "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==",
- "dev": true
- },
- "detect-newline": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
- "dev": true
- },
- "devtools-protocol": {
- "version": "0.0.818844",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz",
- "integrity": "sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==",
- "dev": true
- },
- "diff-sequences": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz",
- "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==",
- "dev": true
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "domexception": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
- "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
- "dev": true,
- "requires": {
- "webidl-conversions": "^5.0.0"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
- "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
- "dev": true
- }
- }
- },
- "dunder-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
- "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
- "dev": true,
- "requires": {
- "call-bind-apply-helpers": "^1.0.1",
- "es-errors": "^1.3.0",
- "gopd": "^1.2.0"
- }
- },
- "electron-to-chromium": {
- "version": "1.4.542",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.542.tgz",
- "integrity": "sha512-6+cpa00G09N3sfh2joln4VUXHquWrOFx3FLZqiVQvl45+zS9DskDBTPvob+BhvFRmTBkyDSk0vvLMMRo/qc6mQ==",
- "dev": true
- },
- "emittery": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
- "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==",
- "dev": true
- },
- "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
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "entities": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
- "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
- "dev": true
- },
- "es-define-property": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
- "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
- "dev": true
- },
- "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
- },
- "es-object-atoms": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
- "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
- "dev": true,
- "requires": {
- "es-errors": "^1.3.0"
- }
- },
- "es-set-tostringtag": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
- "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
- "dev": true,
- "requires": {
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6",
- "has-tostringtag": "^1.0.2",
- "hasown": "^2.0.2"
- }
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "escodegen": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
- "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
- "dev": true,
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "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,
- "optional": true
- }
- }
- },
- "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
- },
- "estraverse": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
- "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- }
- },
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "expect": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz",
- "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "ansi-styles": "^5.0.0",
- "jest-get-type": "^27.0.1",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-regex-util": "^27.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dev": true,
- "requires": {
- "@types/yauzl": "^2.9.1",
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- }
- }
- },
- "fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "fb-watchman": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
- "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
- "dev": true,
- "requires": {
- "bser": "2.1.1"
- }
- },
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "dev": true,
- "requires": {
- "pend": "~1.2.0"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "form-data": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
- "integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "es-set-tostringtag": "^2.1.0",
- "hasown": "^2.0.2",
- "mime-types": "^2.1.35"
- }
- },
- "fraction.js": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz",
- "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==",
- "dev": true
- },
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true
- },
- "fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true
- }
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "optional": true
- },
- "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
- },
- "gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "get-intrinsic": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
- "dev": true,
- "requires": {
- "call-bind-apply-helpers": "^1.0.2",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "function-bind": "^1.1.2",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "math-intrinsics": "^1.1.0"
- }
- },
- "get-package-type": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
- "dev": true
- },
- "get-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
- "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
- "dev": true,
- "requires": {
- "dunder-proto": "^1.0.1",
- "es-object-atoms": "^1.0.0"
- }
- },
- "get-stdin": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
- "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
- "dev": true
- },
- "get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true
- },
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
- },
- "globby": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz",
- "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==",
- "dev": true,
- "requires": {
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.11",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
- },
- "dependencies": {
- "slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true
- }
- }
- },
- "gopd": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
- "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
- "dev": true
- },
- "graceful-fs": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
- "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "has-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
- "dev": true
- },
- "has-tostringtag": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.3"
- }
- },
- "hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.2"
- }
- },
- "href-checker": {
- "version": "git+ssh://git@github.com/etefera/href-checker.git#b60a5f983aeed02df5a635825f05aac66b7292fa",
- "dev": true,
- "from": "href-checker@etefera/href-checker#docsify",
- "requires": {
- "puppeteer": "^5.4.1",
- "sade": "^1.7.4"
- }
- },
- "html-encoding-sniffer": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
- "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
- "dev": true,
- "requires": {
- "whatwg-encoding": "^1.0.5"
- }
- },
- "html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
- "dev": true,
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true
- },
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true
- },
- "import-local": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
- "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
- "dev": true,
- "requires": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "ini": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz",
- "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==",
- "dev": true
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-ci": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz",
- "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==",
- "dev": true,
- "requires": {
- "ci-info": "^3.1.1"
- }
- },
- "is-core-module": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
- "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true
- },
- "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
- },
- "is-generator-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
- "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "is-potential-custom-element-name": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true
- },
- "is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "istanbul-lib-coverage": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
- "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
- "dev": true
- },
- "istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- }
- },
- "istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- },
- "dependencies": {
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "istanbul-lib-source-maps": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
- "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "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
- }
- }
- },
- "istanbul-reports": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
- "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
- "dev": true,
- "requires": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- }
- },
- "jest": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.5.tgz",
- "integrity": "sha512-4NlVMS29gE+JOZvgmSAsz3eOjkSsHqjTajlIsah/4MVSmKvf3zFP/TvgcLoWe2UVHiE9KF741sReqhF0p4mqbQ==",
- "dev": true,
- "requires": {
- "@jest/core": "^27.0.5",
- "import-local": "^3.0.2",
- "jest-cli": "^27.0.5"
- }
- },
- "jest-changed-files": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz",
- "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- }
- },
- "jest-circus": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.5.tgz",
- "integrity": "sha512-p5rO90o1RTh8LPOG6l0Fc9qgp5YGv+8M5CFixhMh7gGHtGSobD1AxX9cjFZujILgY8t30QZ7WVvxlnuG31r8TA==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.0.2",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.0.2",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-runtime": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "pretty-format": "^27.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-cli": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.5.tgz",
- "integrity": "sha512-kZqY020QFOFQKVE2knFHirTBElw3/Q0kUbDc3nMfy/x+RQ7zUY89SUuzpHHJoSX1kX7Lq569ncvjNqU3Td/FCA==",
- "dev": true,
- "requires": {
- "@jest/core": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "import-local": "^3.0.2",
- "jest-config": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "prompts": "^2.0.1",
- "yargs": "^16.0.3"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-config": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.5.tgz",
- "integrity": "sha512-zCUIXag7QIXKEVN4kUKbDBDi9Q53dV5o3eNhGqe+5zAbt1vLs4VE3ceWaYrOub0L4Y7E9pGfM84TX/0ARcE+Qw==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.0.5",
- "@jest/types": "^27.0.2",
- "babel-jest": "^27.0.5",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.0.5",
- "jest-environment-jsdom": "^27.0.5",
- "jest-environment-node": "^27.0.5",
- "jest-get-type": "^27.0.1",
- "jest-jasmine2": "^27.0.5",
- "jest-regex-util": "^27.0.1",
- "jest-resolve": "^27.0.5",
- "jest-runner": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.0.2"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-diff": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz",
- "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.0.1",
- "jest-get-type": "^27.0.1",
- "pretty-format": "^27.0.2"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-docblock": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz",
- "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==",
- "dev": true,
- "requires": {
- "detect-newline": "^3.0.0"
- }
- },
- "jest-each": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz",
- "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.1",
- "jest-util": "^27.0.2",
- "pretty-format": "^27.0.2"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-environment-jsdom": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.5.tgz",
- "integrity": "sha512-ToWhViIoTl5738oRaajTMgYhdQL73UWPoV4GqHGk2DPhs+olv8OLq5KoQW8Yf+HtRao52XLqPWvl46dPI88PdA==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.0.5",
- "@jest/fake-timers": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "jest-mock": "^27.0.3",
- "jest-util": "^27.0.2",
- "jsdom": "^16.6.0"
- }
- },
- "jest-environment-node": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.5.tgz",
- "integrity": "sha512-47qqScV/WMVz5OKF5TWpAeQ1neZKqM3ySwNveEnLyd+yaE/KT6lSMx/0SOx60+ZUcVxPiESYS+Kt2JS9y4PpkQ==",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.0.5",
- "@jest/fake-timers": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "jest-mock": "^27.0.3",
- "jest-util": "^27.0.2"
- }
- },
- "jest-get-type": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz",
- "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==",
- "dev": true
- },
- "jest-haste-map": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.5.tgz",
- "integrity": "sha512-3LFryGSHxwPFHzKIs6W0BGA2xr6g1MvzSjR3h3D8K8Uqy4vbRm/grpGHzbPtIbOPLC6wFoViRrNEmd116QWSkw==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "fsevents": "^2.3.2",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^27.0.1",
- "jest-serializer": "^27.0.1",
- "jest-util": "^27.0.2",
- "jest-worker": "^27.0.2",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- }
- },
- "jest-jasmine2": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.5.tgz",
- "integrity": "sha512-m3TojR19sFmTn79QoaGy1nOHBcLvtLso6Zh7u+gYxZWGcza4rRPVqwk1hciA5ZOWWZIJOukAcore8JRX992FaA==",
- "dev": true,
- "requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.0.5",
- "@jest/source-map": "^27.0.1",
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "expect": "^27.0.2",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.0.2",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-runtime": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "pretty-format": "^27.0.2",
- "throat": "^6.0.1"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-leak-detector": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz",
- "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==",
- "dev": true,
- "requires": {
- "jest-get-type": "^27.0.1",
- "pretty-format": "^27.0.2"
- }
- },
- "jest-matcher-utils": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz",
- "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^27.0.2",
- "jest-get-type": "^27.0.1",
- "pretty-format": "^27.0.2"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-message-util": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz",
- "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.0.2",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-mock": {
- "version": "27.0.3",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz",
- "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@types/node": "*"
- }
- },
- "jest-pnp-resolver": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
- "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
- "dev": true,
- "requires": {}
- },
- "jest-regex-util": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz",
- "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==",
- "dev": true
- },
- "jest-resolve": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.5.tgz",
- "integrity": "sha512-Md65pngRh8cRuWVdWznXBB5eDt391OJpdBaJMxfjfuXCvOhM3qQBtLMCMTykhuUKiBMmy5BhqCW7AVOKmPrW+Q==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "chalk": "^4.0.0",
- "escalade": "^3.1.1",
- "graceful-fs": "^4.2.4",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "resolve": "^1.20.0",
- "slash": "^3.0.0"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-resolve-dependencies": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.5.tgz",
- "integrity": "sha512-xUj2dPoEEd59P+nuih4XwNa4nJ/zRd/g4rMvjHrZPEBWeWRq/aJnnM6mug+B+Nx+ILXGtfWHzQvh7TqNV/WbuA==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "jest-regex-util": "^27.0.1",
- "jest-snapshot": "^27.0.5"
- }
- },
- "jest-runner": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.5.tgz",
- "integrity": "sha512-HNhOtrhfKPArcECgBTcWOc+8OSL8GoFoa7RsHGnfZR1C1dFohxy9eLtpYBS+koybAHlJLZzNCx2Y/Ic3iEtJpQ==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.0.2",
- "@jest/environment": "^27.0.5",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.0.1",
- "jest-environment-jsdom": "^27.0.5",
- "jest-environment-node": "^27.0.5",
- "jest-haste-map": "^27.0.5",
- "jest-leak-detector": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-resolve": "^27.0.5",
- "jest-runtime": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-worker": "^27.0.2",
- "source-map-support": "^0.5.6",
- "throat": "^6.0.1"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-runtime": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.5.tgz",
- "integrity": "sha512-V/w/+VasowPESbmhXn5AsBGPfb35T7jZPGZybYTHxZdP7Gwaa+A0EXE6rx30DshHKA98lVCODbCO8KZpEW3hiQ==",
- "dev": true,
- "requires": {
- "@jest/console": "^27.0.2",
- "@jest/environment": "^27.0.5",
- "@jest/fake-timers": "^27.0.5",
- "@jest/globals": "^27.0.5",
- "@jest/source-map": "^27.0.1",
- "@jest/test-result": "^27.0.2",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.0.5",
- "jest-message-util": "^27.0.2",
- "jest-mock": "^27.0.3",
- "jest-regex-util": "^27.0.1",
- "jest-resolve": "^27.0.5",
- "jest-snapshot": "^27.0.5",
- "jest-util": "^27.0.2",
- "jest-validate": "^27.0.2",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^16.0.3"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-serializer": {
- "version": "27.0.1",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz",
- "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "graceful-fs": "^4.2.4"
- }
- },
- "jest-snapshot": {
- "version": "27.0.5",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.5.tgz",
- "integrity": "sha512-H1yFYdgnL1vXvDqMrnDStH6yHFdMEuzYQYc71SnC/IJnuuhW6J16w8GWG1P+qGd3Ag3sQHjbRr0TcwEo/vGS+g==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.2",
- "@babel/generator": "^7.7.2",
- "@babel/parser": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.0.0",
- "@jest/transform": "^27.0.5",
- "@jest/types": "^27.0.2",
- "@types/babel__traverse": "^7.0.4",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^27.0.2",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.0.2",
- "jest-get-type": "^27.0.1",
- "jest-haste-map": "^27.0.5",
- "jest-matcher-utils": "^27.0.2",
- "jest-message-util": "^27.0.2",
- "jest-resolve": "^27.0.5",
- "jest-util": "^27.0.2",
- "natural-compare": "^1.4.0",
- "pretty-format": "^27.0.2",
- "semver": "^7.3.2"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-util": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz",
- "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "picomatch": "^2.2.3"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-validate": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz",
- "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.1",
- "leven": "^3.1.0",
- "pretty-format": "^27.0.2"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "camelcase": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
- "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-watcher": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz",
- "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.0.2",
- "@jest/types": "^27.0.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "jest-util": "^27.0.2",
- "string-length": "^4.0.1"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- },
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-worker": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz",
- "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "dependencies": {
- "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
- },
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "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"
- }
- },
- "jsdom": {
- "version": "16.6.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz",
- "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==",
- "dev": true,
- "requires": {
- "abab": "^2.0.5",
- "acorn": "^8.2.4",
- "acorn-globals": "^6.0.0",
- "cssom": "^0.4.4",
- "cssstyle": "^2.3.0",
- "data-urls": "^2.0.0",
- "decimal.js": "^10.2.1",
- "domexception": "^2.0.1",
- "escodegen": "^2.0.0",
- "form-data": "^3.0.0",
- "html-encoding-sniffer": "^2.0.1",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.0",
- "parse5": "6.0.1",
- "saxes": "^5.0.1",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.0.0",
- "w3c-hr-time": "^1.0.2",
- "w3c-xmlserializer": "^2.0.0",
- "webidl-conversions": "^6.1.0",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.5.0",
- "ws": "^7.4.5",
- "xml-name-validator": "^3.0.0"
- }
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "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.1.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz",
- "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==",
- "dev": true
- },
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true
- }
- }
- },
- "kleur": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
- "dev": true
- },
- "leven": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
- "dev": true
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- }
- },
- "lilconfig": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
- "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
- "dev": true
- },
- "linkify-it": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz",
- "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==",
- "dev": true,
- "requires": {
- "uc.micro": "^1.0.1"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- },
- "makeerror": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
- "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
- "dev": true,
- "requires": {
- "tmpl": "1.0.x"
- }
- },
- "markdown-it": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz",
- "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==",
- "dev": true,
- "requires": {
- "argparse": "^2.0.1",
- "entities": "~3.0.1",
- "linkify-it": "^4.0.1",
- "mdurl": "^1.0.1",
- "uc.micro": "^1.0.5"
- },
- "dependencies": {
- "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
- }
- }
- },
- "markdownlint": {
- "version": "0.26.2",
- "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz",
- "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==",
- "dev": true,
- "requires": {
- "markdown-it": "13.0.1"
- }
- },
- "markdownlint-cli": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.32.2.tgz",
- "integrity": "sha512-xmJT1rGueUgT4yGNwk6D0oqQr90UJ7nMyakXtqjgswAkEhYYqjHew9RY8wDbOmh2R270IWjuKSeZzHDEGPAUkQ==",
- "dev": true,
- "requires": {
- "commander": "~9.4.0",
- "get-stdin": "~9.0.0",
- "glob": "~8.0.3",
- "ignore": "~5.2.0",
- "js-yaml": "^4.1.0",
- "jsonc-parser": "~3.1.0",
- "markdownlint": "~0.26.2",
- "markdownlint-rule-helpers": "~0.17.2",
- "minimatch": "~5.1.0",
- "run-con": "~1.2.11"
- },
- "dependencies": {
- "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
- },
- "brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- }
- },
- "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,
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- }
- }
- },
- "markdownlint-rule-helpers": {
- "version": "0.17.2",
- "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.17.2.tgz",
- "integrity": "sha512-XaeoW2NYSlWxMCZM2B3H7YTG6nlaLfkEZWMBhr4hSPlq9MuY2sy83+Xr89jXOqZMZYjvi5nBCGoFh7hHoPKZmA==",
- "dev": true
- },
- "math-intrinsics": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
- "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
- "dev": true
- },
- "mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
- "dev": true
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
- "mime": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
- "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==",
- "dev": true
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true
- },
- "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": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
- "dev": true
- },
- "mri": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz",
- "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==",
- "dev": true
- },
- "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.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
- "dev": true,
- "peer": true
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dev": true,
- "requires": {
- "whatwg-url": "^5.0.0"
- },
- "dependencies": {
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- }
- }
- },
- "node-int64": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
- "dev": true
- },
- "node-modules-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
- "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
- "dev": true
- },
- "node-releases": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
- "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
- "dev": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
- "dev": true
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "nwsapi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
- "dev": true,
- "requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- }
- },
- "p-each-series": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz",
- "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==",
- "dev": true
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
- "dev": true
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "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-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- },
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "dev": true
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
- "dev": true
- },
- "pirates": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
- "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
- "dev": true,
- "requires": {
- "node-modules-regexp": "^1.0.0"
- }
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "postcss": {
- "version": "8.4.31",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
- "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "nanoid": "^3.3.6",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- },
- "postcss-cli": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.0.0.tgz",
- "integrity": "sha512-Wjy/00wBBEgQqnSToznxLWDnATznokFGXsHtF/3G8glRZpz5KYlfHcBW/VMJmWAeF2x49zjgy4izjM3/Wx1dKA==",
- "dev": true,
- "requires": {
- "chokidar": "^3.3.0",
- "dependency-graph": "^0.11.0",
- "fs-extra": "^10.0.0",
- "get-stdin": "^9.0.0",
- "globby": "^13.0.0",
- "picocolors": "^1.0.0",
- "postcss-load-config": "^4.0.0",
- "postcss-reporter": "^7.0.0",
- "pretty-hrtime": "^1.0.3",
- "read-cache": "^1.0.0",
- "slash": "^4.0.0",
- "yargs": "^17.0.0"
- },
- "dependencies": {
- "cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- }
- },
- "slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true
- },
- "yargs": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
- "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
- "dev": true,
- "requires": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
- }
- },
- "yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true
- }
- }
- },
- "postcss-load-config": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
- "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
- "dev": true,
- "requires": {
- "lilconfig": "^2.0.5",
- "yaml": "^2.1.1"
- }
- },
- "postcss-reporter": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz",
- "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==",
- "dev": true,
- "requires": {
- "picocolors": "^1.0.0",
- "thenby": "^1.3.4"
- }
- },
- "postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
- },
- "pretty-format": {
- "version": "27.0.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz",
- "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==",
- "dev": true,
- "requires": {
- "@jest/types": "^27.0.2",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "pretty-hrtime": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
- "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true
- },
- "prompts": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz",
- "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==",
- "dev": true,
- "requires": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- }
- },
- "proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "dev": true
- },
- "psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "puppeteer": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-5.5.0.tgz",
- "integrity": "sha512-OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg==",
- "dev": true,
- "requires": {
- "debug": "^4.1.0",
- "devtools-protocol": "0.0.818844",
- "extract-zip": "^2.0.0",
- "https-proxy-agent": "^4.0.0",
- "node-fetch": "^2.6.1",
- "pkg-dir": "^4.2.0",
- "progress": "^2.0.1",
- "proxy-from-env": "^1.0.0",
- "rimraf": "^3.0.2",
- "tar-fs": "^2.0.0",
- "unbzip2-stream": "^1.3.3",
- "ws": "^7.2.3"
- },
- "dependencies": {
- "agent-base": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
- "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
- "dev": true
- },
- "https-proxy-agent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
- "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
- "dev": true,
- "requires": {
- "agent-base": "5",
- "debug": "4"
- }
- }
- }
- },
- "querystringify": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
- "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
- "dev": true
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true
- },
- "react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
- "read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
- "dev": true,
- "requires": {
- "pify": "^2.3.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
- },
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true
- },
- "resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- }
- },
- "resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
- "dev": true,
- "requires": {
- "resolve-from": "^5.0.0"
- }
- },
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "run-con": {
- "version": "1.2.11",
- "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz",
- "integrity": "sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==",
- "dev": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~3.0.0",
- "minimist": "^1.2.6",
- "strip-json-comments": "~3.1.1"
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "sade": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz",
- "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==",
- "dev": true,
- "requires": {
- "mri": "^1.1.0"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "saxes": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
- "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
- "dev": true,
- "requires": {
- "xmlchars": "^2.2.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
- "dev": true
- },
- "sisteransi": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "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,
- "peer": true
- },
- "source-map-support": {
- "version": "0.5.19",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
- "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "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
- }
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "stack-utils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz",
- "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^2.0.0"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true
- }
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "string-length": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
- "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
- "dev": true,
- "requires": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- }
- },
- "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"
- }
- },
- "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": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-bom": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
- "dev": true
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true
- },
- "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
- },
- "super-simple-sitemap-generator": {
- "version": "git+ssh://git@github.com/etefera/super-simple-sitemap-generator.git#cb84797ded8cbcd24446610acd538b35d2a80ee3",
- "dev": true,
- "from": "super-simple-sitemap-generator@etefera/super-simple-sitemap-generator",
- "requires": {
- "commander": "^4.1.1",
- "puppeteer": "^2.1.1",
- "xmlbuilder": "^13.0.2"
- },
- "dependencies": {
- "agent-base": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
- "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
- "dev": true
- },
- "commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "dev": true
- },
- "extract-zip": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
- "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
- "dev": true,
- "requires": {
- "concat-stream": "^1.6.2",
- "debug": "^2.6.9",
- "mkdirp": "^0.5.4",
- "yauzl": "^2.10.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "https-proxy-agent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
- "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
- "dev": true,
- "requires": {
- "agent-base": "5",
- "debug": "4"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "puppeteer": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.1.tgz",
- "integrity": "sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==",
- "dev": true,
- "requires": {
- "@types/mime-types": "^2.1.0",
- "debug": "^4.1.0",
- "extract-zip": "^1.6.6",
- "https-proxy-agent": "^4.0.0",
- "mime": "^2.0.3",
- "mime-types": "^2.1.25",
- "progress": "^2.0.1",
- "proxy-from-env": "^1.0.0",
- "rimraf": "^2.6.1",
- "ws": "^6.1.0"
- }
- },
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "ws": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
- "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0"
- }
- }
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "supports-hyperlinks": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
- "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- },
- "dependencies": {
- "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
- },
- "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": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "symbol-tree": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true
- },
- "tar-fs": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz",
- "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==",
- "dev": true,
- "requires": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dev": true,
- "requires": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "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==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "terminal-link": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- }
- },
- "test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
- "dev": true,
- "requires": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- }
- },
- "thenby": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz",
- "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==",
- "dev": true
- },
- "throat": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
- "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==",
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
- },
- "tmpl": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
- "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
- "dev": true
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "tough-cookie": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
- "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
- "dev": true,
- "requires": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.2.0",
- "url-parse": "^1.5.3"
- }
- },
- "tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2"
- }
- },
- "type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true
- },
- "type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "uc.micro": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
- "dev": true
- },
- "unbzip2-stream": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
- "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
- "dev": true,
- "requires": {
- "buffer": "^5.2.1",
- "through": "^2.3.8"
- }
- },
- "universalify": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
- "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
- "dev": true
- },
- "update-browserslist-db": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
- "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
- "dev": true,
- "requires": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- }
- },
- "url-parse": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
- "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
- "dev": true,
- "requires": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "v8-to-istanbul": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz",
- "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "dependencies": {
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
- }
- }
- },
- "w3c-hr-time": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
- "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
- "dev": true,
- "requires": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "w3c-xmlserializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
- "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
- "dev": true,
- "requires": {
- "xml-name-validator": "^3.0.0"
- }
- },
- "walker": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
- "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
- "dev": true,
- "requires": {
- "makeerror": "1.0.x"
- }
- },
- "webidl-conversions": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
- "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
- "dev": true
- },
- "whatwg-encoding": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
- "dev": true,
- "requires": {
- "iconv-lite": "0.4.24"
- }
- },
- "whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
- "dev": true
- },
- "whatwg-url": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.6.0.tgz",
- "integrity": "sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==",
- "dev": true,
- "requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "word-wrap": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
- "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
- "dev": true
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "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": {
- "color-convert": "^2.0.1"
- }
- },
- "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": {
- "color-name": "~1.1.4"
- }
- },
- "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
- }
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "ws": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz",
- "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==",
- "dev": true,
- "requires": {}
- },
- "xml-name-validator": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
- "dev": true
- },
- "xmlbuilder": {
- "version": "13.0.2",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz",
- "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==",
- "dev": true
- },
- "xmlchars": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "yaml": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz",
- "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==",
- "dev": true
- },
- "yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- }
- },
- "yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true
- },
- "yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "dev": true,
- "requires": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- }
- }
-}
diff --git a/site/package.json b/site/package.json
deleted file mode 100644
index f0ac908980..0000000000
--- a/site/package.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "main": "none.js",
- "scripts": {
- "test": "jest",
- "lint-check": "node node_modules/markdownlint-cli/markdownlint.js -c markdownlint.json -i node_modules . ../scripts",
- "lint-fix": "node node_modules/markdownlint-cli/markdownlint.js -c markdownlint.json -i node_modules --fix . ../scripts"
- },
- "devDependencies": {
- "@babel/plugin-proposal-optional-chaining": "^7.14.2",
- "@gouch/to-title-case": "^2.2.1",
- "autoprefixer": "^10.4.16",
- "href-checker": "etefera/href-checker#docsify",
- "jest": "^27.0.4",
- "markdownlint-cli": "^0.32.2",
- "postcss-cli": "^10.0.0",
- "super-simple-sitemap-generator": "etefera/super-simple-sitemap-generator"
- }
-}
diff --git a/site/reference/README.md b/site/reference/README.md
deleted file mode 100644
index 727598f3e3..0000000000
--- a/site/reference/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Reference
-
-- [CLI Reference](/reference/cli/)
-- [Schema Reference](/reference/schema/)
-- [Annotations Reference](/reference/annotations/)
diff --git a/site/reference/annotations/README.md b/site/reference/annotations/README.md
deleted file mode 100644
index b65cf074fd..0000000000
--- a/site/reference/annotations/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Annotations Reference
-
-The following annotations are used to configure kpt features:
-
-| Annotation | Description |
-| ---------- | ----------- |
-| [config.kubernetes.io/depends-on] | specifies one or more resource dependencies |
-| [config.kubernetes.io/apply-time-mutation] | specifies one or more substitutions to make at apply time using dependencies as input |
-| [config.kubernetes.io/local-config] | specifies a resource to be skipped when applying |
-
-The following annotations are used by kpt internally:
-
-| Annotation | Description |
-| ---------- | ----------- |
-| `internal.config.kubernetes.io/path` | specifies the resource's file path when formatted as a ResourceList |
-| `internal.config.kubernetes.io/index` | specifies the index of the resource in a file when formatted as a ResourceList |
-| `config.kubernetes.io/merge-source` | specifies the source of the resource during a three way merge |
-
-[config.kubernetes.io/depends-on]: /reference/annotations/depends-on/
-[config.kubernetes.io/apply-time-mutation]: /reference/annotations/apply-time-mutation/
-[config.kubernetes.io/local-config]: /reference/annotations/local-config/
diff --git a/site/reference/annotations/apply-time-mutation/README.md b/site/reference/annotations/apply-time-mutation/README.md
deleted file mode 100644
index 5e9a31fff9..0000000000
--- a/site/reference/annotations/apply-time-mutation/README.md
+++ /dev/null
@@ -1,225 +0,0 @@
----
-title: "`apply-time-mutation`"
-linkTitle: "apply-time-mutation"
-type: docs
-description: >
- Specify one or more substitutions to make at apply time using dependencies as input.
----
-
-The `config.kubernetes.io/apply-time-mutation` annotation specifies one or more
-substitutions to make at apply time using dependencies as input.
-
-### Schema
-
-The annotation value accepts a list of substitutions, formatted as a YAML string.
-
-- (\[\][Substitution]), required
-
- A list of one or more substitutions to perform on the annotated object.
-
-#### Substitution
-
-A substitution is a modification to a specific target field.
-
-- **sourceRef**: ([ObjectReference]), required
-
- Reference to the source resource, the dependency for this substitution.
-
-- **sourcePath**: (string), required
-
- The source resource field to read from as input, specified with [JSONPath].
-
-- **targetPath**: (string), required
-
- The target resource field to write to as output, specified with [JSONPath].
-
-- **token**: (string)
-
- The substring to replace in the target resource field.
-
- If the token is unspecified, the whole target field value will be replaced,
- allowing for replacement of non-string values using the source field type.
-
-#### ObjectReference
-
-A reference to a specific resource object.
-
-- **apiVersion**: (string)
-
- The group and version of the object resource.
-
- One of the following is required: apiVersion or group.
-
-- **group**: (string)
-
- The group of the object resource.
-
- Group is accepted as a version-less alternative to APIVersion.
-
- Group must be empty for resources in the "core" group.
-
- One of the following is required: apiVersion or group.
-
-- **kind**: (string), required
-
- The kind of the object resource.
-
-- **name**: (string), required
-
- The name of the object.
-
-- **namespace**: (string)
-
- The namespace of the object.
-
- Namespace is required for namespaced resources.
-
-### Behavior
-
-Like the `depends-on` feature, `apply-time-mutation` waits for dependencies
-(source resources) to be applied and reconciled before applying the resource
-with the annotation.
-
-Unlike the `depends-on` feature, `apply-time-mutation` modifies the annotated
-resource before applying it.
-
-#### Special cases
-
-If the source resource is not part of the package being applied, the apply of
-the target resource will fail with an error.
-
-The `apply-time-mutation` annotation is only enforced by `kpt live apply` and
-`kpt live destroy`. Modifying or deleting these resources with other mechanisms
-will not follow the rules specified by these annotations.
-
-### JSONPath syntax
-
-Since there is no formal specification for JSONPath, the supported syntax
-depends on the chosen implementation. In this case, kpt uses the
-[ajson](https://github.com/spyzhov/ajson) library. For details about what
-language features are supported, see the
-[json-path-comparison table](https://cburgmer.github.io/json-path-comparison/).
-
-### Example
-
-In this example, pod-b depends on pod-a with two substitutions that replace
-tokens in the same target field. The value of the SERVICE_HOST environment
-variable of a container in pod-b will be updated to represent the host and port
-from pod-a.
-
-Create a new kpt package:
-
-```shell
-mkdir my-pkg
-cd my-pkg
-kpt pkg init
-```
-
-Configure two pods, with one that depends on the other:
-
-```shell
-cat > pods.yaml << EOF
-kind: Pod
-apiVersion: v1
-metadata:
- name: pod-a
- namespace: test
-spec:
- containers:
- - name: nginx
- image: nginx:1.21
- ports:
- - name: tcp
- containerPort: 80
----
-apiVersion: v1
-kind: Pod
-metadata:
- name: pod-b
- namespace: test
- annotations:
- config.kubernetes.io/apply-time-mutation: |
- - sourceRef:
- kind: Pod
- name: pod-a
- sourcePath: $.status.podIP
- targetPath: $.spec.containers[?(@.name=="nginx")].env[?(@.name=="SERVICE_HOST")].value
- token: ${pod-a-ip}
- - sourceRef:
- kind: Pod
- name: pod-a
- sourcePath: $.spec.containers[?(@.name=="nginx")].ports[?(@.name=="tcp")].containerPort
- targetPath: $.spec.containers[?(@.name=="nginx")].env[?(@.name=="SERVICE_HOST")].value
- token: ${pod-a-port}
-spec:
- containers:
- - name: nginx
- image: nginx:1.21
- ports:
- - name: tcp
- containerPort: 80
- env:
- - name: SERVICE_HOST
- value: "${pod-a-ip}:${pod-a-port}"
-EOF
-```
-
-Create a namespace for your package:
-
-```shell
-kubectl create namespace test
-```
-
-Initialize the package inventory:
-
-```shell
-kpt live init
-```
-
-Apply the package to your Kubernetes cluster:
-
-```shell
-kpt live apply
-```
-
-If all goes well, the output should look like this:
-
-```
-pod/pod-a created
-1 resource(s) applied. 1 created, 0 unchanged, 0 configured, 0 failed
-pod/pod-b created
-1 resource(s) applied. 1 created, 0 unchanged, 0 configured, 0 failed
-```
-
-To verify that the SERVICE_HOST was mutated correctly:
-
-```shell
-# Read the IP of pod-a
-kubectl get pod pod-a -n test \
- -o jsonpath='{.status.podIP}'
-```
-
-```shell
-# Read the SERVICE_HOST of pod-b
-kubectl get pod pod-b -n test \
- -o jsonpath='{.spec.containers[?(@.name=="nginx")].env[?(@.name=="SERVICE_HOST")].value}'
-```
-
-Delete the package from your Kubernetes cluster:
-
-```shell
-kpt live destroy
-```
-
-If all goes well, the output should look like this:
-
-```
-pod/pod-b deleted
-1 resource(s) deleted, 0 skipped
-pod/pod-a deleted
-1 resource(s) deleted, 0 skipped
-```
-
-[Substitution]: /reference/annotations/apply-time-mutation/#substitution
-[ObjectReference]: /reference/annotations/apply-time-mutation/#objectreference
-[JSONPath]: /reference/annotations/apply-time-mutation/#jsonpath-syntax
diff --git a/site/reference/annotations/depends-on/README.md b/site/reference/annotations/depends-on/README.md
deleted file mode 100644
index a38fb3ee65..0000000000
--- a/site/reference/annotations/depends-on/README.md
+++ /dev/null
@@ -1,115 +0,0 @@
----
-title: "`depends-on`"
-linkTitle: "depends-on"
-type: docs
-description: >
- Specify one or more resource dependencies.
----
-
-The `config.kubernetes.io/depends-on` annotation specifies one or more resource
-dependencies.
-
-### Schema
-
-The annotation value accepts a list of resource references, delimited by commas.
-
-#### Resource reference
-
-A resource reference is a string that uniquely identifies a resource.
-
-It consists of the group, kind, name, and optionally the namespace, delimited by
-forward slashes.
-
-| Resource Scope | Format |
-| -------------- | ------ |
-| namespace-scoped | `/namespaces///` |
-| cluster-scoped | `//` |
-
-For resources in the "core" group, the empty string is used instead
-(for example: `/namespaces/test/Pod/pod-a`).
-
-### Example
-
-In this example, pod-b depends on pod-a.
-
-Create a new kpt package:
-
-```shell
-mkdir my-pkg
-cd my-pkg
-kpt pkg init
-```
-
-Configure two pods, with one that depends on the other:
-
-```shell
-cat > pods.yaml << EOF
-kind: Pod
-apiVersion: v1
-metadata:
- name: pod-a
- namespace: test
-spec:
- containers:
- - name: nginx
- image: nginx:1.21
- ports:
- - containerPort: 80
----
-kind: Pod
-apiVersion: v1
-metadata:
- name: pod-b
- namespace: test
- annotations:
- config.kubernetes.io/depends-on: /namespaces/test/Pod/pod-a
-spec:
- containers:
- - name: nginx
- image: nginx:1.21
- ports:
- - containerPort: 80
-EOF
-```
-
-Create a namespace for your package:
-
-```shell
-kubectl create namespace test
-```
-
-Initialize the package inventory:
-
-```shell
-kpt live init
-```
-
-Apply the package to your Kubernetes cluster:
-
-```shell
-kpt live apply
-```
-
-If all goes well, the output should look like this:
-
-```
-pod/pod-a created
-1 resource(s) applied. 1 created, 0 unchanged, 0 configured, 0 failed
-pod/pod-b created
-1 resource(s) applied. 1 created, 0 unchanged, 0 configured, 0 failed
-```
-
-Delete the package from your Kubernetes cluster:
-
-```shell
-kpt live destroy
-```
-
-If all goes well, the output should look like this:
-
-```
-pod/pod-b deleted
-1 resource(s) deleted, 0 skipped
-pod/pod-a deleted
-1 resource(s) deleted, 0 skipped
-```
diff --git a/site/reference/annotations/local-config/README.md b/site/reference/annotations/local-config/README.md
deleted file mode 100644
index be2e733b7b..0000000000
--- a/site/reference/annotations/local-config/README.md
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: "`local-config`"
-linkTitle: "local-config"
-type: docs
-description: >
- Specify a resource to be skipped when applying.
----
-
-The `config.kubernetes.io/local-config` annotation specifies a resource to be
-skipped when applying.
-
-These resources are generally used as input to kpt functions.
-
-Because local resources are not applied, they don't need to follow a resource
-schema known by the cluster. They just need to be a valid Kubernetes resource,
-with apiVersion, kind, metadata, and name.
-
-### Schema
-
-The annotation value accepts string values of `true` and `false`.
-
-Make sure to surround the value in quotes, otherwise it will be considered a
-YAML boolean (invalid annotation), not a string.
-
-### Behavior
-
-Resources with the `local-config` annotation set to any value except `false`
-will not be applied to the cluster when using `kpt live apply`.
-
-### Example
-
-In this example, the `ConfigMap` `cm-a` is local and not applied.
-
-Create a new kpt package:
-
-```shell
-mkdir my-pkg
-cd my-pkg
-kpt pkg init
-```
-
-Configure a local `ConfigMap`:
-
-```shell
-cat > setters.yaml << EOF
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: setters
- annotations:
- config.kubernetes.io/local-config: "true"
-data:
- key-a: value-a
- key-b: value-b
-EOF
-```
-
-Create a namespace for your package:
-
-```shell
-kubectl create namespace test
-```
-
-Initialize the package inventory:
-
-```shell
-kpt live init
-```
-
-Apply the package to your Kubernetes cluster:
-
-```shell
-kpt live apply
-```
-
-If all goes well, the output should be empty.
-
-To verify that the `ConfigMap` was not created:
-
-```shell
-kubectl get ConfigMap setters
-```
-
-The request should error:
-
-```
-Error from server (NotFound): configmaps "setters" not found
-```
diff --git a/site/reference/cli/README.md b/site/reference/cli/README.md
deleted file mode 100755
index 656b06d45b..0000000000
--- a/site/reference/cli/README.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# CLI Reference
-
-
-
-
-
-All kpt commands follow this general synopsis:
-
-```
-kpt [PKG_PATH] [flags]
-```
-
-kpt functionality is divided into following command groups:
-
-| Group | Description |
-| ------- | --------------------------------------------------------------------- |
-| [pkg] | get, update, and describe packages with resources. |
-| [fn] | generate, transform, validate packages using containerized functions. |
-| [live] | deploy local configuration packages to a cluster. |
-| [alpha] | commands currently in alpha and might change without notice. |
-
-
-
-[pkg]: /reference/cli/pkg/
-[fn]: /reference/cli/fn/
-[live]: /reference/cli/live/
-[alpha]: /reference/cli/alpha/
\ No newline at end of file
diff --git a/site/reference/cli/TEMPLATE.md b/site/reference/cli/TEMPLATE.md
deleted file mode 100644
index 8f3b85e71a..0000000000
--- a/site/reference/cli/TEMPLATE.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: "`cmd`"
-linkTitle: "cmd"
-type: docs
-description: >
-One line description of the command
----
-
-
-Short description of the command. The command should be referred to verbatim and
-not be capitalized, for example `get`, `update`, `fn`.
-The documentation for each command should be focused and concise. Any fundamental
-concepts or concerns cutting across many command should be covered in the kpt book
-and the reference docs should provide deep links to the relevant content.
-Args, flags, and env vars should be listed in alphabetical order.
-
-### Synopsis
-
-```
-kpt [flags]
-```
-
-#### Args
-```
-EXAMPLE_ARG:
- Description of the arg. This should include information about whether the ARG
- is required and if it is not, what would be the default value. It should use
- correct grammar, including capitalization and punctuation.
-```
-
-#### Flags
-```
---example-flag:
- Description of the flag, including the default value. It should use correct
- grammar, including capitalization and punctuation.
-```
-
-#### Env Vars
-```
-EXAMPLE_ENV_VAR:
- Description of the env variable. It should use correct
- grammar, including capitalization and punctuation.
-```
-
-
-### Examples
-
-
-```shell
-# Examples of how to use the command. This should include the most common use-cases
-# and include an example where the local package argument is not provided.
-# The description of each example should use correct grammar, including capitalization
-# and punctuation.
-kpt ...
-```
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/README.md b/site/reference/cli/alpha/README.md
deleted file mode 100644
index 5bd43b690d..0000000000
--- a/site/reference/cli/alpha/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: "`alpha`"
-linkTitle: "alpha"
-type: docs
-weight: 4
-description: >
- This command is currently in alpha and might change without notice.
----
-
-
-
-
-The `alpha` command group contains subcommands which are in alpha and might change without notice.
-
diff --git a/site/reference/cli/alpha/live/README.md b/site/reference/cli/alpha/live/README.md
deleted file mode 100644
index 6dfff280e3..0000000000
--- a/site/reference/cli/alpha/live/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: "`live`"
-linkTitle: "live"
-type: docs
-weight: 4
-description: >
- Deploy local packages to a cluster.
----
-
-
-
-
-The `live` command group contains subcommands for deploying local
-`kpt` packages to a cluster.
-
-
diff --git a/site/reference/cli/alpha/live/plan/README.md b/site/reference/cli/alpha/live/plan/README.md
deleted file mode 100644
index 0dc017d30e..0000000000
--- a/site/reference/cli/alpha/live/plan/README.md
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: "`plan`"
-linkTitle: "plan"
-type: docs
-description: >
- Output a plan for the changes that will happen when applying a package.
----
-
-
-
-?> This feature is still in alpha, so the UX and the output format is subject to change.
-
-`plan` does a dry-run of applying a package to the cluster. It outputs the results
-in combination with a diff for every resource that will be updated, which gives an
-overview of the impact of applying a package.
-
-Note that `plan` does only works reliably with server-side apply.
-
-### Synopsis
-
-
-
-```
-kpt alpha live plan [PKG_PATH | -] [flags]
-```
-
-#### Args
-
-```
-PKG_PATH | -:
- Path to the local package which should be applied to the cluster. It must
- contain a Kptfile with inventory information. Defaults to the current working
- directory.
- Using '-' as the package path will cause kpt to read resources from stdin.
-```
-
-#### Flags
-
-```
---field-manager:
- Identifier for the **owner** of the fields being applied. Only usable
- when --server-side flag is specified. Default value is kubectl.
-
---force-conflicts:
- Force overwrite of field conflicts during apply due to different field
- managers. Only usable when --server-side flag is specified.
- Default value is false (error and failure when field managers conflict).
-
---inventory-policy:
- Determines how to handle overlaps between the package being currently applied
- and existing resources in the cluster. The available options are:
-
- * strict: If any of the resources already exist in the cluster, but doesn't
- belong to the current package, it is considered an error.
- * adopt: If a resource already exist in the cluster, but belongs to a
- different package, it is considered an error. Resources that doesn't belong
- to other packages are adopted into the current package.
-
- The default value is `strict`.
-
---output:
- Determines the output format for the plan. Must be one of the following:
-
- * text: The plan will be printed as text to stdout.
- * krm: The plan will be printed as a Plan KRM resource to stdout. This
- can be used as input to kpt functions for automatic validation.
-
- The default value is ‘text’.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# create a plan for the package in the current directory and output in KRM format.
-$ kpt alpha live plan --output=krm
-```
-
diff --git a/site/reference/cli/alpha/repo/README.md b/site/reference/cli/alpha/repo/README.md
deleted file mode 100644
index 40b588a121..0000000000
--- a/site/reference/cli/alpha/repo/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: "`repo`"
-linkTitle: "repo"
-type: docs
-weight: 4
-description: >
- Manage package repositories.
----
-
-
-
-
-The `repo` command group contains subcommands for managing package repositories.
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/repo/get/README.md b/site/reference/cli/alpha/repo/get/README.md
deleted file mode 100644
index 5655c7c3c8..0000000000
--- a/site/reference/cli/alpha/repo/get/README.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: "`get`"
-linkTitle: "get"
-type: docs
-description: >
- List registered repositories.
----
-
-
-
-`get` lists registered repositories.
-
-### Synopsis
-
-
-
-```
-kpt alpha repo get [REPOSITORY_NAME] [flags]
-```
-
-#### Args
-
-```
-REPOSITORY_NAME:
- The name of a repository. If provided, only that specific
- repository will be shown. Defaults to showing all registered
- repositories.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# list all repositories registered in the default namespace
-$ kpt alpha repo get --namespace default
-```
-
-```shell
-# show the repository named foo in the bar namespace
-$ kpt alpha repo get foo --namespace bar
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/repo/reg/README.md b/site/reference/cli/alpha/repo/reg/README.md
deleted file mode 100644
index bde3075094..0000000000
--- a/site/reference/cli/alpha/repo/reg/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: "`reg`"
-linkTitle: "reg"
-type: docs
-description: >
- Register a package repository.
----
-
-
-
-`reg` registers a new repository.
-
-### Synopsis
-
-
-
-```
-kpt alpha repo reg REPOSITORY [flags]
-```
-
-#### Args
-
-```
-REPOSITORY:
- The URI for the registry. It can be either a git repository
- or an oci repository. For the latter, the URI must have the
- 'oci://' prefix.
-```
-
-#### Flags
-
-```
---branch:
- Branch within the repository where finalized packages are
- commited. The default is to use the 'main' branch.
-
---deployment:
- Tags the repository as a deployment repository. Packages in
- a deployment repository are considered ready for deployment.
-
---description:
- Description of the repository.
-
---directory:
- Directory within the repository where packages are found. The
- default is the root of the repository.
-
---name:
- Name of the repository. By default the last segment of the
- repository URL will be used as the name.
-
---repo-basic-username:
- Username for authenticating to a repository with basic auth.
-
---repo-basic-password:
- Password for authenticating to a repository with basic auth.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# register a new git repository with the name generated from the URI.
-$ kpt alpha repo register https://github.com/platkrm/demo-blueprints.git --namespace=default
-```
-
-```shell
-# register a new deployment repository with name foo.
-$ kpt alpha repo register https://github.com/platkrm/blueprints-deployment.git --name=foo --deployment --namespace=bar
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/repo/unreg/README.md b/site/reference/cli/alpha/repo/unreg/README.md
deleted file mode 100644
index bef3aa7459..0000000000
--- a/site/reference/cli/alpha/repo/unreg/README.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: "`unreg`"
-linkTitle: "unreg"
-type: docs
-description: >
- Unregister a repository.
----
-
-
-
-`unreg` unregisters a repository.
-
-### Synopsis
-
-
-
-```
-kpt alpha repo unreg REPOSITORY_NAME [flags]
-```
-
-#### Args
-
-```
-REPOSITORY_NAME:
- The name of a repository.
-```
-
-#### Flags
-
-```
---keep-auth-secret:
- Keep the Secret object with auth information referenced by the repository.
- By default, it will be deleted when the repository is unregistered.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# unregister a repository and keep the auth secret.
-$ kpt alpha repo unreg registered-repository --namespace=default --keep-auth-secret
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/README.md b/site/reference/cli/alpha/rpkg/README.md
deleted file mode 100644
index a6a25ee655..0000000000
--- a/site/reference/cli/alpha/rpkg/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: "`rpkg`"
-linkTitle: "rpkg"
-type: docs
-description: >
- Manage packages.
----
-
-
-
-
-The `rpkg` command group contains subcommands for managing packages and revisions.
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/approve/README.md b/site/reference/cli/alpha/rpkg/approve/README.md
deleted file mode 100644
index b37ed56569..0000000000
--- a/site/reference/cli/alpha/rpkg/approve/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: "`approve`"
-linkTitle: "approve"
-type: docs
-description: >
- Approve a proposal to publish a package revision.
----
-
-
-
-`approve` publishes a package revision
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg approve [PACKAGE_REV_NAME...] [flags]
-```
-
-#### Args
-
-```
-PACKAGE_REV_NAME...:
- The name of one or more package revisions. If more than
- one is provided, they must be space-separated.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# approve package revision blueprint-91817620282c133138177d16c981cf35f0083cad
-$ kpt alpha rpkg approve blueprint-91817620282c133138177d16c981cf35f0083cad --namespace=default
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/clone/README.md b/site/reference/cli/alpha/rpkg/clone/README.md
deleted file mode 100644
index f75e360ee7..0000000000
--- a/site/reference/cli/alpha/rpkg/clone/README.md
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: "`clone`"
-linkTitle: "clone"
-type: docs
-description: >
- Create a clone of an existing package revision.
----
-
-
-
-`clone` creates a new package revision by cloning an existing one. The
-new package revision will keep a reference to the source that can be used
-to pull in updates.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg clone SOURCE_PACKAGE_REV TARGET_PACKAGE_NAME [flags]
-```
-
-#### Args
-
-```
-SOURCE_PACKAGE_REV:
- The source package that will be cloned to create the new package revision.
- The types of sources are supported:
-
- * OCI: A URI to a OCI repository must be provided.
- oci://oci-repository/package-name
- * Git: A URI to a git repository must be provided.
- https://git-repository.git/package-name
- * Package: The name of a package revision already available in the
- repository.
- blueprint-e982b2196b35a4f5e81e92f49a430fe463aa9f1a
-
-TARGET_PACKAGE_NAME:
- The name of the new package.
-
-```
-
-#### Flags
-
-```
---directory
- Directory within the repository where the upstream
- package revision is located. This only applies if the source package is in git
- or oci.
-
---ref
- Ref in the repository where the upstream package revision
- is located (branch, tag, SHA). This only applies when the source package
- is in git.
-
---repository
- Repository to which package revision will be cloned
- (downstream repository).
-
---workspace
- Workspace for the new package. The default value is v1.
-
---strategy
- Update strategy that should be used when updating the new
- package revision. Must be one of: resource-merge, fast-forward, or
- force-delete-replace. The default value is resource-merge.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# clone the blueprint-e982b2196b35a4f5e81e92f49a430fe463aa9f1a package and create a new package revision called
-# foo in the blueprint repository with a custom workspaceName.
-$ kpt alpha rpkg clone blueprint-e982b2196b35a4f5e81e92f49a430fe463aa9f1a foo --repository blueprint --workspace=first-draft
-```
-
-```shell
-# clone the git repository at https://github.com/repo/blueprint.git at reference base/v0 and in directory base. The new
-# package revision will be created in repository blueprint and namespace default.
-$ kpt alpha rpkg clone https://github.com/repo/blueprint.git bar --repository=blueprint --ref=base/v0 --namespace=default --directory=base
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/copy/README.md b/site/reference/cli/alpha/rpkg/copy/README.md
deleted file mode 100644
index 658455496d..0000000000
--- a/site/reference/cli/alpha/rpkg/copy/README.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: "`copy`"
-linkTitle: "copy"
-type: docs
-description: >
- Create a new package revision from an existing one.
----
-
-
-
-`copy` creates a new package revision from an existing one. The new
-revision will be identical to the existing one but with a different
-workspace.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg copy SOURCE_PACKAGE_REV_NAME [flags]
-```
-
-#### Args
-
-```
-SOURCE_PACKAGE_REV_NAME:
- The name of the package revision that will be used as the source
- for creating a new package revision.
-```
-
-#### Flags
-
-```
---workspace
- Workspace for the new package revision.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# create a new package from package blueprint-b47eadc99f3c525571d3834cc61b974453bc6be2
-$ kpt alpha rpkg copy blueprint-b47eadc99f3c525571d3834cc61b974453bc6be2 --workspace=v10 --namespace=default
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/del/README.md b/site/reference/cli/alpha/rpkg/del/README.md
deleted file mode 100644
index a1dd6b00c2..0000000000
--- a/site/reference/cli/alpha/rpkg/del/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: "`del`"
-linkTitle: "del"
-type: docs
-description: >
- Delete a package revision.
----
-
-
-
-`del` removes a package revision from the repository.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg del PACKAGE_REV_NAME... [flags]
-```
-
-#### Args
-
-```
-PACKAGE_REV_NAME...:
- The name of one or more package revisions. If more than
- one is provided, they must be space-separated.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# remove package revision blueprint-e982b2196b35a4f5e81e92f49a430fe463aa9f1a from the default namespace
-$ kpt alpha rpkg del blueprint-e982b2196b35a4f5e81e92f49a430fe463aa9f1a --namespace=default
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/get/README.md b/site/reference/cli/alpha/rpkg/get/README.md
deleted file mode 100644
index 9004c2de92..0000000000
--- a/site/reference/cli/alpha/rpkg/get/README.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: "`get`"
-linkTitle: "get"
-type: docs
-description: >
- List package revisions in registered repositories.
----
-
-
-
-`get` lists package revisions in the registered repositories.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg get [PACKAGE_REV_NAME] [flags]
-```
-
-#### Args
-
-```
-PACKAGE_REV_NAME:
- The name of a package revision. If provided, only that specific
- package revision will be shown. Defaults to showing all package
- revisions from all repositories.
-```
-
-#### Flags
-
-```
---name
- Name of the packages to get. Any package whose name contains
- this value will be included in the results.
-
---revision
- Revision of the package to get. Any package whose revision
- matches this value will be included in the results.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# get a specific package revision in the default namespace
-$ kpt alpha rpkg get blueprint-e982b2196b35a4f5e81e92f49a430fe463aa9f1a --namespace=default
-```
-
-```shell
-# get all package revisions in the bar namespace
-$ kpt alpha rpkg get --namespace=bar
-```
-
-```shell
-# get all package revisions with revision v0
-$ kpt alpha rpkg get --revision=v0
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/init/README.md b/site/reference/cli/alpha/rpkg/init/README.md
deleted file mode 100644
index 0f0abd0511..0000000000
--- a/site/reference/cli/alpha/rpkg/init/README.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: "`init`"
-linkTitle: "init"
-type: docs
-description: >
- Initializes a new package in a repository.
----
-
-
-
-`init` initializes a new package in a repository. The inital package revision
-will be empty.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg init PACKAGE_NAME [flags]
-```
-
-#### Args
-
-```
-PACKAGE_NAME:
- The name of the new package.
-```
-
-#### Flags
-
-```
---repository
- Repository in which the new package will be created.
-
---workspace
- Workspace of the new package.
-
---description
- Short description of the package
-
---keywords
- List of keywords for the package
-
---site
- Link to page with information about the package
-```
-
-
-
-### Examples
-
-
-
-```shell
-# create a new package named foo in the repository blueprint.
-$ kpt alpha rpkg init foo --namespace=default --repository=blueprint --workspace=v1
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/propose-delete/README.md b/site/reference/cli/alpha/rpkg/propose-delete/README.md
deleted file mode 100644
index c9f3e9442d..0000000000
--- a/site/reference/cli/alpha/rpkg/propose-delete/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: "`propose-delete`"
-linkTitle: "propose-delete"
-type: docs
-description: >
- Propose deletion of a published package revision.
----
-
-
-
-`propose-delete` proposes a published package revision for deletion, i.e.
-changes its lifecycle from 'Published' to 'DeletionProposed'.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg propose-delete PACKAGE_REV_NAME... [flags]
-```
-
-#### Args
-
-```
-PACKAGE_REV_NAME...:
-The name of one or more package revisions. If more than
-one is provided, they must be space-separated.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# Propose published package revision blueprint-e982b2196b35a4f5e81e92f49a430fe463aa9f1a for deletion.
-$ kpt alpha rpkg propose-delete blueprint-e982b2196b35a4f5e81e92f49a430fe463aa9f1a --namespace=default
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/propose/README.md b/site/reference/cli/alpha/rpkg/propose/README.md
deleted file mode 100644
index 06d0350a28..0000000000
--- a/site/reference/cli/alpha/rpkg/propose/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: "`propose`"
-linkTitle: "propse"
-type: docs
-description: >
- Propose that a package revision should be published.
----
-
-
-
-`propose` creates a proposal for the package revision to be published.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg propose [PACKAGE_REV_NAME...] [flags]
-```
-
-#### Args
-
-```
-PACKAGE_REV_NAME...:
- The name of one or more package revisions. If more than
- one is provided, they must be space-separated.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# propose that package revision blueprint-91817620282c133138177d16c981cf35f0083cad should be finalized.
-$ kpt alpha rpkg propose blueprint-91817620282c133138177d16c981cf35f0083cad --namespace=default
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/pull/README.md b/site/reference/cli/alpha/rpkg/pull/README.md
deleted file mode 100644
index cf6a83707e..0000000000
--- a/site/reference/cli/alpha/rpkg/pull/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: "`pull`"
-linkTitle: "pull"
-type: docs
-description: >
- Pull the content of the package revision.
----
-
-
-
-`pull` fetches the content of the package revision from the
-repository.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg pull PACKAGE_REV_NAME [DIR] [flags]
-```
-
-#### Args
-
-```
-PACKAGE_REV_NAME:
- The name of a an existing package revision in a repository.
-
-DIR:
- A local directory where the package manifests will be written.
- If not provided, the manifests are written to stdout.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# pull the content of package revision blueprint-d5b944d27035efba53836562726fb96e51758d97
-$ kpt alpha rpkg pull blueprint-d5b944d27035efba53836562726fb96e51758d97 --namespace=default
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/push/README.md b/site/reference/cli/alpha/rpkg/push/README.md
deleted file mode 100644
index 40cc103d0b..0000000000
--- a/site/reference/cli/alpha/rpkg/push/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: "`push`"
-linkTitle: "push"
-type: docs
-description: >
- Push resources to a package revision.
----
-
-
-
-`push` update the content of a package revision with
-the provided resources.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg push PACKAGE_REV_NAME [DIR] [flags]
-```
-
-#### Args
-
-```
-PACKAGE_REV_NAME:
- The name of a an existing package revision in a repository.
-
-DIR:
- A local directory with the new manifest. If not provided,
- the manifests will be read from stdin.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# update the package revision blueprint-f977350dff904fa677100b087a5bd989106d0456 with the resources
-# in the ./package directory
-$ kpt alpha rpkg push blueprint-f977350dff904fa677100b087a5bd989106d0456 ./package --namespace=default
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/reject/README.md b/site/reference/cli/alpha/rpkg/reject/README.md
deleted file mode 100644
index 5aa2723357..0000000000
--- a/site/reference/cli/alpha/rpkg/reject/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: "`reject`"
-linkTitle: "reject"
-type: docs
-description: >
- Reject a proposal to publish or delete a package revision.
----
-
-
-
-`reject` closes a proposal for publishing or deleting a package revision.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg reject [PACKAGE_REV_NAME...] [flags]
-```
-
-#### Args
-
-```
-PACKAGE_REV_NAME...:
- The name of one or more package revisions. If more than
- one is provided, they must be space-separated.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# reject the proposal for package revision blueprint-8f9a0c7bf29eb2cbac9476319cd1ad2e897be4f9
-$ kpt alpha rpkg reject blueprint-8f9a0c7bf29eb2cbac9476319cd1ad2e897be4f9 --namespace=default
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/rpkg/update/README.md b/site/reference/cli/alpha/rpkg/update/README.md
deleted file mode 100644
index ebcf4e5d8a..0000000000
--- a/site/reference/cli/alpha/rpkg/update/README.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: "`clone`"
-linkTitle: "clone"
-type: docs
-description: >
-Update a downstream package revision to a more recent revision of its upstream package.
----
-
-
-
-`update` performs a kpt pkg update on an existing downstream package revision.
-
-### Synopsis
-
-
-
-```
-kpt alpha rpkg update PACKAGE_REV_NAME [flags]
-```
-
-#### Args
-
-```
-PACKAGE_REV_NAME:
-The target downstream package revision to be updated.
-
-```
-
-#### Flags
-
-```
---revision
-The revision number of the upstream kpt package that the target
-downstream package (PACKAGE_REV_NAME) should be updated to. With
-this flag, you can only specify one target downstream package.
-
---discover
-If set, list packages revisions that need updates rather than
-performing an update. Must be one of 'upstream' or 'downstream'. If
-set to 'upstream', this will list downstream package revisions that
-have upstream updates available. If set to 'downstream', this will list
-upstream package revisions whose downstream package revisions need
-to be updated. You can optionally pass in package revision names as arguments
-in order to just list updates for those package revisions, or you can
-pass in no arguments in order to list available updates for all package
-revisions.
-
-```
-
-
-
-### Examples
-
-
-
-```shell
-# update deployment-e982b2196b35a4f5e81e92f49a430fe463aa9f1a package to v3 of its upstream
-$ kpt alpha rpkg update deployment-e982b2196b35a4f5e81e92f49a430fe463aa9f1a --revision=v3
-```
-
-```shell
-# see available upstream updates for all your downstream packages
-$ kpt alpha rpkg update --discover=upstream
-```
-
-```shell
-# see available updates for any downstream packages that were created from the upstream blueprints-e982b2196b35a4f5e81e92f49a430fe463aa9f1a package
-$ kpt alpha rpkg update --discover=downstream blueprints-e982b2196b35a4f5e81e92f49a430fe463aa9f1a
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/sync/README.md b/site/reference/cli/alpha/sync/README.md
deleted file mode 100644
index 2a6d143fc8..0000000000
--- a/site/reference/cli/alpha/sync/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: "`sync`"
-linkTitle: "sync"
-type: docs
-description: >
- Deploy packages.
----
-
-
-
-
-The `sync` command group contains subcommands for deploying packages.
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/sync/create/README.md b/site/reference/cli/alpha/sync/create/README.md
deleted file mode 100644
index a7c028d12b..0000000000
--- a/site/reference/cli/alpha/sync/create/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title: "`create`"
-linkTitle: "create"
-type: docs
-description: >
- Create a new sync resource in the cluster.
----
-
-
-
-`create` adds a new RootSync resource to the cluster which references
-the specified package. Config Sync then deploys the package into the cluster.
-
-### Synopsis
-
-
-
-```
-kpt alpha sync create DEPLOYMENT_NAME [flags]
-```
-
-#### Args
-
-```
-DEPLOYMENT_NAME:
- The name of the sync resource created in the cluster.
-```
-
-#### Flags
-
-```
---package
- Name of the package that should be deployed. It must exist in a
- deployment repo and be published.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# get a specific package in the default namespace
-$ kpt alpha sync create my-app --package=deployment-8f9a0c7bf29eb2cbac9476319cd1ad2e897be4f9 --namespace=default
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/sync/delete/README.md b/site/reference/cli/alpha/sync/delete/README.md
deleted file mode 100644
index 35ed210e97..0000000000
--- a/site/reference/cli/alpha/sync/delete/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title: "`delete`"
-linkTitle: "delete"
-type: docs
-description: >
- Remove a sync resource from the cluster.
----
-
-
-
-`delete` removes a sync resource from the cluster. This will also remove
-the package resources.
-
-### Synopsis
-
-
-
-```
-kpt alpha sync delete DEPLOYMENT_NAME [flags]
-```
-
-#### Args
-
-```
-DEPLOYMENT_NAME:
- The name of the sync resource deleted from the cluster.
-```
-
-#### Flags
-
-```
---keep-auth-secret
- Do not delete the repository authentication secret, if it exists.
-
---timeout
- How long we should wait for all resources to be deleted from the cluster.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# remove the my-app sync resource from the cluster. Wait up to 5 minutes for
-# resources to be deleted.
-$ kpt alpha sync delete my-app --timeout=5m
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/sync/get/README.md b/site/reference/cli/alpha/sync/get/README.md
deleted file mode 100644
index c9128759ff..0000000000
--- a/site/reference/cli/alpha/sync/get/README.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: "`get`"
-linkTitle: "get"
-type: docs
-description: >
- Get sync resources from the cluster.
----
-
-
-
-`get` lists sync resources in the cluster.
-
-### Synopsis
-
-
-
-```
-kpt alpha sync get [DEPLOYMENT_NAME] [flags]
-```
-
-#### Args
-
-```
-DEPLOYMENT_NAME:
- The name of a sync resource.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# get the sync resource named my-app from the cluster.
-$ kpt alpha sync get my-app
-```
-
-
\ No newline at end of file
diff --git a/site/reference/cli/alpha/wasm/README.md b/site/reference/cli/alpha/wasm/README.md
deleted file mode 100644
index eb6f5a3054..0000000000
--- a/site/reference/cli/alpha/wasm/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: "`wasm`"
-linkTitle: "wasm"
-type: docs
-weight: 4
-description: >
-Manage WASM modules as OCI images.
----
-
-
-
-
-The `wasm` command group contains subcommands for managing WASM modules as OCI images.
-
diff --git a/site/reference/cli/alpha/wasm/pull/README.md b/site/reference/cli/alpha/wasm/pull/README.md
deleted file mode 100644
index ae0dec3fc5..0000000000
--- a/site/reference/cli/alpha/wasm/pull/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: "`pull`"
-linkTitle: "pull"
-type: docs
-description: >
-Pull WASM modules.
----
-
-
-
-`pull` fetches and decompressed OCI image to WASM module.
-
-### Synopsis
-
-
-
-```
-kpt alpha wasm pull [IMAGE] [LOCAL_PATH]
-```
-
-#### Args
-
-```
-IMAGE:
- The name of an image. It can be either a tag or a digest.
-LOCAL_PATH:
- The desired path for the wasm file. e.g. /tmp/my-fn.wasm
-```
-
-
-
-### Examples
-
-
-
-```shell
-# pull image gcr.io/my-org/my-fn:v1.0.0 and decompress it to ./my-fn.wasm
-$ kpt alpha wasm pull gcr.io/my-org/my-fn:v1.0.0 ./my-fn.wasm
-```
-
-
diff --git a/site/reference/cli/alpha/wasm/push/README.md b/site/reference/cli/alpha/wasm/push/README.md
deleted file mode 100644
index 42a45dd5c1..0000000000
--- a/site/reference/cli/alpha/wasm/push/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: "`push`"
-linkTitle: "push"
-type: docs
-description: >
-Push WASM modules.
----
-
-
-
-`push` compresses a WASM module and push it as an OCI image.
-
-### Synopsis
-
-
-
-```
-kpt alpha wasm push [LOCAL_PATH] [IMAGE]
-```
-
-#### Args
-
-```
-LOCAL_PATH:
- The path to the wasm file.
-IMAGE:
- The desired name of an image. It must be a tag.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# compress ./my-fn.wasm and push it to gcr.io/my-org/my-fn:v1.0.0
-$ kpt alpha wasm push ./my-fn.wasm gcr.io/my-org/my-fn:v1.0.0
-```
-
-
diff --git a/site/reference/cli/fn/README.md b/site/reference/cli/fn/README.md
deleted file mode 100644
index 6dd08ef8e6..0000000000
--- a/site/reference/cli/fn/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: "`fn`"
-linkTitle: "fn"
-type: docs
-weight: 4
-description: >
- Transform and validate packages using containerized functions.
----
-
-
-
-
-The `fn` command group contains subcommands for transforming and validating `kpt` packages
-using containerized functions.
-
\ No newline at end of file
diff --git a/site/reference/cli/fn/doc/README.md b/site/reference/cli/fn/doc/README.md
deleted file mode 100644
index 0fd7d88c24..0000000000
--- a/site/reference/cli/fn/doc/README.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: "Doc"
-linkTitle: "doc"
-type: docs
-description: >
- Display the documentation for a function
----
-
-
-
-### Synopsis
-
-
-
-`kpt fn doc` invokes the function container with `--help` flag.
-If the function supports `--help`, it will print the documentation to STDOUT.
-Otherwise, it will exit with non-zero exit code and print the error message to STDERR.
-
-```
-kpt fn doc --image=IMAGE
-```
-
-#### Flags
-
-```
---image, i: (required flag)
- Container image of the function e.g. `gcr.io/kpt-fn/set-namespace:v0.1`.
- For convenience, if full image path is not specified, `gcr.io/kpt-fn/` is added as default prefix.
- e.g. instead of passing `gcr.io/kpt-fn/set-namespace:v0.1` you can pass `set-namespace:v0.1`.
-```
-
-#### Environment Variables
-
-```
-KPT_FN_RUNTIME:
- The runtime to run kpt functions. It must be one of "docker", "podman" and "nerdctl".
-```
-
-
-
-### Examples
-
-
-
-```shell
-# display the documentation for image set-namespace:v0.1.1
-kpt fn doc -i set-namespace:v0.1.1
-```
-
-
diff --git a/site/reference/cli/fn/eval/README.md b/site/reference/cli/fn/eval/README.md
deleted file mode 100644
index 2c1463d8a1..0000000000
--- a/site/reference/cli/fn/eval/README.md
+++ /dev/null
@@ -1,268 +0,0 @@
----
-title: "`eval`"
-linkTitle: "eval"
-type: docs
-description: >
- Execute function on resources
----
-
-
-
-`eval` executes a function on resources in a directory. Functions are packaged
-as container images.
-
-If the function fails (i.e. exits with non-zero status code), `eval` will abort
-and the local filesystem is left intact.
-
-Refer to the [Imperative Function Execution] for detailed overview.
-
-### Synopsis
-
-
-
-```
-kpt fn eval [DIR|-] [flags] [-- fn-args]
-```
-
-#### Args
-
-```
-DIR|-:
- Path to the local directory containing resources. Defaults to the current
- working directory. Using '-' as the directory path will cause `eval` to
- read resources from `stdin` and write the output to `stdout`. When resources are
- read from `stdin`, they must be in one of the following input formats:
-
- 1. Multi object YAML where resources are separated by `---`.
-
- 2. KRM Function Specification wire format where resources are wrapped in an object
- of kind ResourceList.
-
- If the output is written to `stdout`, resources are written in multi object YAML
- format where resources are separated by `---`.
-```
-
-```
-fn-args:
- function arguments to be provided as input to the function. These must be
- provided in the `key=value` format and come after the separator `--`.
-```
-
-#### Flags
-
-```
---as-current-user:
- Use the `uid` and `gid` of the kpt process for container function execution.
- By default, container function is executed as `nobody` user. You may want to use
- this flag to run higher privilege operations such as mounting the local filesystem.
-
---env, e:
- List of local environment variables to be exported to the container function.
- By default, none of local environment variables are made available to the
- container running the function. The value can be in `key=value` format or only
- the key of an already exported environment variable.
-
---exec:
- Path to the local executable binary to execute as a function. Quotes are needed
- if the executable requires arguments. `eval` executes only one function, so do
- not use `--image` flag with this flag. This is useful for testing function locally
- during development. It enables faster dev iterations by avoiding the function to
- be published as container image.
-
---fn-config:
- Path to the file containing `functionConfig` for the function.
-
---image, i:
- Container image of the function to execute e.g. `gcr.io/kpt-fn/set-namespace:v0.1`.
- For convenience, if full image path is not specified, `gcr.io/kpt-fn/` is added as default prefix.
- e.g. instead of passing `gcr.io/kpt-fn/set-namespace:v0.1` you can pass `set-namespace:v0.1`.
- `eval` executes only one function, so do not use `--exec` flag with this flag.
-
---image-pull-policy:
- If the image should be pulled before rendering the package(s). It can be set
- to one of always, ifNotPresent, never. If unspecified, always will be the
- default.
- If using always, kpt will ensure the function images to run are up-to-date
- with the remote container registry. This can be useful for tags like v1.
- If using ifNotPresent, kpt will only pull the image when it can't find it in
- the local cache.
- If using never, kpt will only use images from the local cache.
-
---include-meta-resources, m:
- (DEPRECATED) include-meta-resources is no longer necessary because meta
- resources are included by default with kpt version v1.0.0-beta.15+.
-
---match-api-version:
- Select resources matching the given apiVersion.
-
---match-kind
- Select resources matching the given kind.
-
---match-name:
- Select resources matching the given name.
-
---match-namespace:
- Select resources matching the given namespace.
-
---mount:
- List of storage options to enable reading from the local filesytem. By default,
- container functions can not access the local filesystem. It accepts the same options
- as specified on the [Docker Volumes] for `docker run`. All volumes are mounted
- readonly by default. Specify `rw=true` to mount volumes in read-write mode.
-
---network:
- If enabled, container functions are allowed to access network.
- By default it is disabled.
-
---output, o:
- If specified, the output resources are written to provided location,
- if not specified, resources are modified in-place.
- Allowed values: stdout|unwrap|
- 1. stdout: output resources are wrapped in ResourceList and written to stdout.
- 2. unwrap: output resources are written to stdout, in multi-object yaml format.
- 3. OUT_DIR_PATH: output resources are written to provided directory.
- The provided directory must not already exist.
-
---type, t;
- Specify the function type. Accept value `mutator` (default), `validator`.
- If used with `--save`, this flag will save the evaluated function to the corresponding
- Kptfile section: `.pipeline.mutators` if type is `mutator`; `.pipeline.validators` if type
- is `validator`.
-
---results-dir:
- Path to a directory to write structured results. Directory will be created if
- it doesn't exist. Structured results emitted by the functions are aggregated and saved
- to `results.yaml` file in the specified directory.
- If not specified, no result files are written to the local filesystem.
-
---save, s:
- Save the function image and fn-config to Kptfile. Require ` + "`" + `--image` + "`" + `.
-
-```
-
-#### Environment Variables
-
-```
-KPT_FN_RUNTIME:
- The runtime to run kpt functions. It must be one of "docker", "podman" and "nerdctl".
-```
-
-
-
-## Examples
-
-
-
-```shell
-# execute container my-fn on the resources in DIR directory and
-# write output back to DIR
-$ kpt fn eval DIR -i gcr.io/example.com/my-fn
-```
-
-```shell
-# execute container my-fn on the resources in DIR directory with
-# `functionConfig` my-fn-config
-$ kpt fn eval DIR -i gcr.io/example.com/my-fn --fn-config my-fn-config
-```
-
-```shell
-# execute container my-fn with an input ConfigMap containing `data: {foo: bar}`
-$ kpt fn eval DIR -i gcr.io/example.com/my-fn:v1.0.0 -- foo=bar
-```
-
-```shell
-# execute container my-fn and save it to Kptfile `pipeline.mutators` (Default) list.
-$ kpt fn eval DIR -s -i gcr.io/example.com/my-fn:v1.0.0 -- foo=bar
-```
-
-```shell
-# execute container my-fn and save it to Kptfile `pipeline.validators` list.
-$ kpt fn eval DIR -s -t validator -i gcr.io/example.com/my-fn:v1.0.0 -- foo=bar
-```
-
-```shell
-# execute executable my-fn on the resources in DIR directory and
-# write output back to DIR
-$ kpt fn eval DIR --exec ./my-fn
-```
-
-```shell
-# execute executable my-fn with arguments on the resources in DIR directory and
-# write output back to DIR
-$ kpt fn eval DIR --exec "./my-fn arg1 arg2"
-```
-
-```shell
-# execute container my-fn on the resources in DIR directory,
-# save structured results in /tmp/my-results dir and write output back to DIR
-$ kpt fn eval DIR -i gcr.io/example.com/my-fn --results-dir /tmp/my-results-dir
-```
-
-```shell
-# execute container my-fn on the resources in DIR directory with network access enabled,
-# and write output back to DIR
-$ kpt fn eval DIR -i gcr.io/example.com/my-fn --network
-```
-
-```shell
-# execute container my-fn on the resource in DIR and export KUBECONFIG
-# and foo environment variable
-$ kpt fn eval DIR -i gcr.io/example.com/my-fn --env KUBECONFIG -e foo=bar
-```
-
-```shell
-# execute kubeval function by mounting schema from a local directory on wordpress package
-$ kpt fn eval -i gcr.io/kpt-fn/kubeval:v0.1 \
- --mount type=bind,src="/path/to/schema-dir",dst=/schema-dir \
- --as-current-user wordpress -- additional_schema_locations=/schema-dir
-```
-
-```shell
-# chaining functions using the unix pipe to set namespace and set labels on
-# wordpress package
-$ kpt fn source wordpress \
- | kpt fn eval - -i gcr.io/kpt-fn/set-namespace:v0.1 -- namespace=mywordpress \
- | kpt fn eval - -i gcr.io/kpt-fn/set-labels:v0.1 -- label_name=color label_value=orange \
- | kpt fn sink wordpress
-```
-
-```shell
-# execute container 'set-namespace' on the resources in current directory and write
-# the output resources to another directory
-$ kpt fn eval -i gcr.io/kpt-fn/set-namespace:v0.1 -o path/to/dir -- namespace=mywordpress
-```
-
-```shell
-# execute container 'set-namespace' on the resources in current directory and write
-# the output resources to stdout which are piped to 'kubectl apply'
-$ kpt fn eval -i gcr.io/kpt-fn/set-namespace:v0.1 -o unwrap -- namespace=mywordpress \
-| kubectl apply -f -
-```
-
-```shell
-# execute container 'set-namespace' on the resources in current directory and write
-# the wrapped output resources to stdout which are passed to 'set-annotations' function
-# and the output resources after setting namespace and annotation is written to another directory
-$ kpt fn eval -i gcr.io/kpt-fn/set-namespace:v0.1 -o stdout -- namespace=staging \
-| kpt fn eval - -i gcr.io/kpt-fn/set-annotations:v0.1.3 -o path/to/dir -- foo=bar
-```
-
-```shell
-# execute container 'set-namespace' on the resources with 'name' foo and 'kind' Deployment
-# in current directory
-kpt fn eval -i set-namespace:v0.1 --by-kind Deployment --by-name foo -- namespace=staging
-```
-
-```shell
-# execute container my-fn with podman on the resources in DIR directory and
-# write output back to DIR
-$ KPT_FN_RUNTIME=podman kpt fn eval DIR -i gcr.io/example.com/my-fn
-```
-
-
-
-[docker volumes]: https://docs.docker.com/storage/volumes/
-[imperative function execution]: /book/04-using-functions/02-imperative-function-execution
-[function specification]: /book/05-developing-functions/01-functions-specification
diff --git a/site/reference/cli/fn/export/README.md b/site/reference/cli/fn/export/README.md
deleted file mode 100644
index 4146bde763..0000000000
--- a/site/reference/cli/fn/export/README.md
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: "Export"
-linkTitle: "export"
-type: docs
-description: >
- Auto-generating function pipelines for different workflow orchestrators
----
-
-
-
-Exports a workflow pipeline that runs kpt functions alongside necessary
-configurations.
-
-### Examples
-
-{{% hide %}}
-
-
-
-```
-# Set up workspace for the test.
-TEST_HOME=$(mktemp -d)
-cd $TEST_HOME
-```
-
-
-
-```shell
-export SRC_REPO=https://github.com/kptdev/kpt.git
-kpt pkg get $SRC_REPO/package-examples/helloworld-set DIR/
-```
-
-{{% /hide %}}
-
-
-
-
-
-```shell
-# read functions from DIR, run them against it as one step.
-# write the generated GitHub Actions pipeline to main.yaml.
-kpt fn export DIR/ --output main.yaml --workflow github-actions
-```
-
-
-
-```shell
-# discover functions in FUNCTIONS_DIR and run them against resource in DIR.
-# write the generated Cloud Build pipeline to stdout.
-kpt fn export DIR/ --fn-path FUNCTIONS_DIR/ --workflow cloud-build
-```
-
-
-
-### Synopsis
-
-
-
-```shell
-kpt fn export DIR/ [--fn-path FUNCTIONS_DIR/] --workflow ORCHESTRATOR [--output OUTPUT_FILENAME]
-
-DIR:
- Path to a package directory.
-FUNCTIONS_DIR:
- Read functions from the directory instead of the DIR/.
-ORCHESTRATOR:
- Supported orchestrators are:
- - github-actions
- - cloud-build
- - gitlab-ci
- - jenkins
- - tekton
- - circleci
-OUTPUT_FILENAME:
- Specifies the filename of the generated pipeline. If omitted, the default
- output is stdout
-```
-
-
-
-## Next Steps
-
-- Get detailed tutorials on how to use `kpt fn export` from the [Export a
- Workflow] guide.
-
-[export a workflow]: https://kpt.dev#todo
diff --git a/site/reference/cli/fn/render/README.md b/site/reference/cli/fn/render/README.md
deleted file mode 100644
index 0fe2cd387f..0000000000
--- a/site/reference/cli/fn/render/README.md
+++ /dev/null
@@ -1,137 +0,0 @@
----
-title: "`render`"
-linkTitle: "render"
-type: docs
-description: >
- Render a package
----
-
-
-
-`render` executes the pipeline of functions on resources in the package and
-writes the output to the local filesystem in-place.
-
-`render` executes the pipelines in the package hierarchy in a depth-first order.
-For example, if a package A contains subpackage B, then the pipeline in B is
-executed on resources in B and then the pipeline in A is executed on resources
-in A and the output of the pipeline from package B. The output of the pipeline
-from A is then written to the local filesystem in-place.
-
-`render` formats the resources before writing them to the local filesystem.
-
-If any of the functions in the pipeline fails, then the entire pipeline is
-aborted and the local filesystem is left intact.
-
-Refer to the [Declarative Functions Execution] for more details.
-
-### Synopsis
-
-
-
-```
-kpt fn render [PKG_PATH] [flags]
-```
-
-#### Args
-
-```
-PKG_PATH:
- Local package path to render. Directory must exist and contain a Kptfile
- to be updated. Defaults to the current working directory.
-```
-
-#### Flags
-
-```
---allow-exec:
- Allow executable binaries to run as function. Note that executable binaries
- can perform privileged operations on your system, so ensure that binaries
- referred in the pipeline are trusted and safe to execute.
-
---allow-network:
- Allow functions to access network during pipeline execution. Default: `false`. Note that this is applicable to container based functions only.
-
---image-pull-policy:
- If the image should be pulled before rendering the package(s). It can be set
- to one of always, ifNotPresent, never. If unspecified, always will be the
- default.
-
---output, o:
- If specified, the output resources are written to provided location,
- if not specified, resources are modified in-place.
- Allowed values: stdout|unwrap|
- 1. stdout: output resources are wrapped in ResourceList and written to stdout.
- 2. unwrap: output resources are written to stdout, in multi-object yaml format.
- 3. OUT_DIR_PATH: output resources are written to provided directory.
- The provided directory must not already exist.
-
---results-dir:
- Path to a directory to write structured results. Directory will be created if
- it doesn't exist. Structured results emitted by the functions are aggregated and saved
- to `results.yaml` file in the specified directory.
- If not specified, no result files are written to the local filesystem.
-```
-
-#### Environment Variables
-
-```
-KPT_FN_RUNTIME:
- The runtime to run kpt functions. It must be one of "docker", "podman" and "nerdctl".
-```
-
-
-
-### Examples
-
-
-
-```shell
-# Render the package in current directory
-$ kpt fn render
-```
-
-```shell
-# Render the package in current directory and save results in my-results-dir
-$ kpt fn render --results-dir my-results-dir
-```
-
-```shell
-# Render my-package-dir
-$ kpt fn render my-package-dir
-```
-
-```shell
-# Render the package in current directory and write output resources to another DIR
-$ kpt fn render -o path/to/dir
-```
-
-```shell
-# Render resources in current directory and write unwrapped resources to stdout
-# which can be piped to kubectl apply
-$ kpt fn render -o unwrap | kpt fn eval -i gcr.io/kpt-fn/remove-local-config-resources:v0.1.0 -o unwrap - | kubectl apply -f -
-```
-
-```shell
-# Render resources in current directory, write the wrapped resources
-# to stdout which are piped to 'set-annotations' function,
-# the transformed resources are written to another directory
-$ kpt fn render -o stdout \
-| kpt fn eval - -i gcr.io/kpt-fn/set-annotations:v0.1.3 -o path/to/dir -- foo=bar
-```
-
-```shell
-# Render my-package-dir with podman as runtime for functions
-$ KPT_FN_RUNTIME=podman kpt fn render my-package-dir
-```
-
-```shell
-# Render my-package-dir with network access enabled for functions
-$ kpt fn render --allow-network
-```
-
-
-
-[declarative functions execution]:
- /book/04-using-functions/01-declarative-function-execution
diff --git a/site/reference/cli/fn/sink/README.md b/site/reference/cli/fn/sink/README.md
deleted file mode 100644
index b90e99f4f6..0000000000
--- a/site/reference/cli/fn/sink/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: "`sink`"
-linkTitle: "sink"
-type: docs
-description: >
- Write resources to a local directory
----
-
-
-
-`sink` reads resources from `stdin` and writes them to a local directory.
-Resources must be in one of the following input formats:
-
-1. Multi object YAML where resources are separated by `---`.
-
-2. KRM Function Specification wire format where resources are wrapped in an
- object of kind ResourceList.
-
-`sink` is useful for chaining functions using Unix pipe. For more details, refer
-to [Chaining functions].
-
-### Synopsis
-
-
-
-```
-kpt fn sink DIR [flags]
-
-DIR:
- Path to a local directory to write resources to. The directory must not already exist.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# read resources from DIR directory, execute my-fn on them and write the
-# output to DIR directory.
-$ kpt fn source DIR |
- kpt fn eval - --image gcr.io/example.com/my-fn |
- kpt fn sink NEW_DIR
-```
-
-
-
-[chaining functions]:
- /book/04-using-functions/02-imperative-function-execution?id=chaining-functions-using-the-unix-pipe
-[function specification]:
- /book/05-developing-functions/01-functions-specification
diff --git a/site/reference/cli/fn/source/README.md b/site/reference/cli/fn/source/README.md
deleted file mode 100644
index 9a330fb245..0000000000
--- a/site/reference/cli/fn/source/README.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title: "`source`"
-linkTitle: "source"
-type: docs
-description: >
- Source resources from a local directory
----
-
-
-
-`source` reads resources from a local directory and writes them in [Function
-Specification] wire format to `stdout`. The output of the `source` can be pipe'd
-to commands such as `kpt fn eval` that accepts Function Specification wire
-format. `source` is useful for chaining functions using Unix pipe. For more
-details, refer to [Chaining functions].
-
-### Synopsis
-
-
-
-```
-kpt fn source [DIR] [flags]
-```
-
-#### Args
-
-```
-DIR:
- Path to the local directory containing resources. Defaults to the current
- working directory.
-```
-
-#### Flags
-
-```
---fn-config:
- Path to the file containing `functionConfig`.
-
---include-meta-resources:
- (DEPRECATED) include-meta-resources is no longer necessary because meta
- resources are included by default with kpt version v1.0.0-beta.15+.
-
---output, o:
- If specified, the output resources are written to stdout in provided format.
- Allowed values:
- 1. stdout(default): output resources are wrapped in ResourceList and written to stdout.
- 2. unwrap: output resources are written to stdout, in multi-object yaml format.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# read resources from DIR directory and write the output on stdout.
-$ kpt fn source DIR
-```
-
-```shell
-# read resources from DIR directory, execute my-fn on them and write the
-# output to DIR directory.
-$ kpt fn source DIR |
- kpt fn eval - --image gcr.io/example.com/my-fn - |
- kpt fn sink DIR
-```
-
-
-
-[chaining functions]:
- /book/04-using-functions/02-imperative-function-execution?id=chaining-functions-using-the-unix-pipe
-[function specification]:
- /book/05-developing-functions/01-functions-specification
diff --git a/site/reference/cli/live/README.md b/site/reference/cli/live/README.md
deleted file mode 100644
index 8f0959670e..0000000000
--- a/site/reference/cli/live/README.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: "`live`"
-linkTitle: "live"
-weight: 3
-type: docs
-description: >
- Deploy local packages to a cluster.
----
-
-
-
-The `live` command group contains subcommands for deploying local
-`kpt` packages to a cluster.
-
-
-
-#### Flags
-
-These are the same flags as is available in [kubectl].
-
-```
---as:
- Username to impersonate for the operation.
-
---as-group:
- Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
-
---cache-dir:
- Default cache directory (default "/Users/mortent/.kube/cache").
-
---certificate-authority:
- Path to a cert file for the certificate authority.
-
---client-certificate:
- Path to a client certificate file for TLS.
-
---client-key:
- Path to a client key file for TLS.
-
---cluster:
- The name of the kubeconfig cluster to use.
-
---context:
- The name of the kubeconfig context to use.
-
---insecure-skip-tls-verify:
- If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure.
-
---kubeconfig:
- Path to the kubeconfig file to use for CLI requests.
-
---namespace:
- If present, the namespace scope for this CLI request.
-
---password:
- Password for basic authentication to the API server.
-
---request-timeout:
- The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0").
-
---server:
- The address and port of the Kubernetes API server.
-
---tls-server-name:
- Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used.
-
---token:
- Bearer token for authentication to the API server.
-
---user:
- The name of the kubeconfig user to use.
-
---username:
- Username for basic authentication to the API server.
-```
-
-[kubectl]: https://kubernetes.io/docs/reference/kubectl/kubectl/#options
diff --git a/site/reference/cli/live/apply/README.md b/site/reference/cli/live/apply/README.md
deleted file mode 100644
index 5cf38317b1..0000000000
--- a/site/reference/cli/live/apply/README.md
+++ /dev/null
@@ -1,129 +0,0 @@
----
-title: "`apply`"
-linkTitle: "apply"
-type: docs
-description: >
- Apply a package to the cluster (create, update, prune).
----
-
-
-
-`apply` creates, updates and deletes resources in the cluster to make the remote
-cluster resources match the local package configuration.
-
-### Synopsis
-
-
-
-```
-kpt live apply [PKG_PATH | -] [flags]
-```
-
-#### Args
-
-```
-PKG_PATH | -:
- Path to the local package which should be applied to the cluster. It must
- contain a Kptfile or a ResourceGroup manifest with inventory metadata.
- Defaults to the current working directory.
- Using '-' as the package path will cause kpt to read resources from stdin.
-```
-
-#### Flags
-
-```
---dry-run:
- It true, kpt will validate the resources in the package and print which
- resources will be applied and which resources will be pruned, but no resources
- will be changed.
- If the --server-side flag is true, kpt will do a server-side dry-run, otherwise
- it will be a client-side dry-run. Note that the output will differ somewhat
- between the two alternatives.
-
---field-manager:
- Identifier for the **owner** of the fields being applied. Only usable
- when --server-side flag is specified. Default value is kubectl.
-
---force-conflicts:
- Force overwrite of field conflicts during apply due to different field
- managers. Only usable when --server-side flag is specified.
- Default value is false (error and failure when field managers conflict).
-
---install-resource-group:
- Install the ResourceGroup CRD into the cluster if it isn't already
- available. Default is false.
-
---inventory-policy:
- Determines how to handle overlaps between the package being currently applied
- and existing resources in the cluster. The available options are:
-
- * strict: If any of the resources already exist in the cluster, but doesn't
- belong to the current package, it is considered an error.
- * adopt: If a resource already exist in the cluster, but belongs to a
- different package, it is considered an error. Resources that doesn't belong
- to other packages are adopted into the current package.
-
- The default value is `strict`.
-
---output:
- Determines the output format for the status information. Must be one of the following:
-
- * events: The output will be a list of the status events as they become available.
- * json: The output will be a list of the status events as they become available,
- each formatted as a json object.
- * table: The output will be presented as a table that will be updated inline
- as the status of resources become available.
-
- The default value is ‘events’.
-
---prune-propagation-policy:
- The propagation policy that should be used when pruning resources. The
- default value here is 'Background'. The other options are 'Foreground' and 'Orphan'.
-
---prune-timeout:
- The threshold for how long to wait for all pruned resources to be
- deleted before giving up. If this flag is not set, kpt live apply will wait
- until interrupted. In most cases, it would also make sense to set the
- --prune-propagation-policy to Foreground when this flag is set.
-
---reconcile-timeout:
- The threshold for how long to wait for all resources to reconcile before
- giving up. If this flag is not set, kpt live apply will wait until
- interrupted.
-
---server-side:
- Perform the apply operation server-side rather than client-side.
- Default value is false (client-side).
-
---show-status-events:
- The output will include the details on the reconciliation status
- for all resources. Default is `false`.
-
- Does not apply for the `table` output format.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# apply resources in the current directory
-$ kpt live apply
-```
-
-```shell
-# apply resources in the my-dir directory and wait up until 15 minutes
-# for all the resources to be reconciled before pruning
-$ kpt live apply --reconcile-timeout=15m my-dir
-```
-
-```shell
-# apply resources and specify how often to poll the cluster for resource status
-$ kpt live apply --reconcile-timeout=15m --poll-period=5s my-dir
-```
-
-
diff --git a/site/reference/cli/live/destroy/README.md b/site/reference/cli/live/destroy/README.md
deleted file mode 100644
index bc4c22d134..0000000000
--- a/site/reference/cli/live/destroy/README.md
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: "`destroy`"
-linkTitle: "destroy"
-type: docs
-description: >
- Remove all previously applied resources in a package from the cluster
----
-
-
-
-`destroy` removes all files belonging to a package from the cluster.
-
-### Synopsis
-
-
-
-```
-kpt live destroy [PKG_PATH | -]
-```
-
-#### Args
-
-```
-PKG_PATH | -:
- Path to the local package which should be deleted from the cluster. It must
- contain a Kptfile or a ResourceGroup manifest with inventory metadata.
- Defaults to the current working directory.
- Using '-' as the package path will cause kpt to read resources from stdin.
-```
-
-#### Flags
-
-```
---dry-run:
- It true, kpt will print the resources that will be removed from the cluster,
- but no resources will be deleted.
-
---inventory-policy:
- Determines how to handle overlaps between the package being currently applied
- and existing resources in the cluster. The available options are:
-
- * strict: If any of the resources already exist in the cluster, but doesn't
- belong to the current package, it is considered an error.
- * adopt: If a resource already exist in the cluster, but belongs to a
- different package, it is considered an error. Resources that doesn't belong
- to other packages are adopted into the current package.
-
- The default value is `strict`.
-
---output:
- Determines the output format for the status information. Must be one of the following:
-
- * events: The output will be a list of the status events as they become available.
- * json: The output will be a list of the status events as they become available,
- each formatted as a json object.
- * table: The output will be presented as a table that will be updated inline
- as the status of resources become available.
-
- The default value is ‘events’.
-
---show-status-events:
- The output will include the details on the reconciliation status
- for all resources. Default is `false`.
-
- Does not apply for the `table` output format.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# remove all resources in the current package from the cluster.
-$ kpt live destroy
-```
-
-
diff --git a/site/reference/cli/live/init/README.md b/site/reference/cli/live/init/README.md
deleted file mode 100644
index 54619eed30..0000000000
--- a/site/reference/cli/live/init/README.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-title: "`init`"
-linkTitle: "init"
-type: docs
-description: >
- Initialize a package with the information needed for inventory tracking.
----
-
-
-
-`init` initializes the package with the name, namespace and id of the resource
-that will keep track of the package inventory.
-
-### Synopsis
-
-
-
-```
-kpt live init [PKG_PATH] [flags]
-```
-
-#### Args
-
-```
-PKG_PATH:
- Path to the local package which should be updated with inventory information.
- It must contain a Kptfile. Defaults to the current working directory.
-```
-
-#### Flags
-
-```
---force:
- Forces the inventory values to be updated, even if they are already set.
- Defaults to false.
-
---inventory-id:
- Inventory identifier for the package. This is used to detect overlap between
- packages that might use the same name and namespace for the inventory object.
- Defaults to an auto-generated value.
-
---name:
- The name for the ResourceGroup resource that contains the inventory
- for the package. Defaults to the name of the package.
-
---namespace:
- The namespace for the ResourceGroup resource that contains the inventory
- for the package. If not provided, kpt will check if all the resources
- in the package belong in the same namespace. If they do, that namespace will
- be used. If they do not, the namespace in the user's context will be chosen.
-
---rg-file:
- The name used for the file created for the ResourceGroup CR. Defaults to
- 'resourcegroup.yaml'.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# initialize a package in the current directory.
-$ kpt live init
-```
-
-```shell
-# initialize a package with explicit namespace for the ResourceGroup.
-$ kpt live init --namespace=test my-dir
-```
-
-
diff --git a/site/reference/cli/live/install-resource-group/README.md b/site/reference/cli/live/install-resource-group/README.md
deleted file mode 100644
index 2e22107b8a..0000000000
--- a/site/reference/cli/live/install-resource-group/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title: "`install-resource-group`"
-linkTitle: "install-resource-group"
-type: docs
-description: >
-Install the ResourceGroup CRD in the cluster.
----
-
-
-
-`install-resource-group` installs the ResourceGroup CRD in the cluster. `kpt`
-uses ResourceGroup resources for storing the inventory list (which enables
-pruning) , so it must be installed in a cluster prior to applying packages.
-
-### Synopsis
-
-
-
-```
-kpt live install-resource-group
-```
-
-
-
-### Examples
-
-
-
-```shell
-# install ResourceGroup CRD into the current cluster.
-$ kpt live install-resource-group
-```
-
-
diff --git a/site/reference/cli/live/migrate/README.md b/site/reference/cli/live/migrate/README.md
deleted file mode 100644
index 0220f37712..0000000000
--- a/site/reference/cli/live/migrate/README.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: "`migrate`"
-linkTitle: "migrate"
-type: docs
-description: >
-Migrate a package and the inventory object to use the ResourceGroup CRD.
----
-
-
-
-`migrate` moves the inventory list, which contains the Group, Kind, Name and
-Namespace for every resource in the cluster that belongs to a package, into a
-`ResourceGroup` CR and moves the inventory information into the a `ResourceGroup`
-manifest on local disk.
-
-0.39.x or earlier versions of `kpt` stored the inventory metadata in a
-`ConfigMap` manifest in the package, and stored the inventory list in a
-`ConfigMap` resource in the cluster. Running this command will move the
-metadata into a `ResourceGroup` manifest in the `resourcegroup.yaml` file
-and move the inventory list into a `ResourceGroup` CR.
-
-Previous 1.0.0-alpha or 1.0.0-beta versions of kpt would store the inventory
-metadata in the `Kptfile`. Running this command will move the metadata from
-the `Kptfile` in a `ResourceGroup` manifest in the `resourcegroup.yaml` file.
-
-
-### Synopsis
-
-
-
-```
-kpt live migrate [PKG_PATH] [flags]
-```
-
-#### Args
-
-```
-PKG_PATH:
- Path to the local package. It must have a Kptfile and inventory metadata
- in the package in either the ConfigMap, Kptfile or ResourceGroup format.
- It defaults to the current directory.
-```
-
-#### Flags
-
-```
---dry-run:
- Go through the steps of migration, but don't make any changes.
-
---force:
- Forces the inventory values in the ResourceGroup manfiest to be updated,
- even if they are already set. Defaults to false.
-
---name:
- The name for the ResourceGroup resource that contains the inventory
- for the package. Defaults to the same name as the existing inventory
- object.
-
---namespace:
- The namespace for the ResourceGroup resource that contains the inventory
- for the package. If not provided, it defaults to the same namespace as the
- existing inventory object.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# Migrate the package in the current directory.
-$ kpt live migrate
-```
-
-
diff --git a/site/reference/cli/live/status/README.md b/site/reference/cli/live/status/README.md
deleted file mode 100644
index 0cc2a18a3f..0000000000
--- a/site/reference/cli/live/status/README.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: "`status`"
-linkTitle: "status"
-type: docs
-description: >
-Display the status for the resources in the cluster
----
-
-
-
-`status` shows the resource status for resources belonging to the package.
-
-### Synopsis
-
-
-
-```
-kpt live status [PKG_PATH | -] [flags]
-```
-
-#### Args
-
-```
-PKG_PATH | -:
- Path to the local package for which the status of the package in the cluster
- should be displayed. It must contain either a Kptfile or a ResourceGroup CR
- with inventory metadata.
- Defaults to the current working directory.
- Using '-' as the package path will cause kpt to read resources from stdin.
-```
-
-#### Flags
-
-```
---output:
- Determines the output format for the status information. Must be one of the following:
-
- * events: The output will be a list of the status events as they become available.
- * json: The output will be a list of the status events as they become available,
- each formatted as a json object.
- * table: The output will be presented as a table that will be updated inline
- as the status of resources become available.
-
- The default value is ‘events’.
-
---poll-period:
- The frequency with which the cluster will be polled to determine the status
- of the applied resources. The default value is 2 seconds.
-
---poll-until:
- When to stop polling for status and exist. Must be one of the following:
-
- * known: Exit when the status for all resources have been found.
- * current: Exit when the status for all resources have reached the Current status.
- * deleted: Exit when the status for all resources have reached the NotFound
- status, i.e. all the resources have been deleted from the live state.
- * forever: Keep polling for status until interrupted.
-
- The default value is ‘known’.
-
---timeout:
- Determines how long the command should run before exiting. This deadline will
- be enforced regardless of the value of the --poll-until flag. The default is
- to wait forever.
-
---inv-type:
- Ways to get the inventory information. Must be one of the following:
-
- * local: Get the inventory information from the local file.
- This will only get the inventory information of the package at the given/default path.
- * remote: Get the inventory information by calling List API to the cluster.
- This will retrieve a list of inventory information from the cluster.
-
- The default value is ‘local’.
-
---inv-names:
- Filter for printing statuses of packages with specified inventory names.
- For multiple inventory names, use comma to them.
- This must be used with --inv-type=remote.
-
---namespaces:
- Filter for printing statuses of packages under specified namespaces.
- For multiple namespaces, use comma to separate them.
-
---statuses:
- Filter for printing packages with specified statuses.
- For multiple statuses, use comma to separate them.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# Monitor status for the resources belonging to the package in the current
-# directory. Wait until all resources have reconciled.
-$ kpt live status
-```
-
-```shell
-# Monitor status for the resources belonging to the package in the my-app
-# directory. Output in table format:
-$ kpt live status my-app --poll-until=forever --output=table
-```
-
-```shell
-# Monitor status for the all resources on the cluster
-# with certain inventory names and under certain namespaces.
-$ kpt live status --inv-type remote --inv-names inv1,inv2 --namespaces ns1,ns2
-```
-
-```shell
-# Monitor resources on the cluster that has Current or InProgress status
-$ kpt live status --inv-type remote --statuses Current,InProgress
-```
-
-
-
-[inventory template]: /reference/cli/live/apply/#prune
diff --git a/site/reference/cli/pkg/README.md b/site/reference/cli/pkg/README.md
deleted file mode 100644
index d0a783e813..0000000000
--- a/site/reference/cli/pkg/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: "`pkg`"
-linkTitle: "pkg"
-weight: 1
-type: docs
-description: >
- Get, update, and describe packages with resources
----
-
-
-
-
-The `pkg` command group contains subcommands for fetching, updating and describing `kpt` packages
-from git repositories.
-
-
diff --git a/site/reference/cli/pkg/cat/README.md b/site/reference/cli/pkg/cat/README.md
deleted file mode 100644
index 0232e8e67d..0000000000
--- a/site/reference/cli/pkg/cat/README.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: "`cat`"
-linkTitle: "cat"
-type: docs
-description: >
- Print the resources in a file/directory
----
-
-
-
-`cat` prints the resources in a file or directory as yaml to stdout.
-
-### Synopsis
-
-
-
-```
-kpt pkg cat [FILE | DIR]
-```
-
-#### Args
-
-```
-FILE | DIR:
- Path to a directory either a directory containing files with KRM resources, or
- a file with KRM resource(s). Defaults to the current directory.
-```
-
-
-
-#### Flags
-
-```
---annotate
- Annotate resources with their file origins.
-
---format
- Format resource before printing. Defaults to true.
-
---recurse-subpackages, -R
- Print resources recursively in all the nested subpackages. Defaults to true.
-
---strip-comments
- Remove comments from yaml.
-
---style
- yaml styles to apply. May be 'TaggedStyle', 'DoubleQuotedStyle', 'LiteralStyle', 'FoldedStyle', 'FlowStyle'.
-```
-
-### Examples
-
-
-
-```shell
-# Print resource from a file.
-$ kpt pkg cat path/to/deployment.yaml
-```
-
-```shell
-# Print resources from current directory.
-$ kpt pkg cat
-```
-
-
diff --git a/site/reference/cli/pkg/diff/README.md b/site/reference/cli/pkg/diff/README.md
deleted file mode 100644
index 8c74b2cab4..0000000000
--- a/site/reference/cli/pkg/diff/README.md
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: "`diff`"
-linkTitle: "diff"
-type: docs
-description: >
- Show differences between a local package and upstream.
----
-
-
-
-`diff` displays differences between upstream and local packages.
-
-It can display differences between:
-
-- The local package and the upstream version which the local package was based
- on.
-- The local package and the latest version of the upstream package.
-
-`diff` fetches the versions of a package that are needed, but it delegates
-displaying the differences to a command line diffing tool. By default, the
-'diff' command line tool is used, but this can be changed with either the
-`diff-tool` flag or the `KPT_EXTERNAL_DIFF` env variable.
-
-### Synopsis
-
-
-
-```
-kpt pkg diff [PKG_PATH@VERSION] [flags]
-```
-
-#### Args
-
-```
-PKG_PATH:
- Local package path to compare. diff will fail if the directory doesn't exist, or does not
- contain a Kptfile. Defaults to the current working directory.
-
-VERSION:
- A git tag, branch, or commit. Specified after the local_package with @, for
- example my-package@master.
- Defaults to the local package version that was last fetched.
-```
-
-#### Flags
-
-```
---diff-type:
- The type of changes to view (local by default). Following types are
- supported:
-
- local: Shows changes in local package relative to upstream source package
- at original version.
- remote: Shows changes in upstream source package at target version
- relative to original version.
- combined: Shows changes in local package relative to upstream source
- package at target version.
- 3way: Shows changes in local package and source package at target version
- relative to original version side by side.
-
---diff-tool:
- Command line diffing tool ('diff' by default) for showing the changes.
- Note that it overrides the KPT_EXTERNAL_DIFF environment variable.
-
- # Show changes using 'meld' commandline tool.
- kpt pkg diff @master --diff-tool meld
-
---diff-tool-opts:
- Commandline options to use with the command line diffing tool.
- Note that it overrides the KPT_EXTERNAL_DIFF_OPTS environment variable.
-
- # Show changes using the diff command with recursive options.
- kpt pkg diff @master --diff-tool meld --diff-tool-opts "-r"
-```
-
-#### Environment Variables
-
-```
-KPT_EXTERNAL_DIFF:
- Commandline diffing tool ('diff; by default) that will be used to show
- changes.
-
- # Use meld to show changes
- KPT_EXTERNAL_DIFF=meld kpt pkg diff
-
-KPT_EXTERNAL_DIFF_OPTS:
- Commandline options to use for the diffing tool. For ex.
- # Using "-a" diff option
- KPT_EXTERNAL_DIFF_OPTS="-a" kpt pkg diff --diff-tool meld
-
-KPT_CACHE_DIR:
- Controls where to cache remote packages when fetching them.
- Defaults to /.kpt/repos/
- On macOS and Linux is determined by the $HOME env variable, while on
- Windows it is given by the %USERPROFILE% env variable.
-```
-
-
-
-### Examples
-
-{{% hide %}}
-
-
-
-```
-# Set up workspace for the test.
-TEST_HOME=$(mktemp -d)
-cd $TEST_HOME
-```
-
-
-
-```shell
-export SRC_REPO=https://github.com/kptdev/kpt.git
-kpt pkg get $SRC_REPO/package-examples/helloworld-set hello-world
-cd hello-world
-```
-
-{{% /hide %}}
-
-
-
-
-```shell
-# Show changes in current package relative to upstream source package.
-$ kpt pkg diff
-```
-
-
diff --git a/site/reference/cli/pkg/get/README.md b/site/reference/cli/pkg/get/README.md
deleted file mode 100644
index 21febcea7d..0000000000
--- a/site/reference/cli/pkg/get/README.md
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: "`get`"
-linkTitle: "get"
-type: docs
-description: >
- Fetch a package from a git repo.
----
-
-
-
-`get` fetches a remote package from a git subdirectory and writes it to a new
-local directory.
-
-### Synopsis
-
-
-
-```
-kpt pkg get REPO_URI[.git]/PKG_PATH[@VERSION] [LOCAL_DEST_DIRECTORY] [flags]
-```
-
-#### Args
-
-```
-REPO_URI:
- URI of a git repository containing 1 or more packages as subdirectories.
- In most cases the .git suffix should be specified to delimit the REPO_URI
- from the PKG_PATH, but this is not required for widely recognized repo
- prefixes. If get cannot parse the repo for the directory and version,
- then it will print an error asking for '.git' to be specified as part of
- the argument.
-
-PKG_PATH:
- Path to remote subdirectory containing Kubernetes resource configuration
- files or directories. Defaults to the root directory.
- Uses '/' as the path separator (regardless of OS).
- e.g. staging/cockroachdb
-
-VERSION:
- A git tag, branch, ref or commit for the remote version of the package
- to fetch. Defaults to the default branch of the repository.
-
-LOCAL_DEST_DIRECTORY:
- The local directory to write the package to. Defaults to a subdirectory of the
- current working directory named after the upstream package.
-```
-
-#### Flags
-
-```
---strategy:
- Defines which strategy should be used to update the package. It defaults to
- 'resource-merge'.
-
- * resource-merge: Perform a structural comparison of the original /
- updated resources, and merge the changes into the local package.
- * fast-forward: Fail without updating if the local package was modified
- since it was fetched.
- * force-delete-replace: Wipe all the local changes to the package and replace
- it with the remote version.
-
---for-deployment:
- (Experimental) indicates if the fetched package is a deployable instance that
- will be deployed to a cluster.
- It is `false` by default.
-```
-
-#### Env Vars
-
-```
-KPT_CACHE_DIR:
- Controls where to cache remote packages when fetching them.
- Defaults to /.kpt/repos/
- On macOS and Linux is determined by the $HOME env variable, while on
- Windows it is given by the %USERPROFILE% env variable.
-```
-
-
-
-### Examples
-
-{{% hide %}}
-
-
-
-```
-# Set up workspace for the test.
-TEST_HOME=$(mktemp -d)
-cd $TEST_HOME
-```
-
-{{% /hide %}}
-
-
-
-
-
-```shell
-# Fetch package cockroachdb from github.com/kubernetes/examples/staging/cockroachdb
-# This creates a new subdirectory 'cockroachdb' for the downloaded package.
-$ kpt pkg get https://github.com/kubernetes/examples.git/staging/cockroachdb@master
-```
-
-
-
-```shell
-# Fetch package cockroachdb from github.com/kubernetes/examples/staging/cockroachdb
-# This will create a new directory 'my-package' for the downloaded package if it
-# doesn't already exist.
-$ kpt pkg get https://github.com/kubernetes/examples.git/staging/cockroachdb@master ./my-package/
-```
-
-
-
-```shell
-# Fetch package examples from github.com/kubernetes/examples at the specified
-# git hash.
-# This will create a new directory 'examples' for the package.
-$ kpt pkg get https://github.com/kubernetes/examples.git/@6fe2792
-```
-
-
-
-```shell
-# Create a deployable instance of examples package from github.com/kubernetes/examples
-# This will create a new directory 'examples' for the package.
-$ kpt pkg get https://github.com/kubernetes/examples.git/@6fe2792 --for-deployment
-```
-
-
diff --git a/site/reference/cli/pkg/init/README.md b/site/reference/cli/pkg/init/README.md
deleted file mode 100644
index ffaa9ff4d0..0000000000
--- a/site/reference/cli/pkg/init/README.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-title: "`init`"
-linkTitle: "init"
-type: docs
-description: >
- Initialize an empty package.
----
-
-
-
-`init` initializes an existing empty directory as a kpt package by adding a
-Kptfile and a placeholder `README.md` file.
-
-### Synopsis
-
-
-
-```
-kpt pkg init [DIR] [flags]
-```
-
-#### Args
-
-```
-DIR:
- init fails if DIR does not already exist. Defaults to the current working directory.
-```
-
-#### Flags
-
-```
---description
- Short description of the package. (default "sample description")
-
---keywords
- A list of keywords describing the package.
-
---site
- Link to page with information about the package.
-```
-
-
-
-### Examples
-
-{{% hide %}}
-
-
-
-```
-# Set up workspace for the test.
-TEST_HOME=$(mktemp -d)
-cd $TEST_HOME
-```
-
-{{% /hide %}}
-
-
-
-
-
-```shell
-# Creates a new Kptfile with metadata in the cockroachdb directory.
-$ mkdir cockroachdb; kpt pkg init cockroachdb --keywords "cockroachdb,nosql,db" \
- --description "my cockroachdb implementation"
-```
-
-```shell
-# Creates a new Kptfile without metadata in the current directory.
-$ kpt pkg init
-```
-
-
diff --git a/site/reference/cli/pkg/sidebar.md b/site/reference/cli/pkg/sidebar.md
deleted file mode 100644
index 5e238d7c50..0000000000
--- a/site/reference/cli/pkg/sidebar.md
+++ /dev/null
@@ -1,17 +0,0 @@
-- [Installation](installation/)
- - [Docker](installation/docker/)
- - [gcloud](installation/gcloud/)
- - [Homebrew](installation/homebrew/)
- - [Source](installation/source/)
- - [Binaries](installation/binaries/)
-- [Reference](reference/)
- - [pkg](reference/pkg/)
- - [diff](reference/pkg/diff/)
- - [get](reference/pkg/get/)
- - [init](reference/pkg/init/)
- - [tree](reference/pkg/tree/)
- - [update](reference/pkg/update/)
- - [fn](reference/fn/)
- - [live](reference/live/)
-- [FAQ](faq/)
-- [Contact](contact/)
diff --git a/site/reference/cli/pkg/tree/README.md b/site/reference/cli/pkg/tree/README.md
deleted file mode 100644
index bc22230ce9..0000000000
--- a/site/reference/cli/pkg/tree/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: "`tree`"
-linkTitle: "tree"
-weight: 4
-type: docs
-description: >
- Display resources, files and packages in a tree structure.
----
-
-
-
-`tree` displays resources, files and packages in a tree structure.
-
-### Synopsis
-
-
-
-```
-kpt pkg tree [DIR]
-```
-
-
-
-#### Args
-
-```
-DIR:
- Path to a directory containing KRM resource(s). Defaults to the current working directory.
-```
-
-### Examples
-
-
-
-```shell
-# Show resources in the current directory.
-$ kpt pkg tree
-```
-
-
diff --git a/site/reference/cli/pkg/update/README.md b/site/reference/cli/pkg/update/README.md
deleted file mode 100644
index 43b2d65608..0000000000
--- a/site/reference/cli/pkg/update/README.md
+++ /dev/null
@@ -1,222 +0,0 @@
----
-title: "`update`"
-linkTitle: "update"
-type: docs
-description: >
- Apply upstream package updates.
----
-
-
-
-`update` pulls in upstream changes and merges them into a local package. Changes
-may be applied using one of several strategies.
-
-Since this will update the local package, all changes must be committed to git
-before running `update`.
-
-### Synopsis
-
-
-
-```
-kpt pkg update [PKG_PATH][@VERSION] [flags]
-```
-
-#### Args
-
-```
-PKG_PATH:
- Local package path to update. Directory must exist and contain a Kptfile
- to be updated. Defaults to the current working directory.
-
-VERSION:
- A git tag, branch, ref or commit. Specified after the local_package
- with @ -- pkg@version.
- Defaults the ref specified in the Upstream section of the package Kptfile.
-
- Version types:
- * branch: update the local contents to the tip of the remote branch
- * tag: update the local contents to the remote tag
- * commit: update the local contents to the remote commit
-```
-
-#### Flags
-
-```
---strategy:
- Defines which strategy should be used to update the package. This will change
- the update strategy for the current kpt package for the current and future
- updates. If a strategy is not provided, the strategy specified in the package
- Kptfile will be used.
-
- * resource-merge: Perform a structural comparison of the original /
- updated resources, and merge the changes into the local package.
- * fast-forward: Fail without updating if the local package was modified
- since it was fetched.
- * force-delete-replace: Wipe all the local changes to the package and replace
- it with the remote version.
-```
-
-#### Env Vars
-
-```
-KPT_CACHE_DIR:
- Controls where to cache remote packages when fetching them.
- Defaults to /.kpt/repos/
- On macOS and Linux is determined by the $HOME env variable, while on
- Windows it is given by the %USERPROFILE% env variable.
-```
-
-
-
-### Examples
-
-
-
-```shell
-# Update package in the current directory.
-# git add . && git commit -m 'some message'
-$ kpt pkg update
-```
-
-```shell
-# Update my-package-dir/ to match the v1.3 branch or tag.
-# git add . && git commit -m 'some message'
-$ kpt pkg update my-package-dir/@v1.3
-```
-
-```shell
-# Update with the fast-forward strategy.
-# git add . && git commit -m "some message"
-$ kpt pkg update my-package-dir/@master --strategy fast-forward
-```
-
-
-
-### Details
-
-#### Resource-merge strategy
-
-The resource-merge strategy performs a structural comparison of each resource using the
-OpenAPI schema. So rather than performing a text-based merge, kpt leverages the
-common structure of KRM resources.
-
-##### Resource identity
-In order to perform a per-resource merge, kpt needs to be able to match a resource in
-the local package with the same resource in the upstream version of the package. It does
-this matching based on the identity of a resource, which is the combination of group,
-kind, name and namespace. So in our wordpress example, the identity of the`Deployment`
-resource is:
-```
-group: apps
-kind: Deployment
-name: wordpress
-namespace: ""
-```
-Changing the name and/or namespace of a resource is a pretty common way to customize
-a package. In order to make sure this doesn't create problems during merge, kpt will
-automatically adding the `# kpt-merge: /` comment on the `metadata`
-field of every resource when getting or updating a package. An example is the `Deployment`
-resource from the wordpress package:
-```yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata: # kpt-merge: /wordpress
- name: wordpress
- labels:
- app: wordpress
-...
-```
-
-##### Merge rules
-kpt performs a 3-way merge for every resource. This means it will use the resource
-in the local package, the updated resource from upstream, as well as the resource
-at the version where the local and upstream package diverged (i.e.
-common ancestor). When discussing the merge rules in detail, we will be referring to
-the three different sources as local, upstream and origin.
-
-In the discussion, we will be referring to non-associative and associative lists. A
-non-associative list either has elements that are scalars or another list, or it has elements
-that are mappings but without an associative key. An example of this in the kubernetes
-API is the `command` property on containers:
-```yaml
-apiVersion: v1
-kind: Pod
-metadata:
- name: pod
-spec:
- containers:
- - name: hello
- image: busybox
- command: ['sh', '-c', 'echo "Hello, World!"]
-```
-
-An associative list has elements that are mappings and
-one or more of the fields in the mappings are designated as associative keys. An associative key
-(also sometimes referred to as a merge key) is used to identify the "same" elements in two
-different lists for the purpose of merging them. An example from the kubernetes API
-is the list of containers in a pod which uses the `name` property as the merge key:
-```yaml
-apiVersion: v1
-kind: Pod
-metadata:
- name: pod
-spec:
- containers:
- - name: web
- image: nginx
- - name: sidecar
- image: log-collector
-```
-
-kpt will primarily look for information about
-any associative keys from the OpenAPI schema, but some fields are also automatically recognized as
-associative keys:
-* `mountPath`
-* `devicePath`
-* `ip`
-* `type`
-* `topologyKey`
-* `name`
-* `containerPort`
-
-The 3-way merge algorithm operates both on the level of each resource and on
-each individual field with a resource.
-
-On the resource level, the rules are:
-
-* A resource present in origin and deleted from upstream will be deleted from local.
-* A resource missing from origin and added in upstream will be added to local.
-* A resource only in local will be kept without changes.
-* A resource in both upstream and local will be merged into local.
-
-On the field level, the rules differ based on the type of field.
-
-For scalars and non-associative lists:
-* If the field is present in either upstream or local and the value is `null`, remove the field from local.
-* If the field is unchanged between upstream and local, leave the local value unchanged.
-* If the field has been changed in both upstream and local, update local with the value from upstream.
-
-For mappings:
-* If the field is present in either upstream or local and the value is `null`, remove the field from local.
-* If the field is present only in local, leave the local value unchanged.
-* If the field is not present in local, add the delta between origin and upstream as the value in local.
-* If the field is present in both upstream and local, recursively merge the values between local, upstream and origin.
-
-For associative lists:
-* If the field is present in either upstream or local and the value is `null`, remove the field from local.
-* If the field is present only in local, leave the local value unchanged.
-* If the field is not present in local, add the delta between origin and upstream as the value in local.
-* If the field is present in both upstream and local, recursively merge the values between local, upstream and origin.
-
-#### Fast-forward strategy
-
-The fast-forward strategy updates a local package with the changes from upstream, but will
-fail if the local package has been modified since it was fetched.
-
-#### Force-delete-replace strategy
-
-The force-delete-replace strategy updates a local package with changes from upstream, but will
-wipe out any modifications to the local package.
\ No newline at end of file
diff --git a/site/reference/schema/README.md b/site/reference/schema/README.md
deleted file mode 100644
index 7942cd31b8..0000000000
--- a/site/reference/schema/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Schema Reference
-
-This section contains the schema for all the custom resources used in kpt.
diff --git a/site/reference/schema/config-connector-status-convention/README.md b/site/reference/schema/config-connector-status-convention/README.md
deleted file mode 100644
index aa501eb5e9..0000000000
--- a/site/reference/schema/config-connector-status-convention/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Config Connector Status Convention
-
-`kpt` includes custom rules for [Config Connector] resources to make them easier to work
-with. This document describes how kpt uses fields and conditions on Config Connector
-resources to compute [reconcile status].
-
-Config Connector resources expose the `observedGeneration` field in the status
-object, and `kpt` will always report a resource as being `InProgress` if the
-`observedGeneration` doesn't match the value of `metadata.generation`.
-
-If the `Ready` condition is `True`, a Config Connector resource will be reported
-as `Current`, i.e it has been successfully reconciled.
-
-If the `Ready` condition is `False`, `kpt` will look at the `Reason` field on the
-condition object to determine whether the resource is making progress towards
-reconciliation. The possible values mirrors those used by [Config Connector events].
-If the value is one of the following, the resource is considered to have failed
-reconciliation:
-- `ManagementConflict`
-- `UpdateFailed`
-- `DeleteFailed`
-- `DependencyInvalid`
-
-Note that this doesn't necessarily mean it could never successfully reconcile.
-The Config Connector controller will keep retrying. But it does mean that the
-resource is in a state where an external change is most likely needed to resolve
-the issue. Typical examples would be missing permissions or an API that has not
-been enabled.
-
-Similar to all other resources, a Config Connector resource will be in the `Terminating`
-state if the `metadata.deletionTimestamp` is set, and considered fully deleted when
-the resource no longer exists in the cluster.
-
-[reconcile status]: /book/06-deploying-packages/?id=reconcile-status
-[Config Connector]: https://cloud.google.com/config-connector/docs/overview
-[Config Connector events]: https://cloud.google.com/config-connector/docs/how-to/monitoring-your-resources
diff --git a/site/reference/schema/crd-status-convention/README.md b/site/reference/schema/crd-status-convention/README.md
deleted file mode 100644
index 2cd4f424b5..0000000000
--- a/site/reference/schema/crd-status-convention/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# CRD Status Convention
-
-To enable kpt to calculate the [reconcile status] for CRDs, this document
-provides additional conventions for status conditions following the [Kubernetes
-API Guideline]. Custom controllers should use the following conditions types to
-signal whether a resource has been fully reconciled, and whether it has
-encountered any problems:
-
-- `Reconciling`: Indicates that the resource does not yet match its spec. i.e.
- the desired state as expressed in the resource spec object has not been fully
- realized in the cluster. A value of `"True"` means the controller is in the
- process of reconciling the resource while a value of `"False"` means there are
- no work left for the controller.
-- `Stalled`: Indicates that the controller is not able to make the expected
- progress towards reconciling the resource. The cause of this status can be
- either that the controller observes an actual problem (like a pod not being
- able to start), or that something is taking longer than expected (similar to
- the `progressDeadlineSeconds` timeout on Deployments). If this condition is
- `"True"`, it should be interpreted that something might be wrong. It does not
- mean that the resource will never be reconciled. Most process in Kubernetes
- retry forever, so this should not be considered a terminal state.
-
-CRDs should also set the `observedGeneration` field in the status object, a
-pattern already common in the built-in types. The controller should update this
-field every time it sees a new generation of the resource. This allows the kpt
-library to distinguish between resources that do not have any conditions set
-because they are fully reconciled, from resources that have no conditions set
-because they have just been created.
-
-An example of a resource where the latest change has been observed by the
-controller which is currently in the process of reconciling would be:
-
-```yaml
-apiVersion: example.com
-kind: Foo
-metadata:
- generation: 12
- name: bar
-spec:
- replicas: 1
-status:
- observedGeneration: 12
- conditions:
- - lastTransitionTime: "2020-03-25T21:20:38Z"
- lastUpdateTime: "2020-03-25T21:20:38Z"
- message: Resource is reconciling
- reason: Reconciling
- status: "True"
- type: Reconciling
- - lastTransitionTime: "2020-03-25T21:20:27Z"
- lastUpdateTime: "2020-03-25T21:20:39Z"
- status: "False"
- type: Stalled
-```
-
-The calculated reconcile status for this resource is `InProgress`.
-
-[kubernetes api guideline]:
- https://www.google.com/url?q=https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md%23typical-status-properties&sa=D&ust=1585160635349000&usg=AFQjCNE3ncANdus3xckLj3fkeupwFUoABw
-[reconcile status]: /book/06-deploying-packages/?id=reconcile-status
diff --git a/site/reference/schema/function-result-list/README.md b/site/reference/schema/function-result-list/README.md
deleted file mode 100644
index a1e54e702b..0000000000
--- a/site/reference/schema/function-result-list/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# FunctionResultList
-
-See
-[definition here](https://github.com/kptdev/kpt/blob/next/pkg/api/fnresult/v1/types.go#L50)
diff --git a/site/reference/schema/kptfile/README.md b/site/reference/schema/kptfile/README.md
deleted file mode 100644
index 6ebf846926..0000000000
--- a/site/reference/schema/kptfile/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Kptfile
-
-Grab the OpenAPI
-[schema here](https://raw.githubusercontent.com/kptdev/kpt/main/site/reference/schema/kptfile/kptfile.yaml).
diff --git a/site/reference/schema/kptfile/kptfile.json b/site/reference/schema/kptfile/kptfile.json
deleted file mode 100644
index 7b2de5658e..0000000000
--- a/site/reference/schema/kptfile/kptfile.json
+++ /dev/null
@@ -1,533 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft/2019-09/schema#",
- "type": "object",
- "anyOf": [
- "#/definitions/kptfile"
- ],
- "swagger": "2.0",
- "info": {
- "title": "Kptfile schema.",
- "version": "v1"
- },
- "paths": {},
- "definitions": {
- "Condition": {
- "type": "object",
- "properties": {
- "message": {
- "type": "string",
- "x-go-name": "Message"
- },
- "reason": {
- "type": "string",
- "x-go-name": "Reason"
- },
- "status": {
- "$ref": "#/definitions/ConditionStatus"
- },
- "type": {
- "type": "string",
- "x-go-name": "Type"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "ConditionStatus": {
- "type": "string",
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "Function": {
- "type": "object",
- "title": "Function specifies a KRM function.",
- "properties": {
- "configMap": {
- "description": "`ConfigMap` is a convenient way to specify a function config of kind ConfigMap.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "ConfigMap"
- },
- "configPath": {
- "description": "`ConfigPath` specifies a slash-delimited relative path to a file in the current directory\ncontaining a KRM resource used as the function config. This resource is\nexcluded when resolving 'sources', and as a result cannot be operated on\nby the pipeline.",
- "type": "string",
- "x-go-name": "ConfigPath"
- },
- "exclude": {
- "description": "`Exclude` are used to specify resources on which the function should NOT be executed.\nIf not specified, all resources selected by `Selectors` are selected.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Selector"
- },
- "x-go-name": "Exclusions"
- },
- "exec": {
- "description": "Exec specifies the function binary executable.\nThe executable can be fully qualified or it must exists in the $PATH e.g:\n\nexec: set-namespace\nexec: /usr/local/bin/my-custom-fn",
- "type": "string",
- "x-go-name": "Exec"
- },
- "image": {
- "description": "`Image` specifies the function container image.\nIt can either be fully qualified, e.g.:\n\nimage: gcr.io/kpt-fn/set-labels\n\nOptionally, kpt can be configured to use a image\nregistry host-path that will be used to resolve the image path in case\nthe image path is missing (Defaults to gcr.io/kpt-fn).\ne.g. The following resolves to gcr.io/kpt-fn/set-labels:\n\nimage: set-labels",
- "type": "string",
- "x-go-name": "Image"
- },
- "name": {
- "description": "`Name` is used to uniquely identify the function declaration\nthis is primarily used for merging function declaration with upstream counterparts",
- "type": "string",
- "x-go-name": "Name"
- },
- "selectors": {
- "description": "`Selectors` are used to specify resources on which the function should be executed\nif not specified, all resources are selected",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Selector"
- },
- "x-go-name": "Selectors"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "Git": {
- "type": "object",
- "title": "Git is the user-specified locator for a package on Git.",
- "properties": {
- "directory": {
- "description": "Directory is the sub directory of the git repository.\ne.g. 'staging/cockroachdb'",
- "type": "string",
- "x-go-name": "Directory"
- },
- "ref": {
- "description": "Ref can be a Git branch, tag, or a commit SHA-1.",
- "type": "string",
- "x-go-name": "Ref"
- },
- "repo": {
- "description": "Repo is the git repository the package.\ne.g. 'https://github.com/kubernetes/examples.git'",
- "type": "string",
- "x-go-name": "Repo"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "GitLock": {
- "type": "object",
- "title": "GitLock is the resolved locator for a package on Git.",
- "properties": {
- "commit": {
- "description": "Commit is the SHA-1 for the last fetch of the package.\nThis is set by kpt for bookkeeping purposes.",
- "type": "string",
- "x-go-name": "Commit"
- },
- "directory": {
- "description": "Directory is the sub directory of the git repository that was fetched.\ne.g. 'staging/cockroachdb'",
- "type": "string",
- "x-go-name": "Directory"
- },
- "ref": {
- "description": "Ref can be a Git branch, tag, or a commit SHA-1 that was fetched.\ne.g. 'master'",
- "type": "string",
- "x-go-name": "Ref"
- },
- "repo": {
- "description": "Repo is the git repository that was fetched.\ne.g. 'https://github.com/kubernetes/examples.git'",
- "type": "string",
- "x-go-name": "Repo"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "Inventory": {
- "description": "All of the the parameters are required if any are set.",
- "type": "object",
- "title": "Inventory encapsulates the parameters for the inventory resource applied to a cluster.",
- "properties": {
- "annotations": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Annotations"
- },
- "inventoryID": {
- "description": "Unique label to identify inventory resource in cluster.",
- "type": "string",
- "x-go-name": "InventoryID"
- },
- "labels": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Labels"
- },
- "name": {
- "description": "Name of the inventory resource.",
- "type": "string",
- "x-go-name": "Name"
- },
- "namespace": {
- "description": "Namespace for the inventory resource.",
- "type": "string",
- "x-go-name": "Namespace"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "NameMeta": {
- "type": "object",
- "title": "NameMeta contains name information.",
- "properties": {
- "name": {
- "description": "Name is the metadata.name field of a Resource",
- "type": "string",
- "x-go-name": "Name"
- },
- "namespace": {
- "description": "Namespace is the metadata.namespace field of a Resource",
- "type": "string",
- "x-go-name": "Namespace"
- }
- },
- "x-go-package": "sigs.k8s.io/kustomize/kyaml/yaml"
- },
- "ObjectMeta": {
- "description": "ObjectMeta contains metadata about a Resource",
- "type": "object",
- "properties": {
- "annotations": {
- "description": "Annotations is the metadata.annotations field of a Resource.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Annotations"
- },
- "labels": {
- "description": "Labels is the metadata.labels field of a Resource",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Labels"
- },
- "name": {
- "description": "Name is the metadata.name field of a Resource",
- "type": "string",
- "x-go-name": "Name"
- },
- "namespace": {
- "description": "Namespace is the metadata.namespace field of a Resource",
- "type": "string",
- "x-go-name": "Namespace"
- }
- },
- "x-go-package": "sigs.k8s.io/kustomize/kyaml/yaml"
- },
- "OriginType": {
- "type": "string",
- "title": "OriginType defines the type of origin for a package.",
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "PackageInfo": {
- "description": "These fields are not consumed by any functionality in kpt and are simply passed through.\nNote that like any other KRM resource, humans and automation can also use `metadata.labels` and\n`metadata.annotations` as the extension mechanism.",
- "type": "object",
- "title": "PackageInfo contains optional information about the package such as license, documentation, etc.",
- "properties": {
- "description": {
- "description": "Description contains a short description of the package.",
- "type": "string",
- "x-go-name": "Description"
- },
- "emails": {
- "description": "Email is the list of emails for the package authors.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "x-go-name": "Emails"
- },
- "keywords": {
- "description": "Keywords is a list of keywords for this package.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "x-go-name": "Keywords"
- },
- "license": {
- "description": "SPDX license identifier (e.g. \"Apache-2.0\"). See: https://spdx.org/licenses/",
- "type": "string",
- "x-go-name": "License"
- },
- "licenseFile": {
- "description": "Relative slash-delimited path to the license file (e.g. LICENSE.txt)",
- "type": "string",
- "x-go-name": "LicenseFile"
- },
- "man": {
- "description": "Man is the path to documentation about the package",
- "type": "string",
- "x-go-name": "Man"
- },
- "readinessGates": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ReadinessGate"
- },
- "x-go-name": "ReadinessGates"
- },
- "site": {
- "description": "Site is the URL for package web page.",
- "type": "string",
- "x-go-name": "Site"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "Pipeline": {
- "type": "object",
- "title": "Pipeline declares a pipeline of functions used to mutate or validate resources.",
- "properties": {
- "mutators": {
- "description": "Mutators defines a list of of KRM functions that mutate resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Function"
- },
- "x-go-name": "Mutators"
- },
- "validators": {
- "description": "Validators defines a list of KRM functions that validate resources.\nValidators are not permitted to mutate resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Function"
- },
- "x-go-name": "Validators"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "ReadinessGate": {
- "type": "object",
- "properties": {
- "conditionType": {
- "type": "string",
- "x-go-name": "ConditionType"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "ResourceMeta": {
- "type": "object",
- "title": "ResourceMeta contains the metadata for a both Resource Type and Resource.",
- "properties": {
- "annotations": {
- "description": "Annotations is the metadata.annotations field of a Resource.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Annotations"
- },
- "apiVersion": {
- "description": "APIVersion is the apiVersion field of a Resource",
- "type": "string",
- "x-go-name": "APIVersion"
- },
- "kind": {
- "description": "Kind is the kind field of a Resource",
- "type": "string",
- "x-go-name": "Kind"
- },
- "labels": {
- "description": "Labels is the metadata.labels field of a Resource",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Labels"
- },
- "name": {
- "description": "Name is the metadata.name field of a Resource",
- "type": "string",
- "x-go-name": "Name"
- },
- "namespace": {
- "description": "Namespace is the metadata.namespace field of a Resource",
- "type": "string",
- "x-go-name": "Namespace"
- }
- },
- "x-go-package": "sigs.k8s.io/kustomize/kyaml/yaml"
- },
- "Selector": {
- "description": "Selector specifies the selection criteria\nplease update IsEmpty method if more properties are added",
- "type": "object",
- "properties": {
- "annotations": {
- "description": "Annotations on the target resources",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Annotations"
- },
- "apiVersion": {
- "description": "APIVersion of the target resources",
- "type": "string",
- "x-go-name": "APIVersion"
- },
- "kind": {
- "description": "Kind of the target resources",
- "type": "string",
- "x-go-name": "Kind"
- },
- "labels": {
- "description": "Labels on the target resources",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Labels"
- },
- "name": {
- "description": "Name of the target resources",
- "type": "string",
- "x-go-name": "Name"
- },
- "namespace": {
- "description": "Namespace of the target resources",
- "type": "string",
- "x-go-name": "Namespace"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "Status": {
- "type": "object",
- "properties": {
- "conditions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Condition"
- },
- "x-go-name": "Conditions"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "TypeMeta": {
- "description": "TypeMeta partially copies apimachinery/pkg/apis/meta/v1.TypeMeta\nNo need for a direct dependence; the fields are stable.",
- "type": "object",
- "properties": {
- "apiVersion": {
- "description": "APIVersion is the apiVersion field of a Resource",
- "type": "string",
- "x-go-name": "APIVersion"
- },
- "kind": {
- "description": "Kind is the kind field of a Resource",
- "type": "string",
- "x-go-name": "Kind"
- }
- },
- "x-go-package": "sigs.k8s.io/kustomize/kyaml/yaml"
- },
- "UpdateStrategyType": {
- "type": "string",
- "title": "UpdateStrategyType defines the strategy for updating a package from upstream.",
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "Upstream": {
- "type": "object",
- "title": "Upstream is a user-specified upstream locator for a package.",
- "properties": {
- "git": {
- "$ref": "#/definitions/Git"
- },
- "type": {
- "$ref": "#/definitions/OriginType"
- },
- "updateStrategy": {
- "$ref": "#/definitions/UpdateStrategyType"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "UpstreamLock": {
- "type": "object",
- "title": "UpstreamLock is a resolved locator for the last fetch of the package.",
- "properties": {
- "git": {
- "$ref": "#/definitions/GitLock"
- },
- "type": {
- "$ref": "#/definitions/OriginType"
- }
- },
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- },
- "kptfile": {
- "type": "object",
- "title": "KptFile contains information about a package managed with kpt.",
- "properties": {
- "annotations": {
- "description": "Annotations is the metadata.annotations field of a Resource.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Annotations"
- },
- "apiVersion": {
- "description": "APIVersion is the apiVersion field of a Resource",
- "type": "string",
- "x-go-name": "APIVersion"
- },
- "info": {
- "$ref": "#/definitions/PackageInfo"
- },
- "inventory": {
- "$ref": "#/definitions/Inventory"
- },
- "kind": {
- "description": "Kind is the kind field of a Resource",
- "type": "string",
- "x-go-name": "Kind"
- },
- "labels": {
- "description": "Labels is the metadata.labels field of a Resource",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-go-name": "Labels"
- },
- "name": {
- "description": "Name is the metadata.name field of a Resource",
- "type": "string",
- "x-go-name": "Name"
- },
- "namespace": {
- "description": "Namespace is the metadata.namespace field of a Resource",
- "type": "string",
- "x-go-name": "Namespace"
- },
- "pipeline": {
- "$ref": "#/definitions/Pipeline"
- },
- "status": {
- "$ref": "#/definitions/Status"
- },
- "upstream": {
- "$ref": "#/definitions/Upstream"
- },
- "upstreamLock": {
- "$ref": "#/definitions/UpstreamLock"
- }
- },
- "x-go-name": "KptFile",
- "x-go-package": "github.com/kptdev/kpt/pkg/api/kptfile/v1"
- }
- }
-}
diff --git a/site/reference/schema/kptfile/kptfile.yaml b/site/reference/schema/kptfile/kptfile.yaml
deleted file mode 100644
index 7f064837ee..0000000000
--- a/site/reference/schema/kptfile/kptfile.yaml
+++ /dev/null
@@ -1,446 +0,0 @@
-definitions:
- Condition:
- properties:
- message:
- type: string
- x-go-name: Message
- reason:
- type: string
- x-go-name: Reason
- status:
- $ref: '#/definitions/ConditionStatus'
- type:
- type: string
- x-go-name: Type
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- ConditionStatus:
- type: string
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- Function:
- properties:
- configMap:
- additionalProperties:
- type: string
- description: '`ConfigMap` is a convenient way to specify a function config
- of kind ConfigMap.'
- type: object
- x-go-name: ConfigMap
- configPath:
- description: |-
- `ConfigPath` specifies a slash-delimited relative path to a file in the current directory
- containing a KRM resource used as the function config. This resource is
- excluded when resolving 'sources', and as a result cannot be operated on
- by the pipeline.
- type: string
- x-go-name: ConfigPath
- exclude:
- description: |-
- `Exclude` are used to specify resources on which the function should NOT be executed.
- If not specified, all resources selected by `Selectors` are selected.
- items:
- $ref: '#/definitions/Selector'
- type: array
- x-go-name: Exclusions
- exec:
- description: |-
- Exec specifies the function binary executable.
- The executable can be fully qualified or it must exists in the $PATH e.g:
-
- exec: set-namespace
- exec: /usr/local/bin/my-custom-fn
- type: string
- x-go-name: Exec
- image:
- description: |-
- `Image` specifies the function container image.
- It can either be fully qualified, e.g.:
-
- image: gcr.io/kpt-fn/set-labels
-
- Optionally, kpt can be configured to use a image
- registry host-path that will be used to resolve the image path in case
- the image path is missing (Defaults to gcr.io/kpt-fn).
- e.g. The following resolves to gcr.io/kpt-fn/set-labels:
-
- image: set-labels
- type: string
- x-go-name: Image
- name:
- description: |-
- `Name` is used to uniquely identify the function declaration
- this is primarily used for merging function declaration with upstream counterparts
- type: string
- x-go-name: Name
- selectors:
- description: |-
- `Selectors` are used to specify resources on which the function should be executed
- if not specified, all resources are selected
- items:
- $ref: '#/definitions/Selector'
- type: array
- x-go-name: Selectors
- title: Function specifies a KRM function.
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- Git:
- properties:
- directory:
- description: |-
- Directory is the sub directory of the git repository.
- e.g. 'staging/cockroachdb'
- type: string
- x-go-name: Directory
- ref:
- description: Ref can be a Git branch, tag, or a commit SHA-1.
- type: string
- x-go-name: Ref
- repo:
- description: |-
- Repo is the git repository the package.
- e.g. 'https://github.com/kubernetes/examples.git'
- type: string
- x-go-name: Repo
- title: Git is the user-specified locator for a package on Git.
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- GitLock:
- properties:
- commit:
- description: |-
- Commit is the SHA-1 for the last fetch of the package.
- This is set by kpt for bookkeeping purposes.
- type: string
- x-go-name: Commit
- directory:
- description: |-
- Directory is the sub directory of the git repository that was fetched.
- e.g. 'staging/cockroachdb'
- type: string
- x-go-name: Directory
- ref:
- description: |-
- Ref can be a Git branch, tag, or a commit SHA-1 that was fetched.
- e.g. 'master'
- type: string
- x-go-name: Ref
- repo:
- description: |-
- Repo is the git repository that was fetched.
- e.g. 'https://github.com/kubernetes/examples.git'
- type: string
- x-go-name: Repo
- title: GitLock is the resolved locator for a package on Git.
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- Inventory:
- description: All of the the parameters are required if any are set.
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- x-go-name: Annotations
- inventoryID:
- description: Unique label to identify inventory resource in cluster.
- type: string
- x-go-name: InventoryID
- labels:
- additionalProperties:
- type: string
- type: object
- x-go-name: Labels
- name:
- description: Name of the inventory resource.
- type: string
- x-go-name: Name
- namespace:
- description: Namespace for the inventory resource.
- type: string
- x-go-name: Namespace
- title: Inventory encapsulates the parameters for the inventory resource applied
- to a cluster.
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- NameMeta:
- properties:
- name:
- description: Name is the metadata.name field of a Resource
- type: string
- x-go-name: Name
- namespace:
- description: Namespace is the metadata.namespace field of a Resource
- type: string
- x-go-name: Namespace
- title: NameMeta contains name information.
- type: object
- x-go-package: sigs.k8s.io/kustomize/kyaml/yaml
- ObjectMeta:
- description: ObjectMeta contains metadata about a Resource
- properties:
- annotations:
- additionalProperties:
- type: string
- description: Annotations is the metadata.annotations field of a Resource.
- type: object
- x-go-name: Annotations
- labels:
- additionalProperties:
- type: string
- description: Labels is the metadata.labels field of a Resource
- type: object
- x-go-name: Labels
- name:
- description: Name is the metadata.name field of a Resource
- type: string
- x-go-name: Name
- namespace:
- description: Namespace is the metadata.namespace field of a Resource
- type: string
- x-go-name: Namespace
- type: object
- x-go-package: sigs.k8s.io/kustomize/kyaml/yaml
- OriginType:
- title: OriginType defines the type of origin for a package.
- type: string
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- PackageInfo:
- description: |-
- These fields are not consumed by any functionality in kpt and are simply passed through.
- Note that like any other KRM resource, humans and automation can also use `metadata.labels` and
- `metadata.annotations` as the extension mechanism.
- properties:
- description:
- description: Description contains a short description of the package.
- type: string
- x-go-name: Description
- emails:
- description: Email is the list of emails for the package authors.
- items:
- type: string
- type: array
- x-go-name: Emails
- keywords:
- description: Keywords is a list of keywords for this package.
- items:
- type: string
- type: array
- x-go-name: Keywords
- license:
- description: 'SPDX license identifier (e.g. "Apache-2.0"). See: https://spdx.org/licenses/'
- type: string
- x-go-name: License
- licenseFile:
- description: Relative slash-delimited path to the license file (e.g. LICENSE.txt)
- type: string
- x-go-name: LicenseFile
- man:
- description: Man is the path to documentation about the package
- type: string
- x-go-name: Man
- readinessGates:
- items:
- $ref: '#/definitions/ReadinessGate'
- type: array
- x-go-name: ReadinessGates
- site:
- description: Site is the URL for package web page.
- type: string
- x-go-name: Site
- title: PackageInfo contains optional information about the package such as license,
- documentation, etc.
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- Pipeline:
- properties:
- mutators:
- description: Mutators defines a list of of KRM functions that mutate resources.
- items:
- $ref: '#/definitions/Function'
- type: array
- x-go-name: Mutators
- validators:
- description: |-
- Validators defines a list of KRM functions that validate resources.
- Validators are not permitted to mutate resources.
- items:
- $ref: '#/definitions/Function'
- type: array
- x-go-name: Validators
- title: Pipeline declares a pipeline of functions used to mutate or validate resources.
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- ReadinessGate:
- properties:
- conditionType:
- type: string
- x-go-name: ConditionType
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- ResourceMeta:
- properties:
- annotations:
- additionalProperties:
- type: string
- description: Annotations is the metadata.annotations field of a Resource.
- type: object
- x-go-name: Annotations
- apiVersion:
- description: APIVersion is the apiVersion field of a Resource
- type: string
- x-go-name: APIVersion
- kind:
- description: Kind is the kind field of a Resource
- type: string
- x-go-name: Kind
- labels:
- additionalProperties:
- type: string
- description: Labels is the metadata.labels field of a Resource
- type: object
- x-go-name: Labels
- name:
- description: Name is the metadata.name field of a Resource
- type: string
- x-go-name: Name
- namespace:
- description: Namespace is the metadata.namespace field of a Resource
- type: string
- x-go-name: Namespace
- title: ResourceMeta contains the metadata for a both Resource Type and Resource.
- type: object
- x-go-package: sigs.k8s.io/kustomize/kyaml/yaml
- Selector:
- description: |-
- Selector specifies the selection criteria
- please update IsEmpty method if more properties are added
- properties:
- annotations:
- additionalProperties:
- type: string
- description: Annotations on the target resources
- type: object
- x-go-name: Annotations
- apiVersion:
- description: APIVersion of the target resources
- type: string
- x-go-name: APIVersion
- kind:
- description: Kind of the target resources
- type: string
- x-go-name: Kind
- labels:
- additionalProperties:
- type: string
- description: Labels on the target resources
- type: object
- x-go-name: Labels
- name:
- description: Name of the target resources
- type: string
- x-go-name: Name
- namespace:
- description: Namespace of the target resources
- type: string
- x-go-name: Namespace
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- Status:
- properties:
- conditions:
- items:
- $ref: '#/definitions/Condition'
- type: array
- x-go-name: Conditions
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- TypeMeta:
- description: |-
- TypeMeta partially copies apimachinery/pkg/apis/meta/v1.TypeMeta
- No need for a direct dependence; the fields are stable.
- properties:
- apiVersion:
- description: APIVersion is the apiVersion field of a Resource
- type: string
- x-go-name: APIVersion
- kind:
- description: Kind is the kind field of a Resource
- type: string
- x-go-name: Kind
- type: object
- x-go-package: sigs.k8s.io/kustomize/kyaml/yaml
- UpdateStrategyType:
- title: UpdateStrategyType defines the strategy for updating a package from upstream.
- type: string
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- Upstream:
- properties:
- git:
- $ref: '#/definitions/Git'
- type:
- $ref: '#/definitions/OriginType'
- updateStrategy:
- $ref: '#/definitions/UpdateStrategyType'
- title: Upstream is a user-specified upstream locator for a package.
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- UpstreamLock:
- properties:
- git:
- $ref: '#/definitions/GitLock'
- type:
- $ref: '#/definitions/OriginType'
- title: UpstreamLock is a resolved locator for the last fetch of the package.
- type: object
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
- kptfile:
- properties:
- annotations:
- additionalProperties:
- type: string
- description: Annotations is the metadata.annotations field of a Resource.
- type: object
- x-go-name: Annotations
- apiVersion:
- description: APIVersion is the apiVersion field of a Resource
- type: string
- x-go-name: APIVersion
- info:
- $ref: '#/definitions/PackageInfo'
- inventory:
- $ref: '#/definitions/Inventory'
- kind:
- description: Kind is the kind field of a Resource
- type: string
- x-go-name: Kind
- labels:
- additionalProperties:
- type: string
- description: Labels is the metadata.labels field of a Resource
- type: object
- x-go-name: Labels
- name:
- description: Name is the metadata.name field of a Resource
- type: string
- x-go-name: Name
- namespace:
- description: Namespace is the metadata.namespace field of a Resource
- type: string
- x-go-name: Namespace
- pipeline:
- $ref: '#/definitions/Pipeline'
- status:
- $ref: '#/definitions/Status'
- upstream:
- $ref: '#/definitions/Upstream'
- upstreamLock:
- $ref: '#/definitions/UpstreamLock'
- title: KptFile contains information about a package managed with kpt.
- type: object
- x-go-name: KptFile
- x-go-package: github.com/kptdev/kpt/pkg/api/kptfile/v1
-info:
- title: Kptfile schema.
- version: v1
-paths: {}
-swagger: "2.0"
diff --git a/site/reference/schema/plan/README.md b/site/reference/schema/plan/README.md
deleted file mode 100644
index f31089958a..0000000000
--- a/site/reference/schema/plan/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Plan
-
-The `kpt alpha live plan` command gives the option of outputting the plan in KRM format. This will be wrapped in a `ResourceList`
-resource so it can easily be piped into kpt functions for validation.
-
-The plan contains a list of actions (under `spec.actions`) with one item for each resource associated with the package being
-applied. Each entry in the list contains the `apiVersion`, `kind`, `name`, and `namespace` to identify the resource. It
-also contains an `action` field, which defines which action will be taken on the resource during apply. It can have one of
-the values:
-* **Create**: The resource does not currently exist in the cluster and will be created.
-* **Unchanged**: The resource exists in the cluster and there are no changes to it.
-* **Delete**: The resource exists in the cluster, but is not among the applied resources. Therefore it will be pruned.
-* **Update**: The resource exists in the cluster and will be updated.
-* **Skip**: No changes will be made to this resource due to the presence of one or more lifecycle directives.
-* **Error**: An error was encountered for the resource.
-
-There is also an `original` field which contains the resource from the cluster before apply (is it does exist), and
-an `updated` field that contains the resource after apply (but the state in the cluster remains unchanged). Finally, there
-is an `error` field that will have a more detailed error message in the cases where the value of the `action` field is `Error`.
-
-The OpenAPI
-[schema is available here](https://raw.githubusercontent.com/kptdev/kpt/main/site/reference/schema/kptfile/kptfile.yaml).
\ No newline at end of file
diff --git a/site/reference/schema/plan/plan.yaml b/site/reference/schema/plan/plan.yaml
deleted file mode 100644
index 05f270b516..0000000000
--- a/site/reference/schema/plan/plan.yaml
+++ /dev/null
@@ -1,60 +0,0 @@
-definitions:
- Action:
- properties:
- type:
- description: The type of action for the resource. One of Create, Unchanged, Delete, Update, Skip, Error
- type: string
- apiVersion:
- description: The apiVersion of the resource
- type: string
- kind:
- description: The kind of the resource
- type: string
- name:
- description: The name of the resource
- type: string
- namespace:
- description: The namespace of the resource
- type: string
- original:
- description: The state of the resource in the cluster before any changes are applied
- type: object
- updated:
- description: The state of the resource in the cluster after a dry-run server-side apply
- type: object
- error:
- description: The error resulting from the apply operation if any
- type: string
- description:
- type: object
- Plan:
- properties:
- apiVersion:
- description: APIVersion is the apiVersion field of a Resource
- type: string
- kind:
- description: Kind is the kind field of a Resource
- type: string
- labels:
- additionalProperties:
- type: string
- description: Labels is the metadata.labels field of a Resource
- type: object
- name:
- description: Name is the metadata.name field of a Resource
- type: string
- namespace:
- description: Namespace is the metadata.namespace field of a Resource
- type: string
- spec:
- description: Spec is the specification of the Plan.
- items:
- $ref: '#/definitions/Action'
- type: array
- title: Plan contains actions that will be taken when applying a package
- type: object
-info:
- title: Plan schema.
- version: v1alpha1
-paths: {}
-swagger: "2.0"
diff --git a/site/reference/schema/resource-list/README.md b/site/reference/schema/resource-list/README.md
deleted file mode 100644
index 8de3efe2f3..0000000000
--- a/site/reference/schema/resource-list/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# ResourceList
-
-See
-[definition here](https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md#schema)
diff --git a/site/sdk/ts-guide.md b/site/sdk/ts-guide.md
deleted file mode 100644
index 7bec85da13..0000000000
--- a/site/sdk/ts-guide.md
+++ /dev/null
@@ -1,237 +0,0 @@
-# Typescript SDK Developer Guide
-
-This guide will walk you through developing a kpt function using the Typescript SDK.
-
-## Setup
-
-### System Requirements
-
-Currently supported platforms: amd64 Linux/Mac
-
-### Setting Up Your Local Environment
-
-Currently supported platforms: amd64 Linux/Mac
-
-- Install [kpt][download-kpt] and its dependencies
-- Install [node][download-node]
- - The SDK requires `npm` version 6 or higher.
- - If installing node from binaries (i.e. without a package manager), follow
- these [installation instructions][install-node].
-
-### Your Kubernetes Cluster
-
-For the type generation functionality to work, you need a Kubernetes cluster
-with the [CRD OpenAPI Publishing][crd-openapi] feature which is GA with
-Kubernetes 1.16.
-
-Alternatively, you can use an existing NPM package with pre-generated types
-such as the `hello-world` package discussed in the [Quickstart] and skip to
-[implementing the function](#implement-the-function).
-
-### Working with CRDs
-
-The SDK uses the k8s server to generate the Typescript classes. If your
-function uses a Custom Resource Definition, make sure you apply it to the
-cluster used for type generation:
-
-```shell
-$ kubectl apply -f /path/to/my/crd.yaml
-```
-
-## Create the NPM Package
-
-To initialize a new NPM package, first create a package directory:
-
-```shell
-$ mkdir my-package
-$ cd my-package
-```
-
-> **Note:** All subsequent commands are run from the `my-package/` directory.
-
-Run the interactive initializer:
-
-```shell
-$ npm init kpt-functions
-```
-
-Follow the instructions and respond to all prompts.
-
-This process will create the following:
-
-1. `package.json`: The `kpt-functions` framework library is the only item
- declared in `dependencies`. Everything required to compile and test your
- config function is declared as `devDependencies`, including the
- `create-kpt-functions` CLI discussed later in the `README`.
-1. `src/`: Directory containing the source files for all your functions, e.g.:
- - `my_func.ts`: Implement your function's interface here.
- - `my_func_test.ts`: Unit tests for your function.
- - `my_func_run.ts`: The entry point from which your function is run.
-1. `src/gen/`: Contains Kubernetes core and CRD types generated from the
- OpenAPI spec published by the cluster you selected.
-1. `build/`: Contains Dockerfile for each function, e.g.:
- - `my_func.Dockerfile`
-
-Next, install all package dependencies:
-
-```shell
-$ npm install
-```
-
-In addition to installation, `install` compiles your function into the `dist/`
-directory.
-
-You can run your function directly:
-
-```shell
-$ node dist/my_func_run.js --help
-```
-
-Currently, it simply passes through the input configuration data. Let's remedy
-this.
-
-## Implement the Function
-
-You can now start implementing the function using your favorite IDE, e.g.
-[VSCode]:
-
-```shell
-$ code .
-```
-
-In `src/my_func.ts`, implement the `KptFunc` interface from the [TS SDK API].
-
-Take a look at these [demo functions] to better understand how
-to use the typescript library.
-
-Once you've written some code, build the package with:
-
-```shell
-$ npm run build
-```
-
-Alternatively, run the following in a separate terminal. It will continuously
-build your function as you make changes:
-
-```shell
-$ npm run watch
-```
-
-To run the tests, use:
-
-```shell
-$ npm test
-```
-
-## Debug and Test the Function
-
-You may want to run a function developed with one of the config function SDKs
-using the exec runtime in order to avoid the overhead associated with running
-a container. To run your function in the exec runtime, you will first need to
-package your function as an executable.
-
-The below example shows how to run a typescript function using the kpt exec
-runtime.
-
-### Prerequisites
-
-- Install the pkg CLI.
-
- ```shell
- $ npm install -g pkg
- ```
-
-- Install your kpt-functions package module to create your function's
- distributable file.
-
- ```shell
- $ npm i
- ```
-
-### Steps
-
-1. Pass the path to the appropriate executable for your OS when running kpt
- using the exec runtime.
-
- ```shell
- $ kpt fn eval DIR --exec "node dist/my_func_run.js"
- ```
-
-## Build and push container images
-
-With your working function in-hand, it's time to package your function into an
-executable container image.
-
-To build the docker image:
-
-```shell
-$ npm run kpt:docker-build
-```
-
-You can now run the function container, e.g.:
-
-```shell
-$ kpt fn eval DIR --image gcr.io/kpt-functions-demo/my-func:dev
-```
-
-To push the image to your container registry of choice:
-
-```shell
-$ npm run kpt:docker-push
-```
-
-You'll need proper authentication/authorization to push to your registry.
-
-`kpt:docker-push` pushes to the registry specified in the
-`kpt.docker_repo_base` field in `package.json`. You can manually edit this
-field at any time.
-
-The default value for the container image tag is `dev`. This can be overridden
-using`--tag` flag:
-
-```shell
-$ npm run kpt:docker-build -- --tag=latest
-$ npm run kpt:docker-push -- --tag=latest
-```
-
-## Use the SDK CLI
-
-The `create-kpt-functions` package (installed as `devDependencies`), provides
-a CLI for managing the NPM package you created above. The CLI sub-commands can
-be invoked via `npm run`. For example, to add a new function to the package:
-
-```shell
-$ npm run kpt:function-create
-```
-
-These sub-commands are available:
-
-```
-kpt:docker-create Generate Dockerfiles for all functions. Overwrite
- files if they exist.
-kpt:docker-build Build container images for all functions.
-kpt:docker-push Push container images to the registry for all
- functions.
-kpt:function-create Generate stubs for a new function. Overwrites files
- if they exist.
-kpt:type-create Generate classes for core and CRD types. Overwrite
- files if they exist.
-```
-
-Flags are passed to the CLI after the `--` separator. For example, to pass a
-tag when building a container image:
-
-```shell
-$ npm run kpt:docker-build -- --tag=latest
-```
-
-[download-kpt]: /book/01-getting-started/01-system-requirements
-[download-node]: https://nodejs.org/en/download/
-[install-node]: https://github.com/nodejs/help/wiki/Installation/
-[install-node]: https://github.com/nodejs/help/wiki/Installation/
-[install-docker]: https://docs.docker.com/engine/installation/
-[crd-openapi]: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.15.md#customresourcedefinition-openapi-publishing
-[quickstart]: ../quickstart/
-[vscode]: https://code.visualstudio.com/
-[ts sdk api]: https://kptdev.github.io/krm-functions-sdk/api/
-[demo functions]: https://github.com/kptdev/krm-functions-sdk/tree/master/ts/demo-functions/src/
diff --git a/site/sidebar.md b/site/sidebar.md
deleted file mode 100644
index fab3cdbeb7..0000000000
--- a/site/sidebar.md
+++ /dev/null
@@ -1,112 +0,0 @@
-
-- [Installation](installation/)
-- [Book](book/)
- - [1 Getting Started](book/01-getting-started/)
- - [1.1 System Requirements](book/01-getting-started/01-system-requirements.md)
- - [1.2 Quickstart](book/01-getting-started/02-quickstart.md)
- - [2 Concepts](book/02-concepts/)
- - [2.1 Packages](book/02-concepts/01-packages.md)
- - [2.2 Workflows](book/02-concepts/02-workflows.md)
- - [2.3 Functions](book/02-concepts/03-functions.md)
- - [3 Packages](book/03-packages/)
- - [3.1 Getting a Package](book/03-packages/01-getting-a-package.md)
- - [3.2 Exploring a Package](book/03-packages/02-exploring-a-package.md)
- - [3.3 Editing a Package](book/03-packages/03-editing-a-package.md)
- - [3.4 Rendering a Package](book/03-packages/04-rendering-a-package.md)
- - [3.5 Updating a Package](book/03-packages/05-updating-a-package.md)
- - [3.6 Creating a Package](book/03-packages/06-creating-a-package.md)
- - [3.7 Composing a Package](book/03-packages/07-composing-a-package.md)
- - [3.8 Publishing a Package](book/03-packages/08-publishing-a-package.md)
- - [4 Using Functions](book/04-using-functions/)
- - [4.1 Declarative Function Execution](book/04-using-functions/01-declarative-function-execution.md)
- - [4.2 Imperative Function Execution](book/04-using-functions/02-imperative-function-execution.md)
- - [4.3 Function Results](book/04-using-functions/03-function-results.md)
- - [5 Developing Functions](book/05-developing-functions/)
- - [5.1 Functions Specification](book/05-developing-functions/01-functions-specification.md)
- - [5.2 Developing in Go](book/05-developing-functions/02-developing-in-Go.md)
- - [5.3 Developing in Typescript](book/05-developing-functions/03-developing-in-Typescript.md)
- - [5.4 Developing in Starlark](book/05-developing-functions/04-developing-in-Starlark.md)
- - [6 Deploying Packages](book/06-deploying-packages/)
- - [6.1 Initializing a Package for Apply](book/06-deploying-packages/01-initializing-a-package-for-apply.md)
- - [6.2 Applying a Package](book/06-deploying-packages/02-applying-a-package.md)
- - [6.3 Handling Dependencies](book/06-deploying-packages/03-handling-dependencies.md)
- - [7 Effective Customizations](book/07-effective-customizations/)
- - [7.1 Single Value Replacement](book/07-effective-customizations/01-single-value-replacement.md)
- - [7.2 Limiting Package Changes](book/07-effective-customizations/02-limiting-package-changes.md)
- - [7.3 Generation](book/07-effective-customizations/03-generation.md)
- - [8 Package Orchestration](book/08-package-orchestration/)
- - [8.1 System Requirements](book/08-package-orchestration/01-system-requirements.md)
- - [8.2 Quickstart](book/08-package-orchestration/02-quickstart.md)
- - [8.3 Registering a Repository](book/08-package-orchestration/03-registering-a-repository.md)
- - [8.4 Package Authoring](book/08-package-orchestration/04-package-authoring.md)
- - [8.5 Package Lifecycle](book/08-package-orchestration/05-package-lifecycle.md)
-- [Reference](reference/)
- - [Annotations](reference/annotations/)
- - [apply-time mutation](reference/annotations/apply-time-mutation/)
- - [depends-on](reference/annotations/depends-on/)
- - [local-config](reference/annotations/local-config/)
- - [CLI](reference/cli/)
- - [pkg](reference/cli/pkg/)
- - [diff](reference/cli/pkg/diff/)
- - [get](reference/cli/pkg/get/)
- - [init](reference/cli/pkg/init/)
- - [tree](reference/cli/pkg/tree/)
- - [update](reference/cli/pkg/update/)
- - [fn](reference/cli/fn/)
- - [render](reference/cli/fn/render/)
- - [eval](reference/cli/fn/eval/)
- - [sink](reference/cli/fn/sink/)
- - [source](reference/cli/fn/source/)
- - [live](reference/cli/live/)
- - [apply](reference/cli/live/apply/)
- - [destroy](reference/cli/live/destroy/)
- - [init](reference/cli/live/init/)
- - [install-resource-group](reference/cli/live/install-resource-group/)
- - [migrate](reference/cli/live/migrate/)
- - [status](reference/cli/live/status/)
- - [alpha](reference/cli/alpha/)
- - [live](reference/cli/alpha/live/)
- - [plan](reference/cli/alpha/live/plan/)
- - [repo](reference/cli/alpha/repo/)
- - [get](reference/cli/alpha/repo/get/)
- - [reg](reference/cli/alpha/repo/reg/)
- - [unreg](reference/cli/alpha/repo/unreg/)
- - [rpkg](reference/cli/alpha/rpkg/)
- - [get](reference/cli/alpha/rpkg/get/)
- - [pull](reference/cli/alpha/rpkg/pull/)
- - [push](reference/cli/alpha/rpkg/push/)
- - [clone](reference/cli/alpha/rpkg/clone/)
- - [init](reference/cli/alpha/rpkg/init/)
- - [propose](reference/cli/alpha/rpkg/propose/)
- - [approve](reference/cli/alpha/rpkg/approve/)
- - [del](reference/cli/alpha/rpkg/del/)
- - [propose-delete](reference/cli/alpha/rpkg/propose-delete/)
- - [reject](reference/cli/alpha/rpkg/reject/)
- - [copy](reference/cli/alpha/rpkg/copy/)
- - [sync](reference/cli/alpha/sync/)
- - [create](reference/cli/alpha/sync/create/)
- - [delete](reference/cli/alpha/sync/delete/)
- - [get](reference/cli/alpha/sync/get/)
- - [Schema](reference/schema/)
- - [Kptfile](reference/schema/kptfile/)
- - [FunctionResultList](reference/schema/function-result-list/)
- - [ResourceList](reference/schema/resource-list/)
- - [CRD Status Convention](reference/schema/crd-status-convention/)
- - [Config Connector Status Convention](reference/schema/config-connector-status-convention/)
- - [Plan](reference/schema/plan/)
-- [Functions Catalog](https://catalog.kpt.dev/ ":target=_self")
- - [Curated](https://catalog.kpt.dev/ ":target=_self")
- - [Contrib](https://catalog.kpt.dev/contrib/ ":target=_self")
-- [GitOps](gitops/)
- - [Config Sync](gitops/configsync/)
-- [Guides](guides/)
- - [The Rationale Behind kpt](guides/rationale.md)
- - [Porch Installation Guide](guides/porch-installation.md)
- - [Porch UI Installation Guide](guides/porch-ui-installation.md)
- - [Porch User Guide](guides/porch-user-guide.md)
- - [Namespace Provisioning CLI](guides/namespace-provisioning-cli.md)
- - [Namespace Provisioning UI](guides/namespace-provisioning-ui.md)
- - [Variant Constructor Pattern](guides/variant-constructor-pattern.md)
- - [Value Propagation Pattern](guides/value-propagation.md)
-- [FAQ](faq/)
-- [Contact](contact/)
diff --git a/site/site_check.conf b/site/site_check.conf
deleted file mode 100644
index 3dfdec1056..0000000000
--- a/site/site_check.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-server {
- listen $PORT;
- server_name localhost;
- add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
-
- location ~* \.md$ {
- root /usr/share/nginx/html;
- try_files $uri =404;
- }
-
- location ~* ^[\/\w\.-]+[^\.]?.?.?$ {
- root /usr/share/nginx/html;
- index index.html index.htm;
- try_files $uri /index.html;
- }
-
- location ~* sidebar.md$ {
- root /usr/share/nginx/html;
- index sidebar.md;
- }
-}
\ No newline at end of file
diff --git a/site/sitemap.xml b/site/sitemap.xml
deleted file mode 100644
index cd645a048d..0000000000
--- a/site/sitemap.xml
+++ /dev/null
@@ -1,303 +0,0 @@
-
-
-
- https://kpt.dev/
- 2022-05-01
-
-
- https://kpt.dev/installation/
- 2022-05-01
-
-
- https://kpt.dev/book/
- 2022-05-01
-
-
- https://kpt.dev/book/01-getting-started/
- 2022-05-01
-
-
- https://kpt.dev/book/01-getting-started/01-system-requirements
- 2022-05-01
-
-
- https://kpt.dev/book/01-getting-started/02-quickstart
- 2022-05-01
-
-
- https://kpt.dev/book/02-concepts/
- 2022-05-01
-
-
- https://kpt.dev/book/02-concepts/01-packages
- 2022-05-01
-
-
- https://kpt.dev/book/02-concepts/02-workflows
- 2022-05-01
-
-
- https://kpt.dev/book/02-concepts/03-functions
- 2022-05-01
-
-
- https://kpt.dev/book/03-packages/
- 2022-05-01
-
-
- https://kpt.dev/book/03-packages/01-getting-a-package
- 2022-05-01
-
-
- https://kpt.dev/book/03-packages/02-exploring-a-package
- 2022-05-01
-
-
- https://kpt.dev/book/03-packages/03-editing-a-package
- 2022-05-01
-
-
- https://kpt.dev/book/03-packages/04-rendering-a-package
- 2022-05-01
-
-
- https://kpt.dev/book/03-packages/05-updating-a-package
- 2022-05-01
-
-
- https://kpt.dev/book/03-packages/06-creating-a-package
- 2022-05-01
-
-
- https://kpt.dev/book/03-packages/07-composing-a-package
- 2022-05-01
-
-
- https://kpt.dev/book/03-packages/08-publishing-a-package
- 2022-05-01
-
-
- https://kpt.dev/book/04-using-functions/
- 2022-05-01
-
-
- https://kpt.dev/book/04-using-functions/01-declarative-function-execution
- 2022-05-01
-
-
- https://kpt.dev/book/04-using-functions/02-imperative-function-execution
- 2022-05-01
-
-
- https://kpt.dev/book/04-using-functions/03-function-results
- 2022-05-01
-
-
- https://kpt.dev/book/05-developing-functions/
- 2022-05-01
-
-
- https://kpt.dev/book/05-developing-functions/01-functions-specification
- 2022-05-01
-
-
- https://kpt.dev/book/05-developing-functions/02-developing-in-Go
- 2022-05-01
-
-
- https://kpt.dev/book/05-developing-functions/03-developing-in-Typescript
- 2022-05-01
-
-
- https://kpt.dev/book/05-developing-functions/04-developing-in-Starlark
- 2022-05-01
-
-
- https://kpt.dev/book/06-deploying-packages/
- 2022-05-01
-
-
- https://kpt.dev/book/06-deploying-packages/01-initializing-a-package-for-apply
- 2022-05-01
-
-
- https://kpt.dev/book/06-deploying-packages/02-applying-a-package
- 2022-05-01
-
-
- https://kpt.dev/book/06-deploying-packages/03-handling-dependencies
- 2022-05-01
-
-
- https://kpt.dev/book/07-effective-customizations/
- 2022-05-01
-
-
- https://kpt.dev/book/07-effective-customizations/01-single-value-replacement
- 2022-05-01
-
-
- https://kpt.dev/book/07-effective-customizations/02-limiting-package-changes
- 2022-05-01
-
-
- https://kpt.dev/book/07-effective-customizations/03-generation
- 2022-05-01
-
-
- https://kpt.dev/reference/
- 2022-05-01
-
-
- https://kpt.dev/reference/annotations/
- 2022-05-01
-
-
- https://kpt.dev/reference/annotations/apply-time-mutation/
- 2022-05-01
-
-
- https://kpt.dev/reference/annotations/depends-on/
- 2022-05-01
-
-
- https://kpt.dev/reference/annotations/local-config/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/pkg/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/pkg/diff/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/pkg/get/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/pkg/init/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/pkg/tree/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/pkg/update/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/fn/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/fn/render/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/fn/eval/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/fn/sink/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/fn/source/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/live/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/live/apply/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/live/destroy/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/live/init/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/live/install-resource-group/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/live/migrate/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/live/status/
- 2022-05-01
-
-
- https://kpt.dev/reference/schema/
- 2022-05-01
-
-
- https://kpt.dev/reference/schema/kptfile/
- 2022-05-01
-
-
- https://kpt.dev/reference/schema/function-result-list/
- 2022-05-01
-
-
- https://kpt.dev/reference/schema/resource-list/
- 2022-05-01
-
-
- https://kpt.dev/reference/schema/crd-status-convention/
- 2022-05-01
-
-
- https://kpt.dev/reference/schema/config-connector-status-convention/
- 2022-05-01
-
-
- https://kpt.dev/guides/
- 2022-05-01
-
-
- https://kpt.dev/guides/rationale
- 2022-05-01
-
-
- https://kpt.dev/guides/tenant-onboarding
- 2022-05-01
-
-
- https://kpt.dev/faq/
- 2022-05-01
-
-
- https://kpt.dev/contact/
- 2022-05-01
-
-
- https://kpt.dev/reference/cli/alpha/
- 2022-05-01
-
-
- https://kpt.dev/sdk/ts-guide
- 2022-05-01
-
-
- https://kpt.dev/quickstart/
- 2022-05-01
-
-
- https://kpt.dev/installation/migration
- 2022-05-01
-
-
\ No newline at end of file
diff --git a/site/static/casts/make-gif.sh b/site/static/casts/make-gif.sh
deleted file mode 100755
index 3959342600..0000000000
--- a/site/static/casts/make-gif.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-# Copyright 2019 The kpt Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-export d=$(pwd)
-cd $(mktemp -d)
-git init > /dev/null
-
-export PKG=https://github.com/kptdev/kpt.git/package-examples/helloworld@v0.5.0
-
-asciinema rec --overwrite -i 1 -c $d/$1.sh $d/$1.cast
diff --git a/site/static/css/site.css b/site/static/css/site.css
deleted file mode 100644
index b5bde3b028..0000000000
--- a/site/static/css/site.css
+++ /dev/null
@@ -1,163 +0,0 @@
-:root {
- --content-max-width: 60em;
- --search-input-color: black;
- --search-result-heading-color: white;
- --search-result-keyword-background: unset;
- --search-result-keyword-margin: unset;
- --search-result-keyword-font-weight: 800;
- --theme-color: #3970e4;
- --sidebar-background: #0f3074;
- --sidebar-nav-link-color: rgba(255, 255, 255, 0.75);
- --sidebar-nav-link-color--active: white;
- --sidebar-nav-link-font-weight--active: 600;
- --sidebar-nav-link-text-decoration--active: underline;
- --sidebar-nav-link-before-content-l3: none;
- --sidebar-name-color: white;
- --sidebar-toggle-offset-top: unset;
- --sidebar-width: 20rem;
- --pagination-label-font-size: var(--font-size-l);
- --pagination-title-font-size: 0px;
-}
-
-.container {
- position: relative;
- width: 100%;
- height: 0;
- padding-bottom: 56.25%;
-}
-.video {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-
-.close,
-.close:focus,
-.close:hover {
- float: unset;
- font-size: unset;
- font-weight: unset;
- line-height: unset;
- color: unset;
- text-shadow: unset;
- filter: unset;
- opacity: unset;
-}
-
-.cover-main h1 img {
- height: 72px;
-}
-
-.cover-main blockquote {
- border-left: unset;
-}
-
-.cover.show {
- display: flex !important;
-}
-
-body {
- background-color: unset;
- line-height: unset;
- font-family: unset;
- font-size: unset;
-}
-
-h1 {
- line-height: unset;
-}
-
-.dropdown-toggle {
- background: var(--theme-color);
- border: none;
-}
-
-.sidebar {
- color: rgba(255, 255, 255, 0.75);
- font-size: 16px;
-}
-
-.sidebar-toggle {
- bottom: 0;
-}
-
-.sidebar > h1 {
- font-size: var(--sidebar-name-font-size);
-}
-
-.sidebar > h1 img {
- height: 32px;
-}
-
-/* Hide inactive lists whose titles aren't links. */
-.sidebar-nav ul a + ul.inactive {
- display: none;
-}
-
-.sidebar-nav ul a {
- white-space: unset;
-}
-
-.sidebar-nav .book-outline ul {
- margin-left: var(--sidebar-nav-indent);
-}
-
-#cli-changes ~ .table-wrapper * {
- --table-cell-border-width: 1px;
- --table-cell-padding: 0.5em 0.5em;
- --table-head-border-width: 1px;
- --table-row-even-background: var(--mono-tint3);
- --table-row-odd-background: inherit;
- table-layout: fixed;
- white-space: initial;
-}
-
-.docsify-pagination-container {
- overflow: hidden;
- height: 76px;
- margin-bottom: -24px;
-}
-
-pre.language-shell button.copy-button {
- position: absolute;
- top: 2px;
- right: 3em;
- background: inherit;
- border: none;
- opacity: 0.3;
-}
-
-pre.language-shell button.copy-button span {
- font-size: 18px;
-}
-
-pre.language-shell button.copy-button:hover {
- opacity: 1;
-}
-
-.github-widget {
- position: absolute;
- left: 47%;
- margin-top: 2.5em;
- padding-top: 8px;
-}
-
-.github-widget .material-icons-outlined {
- opacity: 0.3;
- transition: all 0.2s;
-}
-
-.github-widget .material-icons-outlined:hover {
- opacity: 1;
-}
-
-.pagination-item-label {
- z-index: -1;
- position: relative;
-}
-
-.pagination-item a:hover {
- color: black;
-}
diff --git a/site/static/images/KptLogoSmall.png b/site/static/images/KptLogoSmall.png
deleted file mode 100644
index 01918e4e7e..0000000000
Binary files a/site/static/images/KptLogoSmall.png and /dev/null differ
diff --git a/site/static/images/fn-export/circleci-result.png b/site/static/images/fn-export/circleci-result.png
deleted file mode 100644
index 38c545ee84..0000000000
Binary files a/site/static/images/fn-export/circleci-result.png and /dev/null differ
diff --git a/site/static/images/fn-export/github-actions-result.png b/site/static/images/fn-export/github-actions-result.png
deleted file mode 100644
index 9bc37b7daa..0000000000
Binary files a/site/static/images/fn-export/github-actions-result.png and /dev/null differ
diff --git a/site/static/images/fn-export/gitlab-ci-result.png b/site/static/images/fn-export/gitlab-ci-result.png
deleted file mode 100644
index a78f2a67c7..0000000000
Binary files a/site/static/images/fn-export/gitlab-ci-result.png and /dev/null differ
diff --git a/site/static/images/fn-export/jenkins-result.png b/site/static/images/fn-export/jenkins-result.png
deleted file mode 100644
index 74be3c667a..0000000000
Binary files a/site/static/images/fn-export/jenkins-result.png and /dev/null differ
diff --git a/site/static/images/fn-export/tekton-result.png b/site/static/images/fn-export/tekton-result.png
deleted file mode 100644
index b5e6eb5a48..0000000000
Binary files a/site/static/images/fn-export/tekton-result.png and /dev/null differ
diff --git a/site/static/images/func-target.svg b/site/static/images/func-target.svg
deleted file mode 100644
index 20ccfbfcaa..0000000000
--- a/site/static/images/func-target.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
\ No newline at end of file
diff --git a/site/static/images/func.svg b/site/static/images/func.svg
deleted file mode 100644
index f2fdeaf871..0000000000
--- a/site/static/images/func.svg
+++ /dev/null
@@ -1,749 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/lifecycle/flow1.svg b/site/static/images/lifecycle/flow1.svg
deleted file mode 100644
index e1b344baa2..0000000000
--- a/site/static/images/lifecycle/flow1.svg
+++ /dev/null
@@ -1,750 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/lifecycle/flow2.svg b/site/static/images/lifecycle/flow2.svg
deleted file mode 100644
index 2c7d3fbccf..0000000000
--- a/site/static/images/lifecycle/flow2.svg
+++ /dev/null
@@ -1,750 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/lifecycle/flow3.svg b/site/static/images/lifecycle/flow3.svg
deleted file mode 100644
index a40b412044..0000000000
--- a/site/static/images/lifecycle/flow3.svg
+++ /dev/null
@@ -1,749 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/lifecycle/flow4.svg b/site/static/images/lifecycle/flow4.svg
deleted file mode 100644
index e9f12f7735..0000000000
--- a/site/static/images/lifecycle/flow4.svg
+++ /dev/null
@@ -1,731 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/lifecycle/flow5.svg b/site/static/images/lifecycle/flow5.svg
deleted file mode 100644
index fd56beef44..0000000000
--- a/site/static/images/lifecycle/flow5.svg
+++ /dev/null
@@ -1,742 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/logo.png b/site/static/images/logo.png
deleted file mode 100644
index 01da12acac..0000000000
Binary files a/site/static/images/logo.png and /dev/null differ
diff --git a/site/static/images/logo.svg b/site/static/images/logo.svg
deleted file mode 100644
index 1b47f8fb0f..0000000000
--- a/site/static/images/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/package-orchestration.svg b/site/static/images/package-orchestration.svg
deleted file mode 100644
index 2650dbb29a..0000000000
--- a/site/static/images/package-orchestration.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/pipeline.svg b/site/static/images/pipeline.svg
deleted file mode 100644
index 6be4b284c3..0000000000
--- a/site/static/images/pipeline.svg
+++ /dev/null
@@ -1,766 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/set-command.svg b/site/static/images/set-command.svg
deleted file mode 100644
index f9097a3180..0000000000
--- a/site/static/images/set-command.svg
+++ /dev/null
@@ -1,1067 +0,0 @@
-
-
-
diff --git a/site/static/images/set-model.svg b/site/static/images/set-model.svg
deleted file mode 100644
index 57cb44a1aa..0000000000
--- a/site/static/images/set-model.svg
+++ /dev/null
@@ -1,586 +0,0 @@
-
-
-
diff --git a/site/static/images/status.svg b/site/static/images/status.svg
deleted file mode 100644
index bd313f11f8..0000000000
--- a/site/static/images/status.svg
+++ /dev/null
@@ -1,747 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/substitute-command.svg b/site/static/images/substitute-command.svg
deleted file mode 100644
index 3ba915b6e7..0000000000
--- a/site/static/images/substitute-command.svg
+++ /dev/null
@@ -1,1544 +0,0 @@
-
-
-
diff --git a/site/static/images/substitute-model.svg b/site/static/images/substitute-model.svg
deleted file mode 100644
index e7d420fe64..0000000000
--- a/site/static/images/substitute-model.svg
+++ /dev/null
@@ -1,1120 +0,0 @@
-
-
-
diff --git a/site/static/images/tenant-onboarding.svg b/site/static/images/tenant-onboarding.svg
deleted file mode 100644
index fcd3f09861..0000000000
--- a/site/static/images/tenant-onboarding.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/images/variant-constructor-pkg-repo-diagram.png b/site/static/images/variant-constructor-pkg-repo-diagram.png
deleted file mode 100644
index 554da14b02..0000000000
Binary files a/site/static/images/variant-constructor-pkg-repo-diagram.png and /dev/null differ
diff --git a/site/static/js/config.js b/site/static/js/config.js
deleted file mode 100644
index 1588ea2675..0000000000
--- a/site/static/js/config.js
+++ /dev/null
@@ -1,37 +0,0 @@
-window.$docsify = {
- name: ``,
- nameLink: window.location.origin,
- search: {
- maxAge: 43200000,
- placeholder: "Search",
- paths: "auto",
- },
- loadSidebar: "sidebar.md",
- alias: {
- "/*.*/sidebar.md": "/sidebar.md",
- },
- coverpage: "coverpage.md",
- crossOriginLinks: [
- "https://catalog.kpt.dev/",
- "https://kptdev.github.io/kpt/installation/",
- ],
- auto2top: true,
- repo: "true",
- pagination: {
- previousText: 'PREV',
- nextText: 'NEXT',
- crossChapter: true
- },
- corner: {
- url: "https://github.com/kptdev/kpt",
- icon: "github",
- },
- routerMode: "history",
- markdown: {
- renderer: {
- image: function (href, title) {
- return ``;
- },
- },
- },
-};
diff --git a/site/static/js/plugins/book_page_title.js b/site/static/js/plugins/book_page_title.js
deleted file mode 100644
index e4154c5fbe..0000000000
--- a/site/static/js/plugins/book_page_title.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Add title to book Markdown pages based on directory structure.
-function processBookPageTitle(content) {
- const pathname = window.location.pathname.toLowerCase();
-
- const bookPathMatch = pathname.match(/^\/book\/(\d+)-(.+)\/(\d+)?-?(.+)?/);
-
- if (content && !content.startsWith("") && bookPathMatch) {
- const pageNumber = parseInt(bookPathMatch[3]);
-
- // Use chapter name if on intro page and page name otherwise.
- const chapterNum = `# ${parseInt(bookPathMatch[1])}${
- pageNumber > 0 ? `.${pageNumber}` : ""
- }`;
- const pageTitle = pageNumber > 0 ? bookPathMatch[4] : bookPathMatch[2];
-
- content =
- `${chapterNum} ${pageTitle.replace(/-/g, " ").toTitleCase()}\n` +
- content;
- }
-
- return content;
-}
-
-// Load plugins into Docsify.
-window.$docsify = window.$docsify || {};
-window.$docsify.plugins = [
- (hook, _vm) => hook.beforeEach(processBookPageTitle),
-].concat(window.$docsify.plugins || []);
-
-// Export functions for testing.
-if (typeof module !== "undefined") {
- module.exports = { processBookPageTitle };
-}
diff --git a/site/static/js/plugins/book_page_title.test.js b/site/static/js/plugins/book_page_title.test.js
deleted file mode 100644
index ea722b4c89..0000000000
--- a/site/static/js/plugins/book_page_title.test.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * @jest-environment jsdom
- */
-
-const plugins = require("./book_page_title");
-require("@gouch/to-title-case");
-
-test.each([
- ["1 The Chapter Title", "book/01-the-chapter-title/"],
- ["1.1 First Title", "book/01-anything/01-first-title"],
- [
- "1.2 A Much Longer Page Title",
- "book/01-anything/02-a-much-longer-page-title",
- ],
-])("title is correct on book pages", (expectedTitle, path) => {
- delete window.location;
- window.location = new URL(path, "https://test.test");
- const transformedContent = plugins.processBookPageTitle(
- "Placeholder content"
- );
- expect(transformedContent.split("\n")[0]).toBe(`# ${expectedTitle}`);
-});
-
-test("title is not set on non-book pages", () => {
- delete window.location;
- window.location = new URL("non-book/url", "https://test.test");
- const originalContent = "Placeholder content";
- const transformedContent = plugins.processBookPageTitle(
- originalContent
- );
- expect(transformedContent).toBe(originalContent);
-});
-
-
-test("title is not set on pages without content", () => {
- delete window.location;
- window.location = new URL("book/01-book-chapter/01-book-page", "https://test.test");
- const originalContent = "";
- const transformedContent = plugins.processBookPageTitle(
- originalContent
- );
- expect(transformedContent).toBe(originalContent);
-});
-
-
-
-test("title is not set on pages that return default HTML", () => {
- delete window.location;
- window.location = new URL("book/01-book-chapter/01-book-page", "https://test.test");
- const originalContent = "";
- const transformedContent = plugins.processBookPageTitle(
- originalContent
- );
- expect(transformedContent).toBe(originalContent);
-});
\ No newline at end of file
diff --git a/site/static/js/plugins/copy_buttons.js b/site/static/js/plugins/copy_buttons.js
deleted file mode 100644
index aa445f3c5f..0000000000
--- a/site/static/js/plugins/copy_buttons.js
+++ /dev/null
@@ -1,50 +0,0 @@
-function addCodeCopyButtons() {
- const preBlocks = Array.from(document.getElementsByTagName("pre")).filter(
- (el) =>
- el.classList.contains("language-shell") &&
- el.firstElementChild.textContent
- .split("\n")
- .find((line) => line.trimLeft().startsWith("$"))
- );
-
- const makeButton = () => {
- const copyButton = document.createElement("button");
- const buttonClassName = "copy-button";
- copyButton.classList.add(buttonClassName);
- copyButton.title = "Copy to clipboard";
-
- const copyIcon = document.createElement("span");
- copyIcon.innerText = "copy";
- copyIcon.classList.add("material-icons-outlined");
- copyButton.appendChild(copyIcon);
-
- copyButton.addEventListener("click", (el) =>
- navigator.clipboard.writeText([
- el
- .composedPath()
- .find((el) => el.classList.contains(buttonClassName))
- .previousElementSibling.textContent.split("\n")
- .map((s) => s.trim())
- .filter(
- (s, ix, arr) =>
- s.startsWith("$") || (ix > 0 && arr[ix - 1].endsWith("\\"))
- )
- .map((s) => s.replace(/^\$\s+/, ""))
- .join("\n"),
- ])
- );
- return copyButton;
- };
- preBlocks.forEach((pre) => pre.appendChild(makeButton()));
-}
-
-// Load plugins into Docsify.
-window.$docsify = window.$docsify || {};
-window.$docsify.plugins = [].concat(function (hook, _vm) {
- hook.doneEach(addCodeCopyButtons);
-}, window.$docsify.plugins);
-
-// Export functions for testing.
-if (typeof module !== "undefined") {
- module.exports = { addCodeCopyButtons };
-}
diff --git a/site/static/js/plugins/copy_buttons.test.js b/site/static/js/plugins/copy_buttons.test.js
deleted file mode 100644
index 91872390db..0000000000
--- a/site/static/js/plugins/copy_buttons.test.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * @jest-environment jsdom
- */
-
-const plugins = require("./copy_buttons");
-
-const originalClipboard = { ...global.navigator.clipboard };
-beforeEach(() => {
- const mockClipboard = {
- writeText: jest.fn(),
- };
- global.navigator.clipboard = mockClipboard;
-});
-
-afterEach(() => {
- jest.resetAllMocks();
- global.navigator.clipboard = originalClipboard;
-});
-
-test("clipboard copying button exists only on shell blocks with a '$'", () => {
- document.body.innerHTML = `