Project files
This commit is contained in:
20
receipeServer/frontend_old/node_modules/webpack-dev-server/LICENSE
generated
vendored
Normal file
20
receipeServer/frontend_old/node_modules/webpack-dev-server/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
Copyright JS Foundation and other contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
'Software'), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
353
receipeServer/frontend_old/node_modules/webpack-dev-server/README.md
generated
vendored
Normal file
353
receipeServer/frontend_old/node_modules/webpack-dev-server/README.md
generated
vendored
Normal file
@@ -0,0 +1,353 @@
|
||||
<div align="center">
|
||||
<a href="https://github.com/webpack/webpack">
|
||||
<img width="200" height="200" src="https://webpack.js.org/assets/icon-square-big.svg">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
[![npm][npm]][npm-url]
|
||||
[![node][node]][node-url]
|
||||
[![tests][tests]][tests-url]
|
||||
[![coverage][cover]][cover-url]
|
||||
[![chat][chat]][chat-url]
|
||||
[![downloads][downloads]][npm-url]
|
||||
[![contributors][contributors]][contributors-url]
|
||||
|
||||
# webpack-dev-server
|
||||
|
||||
Use [webpack](https://webpack.js.org) with a development server that provides
|
||||
live reloading. This should be used for **development only**.
|
||||
|
||||
It uses [webpack-dev-middleware][middleware-url] under the hood, which provides
|
||||
fast in-memory access to the webpack assets.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Getting Started](#getting-started)
|
||||
- [Usage](#usage)
|
||||
- [With the CLI](#with-the-cli)
|
||||
- [With NPM Scripts](#with-npm-scripts)
|
||||
- [With the API](#with-the-api)
|
||||
- [With TypeScript](#with-typescript)
|
||||
- [The Result](#the-result)
|
||||
- [Browser Support](#browser-support)
|
||||
- [Support](#support)
|
||||
- [Contributing](#contributing)
|
||||
- [Attribution](#attribution)
|
||||
- [License](#license)
|
||||
|
||||
## Getting Started
|
||||
|
||||
First things first, install the module:
|
||||
|
||||
```console
|
||||
npm install webpack-dev-server --save-dev
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```console
|
||||
yarn add -D webpack-dev-server
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```console
|
||||
pnpm add -D webpack-dev-server
|
||||
```
|
||||
|
||||
_Note: While you can install and run webpack-dev-server globally, we recommend
|
||||
installing it locally. webpack-dev-server will always use a local installation
|
||||
over a global one._
|
||||
|
||||
## Usage
|
||||
|
||||
There are two main, recommended methods of using the module:
|
||||
|
||||
### With the CLI
|
||||
|
||||
The easiest way to use it is with the [webpack CLI](https://webpack.js.org/api/cli/). In the directory where your
|
||||
`webpack.config.js` is, run:
|
||||
|
||||
```console
|
||||
npx webpack serve
|
||||
```
|
||||
|
||||
Following options are available with `webpack serve`:
|
||||
|
||||
```
|
||||
Usage: webpack serve|server|s [entries...] [options]
|
||||
|
||||
Run the webpack dev server.
|
||||
|
||||
Options:
|
||||
-c, --config <value...> Provide path to a webpack configuration file e.g. ./webpack.config.js.
|
||||
--config-name <value...> Name of the configuration to use.
|
||||
-m, --merge Merge two or more configurations using 'webpack-merge'.
|
||||
--env <value...> Environment passed to the configuration when it is a function.
|
||||
--node-env <value> Sets process.env.NODE_ENV to the specified value.
|
||||
--progress [value] Print compilation progress during build.
|
||||
-j, --json [value] Prints result as JSON or store it in a file.
|
||||
--entry <value...> The entry point(s) of your application e.g. ./src/main.js.
|
||||
-o, --output-path <value> Output location of the file generated by webpack e.g. ./dist/.
|
||||
-t, --target <value> Sets the build target e.g. node.
|
||||
-d, --devtool <value> Determine source maps to use.
|
||||
--no-devtool Do not generate source maps.
|
||||
--mode <value> Defines the mode to pass to webpack.
|
||||
--name <value> Name of the configuration. Used when loading multiple configurations.
|
||||
--stats [value] It instructs webpack on how to treat the stats e.g. verbose.
|
||||
--no-stats Disable stats output.
|
||||
--watch-options-stdin Stop watching when stdin stream has ended.
|
||||
--no-watch-options-stdin Do not stop watching when stdin stream has ended.
|
||||
--allowed-hosts <value...> Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto').
|
||||
--allowed-hosts-reset Clear all items provided in 'allowedHosts' configuration. Allows to enumerate the hosts from which access to the dev server are allowed (useful when
|
||||
you are proxying dev server, by default is 'auto').
|
||||
--bonjour Allows to broadcasts dev server via ZeroConf networking on start.
|
||||
--no-bonjour Disallows to broadcasts dev server via ZeroConf networking on start.
|
||||
--no-client Disables client script.
|
||||
--client-logging <value> Allows to set log level in the browser.
|
||||
--client-overlay Enables a full-screen overlay in the browser when there are compiler errors or warnings.
|
||||
--no-client-overlay Disables the full-screen overlay in the browser when there are compiler errors or warnings.
|
||||
--client-overlay-errors Enables a full-screen overlay in the browser when there are compiler errors.
|
||||
--no-client-overlay-errors Disables the full-screen overlay in the browser when there are compiler errors.
|
||||
--client-overlay-warnings Enables a full-screen overlay in the browser when there are compiler warnings.
|
||||
--no-client-overlay-warnings Disables the full-screen overlay in the browser when there are compiler warnings.
|
||||
--client-progress Prints compilation progress in percentage in the browser.
|
||||
--no-client-progress Does not print compilation progress in percentage in the browser.
|
||||
--client-reconnect [value] Tells dev-server the number of times it should try to reconnect the client.
|
||||
--no-client-reconnect Tells dev-server to not to try to reconnect the client.
|
||||
--client-web-socket-transport <value> Allows to set custom web socket transport to communicate with dev server.
|
||||
--client-web-socket-url <value> Allows to specify URL to web socket server (useful when you're proxying dev server and client script does not always know where to connect to).
|
||||
--client-web-socket-url-hostname <value> Tells clients connected to devServer to use the provided hostname.
|
||||
--client-web-socket-url-password <value> Tells clients connected to devServer to use the provided password to authenticate.
|
||||
--client-web-socket-url-pathname <value> Tells clients connected to devServer to use the provided path to connect.
|
||||
--client-web-socket-url-port <value> Tells clients connected to devServer to use the provided port.
|
||||
--client-web-socket-url-protocol <value> Tells clients connected to devServer to use the provided protocol.
|
||||
--client-web-socket-url-username <value> Tells clients connected to devServer to use the provided username to authenticate.
|
||||
--compress Enables gzip compression for everything served.
|
||||
--no-compress Disables gzip compression for everything served.
|
||||
--history-api-fallback Allows to proxy requests through a specified index page (by default 'index.html'), useful for Single Page Applications that utilise the HTML5
|
||||
History API.
|
||||
--no-history-api-fallback Disallows to proxy requests through a specified index page.
|
||||
--host <value> Allows to specify a hostname to use.
|
||||
--hot [value] Enables Hot Module Replacement.
|
||||
--no-hot Disables Hot Module Replacement.
|
||||
--http2 Allows to serve over HTTP/2 using SPDY. Deprecated, use the `server` option.
|
||||
--no-http2 Does not serve over HTTP/2 using SPDY.
|
||||
--https Allows to configure the server's listening socket for TLS (by default, dev server will be served over HTTP). Deprecated, use the `server` option.
|
||||
--no-https Disallows to configure the server's listening socket for TLS (by default, dev server will be served over HTTP).
|
||||
--https-ca <value...> Path to an SSL CA certificate or content of an SSL CA certificate. Deprecated, use the `server.options.ca` option.
|
||||
--https-ca-reset Clear all items provided in 'https.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. Deprecated, use the
|
||||
`server.options.ca` option.
|
||||
--https-cacert <value...> Path to an SSL CA certificate or content of an SSL CA certificate. Deprecated, use the `server.options.ca` option.
|
||||
--https-cacert-reset Clear all items provided in 'https.cacert' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. Deprecated, use the
|
||||
`server.options.ca` option.
|
||||
--https-cert <value...> Path to an SSL certificate or content of an SSL certificate. Deprecated, use the `server.options.cert` option.
|
||||
--https-cert-reset Clear all items provided in 'https.cert' configuration. Path to an SSL certificate or content of an SSL certificate. Deprecated, use the
|
||||
`server.options.cert` option.
|
||||
--https-crl <value...> Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). Deprecated, use the
|
||||
`server.options.crl` option.
|
||||
--https-crl-reset Clear all items provided in 'https.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs
|
||||
(Certificate Revocation Lists). Deprecated, use the `server.options.crl` option.
|
||||
--https-key <value...> Path to an SSL key or content of an SSL key. Deprecated, use the `server.options.key` option.
|
||||
--https-key-reset Clear all items provided in 'https.key' configuration. Path to an SSL key or content of an SSL key. Deprecated, use the `server.options.key` option.
|
||||
--https-passphrase <value> Passphrase for a pfx file. Deprecated, use the `server.options.passphrase` option.
|
||||
--https-pfx <value...> Path to an SSL pfx file or content of an SSL pfx file. Deprecated, use the `server.options.pfx` option.
|
||||
--https-pfx-reset Clear all items provided in 'https.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file. Deprecated, use the
|
||||
`server.options.pfx` option.
|
||||
--https-request-cert Request for an SSL certificate. Deprecated, use the `server.options.requestCert` option.
|
||||
--no-https-request-cert Does not request for an SSL certificate.
|
||||
--ipc [value] Listen to a unix socket.
|
||||
--live-reload Enables reload/refresh the page(s) when file changes are detected (enabled by default).
|
||||
--no-live-reload Disables reload/refresh the page(s) when file changes are detected (enabled by default)
|
||||
--magic-html Tells dev-server whether to enable magic HTML routes (routes corresponding to your webpack output, for example '/main' for 'main.js').
|
||||
--no-magic-html Disables magic HTML routes (routes corresponding to your webpack output, for example '/main' for 'main.js').
|
||||
--open [value...] Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser).
|
||||
--no-open Does not open the default browser.
|
||||
--open-app <value...> Open specified browser. Deprecated: please use '--open-app-name'.
|
||||
--open-app-name <value...> Open specified browser.
|
||||
--open-app-name-reset Clear all items provided in 'open.app.name' configuration. Open specified browser.
|
||||
--open-reset Clear all items provided in 'open' configuration. Allows to configure dev server to open the browser(s) and page(s) after server had been started
|
||||
(set it to true to open your default browser).
|
||||
--open-target <value...> Opens specified page in browser.
|
||||
--open-target-reset Clear all items provided in 'open.target' configuration. Opens specified page in browser.
|
||||
--port <value> Allows to specify a port to use.
|
||||
--server-options-ca <value...> Path to an SSL CA certificate or content of an SSL CA certificate.
|
||||
--server-options-ca-reset Clear all items provided in 'server.options.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate.
|
||||
--server-options-cacert <value...> Path to an SSL CA certificate or content of an SSL CA certificate. Deprecated, use the `server.options.ca` option.
|
||||
--server-options-cacert-reset Clear all items provided in 'server.options.cacert' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. Deprecated,
|
||||
use the `server.options.ca` option.
|
||||
--server-options-cert <value...> Path to an SSL certificate or content of an SSL certificate.
|
||||
--server-options-cert-reset Clear all items provided in 'server.options.cert' configuration. Path to an SSL certificate or content of an SSL certificate.
|
||||
--server-options-crl <value...> Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists).
|
||||
--server-options-crl-reset Clear all items provided in 'server.options.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM
|
||||
formatted CRLs (Certificate Revocation Lists).
|
||||
--server-options-key <value...> Path to an SSL key or content of an SSL key.
|
||||
--server-options-key-reset Clear all items provided in 'server.options.key' configuration. Path to an SSL key or content of an SSL key.
|
||||
--server-options-passphrase <value> Passphrase for a pfx file.
|
||||
--server-options-pfx <value...> Path to an SSL pfx file or content of an SSL pfx file.
|
||||
--server-options-pfx-reset Clear all items provided in 'server.options.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file.
|
||||
--server-options-request-cert Request for an SSL certificate.
|
||||
--no-server-options-request-cert Negative 'server-options-request-cert' option.
|
||||
--server-type <value> Allows to set server and options (by default 'http').
|
||||
--static [value...] Allows to configure options for serving static files from directory (by default 'public' directory).
|
||||
--no-static Negative 'static' option.
|
||||
--static-directory <value...> Directory for static contents.
|
||||
--static-public-path <value...> The static files will be available in the browser under this public path.
|
||||
--static-public-path-reset Clear all items provided in 'static.publicPath' configuration. The static files will be available in the browser under this public path.
|
||||
--static-reset Clear all items provided in 'static' configuration. Allows to configure options for serving static files from directory (by default 'public'
|
||||
directory).
|
||||
--static-serve-index Tells dev server to use serveIndex middleware when enabled.
|
||||
--no-static-serve-index Does not tell dev server to use serveIndex middleware.
|
||||
--static-watch Watches for files in static content directory.
|
||||
--no-static-watch Does not watch for files in static content directory.
|
||||
--watch-files <value...> Allows to configure list of globs/directories/files to watch for file changes.
|
||||
--watch-files-reset Clear all items provided in 'watchFiles' configuration. Allows to configure list of globs/directories/files to watch for file changes.
|
||||
--web-socket-server <value> Deprecated: please use '--web-socket-server-type' option. Allows to set web socket server and options (by default 'ws').
|
||||
--no-web-socket-server Negative 'web-socket-server' option.
|
||||
--web-socket-server-type <value> Allows to set web socket server and options (by default 'ws').
|
||||
|
||||
Global options:
|
||||
--color Enable colors on console.
|
||||
--no-color Disable colors on console.
|
||||
-v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and commands.
|
||||
-h, --help [verbose] Display help for commands and options.
|
||||
|
||||
To see list of all supported commands and options run 'webpack --help=verbose'.
|
||||
|
||||
Webpack documentation: https://webpack.js.org/.
|
||||
CLI documentation: https://webpack.js.org/api/cli/.
|
||||
Made with ♥ by the webpack team.
|
||||
```
|
||||
|
||||
_**Note**: For more information on above options explore this [link](https://webpack.js.org/configuration/dev-server/)._
|
||||
|
||||
### With NPM Scripts
|
||||
|
||||
NPM package.json scripts are a convenient and useful means to run locally installed
|
||||
binaries without having to be concerned about their full paths. Simply define a
|
||||
script as such:
|
||||
|
||||
```json
|
||||
{
|
||||
"scripts": {
|
||||
"serve": "webpack serve"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
And run the following in your terminal/console:
|
||||
|
||||
```console
|
||||
npm run serve
|
||||
```
|
||||
|
||||
NPM will automagically reference the binary in `node_modules` for you, and
|
||||
execute the file or command.
|
||||
|
||||
### With the API
|
||||
|
||||
While it's recommended to run webpack-dev-server via the CLI, you may also choose to start a server via the API.
|
||||
|
||||
See the related [API documentation for `webpack-dev-server`](https://webpack.js.org/api/webpack-dev-server/).
|
||||
|
||||
### With TypeScript
|
||||
|
||||
If you use TypeScript in the webpack config, you'll need to properly type `devServer` property in order to avoid TS errors (e.g. `'devServer' does not exist in type 'Configuration'`). For that use either:
|
||||
|
||||
```ts
|
||||
/// <reference path="node_modules/webpack-dev-server/types/lib/Server.d.ts"/>
|
||||
import type { Configuration } from "webpack";
|
||||
|
||||
// Your logic
|
||||
```
|
||||
|
||||
Or you can import the type from `webpack-dev-server`, i.e.
|
||||
|
||||
```ts
|
||||
import type { Configuration as DevServerConfiguration } from "webpack-dev-server";
|
||||
import type { Configuration } from "webpack";
|
||||
|
||||
const devServer: DevServerConfiguration = {};
|
||||
const config: Configuration = { devServer };
|
||||
|
||||
// module.exports
|
||||
export default config;
|
||||
```
|
||||
|
||||
### The Result
|
||||
|
||||
Either method will start a server instance and begin listening for connections
|
||||
from `localhost` on port `8080`.
|
||||
|
||||
webpack-dev-server is configured by default to support live-reload of files as
|
||||
you edit your assets while the server is running.
|
||||
|
||||
See [**the documentation**][docs-url] for more use cases and options.
|
||||
|
||||
## Browser Support
|
||||
|
||||
While `webpack-dev-server` transpiles the client (browser) scripts to an ES5
|
||||
state, the project only officially supports the _last two versions of major
|
||||
browsers_. We simply don't have the resources to support every whacky
|
||||
browser out there.
|
||||
|
||||
If you find a bug with an obscure / old browser, we would actively welcome a
|
||||
Pull Request to resolve the bug.
|
||||
|
||||
## Support
|
||||
|
||||
We do our best to keep issues in the repository focused on bugs, features, and
|
||||
needed modifications to the code for the module. Because of that, we ask users
|
||||
with general support, "how-to", or "why isn't this working" questions to try one
|
||||
of the other support channels that are available.
|
||||
|
||||
Your first-stop-shop for support for webpack-dev-server should be the excellent
|
||||
[documentation][docs-url] for the module. If you see an opportunity for improvement
|
||||
of those docs, please head over to the [webpack.js.org repo][wjo-url] and open a
|
||||
pull request.
|
||||
|
||||
From there, we encourage users to visit the [webpack Gitter chat][chat-url] and
|
||||
talk to the fine folks there. If your quest for answers comes up dry in chat,
|
||||
head over to [StackOverflow][stack-url] and do a quick search or open a new
|
||||
question. Remember; It's always much easier to answer questions that include your
|
||||
`webpack.config.js` and relevant files!
|
||||
|
||||
If you're twitter-savvy you can tweet [#webpack][hash-url] with your question
|
||||
and someone should be able to reach out and lend a hand.
|
||||
|
||||
If you have discovered a :bug:, have a feature suggestion, or would like to see
|
||||
a modification, please feel free to create an issue on Github. _Note: The issue
|
||||
template isn't optional, so please be sure not to remove it, and please fill it
|
||||
out completely._
|
||||
|
||||
## Contributing
|
||||
|
||||
We welcome your contributions! Please have a read of [CONTRIBUTING.md](CONTRIBUTING.md) for more information on how to get involved.
|
||||
|
||||
## Attribution
|
||||
|
||||
This project is heavily inspired by [peerigon/nof5](https://github.com/peerigon/nof5).
|
||||
|
||||
## License
|
||||
|
||||
#### [MIT](./LICENSE)
|
||||
|
||||
[npm]: https://img.shields.io/npm/v/webpack-dev-server.svg
|
||||
[npm-url]: https://npmjs.com/package/webpack-dev-server
|
||||
[node]: https://img.shields.io/node/v/webpack-dev-server.svg
|
||||
[node-url]: https://nodejs.org
|
||||
[tests]: https://github.com/webpack/webpack-dev-server/workflows/webpack-dev-server/badge.svg
|
||||
[tests-url]: https://github.com/webpack/webpack-dev-server/actions?query=workflow%3Awebpack-dev-server
|
||||
[cover]: https://codecov.io/gh/webpack/webpack-dev-server/branch/master/graph/badge.svg
|
||||
[cover-url]: https://codecov.io/gh/webpack/webpack-dev-server
|
||||
[chat]: https://badges.gitter.im/webpack/webpack.svg
|
||||
[chat-url]: https://gitter.im/webpack/webpack
|
||||
[docs-url]: https://webpack.js.org/configuration/dev-server/#devserver
|
||||
[hash-url]: https://twitter.com/search?q=webpack
|
||||
[middleware-url]: https://github.com/webpack/webpack-dev-middleware
|
||||
[stack-url]: https://stackoverflow.com/questions/tagged/webpack-dev-server
|
||||
[uglify-url]: https://github.com/webpack-contrib/uglifyjs-webpack-plugin
|
||||
[wjo-url]: https://github.com/webpack/webpack.js.org
|
||||
[downloads]: https://img.shields.io/npm/dm/webpack-dev-server.svg
|
||||
[contributors-url]: https://github.com/webpack/webpack-dev-server/graphs/contributors
|
||||
[contributors]: https://img.shields.io/github/contributors/webpack/webpack-dev-server.svg
|
||||
1262
receipeServer/frontend_old/node_modules/webpack-dev-server/bin/cli-flags.js
generated
vendored
Normal file
1262
receipeServer/frontend_old/node_modules/webpack-dev-server/bin/cli-flags.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
412
receipeServer/frontend_old/node_modules/webpack-dev-server/bin/process-arguments.js
generated
vendored
Normal file
412
receipeServer/frontend_old/node_modules/webpack-dev-server/bin/process-arguments.js
generated
vendored
Normal file
@@ -0,0 +1,412 @@
|
||||
"use strict";
|
||||
|
||||
const path = require("path");
|
||||
|
||||
// Based on https://github.com/webpack/webpack/blob/master/lib/cli.js
|
||||
// Please do not modify it
|
||||
|
||||
/** @typedef {"unknown-argument" | "unexpected-non-array-in-path" | "unexpected-non-object-in-path" | "multiple-values-unexpected" | "invalid-value"} ProblemType */
|
||||
|
||||
/**
|
||||
* @typedef {Object} Problem
|
||||
* @property {ProblemType} type
|
||||
* @property {string} path
|
||||
* @property {string} argument
|
||||
* @property {any=} value
|
||||
* @property {number=} index
|
||||
* @property {string=} expected
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} LocalProblem
|
||||
* @property {ProblemType} type
|
||||
* @property {string} path
|
||||
* @property {string=} expected
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} ArgumentConfig
|
||||
* @property {string} description
|
||||
* @property {string} path
|
||||
* @property {boolean} multiple
|
||||
* @property {"enum"|"string"|"path"|"number"|"boolean"|"RegExp"|"reset"} type
|
||||
* @property {any[]=} values
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} Argument
|
||||
* @property {string} description
|
||||
* @property {"string"|"number"|"boolean"} simpleType
|
||||
* @property {boolean} multiple
|
||||
* @property {ArgumentConfig[]} configs
|
||||
*/
|
||||
|
||||
const cliAddedItems = new WeakMap();
|
||||
|
||||
/**
|
||||
* @param {any} config configuration
|
||||
* @param {string} schemaPath path in the config
|
||||
* @param {number | undefined} index index of value when multiple values are provided, otherwise undefined
|
||||
* @returns {{ problem?: LocalProblem, object?: any, property?: string | number, value?: any }} problem or object with property and value
|
||||
*/
|
||||
const getObjectAndProperty = (config, schemaPath, index = 0) => {
|
||||
if (!schemaPath) {
|
||||
return { value: config };
|
||||
}
|
||||
|
||||
const parts = schemaPath.split(".");
|
||||
const property = parts.pop();
|
||||
let current = config;
|
||||
let i = 0;
|
||||
|
||||
for (const part of parts) {
|
||||
const isArray = part.endsWith("[]");
|
||||
const name = isArray ? part.slice(0, -2) : part;
|
||||
let value = current[name];
|
||||
|
||||
if (isArray) {
|
||||
// eslint-disable-next-line no-undefined
|
||||
if (value === undefined) {
|
||||
value = {};
|
||||
current[name] = [...Array.from({ length: index }), value];
|
||||
cliAddedItems.set(current[name], index + 1);
|
||||
} else if (!Array.isArray(value)) {
|
||||
return {
|
||||
problem: {
|
||||
type: "unexpected-non-array-in-path",
|
||||
path: parts.slice(0, i).join("."),
|
||||
},
|
||||
};
|
||||
} else {
|
||||
let addedItems = cliAddedItems.get(value) || 0;
|
||||
|
||||
while (addedItems <= index) {
|
||||
// eslint-disable-next-line no-undefined
|
||||
value.push(undefined);
|
||||
// eslint-disable-next-line no-plusplus
|
||||
addedItems++;
|
||||
}
|
||||
|
||||
cliAddedItems.set(value, addedItems);
|
||||
|
||||
const x = value.length - addedItems + index;
|
||||
|
||||
// eslint-disable-next-line no-undefined
|
||||
if (value[x] === undefined) {
|
||||
value[x] = {};
|
||||
} else if (value[x] === null || typeof value[x] !== "object") {
|
||||
return {
|
||||
problem: {
|
||||
type: "unexpected-non-object-in-path",
|
||||
path: parts.slice(0, i).join("."),
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
value = value[x];
|
||||
}
|
||||
// eslint-disable-next-line no-undefined
|
||||
} else if (value === undefined) {
|
||||
// eslint-disable-next-line no-multi-assign
|
||||
value = current[name] = {};
|
||||
} else if (value === null || typeof value !== "object") {
|
||||
return {
|
||||
problem: {
|
||||
type: "unexpected-non-object-in-path",
|
||||
path: parts.slice(0, i).join("."),
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
current = value;
|
||||
// eslint-disable-next-line no-plusplus
|
||||
i++;
|
||||
}
|
||||
|
||||
const value = current[/** @type {string} */ (property)];
|
||||
|
||||
if (/** @type {string} */ (property).endsWith("[]")) {
|
||||
const name = /** @type {string} */ (property).slice(0, -2);
|
||||
// eslint-disable-next-line no-shadow
|
||||
const value = current[name];
|
||||
|
||||
// eslint-disable-next-line no-undefined
|
||||
if (value === undefined) {
|
||||
// eslint-disable-next-line no-undefined
|
||||
current[name] = [...Array.from({ length: index }), undefined];
|
||||
cliAddedItems.set(current[name], index + 1);
|
||||
|
||||
// eslint-disable-next-line no-undefined
|
||||
return { object: current[name], property: index, value: undefined };
|
||||
} else if (!Array.isArray(value)) {
|
||||
// eslint-disable-next-line no-undefined
|
||||
current[name] = [value, ...Array.from({ length: index }), undefined];
|
||||
cliAddedItems.set(current[name], index + 1);
|
||||
|
||||
// eslint-disable-next-line no-undefined
|
||||
return { object: current[name], property: index + 1, value: undefined };
|
||||
}
|
||||
|
||||
let addedItems = cliAddedItems.get(value) || 0;
|
||||
|
||||
while (addedItems <= index) {
|
||||
// eslint-disable-next-line no-undefined
|
||||
value.push(undefined);
|
||||
// eslint-disable-next-line no-plusplus
|
||||
addedItems++;
|
||||
}
|
||||
|
||||
cliAddedItems.set(value, addedItems);
|
||||
|
||||
const x = value.length - addedItems + index;
|
||||
|
||||
// eslint-disable-next-line no-undefined
|
||||
if (value[x] === undefined) {
|
||||
value[x] = {};
|
||||
} else if (value[x] === null || typeof value[x] !== "object") {
|
||||
return {
|
||||
problem: {
|
||||
type: "unexpected-non-object-in-path",
|
||||
path: schemaPath,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
object: value,
|
||||
property: x,
|
||||
value: value[x],
|
||||
};
|
||||
}
|
||||
|
||||
return { object: current, property, value };
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {ArgumentConfig} argConfig processing instructions
|
||||
* @param {any} value the value
|
||||
* @returns {any | undefined} parsed value
|
||||
*/
|
||||
const parseValueForArgumentConfig = (argConfig, value) => {
|
||||
// eslint-disable-next-line default-case
|
||||
switch (argConfig.type) {
|
||||
case "string":
|
||||
if (typeof value === "string") {
|
||||
return value;
|
||||
}
|
||||
break;
|
||||
case "path":
|
||||
if (typeof value === "string") {
|
||||
return path.resolve(value);
|
||||
}
|
||||
break;
|
||||
case "number":
|
||||
if (typeof value === "number") {
|
||||
return value;
|
||||
}
|
||||
|
||||
if (typeof value === "string" && /^[+-]?\d*(\.\d*)[eE]\d+$/) {
|
||||
const n = +value;
|
||||
if (!isNaN(n)) return n;
|
||||
}
|
||||
|
||||
break;
|
||||
case "boolean":
|
||||
if (typeof value === "boolean") {
|
||||
return value;
|
||||
}
|
||||
|
||||
if (value === "true") {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (value === "false") {
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
case "RegExp":
|
||||
if (value instanceof RegExp) {
|
||||
return value;
|
||||
}
|
||||
|
||||
if (typeof value === "string") {
|
||||
// cspell:word yugi
|
||||
const match = /^\/(.*)\/([yugi]*)$/.exec(value);
|
||||
|
||||
if (match && !/[^\\]\//.test(match[1])) {
|
||||
return new RegExp(match[1], match[2]);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case "enum":
|
||||
if (/** @type {any[]} */ (argConfig.values).includes(value)) {
|
||||
return value;
|
||||
}
|
||||
|
||||
for (const item of /** @type {any[]} */ (argConfig.values)) {
|
||||
if (`${item}` === value) return item;
|
||||
}
|
||||
|
||||
break;
|
||||
case "reset":
|
||||
if (value === true) {
|
||||
return [];
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {ArgumentConfig} argConfig processing instructions
|
||||
* @returns {string | undefined} expected message
|
||||
*/
|
||||
const getExpectedValue = (argConfig) => {
|
||||
switch (argConfig.type) {
|
||||
default:
|
||||
return argConfig.type;
|
||||
case "boolean":
|
||||
return "true | false";
|
||||
case "RegExp":
|
||||
return "regular expression (example: /ab?c*/)";
|
||||
case "enum":
|
||||
return /** @type {any[]} */ (argConfig.values)
|
||||
.map((v) => `${v}`)
|
||||
.join(" | ");
|
||||
case "reset":
|
||||
return "true (will reset the previous value to an empty array)";
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {any} config configuration
|
||||
* @param {string} schemaPath path in the config
|
||||
* @param {any} value parsed value
|
||||
* @param {number | undefined} index index of value when multiple values are provided, otherwise undefined
|
||||
* @returns {LocalProblem | null} problem or null for success
|
||||
*/
|
||||
const setValue = (config, schemaPath, value, index) => {
|
||||
const { problem, object, property } = getObjectAndProperty(
|
||||
config,
|
||||
schemaPath,
|
||||
index
|
||||
);
|
||||
|
||||
if (problem) {
|
||||
return problem;
|
||||
}
|
||||
|
||||
object[/** @type {string} */ (property)] = value;
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {ArgumentConfig} argConfig processing instructions
|
||||
* @param {any} config configuration
|
||||
* @param {any} value the value
|
||||
* @param {number | undefined} index the index if multiple values provided
|
||||
* @returns {LocalProblem | null} a problem if any
|
||||
*/
|
||||
const processArgumentConfig = (argConfig, config, value, index) => {
|
||||
// eslint-disable-next-line no-undefined
|
||||
if (index !== undefined && !argConfig.multiple) {
|
||||
return {
|
||||
type: "multiple-values-unexpected",
|
||||
path: argConfig.path,
|
||||
};
|
||||
}
|
||||
|
||||
const parsed = parseValueForArgumentConfig(argConfig, value);
|
||||
|
||||
// eslint-disable-next-line no-undefined
|
||||
if (parsed === undefined) {
|
||||
return {
|
||||
type: "invalid-value",
|
||||
path: argConfig.path,
|
||||
expected: getExpectedValue(argConfig),
|
||||
};
|
||||
}
|
||||
|
||||
const problem = setValue(config, argConfig.path, parsed, index);
|
||||
|
||||
if (problem) {
|
||||
return problem;
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {Record<string, Argument>} args object of arguments
|
||||
* @param {any} config configuration
|
||||
* @param {Record<string, string | number | boolean | RegExp | (string | number | boolean | RegExp)[]>} values object with values
|
||||
* @returns {Problem[] | null} problems or null for success
|
||||
*/
|
||||
const processArguments = (args, config, values) => {
|
||||
/**
|
||||
* @type {Problem[]}
|
||||
*/
|
||||
const problems = [];
|
||||
|
||||
for (const key of Object.keys(values)) {
|
||||
const arg = args[key];
|
||||
|
||||
if (!arg) {
|
||||
problems.push({
|
||||
type: "unknown-argument",
|
||||
path: "",
|
||||
argument: key,
|
||||
});
|
||||
|
||||
// eslint-disable-next-line no-continue
|
||||
continue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {any} value
|
||||
* @param {number | undefined} i
|
||||
*/
|
||||
const processValue = (value, i) => {
|
||||
const currentProblems = [];
|
||||
|
||||
for (const argConfig of arg.configs) {
|
||||
const problem = processArgumentConfig(argConfig, config, value, i);
|
||||
|
||||
if (!problem) {
|
||||
return;
|
||||
}
|
||||
|
||||
currentProblems.push({
|
||||
...problem,
|
||||
argument: key,
|
||||
value,
|
||||
index: i,
|
||||
});
|
||||
}
|
||||
|
||||
problems.push(...currentProblems);
|
||||
};
|
||||
|
||||
const value = values[key];
|
||||
|
||||
if (Array.isArray(value)) {
|
||||
for (let i = 0; i < value.length; i++) {
|
||||
processValue(value[i], i);
|
||||
}
|
||||
} else {
|
||||
// eslint-disable-next-line no-undefined
|
||||
processValue(value, undefined);
|
||||
}
|
||||
}
|
||||
|
||||
if (problems.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return problems;
|
||||
};
|
||||
|
||||
module.exports = processArguments;
|
||||
177
receipeServer/frontend_old/node_modules/webpack-dev-server/bin/webpack-dev-server.js
generated
vendored
Executable file
177
receipeServer/frontend_old/node_modules/webpack-dev-server/bin/webpack-dev-server.js
generated
vendored
Executable file
@@ -0,0 +1,177 @@
|
||||
#!/usr/bin/env node
|
||||
/* Based on webpack/bin/webpack.js */
|
||||
/* eslint-disable no-console */
|
||||
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @param {string} command process to run
|
||||
* @param {string[]} args command line arguments
|
||||
* @returns {Promise<void>} promise
|
||||
*/
|
||||
const runCommand = (command, args) => {
|
||||
const cp = require("child_process");
|
||||
return new Promise((resolve, reject) => {
|
||||
const executedCommand = cp.spawn(command, args, {
|
||||
stdio: "inherit",
|
||||
shell: true,
|
||||
});
|
||||
|
||||
executedCommand.on("error", (error) => {
|
||||
reject(error);
|
||||
});
|
||||
|
||||
executedCommand.on("exit", (code) => {
|
||||
if (code === 0) {
|
||||
resolve();
|
||||
} else {
|
||||
reject();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {string} packageName name of the package
|
||||
* @returns {boolean} is the package installed?
|
||||
*/
|
||||
const isInstalled = (packageName) => {
|
||||
if (process.versions.pnp) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const path = require("path");
|
||||
const fs = require("graceful-fs");
|
||||
|
||||
let dir = __dirname;
|
||||
|
||||
do {
|
||||
try {
|
||||
if (
|
||||
fs.statSync(path.join(dir, "node_modules", packageName)).isDirectory()
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
} catch (_error) {
|
||||
// Nothing
|
||||
}
|
||||
// eslint-disable-next-line no-cond-assign
|
||||
} while (dir !== (dir = path.dirname(dir)));
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {CliOption} cli options
|
||||
* @returns {void}
|
||||
*/
|
||||
const runCli = (cli) => {
|
||||
if (cli.preprocess) {
|
||||
cli.preprocess();
|
||||
}
|
||||
const path = require("path");
|
||||
const pkgPath = require.resolve(`${cli.package}/package.json`);
|
||||
// eslint-disable-next-line import/no-dynamic-require
|
||||
const pkg = require(pkgPath);
|
||||
// eslint-disable-next-line import/no-dynamic-require
|
||||
require(path.resolve(path.dirname(pkgPath), pkg.bin[cli.binName]));
|
||||
};
|
||||
|
||||
/**
|
||||
* @typedef {Object} CliOption
|
||||
* @property {string} name display name
|
||||
* @property {string} package npm package name
|
||||
* @property {string} binName name of the executable file
|
||||
* @property {boolean} installed currently installed?
|
||||
* @property {string} url homepage
|
||||
* @property {function} preprocess preprocessor
|
||||
*/
|
||||
|
||||
/** @type {CliOption} */
|
||||
const cli = {
|
||||
name: "webpack-cli",
|
||||
package: "webpack-cli",
|
||||
binName: "webpack-cli",
|
||||
installed: isInstalled("webpack-cli"),
|
||||
url: "https://github.com/webpack/webpack-cli",
|
||||
preprocess() {
|
||||
process.argv.splice(2, 0, "serve");
|
||||
},
|
||||
};
|
||||
|
||||
if (!cli.installed) {
|
||||
const path = require("path");
|
||||
const fs = require("graceful-fs");
|
||||
const readLine = require("readline");
|
||||
|
||||
const notify = `CLI for webpack must be installed.\n ${cli.name} (${cli.url})\n`;
|
||||
|
||||
console.error(notify);
|
||||
|
||||
/**
|
||||
* @type {string}
|
||||
*/
|
||||
let packageManager;
|
||||
|
||||
if (fs.existsSync(path.resolve(process.cwd(), "yarn.lock"))) {
|
||||
packageManager = "yarn";
|
||||
} else if (fs.existsSync(path.resolve(process.cwd(), "pnpm-lock.yaml"))) {
|
||||
packageManager = "pnpm";
|
||||
} else {
|
||||
packageManager = "npm";
|
||||
}
|
||||
|
||||
const installOptions = [packageManager === "yarn" ? "add" : "install", "-D"];
|
||||
|
||||
console.error(
|
||||
`We will use "${packageManager}" to install the CLI via "${packageManager} ${installOptions.join(
|
||||
" "
|
||||
)} ${cli.package}".`
|
||||
);
|
||||
|
||||
const question = `Do you want to install 'webpack-cli' (yes/no): `;
|
||||
|
||||
const questionInterface = readLine.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stderr,
|
||||
});
|
||||
|
||||
// In certain scenarios (e.g. when STDIN is not in terminal mode), the callback function will not be
|
||||
// executed. Setting the exit code here to ensure the script exits correctly in those cases. The callback
|
||||
// function is responsible for clearing the exit code if the user wishes to install webpack-cli.
|
||||
process.exitCode = 1;
|
||||
questionInterface.question(question, (answer) => {
|
||||
questionInterface.close();
|
||||
|
||||
const normalizedAnswer = answer.toLowerCase().startsWith("y");
|
||||
|
||||
if (!normalizedAnswer) {
|
||||
console.error(
|
||||
"You need to install 'webpack-cli' to use webpack via CLI.\n" +
|
||||
"You can also install the CLI manually."
|
||||
);
|
||||
|
||||
return;
|
||||
}
|
||||
process.exitCode = 0;
|
||||
|
||||
console.log(
|
||||
`Installing '${
|
||||
cli.package
|
||||
}' (running '${packageManager} ${installOptions.join(" ")} ${
|
||||
cli.package
|
||||
}')...`
|
||||
);
|
||||
|
||||
runCommand(packageManager, installOptions.concat(cli.package))
|
||||
.then(() => {
|
||||
runCli(cli);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error(error);
|
||||
process.exitCode = 1;
|
||||
});
|
||||
});
|
||||
} else {
|
||||
runCli(cli);
|
||||
}
|
||||
68
receipeServer/frontend_old/node_modules/webpack-dev-server/client/clients/SockJSClient.js
generated
vendored
Normal file
68
receipeServer/frontend_old/node_modules/webpack-dev-server/client/clients/SockJSClient.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
||||
|
||||
import SockJS from "../modules/sockjs-client/index.js";
|
||||
import { log } from "../utils/log.js";
|
||||
|
||||
var SockJSClient = /*#__PURE__*/function () {
|
||||
/**
|
||||
* @param {string} url
|
||||
*/
|
||||
function SockJSClient(url) {
|
||||
_classCallCheck(this, SockJSClient);
|
||||
|
||||
// SockJS requires `http` and `https` protocols
|
||||
this.sock = new SockJS(url.replace(/^ws:/i, "http:").replace(/^wss:/i, "https:"));
|
||||
|
||||
this.sock.onerror =
|
||||
/**
|
||||
* @param {Error} error
|
||||
*/
|
||||
function (error) {
|
||||
log.error(error);
|
||||
};
|
||||
}
|
||||
/**
|
||||
* @param {(...args: any[]) => void} f
|
||||
*/
|
||||
|
||||
|
||||
_createClass(SockJSClient, [{
|
||||
key: "onOpen",
|
||||
value: function onOpen(f) {
|
||||
this.sock.onopen = f;
|
||||
}
|
||||
/**
|
||||
* @param {(...args: any[]) => void} f
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "onClose",
|
||||
value: function onClose(f) {
|
||||
this.sock.onclose = f;
|
||||
} // call f with the message string as the first argument
|
||||
|
||||
/**
|
||||
* @param {(...args: any[]) => void} f
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "onMessage",
|
||||
value: function onMessage(f) {
|
||||
this.sock.onmessage =
|
||||
/**
|
||||
* @param {Error & { data: string }} e
|
||||
*/
|
||||
function (e) {
|
||||
f(e.data);
|
||||
};
|
||||
}
|
||||
}]);
|
||||
|
||||
return SockJSClient;
|
||||
}();
|
||||
|
||||
export { SockJSClient as default };
|
||||
58
receipeServer/frontend_old/node_modules/webpack-dev-server/client/clients/WebSocketClient.js
generated
vendored
Normal file
58
receipeServer/frontend_old/node_modules/webpack-dev-server/client/clients/WebSocketClient.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
||||
|
||||
import { log } from "../utils/log.js";
|
||||
|
||||
var WebSocketClient = /*#__PURE__*/function () {
|
||||
/**
|
||||
* @param {string} url
|
||||
*/
|
||||
function WebSocketClient(url) {
|
||||
_classCallCheck(this, WebSocketClient);
|
||||
|
||||
this.client = new WebSocket(url);
|
||||
|
||||
this.client.onerror = function (error) {
|
||||
log.error(error);
|
||||
};
|
||||
}
|
||||
/**
|
||||
* @param {(...args: any[]) => void} f
|
||||
*/
|
||||
|
||||
|
||||
_createClass(WebSocketClient, [{
|
||||
key: "onOpen",
|
||||
value: function onOpen(f) {
|
||||
this.client.onopen = f;
|
||||
}
|
||||
/**
|
||||
* @param {(...args: any[]) => void} f
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "onClose",
|
||||
value: function onClose(f) {
|
||||
this.client.onclose = f;
|
||||
} // call f with the message string as the first argument
|
||||
|
||||
/**
|
||||
* @param {(...args: any[]) => void} f
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "onMessage",
|
||||
value: function onMessage(f) {
|
||||
this.client.onmessage = function (e) {
|
||||
f(e.data);
|
||||
};
|
||||
}
|
||||
}]);
|
||||
|
||||
return WebSocketClient;
|
||||
}();
|
||||
|
||||
export { WebSocketClient as default };
|
||||
273
receipeServer/frontend_old/node_modules/webpack-dev-server/client/index.js
generated
vendored
Normal file
273
receipeServer/frontend_old/node_modules/webpack-dev-server/client/index.js
generated
vendored
Normal file
@@ -0,0 +1,273 @@
|
||||
/* global __resourceQuery, __webpack_hash__ */
|
||||
/// <reference types="webpack/module" />
|
||||
import webpackHotLog from "webpack/hot/log.js";
|
||||
import stripAnsi from "./utils/stripAnsi.js";
|
||||
import parseURL from "./utils/parseURL.js";
|
||||
import socket from "./socket.js";
|
||||
import { formatProblem, show, hide } from "./overlay.js";
|
||||
import { log, setLogLevel } from "./utils/log.js";
|
||||
import sendMessage from "./utils/sendMessage.js";
|
||||
import reloadApp from "./utils/reloadApp.js";
|
||||
import createSocketURL from "./utils/createSocketURL.js";
|
||||
/**
|
||||
* @typedef {Object} Options
|
||||
* @property {boolean} hot
|
||||
* @property {boolean} liveReload
|
||||
* @property {boolean} progress
|
||||
* @property {boolean | { warnings?: boolean, errors?: boolean }} overlay
|
||||
* @property {string} [logging]
|
||||
* @property {number} [reconnect]
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} Status
|
||||
* @property {boolean} isUnloading
|
||||
* @property {string} currentHash
|
||||
* @property {string} [previousHash]
|
||||
*/
|
||||
|
||||
/**
|
||||
* @type {Status}
|
||||
*/
|
||||
|
||||
var status = {
|
||||
isUnloading: false,
|
||||
// TODO Workaround for webpack v4, `__webpack_hash__` is not replaced without HotModuleReplacement
|
||||
// eslint-disable-next-line camelcase
|
||||
currentHash: typeof __webpack_hash__ !== "undefined" ? __webpack_hash__ : ""
|
||||
};
|
||||
/** @type {Options} */
|
||||
|
||||
var options = {
|
||||
hot: false,
|
||||
liveReload: false,
|
||||
progress: false,
|
||||
overlay: false
|
||||
};
|
||||
var parsedResourceQuery = parseURL(__resourceQuery);
|
||||
|
||||
if (parsedResourceQuery.hot === "true") {
|
||||
options.hot = true;
|
||||
log.info("Hot Module Replacement enabled.");
|
||||
}
|
||||
|
||||
if (parsedResourceQuery["live-reload"] === "true") {
|
||||
options.liveReload = true;
|
||||
log.info("Live Reloading enabled.");
|
||||
}
|
||||
|
||||
if (parsedResourceQuery.logging) {
|
||||
options.logging = parsedResourceQuery.logging;
|
||||
}
|
||||
|
||||
if (typeof parsedResourceQuery.reconnect !== "undefined") {
|
||||
options.reconnect = Number(parsedResourceQuery.reconnect);
|
||||
}
|
||||
/**
|
||||
* @param {string} level
|
||||
*/
|
||||
|
||||
|
||||
function setAllLogLevel(level) {
|
||||
// This is needed because the HMR logger operate separately from dev server logger
|
||||
webpackHotLog.setLogLevel(level === "verbose" || level === "log" ? "info" : level);
|
||||
setLogLevel(level);
|
||||
}
|
||||
|
||||
if (options.logging) {
|
||||
setAllLogLevel(options.logging);
|
||||
}
|
||||
|
||||
self.addEventListener("beforeunload", function () {
|
||||
status.isUnloading = true;
|
||||
});
|
||||
var onSocketMessage = {
|
||||
hot: function hot() {
|
||||
if (parsedResourceQuery.hot === "false") {
|
||||
return;
|
||||
}
|
||||
|
||||
options.hot = true;
|
||||
log.info("Hot Module Replacement enabled.");
|
||||
},
|
||||
liveReload: function liveReload() {
|
||||
if (parsedResourceQuery["live-reload"] === "false") {
|
||||
return;
|
||||
}
|
||||
|
||||
options.liveReload = true;
|
||||
log.info("Live Reloading enabled.");
|
||||
},
|
||||
invalid: function invalid() {
|
||||
log.info("App updated. Recompiling..."); // Fixes #1042. overlay doesn't clear if errors are fixed but warnings remain.
|
||||
|
||||
if (options.overlay) {
|
||||
hide();
|
||||
}
|
||||
|
||||
sendMessage("Invalid");
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {string} hash
|
||||
*/
|
||||
hash: function hash(_hash) {
|
||||
status.previousHash = status.currentHash;
|
||||
status.currentHash = _hash;
|
||||
},
|
||||
logging: setAllLogLevel,
|
||||
|
||||
/**
|
||||
* @param {boolean} value
|
||||
*/
|
||||
overlay: function overlay(value) {
|
||||
if (typeof document === "undefined") {
|
||||
return;
|
||||
}
|
||||
|
||||
options.overlay = value;
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {number} value
|
||||
*/
|
||||
reconnect: function reconnect(value) {
|
||||
if (parsedResourceQuery.reconnect === "false") {
|
||||
return;
|
||||
}
|
||||
|
||||
options.reconnect = value;
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {boolean} value
|
||||
*/
|
||||
progress: function progress(value) {
|
||||
options.progress = value;
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {{ pluginName?: string, percent: number, msg: string }} data
|
||||
*/
|
||||
"progress-update": function progressUpdate(data) {
|
||||
if (options.progress) {
|
||||
log.info("".concat(data.pluginName ? "[".concat(data.pluginName, "] ") : "").concat(data.percent, "% - ").concat(data.msg, "."));
|
||||
}
|
||||
|
||||
sendMessage("Progress", data);
|
||||
},
|
||||
"still-ok": function stillOk() {
|
||||
log.info("Nothing changed.");
|
||||
|
||||
if (options.overlay) {
|
||||
hide();
|
||||
}
|
||||
|
||||
sendMessage("StillOk");
|
||||
},
|
||||
ok: function ok() {
|
||||
sendMessage("Ok");
|
||||
|
||||
if (options.overlay) {
|
||||
hide();
|
||||
}
|
||||
|
||||
reloadApp(options, status);
|
||||
},
|
||||
// TODO: remove in v5 in favor of 'static-changed'
|
||||
|
||||
/**
|
||||
* @param {string} file
|
||||
*/
|
||||
"content-changed": function contentChanged(file) {
|
||||
log.info("".concat(file ? "\"".concat(file, "\"") : "Content", " from static directory was changed. Reloading..."));
|
||||
self.location.reload();
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {string} file
|
||||
*/
|
||||
"static-changed": function staticChanged(file) {
|
||||
log.info("".concat(file ? "\"".concat(file, "\"") : "Content", " from static directory was changed. Reloading..."));
|
||||
self.location.reload();
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {Error[]} warnings
|
||||
* @param {any} params
|
||||
*/
|
||||
warnings: function warnings(_warnings, params) {
|
||||
log.warn("Warnings while compiling.");
|
||||
|
||||
var printableWarnings = _warnings.map(function (error) {
|
||||
var _formatProblem = formatProblem("warning", error),
|
||||
header = _formatProblem.header,
|
||||
body = _formatProblem.body;
|
||||
|
||||
return "".concat(header, "\n").concat(stripAnsi(body));
|
||||
});
|
||||
|
||||
sendMessage("Warnings", printableWarnings);
|
||||
|
||||
for (var i = 0; i < printableWarnings.length; i++) {
|
||||
log.warn(printableWarnings[i]);
|
||||
}
|
||||
|
||||
var needShowOverlayForWarnings = typeof options.overlay === "boolean" ? options.overlay : options.overlay && options.overlay.warnings;
|
||||
|
||||
if (needShowOverlayForWarnings) {
|
||||
show("warning", _warnings);
|
||||
}
|
||||
|
||||
if (params && params.preventReloading) {
|
||||
return;
|
||||
}
|
||||
|
||||
reloadApp(options, status);
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {Error[]} errors
|
||||
*/
|
||||
errors: function errors(_errors) {
|
||||
log.error("Errors while compiling. Reload prevented.");
|
||||
|
||||
var printableErrors = _errors.map(function (error) {
|
||||
var _formatProblem2 = formatProblem("error", error),
|
||||
header = _formatProblem2.header,
|
||||
body = _formatProblem2.body;
|
||||
|
||||
return "".concat(header, "\n").concat(stripAnsi(body));
|
||||
});
|
||||
|
||||
sendMessage("Errors", printableErrors);
|
||||
|
||||
for (var i = 0; i < printableErrors.length; i++) {
|
||||
log.error(printableErrors[i]);
|
||||
}
|
||||
|
||||
var needShowOverlayForErrors = typeof options.overlay === "boolean" ? options.overlay : options.overlay && options.overlay.errors;
|
||||
|
||||
if (needShowOverlayForErrors) {
|
||||
show("error", _errors);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {Error} error
|
||||
*/
|
||||
error: function error(_error) {
|
||||
log.error(_error);
|
||||
},
|
||||
close: function close() {
|
||||
log.info("Disconnected!");
|
||||
|
||||
if (options.overlay) {
|
||||
hide();
|
||||
}
|
||||
|
||||
sendMessage("Close");
|
||||
}
|
||||
};
|
||||
var socketURL = createSocketURL(parsedResourceQuery);
|
||||
socket(socketURL, onSocketMessage, options.reconnect);
|
||||
828
receipeServer/frontend_old/node_modules/webpack-dev-server/client/modules/logger/index.js
generated
vendored
Normal file
828
receipeServer/frontend_old/node_modules/webpack-dev-server/client/modules/logger/index.js
generated
vendored
Normal file
@@ -0,0 +1,828 @@
|
||||
/******/ (function() { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
/******/ var __webpack_modules__ = ({
|
||||
|
||||
/***/ "./client-src/modules/logger/SyncBailHookFake.js":
|
||||
/*!*******************************************************!*\
|
||||
!*** ./client-src/modules/logger/SyncBailHookFake.js ***!
|
||||
\*******************************************************/
|
||||
/***/ (function(module) {
|
||||
|
||||
|
||||
/**
|
||||
* Client stub for tapable SyncBailHook
|
||||
*/
|
||||
|
||||
module.exports = function clientTapableSyncBailHook() {
|
||||
return {
|
||||
call: function call() {}
|
||||
};
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/webpack/lib/logging/Logger.js":
|
||||
/*!****************************************************!*\
|
||||
!*** ./node_modules/webpack/lib/logging/Logger.js ***!
|
||||
\****************************************************/
|
||||
/***/ (function(__unused_webpack_module, exports) {
|
||||
|
||||
/*
|
||||
MIT License http://www.opensource.org/licenses/mit-license.php
|
||||
Author Tobias Koppers @sokra
|
||||
*/
|
||||
|
||||
|
||||
function _toConsumableArray(arr) {
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
||||
}
|
||||
|
||||
function _nonIterableSpread() {
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
function _unsupportedIterableToArray(o, minLen) {
|
||||
if (!o) return;
|
||||
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
||||
var n = Object.prototype.toString.call(o).slice(8, -1);
|
||||
if (n === "Object" && o.constructor) n = o.constructor.name;
|
||||
if (n === "Map" || n === "Set") return Array.from(o);
|
||||
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
||||
}
|
||||
|
||||
function _iterableToArray(iter) {
|
||||
if (typeof (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; }) !== "undefined" && iter[(typeof Symbol !== "undefined" ? Symbol : function (i) { return i; }).iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
||||
}
|
||||
|
||||
function _arrayWithoutHoles(arr) {
|
||||
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
||||
}
|
||||
|
||||
function _arrayLikeToArray(arr, len) {
|
||||
if (len == null || len > arr.length) len = arr.length;
|
||||
|
||||
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
||||
arr2[i] = arr[i];
|
||||
}
|
||||
|
||||
return arr2;
|
||||
}
|
||||
|
||||
function _classCallCheck(instance, Constructor) {
|
||||
if (!(instance instanceof Constructor)) {
|
||||
throw new TypeError("Cannot call a class as a function");
|
||||
}
|
||||
}
|
||||
|
||||
function _defineProperties(target, props) {
|
||||
for (var i = 0; i < props.length; i++) {
|
||||
var descriptor = props[i];
|
||||
descriptor.enumerable = descriptor.enumerable || false;
|
||||
descriptor.configurable = true;
|
||||
if ("value" in descriptor) descriptor.writable = true;
|
||||
Object.defineProperty(target, descriptor.key, descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) {
|
||||
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
||||
if (staticProps) _defineProperties(Constructor, staticProps);
|
||||
Object.defineProperty(Constructor, "prototype", {
|
||||
writable: false
|
||||
});
|
||||
return Constructor;
|
||||
}
|
||||
|
||||
var LogType = Object.freeze({
|
||||
error:
|
||||
/** @type {"error"} */
|
||||
"error",
|
||||
// message, c style arguments
|
||||
warn:
|
||||
/** @type {"warn"} */
|
||||
"warn",
|
||||
// message, c style arguments
|
||||
info:
|
||||
/** @type {"info"} */
|
||||
"info",
|
||||
// message, c style arguments
|
||||
log:
|
||||
/** @type {"log"} */
|
||||
"log",
|
||||
// message, c style arguments
|
||||
debug:
|
||||
/** @type {"debug"} */
|
||||
"debug",
|
||||
// message, c style arguments
|
||||
trace:
|
||||
/** @type {"trace"} */
|
||||
"trace",
|
||||
// no arguments
|
||||
group:
|
||||
/** @type {"group"} */
|
||||
"group",
|
||||
// [label]
|
||||
groupCollapsed:
|
||||
/** @type {"groupCollapsed"} */
|
||||
"groupCollapsed",
|
||||
// [label]
|
||||
groupEnd:
|
||||
/** @type {"groupEnd"} */
|
||||
"groupEnd",
|
||||
// [label]
|
||||
profile:
|
||||
/** @type {"profile"} */
|
||||
"profile",
|
||||
// [profileName]
|
||||
profileEnd:
|
||||
/** @type {"profileEnd"} */
|
||||
"profileEnd",
|
||||
// [profileName]
|
||||
time:
|
||||
/** @type {"time"} */
|
||||
"time",
|
||||
// name, time as [seconds, nanoseconds]
|
||||
clear:
|
||||
/** @type {"clear"} */
|
||||
"clear",
|
||||
// no arguments
|
||||
status:
|
||||
/** @type {"status"} */
|
||||
"status" // message, arguments
|
||||
|
||||
});
|
||||
exports.LogType = LogType;
|
||||
/** @typedef {typeof LogType[keyof typeof LogType]} LogTypeEnum */
|
||||
|
||||
var LOG_SYMBOL = (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; })("webpack logger raw log method");
|
||||
var TIMERS_SYMBOL = (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; })("webpack logger times");
|
||||
var TIMERS_AGGREGATES_SYMBOL = (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; })("webpack logger aggregated times");
|
||||
|
||||
var WebpackLogger = /*#__PURE__*/function () {
|
||||
/**
|
||||
* @param {function(LogTypeEnum, any[]=): void} log log function
|
||||
* @param {function(string | function(): string): WebpackLogger} getChildLogger function to create child logger
|
||||
*/
|
||||
function WebpackLogger(log, getChildLogger) {
|
||||
_classCallCheck(this, WebpackLogger);
|
||||
|
||||
this[LOG_SYMBOL] = log;
|
||||
this.getChildLogger = getChildLogger;
|
||||
}
|
||||
|
||||
_createClass(WebpackLogger, [{
|
||||
key: "error",
|
||||
value: function error() {
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.error, args);
|
||||
}
|
||||
}, {
|
||||
key: "warn",
|
||||
value: function warn() {
|
||||
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
||||
args[_key2] = arguments[_key2];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.warn, args);
|
||||
}
|
||||
}, {
|
||||
key: "info",
|
||||
value: function info() {
|
||||
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
||||
args[_key3] = arguments[_key3];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.info, args);
|
||||
}
|
||||
}, {
|
||||
key: "log",
|
||||
value: function log() {
|
||||
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
||||
args[_key4] = arguments[_key4];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.log, args);
|
||||
}
|
||||
}, {
|
||||
key: "debug",
|
||||
value: function debug() {
|
||||
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
||||
args[_key5] = arguments[_key5];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.debug, args);
|
||||
}
|
||||
}, {
|
||||
key: "assert",
|
||||
value: function assert(assertion) {
|
||||
if (!assertion) {
|
||||
for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
|
||||
args[_key6 - 1] = arguments[_key6];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.error, args);
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: "trace",
|
||||
value: function trace() {
|
||||
this[LOG_SYMBOL](LogType.trace, ["Trace"]);
|
||||
}
|
||||
}, {
|
||||
key: "clear",
|
||||
value: function clear() {
|
||||
this[LOG_SYMBOL](LogType.clear);
|
||||
}
|
||||
}, {
|
||||
key: "status",
|
||||
value: function status() {
|
||||
for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
||||
args[_key7] = arguments[_key7];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.status, args);
|
||||
}
|
||||
}, {
|
||||
key: "group",
|
||||
value: function group() {
|
||||
for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
||||
args[_key8] = arguments[_key8];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.group, args);
|
||||
}
|
||||
}, {
|
||||
key: "groupCollapsed",
|
||||
value: function groupCollapsed() {
|
||||
for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
|
||||
args[_key9] = arguments[_key9];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.groupCollapsed, args);
|
||||
}
|
||||
}, {
|
||||
key: "groupEnd",
|
||||
value: function groupEnd() {
|
||||
for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
|
||||
args[_key10] = arguments[_key10];
|
||||
}
|
||||
|
||||
this[LOG_SYMBOL](LogType.groupEnd, args);
|
||||
}
|
||||
}, {
|
||||
key: "profile",
|
||||
value: function profile(label) {
|
||||
this[LOG_SYMBOL](LogType.profile, [label]);
|
||||
}
|
||||
}, {
|
||||
key: "profileEnd",
|
||||
value: function profileEnd(label) {
|
||||
this[LOG_SYMBOL](LogType.profileEnd, [label]);
|
||||
}
|
||||
}, {
|
||||
key: "time",
|
||||
value: function time(label) {
|
||||
this[TIMERS_SYMBOL] = this[TIMERS_SYMBOL] || new Map();
|
||||
this[TIMERS_SYMBOL].set(label, process.hrtime());
|
||||
}
|
||||
}, {
|
||||
key: "timeLog",
|
||||
value: function timeLog(label) {
|
||||
var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label);
|
||||
|
||||
if (!prev) {
|
||||
throw new Error("No such label '".concat(label, "' for WebpackLogger.timeLog()"));
|
||||
}
|
||||
|
||||
var time = process.hrtime(prev);
|
||||
this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));
|
||||
}
|
||||
}, {
|
||||
key: "timeEnd",
|
||||
value: function timeEnd(label) {
|
||||
var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label);
|
||||
|
||||
if (!prev) {
|
||||
throw new Error("No such label '".concat(label, "' for WebpackLogger.timeEnd()"));
|
||||
}
|
||||
|
||||
var time = process.hrtime(prev);
|
||||
this[TIMERS_SYMBOL].delete(label);
|
||||
this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));
|
||||
}
|
||||
}, {
|
||||
key: "timeAggregate",
|
||||
value: function timeAggregate(label) {
|
||||
var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label);
|
||||
|
||||
if (!prev) {
|
||||
throw new Error("No such label '".concat(label, "' for WebpackLogger.timeAggregate()"));
|
||||
}
|
||||
|
||||
var time = process.hrtime(prev);
|
||||
this[TIMERS_SYMBOL].delete(label);
|
||||
this[TIMERS_AGGREGATES_SYMBOL] = this[TIMERS_AGGREGATES_SYMBOL] || new Map();
|
||||
var current = this[TIMERS_AGGREGATES_SYMBOL].get(label);
|
||||
|
||||
if (current !== undefined) {
|
||||
if (time[1] + current[1] > 1e9) {
|
||||
time[0] += current[0] + 1;
|
||||
time[1] = time[1] - 1e9 + current[1];
|
||||
} else {
|
||||
time[0] += current[0];
|
||||
time[1] += current[1];
|
||||
}
|
||||
}
|
||||
|
||||
this[TIMERS_AGGREGATES_SYMBOL].set(label, time);
|
||||
}
|
||||
}, {
|
||||
key: "timeAggregateEnd",
|
||||
value: function timeAggregateEnd(label) {
|
||||
if (this[TIMERS_AGGREGATES_SYMBOL] === undefined) return;
|
||||
var time = this[TIMERS_AGGREGATES_SYMBOL].get(label);
|
||||
if (time === undefined) return;
|
||||
this[TIMERS_AGGREGATES_SYMBOL].delete(label);
|
||||
this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));
|
||||
}
|
||||
}]);
|
||||
|
||||
return WebpackLogger;
|
||||
}();
|
||||
|
||||
exports.Logger = WebpackLogger;
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/webpack/lib/logging/createConsoleLogger.js":
|
||||
/*!*****************************************************************!*\
|
||||
!*** ./node_modules/webpack/lib/logging/createConsoleLogger.js ***!
|
||||
\*****************************************************************/
|
||||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
||||
|
||||
/*
|
||||
MIT License http://www.opensource.org/licenses/mit-license.php
|
||||
Author Tobias Koppers @sokra
|
||||
*/
|
||||
|
||||
|
||||
function _toConsumableArray(arr) {
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
||||
}
|
||||
|
||||
function _nonIterableSpread() {
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
function _unsupportedIterableToArray(o, minLen) {
|
||||
if (!o) return;
|
||||
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
||||
var n = Object.prototype.toString.call(o).slice(8, -1);
|
||||
if (n === "Object" && o.constructor) n = o.constructor.name;
|
||||
if (n === "Map" || n === "Set") return Array.from(o);
|
||||
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
||||
}
|
||||
|
||||
function _iterableToArray(iter) {
|
||||
if (typeof (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; }) !== "undefined" && iter[(typeof Symbol !== "undefined" ? Symbol : function (i) { return i; }).iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
||||
}
|
||||
|
||||
function _arrayWithoutHoles(arr) {
|
||||
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
||||
}
|
||||
|
||||
function _arrayLikeToArray(arr, len) {
|
||||
if (len == null || len > arr.length) len = arr.length;
|
||||
|
||||
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
||||
arr2[i] = arr[i];
|
||||
}
|
||||
|
||||
return arr2;
|
||||
}
|
||||
|
||||
var _require = __webpack_require__(/*! ./Logger */ "./node_modules/webpack/lib/logging/Logger.js"),
|
||||
LogType = _require.LogType;
|
||||
/** @typedef {import("../../declarations/WebpackOptions").FilterItemTypes} FilterItemTypes */
|
||||
|
||||
/** @typedef {import("../../declarations/WebpackOptions").FilterTypes} FilterTypes */
|
||||
|
||||
/** @typedef {import("./Logger").LogTypeEnum} LogTypeEnum */
|
||||
|
||||
/** @typedef {function(string): boolean} FilterFunction */
|
||||
|
||||
/**
|
||||
* @typedef {Object} LoggerConsole
|
||||
* @property {function(): void} clear
|
||||
* @property {function(): void} trace
|
||||
* @property {(...args: any[]) => void} info
|
||||
* @property {(...args: any[]) => void} log
|
||||
* @property {(...args: any[]) => void} warn
|
||||
* @property {(...args: any[]) => void} error
|
||||
* @property {(...args: any[]) => void=} debug
|
||||
* @property {(...args: any[]) => void=} group
|
||||
* @property {(...args: any[]) => void=} groupCollapsed
|
||||
* @property {(...args: any[]) => void=} groupEnd
|
||||
* @property {(...args: any[]) => void=} status
|
||||
* @property {(...args: any[]) => void=} profile
|
||||
* @property {(...args: any[]) => void=} profileEnd
|
||||
* @property {(...args: any[]) => void=} logTime
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} LoggerOptions
|
||||
* @property {false|true|"none"|"error"|"warn"|"info"|"log"|"verbose"} level loglevel
|
||||
* @property {FilterTypes|boolean} debug filter for debug logging
|
||||
* @property {LoggerConsole} console the console to log to
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {FilterItemTypes} item an input item
|
||||
* @returns {FilterFunction} filter function
|
||||
*/
|
||||
|
||||
|
||||
var filterToFunction = function filterToFunction(item) {
|
||||
if (typeof item === "string") {
|
||||
var regExp = new RegExp("[\\\\/]".concat(item.replace( // eslint-disable-next-line no-useless-escape
|
||||
/[-[\]{}()*+?.\\^$|]/g, "\\$&"), "([\\\\/]|$|!|\\?)"));
|
||||
return function (ident) {
|
||||
return regExp.test(ident);
|
||||
};
|
||||
}
|
||||
|
||||
if (item && typeof item === "object" && typeof item.test === "function") {
|
||||
return function (ident) {
|
||||
return item.test(ident);
|
||||
};
|
||||
}
|
||||
|
||||
if (typeof item === "function") {
|
||||
return item;
|
||||
}
|
||||
|
||||
if (typeof item === "boolean") {
|
||||
return function () {
|
||||
return item;
|
||||
};
|
||||
}
|
||||
};
|
||||
/**
|
||||
* @enum {number}
|
||||
*/
|
||||
|
||||
|
||||
var LogLevel = {
|
||||
none: 6,
|
||||
false: 6,
|
||||
error: 5,
|
||||
warn: 4,
|
||||
info: 3,
|
||||
log: 2,
|
||||
true: 2,
|
||||
verbose: 1
|
||||
};
|
||||
/**
|
||||
* @param {LoggerOptions} options options object
|
||||
* @returns {function(string, LogTypeEnum, any[]): void} logging function
|
||||
*/
|
||||
|
||||
module.exports = function (_ref) {
|
||||
var _ref$level = _ref.level,
|
||||
level = _ref$level === void 0 ? "info" : _ref$level,
|
||||
_ref$debug = _ref.debug,
|
||||
debug = _ref$debug === void 0 ? false : _ref$debug,
|
||||
console = _ref.console;
|
||||
var debugFilters = typeof debug === "boolean" ? [function () {
|
||||
return debug;
|
||||
}] :
|
||||
/** @type {FilterItemTypes[]} */
|
||||
[].concat(debug).map(filterToFunction);
|
||||
/** @type {number} */
|
||||
|
||||
var loglevel = LogLevel["".concat(level)] || 0;
|
||||
/**
|
||||
* @param {string} name name of the logger
|
||||
* @param {LogTypeEnum} type type of the log entry
|
||||
* @param {any[]} args arguments of the log entry
|
||||
* @returns {void}
|
||||
*/
|
||||
|
||||
var logger = function logger(name, type, args) {
|
||||
var labeledArgs = function labeledArgs() {
|
||||
if (Array.isArray(args)) {
|
||||
if (args.length > 0 && typeof args[0] === "string") {
|
||||
return ["[".concat(name, "] ").concat(args[0])].concat(_toConsumableArray(args.slice(1)));
|
||||
} else {
|
||||
return ["[".concat(name, "]")].concat(_toConsumableArray(args));
|
||||
}
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
};
|
||||
|
||||
var debug = debugFilters.some(function (f) {
|
||||
return f(name);
|
||||
});
|
||||
|
||||
switch (type) {
|
||||
case LogType.debug:
|
||||
if (!debug) return; // eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
|
||||
if (typeof console.debug === "function") {
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
console.debug.apply(console, _toConsumableArray(labeledArgs()));
|
||||
} else {
|
||||
console.log.apply(console, _toConsumableArray(labeledArgs()));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case LogType.log:
|
||||
if (!debug && loglevel > LogLevel.log) return;
|
||||
console.log.apply(console, _toConsumableArray(labeledArgs()));
|
||||
break;
|
||||
|
||||
case LogType.info:
|
||||
if (!debug && loglevel > LogLevel.info) return;
|
||||
console.info.apply(console, _toConsumableArray(labeledArgs()));
|
||||
break;
|
||||
|
||||
case LogType.warn:
|
||||
if (!debug && loglevel > LogLevel.warn) return;
|
||||
console.warn.apply(console, _toConsumableArray(labeledArgs()));
|
||||
break;
|
||||
|
||||
case LogType.error:
|
||||
if (!debug && loglevel > LogLevel.error) return;
|
||||
console.error.apply(console, _toConsumableArray(labeledArgs()));
|
||||
break;
|
||||
|
||||
case LogType.trace:
|
||||
if (!debug) return;
|
||||
console.trace();
|
||||
break;
|
||||
|
||||
case LogType.groupCollapsed:
|
||||
if (!debug && loglevel > LogLevel.log) return;
|
||||
|
||||
if (!debug && loglevel > LogLevel.verbose) {
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
if (typeof console.groupCollapsed === "function") {
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
console.groupCollapsed.apply(console, _toConsumableArray(labeledArgs()));
|
||||
} else {
|
||||
console.log.apply(console, _toConsumableArray(labeledArgs()));
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
// falls through
|
||||
|
||||
case LogType.group:
|
||||
if (!debug && loglevel > LogLevel.log) return; // eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
|
||||
if (typeof console.group === "function") {
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
console.group.apply(console, _toConsumableArray(labeledArgs()));
|
||||
} else {
|
||||
console.log.apply(console, _toConsumableArray(labeledArgs()));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case LogType.groupEnd:
|
||||
if (!debug && loglevel > LogLevel.log) return; // eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
|
||||
if (typeof console.groupEnd === "function") {
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
console.groupEnd();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case LogType.time:
|
||||
{
|
||||
if (!debug && loglevel > LogLevel.log) return;
|
||||
var ms = args[1] * 1000 + args[2] / 1000000;
|
||||
var msg = "[".concat(name, "] ").concat(args[0], ": ").concat(ms, " ms");
|
||||
|
||||
if (typeof console.logTime === "function") {
|
||||
console.logTime(msg);
|
||||
} else {
|
||||
console.log(msg);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case LogType.profile:
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
if (typeof console.profile === "function") {
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
console.profile.apply(console, _toConsumableArray(labeledArgs()));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case LogType.profileEnd:
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
if (typeof console.profileEnd === "function") {
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
console.profileEnd.apply(console, _toConsumableArray(labeledArgs()));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case LogType.clear:
|
||||
if (!debug && loglevel > LogLevel.log) return; // eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
|
||||
if (typeof console.clear === "function") {
|
||||
// eslint-disable-next-line node/no-unsupported-features/node-builtins
|
||||
console.clear();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case LogType.status:
|
||||
if (!debug && loglevel > LogLevel.info) return;
|
||||
|
||||
if (typeof console.status === "function") {
|
||||
if (args.length === 0) {
|
||||
console.status();
|
||||
} else {
|
||||
console.status.apply(console, _toConsumableArray(labeledArgs()));
|
||||
}
|
||||
} else {
|
||||
if (args.length !== 0) {
|
||||
console.info.apply(console, _toConsumableArray(labeledArgs()));
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Error("Unexpected LogType ".concat(type));
|
||||
}
|
||||
};
|
||||
|
||||
return logger;
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/webpack/lib/logging/runtime.js":
|
||||
/*!*****************************************************!*\
|
||||
!*** ./node_modules/webpack/lib/logging/runtime.js ***!
|
||||
\*****************************************************/
|
||||
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
||||
|
||||
/*
|
||||
MIT License http://www.opensource.org/licenses/mit-license.php
|
||||
Author Tobias Koppers @sokra
|
||||
*/
|
||||
|
||||
|
||||
function _extends() {
|
||||
_extends = Object.assign || function (target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i];
|
||||
|
||||
for (var key in source) {
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||
target[key] = source[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return target;
|
||||
};
|
||||
|
||||
return _extends.apply(this, arguments);
|
||||
}
|
||||
|
||||
var SyncBailHook = __webpack_require__(/*! tapable/lib/SyncBailHook */ "./client-src/modules/logger/SyncBailHookFake.js");
|
||||
|
||||
var _require = __webpack_require__(/*! ./Logger */ "./node_modules/webpack/lib/logging/Logger.js"),
|
||||
Logger = _require.Logger;
|
||||
|
||||
var createConsoleLogger = __webpack_require__(/*! ./createConsoleLogger */ "./node_modules/webpack/lib/logging/createConsoleLogger.js");
|
||||
/** @type {createConsoleLogger.LoggerOptions} */
|
||||
|
||||
|
||||
var currentDefaultLoggerOptions = {
|
||||
level: "info",
|
||||
debug: false,
|
||||
console: console
|
||||
};
|
||||
var currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions);
|
||||
/**
|
||||
* @param {string} name name of the logger
|
||||
* @returns {Logger} a logger
|
||||
*/
|
||||
|
||||
exports.getLogger = function (name) {
|
||||
return new Logger(function (type, args) {
|
||||
if (exports.hooks.log.call(name, type, args) === undefined) {
|
||||
currentDefaultLogger(name, type, args);
|
||||
}
|
||||
}, function (childName) {
|
||||
return exports.getLogger("".concat(name, "/").concat(childName));
|
||||
});
|
||||
};
|
||||
/**
|
||||
* @param {createConsoleLogger.LoggerOptions} options new options, merge with old options
|
||||
* @returns {void}
|
||||
*/
|
||||
|
||||
|
||||
exports.configureDefaultLogger = function (options) {
|
||||
_extends(currentDefaultLoggerOptions, options);
|
||||
|
||||
currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions);
|
||||
};
|
||||
|
||||
exports.hooks = {
|
||||
log: new SyncBailHook(["origin", "type", "args"])
|
||||
};
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
/************************************************************************/
|
||||
/******/ // The module cache
|
||||
/******/ var __webpack_module_cache__ = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/ // Check if module is in cache
|
||||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
||||
/******/ if (cachedModule !== undefined) {
|
||||
/******/ return cachedModule.exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
||||
/******/ // no module.id needed
|
||||
/******/ // no module.loaded needed
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/ /* webpack/runtime/define property getters */
|
||||
/******/ !function() {
|
||||
/******/ // define getter functions for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, definition) {
|
||||
/******/ for(var key in definition) {
|
||||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||||
/******/ !function() {
|
||||
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/make namespace object */
|
||||
/******/ !function() {
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/ }();
|
||||
/******/
|
||||
/************************************************************************/
|
||||
var __webpack_exports__ = {};
|
||||
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
||||
!function() {
|
||||
/*!********************************************!*\
|
||||
!*** ./client-src/modules/logger/index.js ***!
|
||||
\********************************************/
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "default": function() { return /* reexport default export from named module */ webpack_lib_logging_runtime_js__WEBPACK_IMPORTED_MODULE_0__; }
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var webpack_lib_logging_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! webpack/lib/logging/runtime.js */ "./node_modules/webpack/lib/logging/runtime.js");
|
||||
|
||||
}();
|
||||
var __webpack_export_target__ = exports;
|
||||
for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
|
||||
if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
|
||||
/******/ })()
|
||||
;
|
||||
5689
receipeServer/frontend_old/node_modules/webpack-dev-server/client/modules/sockjs-client/index.js
generated
vendored
Normal file
5689
receipeServer/frontend_old/node_modules/webpack-dev-server/client/modules/sockjs-client/index.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
197
receipeServer/frontend_old/node_modules/webpack-dev-server/client/overlay.js
generated
vendored
Normal file
197
receipeServer/frontend_old/node_modules/webpack-dev-server/client/overlay.js
generated
vendored
Normal file
@@ -0,0 +1,197 @@
|
||||
// The error overlay is inspired (and mostly copied) from Create React App (https://github.com/facebookincubator/create-react-app)
|
||||
// They, in turn, got inspired by webpack-hot-middleware (https://github.com/glenjamin/webpack-hot-middleware).
|
||||
import ansiHTML from "ansi-html-community";
|
||||
import { encode } from "html-entities";
|
||||
var colors = {
|
||||
reset: ["transparent", "transparent"],
|
||||
black: "181818",
|
||||
red: "E36049",
|
||||
green: "B3CB74",
|
||||
yellow: "FFD080",
|
||||
blue: "7CAFC2",
|
||||
magenta: "7FACCA",
|
||||
cyan: "C3C2EF",
|
||||
lightgrey: "EBE7E3",
|
||||
darkgrey: "6D7891"
|
||||
};
|
||||
/** @type {HTMLIFrameElement | null | undefined} */
|
||||
|
||||
var iframeContainerElement;
|
||||
/** @type {HTMLDivElement | null | undefined} */
|
||||
|
||||
var containerElement;
|
||||
/** @type {Array<(element: HTMLDivElement) => void>} */
|
||||
|
||||
var onLoadQueue = [];
|
||||
ansiHTML.setColors(colors);
|
||||
|
||||
function createContainer() {
|
||||
iframeContainerElement = document.createElement("iframe");
|
||||
iframeContainerElement.id = "webpack-dev-server-client-overlay";
|
||||
iframeContainerElement.src = "about:blank";
|
||||
iframeContainerElement.style.position = "fixed";
|
||||
iframeContainerElement.style.left = 0;
|
||||
iframeContainerElement.style.top = 0;
|
||||
iframeContainerElement.style.right = 0;
|
||||
iframeContainerElement.style.bottom = 0;
|
||||
iframeContainerElement.style.width = "100vw";
|
||||
iframeContainerElement.style.height = "100vh";
|
||||
iframeContainerElement.style.border = "none";
|
||||
iframeContainerElement.style.zIndex = 9999999999;
|
||||
|
||||
iframeContainerElement.onload = function () {
|
||||
containerElement =
|
||||
/** @type {Document} */
|
||||
|
||||
/** @type {HTMLIFrameElement} */
|
||||
iframeContainerElement.contentDocument.createElement("div");
|
||||
containerElement.id = "webpack-dev-server-client-overlay-div";
|
||||
containerElement.style.position = "fixed";
|
||||
containerElement.style.boxSizing = "border-box";
|
||||
containerElement.style.left = 0;
|
||||
containerElement.style.top = 0;
|
||||
containerElement.style.right = 0;
|
||||
containerElement.style.bottom = 0;
|
||||
containerElement.style.width = "100vw";
|
||||
containerElement.style.height = "100vh";
|
||||
containerElement.style.backgroundColor = "rgba(0, 0, 0, 0.85)";
|
||||
containerElement.style.color = "#E8E8E8";
|
||||
containerElement.style.fontFamily = "Menlo, Consolas, monospace";
|
||||
containerElement.style.fontSize = "large";
|
||||
containerElement.style.padding = "2rem";
|
||||
containerElement.style.lineHeight = "1.2";
|
||||
containerElement.style.whiteSpace = "pre-wrap";
|
||||
containerElement.style.overflow = "auto";
|
||||
var headerElement = document.createElement("span");
|
||||
headerElement.innerText = "Compiled with problems:";
|
||||
var closeButtonElement = document.createElement("button");
|
||||
closeButtonElement.innerText = "X";
|
||||
closeButtonElement.style.background = "transparent";
|
||||
closeButtonElement.style.border = "none";
|
||||
closeButtonElement.style.fontSize = "20px";
|
||||
closeButtonElement.style.fontWeight = "bold";
|
||||
closeButtonElement.style.color = "white";
|
||||
closeButtonElement.style.cursor = "pointer";
|
||||
closeButtonElement.style.cssFloat = "right"; // @ts-ignore
|
||||
|
||||
closeButtonElement.style.styleFloat = "right";
|
||||
closeButtonElement.addEventListener("click", function () {
|
||||
hide();
|
||||
});
|
||||
containerElement.appendChild(headerElement);
|
||||
containerElement.appendChild(closeButtonElement);
|
||||
containerElement.appendChild(document.createElement("br"));
|
||||
containerElement.appendChild(document.createElement("br"));
|
||||
/** @type {Document} */
|
||||
|
||||
/** @type {HTMLIFrameElement} */
|
||||
iframeContainerElement.contentDocument.body.appendChild(containerElement);
|
||||
onLoadQueue.forEach(function (onLoad) {
|
||||
onLoad(
|
||||
/** @type {HTMLDivElement} */
|
||||
containerElement);
|
||||
});
|
||||
onLoadQueue = [];
|
||||
/** @type {HTMLIFrameElement} */
|
||||
|
||||
iframeContainerElement.onload = null;
|
||||
};
|
||||
|
||||
document.body.appendChild(iframeContainerElement);
|
||||
}
|
||||
/**
|
||||
* @param {(element: HTMLDivElement) => void} callback
|
||||
*/
|
||||
|
||||
|
||||
function ensureOverlayExists(callback) {
|
||||
if (containerElement) {
|
||||
// Everything is ready, call the callback right away.
|
||||
callback(containerElement);
|
||||
return;
|
||||
}
|
||||
|
||||
onLoadQueue.push(callback);
|
||||
|
||||
if (iframeContainerElement) {
|
||||
return;
|
||||
}
|
||||
|
||||
createContainer();
|
||||
} // Successful compilation.
|
||||
|
||||
|
||||
function hide() {
|
||||
if (!iframeContainerElement) {
|
||||
return;
|
||||
} // Clean up and reset internal state.
|
||||
|
||||
|
||||
document.body.removeChild(iframeContainerElement);
|
||||
iframeContainerElement = null;
|
||||
containerElement = null;
|
||||
}
|
||||
/**
|
||||
* @param {string} type
|
||||
* @param {string | { file?: string, moduleName?: string, loc?: string, message?: string }} item
|
||||
* @returns {{ header: string, body: string }}
|
||||
*/
|
||||
|
||||
|
||||
function formatProblem(type, item) {
|
||||
var header = type === "warning" ? "WARNING" : "ERROR";
|
||||
var body = "";
|
||||
|
||||
if (typeof item === "string") {
|
||||
body += item;
|
||||
} else {
|
||||
var file = item.file || ""; // eslint-disable-next-line no-nested-ternary
|
||||
|
||||
var moduleName = item.moduleName ? item.moduleName.indexOf("!") !== -1 ? "".concat(item.moduleName.replace(/^(\s|\S)*!/, ""), " (").concat(item.moduleName, ")") : "".concat(item.moduleName) : "";
|
||||
var loc = item.loc;
|
||||
header += "".concat(moduleName || file ? " in ".concat(moduleName ? "".concat(moduleName).concat(file ? " (".concat(file, ")") : "") : file).concat(loc ? " ".concat(loc) : "") : "");
|
||||
body += item.message || "";
|
||||
}
|
||||
|
||||
return {
|
||||
header: header,
|
||||
body: body
|
||||
};
|
||||
} // Compilation with errors (e.g. syntax error or missing modules).
|
||||
|
||||
/**
|
||||
* @param {string} type
|
||||
* @param {Array<string | { file?: string, moduleName?: string, loc?: string, message?: string }>} messages
|
||||
*/
|
||||
|
||||
|
||||
function show(type, messages) {
|
||||
ensureOverlayExists(function () {
|
||||
messages.forEach(function (message) {
|
||||
var entryElement = document.createElement("div");
|
||||
var typeElement = document.createElement("span");
|
||||
|
||||
var _formatProblem = formatProblem(type, message),
|
||||
header = _formatProblem.header,
|
||||
body = _formatProblem.body;
|
||||
|
||||
typeElement.innerText = header;
|
||||
typeElement.style.color = "#".concat(colors.red); // Make it look similar to our terminal.
|
||||
|
||||
var text = ansiHTML(encode(body));
|
||||
var messageTextNode = document.createElement("div");
|
||||
messageTextNode.innerHTML = text;
|
||||
entryElement.appendChild(typeElement);
|
||||
entryElement.appendChild(document.createElement("br"));
|
||||
entryElement.appendChild(document.createElement("br"));
|
||||
entryElement.appendChild(messageTextNode);
|
||||
entryElement.appendChild(document.createElement("br"));
|
||||
entryElement.appendChild(document.createElement("br"));
|
||||
/** @type {HTMLDivElement} */
|
||||
|
||||
containerElement.appendChild(entryElement);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export { formatProblem, show, hide };
|
||||
65
receipeServer/frontend_old/node_modules/webpack-dev-server/client/socket.js
generated
vendored
Normal file
65
receipeServer/frontend_old/node_modules/webpack-dev-server/client/socket.js
generated
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
/* global __webpack_dev_server_client__ */
|
||||
import WebSocketClient from "./clients/WebSocketClient.js";
|
||||
import { log } from "./utils/log.js"; // this WebsocketClient is here as a default fallback, in case the client is not injected
|
||||
|
||||
/* eslint-disable camelcase */
|
||||
|
||||
var Client = // eslint-disable-next-line no-nested-ternary
|
||||
typeof __webpack_dev_server_client__ !== "undefined" ? typeof __webpack_dev_server_client__.default !== "undefined" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : WebSocketClient;
|
||||
/* eslint-enable camelcase */
|
||||
|
||||
var retries = 0;
|
||||
var maxRetries = 10; // Initialized client is exported so external consumers can utilize the same instance
|
||||
// It is mutable to enforce singleton
|
||||
// eslint-disable-next-line import/no-mutable-exports
|
||||
|
||||
export var client = null;
|
||||
/**
|
||||
* @param {string} url
|
||||
* @param {{ [handler: string]: (data?: any, params?: any) => any }} handlers
|
||||
* @param {number} [reconnect]
|
||||
*/
|
||||
|
||||
var socket = function initSocket(url, handlers, reconnect) {
|
||||
client = new Client(url);
|
||||
client.onOpen(function () {
|
||||
retries = 0;
|
||||
|
||||
if (typeof reconnect !== "undefined") {
|
||||
maxRetries = reconnect;
|
||||
}
|
||||
});
|
||||
client.onClose(function () {
|
||||
if (retries === 0) {
|
||||
handlers.close();
|
||||
} // Try to reconnect.
|
||||
|
||||
|
||||
client = null; // After 10 retries stop trying, to prevent logspam.
|
||||
|
||||
if (retries < maxRetries) {
|
||||
// Exponentially increase timeout to reconnect.
|
||||
// Respectfully copied from the package `got`.
|
||||
// eslint-disable-next-line no-restricted-properties
|
||||
var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100;
|
||||
retries += 1;
|
||||
log.info("Trying to reconnect...");
|
||||
setTimeout(function () {
|
||||
socket(url, handlers, reconnect);
|
||||
}, retryInMs);
|
||||
}
|
||||
});
|
||||
client.onMessage(
|
||||
/**
|
||||
* @param {any} data
|
||||
*/
|
||||
function (data) {
|
||||
var message = JSON.parse(data);
|
||||
|
||||
if (handlers[message.type]) {
|
||||
handlers[message.type](message.data, message.params);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export default socket;
|
||||
137
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/createSocketURL.js
generated
vendored
Normal file
137
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/createSocketURL.js
generated
vendored
Normal file
@@ -0,0 +1,137 @@
|
||||
/**
|
||||
* @param {{ protocol?: string, auth?: string, hostname?: string, port?: string, pathname?: string, search?: string, hash?: string, slashes?: boolean }} objURL
|
||||
* @returns {string}
|
||||
*/
|
||||
function format(objURL) {
|
||||
var protocol = objURL.protocol || "";
|
||||
|
||||
if (protocol && !protocol.endsWith(":")) {
|
||||
protocol += ":";
|
||||
}
|
||||
|
||||
var auth = objURL.auth || "";
|
||||
|
||||
if (auth) {
|
||||
auth = encodeURIComponent(auth);
|
||||
auth = auth.replace(/%3A/i, ":");
|
||||
auth += "@";
|
||||
}
|
||||
|
||||
var host = "";
|
||||
|
||||
if (objURL.hostname) {
|
||||
host = auth + (objURL.hostname.indexOf(":") === -1 ? objURL.hostname : "[".concat(objURL.hostname, "]"));
|
||||
|
||||
if (objURL.port) {
|
||||
host += ":".concat(objURL.port);
|
||||
}
|
||||
}
|
||||
|
||||
var pathname = objURL.pathname || "";
|
||||
|
||||
if (objURL.slashes) {
|
||||
host = "//".concat(host || "");
|
||||
|
||||
if (pathname && pathname.charAt(0) !== "/") {
|
||||
pathname = "/".concat(pathname);
|
||||
}
|
||||
} else if (!host) {
|
||||
host = "";
|
||||
}
|
||||
|
||||
var search = objURL.search || "";
|
||||
|
||||
if (search && search.charAt(0) !== "?") {
|
||||
search = "?".concat(search);
|
||||
}
|
||||
|
||||
var hash = objURL.hash || "";
|
||||
|
||||
if (hash && hash.charAt(0) !== "#") {
|
||||
hash = "#".concat(hash);
|
||||
}
|
||||
|
||||
pathname = pathname.replace(/[?#]/g,
|
||||
/**
|
||||
* @param {string} match
|
||||
* @returns {string}
|
||||
*/
|
||||
function (match) {
|
||||
return encodeURIComponent(match);
|
||||
});
|
||||
search = search.replace("#", "%23");
|
||||
return "".concat(protocol).concat(host).concat(pathname).concat(search).concat(hash);
|
||||
}
|
||||
/**
|
||||
* @param {URL & { fromCurrentScript?: boolean }} parsedURL
|
||||
* @returns {string}
|
||||
*/
|
||||
|
||||
|
||||
function createSocketURL(parsedURL) {
|
||||
var hostname = parsedURL.hostname; // Node.js module parses it as `::`
|
||||
// `new URL(urlString, [baseURLString])` parses it as '[::]'
|
||||
|
||||
var isInAddrAny = hostname === "0.0.0.0" || hostname === "::" || hostname === "[::]"; // why do we need this check?
|
||||
// hostname n/a for file protocol (example, when using electron, ionic)
|
||||
// see: https://github.com/webpack/webpack-dev-server/pull/384
|
||||
|
||||
if (isInAddrAny && self.location.hostname && self.location.protocol.indexOf("http") === 0) {
|
||||
hostname = self.location.hostname;
|
||||
}
|
||||
|
||||
var socketURLProtocol = parsedURL.protocol || self.location.protocol; // When https is used in the app, secure web sockets are always necessary because the browser doesn't accept non-secure web sockets.
|
||||
|
||||
if (socketURLProtocol === "auto:" || hostname && isInAddrAny && self.location.protocol === "https:") {
|
||||
socketURLProtocol = self.location.protocol;
|
||||
}
|
||||
|
||||
socketURLProtocol = socketURLProtocol.replace(/^(?:http|.+-extension|file)/i, "ws");
|
||||
var socketURLAuth = ""; // `new URL(urlString, [baseURLstring])` doesn't have `auth` property
|
||||
// Parse authentication credentials in case we need them
|
||||
|
||||
if (parsedURL.username) {
|
||||
socketURLAuth = parsedURL.username; // Since HTTP basic authentication does not allow empty username,
|
||||
// we only include password if the username is not empty.
|
||||
|
||||
if (parsedURL.password) {
|
||||
// Result: <username>:<password>
|
||||
socketURLAuth = socketURLAuth.concat(":", parsedURL.password);
|
||||
}
|
||||
} // In case the host is a raw IPv6 address, it can be enclosed in
|
||||
// the brackets as the brackets are needed in the final URL string.
|
||||
// Need to remove those as url.format blindly adds its own set of brackets
|
||||
// if the host string contains colons. That would lead to non-working
|
||||
// double brackets (e.g. [[::]]) host
|
||||
//
|
||||
// All of these web socket url params are optionally passed in through resourceQuery,
|
||||
// so we need to fall back to the default if they are not provided
|
||||
|
||||
|
||||
var socketURLHostname = (hostname || self.location.hostname || "localhost").replace(/^\[(.*)\]$/, "$1");
|
||||
var socketURLPort = parsedURL.port;
|
||||
|
||||
if (!socketURLPort || socketURLPort === "0") {
|
||||
socketURLPort = self.location.port;
|
||||
} // If path is provided it'll be passed in via the resourceQuery as a
|
||||
// query param so it has to be parsed out of the querystring in order for the
|
||||
// client to open the socket to the correct location.
|
||||
|
||||
|
||||
var socketURLPathname = "/ws";
|
||||
|
||||
if (parsedURL.pathname && !parsedURL.fromCurrentScript) {
|
||||
socketURLPathname = parsedURL.pathname;
|
||||
}
|
||||
|
||||
return format({
|
||||
protocol: socketURLProtocol,
|
||||
auth: socketURLAuth,
|
||||
hostname: socketURLHostname,
|
||||
port: socketURLPort,
|
||||
pathname: socketURLPathname,
|
||||
slashes: true
|
||||
});
|
||||
}
|
||||
|
||||
export default createSocketURL;
|
||||
26
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/getCurrentScriptSource.js
generated
vendored
Normal file
26
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/getCurrentScriptSource.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* @returns {string}
|
||||
*/
|
||||
function getCurrentScriptSource() {
|
||||
// `document.currentScript` is the most accurate way to find the current script,
|
||||
// but is not supported in all browsers.
|
||||
if (document.currentScript) {
|
||||
return document.currentScript.getAttribute("src");
|
||||
} // Fallback to getting all scripts running in the document.
|
||||
|
||||
|
||||
var scriptElements = document.scripts || [];
|
||||
var scriptElementsWithSrc = Array.prototype.filter.call(scriptElements, function (element) {
|
||||
return element.getAttribute("src");
|
||||
});
|
||||
|
||||
if (scriptElementsWithSrc.length > 0) {
|
||||
var currentScript = scriptElementsWithSrc[scriptElementsWithSrc.length - 1];
|
||||
return currentScript.getAttribute("src");
|
||||
} // Fail as there was no script to use.
|
||||
|
||||
|
||||
throw new Error("[webpack-dev-server] Failed to get current script source.");
|
||||
}
|
||||
|
||||
export default getCurrentScriptSource;
|
||||
20
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/log.js
generated
vendored
Normal file
20
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/log.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import logger from "../modules/logger/index.js";
|
||||
var name = "webpack-dev-server"; // default level is set on the client side, so it does not need
|
||||
// to be set by the CLI or API
|
||||
|
||||
var defaultLevel = "info"; // options new options, merge with old options
|
||||
|
||||
/**
|
||||
* @param {false | true | "none" | "error" | "warn" | "info" | "log" | "verbose"} level
|
||||
* @returns {void}
|
||||
*/
|
||||
|
||||
function setLogLevel(level) {
|
||||
logger.configureDefaultLogger({
|
||||
level: level
|
||||
});
|
||||
}
|
||||
|
||||
setLogLevel(defaultLevel);
|
||||
var log = logger.getLogger(name);
|
||||
export { log, setLogLevel };
|
||||
41
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/parseURL.js
generated
vendored
Normal file
41
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/parseURL.js
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
import getCurrentScriptSource from "./getCurrentScriptSource.js";
|
||||
/**
|
||||
* @param {string} resourceQuery
|
||||
* @returns {{ [key: string]: string | boolean }}
|
||||
*/
|
||||
|
||||
function parseURL(resourceQuery) {
|
||||
/** @type {{ [key: string]: string }} */
|
||||
var options = {};
|
||||
|
||||
if (typeof resourceQuery === "string" && resourceQuery !== "") {
|
||||
var searchParams = resourceQuery.slice(1).split("&");
|
||||
|
||||
for (var i = 0; i < searchParams.length; i++) {
|
||||
var pair = searchParams[i].split("=");
|
||||
options[pair[0]] = decodeURIComponent(pair[1]);
|
||||
}
|
||||
} else {
|
||||
// Else, get the url from the <script> this file was called with.
|
||||
var scriptSource = getCurrentScriptSource();
|
||||
var scriptSourceURL;
|
||||
|
||||
try {
|
||||
// The placeholder `baseURL` with `window.location.href`,
|
||||
// is to allow parsing of path-relative or protocol-relative URLs,
|
||||
// and will have no effect if `scriptSource` is a fully valid URL.
|
||||
scriptSourceURL = new URL(scriptSource, self.location.href);
|
||||
} catch (error) {// URL parsing failed, do nothing.
|
||||
// We will still proceed to see if we can recover using `resourceQuery`
|
||||
}
|
||||
|
||||
if (scriptSourceURL) {
|
||||
options = scriptSourceURL;
|
||||
options.fromCurrentScript = true;
|
||||
}
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
export default parseURL;
|
||||
72
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/reloadApp.js
generated
vendored
Normal file
72
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/reloadApp.js
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
import hotEmitter from "webpack/hot/emitter.js";
|
||||
import { log } from "./log.js";
|
||||
/** @typedef {import("../index").Options} Options
|
||||
/** @typedef {import("../index").Status} Status
|
||||
|
||||
/**
|
||||
* @param {Options} options
|
||||
* @param {Status} status
|
||||
*/
|
||||
|
||||
function reloadApp(_ref, status) {
|
||||
var hot = _ref.hot,
|
||||
liveReload = _ref.liveReload;
|
||||
|
||||
if (status.isUnloading) {
|
||||
return;
|
||||
}
|
||||
|
||||
var currentHash = status.currentHash,
|
||||
previousHash = status.previousHash;
|
||||
var isInitial = currentHash.indexOf(
|
||||
/** @type {string} */
|
||||
previousHash) >= 0;
|
||||
|
||||
if (isInitial) {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* @param {Window} rootWindow
|
||||
* @param {number} intervalId
|
||||
*/
|
||||
|
||||
|
||||
function applyReload(rootWindow, intervalId) {
|
||||
clearInterval(intervalId);
|
||||
log.info("App updated. Reloading...");
|
||||
rootWindow.location.reload();
|
||||
}
|
||||
|
||||
var search = self.location.search.toLowerCase();
|
||||
var allowToHot = search.indexOf("webpack-dev-server-hot=false") === -1;
|
||||
var allowToLiveReload = search.indexOf("webpack-dev-server-live-reload=false") === -1;
|
||||
|
||||
if (hot && allowToHot) {
|
||||
log.info("App hot update...");
|
||||
hotEmitter.emit("webpackHotUpdate", status.currentHash);
|
||||
|
||||
if (typeof self !== "undefined" && self.window) {
|
||||
// broadcast update to window
|
||||
self.postMessage("webpackHotUpdate".concat(status.currentHash), "*");
|
||||
}
|
||||
} // allow refreshing the page only if liveReload isn't disabled
|
||||
else if (liveReload && allowToLiveReload) {
|
||||
var rootWindow = self; // use parent window for reload (in case we're in an iframe with no valid src)
|
||||
|
||||
var intervalId = self.setInterval(function () {
|
||||
if (rootWindow.location.protocol !== "about:") {
|
||||
// reload immediately if protocol is valid
|
||||
applyReload(rootWindow, intervalId);
|
||||
} else {
|
||||
rootWindow = rootWindow.parent;
|
||||
|
||||
if (rootWindow.parent === rootWindow) {
|
||||
// if parent equals current window we've reached the root which would continue forever, so trigger a reload anyways
|
||||
applyReload(rootWindow, intervalId);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export default reloadApp;
|
||||
17
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/sendMessage.js
generated
vendored
Normal file
17
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/sendMessage.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/* global __resourceQuery WorkerGlobalScope */
|
||||
// Send messages to the outside, so plugins can consume it.
|
||||
|
||||
/**
|
||||
* @param {string} type
|
||||
* @param {any} [data]
|
||||
*/
|
||||
function sendMsg(type, data) {
|
||||
if (typeof self !== "undefined" && (typeof WorkerGlobalScope === "undefined" || !(self instanceof WorkerGlobalScope))) {
|
||||
self.postMessage({
|
||||
type: "webpack".concat(type),
|
||||
data: data
|
||||
}, "*");
|
||||
}
|
||||
}
|
||||
|
||||
export default sendMsg;
|
||||
20
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/stripAnsi.js
generated
vendored
Normal file
20
receipeServer/frontend_old/node_modules/webpack-dev-server/client/utils/stripAnsi.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
var ansiRegex = new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"), "g");
|
||||
/**
|
||||
*
|
||||
* Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.
|
||||
* Adapted from code originally released by Sindre Sorhus
|
||||
* Licensed the MIT License
|
||||
*
|
||||
* @param {string} string
|
||||
* @return {string}
|
||||
*/
|
||||
|
||||
function stripAnsi(string) {
|
||||
if (typeof string !== "string") {
|
||||
throw new TypeError("Expected a `string`, got `".concat(typeof string, "`"));
|
||||
}
|
||||
|
||||
return string.replace(ansiRegex, "");
|
||||
}
|
||||
|
||||
export default stripAnsi;
|
||||
21
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/LICENSE
generated
vendored
Normal file
21
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 Evgeny Poberezkin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
745
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/README.md
generated
vendored
Normal file
745
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/README.md
generated
vendored
Normal file
@@ -0,0 +1,745 @@
|
||||
# ajv-keywords
|
||||
|
||||
Custom JSON-Schema keywords for [Ajv](https://github.com/epoberezkin/ajv) validator
|
||||
|
||||
[](https://github.com/ajv-validator/ajv-keywords/actions?query=workflow%3Abuild)
|
||||
[](https://www.npmjs.com/package/ajv-keywords)
|
||||
[](https://www.npmjs.com/package/ajv-keywords)
|
||||
[](https://coveralls.io/github/ajv-validator/ajv-keywords?branch=master)
|
||||
[](https://gitter.im/ajv-validator/ajv)
|
||||
|
||||
**Please note**: This readme file is for [ajv-keywords v5.0.0](https://github.com/ajv-validator/ajv-keywords/releases/tag/v5.0.0) that should be used with [ajv v8](https://github.com/ajv-validator/ajv).
|
||||
|
||||
[ajv-keywords v3](https://github.com/ajv-validator/ajv-keywords/tree/v3) should be used with [ajv v6](https://github.com/ajv-validator/ajv/tree/v6).
|
||||
|
||||
## Contents
|
||||
|
||||
- [Install](#install)
|
||||
- [Usage](#usage)
|
||||
- [Keywords](#keywords)
|
||||
- [Types](#types)
|
||||
- [typeof](#typeof)
|
||||
- [instanceof](#instanceof)<sup>\+</sup>
|
||||
- [Keywords for numbers](#keywords-for-numbers)
|
||||
- [range and exclusiveRange](#range-and-exclusiverange)
|
||||
- [Keywords for strings](#keywords-for-strings)
|
||||
- [regexp](#regexp)
|
||||
- [transform](#transform)<sup>\*</sup>
|
||||
- [Keywords for arrays](#keywords-for-arrays)
|
||||
- [uniqueItemProperties](#uniqueitemproperties)<sup>\+</sup>
|
||||
- [Keywords for objects](#keywords-for-objects)
|
||||
- [allRequired](#allrequired)
|
||||
- [anyRequired](#anyrequired)
|
||||
- [oneRequired](#onerequired)
|
||||
- [patternRequired](#patternrequired)
|
||||
- [prohibited](#prohibited)
|
||||
- [deepProperties](#deepproperties)
|
||||
- [deepRequired](#deeprequired)
|
||||
- [dynamicDefaults](#dynamicdefaults)<sup>\*</sup><sup>\+</sup>
|
||||
- [Keywords for all types](#keywords-for-all-types)
|
||||
- [select/selectCases/selectDefault](#selectselectcasesselectdefault)
|
||||
- [Security contact](#security-contact)
|
||||
- [Open-source software support](#open-source-software-support)
|
||||
- [License](#license)
|
||||
|
||||
<sup>\*</sup> - keywords that modify data
|
||||
<sup>\+</sup> - keywords that are not supported in [standalone validation code](https://github.com/ajv-validator/ajv/blob/master/docs/standalone.md)
|
||||
|
||||
## Install
|
||||
|
||||
To install version 4 to use with [Ajv v7](https://github.com/ajv-validator/ajv):
|
||||
|
||||
```
|
||||
npm install ajv-keywords
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
To add all available keywords:
|
||||
|
||||
```javascript
|
||||
const Ajv = require("ajv")
|
||||
const ajv = new Ajv()
|
||||
require("ajv-keywords")(ajv)
|
||||
|
||||
ajv.validate({instanceof: "RegExp"}, /.*/) // true
|
||||
ajv.validate({instanceof: "RegExp"}, ".*") // false
|
||||
```
|
||||
|
||||
To add a single keyword:
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, "instanceof")
|
||||
```
|
||||
|
||||
To add multiple keywords:
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, ["typeof", "instanceof"])
|
||||
```
|
||||
|
||||
To add a single keyword directly (to avoid adding unused code):
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords/dist/keywords/select")(ajv, opts)
|
||||
```
|
||||
|
||||
To add all keywords via Ajv options:
|
||||
|
||||
```javascript
|
||||
const ajv = new Ajv({keywords: require("ajv-keywords/dist/definitions")(opts)})
|
||||
```
|
||||
|
||||
To add one or several keywords via options:
|
||||
|
||||
```javascript
|
||||
const ajv = new Ajv({
|
||||
keywords: [
|
||||
require("ajv-keywords/dist/definitions/typeof")(),
|
||||
require("ajv-keywords/dist/definitions/instanceof")(),
|
||||
// select exports an array of 3 definitions - see "select" in docs
|
||||
...require("ajv-keywords/dist/definitions/select")(opts),
|
||||
],
|
||||
})
|
||||
```
|
||||
|
||||
`opts` is an optional object with a property `defaultMeta` - URI of meta-schema to use for keywords that use subschemas (`select` and `deepProperties`). The default is `"http://json-schema.org/schema"`.
|
||||
|
||||
## Keywords
|
||||
|
||||
### Types
|
||||
|
||||
#### `typeof`
|
||||
|
||||
Based on JavaScript `typeof` operation.
|
||||
|
||||
The value of the keyword should be a string (`"undefined"`, `"string"`, `"number"`, `"object"`, `"function"`, `"boolean"` or `"symbol"`) or an array of strings.
|
||||
|
||||
To pass validation the result of `typeof` operation on the value should be equal to the string (or one of the strings in the array).
|
||||
|
||||
```javascript
|
||||
ajv.validate({typeof: "undefined"}, undefined) // true
|
||||
ajv.validate({typeof: "undefined"}, null) // false
|
||||
ajv.validate({typeof: ["undefined", "object"]}, null) // true
|
||||
```
|
||||
|
||||
#### `instanceof`
|
||||
|
||||
Based on JavaScript `instanceof` operation.
|
||||
|
||||
The value of the keyword should be a string (`"Object"`, `"Array"`, `"Function"`, `"Number"`, `"String"`, `"Date"`, `"RegExp"` or `"Promise"`) or an array of strings.
|
||||
|
||||
To pass validation the result of `data instanceof ...` operation on the value should be true:
|
||||
|
||||
```javascript
|
||||
ajv.validate({instanceof: "Array"}, []) // true
|
||||
ajv.validate({instanceof: "Array"}, {}) // false
|
||||
ajv.validate({instanceof: ["Array", "Function"]}, function () {}) // true
|
||||
```
|
||||
|
||||
You can add your own constructor function to be recognised by this keyword:
|
||||
|
||||
```javascript
|
||||
class MyClass {}
|
||||
const instanceofDef = require("ajv-keywords/dist/definitions/instanceof")
|
||||
instanceofDef.CONSTRUCTORS.MyClass = MyClass
|
||||
ajv.validate({instanceof: "MyClass"}, new MyClass()) // true
|
||||
```
|
||||
|
||||
**Please note**: currently `instanceof` is not supported in [standalone validation code](https://github.com/ajv-validator/ajv/blob/master/docs/standalone.md) - it has to be implemented as [`code` keyword](https://github.com/ajv-validator/ajv/blob/master/docs/keywords.md#define-keyword-with-code-generation-function) to support it (PR is welcome).
|
||||
|
||||
### Keywords for numbers
|
||||
|
||||
#### `range` and `exclusiveRange`
|
||||
|
||||
Syntax sugar for the combination of minimum and maximum keywords (or exclusiveMinimum and exclusiveMaximum), also fails schema compilation if there are no numbers in the range.
|
||||
|
||||
The value of these keywords must be an array consisting of two numbers, the second must be greater or equal than the first one.
|
||||
|
||||
If the validated value is not a number the validation passes, otherwise to pass validation the value should be greater (or equal) than the first number and smaller (or equal) than the second number in the array.
|
||||
|
||||
```javascript
|
||||
const schema = {type: "number", range: [1, 3]}
|
||||
ajv.validate(schema, 1) // true
|
||||
ajv.validate(schema, 2) // true
|
||||
ajv.validate(schema, 3) // true
|
||||
ajv.validate(schema, 0.99) // false
|
||||
ajv.validate(schema, 3.01) // false
|
||||
|
||||
const schema = {type: "number", exclusiveRange: [1, 3]}
|
||||
ajv.validate(schema, 1.01) // true
|
||||
ajv.validate(schema, 2) // true
|
||||
ajv.validate(schema, 2.99) // true
|
||||
ajv.validate(schema, 1) // false
|
||||
ajv.validate(schema, 3) // false
|
||||
```
|
||||
|
||||
### Keywords for strings
|
||||
|
||||
#### `regexp`
|
||||
|
||||
This keyword allows to use regular expressions with flags in schemas, and also without `"u"` flag when needed (the standard `pattern` keyword does not support flags and implies the presence of `"u"` flag).
|
||||
|
||||
This keyword applies only to strings. If the data is not a string, the validation succeeds.
|
||||
|
||||
The value of this keyword can be either a string (the result of `regexp.toString()`) or an object with the properties `pattern` and `flags` (the same strings that should be passed to RegExp constructor).
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
properties: {
|
||||
foo: {type: "string", regexp: "/foo/i"},
|
||||
bar: {type: "string", regexp: {pattern: "bar", flags: "i"}},
|
||||
},
|
||||
}
|
||||
|
||||
const validData = {
|
||||
foo: "Food",
|
||||
bar: "Barmen",
|
||||
}
|
||||
|
||||
const invalidData = {
|
||||
foo: "fog",
|
||||
bar: "bad",
|
||||
}
|
||||
```
|
||||
|
||||
#### `transform`
|
||||
|
||||
This keyword allows a string to be modified during validation.
|
||||
|
||||
This keyword applies only to strings. If the data is not a string, the `transform` keyword is ignored.
|
||||
|
||||
A standalone string cannot be modified, i.e. `data = 'a'; ajv.validate(schema, data);`, because strings are passed by value
|
||||
|
||||
**Supported transformations:**
|
||||
|
||||
- `trim`: remove whitespace from start and end
|
||||
- `trimStart`/`trimLeft`: remove whitespace from start
|
||||
- `trimEnd`/`trimRight`: remove whitespace from end
|
||||
- `toLowerCase`: convert to lower case
|
||||
- `toUpperCase`: convert to upper case
|
||||
- `toEnumCase`: change string case to be equal to one of `enum` values in the schema
|
||||
|
||||
Transformations are applied in the order they are listed.
|
||||
|
||||
Note: `toEnumCase` requires that all allowed values are unique when case insensitive.
|
||||
|
||||
**Example: multiple transformations**
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, "transform")
|
||||
|
||||
const schema = {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "string",
|
||||
transform: ["trim", "toLowerCase"],
|
||||
},
|
||||
}
|
||||
|
||||
const data = [" MixCase "]
|
||||
ajv.validate(schema, data)
|
||||
console.log(data) // ['mixcase']
|
||||
```
|
||||
|
||||
**Example: `enumcase`**
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, ["transform"])
|
||||
|
||||
const schema = {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "string",
|
||||
transform: ["trim", "toEnumCase"],
|
||||
enum: ["pH"],
|
||||
},
|
||||
}
|
||||
|
||||
const data = ["ph", " Ph", "PH", "pH "]
|
||||
ajv.validate(schema, data)
|
||||
console.log(data) // ['pH','pH','pH','pH']
|
||||
```
|
||||
|
||||
### Keywords for arrays
|
||||
|
||||
#### `uniqueItemProperties`
|
||||
|
||||
The keyword allows to check that some properties in array items are unique.
|
||||
|
||||
This keyword applies only to arrays. If the data is not an array, the validation succeeds.
|
||||
|
||||
The value of this keyword must be an array of strings - property names that should have unique values across all items.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "array",
|
||||
uniqueItemProperties: ["id", "name"],
|
||||
}
|
||||
|
||||
const validData = [{id: 1}, {id: 2}, {id: 3}]
|
||||
|
||||
const invalidData1 = [
|
||||
{id: 1},
|
||||
{id: 1}, // duplicate "id"
|
||||
{id: 3},
|
||||
]
|
||||
|
||||
const invalidData2 = [
|
||||
{id: 1, name: "taco"},
|
||||
{id: 2, name: "taco"}, // duplicate "name"
|
||||
{id: 3, name: "salsa"},
|
||||
]
|
||||
```
|
||||
|
||||
This keyword is contributed by [@blainesch](https://github.com/blainesch).
|
||||
|
||||
**Please note**: currently `uniqueItemProperties` is not supported in [standalone validation code](https://github.com/ajv-validator/ajv/blob/master/docs/standalone.md) - it has to be implemented as [`code` keyword](https://github.com/ajv-validator/ajv/blob/master/docs/keywords.md#define-keyword-with-code-generation-function) to support it (PR is welcome).
|
||||
|
||||
### Keywords for objects
|
||||
|
||||
#### `allRequired`
|
||||
|
||||
This keyword allows to require the presence of all properties used in `properties` keyword in the same schema object.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword must be boolean.
|
||||
|
||||
If the value of the keyword is `false`, the validation succeeds.
|
||||
|
||||
If the value of the keyword is `true`, the validation succeeds if the data contains all properties defined in `properties` keyword (in the same schema object).
|
||||
|
||||
If the `properties` keyword is not present in the same schema object, schema compilation will throw exception.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
properties: {
|
||||
foo: {type: "number"},
|
||||
bar: {type: "number"},
|
||||
},
|
||||
allRequired: true,
|
||||
}
|
||||
|
||||
const validData = {foo: 1, bar: 2}
|
||||
const alsoValidData = {foo: 1, bar: 2, baz: 3}
|
||||
|
||||
const invalidDataList = [{}, {foo: 1}, {bar: 2}]
|
||||
```
|
||||
|
||||
#### `anyRequired`
|
||||
|
||||
This keyword allows to require the presence of any (at least one) property from the list.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword must be an array of strings, each string being a property name. For data object to be valid at least one of the properties in this array should be present in the object.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
anyRequired: ["foo", "bar"],
|
||||
}
|
||||
|
||||
const validData = {foo: 1}
|
||||
const alsoValidData = {foo: 1, bar: 2}
|
||||
|
||||
const invalidDataList = [{}, {baz: 3}]
|
||||
```
|
||||
|
||||
#### `oneRequired`
|
||||
|
||||
This keyword allows to require the presence of only one property from the list.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword must be an array of strings, each string being a property name. For data object to be valid exactly one of the properties in this array should be present in the object.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
oneRequired: ["foo", "bar"],
|
||||
}
|
||||
|
||||
const validData = {foo: 1}
|
||||
const alsoValidData = {bar: 2, baz: 3}
|
||||
|
||||
const invalidDataList = [{}, {baz: 3}, {foo: 1, bar: 2}]
|
||||
```
|
||||
|
||||
#### `patternRequired`
|
||||
|
||||
This keyword allows to require the presence of properties that match some pattern(s).
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword should be an array of strings, each string being a regular expression. For data object to be valid each regular expression in this array should match at least one property name in the data object.
|
||||
|
||||
If the array contains multiple regular expressions, more than one expression can match the same property name.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
patternRequired: ["f.*o", "b.*r"],
|
||||
}
|
||||
|
||||
const validData = {foo: 1, bar: 2}
|
||||
const alsoValidData = {foobar: 3}
|
||||
|
||||
const invalidDataList = [{}, {foo: 1}, {bar: 2}]
|
||||
```
|
||||
|
||||
#### `prohibited`
|
||||
|
||||
This keyword allows to prohibit that any of the properties in the list is present in the object.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value of this keyword should be an array of strings, each string being a property name. For data object to be valid none of the properties in this array should be present in the object.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
prohibited: ["foo", "bar"],
|
||||
}
|
||||
|
||||
const validData = {baz: 1}
|
||||
const alsoValidData = {}
|
||||
|
||||
const invalidDataList = [{foo: 1}, {bar: 2}, {foo: 1, bar: 2}]
|
||||
```
|
||||
|
||||
**Please note**: `{prohibited: ['foo', 'bar']}` is equivalent to `{not: {anyRequired: ['foo', 'bar']}}` (i.e. it has the same validation result for any data).
|
||||
|
||||
#### `deepProperties`
|
||||
|
||||
This keyword allows to validate deep properties (identified by JSON pointers).
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value should be an object, where keys are JSON pointers to the data, starting from the current position in data, and the values are JSON schemas. For data object to be valid the value of each JSON pointer should be valid according to the corresponding schema.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
deepProperties: {
|
||||
"/users/1/role": {enum: ["admin"]},
|
||||
},
|
||||
}
|
||||
|
||||
const validData = {
|
||||
users: [
|
||||
{},
|
||||
{
|
||||
id: 123,
|
||||
role: "admin",
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const alsoValidData = {
|
||||
users: {
|
||||
1: {
|
||||
id: 123,
|
||||
role: "admin",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const invalidData = {
|
||||
users: [
|
||||
{},
|
||||
{
|
||||
id: 123,
|
||||
role: "user",
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const alsoInvalidData = {
|
||||
users: {
|
||||
1: {
|
||||
id: 123,
|
||||
role: "user",
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
#### `deepRequired`
|
||||
|
||||
This keyword allows to check that some deep properties (identified by JSON pointers) are available.
|
||||
|
||||
This keyword applies only to objects. If the data is not an object, the validation succeeds.
|
||||
|
||||
The value should be an array of JSON pointers to the data, starting from the current position in data. For data object to be valid each JSON pointer should be some existing part of the data.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
deepRequired: ["/users/1/role"],
|
||||
}
|
||||
|
||||
const validData = {
|
||||
users: [
|
||||
{},
|
||||
{
|
||||
id: 123,
|
||||
role: "admin",
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const invalidData = {
|
||||
users: [
|
||||
{},
|
||||
{
|
||||
id: 123,
|
||||
},
|
||||
],
|
||||
}
|
||||
```
|
||||
|
||||
See [json-schema-org/json-schema-spec#203](https://github.com/json-schema-org/json-schema-spec/issues/203#issue-197211916) for an example of the equivalent schema without `deepRequired` keyword.
|
||||
|
||||
### Keywords for all types
|
||||
|
||||
#### `select`/`selectCases`/`selectDefault`
|
||||
|
||||
**Please note**: these keywords are deprecated. It is recommended to use OpenAPI [discriminator](https://ajv.js.org/json-schema.html#discriminator) keyword supported by Ajv v8 instead of `select`.
|
||||
|
||||
These keywords allow to choose the schema to validate the data based on the value of some property in the validated data.
|
||||
|
||||
These keywords must be present in the same schema object (`selectDefault` is optional).
|
||||
|
||||
The value of `select` keyword should be a [\$data reference](https://github.com/ajv-validator/ajv/blob/master/docs/validation.md#data-reference) that points to any primitive JSON type (string, number, boolean or null) in the data that is validated. You can also use a constant of primitive type as the value of this keyword (e.g., for debugging purposes).
|
||||
|
||||
The value of `selectCases` keyword must be an object where each property name is a possible string representation of the value of `select` keyword and each property value is a corresponding schema (from draft-06 it can be boolean) that must be used to validate the data.
|
||||
|
||||
The value of `selectDefault` keyword is a schema (also can be boolean) that must be used to validate the data in case `selectCases` has no key equal to the stringified value of `select` keyword.
|
||||
|
||||
The validation succeeds in one of the following cases:
|
||||
|
||||
- the validation of data using selected schema succeeds,
|
||||
- none of the schemas is selected for validation,
|
||||
- the value of select is undefined (no property in the data that the data reference points to).
|
||||
|
||||
If `select` value (in data) is not a primitive type the validation fails.
|
||||
|
||||
This keyword correctly tracks evaluated properties and items to work with `unevaluatedProperties` and `unevaluatedItems` keywords - only properties and items from the subschema that was used (one of `selectCases` subschemas or `selectDefault` subschema) are marked as evaluated.
|
||||
|
||||
**Please note**: these keywords require Ajv `$data` option to support [\$data reference](https://github.com/ajv-validator/ajv/blob/master/docs/validation.md#data-reference).
|
||||
|
||||
```javascript
|
||||
require("ajv-keywords")(ajv, "select")
|
||||
|
||||
const schema = {
|
||||
type: "object",
|
||||
required: ["kind"],
|
||||
properties: {
|
||||
kind: {type: "string"},
|
||||
},
|
||||
select: {$data: "0/kind"},
|
||||
selectCases: {
|
||||
foo: {
|
||||
required: ["foo"],
|
||||
properties: {
|
||||
kind: {},
|
||||
foo: {type: "string"},
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
bar: {
|
||||
required: ["bar"],
|
||||
properties: {
|
||||
kind: {},
|
||||
bar: {type: "number"},
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
},
|
||||
selectDefault: {
|
||||
propertyNames: {
|
||||
not: {enum: ["foo", "bar"]},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const validDataList = [
|
||||
{kind: "foo", foo: "any"},
|
||||
{kind: "bar", bar: 1},
|
||||
{kind: "anything_else", not_bar_or_foo: "any value"},
|
||||
]
|
||||
|
||||
const invalidDataList = [
|
||||
{kind: "foo"}, // no property foo
|
||||
{kind: "bar"}, // no property bar
|
||||
{kind: "foo", foo: "any", another: "any value"}, // additional property
|
||||
{kind: "bar", bar: 1, another: "any value"}, // additional property
|
||||
{kind: "anything_else", foo: "any"}, // property foo not allowed
|
||||
{kind: "anything_else", bar: 1}, // property bar not allowed
|
||||
]
|
||||
```
|
||||
|
||||
#### `dynamicDefaults`
|
||||
|
||||
This keyword allows to assign dynamic defaults to properties, such as timestamps, unique IDs etc.
|
||||
|
||||
This keyword only works if `useDefaults` options is used and not inside `anyOf` keywords etc., in the same way as [default keyword treated by Ajv](https://github.com/epoberezkin/ajv#assigning-defaults).
|
||||
|
||||
The keyword should be added on the object level. Its value should be an object with each property corresponding to a property name, in the same way as in standard `properties` keyword. The value of each property can be:
|
||||
|
||||
- an identifier of dynamic default function (a string)
|
||||
- an object with properties `func` (an identifier) and `args` (an object with parameters that will be passed to this function during schema compilation - see examples).
|
||||
|
||||
The properties used in `dynamicDefaults` should not be added to `required` keyword in the same schema (or validation will fail), because unlike `default` this keyword is processed after validation.
|
||||
|
||||
There are several predefined dynamic default functions:
|
||||
|
||||
- `"timestamp"` - current timestamp in milliseconds
|
||||
- `"datetime"` - current date and time as string (ISO, valid according to `date-time` format)
|
||||
- `"date"` - current date as string (ISO, valid according to `date` format)
|
||||
- `"time"` - current time as string (ISO, valid according to `time` format)
|
||||
- `"random"` - pseudo-random number in [0, 1) interval
|
||||
- `"randomint"` - pseudo-random integer number. If string is used as a property value, the function will randomly return 0 or 1. If object `{ func: 'randomint', args: { max: N } }` is used then the default will be an integer number in [0, N) interval.
|
||||
- `"seq"` - sequential integer number starting from 0. If string is used as a property value, the default sequence will be used. If object `{ func: 'seq', args: { name: 'foo'} }` is used then the sequence with name `"foo"` will be used. Sequences are global, even if different ajv instances are used.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
dynamicDefaults: {
|
||||
ts: "datetime",
|
||||
r: {func: "randomint", args: {max: 100}},
|
||||
id: {func: "seq", args: {name: "id"}},
|
||||
},
|
||||
properties: {
|
||||
ts: {
|
||||
type: "string",
|
||||
format: "date-time",
|
||||
},
|
||||
r: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
exclusiveMaximum: 100,
|
||||
},
|
||||
id: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const data = {}
|
||||
ajv.validate(data) // true
|
||||
data // { ts: '2016-12-01T22:07:28.829Z', r: 25, id: 0 }
|
||||
|
||||
const data1 = {}
|
||||
ajv.validate(data1) // true
|
||||
data1 // { ts: '2016-12-01T22:07:29.832Z', r: 68, id: 1 }
|
||||
|
||||
ajv.validate(data1) // true
|
||||
data1 // didn't change, as all properties were defined
|
||||
```
|
||||
|
||||
When using the `useDefaults` option value `"empty"`, properties and items equal to `null` or `""` (empty string) will be considered missing and assigned defaults. Use `allOf` [compound keyword](https://github.com/epoberezkin/ajv/blob/master/KEYWORDS.md#compound-keywords) to execute `dynamicDefaults` before validation.
|
||||
|
||||
```javascript
|
||||
const schema = {
|
||||
type: "object",
|
||||
allOf: [
|
||||
{
|
||||
dynamicDefaults: {
|
||||
ts: "datetime",
|
||||
r: {func: "randomint", args: {min: 5, max: 100}},
|
||||
id: {func: "seq", args: {name: "id"}},
|
||||
},
|
||||
},
|
||||
{
|
||||
properties: {
|
||||
ts: {
|
||||
type: "string",
|
||||
},
|
||||
r: {
|
||||
type: "number",
|
||||
minimum: 5,
|
||||
exclusiveMaximum: 100,
|
||||
},
|
||||
id: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const data = {ts: "", r: null}
|
||||
ajv.validate(data) // true
|
||||
data // { ts: '2016-12-01T22:07:28.829Z', r: 25, id: 0 }
|
||||
```
|
||||
|
||||
You can add your own dynamic default function to be recognised by this keyword:
|
||||
|
||||
```javascript
|
||||
const uuid = require("uuid")
|
||||
|
||||
const def = require("ajv-keywords/dist/definitions/dynamicDefaults")
|
||||
def.DEFAULTS.uuid = () => uuid.v4
|
||||
|
||||
const schema = {
|
||||
dynamicDefaults: {id: "uuid"},
|
||||
properties: {id: {type: "string", format: "uuid"}},
|
||||
}
|
||||
|
||||
const data = {}
|
||||
ajv.validate(schema, data) // true
|
||||
data // { id: 'a1183fbe-697b-4030-9bcc-cfeb282a9150' };
|
||||
|
||||
const data1 = {}
|
||||
ajv.validate(schema, data1) // true
|
||||
data1 // { id: '5b008de7-1669-467a-a5c6-70fa244d7209' }
|
||||
```
|
||||
|
||||
You also can define dynamic default that accept parameters, e.g. version of uuid:
|
||||
|
||||
```javascript
|
||||
const uuid = require("uuid")
|
||||
|
||||
function getUuid(args) {
|
||||
const version = "v" + ((arvs && args.v) || "4")
|
||||
return uuid[version]
|
||||
}
|
||||
|
||||
const def = require("ajv-keywords/dist/definitions/dynamicDefaults")
|
||||
def.DEFAULTS.uuid = getUuid
|
||||
|
||||
const schema = {
|
||||
dynamicDefaults: {
|
||||
id1: "uuid", // v4
|
||||
id2: {func: "uuid", v: 4}, // v4
|
||||
id3: {func: "uuid", v: 1}, // v1
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
**Please note**: dynamic default functions are differentiated by the number of parameters they have (`function.length`). Functions that do not expect default must have one non-optional argument so that `function.length` > 0.
|
||||
|
||||
`dynamicDefaults` is not supported in [standalone validation code](https://github.com/ajv-validator/ajv/blob/master/docs/standalone.md).
|
||||
|
||||
## Security contact
|
||||
|
||||
To report a security vulnerability, please use the
|
||||
[Tidelift security contact](https://tidelift.com/security).
|
||||
Tidelift will coordinate the fix and disclosure.
|
||||
|
||||
Please do NOT report security vulnerabilities via GitHub issues.
|
||||
|
||||
## Open-source software support
|
||||
|
||||
Ajv-keywords is a part of [Tidelift subscription](https://tidelift.com/subscription/pkg/npm-ajv-keywords?utm_source=npm-ajv-keywords&utm_medium=referral&utm_campaign=readme) - it provides a centralised support to open-source software users, in addition to the support provided by software maintainers.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](https://github.com/epoberezkin/ajv-keywords/blob/master/LICENSE)
|
||||
74
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/package.json
generated
vendored
Normal file
74
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/package.json
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"name": "ajv-keywords",
|
||||
"version": "5.1.0",
|
||||
"description": "Additional JSON-Schema keywords for Ajv JSON validator",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
"scripts": {
|
||||
"build": "rm -rf dist && tsc",
|
||||
"prepublish": "npm run build",
|
||||
"prettier:write": "prettier --write \"./**/*.{md,json,yaml,js,ts}\"",
|
||||
"prettier:check": "prettier --list-different \"./**/*.{md,json,yaml,js,ts}\"",
|
||||
"test": "npm link && npm link ajv-keywords && npm run eslint && npm run test-cov",
|
||||
"eslint": "eslint \"src/**/*.*s\" \"spec/**/*.*s\"",
|
||||
"test-spec": "jest spec/*.ts",
|
||||
"test-cov": "jest spec/*.ts --coverage"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/epoberezkin/ajv-keywords.git"
|
||||
},
|
||||
"keywords": [
|
||||
"JSON-Schema",
|
||||
"ajv",
|
||||
"keywords"
|
||||
],
|
||||
"files": [
|
||||
"src",
|
||||
"dist",
|
||||
"ajv-keywords.d.ts"
|
||||
],
|
||||
"author": "Evgeny Poberezkin",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/epoberezkin/ajv-keywords/issues"
|
||||
},
|
||||
"homepage": "https://github.com/epoberezkin/ajv-keywords#readme",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"ajv": "^8.8.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ajv-validator/config": "^0.2.3",
|
||||
"@types/chai": "^4.2.14",
|
||||
"@types/jest": "^26.0.14",
|
||||
"@types/node": "^16.4.10",
|
||||
"@types/uuid": "^8.3.0",
|
||||
"@typescript-eslint/eslint-plugin": "^4.4.1",
|
||||
"@typescript-eslint/parser": "^4.4.1",
|
||||
"ajv": "^8.8.2",
|
||||
"ajv-formats": "^2.0.0",
|
||||
"chai": "^4.2.0",
|
||||
"eslint": "^7.2.0",
|
||||
"eslint-config-prettier": "^7.0.0",
|
||||
"husky": "^7.0.1",
|
||||
"jest": "^26.5.3",
|
||||
"json-schema-test": "^2.0.0",
|
||||
"lint-staged": "^11.1.1",
|
||||
"prettier": "^2.1.2",
|
||||
"ts-jest": "^26.4.1",
|
||||
"typescript": "^4.2.0",
|
||||
"uuid": "^8.1.0"
|
||||
},
|
||||
"prettier": "@ajv-validator/config/prettierrc.json",
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged && npm test"
|
||||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{md,json,yaml,js,ts}": "prettier --write"
|
||||
}
|
||||
}
|
||||
30
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/_range.ts
generated
vendored
Normal file
30
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/_range.ts
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
import type {MacroKeywordDefinition} from "ajv"
|
||||
import type {GetDefinition} from "./_types"
|
||||
|
||||
type RangeKwd = "range" | "exclusiveRange"
|
||||
|
||||
export default function getRangeDef(keyword: RangeKwd): GetDefinition<MacroKeywordDefinition> {
|
||||
return () => ({
|
||||
keyword,
|
||||
type: "number",
|
||||
schemaType: "array",
|
||||
macro: function ([min, max]: [number, number]) {
|
||||
validateRangeSchema(min, max)
|
||||
return keyword === "range"
|
||||
? {minimum: min, maximum: max}
|
||||
: {exclusiveMinimum: min, exclusiveMaximum: max}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
minItems: 2,
|
||||
maxItems: 2,
|
||||
items: {type: "number"},
|
||||
},
|
||||
})
|
||||
|
||||
function validateRangeSchema(min: number, max: number): void {
|
||||
if (min > max || (keyword === "exclusiveRange" && min === max)) {
|
||||
throw new Error("There are no numbers in range")
|
||||
}
|
||||
}
|
||||
}
|
||||
24
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/_required.ts
generated
vendored
Normal file
24
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/_required.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
import type {MacroKeywordDefinition} from "ajv"
|
||||
import type {GetDefinition} from "./_types"
|
||||
|
||||
type RequiredKwd = "anyRequired" | "oneRequired"
|
||||
|
||||
export default function getRequiredDef(
|
||||
keyword: RequiredKwd
|
||||
): GetDefinition<MacroKeywordDefinition> {
|
||||
return () => ({
|
||||
keyword,
|
||||
type: "object",
|
||||
schemaType: "array",
|
||||
macro(schema: string[]) {
|
||||
if (schema.length === 0) return true
|
||||
if (schema.length === 1) return {required: schema}
|
||||
const comb = keyword === "anyRequired" ? "anyOf" : "oneOf"
|
||||
return {[comb]: schema.map((p) => ({required: [p]}))}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: {type: "string"},
|
||||
},
|
||||
})
|
||||
}
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/_types.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/_types.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {KeywordDefinition} from "ajv"
|
||||
|
||||
export interface DefinitionOptions {
|
||||
defaultMeta?: string | boolean
|
||||
}
|
||||
|
||||
export type GetDefinition<T extends KeywordDefinition> = (opts?: DefinitionOptions) => T
|
||||
22
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/_util.ts
generated
vendored
Normal file
22
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/_util.ts
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
import type {DefinitionOptions} from "./_types"
|
||||
import type {SchemaObject, KeywordCxt, Name} from "ajv"
|
||||
import {_} from "ajv/dist/compile/codegen"
|
||||
|
||||
const META_SCHEMA_ID = "http://json-schema.org/schema"
|
||||
|
||||
export function metaSchemaRef({defaultMeta}: DefinitionOptions = {}): SchemaObject {
|
||||
return defaultMeta === false ? {} : {$ref: defaultMeta || META_SCHEMA_ID}
|
||||
}
|
||||
|
||||
export function usePattern(
|
||||
{gen, it: {opts}}: KeywordCxt,
|
||||
pattern: string,
|
||||
flags = opts.unicodeRegExp ? "u" : ""
|
||||
): Name {
|
||||
const rx = new RegExp(pattern, flags)
|
||||
return gen.scopeValue("pattern", {
|
||||
key: rx.toString(),
|
||||
ref: rx,
|
||||
code: _`new RegExp(${pattern}, ${flags})`,
|
||||
})
|
||||
}
|
||||
18
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/allRequired.ts
generated
vendored
Normal file
18
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/allRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import type {MacroKeywordDefinition} from "ajv"
|
||||
|
||||
export default function getDef(): MacroKeywordDefinition {
|
||||
return {
|
||||
keyword: "allRequired",
|
||||
type: "object",
|
||||
schemaType: "boolean",
|
||||
macro(schema: boolean, parentSchema) {
|
||||
if (!schema) return true
|
||||
const required = Object.keys(parentSchema.properties)
|
||||
if (required.length === 0) return true
|
||||
return {required}
|
||||
},
|
||||
dependencies: ["properties"],
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = getDef
|
||||
8
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/anyRequired.ts
generated
vendored
Normal file
8
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/anyRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import type {MacroKeywordDefinition} from "ajv"
|
||||
import type {GetDefinition} from "./_types"
|
||||
import getRequiredDef from "./_required"
|
||||
|
||||
const getDef: GetDefinition<MacroKeywordDefinition> = getRequiredDef("anyRequired")
|
||||
|
||||
export default getDef
|
||||
module.exports = getDef
|
||||
52
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/deepProperties.ts
generated
vendored
Normal file
52
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/deepProperties.ts
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
import type {MacroKeywordDefinition, SchemaObject, Schema} from "ajv"
|
||||
import type {DefinitionOptions} from "./_types"
|
||||
import {metaSchemaRef} from "./_util"
|
||||
|
||||
export default function getDef(opts?: DefinitionOptions): MacroKeywordDefinition {
|
||||
return {
|
||||
keyword: "deepProperties",
|
||||
type: "object",
|
||||
schemaType: "object",
|
||||
macro: function (schema: Record<string, SchemaObject>) {
|
||||
const allOf = []
|
||||
for (const pointer in schema) allOf.push(getSchema(pointer, schema[pointer]))
|
||||
return {allOf}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "object",
|
||||
propertyNames: {type: "string", format: "json-pointer"},
|
||||
additionalProperties: metaSchemaRef(opts),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function getSchema(jsonPointer: string, schema: SchemaObject): SchemaObject {
|
||||
const segments = jsonPointer.split("/")
|
||||
const rootSchema: SchemaObject = {}
|
||||
let pointerSchema: SchemaObject = rootSchema
|
||||
for (let i = 1; i < segments.length; i++) {
|
||||
let segment: string = segments[i]
|
||||
const isLast = i === segments.length - 1
|
||||
segment = unescapeJsonPointer(segment)
|
||||
const properties: Record<string, Schema> = (pointerSchema.properties = {})
|
||||
let items: SchemaObject[] | undefined
|
||||
if (/[0-9]+/.test(segment)) {
|
||||
let count = +segment
|
||||
items = pointerSchema.items = []
|
||||
pointerSchema.type = ["object", "array"]
|
||||
while (count--) items.push({})
|
||||
} else {
|
||||
pointerSchema.type = "object"
|
||||
}
|
||||
pointerSchema = isLast ? schema : {}
|
||||
properties[segment] = pointerSchema
|
||||
if (items) items.push(pointerSchema)
|
||||
}
|
||||
return rootSchema
|
||||
}
|
||||
|
||||
function unescapeJsonPointer(str: string): string {
|
||||
return str.replace(/~1/g, "/").replace(/~0/g, "~")
|
||||
}
|
||||
|
||||
module.exports = getDef
|
||||
35
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/deepRequired.ts
generated
vendored
Normal file
35
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/deepRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
import type {CodeKeywordDefinition, KeywordCxt} from "ajv"
|
||||
import {_, or, and, getProperty, Code} from "ajv/dist/compile/codegen"
|
||||
|
||||
export default function getDef(): CodeKeywordDefinition {
|
||||
return {
|
||||
keyword: "deepRequired",
|
||||
type: "object",
|
||||
schemaType: "array",
|
||||
code(ctx: KeywordCxt) {
|
||||
const {schema, data} = ctx
|
||||
const props = (schema as string[]).map((jp: string) => _`(${getData(jp)}) === undefined`)
|
||||
ctx.fail(or(...props))
|
||||
|
||||
function getData(jsonPointer: string): Code {
|
||||
if (jsonPointer === "") throw new Error("empty JSON pointer not allowed")
|
||||
const segments = jsonPointer.split("/")
|
||||
let x: Code = data
|
||||
const xs = segments.map((s, i) =>
|
||||
i ? (x = _`${x}${getProperty(unescapeJPSegment(s))}`) : x
|
||||
)
|
||||
return and(...xs)
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: {type: "string", format: "json-pointer"},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function unescapeJPSegment(s: string): string {
|
||||
return s.replace(/~1/g, "/").replace(/~0/g, "~")
|
||||
}
|
||||
|
||||
module.exports = getDef
|
||||
98
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/dynamicDefaults.ts
generated
vendored
Normal file
98
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/dynamicDefaults.ts
generated
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
import type {FuncKeywordDefinition, SchemaCxt} from "ajv"
|
||||
|
||||
const sequences: Record<string, number | undefined> = {}
|
||||
|
||||
export type DynamicDefaultFunc = (args?: Record<string, any>) => () => any
|
||||
|
||||
const DEFAULTS: Record<string, DynamicDefaultFunc | undefined> = {
|
||||
timestamp: () => () => Date.now(),
|
||||
datetime: () => () => new Date().toISOString(),
|
||||
date: () => () => new Date().toISOString().slice(0, 10),
|
||||
time: () => () => new Date().toISOString().slice(11),
|
||||
random: () => () => Math.random(),
|
||||
randomint: (args?: {max?: number}) => {
|
||||
const max = args?.max ?? 2
|
||||
return () => Math.floor(Math.random() * max)
|
||||
},
|
||||
seq: (args?: {name?: string}) => {
|
||||
const name = args?.name ?? ""
|
||||
sequences[name] ||= 0
|
||||
return () => (sequences[name] as number)++
|
||||
},
|
||||
}
|
||||
|
||||
interface PropertyDefaultSchema {
|
||||
func: string
|
||||
args: Record<string, any>
|
||||
}
|
||||
|
||||
type DefaultSchema = Record<string, string | PropertyDefaultSchema | undefined>
|
||||
|
||||
const getDef: (() => FuncKeywordDefinition) & {
|
||||
DEFAULTS: typeof DEFAULTS
|
||||
} = Object.assign(_getDef, {DEFAULTS})
|
||||
|
||||
function _getDef(): FuncKeywordDefinition {
|
||||
return {
|
||||
keyword: "dynamicDefaults",
|
||||
type: "object",
|
||||
schemaType: ["string", "object"],
|
||||
modifying: true,
|
||||
valid: true,
|
||||
compile(schema: DefaultSchema, _parentSchema, it: SchemaCxt) {
|
||||
if (!it.opts.useDefaults || it.compositeRule) return () => true
|
||||
const fs: Record<string, () => any> = {}
|
||||
for (const key in schema) fs[key] = getDefault(schema[key])
|
||||
const empty = it.opts.useDefaults === "empty"
|
||||
|
||||
return (data: Record<string, any>) => {
|
||||
for (const prop in schema) {
|
||||
if (data[prop] === undefined || (empty && (data[prop] === null || data[prop] === ""))) {
|
||||
data[prop] = fs[prop]()
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "object",
|
||||
additionalProperties: {
|
||||
anyOf: [
|
||||
{type: "string"},
|
||||
{
|
||||
type: "object",
|
||||
additionalProperties: false,
|
||||
required: ["func", "args"],
|
||||
properties: {
|
||||
func: {type: "string"},
|
||||
args: {type: "object"},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function getDefault(d: string | PropertyDefaultSchema | undefined): () => any {
|
||||
return typeof d == "object" ? getObjDefault(d) : getStrDefault(d)
|
||||
}
|
||||
|
||||
function getObjDefault({func, args}: PropertyDefaultSchema): () => any {
|
||||
const def = DEFAULTS[func]
|
||||
assertDefined(func, def)
|
||||
return def(args)
|
||||
}
|
||||
|
||||
function getStrDefault(d = ""): () => any {
|
||||
const def = DEFAULTS[d]
|
||||
assertDefined(d, def)
|
||||
return def()
|
||||
}
|
||||
|
||||
function assertDefined(name: string, def?: DynamicDefaultFunc): asserts def is DynamicDefaultFunc {
|
||||
if (!def) throw new Error(`invalid "dynamicDefaults" keyword property value: ${name}`)
|
||||
}
|
||||
|
||||
export default getDef
|
||||
module.exports = getDef
|
||||
8
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/exclusiveRange.ts
generated
vendored
Normal file
8
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/exclusiveRange.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import type {MacroKeywordDefinition} from "ajv"
|
||||
import type {GetDefinition} from "./_types"
|
||||
import getRangeDef from "./_range"
|
||||
|
||||
const getDef: GetDefinition<MacroKeywordDefinition> = getRangeDef("exclusiveRange")
|
||||
|
||||
export default getDef
|
||||
module.exports = getDef
|
||||
61
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/index.ts
generated
vendored
Normal file
61
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/index.ts
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
import type {Vocabulary, KeywordDefinition, ErrorNoParams} from "ajv"
|
||||
import type {DefinitionOptions, GetDefinition} from "./_types"
|
||||
import typeofDef from "./typeof"
|
||||
import instanceofDef from "./instanceof"
|
||||
import range from "./range"
|
||||
import exclusiveRange from "./exclusiveRange"
|
||||
import regexp from "./regexp"
|
||||
import transform from "./transform"
|
||||
import uniqueItemProperties from "./uniqueItemProperties"
|
||||
import allRequired from "./allRequired"
|
||||
import anyRequired from "./anyRequired"
|
||||
import oneRequired from "./oneRequired"
|
||||
import patternRequired, {PatternRequiredError} from "./patternRequired"
|
||||
import prohibited from "./prohibited"
|
||||
import deepProperties from "./deepProperties"
|
||||
import deepRequired from "./deepRequired"
|
||||
import dynamicDefaults from "./dynamicDefaults"
|
||||
import selectDef, {SelectError} from "./select"
|
||||
|
||||
const definitions: GetDefinition<KeywordDefinition>[] = [
|
||||
typeofDef,
|
||||
instanceofDef,
|
||||
range,
|
||||
exclusiveRange,
|
||||
regexp,
|
||||
transform,
|
||||
uniqueItemProperties,
|
||||
allRequired,
|
||||
anyRequired,
|
||||
oneRequired,
|
||||
patternRequired,
|
||||
prohibited,
|
||||
deepProperties,
|
||||
deepRequired,
|
||||
dynamicDefaults,
|
||||
]
|
||||
|
||||
export default function ajvKeywords(opts?: DefinitionOptions): Vocabulary {
|
||||
return definitions.map((d) => d(opts)).concat(selectDef(opts))
|
||||
}
|
||||
|
||||
export type AjvKeywordsError =
|
||||
| PatternRequiredError
|
||||
| SelectError
|
||||
| ErrorNoParams<
|
||||
| "range"
|
||||
| "exclusiveRange"
|
||||
| "anyRequired"
|
||||
| "oneRequired"
|
||||
| "allRequired"
|
||||
| "deepProperties"
|
||||
| "deepRequired"
|
||||
| "dynamicDefaults"
|
||||
| "instanceof"
|
||||
| "prohibited"
|
||||
| "regexp"
|
||||
| "transform"
|
||||
| "uniqueItemProperties"
|
||||
>
|
||||
|
||||
module.exports = ajvKeywords
|
||||
61
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/instanceof.ts
generated
vendored
Normal file
61
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/instanceof.ts
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
import type {FuncKeywordDefinition} from "ajv"
|
||||
|
||||
type Constructor = new (...args: any[]) => any
|
||||
|
||||
const CONSTRUCTORS: Record<string, Constructor | undefined> = {
|
||||
Object,
|
||||
Array,
|
||||
Function,
|
||||
Number,
|
||||
String,
|
||||
Date,
|
||||
RegExp,
|
||||
}
|
||||
|
||||
/* istanbul ignore else */
|
||||
if (typeof Buffer != "undefined") CONSTRUCTORS.Buffer = Buffer
|
||||
|
||||
/* istanbul ignore else */
|
||||
if (typeof Promise != "undefined") CONSTRUCTORS.Promise = Promise
|
||||
|
||||
const getDef: (() => FuncKeywordDefinition) & {
|
||||
CONSTRUCTORS: typeof CONSTRUCTORS
|
||||
} = Object.assign(_getDef, {CONSTRUCTORS})
|
||||
|
||||
function _getDef(): FuncKeywordDefinition {
|
||||
return {
|
||||
keyword: "instanceof",
|
||||
schemaType: ["string", "array"],
|
||||
compile(schema: string | string[]) {
|
||||
if (typeof schema == "string") {
|
||||
const C = getConstructor(schema)
|
||||
return (data) => data instanceof C
|
||||
}
|
||||
|
||||
if (Array.isArray(schema)) {
|
||||
const constructors = schema.map(getConstructor)
|
||||
return (data) => {
|
||||
for (const C of constructors) {
|
||||
if (data instanceof C) return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
/* istanbul ignore next */
|
||||
throw new Error("ajv implementation error")
|
||||
},
|
||||
metaSchema: {
|
||||
anyOf: [{type: "string"}, {type: "array", items: {type: "string"}}],
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function getConstructor(c: string): Constructor {
|
||||
const C = CONSTRUCTORS[c]
|
||||
if (C) return C
|
||||
throw new Error(`invalid "instanceof" keyword value ${c}`)
|
||||
}
|
||||
|
||||
export default getDef
|
||||
module.exports = getDef
|
||||
8
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/oneRequired.ts
generated
vendored
Normal file
8
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/oneRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import type {MacroKeywordDefinition} from "ajv"
|
||||
import type {GetDefinition} from "./_types"
|
||||
import getRequiredDef from "./_required"
|
||||
|
||||
const getDef: GetDefinition<MacroKeywordDefinition> = getRequiredDef("oneRequired")
|
||||
|
||||
export default getDef
|
||||
module.exports = getDef
|
||||
46
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/patternRequired.ts
generated
vendored
Normal file
46
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/patternRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
import type {CodeKeywordDefinition, KeywordCxt, KeywordErrorDefinition, ErrorObject} from "ajv"
|
||||
import {_, str, and} from "ajv/dist/compile/codegen"
|
||||
import {usePattern} from "./_util"
|
||||
|
||||
export type PatternRequiredError = ErrorObject<"patternRequired", {missingPattern: string}>
|
||||
|
||||
const error: KeywordErrorDefinition = {
|
||||
message: ({params: {missingPattern}}) =>
|
||||
str`should have property matching pattern '${missingPattern}'`,
|
||||
params: ({params: {missingPattern}}) => _`{missingPattern: ${missingPattern}}`,
|
||||
}
|
||||
|
||||
export default function getDef(): CodeKeywordDefinition {
|
||||
return {
|
||||
keyword: "patternRequired",
|
||||
type: "object",
|
||||
schemaType: "array",
|
||||
error,
|
||||
code(cxt: KeywordCxt) {
|
||||
const {gen, schema, data} = cxt
|
||||
if (schema.length === 0) return
|
||||
const valid = gen.let("valid", true)
|
||||
for (const pat of schema) validateProperties(pat)
|
||||
|
||||
function validateProperties(pattern: string): void {
|
||||
const matched = gen.let("matched", false)
|
||||
|
||||
gen.forIn("key", data, (key) => {
|
||||
gen.assign(matched, _`${usePattern(cxt, pattern)}.test(${key})`)
|
||||
gen.if(matched, () => gen.break())
|
||||
})
|
||||
|
||||
cxt.setParams({missingPattern: pattern})
|
||||
gen.assign(valid, and(valid, matched))
|
||||
cxt.pass(valid)
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: {type: "string", format: "regex"},
|
||||
uniqueItems: true,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = getDef
|
||||
20
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/prohibited.ts
generated
vendored
Normal file
20
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/prohibited.ts
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import type {MacroKeywordDefinition} from "ajv"
|
||||
|
||||
export default function getDef(): MacroKeywordDefinition {
|
||||
return {
|
||||
keyword: "prohibited",
|
||||
type: "object",
|
||||
schemaType: "array",
|
||||
macro: function (schema: string[]) {
|
||||
if (schema.length === 0) return true
|
||||
if (schema.length === 1) return {not: {required: schema}}
|
||||
return {not: {anyOf: schema.map((p) => ({required: [p]}))}}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: {type: "string"},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = getDef
|
||||
8
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/range.ts
generated
vendored
Normal file
8
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/range.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import type {MacroKeywordDefinition} from "ajv"
|
||||
import type {GetDefinition} from "./_types"
|
||||
import getRangeDef from "./_range"
|
||||
|
||||
const getDef: GetDefinition<MacroKeywordDefinition> = getRangeDef("range")
|
||||
|
||||
export default getDef
|
||||
module.exports = getDef
|
||||
45
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/regexp.ts
generated
vendored
Normal file
45
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/regexp.ts
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
import type {CodeKeywordDefinition, KeywordCxt, JSONSchemaType, Name} from "ajv"
|
||||
import {_} from "ajv/dist/compile/codegen"
|
||||
import {usePattern} from "./_util"
|
||||
|
||||
interface RegexpSchema {
|
||||
pattern: string
|
||||
flags?: string
|
||||
}
|
||||
|
||||
const regexpMetaSchema: JSONSchemaType<RegexpSchema> = {
|
||||
type: "object",
|
||||
properties: {
|
||||
pattern: {type: "string"},
|
||||
flags: {type: "string", nullable: true},
|
||||
},
|
||||
required: ["pattern"],
|
||||
additionalProperties: false,
|
||||
}
|
||||
|
||||
const metaRegexp = /^\/(.*)\/([gimuy]*)$/
|
||||
|
||||
export default function getDef(): CodeKeywordDefinition {
|
||||
return {
|
||||
keyword: "regexp",
|
||||
type: "string",
|
||||
schemaType: ["string", "object"],
|
||||
code(cxt: KeywordCxt) {
|
||||
const {data, schema} = cxt
|
||||
const regx = getRegExp(schema)
|
||||
cxt.pass(_`${regx}.test(${data})`)
|
||||
|
||||
function getRegExp(sch: string | RegexpSchema): Name {
|
||||
if (typeof sch == "object") return usePattern(cxt, sch.pattern, sch.flags)
|
||||
const rx = metaRegexp.exec(sch)
|
||||
if (rx) return usePattern(cxt, rx[1], rx[2])
|
||||
throw new Error("cannot parse string into RegExp")
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
anyOf: [{type: "string"}, regexpMetaSchema],
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = getDef
|
||||
69
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/select.ts
generated
vendored
Normal file
69
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/select.ts
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
import type {KeywordDefinition, KeywordErrorDefinition, KeywordCxt, ErrorObject} from "ajv"
|
||||
import {_, str, nil, Name} from "ajv/dist/compile/codegen"
|
||||
import type {DefinitionOptions} from "./_types"
|
||||
import {metaSchemaRef} from "./_util"
|
||||
|
||||
export type SelectError = ErrorObject<"select", {failingCase?: string; failingDefault?: true}>
|
||||
|
||||
const error: KeywordErrorDefinition = {
|
||||
message: ({params: {schemaProp}}) =>
|
||||
schemaProp
|
||||
? str`should match case "${schemaProp}" schema`
|
||||
: str`should match default case schema`,
|
||||
params: ({params: {schemaProp}}) =>
|
||||
schemaProp ? _`{failingCase: ${schemaProp}}` : _`{failingDefault: true}`,
|
||||
}
|
||||
|
||||
export default function getDef(opts?: DefinitionOptions): KeywordDefinition[] {
|
||||
const metaSchema = metaSchemaRef(opts)
|
||||
|
||||
return [
|
||||
{
|
||||
keyword: "select",
|
||||
schemaType: ["string", "number", "boolean", "null"],
|
||||
$data: true,
|
||||
error,
|
||||
dependencies: ["selectCases"],
|
||||
code(cxt: KeywordCxt) {
|
||||
const {gen, schemaCode, parentSchema} = cxt
|
||||
cxt.block$data(nil, () => {
|
||||
const valid = gen.let("valid", true)
|
||||
const schValid = gen.name("_valid")
|
||||
const value = gen.const("value", _`${schemaCode} === null ? "null" : ${schemaCode}`)
|
||||
gen.if(false) // optimizer should remove it from generated code
|
||||
for (const schemaProp in parentSchema.selectCases) {
|
||||
cxt.setParams({schemaProp})
|
||||
gen.elseIf(_`"" + ${value} == ${schemaProp}`) // intentional ==, to match numbers and booleans
|
||||
const schCxt = cxt.subschema({keyword: "selectCases", schemaProp}, schValid)
|
||||
cxt.mergeEvaluated(schCxt, Name)
|
||||
gen.assign(valid, schValid)
|
||||
}
|
||||
gen.else()
|
||||
if (parentSchema.selectDefault !== undefined) {
|
||||
cxt.setParams({schemaProp: undefined})
|
||||
const schCxt = cxt.subschema({keyword: "selectDefault"}, schValid)
|
||||
cxt.mergeEvaluated(schCxt, Name)
|
||||
gen.assign(valid, schValid)
|
||||
}
|
||||
gen.endIf()
|
||||
cxt.pass(valid)
|
||||
})
|
||||
},
|
||||
},
|
||||
{
|
||||
keyword: "selectCases",
|
||||
dependencies: ["select"],
|
||||
metaSchema: {
|
||||
type: "object",
|
||||
additionalProperties: metaSchema,
|
||||
},
|
||||
},
|
||||
{
|
||||
keyword: "selectDefault",
|
||||
dependencies: ["select", "selectCases"],
|
||||
metaSchema,
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
module.exports = getDef
|
||||
98
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/transform.ts
generated
vendored
Normal file
98
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/transform.ts
generated
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
import type {CodeKeywordDefinition, AnySchemaObject, KeywordCxt, Code, Name} from "ajv"
|
||||
import {_, stringify, getProperty} from "ajv/dist/compile/codegen"
|
||||
|
||||
type TransformName =
|
||||
| "trimStart"
|
||||
| "trimEnd"
|
||||
| "trimLeft"
|
||||
| "trimRight"
|
||||
| "trim"
|
||||
| "toLowerCase"
|
||||
| "toUpperCase"
|
||||
| "toEnumCase"
|
||||
|
||||
interface TransformConfig {
|
||||
hash: Record<string, string | undefined>
|
||||
}
|
||||
|
||||
type Transform = (s: string, cfg?: TransformConfig) => string
|
||||
|
||||
const transform: {[key in TransformName]: Transform} = {
|
||||
trimStart: (s) => s.trimStart(),
|
||||
trimEnd: (s) => s.trimEnd(),
|
||||
trimLeft: (s) => s.trimStart(),
|
||||
trimRight: (s) => s.trimEnd(),
|
||||
trim: (s) => s.trim(),
|
||||
toLowerCase: (s) => s.toLowerCase(),
|
||||
toUpperCase: (s) => s.toUpperCase(),
|
||||
toEnumCase: (s, cfg) => cfg?.hash[configKey(s)] || s,
|
||||
}
|
||||
|
||||
const getDef: (() => CodeKeywordDefinition) & {
|
||||
transform: typeof transform
|
||||
} = Object.assign(_getDef, {transform})
|
||||
|
||||
function _getDef(): CodeKeywordDefinition {
|
||||
return {
|
||||
keyword: "transform",
|
||||
schemaType: "array",
|
||||
before: "enum",
|
||||
code(cxt: KeywordCxt) {
|
||||
const {gen, data, schema, parentSchema, it} = cxt
|
||||
const {parentData, parentDataProperty} = it
|
||||
const tNames: string[] = schema
|
||||
if (!tNames.length) return
|
||||
let cfg: Name | undefined
|
||||
if (tNames.includes("toEnumCase")) {
|
||||
const config = getEnumCaseCfg(parentSchema)
|
||||
cfg = gen.scopeValue("obj", {ref: config, code: stringify(config)})
|
||||
}
|
||||
gen.if(_`typeof ${data} == "string" && ${parentData} !== undefined`, () => {
|
||||
gen.assign(data, transformExpr(tNames.slice()))
|
||||
gen.assign(_`${parentData}[${parentDataProperty}]`, data)
|
||||
})
|
||||
|
||||
function transformExpr(ts: string[]): Code {
|
||||
if (!ts.length) return data
|
||||
const t = ts.pop() as string
|
||||
if (!(t in transform)) throw new Error(`transform: unknown transformation ${t}`)
|
||||
const func = gen.scopeValue("func", {
|
||||
ref: transform[t as TransformName],
|
||||
code: _`require("ajv-keywords/dist/definitions/transform").transform${getProperty(t)}`,
|
||||
})
|
||||
const arg = transformExpr(ts)
|
||||
return cfg && t === "toEnumCase" ? _`${func}(${arg}, ${cfg})` : _`${func}(${arg})`
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: {type: "string", enum: Object.keys(transform)},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function getEnumCaseCfg(parentSchema: AnySchemaObject): TransformConfig {
|
||||
// build hash table to enum values
|
||||
const cfg: TransformConfig = {hash: {}}
|
||||
|
||||
// requires `enum` in the same schema as transform
|
||||
if (!parentSchema.enum) throw new Error('transform: "toEnumCase" requires "enum"')
|
||||
for (const v of parentSchema.enum) {
|
||||
if (typeof v !== "string") continue
|
||||
const k = configKey(v)
|
||||
// requires all `enum` values have unique keys
|
||||
if (cfg.hash[k]) {
|
||||
throw new Error('transform: "toEnumCase" requires all lowercased "enum" values to be unique')
|
||||
}
|
||||
cfg.hash[k] = v
|
||||
}
|
||||
|
||||
return cfg
|
||||
}
|
||||
|
||||
function configKey(s: string): string {
|
||||
return s.toLowerCase()
|
||||
}
|
||||
|
||||
export default getDef
|
||||
module.exports = getDef
|
||||
27
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/typeof.ts
generated
vendored
Normal file
27
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/typeof.ts
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
import type {CodeKeywordDefinition, KeywordCxt} from "ajv"
|
||||
import {_} from "ajv/dist/compile/codegen"
|
||||
|
||||
const TYPES = ["undefined", "string", "number", "object", "function", "boolean", "symbol"]
|
||||
|
||||
export default function getDef(): CodeKeywordDefinition {
|
||||
return {
|
||||
keyword: "typeof",
|
||||
schemaType: ["string", "array"],
|
||||
code(cxt: KeywordCxt) {
|
||||
const {data, schema, schemaValue} = cxt
|
||||
cxt.fail(
|
||||
typeof schema == "string"
|
||||
? _`typeof ${data} != ${schema}`
|
||||
: _`${schemaValue}.indexOf(typeof ${data}) < 0`
|
||||
)
|
||||
},
|
||||
metaSchema: {
|
||||
anyOf: [
|
||||
{type: "string", enum: TYPES},
|
||||
{type: "array", items: {type: "string", enum: TYPES}},
|
||||
],
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = getDef
|
||||
58
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/uniqueItemProperties.ts
generated
vendored
Normal file
58
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/definitions/uniqueItemProperties.ts
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
import type {FuncKeywordDefinition, AnySchemaObject} from "ajv"
|
||||
import equal = require("fast-deep-equal")
|
||||
|
||||
const SCALAR_TYPES = ["number", "integer", "string", "boolean", "null"]
|
||||
|
||||
export default function getDef(): FuncKeywordDefinition {
|
||||
return {
|
||||
keyword: "uniqueItemProperties",
|
||||
type: "array",
|
||||
schemaType: "array",
|
||||
compile(keys: string[], parentSchema: AnySchemaObject) {
|
||||
const scalar = getScalarKeys(keys, parentSchema)
|
||||
|
||||
return (data) => {
|
||||
if (data.length <= 1) return true
|
||||
for (let k = 0; k < keys.length; k++) {
|
||||
const key = keys[k]
|
||||
if (scalar[k]) {
|
||||
const hash: Record<string, any> = {}
|
||||
for (const x of data) {
|
||||
if (!x || typeof x != "object") continue
|
||||
let p = x[key]
|
||||
if (p && typeof p == "object") continue
|
||||
if (typeof p == "string") p = '"' + p
|
||||
if (hash[p]) return false
|
||||
hash[p] = true
|
||||
}
|
||||
} else {
|
||||
for (let i = data.length; i--; ) {
|
||||
const x = data[i]
|
||||
if (!x || typeof x != "object") continue
|
||||
for (let j = i; j--; ) {
|
||||
const y = data[j]
|
||||
if (y && typeof y == "object" && equal(x[key], y[key])) return false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
},
|
||||
metaSchema: {
|
||||
type: "array",
|
||||
items: {type: "string"},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function getScalarKeys(keys: string[], schema: AnySchemaObject): boolean[] {
|
||||
return keys.map((key) => {
|
||||
const t = schema.items?.properties?.[key]?.type
|
||||
return Array.isArray(t)
|
||||
? !t.includes("object") && !t.includes("array")
|
||||
: SCALAR_TYPES.includes(t)
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = getDef
|
||||
32
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/index.ts
generated
vendored
Normal file
32
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/index.ts
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
import type Ajv from "ajv"
|
||||
import type {Plugin} from "ajv"
|
||||
import plugins from "./keywords"
|
||||
|
||||
export {AjvKeywordsError} from "./definitions"
|
||||
|
||||
const ajvKeywords: Plugin<string | string[]> = (ajv: Ajv, keyword?: string | string[]): Ajv => {
|
||||
if (Array.isArray(keyword)) {
|
||||
for (const k of keyword) get(k)(ajv)
|
||||
return ajv
|
||||
}
|
||||
if (keyword) {
|
||||
get(keyword)(ajv)
|
||||
return ajv
|
||||
}
|
||||
for (keyword in plugins) get(keyword)(ajv)
|
||||
return ajv
|
||||
}
|
||||
|
||||
ajvKeywords.get = get
|
||||
|
||||
function get(keyword: string): Plugin<any> {
|
||||
const defFunc = plugins[keyword]
|
||||
if (!defFunc) throw new Error("Unknown keyword " + keyword)
|
||||
return defFunc
|
||||
}
|
||||
|
||||
export default ajvKeywords
|
||||
module.exports = ajvKeywords
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
||||
module.exports.default = ajvKeywords
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/allRequired.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/allRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/allRequired"
|
||||
|
||||
const allRequired: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default allRequired
|
||||
module.exports = allRequired
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/anyRequired.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/anyRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/anyRequired"
|
||||
|
||||
const anyRequired: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default anyRequired
|
||||
module.exports = anyRequired
|
||||
9
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/deepProperties.ts
generated
vendored
Normal file
9
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/deepProperties.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/deepProperties"
|
||||
import type {DefinitionOptions} from "../definitions/_types"
|
||||
|
||||
const deepProperties: Plugin<DefinitionOptions> = (ajv, opts?: DefinitionOptions) =>
|
||||
ajv.addKeyword(getDef(opts))
|
||||
|
||||
export default deepProperties
|
||||
module.exports = deepProperties
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/deepRequired.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/deepRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/deepRequired"
|
||||
|
||||
const deepRequired: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default deepRequired
|
||||
module.exports = deepRequired
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/dynamicDefaults.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/dynamicDefaults.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/dynamicDefaults"
|
||||
|
||||
const dynamicDefaults: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default dynamicDefaults
|
||||
module.exports = dynamicDefaults
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/exclusiveRange.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/exclusiveRange.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/exclusiveRange"
|
||||
|
||||
const exclusiveRange: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default exclusiveRange
|
||||
module.exports = exclusiveRange
|
||||
40
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/index.ts
generated
vendored
Normal file
40
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/index.ts
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import typeofPlugin from "./typeof"
|
||||
import instanceofPlugin from "./instanceof"
|
||||
import range from "./range"
|
||||
import exclusiveRange from "./exclusiveRange"
|
||||
import regexp from "./regexp"
|
||||
import transform from "./transform"
|
||||
import uniqueItemProperties from "./uniqueItemProperties"
|
||||
import allRequired from "./allRequired"
|
||||
import anyRequired from "./anyRequired"
|
||||
import oneRequired from "./oneRequired"
|
||||
import patternRequired from "./patternRequired"
|
||||
import prohibited from "./prohibited"
|
||||
import deepProperties from "./deepProperties"
|
||||
import deepRequired from "./deepRequired"
|
||||
import dynamicDefaults from "./dynamicDefaults"
|
||||
import select from "./select"
|
||||
|
||||
// TODO type
|
||||
const ajvKeywords: Record<string, Plugin<any> | undefined> = {
|
||||
typeof: typeofPlugin,
|
||||
instanceof: instanceofPlugin,
|
||||
range,
|
||||
exclusiveRange,
|
||||
regexp,
|
||||
transform,
|
||||
uniqueItemProperties,
|
||||
allRequired,
|
||||
anyRequired,
|
||||
oneRequired,
|
||||
patternRequired,
|
||||
prohibited,
|
||||
deepProperties,
|
||||
deepRequired,
|
||||
dynamicDefaults,
|
||||
select,
|
||||
}
|
||||
|
||||
export default ajvKeywords
|
||||
module.exports = ajvKeywords
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/instanceof.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/instanceof.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/instanceof"
|
||||
|
||||
const instanceofPlugin: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default instanceofPlugin
|
||||
module.exports = instanceofPlugin
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/oneRequired.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/oneRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/oneRequired"
|
||||
|
||||
const oneRequired: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default oneRequired
|
||||
module.exports = oneRequired
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/patternRequired.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/patternRequired.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/patternRequired"
|
||||
|
||||
const patternRequired: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default patternRequired
|
||||
module.exports = patternRequired
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/prohibited.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/prohibited.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/prohibited"
|
||||
|
||||
const prohibited: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default prohibited
|
||||
module.exports = prohibited
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/range.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/range.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/range"
|
||||
|
||||
const range: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default range
|
||||
module.exports = range
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/regexp.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/regexp.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/regexp"
|
||||
|
||||
const regexp: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default regexp
|
||||
module.exports = regexp
|
||||
11
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/select.ts
generated
vendored
Normal file
11
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/select.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDefs from "../definitions/select"
|
||||
import type {DefinitionOptions} from "../definitions/_types"
|
||||
|
||||
const select: Plugin<DefinitionOptions> = (ajv, opts?: DefinitionOptions) => {
|
||||
getDefs(opts).forEach((d) => ajv.addKeyword(d))
|
||||
return ajv
|
||||
}
|
||||
|
||||
export default select
|
||||
module.exports = select
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/transform.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/transform.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/transform"
|
||||
|
||||
const transform: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default transform
|
||||
module.exports = transform
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/typeof.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/typeof.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/typeof"
|
||||
|
||||
const typeofPlugin: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default typeofPlugin
|
||||
module.exports = typeofPlugin
|
||||
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/uniqueItemProperties.ts
generated
vendored
Normal file
7
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv-keywords/src/keywords/uniqueItemProperties.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type {Plugin} from "ajv"
|
||||
import getDef from "../definitions/uniqueItemProperties"
|
||||
|
||||
const uniqueItemProperties: Plugin<undefined> = (ajv) => ajv.addKeyword(getDef())
|
||||
|
||||
export default uniqueItemProperties
|
||||
module.exports = uniqueItemProperties
|
||||
23
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv/.runkit_example.js
generated
vendored
Normal file
23
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv/.runkit_example.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
const Ajv = require("ajv")
|
||||
const ajv = new Ajv({allErrors: true})
|
||||
|
||||
const schema = {
|
||||
type: "object",
|
||||
properties: {
|
||||
foo: {type: "string"},
|
||||
bar: {type: "number", maximum: 3},
|
||||
},
|
||||
required: ["foo", "bar"],
|
||||
additionalProperties: false,
|
||||
}
|
||||
|
||||
const validate = ajv.compile(schema)
|
||||
|
||||
test({foo: "abc", bar: 2})
|
||||
test({foo: 2, bar: 4})
|
||||
|
||||
function test(data) {
|
||||
const valid = validate(data)
|
||||
if (valid) console.log("Valid!")
|
||||
else console.log("Invalid: " + ajv.errorsText(validate.errors))
|
||||
}
|
||||
22
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv/LICENSE
generated
vendored
Normal file
22
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2021 Evgeny Poberezkin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
193
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv/README.md
generated
vendored
Normal file
193
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv/README.md
generated
vendored
Normal file
@@ -0,0 +1,193 @@
|
||||
<img align="right" alt="Ajv logo" width="160" src="https://ajv.js.org/img/ajv.svg">
|
||||
|
||||
|
||||
|
||||
# Ajv JSON schema validator
|
||||
|
||||
The fastest JSON validator for Node.js and browser.
|
||||
|
||||
Supports JSON Schema draft-04/06/07/2019-09/2020-12 ([draft-04 support](https://ajv.js.org/json-schema.html#draft-04) requires ajv-draft-04 package) and JSON Type Definition [RFC8927](https://datatracker.ietf.org/doc/rfc8927/).
|
||||
|
||||
[](https://github.com/ajv-validator/ajv/actions?query=workflow%3Abuild)
|
||||
[](https://www.npmjs.com/package/ajv)
|
||||
[](https://www.npmjs.com/package/ajv)
|
||||
[](https://coveralls.io/github/ajv-validator/ajv?branch=master)
|
||||
[](https://simplex.chat/contact#/?v=1&smp=smp%3A%2F%2Fu2dS9sG8nMNURyZwqASV4yROM28Er0luVTx5X1CsMrU%3D%40smp4.simplex.im%2Fap4lMFzfXF8Hzmh-Vz0WNxp_1jKiOa-h%23MCowBQYDK2VuAyEAcdefddRvDfI8iAuBpztm_J3qFucj8MDZoVs_2EcMTzU%3D)
|
||||
[](https://gitter.im/ajv-validator/ajv)
|
||||
[](https://github.com/sponsors/epoberezkin)
|
||||
|
||||
## Ajv sponsors
|
||||
|
||||
[<img src="https://ajv.js.org/img/mozilla.svg" width="45%" alt="Mozilla">](https://www.mozilla.org)<img src="https://ajv.js.org/img/gap.svg" width="9%">[<img src="https://ajv.js.org/img/reserved.svg" width="45%">](https://opencollective.com/ajv)
|
||||
|
||||
[<img src="https://ajv.js.org/img/microsoft.png" width="31%" alt="Microsoft">](https://opensource.microsoft.com)<img src="https://ajv.js.org/img/gap.svg" width="3%">[<img src="https://ajv.js.org/img/reserved.svg" width="31%">](https://opencollective.com/ajv)<img src="https://ajv.js.org/img/gap.svg" width="3%">[<img src="https://ajv.js.org/img/reserved.svg" width="31%">](https://opencollective.com/ajv)
|
||||
|
||||
[<img src="https://ajv.js.org/img/retool.svg" width="22.5%" alt="Retool">](https://retool.com/?utm_source=sponsor&utm_campaign=ajv)<img src="https://ajv.js.org/img/gap.svg" width="3%">[<img src="https://ajv.js.org/img/tidelift.svg" width="22.5%" alt="Tidelift">](https://tidelift.com/subscription/pkg/npm-ajv?utm_source=npm-ajv&utm_medium=referral&utm_campaign=enterprise)<img src="https://ajv.js.org/img/gap.svg" width="3%">[<img src="https://ajv.js.org/img/simplex.svg" width="22.5%" alt="SimpleX">](https://github.com/simplex-chat/simplex-chat)<img src="https://ajv.js.org/img/gap.svg" width="3%">[<img src="https://ajv.js.org/img/reserved.svg" width="22.5%">](https://opencollective.com/ajv)
|
||||
|
||||
## Contributing
|
||||
|
||||
More than 100 people contributed to Ajv, and we would love to have you join the development. We welcome implementing new features that will benefit many users and ideas to improve our documentation.
|
||||
|
||||
Please review [Contributing guidelines](./CONTRIBUTING.md) and [Code components](https://ajv.js.org/components.html).
|
||||
|
||||
## Documentation
|
||||
|
||||
All documentation is available on the [Ajv website](https://ajv.js.org).
|
||||
|
||||
Some useful site links:
|
||||
- [Getting started](https://ajv.js.org/guide/getting-started.html)
|
||||
- [JSON Schema vs JSON Type Definition](https://ajv.js.org/guide/schema-language.html)
|
||||
- [API reference](https://ajv.js.org/api.html)
|
||||
- [Strict mode](https://ajv.js.org/strict-mode.html)
|
||||
- [Standalone validation code](https://ajv.js.org/standalone.html)
|
||||
- [Security considerations](https://ajv.js.org/security.html)
|
||||
- [Command line interface](https://ajv.js.org/packages/ajv-cli.html)
|
||||
- [Frequently Asked Questions](https://ajv.js.org/faq.html)
|
||||
|
||||
## <a name="sponsors"></a>Please [sponsor Ajv development](https://github.com/sponsors/epoberezkin)
|
||||
|
||||
Since I asked to support Ajv development 40 people and 6 organizations contributed via GitHub and OpenCollective - this support helped receiving the MOSS grant!
|
||||
|
||||
Your continuing support is very important - the funds will be used to develop and maintain Ajv once the next major version is released.
|
||||
|
||||
Please sponsor Ajv via:
|
||||
|
||||
- [GitHub sponsors page](https://github.com/sponsors/epoberezkin) (GitHub will match it)
|
||||
- [Ajv Open Collective️](https://opencollective.com/ajv)
|
||||
|
||||
Thank you.
|
||||
|
||||
#### Open Collective sponsors
|
||||
|
||||
<a href="https://opencollective.com/ajv"><img src="https://opencollective.com/ajv/individuals.svg?width=890"></a>
|
||||
|
||||
<a href="https://opencollective.com/ajv/organization/0/website"><img src="https://opencollective.com/ajv/organization/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/1/website"><img src="https://opencollective.com/ajv/organization/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/2/website"><img src="https://opencollective.com/ajv/organization/2/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/3/website"><img src="https://opencollective.com/ajv/organization/3/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/4/website"><img src="https://opencollective.com/ajv/organization/4/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/5/website"><img src="https://opencollective.com/ajv/organization/5/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/6/website"><img src="https://opencollective.com/ajv/organization/6/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/7/website"><img src="https://opencollective.com/ajv/organization/7/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/8/website"><img src="https://opencollective.com/ajv/organization/8/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/9/website"><img src="https://opencollective.com/ajv/organization/9/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/10/website"><img src="https://opencollective.com/ajv/organization/10/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/ajv/organization/11/website"><img src="https://opencollective.com/ajv/organization/11/avatar.svg"></a>
|
||||
|
||||
## Performance
|
||||
|
||||
Ajv generates code to turn JSON Schemas into super-fast validation functions that are efficient for v8 optimization.
|
||||
|
||||
Currently Ajv is the fastest and the most standard compliant validator according to these benchmarks:
|
||||
|
||||
- [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark) - 50% faster than the second place
|
||||
- [jsck benchmark](https://github.com/pandastrike/jsck#benchmarks) - 20-190% faster
|
||||
- [z-schema benchmark](https://rawgit.com/zaggino/z-schema/master/benchmark/results.html)
|
||||
- [themis benchmark](https://cdn.rawgit.com/playlyfe/themis/master/benchmark/results.html)
|
||||
|
||||
Performance of different validators by [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark):
|
||||
|
||||
[](https://github.com/ebdrup/json-schema-benchmark/blob/master/README.md#performance)
|
||||
|
||||
## Features
|
||||
|
||||
- Ajv implements JSON Schema [draft-06/07/2019-09/2020-12](http://json-schema.org/) standards (draft-04 is supported in v6):
|
||||
- all validation keywords (see [JSON Schema validation keywords](https://ajv.js.org/json-schema.html))
|
||||
- [OpenAPI](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md) extensions:
|
||||
- NEW: keyword [discriminator](https://ajv.js.org/json-schema.html#discriminator).
|
||||
- keyword [nullable](https://ajv.js.org/json-schema.html#nullable).
|
||||
- full support of remote references (remote schemas have to be added with `addSchema` or compiled to be available)
|
||||
- support of recursive references between schemas
|
||||
- correct string lengths for strings with unicode pairs
|
||||
- JSON Schema [formats](https://ajv.js.org/guide/formats.html) (with [ajv-formats](https://github.com/ajv-validator/ajv-formats) plugin).
|
||||
- [validates schemas against meta-schema](https://ajv.js.org/api.html#api-validateschema)
|
||||
- NEW: supports [JSON Type Definition](https://datatracker.ietf.org/doc/rfc8927/):
|
||||
- all keywords (see [JSON Type Definition schema forms](https://ajv.js.org/json-type-definition.html))
|
||||
- meta-schema for JTD schemas
|
||||
- "union" keyword and user-defined keywords (can be used inside "metadata" member of the schema)
|
||||
- supports [browsers](https://ajv.js.org/guide/environments.html#browsers) and Node.js 10.x - current
|
||||
- [asynchronous loading](https://ajv.js.org/guide/managing-schemas.html#asynchronous-schema-loading) of referenced schemas during compilation
|
||||
- "All errors" validation mode with [option allErrors](https://ajv.js.org/options.html#allerrors)
|
||||
- [error messages with parameters](https://ajv.js.org/api.html#validation-errors) describing error reasons to allow error message generation
|
||||
- i18n error messages support with [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) package
|
||||
- [removing-additional-properties](https://ajv.js.org/guide/modifying-data.html#removing-additional-properties)
|
||||
- [assigning defaults](https://ajv.js.org/guide/modifying-data.html#assigning-defaults) to missing properties and items
|
||||
- [coercing data](https://ajv.js.org/guide/modifying-data.html#coercing-data-types) to the types specified in `type` keywords
|
||||
- [user-defined keywords](https://ajv.js.org/guide/user-keywords.html)
|
||||
- additional extension keywords with [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package
|
||||
- [\$data reference](https://ajv.js.org/guide/combining-schemas.html#data-reference) to use values from the validated data as values for the schema keywords
|
||||
- [asynchronous validation](https://ajv.js.org/guide/async-validation.html) of user-defined formats and keywords
|
||||
|
||||
## Install
|
||||
|
||||
To install version 8:
|
||||
|
||||
```
|
||||
npm install ajv
|
||||
```
|
||||
|
||||
## <a name="usage"></a>Getting started
|
||||
|
||||
Try it in the Node.js REPL: https://runkit.com/npm/ajv
|
||||
|
||||
In JavaScript:
|
||||
|
||||
```javascript
|
||||
// or ESM/TypeScript import
|
||||
import Ajv from "ajv"
|
||||
// Node.js require:
|
||||
const Ajv = require("ajv")
|
||||
|
||||
const ajv = new Ajv() // options can be passed, e.g. {allErrors: true}
|
||||
|
||||
const schema = {
|
||||
type: "object",
|
||||
properties: {
|
||||
foo: {type: "integer"},
|
||||
bar: {type: "string"}
|
||||
},
|
||||
required: ["foo"],
|
||||
additionalProperties: false,
|
||||
}
|
||||
|
||||
const data = {
|
||||
foo: 1,
|
||||
bar: "abc"
|
||||
}
|
||||
|
||||
const validate = ajv.compile(schema)
|
||||
const valid = validate(data)
|
||||
if (!valid) console.log(validate.errors)
|
||||
```
|
||||
|
||||
Learn how to use Ajv and see more examples in the [Guide: getting started](https://ajv.js.org/guide/getting-started.html)
|
||||
|
||||
## Changes history
|
||||
|
||||
See [https://github.com/ajv-validator/ajv/releases](https://github.com/ajv-validator/ajv/releases)
|
||||
|
||||
**Please note**: [Changes in version 8.0.0](https://github.com/ajv-validator/ajv/releases/tag/v8.0.0)
|
||||
|
||||
[Version 7.0.0](https://github.com/ajv-validator/ajv/releases/tag/v7.0.0)
|
||||
|
||||
[Version 6.0.0](https://github.com/ajv-validator/ajv/releases/tag/v6.0.0).
|
||||
|
||||
## Code of conduct
|
||||
|
||||
Please review and follow the [Code of conduct](./CODE_OF_CONDUCT.md).
|
||||
|
||||
Please report any unacceptable behaviour to ajv.validator@gmail.com - it will be reviewed by the project team.
|
||||
|
||||
## Security contact
|
||||
|
||||
To report a security vulnerability, please use the
|
||||
[Tidelift security contact](https://tidelift.com/security).
|
||||
Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerabilities via GitHub issues.
|
||||
|
||||
## Open-source software support
|
||||
|
||||
Ajv is a part of [Tidelift subscription](https://tidelift.com/subscription/pkg/npm-ajv?utm_source=npm-ajv&utm_medium=referral&utm_campaign=readme) - it provides a centralised support to open-source software users, in addition to the support provided by software maintainers.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](./LICENSE)
|
||||
126
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv/package.json
generated
vendored
Normal file
126
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/ajv/package.json
generated
vendored
Normal file
@@ -0,0 +1,126 @@
|
||||
{
|
||||
"name": "ajv",
|
||||
"version": "8.11.0",
|
||||
"description": "Another JSON Schema Validator",
|
||||
"main": "dist/ajv.js",
|
||||
"types": "dist/ajv.d.ts",
|
||||
"files": [
|
||||
"lib/",
|
||||
"dist/",
|
||||
".runkit_example.js"
|
||||
],
|
||||
"scripts": {
|
||||
"eslint": "eslint \"lib/**/*.ts\" \"spec/**/*.*s\" --ignore-pattern spec/JSON-Schema-Test-Suite",
|
||||
"prettier:write": "prettier --write \"./**/*.{json,yaml,js,ts}\"",
|
||||
"prettier:check": "prettier --list-different \"./**/*.{json,yaml,js,ts}\"",
|
||||
"test-spec": "cross-env TS_NODE_PROJECT=spec/tsconfig.json mocha -r ts-node/register \"spec/**/*.spec.{ts,js}\" -R dot",
|
||||
"test-codegen": "nyc cross-env TS_NODE_PROJECT=spec/tsconfig.json mocha -r ts-node/register 'spec/codegen.spec.ts' -R spec",
|
||||
"test-debug": "npm run test-spec -- --inspect-brk",
|
||||
"test-cov": "nyc npm run test-spec",
|
||||
"rollup": "rm -rf bundle && rollup -c",
|
||||
"bundle": "rm -rf bundle && node ./scripts/bundle.js ajv ajv7 ajv7 && node ./scripts/bundle.js 2019 ajv2019 ajv2019 && node ./scripts/bundle.js 2020 ajv2020 ajv2020 && node ./scripts/bundle.js jtd ajvJTD ajvJTD",
|
||||
"build": "rm -rf dist && tsc && cp -r lib/refs dist && rm dist/refs/json-schema-2019-09/index.ts && rm dist/refs/json-schema-2020-12/index.ts && rm dist/refs/jtd-schema.ts",
|
||||
"json-tests": "rm -rf spec/_json/*.js && node scripts/jsontests",
|
||||
"test-karma": "karma start",
|
||||
"test-browser": "rm -rf .browser && npm run bundle && scripts/prepare-tests && karma start",
|
||||
"test-all": "npm run test-cov && if-node-version 12 npm run test-browser",
|
||||
"test": "npm run json-tests && npm run prettier:check && npm run eslint && npm link && npm link --legacy-peer-deps ajv && npm run test-cov",
|
||||
"test-ci": "AJV_FULL_TEST=true npm test",
|
||||
"prepublish": "npm run build",
|
||||
"benchmark": "npm i && npm run build && npm link && cd ./benchmark && npm link --legacy-peer-deps ajv && npm i && node ./jtd",
|
||||
"docs:dev": "./scripts/prepare-site && vuepress dev docs",
|
||||
"docs:build": "./scripts/prepare-site && vuepress build docs"
|
||||
},
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"**/spec/**",
|
||||
"node_modules"
|
||||
],
|
||||
"reporter": [
|
||||
"lcov",
|
||||
"text-summary"
|
||||
]
|
||||
},
|
||||
"repository": "ajv-validator/ajv",
|
||||
"keywords": [
|
||||
"JSON",
|
||||
"schema",
|
||||
"validator",
|
||||
"validation",
|
||||
"jsonschema",
|
||||
"json-schema",
|
||||
"json-schema-validator",
|
||||
"json-schema-validation"
|
||||
],
|
||||
"author": "Evgeny Poberezkin",
|
||||
"license": "MIT",
|
||||
"bugs": "https://github.com/ajv-validator/ajv/issues",
|
||||
"homepage": "https://ajv.js.org",
|
||||
"runkitExampleFilename": ".runkit_example.js",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ajv-validator/config": "^0.3.0",
|
||||
"@rollup/plugin-commonjs": "^21.0.0",
|
||||
"@rollup/plugin-json": "^4.1.0",
|
||||
"@rollup/plugin-node-resolve": "^13.0.0",
|
||||
"@rollup/plugin-typescript": "^8.2.1",
|
||||
"@types/chai": "^4.2.12",
|
||||
"@types/mocha": "^9.0.0",
|
||||
"@types/node": "^17.0.0",
|
||||
"@types/require-from-string": "^1.2.0",
|
||||
"@typescript-eslint/eslint-plugin": "^3.8.0",
|
||||
"@typescript-eslint/parser": "^3.8.0",
|
||||
"ajv-formats": "^3.0.0-rc.0",
|
||||
"browserify": "^17.0.0",
|
||||
"chai": "^4.0.1",
|
||||
"cross-env": "^7.0.2",
|
||||
"dayjs": "^1.10.4",
|
||||
"dayjs-plugin-utc": "^0.1.2",
|
||||
"eslint": "^7.8.1",
|
||||
"eslint-config-prettier": "^7.0.0",
|
||||
"fast-uri": "^1.0.0",
|
||||
"glob": "^7.0.0",
|
||||
"husky": "^7.0.1",
|
||||
"if-node-version": "^1.0.0",
|
||||
"jimp": "^0.16.1",
|
||||
"js-beautify": "^1.7.3",
|
||||
"json-schema-test": "^2.0.0",
|
||||
"karma": "^6.0.0",
|
||||
"karma-chrome-launcher": "^3.0.0",
|
||||
"karma-mocha": "^2.0.0",
|
||||
"lint-staged": "^12.1.1",
|
||||
"mocha": "^9.0.2",
|
||||
"module-from-string": "^3.1.3",
|
||||
"node-fetch": "^3.0.0",
|
||||
"nyc": "^15.0.0",
|
||||
"prettier": "^2.3.1",
|
||||
"re2": "^1.16.0",
|
||||
"rollup": "^2.44.0",
|
||||
"rollup-plugin-terser": "^7.0.2",
|
||||
"ts-node": "^10.0.0",
|
||||
"tsify": "^5.0.2",
|
||||
"typescript": "^4.2.0"
|
||||
},
|
||||
"collective": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/ajv"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
},
|
||||
"prettier": "@ajv-validator/config/prettierrc.json",
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged && npm test"
|
||||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{json,yaml,js,ts}": "prettier --write"
|
||||
}
|
||||
}
|
||||
27
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/.eslintrc.yml
generated
vendored
Normal file
27
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/.eslintrc.yml
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
extends: eslint:recommended
|
||||
env:
|
||||
node: true
|
||||
browser: true
|
||||
rules:
|
||||
block-scoped-var: 2
|
||||
complexity: [2, 15]
|
||||
curly: [2, multi-or-nest, consistent]
|
||||
dot-location: [2, property]
|
||||
dot-notation: 2
|
||||
indent: [2, 2, SwitchCase: 1]
|
||||
linebreak-style: [2, unix]
|
||||
new-cap: 2
|
||||
no-console: [2, allow: [warn, error]]
|
||||
no-else-return: 2
|
||||
no-eq-null: 2
|
||||
no-fallthrough: 2
|
||||
no-invalid-this: 2
|
||||
no-return-assign: 2
|
||||
no-shadow: 1
|
||||
no-trailing-spaces: 2
|
||||
no-use-before-define: [2, nofunc]
|
||||
quotes: [2, single, avoid-escape]
|
||||
semi: [2, always]
|
||||
strict: [2, global]
|
||||
valid-jsdoc: [2, requireReturn: false]
|
||||
no-control-regex: 0
|
||||
2
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/.github/FUNDING.yml
generated
vendored
Normal file
2
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/.github/FUNDING.yml
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
github: epoberezkin
|
||||
tidelift: "npm/json-schema-traverse"
|
||||
28
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/.github/workflows/build.yml
generated
vendored
Normal file
28
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/.github/workflows/build.yml
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: ["*"]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [10.x, 12.x, 14.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- run: npm install
|
||||
- run: npm test
|
||||
- name: Coveralls
|
||||
uses: coverallsapp/github-action@master
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
27
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/.github/workflows/publish.yml
generated
vendored
Normal file
27
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/.github/workflows/publish.yml
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: publish
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
publish-npm:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: https://registry.npmjs.org/
|
||||
- run: npm install
|
||||
- run: npm test
|
||||
- name: Publish beta version to npm
|
||||
if: "github.event.release.prerelease"
|
||||
run: npm publish --tag beta
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
- name: Publish to npm
|
||||
if: "!github.event.release.prerelease"
|
||||
run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
21
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/LICENSE
generated
vendored
Normal file
21
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Evgeny Poberezkin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
95
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/README.md
generated
vendored
Normal file
95
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/README.md
generated
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
# json-schema-traverse
|
||||
Traverse JSON Schema passing each schema object to callback
|
||||
|
||||
[](https://github.com/epoberezkin/json-schema-traverse/actions?query=workflow%3Abuild)
|
||||
[](https://www.npmjs.com/package/json-schema-traverse)
|
||||
[](https://coveralls.io/github/epoberezkin/json-schema-traverse?branch=master)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
npm install json-schema-traverse
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
const traverse = require('json-schema-traverse');
|
||||
const schema = {
|
||||
properties: {
|
||||
foo: {type: 'string'},
|
||||
bar: {type: 'integer'}
|
||||
}
|
||||
};
|
||||
|
||||
traverse(schema, {cb});
|
||||
// cb is called 3 times with:
|
||||
// 1. root schema
|
||||
// 2. {type: 'string'}
|
||||
// 3. {type: 'integer'}
|
||||
|
||||
// Or:
|
||||
|
||||
traverse(schema, {cb: {pre, post}});
|
||||
// pre is called 3 times with:
|
||||
// 1. root schema
|
||||
// 2. {type: 'string'}
|
||||
// 3. {type: 'integer'}
|
||||
//
|
||||
// post is called 3 times with:
|
||||
// 1. {type: 'string'}
|
||||
// 2. {type: 'integer'}
|
||||
// 3. root schema
|
||||
|
||||
```
|
||||
|
||||
Callback function `cb` is called for each schema object (not including draft-06 boolean schemas), including the root schema, in pre-order traversal. Schema references ($ref) are not resolved, they are passed as is. Alternatively, you can pass a `{pre, post}` object as `cb`, and then `pre` will be called before traversing child elements, and `post` will be called after all child elements have been traversed.
|
||||
|
||||
Callback is passed these parameters:
|
||||
|
||||
- _schema_: the current schema object
|
||||
- _JSON pointer_: from the root schema to the current schema object
|
||||
- _root schema_: the schema passed to `traverse` object
|
||||
- _parent JSON pointer_: from the root schema to the parent schema object (see below)
|
||||
- _parent keyword_: the keyword inside which this schema appears (e.g. `properties`, `anyOf`, etc.)
|
||||
- _parent schema_: not necessarily parent object/array; in the example above the parent schema for `{type: 'string'}` is the root schema
|
||||
- _index/property_: index or property name in the array/object containing multiple schemas; in the example above for `{type: 'string'}` the property name is `'foo'`
|
||||
|
||||
|
||||
## Traverse objects in all unknown keywords
|
||||
|
||||
```javascript
|
||||
const traverse = require('json-schema-traverse');
|
||||
const schema = {
|
||||
mySchema: {
|
||||
minimum: 1,
|
||||
maximum: 2
|
||||
}
|
||||
};
|
||||
|
||||
traverse(schema, {allKeys: true, cb});
|
||||
// cb is called 2 times with:
|
||||
// 1. root schema
|
||||
// 2. mySchema
|
||||
```
|
||||
|
||||
Without option `allKeys: true` callback will be called only with root schema.
|
||||
|
||||
|
||||
## Enterprise support
|
||||
|
||||
json-schema-traverse package is a part of [Tidelift enterprise subscription](https://tidelift.com/subscription/pkg/npm-json-schema-traverse?utm_source=npm-json-schema-traverse&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - it provides a centralised commercial support to open-source software users, in addition to the support provided by software maintainers.
|
||||
|
||||
|
||||
## Security contact
|
||||
|
||||
To report a security vulnerability, please use the
|
||||
[Tidelift security contact](https://tidelift.com/security).
|
||||
Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
[MIT](https://github.com/epoberezkin/json-schema-traverse/blob/master/LICENSE)
|
||||
40
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/index.d.ts
generated
vendored
Normal file
40
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
declare function traverse(
|
||||
schema: traverse.SchemaObject,
|
||||
opts: traverse.Options,
|
||||
cb?: traverse.Callback
|
||||
): void;
|
||||
|
||||
declare function traverse(
|
||||
schema: traverse.SchemaObject,
|
||||
cb: traverse.Callback
|
||||
): void;
|
||||
|
||||
declare namespace traverse {
|
||||
interface SchemaObject {
|
||||
$id?: string;
|
||||
$schema?: string;
|
||||
[x: string]: any;
|
||||
}
|
||||
|
||||
type Callback = (
|
||||
schema: SchemaObject,
|
||||
jsonPtr: string,
|
||||
rootSchema: SchemaObject,
|
||||
parentJsonPtr?: string,
|
||||
parentKeyword?: string,
|
||||
parentSchema?: SchemaObject,
|
||||
keyIndex?: string | number
|
||||
) => void;
|
||||
|
||||
interface Options {
|
||||
allKeys?: boolean;
|
||||
cb?:
|
||||
| Callback
|
||||
| {
|
||||
pre?: Callback;
|
||||
post?: Callback;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export = traverse;
|
||||
93
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/index.js
generated
vendored
Normal file
93
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/index.js
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
'use strict';
|
||||
|
||||
var traverse = module.exports = function (schema, opts, cb) {
|
||||
// Legacy support for v0.3.1 and earlier.
|
||||
if (typeof opts == 'function') {
|
||||
cb = opts;
|
||||
opts = {};
|
||||
}
|
||||
|
||||
cb = opts.cb || cb;
|
||||
var pre = (typeof cb == 'function') ? cb : cb.pre || function() {};
|
||||
var post = cb.post || function() {};
|
||||
|
||||
_traverse(opts, pre, post, schema, '', schema);
|
||||
};
|
||||
|
||||
|
||||
traverse.keywords = {
|
||||
additionalItems: true,
|
||||
items: true,
|
||||
contains: true,
|
||||
additionalProperties: true,
|
||||
propertyNames: true,
|
||||
not: true,
|
||||
if: true,
|
||||
then: true,
|
||||
else: true
|
||||
};
|
||||
|
||||
traverse.arrayKeywords = {
|
||||
items: true,
|
||||
allOf: true,
|
||||
anyOf: true,
|
||||
oneOf: true
|
||||
};
|
||||
|
||||
traverse.propsKeywords = {
|
||||
$defs: true,
|
||||
definitions: true,
|
||||
properties: true,
|
||||
patternProperties: true,
|
||||
dependencies: true
|
||||
};
|
||||
|
||||
traverse.skipKeywords = {
|
||||
default: true,
|
||||
enum: true,
|
||||
const: true,
|
||||
required: true,
|
||||
maximum: true,
|
||||
minimum: true,
|
||||
exclusiveMaximum: true,
|
||||
exclusiveMinimum: true,
|
||||
multipleOf: true,
|
||||
maxLength: true,
|
||||
minLength: true,
|
||||
pattern: true,
|
||||
format: true,
|
||||
maxItems: true,
|
||||
minItems: true,
|
||||
uniqueItems: true,
|
||||
maxProperties: true,
|
||||
minProperties: true
|
||||
};
|
||||
|
||||
|
||||
function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {
|
||||
if (schema && typeof schema == 'object' && !Array.isArray(schema)) {
|
||||
pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
|
||||
for (var key in schema) {
|
||||
var sch = schema[key];
|
||||
if (Array.isArray(sch)) {
|
||||
if (key in traverse.arrayKeywords) {
|
||||
for (var i=0; i<sch.length; i++)
|
||||
_traverse(opts, pre, post, sch[i], jsonPtr + '/' + key + '/' + i, rootSchema, jsonPtr, key, schema, i);
|
||||
}
|
||||
} else if (key in traverse.propsKeywords) {
|
||||
if (sch && typeof sch == 'object') {
|
||||
for (var prop in sch)
|
||||
_traverse(opts, pre, post, sch[prop], jsonPtr + '/' + key + '/' + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema, prop);
|
||||
}
|
||||
} else if (key in traverse.keywords || (opts.allKeys && !(key in traverse.skipKeywords))) {
|
||||
_traverse(opts, pre, post, sch, jsonPtr + '/' + key, rootSchema, jsonPtr, key, schema);
|
||||
}
|
||||
}
|
||||
post(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function escapeJsonPtr(str) {
|
||||
return str.replace(/~/g, '~0').replace(/\//g, '~1');
|
||||
}
|
||||
43
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/package.json
generated
vendored
Normal file
43
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/package.json
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "json-schema-traverse",
|
||||
"version": "1.0.0",
|
||||
"description": "Traverse JSON Schema passing each schema object to callback",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"scripts": {
|
||||
"eslint": "eslint index.js spec",
|
||||
"test-spec": "mocha spec -R spec",
|
||||
"test": "npm run eslint && nyc npm run test-spec"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/epoberezkin/json-schema-traverse.git"
|
||||
},
|
||||
"keywords": [
|
||||
"JSON-Schema",
|
||||
"traverse",
|
||||
"iterate"
|
||||
],
|
||||
"author": "Evgeny Poberezkin",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/epoberezkin/json-schema-traverse/issues"
|
||||
},
|
||||
"homepage": "https://github.com/epoberezkin/json-schema-traverse#readme",
|
||||
"devDependencies": {
|
||||
"eslint": "^7.3.1",
|
||||
"mocha": "^8.0.1",
|
||||
"nyc": "^15.0.0",
|
||||
"pre-commit": "^1.2.2"
|
||||
},
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"**/spec/**",
|
||||
"node_modules"
|
||||
],
|
||||
"reporter": [
|
||||
"lcov",
|
||||
"text-summary"
|
||||
]
|
||||
}
|
||||
}
|
||||
6
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/spec/.eslintrc.yml
generated
vendored
Normal file
6
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/spec/.eslintrc.yml
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
parserOptions:
|
||||
ecmaVersion: 6
|
||||
globals:
|
||||
beforeEach: false
|
||||
describe: false
|
||||
it: false
|
||||
125
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/spec/fixtures/schema.js
generated
vendored
Normal file
125
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/spec/fixtures/schema.js
generated
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
'use strict';
|
||||
|
||||
var schema = {
|
||||
additionalItems: subschema('additionalItems'),
|
||||
items: subschema('items'),
|
||||
contains: subschema('contains'),
|
||||
additionalProperties: subschema('additionalProperties'),
|
||||
propertyNames: subschema('propertyNames'),
|
||||
not: subschema('not'),
|
||||
allOf: [
|
||||
subschema('allOf_0'),
|
||||
subschema('allOf_1'),
|
||||
{
|
||||
items: [
|
||||
subschema('items_0'),
|
||||
subschema('items_1'),
|
||||
]
|
||||
}
|
||||
],
|
||||
anyOf: [
|
||||
subschema('anyOf_0'),
|
||||
subschema('anyOf_1'),
|
||||
],
|
||||
oneOf: [
|
||||
subschema('oneOf_0'),
|
||||
subschema('oneOf_1'),
|
||||
],
|
||||
definitions: {
|
||||
foo: subschema('definitions_foo'),
|
||||
bar: subschema('definitions_bar'),
|
||||
},
|
||||
properties: {
|
||||
foo: subschema('properties_foo'),
|
||||
bar: subschema('properties_bar'),
|
||||
},
|
||||
patternProperties: {
|
||||
foo: subschema('patternProperties_foo'),
|
||||
bar: subschema('patternProperties_bar'),
|
||||
},
|
||||
dependencies: {
|
||||
foo: subschema('dependencies_foo'),
|
||||
bar: subschema('dependencies_bar'),
|
||||
},
|
||||
required: ['foo', 'bar']
|
||||
};
|
||||
|
||||
|
||||
function subschema(keyword) {
|
||||
var sch = {
|
||||
properties: {},
|
||||
additionalProperties: false,
|
||||
additionalItems: false,
|
||||
anyOf: [
|
||||
{format: 'email'},
|
||||
{format: 'hostname'}
|
||||
]
|
||||
};
|
||||
sch.properties['foo_' + keyword] = {title: 'foo'};
|
||||
sch.properties['bar_' + keyword] = {title: 'bar'};
|
||||
return sch;
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
schema: schema,
|
||||
|
||||
// schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex
|
||||
expectedCalls: [[schema, '', schema, undefined, undefined, undefined, undefined]]
|
||||
.concat(expectedCalls('additionalItems'))
|
||||
.concat(expectedCalls('items'))
|
||||
.concat(expectedCalls('contains'))
|
||||
.concat(expectedCalls('additionalProperties'))
|
||||
.concat(expectedCalls('propertyNames'))
|
||||
.concat(expectedCalls('not'))
|
||||
.concat(expectedCallsChild('allOf', 0))
|
||||
.concat(expectedCallsChild('allOf', 1))
|
||||
.concat([
|
||||
[schema.allOf[2], '/allOf/2', schema, '', 'allOf', schema, 2],
|
||||
[schema.allOf[2].items[0], '/allOf/2/items/0', schema, '/allOf/2', 'items', schema.allOf[2], 0],
|
||||
[schema.allOf[2].items[0].properties.foo_items_0, '/allOf/2/items/0/properties/foo_items_0', schema, '/allOf/2/items/0', 'properties', schema.allOf[2].items[0], 'foo_items_0'],
|
||||
[schema.allOf[2].items[0].properties.bar_items_0, '/allOf/2/items/0/properties/bar_items_0', schema, '/allOf/2/items/0', 'properties', schema.allOf[2].items[0], 'bar_items_0'],
|
||||
[schema.allOf[2].items[0].anyOf[0], '/allOf/2/items/0/anyOf/0', schema, '/allOf/2/items/0', 'anyOf', schema.allOf[2].items[0], 0],
|
||||
[schema.allOf[2].items[0].anyOf[1], '/allOf/2/items/0/anyOf/1', schema, '/allOf/2/items/0', 'anyOf', schema.allOf[2].items[0], 1],
|
||||
|
||||
[schema.allOf[2].items[1], '/allOf/2/items/1', schema, '/allOf/2', 'items', schema.allOf[2], 1],
|
||||
[schema.allOf[2].items[1].properties.foo_items_1, '/allOf/2/items/1/properties/foo_items_1', schema, '/allOf/2/items/1', 'properties', schema.allOf[2].items[1], 'foo_items_1'],
|
||||
[schema.allOf[2].items[1].properties.bar_items_1, '/allOf/2/items/1/properties/bar_items_1', schema, '/allOf/2/items/1', 'properties', schema.allOf[2].items[1], 'bar_items_1'],
|
||||
[schema.allOf[2].items[1].anyOf[0], '/allOf/2/items/1/anyOf/0', schema, '/allOf/2/items/1', 'anyOf', schema.allOf[2].items[1], 0],
|
||||
[schema.allOf[2].items[1].anyOf[1], '/allOf/2/items/1/anyOf/1', schema, '/allOf/2/items/1', 'anyOf', schema.allOf[2].items[1], 1]
|
||||
])
|
||||
.concat(expectedCallsChild('anyOf', 0))
|
||||
.concat(expectedCallsChild('anyOf', 1))
|
||||
.concat(expectedCallsChild('oneOf', 0))
|
||||
.concat(expectedCallsChild('oneOf', 1))
|
||||
.concat(expectedCallsChild('definitions', 'foo'))
|
||||
.concat(expectedCallsChild('definitions', 'bar'))
|
||||
.concat(expectedCallsChild('properties', 'foo'))
|
||||
.concat(expectedCallsChild('properties', 'bar'))
|
||||
.concat(expectedCallsChild('patternProperties', 'foo'))
|
||||
.concat(expectedCallsChild('patternProperties', 'bar'))
|
||||
.concat(expectedCallsChild('dependencies', 'foo'))
|
||||
.concat(expectedCallsChild('dependencies', 'bar'))
|
||||
};
|
||||
|
||||
|
||||
function expectedCalls(keyword) {
|
||||
return [
|
||||
[schema[keyword], `/${keyword}`, schema, '', keyword, schema, undefined],
|
||||
[schema[keyword].properties[`foo_${keyword}`], `/${keyword}/properties/foo_${keyword}`, schema, `/${keyword}`, 'properties', schema[keyword], `foo_${keyword}`],
|
||||
[schema[keyword].properties[`bar_${keyword}`], `/${keyword}/properties/bar_${keyword}`, schema, `/${keyword}`, 'properties', schema[keyword], `bar_${keyword}`],
|
||||
[schema[keyword].anyOf[0], `/${keyword}/anyOf/0`, schema, `/${keyword}`, 'anyOf', schema[keyword], 0],
|
||||
[schema[keyword].anyOf[1], `/${keyword}/anyOf/1`, schema, `/${keyword}`, 'anyOf', schema[keyword], 1]
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
function expectedCallsChild(keyword, i) {
|
||||
return [
|
||||
[schema[keyword][i], `/${keyword}/${i}`, schema, '', keyword, schema, i],
|
||||
[schema[keyword][i].properties[`foo_${keyword}_${i}`], `/${keyword}/${i}/properties/foo_${keyword}_${i}`, schema, `/${keyword}/${i}`, 'properties', schema[keyword][i], `foo_${keyword}_${i}`],
|
||||
[schema[keyword][i].properties[`bar_${keyword}_${i}`], `/${keyword}/${i}/properties/bar_${keyword}_${i}`, schema, `/${keyword}/${i}`, 'properties', schema[keyword][i], `bar_${keyword}_${i}`],
|
||||
[schema[keyword][i].anyOf[0], `/${keyword}/${i}/anyOf/0`, schema, `/${keyword}/${i}`, 'anyOf', schema[keyword][i], 0],
|
||||
[schema[keyword][i].anyOf[1], `/${keyword}/${i}/anyOf/1`, schema, `/${keyword}/${i}`, 'anyOf', schema[keyword][i], 1]
|
||||
];
|
||||
}
|
||||
171
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/spec/index.spec.js
generated
vendored
Normal file
171
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/json-schema-traverse/spec/index.spec.js
generated
vendored
Normal file
@@ -0,0 +1,171 @@
|
||||
'use strict';
|
||||
|
||||
var traverse = require('../index');
|
||||
var assert = require('assert');
|
||||
|
||||
describe('json-schema-traverse', function() {
|
||||
var calls;
|
||||
|
||||
beforeEach(function() {
|
||||
calls = [];
|
||||
});
|
||||
|
||||
it('should traverse all keywords containing schemas recursively', function() {
|
||||
var schema = require('./fixtures/schema').schema;
|
||||
var expectedCalls = require('./fixtures/schema').expectedCalls;
|
||||
|
||||
traverse(schema, {cb: callback});
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
|
||||
describe('Legacy v0.3.1 API', function() {
|
||||
it('should traverse all keywords containing schemas recursively', function() {
|
||||
var schema = require('./fixtures/schema').schema;
|
||||
var expectedCalls = require('./fixtures/schema').expectedCalls;
|
||||
|
||||
traverse(schema, callback);
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
|
||||
it('should work when an options object is provided', function() {
|
||||
// schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex
|
||||
var schema = require('./fixtures/schema').schema;
|
||||
var expectedCalls = require('./fixtures/schema').expectedCalls;
|
||||
|
||||
traverse(schema, {}, callback);
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
describe('allKeys option', function() {
|
||||
var schema = {
|
||||
someObject: {
|
||||
minimum: 1,
|
||||
maximum: 2
|
||||
}
|
||||
};
|
||||
|
||||
it('should traverse objects with allKeys: true option', function() {
|
||||
// schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex
|
||||
var expectedCalls = [
|
||||
[schema, '', schema, undefined, undefined, undefined, undefined],
|
||||
[schema.someObject, '/someObject', schema, '', 'someObject', schema, undefined]
|
||||
];
|
||||
|
||||
traverse(schema, {allKeys: true, cb: callback});
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
|
||||
|
||||
it('should NOT traverse objects with allKeys: false option', function() {
|
||||
// schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex
|
||||
var expectedCalls = [
|
||||
[schema, '', schema, undefined, undefined, undefined, undefined]
|
||||
];
|
||||
|
||||
traverse(schema, {allKeys: false, cb: callback});
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
|
||||
|
||||
it('should NOT traverse objects without allKeys option', function() {
|
||||
// schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex
|
||||
var expectedCalls = [
|
||||
[schema, '', schema, undefined, undefined, undefined, undefined]
|
||||
];
|
||||
|
||||
traverse(schema, {cb: callback});
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
|
||||
|
||||
it('should NOT travers objects in standard keywords which value is not a schema', function() {
|
||||
var schema2 = {
|
||||
const: {foo: 'bar'},
|
||||
enum: ['a', 'b'],
|
||||
required: ['foo'],
|
||||
another: {
|
||||
|
||||
},
|
||||
patternProperties: {}, // will not traverse - no properties
|
||||
dependencies: true, // will not traverse - invalid
|
||||
properties: {
|
||||
smaller: {
|
||||
type: 'number'
|
||||
},
|
||||
larger: {
|
||||
type: 'number',
|
||||
minimum: {$data: '1/smaller'}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex
|
||||
var expectedCalls = [
|
||||
[schema2, '', schema2, undefined, undefined, undefined, undefined],
|
||||
[schema2.another, '/another', schema2, '', 'another', schema2, undefined],
|
||||
[schema2.properties.smaller, '/properties/smaller', schema2, '', 'properties', schema2, 'smaller'],
|
||||
[schema2.properties.larger, '/properties/larger', schema2, '', 'properties', schema2, 'larger'],
|
||||
];
|
||||
|
||||
traverse(schema2, {allKeys: true, cb: callback});
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
});
|
||||
|
||||
describe('pre and post', function() {
|
||||
var schema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
name: {type: 'string'},
|
||||
age: {type: 'number'}
|
||||
}
|
||||
};
|
||||
|
||||
it('should traverse schema in pre-order', function() {
|
||||
traverse(schema, {cb: {pre}});
|
||||
var expectedCalls = [
|
||||
['pre', schema, '', schema, undefined, undefined, undefined, undefined],
|
||||
['pre', schema.properties.name, '/properties/name', schema, '', 'properties', schema, 'name'],
|
||||
['pre', schema.properties.age, '/properties/age', schema, '', 'properties', schema, 'age'],
|
||||
];
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
|
||||
it('should traverse schema in post-order', function() {
|
||||
traverse(schema, {cb: {post}});
|
||||
var expectedCalls = [
|
||||
['post', schema.properties.name, '/properties/name', schema, '', 'properties', schema, 'name'],
|
||||
['post', schema.properties.age, '/properties/age', schema, '', 'properties', schema, 'age'],
|
||||
['post', schema, '', schema, undefined, undefined, undefined, undefined],
|
||||
];
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
|
||||
it('should traverse schema in pre- and post-order at the same time', function() {
|
||||
traverse(schema, {cb: {pre, post}});
|
||||
var expectedCalls = [
|
||||
['pre', schema, '', schema, undefined, undefined, undefined, undefined],
|
||||
['pre', schema.properties.name, '/properties/name', schema, '', 'properties', schema, 'name'],
|
||||
['post', schema.properties.name, '/properties/name', schema, '', 'properties', schema, 'name'],
|
||||
['pre', schema.properties.age, '/properties/age', schema, '', 'properties', schema, 'age'],
|
||||
['post', schema.properties.age, '/properties/age', schema, '', 'properties', schema, 'age'],
|
||||
['post', schema, '', schema, undefined, undefined, undefined, undefined],
|
||||
];
|
||||
assert.deepStrictEqual(calls, expectedCalls);
|
||||
});
|
||||
});
|
||||
|
||||
function callback() {
|
||||
calls.push(Array.prototype.slice.call(arguments));
|
||||
}
|
||||
|
||||
function pre() {
|
||||
calls.push(['pre'].concat(Array.prototype.slice.call(arguments)));
|
||||
}
|
||||
|
||||
function post() {
|
||||
calls.push(['post'].concat(Array.prototype.slice.call(arguments)));
|
||||
}
|
||||
});
|
||||
20
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/LICENSE
generated
vendored
Normal file
20
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
Copyright JS Foundation and other contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
'Software'), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
290
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/README.md
generated
vendored
Normal file
290
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/README.md
generated
vendored
Normal file
@@ -0,0 +1,290 @@
|
||||
<div align="center">
|
||||
<a href="http://json-schema.org">
|
||||
<img width="160" height="160"
|
||||
src="https://raw.githubusercontent.com/webpack-contrib/schema-utils/master/.github/assets/logo.png">
|
||||
</a>
|
||||
<a href="https://github.com/webpack/webpack">
|
||||
<img width="200" height="200"
|
||||
src="https://webpack.js.org/assets/icon-square-big.svg">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
[![npm][npm]][npm-url]
|
||||
[![node][node]][node-url]
|
||||
[![deps][deps]][deps-url]
|
||||
[![tests][tests]][tests-url]
|
||||
[![coverage][cover]][cover-url]
|
||||
[![chat][chat]][chat-url]
|
||||
[![size][size]][size-url]
|
||||
|
||||
# schema-utils
|
||||
|
||||
Package for validate options in loaders and plugins.
|
||||
|
||||
## Getting Started
|
||||
|
||||
To begin, you'll need to install `schema-utils`:
|
||||
|
||||
```console
|
||||
npm install schema-utils
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
**schema.json**
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"option": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
```
|
||||
|
||||
```js
|
||||
import schema from "./path/to/schema.json";
|
||||
import { validate } from "schema-utils";
|
||||
|
||||
const options = { option: true };
|
||||
const configuration = { name: "Loader Name/Plugin Name/Name" };
|
||||
|
||||
validate(schema, options, configuration);
|
||||
```
|
||||
|
||||
### `schema`
|
||||
|
||||
Type: `String`
|
||||
|
||||
JSON schema.
|
||||
|
||||
Simple example of schema:
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "This is description of option.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
```
|
||||
|
||||
### `options`
|
||||
|
||||
Type: `Object`
|
||||
|
||||
Object with options.
|
||||
|
||||
```js
|
||||
import schema from "./path/to/schema.json";
|
||||
import { validate } from "schema-utils";
|
||||
|
||||
const options = { foo: "bar" };
|
||||
|
||||
validate(schema, { name: 123 }, { name: "MyPlugin" });
|
||||
```
|
||||
|
||||
### `configuration`
|
||||
|
||||
Allow to configure validator.
|
||||
|
||||
There is an alternative method to configure the `name` and`baseDataPath` options via the `title` property in the schema.
|
||||
For example:
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "My Loader options",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "This is description of option.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
```
|
||||
|
||||
The last word used for the `baseDataPath` option, other words used for the `name` option.
|
||||
Based on the example above the `name` option equals `My Loader`, the `baseDataPath` option equals `options`.
|
||||
|
||||
#### `name`
|
||||
|
||||
Type: `Object`
|
||||
Default: `"Object"`
|
||||
|
||||
Allow to setup name in validation errors.
|
||||
|
||||
```js
|
||||
import schema from "./path/to/schema.json";
|
||||
import { validate } from "schema-utils";
|
||||
|
||||
const options = { foo: "bar" };
|
||||
|
||||
validate(schema, options, { name: "MyPlugin" });
|
||||
```
|
||||
|
||||
```shell
|
||||
Invalid configuration object. MyPlugin has been initialised using a configuration object that does not match the API schema.
|
||||
- configuration.optionName should be a integer.
|
||||
```
|
||||
|
||||
#### `baseDataPath`
|
||||
|
||||
Type: `String`
|
||||
Default: `"configuration"`
|
||||
|
||||
Allow to setup base data path in validation errors.
|
||||
|
||||
```js
|
||||
import schema from "./path/to/schema.json";
|
||||
import { validate } from "schema-utils";
|
||||
|
||||
const options = { foo: "bar" };
|
||||
|
||||
validate(schema, options, { name: "MyPlugin", baseDataPath: "options" });
|
||||
```
|
||||
|
||||
```shell
|
||||
Invalid options object. MyPlugin has been initialised using an options object that does not match the API schema.
|
||||
- options.optionName should be a integer.
|
||||
```
|
||||
|
||||
#### `postFormatter`
|
||||
|
||||
Type: `Function`
|
||||
Default: `undefined`
|
||||
|
||||
Allow to reformat errors.
|
||||
|
||||
```js
|
||||
import schema from "./path/to/schema.json";
|
||||
import { validate } from "schema-utils";
|
||||
|
||||
const options = { foo: "bar" };
|
||||
|
||||
validate(schema, options, {
|
||||
name: "MyPlugin",
|
||||
postFormatter: (formattedError, error) => {
|
||||
if (error.keyword === "type") {
|
||||
return `${formattedError}\nAdditional Information.`;
|
||||
}
|
||||
|
||||
return formattedError;
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
```shell
|
||||
Invalid options object. MyPlugin has been initialized using an options object that does not match the API schema.
|
||||
- options.optionName should be a integer.
|
||||
Additional Information.
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
**schema.json**
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"test": {
|
||||
"anyOf": [
|
||||
{ "type": "array" },
|
||||
{ "type": "string" },
|
||||
{ "instanceof": "RegExp" }
|
||||
]
|
||||
},
|
||||
"transform": {
|
||||
"instanceof": "Function"
|
||||
},
|
||||
"sourceMap": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
```
|
||||
|
||||
### `Loader`
|
||||
|
||||
```js
|
||||
import { getOptions } from "loader-utils";
|
||||
import { validate } from "schema-utils";
|
||||
|
||||
import schema from "path/to/schema.json";
|
||||
|
||||
function loader(src, map) {
|
||||
const options = getOptions(this);
|
||||
|
||||
validate(schema, options, {
|
||||
name: "Loader Name",
|
||||
baseDataPath: "options",
|
||||
});
|
||||
|
||||
// Code...
|
||||
}
|
||||
|
||||
export default loader;
|
||||
```
|
||||
|
||||
### `Plugin`
|
||||
|
||||
```js
|
||||
import { validate } from "schema-utils";
|
||||
|
||||
import schema from "path/to/schema.json";
|
||||
|
||||
class Plugin {
|
||||
constructor(options) {
|
||||
validate(schema, options, {
|
||||
name: "Plugin Name",
|
||||
baseDataPath: "options",
|
||||
});
|
||||
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
apply(compiler) {
|
||||
// Code...
|
||||
}
|
||||
}
|
||||
|
||||
export default Plugin;
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
Please take a moment to read our contributing guidelines if you haven't yet done so.
|
||||
|
||||
[CONTRIBUTING](./.github/CONTRIBUTING.md)
|
||||
|
||||
## License
|
||||
|
||||
[MIT](./LICENSE)
|
||||
|
||||
[npm]: https://img.shields.io/npm/v/schema-utils.svg
|
||||
[npm-url]: https://npmjs.com/package/schema-utils
|
||||
[node]: https://img.shields.io/node/v/schema-utils.svg
|
||||
[node-url]: https://nodejs.org
|
||||
[deps]: https://david-dm.org/webpack/schema-utils.svg
|
||||
[deps-url]: https://david-dm.org/webpack/schema-utils
|
||||
[tests]: https://github.com/webpack/schema-utils/workflows/schema-utils/badge.svg
|
||||
[tests-url]: https://github.com/webpack/schema-utils/actions
|
||||
[cover]: https://codecov.io/gh/webpack/schema-utils/branch/master/graph/badge.svg
|
||||
[cover-url]: https://codecov.io/gh/webpack/schema-utils
|
||||
[chat]: https://badges.gitter.im/webpack/webpack.svg
|
||||
[chat-url]: https://gitter.im/webpack/webpack
|
||||
[size]: https://packagephobia.com/badge?p=schema-utils
|
||||
[size-url]: https://packagephobia.com/result?p=schema-utils
|
||||
74
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/ValidationError.d.ts
generated
vendored
Normal file
74
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/ValidationError.d.ts
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
export default ValidationError;
|
||||
export type JSONSchema6 = import("json-schema").JSONSchema6;
|
||||
export type JSONSchema7 = import("json-schema").JSONSchema7;
|
||||
export type Schema = import("./validate").Schema;
|
||||
export type ValidationErrorConfiguration =
|
||||
import("./validate").ValidationErrorConfiguration;
|
||||
export type PostFormatter = import("./validate").PostFormatter;
|
||||
export type SchemaUtilErrorObject = import("./validate").SchemaUtilErrorObject;
|
||||
declare class ValidationError extends Error {
|
||||
/**
|
||||
* @param {Array<SchemaUtilErrorObject>} errors
|
||||
* @param {Schema} schema
|
||||
* @param {ValidationErrorConfiguration} configuration
|
||||
*/
|
||||
constructor(
|
||||
errors: Array<SchemaUtilErrorObject>,
|
||||
schema: Schema,
|
||||
configuration?: ValidationErrorConfiguration
|
||||
);
|
||||
/** @type {Array<SchemaUtilErrorObject>} */
|
||||
errors: Array<SchemaUtilErrorObject>;
|
||||
/** @type {Schema} */
|
||||
schema: Schema;
|
||||
/** @type {string} */
|
||||
headerName: string;
|
||||
/** @type {string} */
|
||||
baseDataPath: string;
|
||||
/** @type {PostFormatter | null} */
|
||||
postFormatter: PostFormatter | null;
|
||||
/**
|
||||
* @param {string} path
|
||||
* @returns {Schema}
|
||||
*/
|
||||
getSchemaPart(path: string): Schema;
|
||||
/**
|
||||
* @param {Schema} schema
|
||||
* @param {boolean} logic
|
||||
* @param {Array<Object>} prevSchemas
|
||||
* @returns {string}
|
||||
*/
|
||||
formatSchema(
|
||||
schema: Schema,
|
||||
logic?: boolean,
|
||||
prevSchemas?: Array<Object>
|
||||
): string;
|
||||
/**
|
||||
* @param {Schema=} schemaPart
|
||||
* @param {(boolean | Array<string>)=} additionalPath
|
||||
* @param {boolean=} needDot
|
||||
* @param {boolean=} logic
|
||||
* @returns {string}
|
||||
*/
|
||||
getSchemaPartText(
|
||||
schemaPart?: Schema | undefined,
|
||||
additionalPath?: (boolean | Array<string>) | undefined,
|
||||
needDot?: boolean | undefined,
|
||||
logic?: boolean | undefined
|
||||
): string;
|
||||
/**
|
||||
* @param {Schema=} schemaPart
|
||||
* @returns {string}
|
||||
*/
|
||||
getSchemaPartDescription(schemaPart?: Schema | undefined): string;
|
||||
/**
|
||||
* @param {SchemaUtilErrorObject} error
|
||||
* @returns {string}
|
||||
*/
|
||||
formatValidationError(error: SchemaUtilErrorObject): string;
|
||||
/**
|
||||
* @param {Array<SchemaUtilErrorObject>} errors
|
||||
* @returns {string}
|
||||
*/
|
||||
formatValidationErrors(errors: Array<SchemaUtilErrorObject>): string;
|
||||
}
|
||||
3
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/index.d.ts
generated
vendored
Normal file
3
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import { validate } from "./validate";
|
||||
import { ValidationError } from "./validate";
|
||||
export { validate, ValidationError };
|
||||
11
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/keywords/absolutePath.d.ts
generated
vendored
Normal file
11
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/keywords/absolutePath.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
export default addAbsolutePathKeyword;
|
||||
export type Ajv = import("ajv").default;
|
||||
export type SchemaValidateFunction = import("ajv").SchemaValidateFunction;
|
||||
export type AnySchemaObject = import("ajv").AnySchemaObject;
|
||||
export type SchemaUtilErrorObject = import("../validate").SchemaUtilErrorObject;
|
||||
/**
|
||||
*
|
||||
* @param {Ajv} ajv
|
||||
* @returns {Ajv}
|
||||
*/
|
||||
declare function addAbsolutePathKeyword(ajv: Ajv): Ajv;
|
||||
79
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/util/Range.d.ts
generated
vendored
Normal file
79
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/util/Range.d.ts
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
export = Range;
|
||||
/**
|
||||
* @typedef {[number, boolean]} RangeValue
|
||||
*/
|
||||
/**
|
||||
* @callback RangeValueCallback
|
||||
* @param {RangeValue} rangeValue
|
||||
* @returns {boolean}
|
||||
*/
|
||||
declare class Range {
|
||||
/**
|
||||
* @param {"left" | "right"} side
|
||||
* @param {boolean} exclusive
|
||||
* @returns {">" | ">=" | "<" | "<="}
|
||||
*/
|
||||
static getOperator(
|
||||
side: "left" | "right",
|
||||
exclusive: boolean
|
||||
): ">" | ">=" | "<" | "<=";
|
||||
/**
|
||||
* @param {number} value
|
||||
* @param {boolean} logic is not logic applied
|
||||
* @param {boolean} exclusive is range exclusive
|
||||
* @returns {string}
|
||||
*/
|
||||
static formatRight(value: number, logic: boolean, exclusive: boolean): string;
|
||||
/**
|
||||
* @param {number} value
|
||||
* @param {boolean} logic is not logic applied
|
||||
* @param {boolean} exclusive is range exclusive
|
||||
* @returns {string}
|
||||
*/
|
||||
static formatLeft(value: number, logic: boolean, exclusive: boolean): string;
|
||||
/**
|
||||
* @param {number} start left side value
|
||||
* @param {number} end right side value
|
||||
* @param {boolean} startExclusive is range exclusive from left side
|
||||
* @param {boolean} endExclusive is range exclusive from right side
|
||||
* @param {boolean} logic is not logic applied
|
||||
* @returns {string}
|
||||
*/
|
||||
static formatRange(
|
||||
start: number,
|
||||
end: number,
|
||||
startExclusive: boolean,
|
||||
endExclusive: boolean,
|
||||
logic: boolean
|
||||
): string;
|
||||
/**
|
||||
* @param {Array<RangeValue>} values
|
||||
* @param {boolean} logic is not logic applied
|
||||
* @return {RangeValue} computed value and it's exclusive flag
|
||||
*/
|
||||
static getRangeValue(values: Array<RangeValue>, logic: boolean): RangeValue;
|
||||
/** @type {Array<RangeValue>} */
|
||||
_left: Array<RangeValue>;
|
||||
/** @type {Array<RangeValue>} */
|
||||
_right: Array<RangeValue>;
|
||||
/**
|
||||
* @param {number} value
|
||||
* @param {boolean=} exclusive
|
||||
*/
|
||||
left(value: number, exclusive?: boolean | undefined): void;
|
||||
/**
|
||||
* @param {number} value
|
||||
* @param {boolean=} exclusive
|
||||
*/
|
||||
right(value: number, exclusive?: boolean | undefined): void;
|
||||
/**
|
||||
* @param {boolean} logic is not logic applied
|
||||
* @return {string} "smart" range string representation
|
||||
*/
|
||||
format(logic?: boolean): string;
|
||||
}
|
||||
declare namespace Range {
|
||||
export { RangeValue, RangeValueCallback };
|
||||
}
|
||||
type RangeValue = [number, boolean];
|
||||
type RangeValueCallback = (rangeValue: RangeValue) => boolean;
|
||||
3
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/util/hints.d.ts
generated
vendored
Normal file
3
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/util/hints.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export function stringHints(schema: Schema, logic: boolean): string[];
|
||||
export function numberHints(schema: Schema, logic: boolean): string[];
|
||||
export type Schema = import("../validate").Schema;
|
||||
37
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/validate.d.ts
generated
vendored
Normal file
37
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/declarations/validate.d.ts
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
export type JSONSchema4 = import("json-schema").JSONSchema4;
|
||||
export type JSONSchema6 = import("json-schema").JSONSchema6;
|
||||
export type JSONSchema7 = import("json-schema").JSONSchema7;
|
||||
export type ErrorObject = import("ajv").ErrorObject;
|
||||
export type Extend = {
|
||||
formatMinimum?: string | undefined;
|
||||
formatMaximum?: string | undefined;
|
||||
formatExclusiveMinimum?: string | undefined;
|
||||
formatExclusiveMaximum?: string | undefined;
|
||||
link?: string | undefined;
|
||||
};
|
||||
export type Schema = (JSONSchema4 | JSONSchema6 | JSONSchema7) & Extend;
|
||||
export type SchemaUtilErrorObject = ErrorObject & {
|
||||
children?: Array<ErrorObject>;
|
||||
};
|
||||
export type PostFormatter = (
|
||||
formattedError: string,
|
||||
error: SchemaUtilErrorObject
|
||||
) => string;
|
||||
export type ValidationErrorConfiguration = {
|
||||
name?: string | undefined;
|
||||
baseDataPath?: string | undefined;
|
||||
postFormatter?: PostFormatter | undefined;
|
||||
};
|
||||
/**
|
||||
* @param {Schema} schema
|
||||
* @param {Array<object> | object} options
|
||||
* @param {ValidationErrorConfiguration=} configuration
|
||||
* @returns {void}
|
||||
*/
|
||||
export function validate(
|
||||
schema: Schema,
|
||||
options: Array<object> | object,
|
||||
configuration?: ValidationErrorConfiguration | undefined
|
||||
): void;
|
||||
import ValidationError from "./ValidationError";
|
||||
export { ValidationError };
|
||||
79
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/package.json
generated
vendored
Normal file
79
receipeServer/frontend_old/node_modules/webpack-dev-server/node_modules/schema-utils/package.json
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"name": "schema-utils",
|
||||
"version": "4.0.0",
|
||||
"description": "webpack Validation Utils",
|
||||
"license": "MIT",
|
||||
"repository": "webpack/schema-utils",
|
||||
"author": "webpack Contrib (https://github.com/webpack-contrib)",
|
||||
"homepage": "https://github.com/webpack/schema-utils",
|
||||
"bugs": "https://github.com/webpack/schema-utils/issues",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"types": "declarations/index.d.ts",
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "npm run build -- -w",
|
||||
"clean": "del-cli dist declarations",
|
||||
"prebuild": "npm run clean",
|
||||
"build:types": "tsc --declaration --emitDeclarationOnly --outDir declarations && prettier \"declarations/**/*.ts\" --write",
|
||||
"build:code": "cross-env NODE_ENV=production babel src -d dist --copy-files",
|
||||
"build": "npm-run-all -p \"build:**\"",
|
||||
"commitlint": "commitlint --from=master",
|
||||
"security": "npm audit --production",
|
||||
"fmt:check": "prettier \"{**/*,*}.{js,json,md,yml,css,ts}\" --list-different",
|
||||
"lint:js": "eslint --cache .",
|
||||
"lint:types": "tsc --pretty --noEmit",
|
||||
"lint": "npm-run-all lint:js lint:types fmt:check",
|
||||
"fmt": "npm run fmt:check -- --write",
|
||||
"fix:js": "npm run lint:js -- --fix",
|
||||
"fix": "npm-run-all fix:js fmt",
|
||||
"test:only": "cross-env NODE_ENV=test jest",
|
||||
"test:watch": "npm run test:only -- --watch",
|
||||
"test:coverage": "npm run test:only -- --collectCoverageFrom=\"src/**/*.js\" --coverage",
|
||||
"pretest": "npm run lint",
|
||||
"test": "npm run test:coverage",
|
||||
"prepare": "npm run build && husky install",
|
||||
"release": "standard-version"
|
||||
},
|
||||
"files": [
|
||||
"dist",
|
||||
"declarations"
|
||||
],
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"ajv": "^8.8.0",
|
||||
"ajv-keywords": "^5.0.0",
|
||||
"ajv-formats": "^2.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.16.0",
|
||||
"@babel/core": "^7.16.0",
|
||||
"@babel/preset-env": "^7.16.0",
|
||||
"@commitlint/cli": "^14.1.0",
|
||||
"@commitlint/config-conventional": "^14.1.0",
|
||||
"@webpack-contrib/eslint-config-webpack": "^3.0.0",
|
||||
"babel-jest": "^27.3.1",
|
||||
"cross-env": "^7.0.3",
|
||||
"del": "^6.0.0",
|
||||
"del-cli": "^4.0.1",
|
||||
"eslint": "^8.0.1",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint-plugin-import": "^2.25.3",
|
||||
"husky": "^7.0.4",
|
||||
"jest": "^27.3.1",
|
||||
"lint-staged": "^12.0.2",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^2.4.1",
|
||||
"standard-version": "^9.3.2",
|
||||
"typescript": "^4.3.5",
|
||||
"webpack": "^5.64.1"
|
||||
},
|
||||
"keywords": [
|
||||
"webpack"
|
||||
]
|
||||
}
|
||||
134
receipeServer/frontend_old/node_modules/webpack-dev-server/package.json
generated
vendored
Normal file
134
receipeServer/frontend_old/node_modules/webpack-dev-server/package.json
generated
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"name": "webpack-dev-server",
|
||||
"version": "4.8.1",
|
||||
"description": "Serves a webpack app. Updates the browser on changes.",
|
||||
"bin": "bin/webpack-dev-server.js",
|
||||
"main": "lib/Server.js",
|
||||
"types": "types/lib/Server.d.ts",
|
||||
"files": [
|
||||
"bin",
|
||||
"lib",
|
||||
"client",
|
||||
"types"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
},
|
||||
"scripts": {
|
||||
"fmt:check": "prettier \"{**/*,*}.{js,json,md,yml,css,ts}\" --list-different",
|
||||
"lint:js": "eslint . --cache",
|
||||
"lint:types": "tsc --pretty --noEmit",
|
||||
"lint": "npm-run-all -p \"fmt:**\" \"lint:**\"",
|
||||
"fmt": "npm run fmt:check -- --write",
|
||||
"fix:js": "npm run lint:js -- --fix",
|
||||
"fix": "npm-run-all fix:js fmt",
|
||||
"commitlint": "commitlint --from=master",
|
||||
"build:client": "rimraf ./client/* && babel client-src/ --out-dir client/ --ignore \"client-src/webpack.config.js\" --ignore \"client-src/modules\" && webpack --config client-src/webpack.config.js",
|
||||
"build:types": "rimraf ./types/* && tsc --declaration --emitDeclarationOnly --outDir types && node ./scripts/extend-webpack-types.js && prettier \"types/**/*.ts\" --write && prettier \"types/**/*.ts\" --write",
|
||||
"build": "npm-run-all -p \"build:**\"",
|
||||
"test:only": "jest",
|
||||
"test:coverage": "npm run test:only -- --coverage",
|
||||
"test:watch": "npm run test:coverage --watch",
|
||||
"test": "npm run test:coverage",
|
||||
"pretest": "npm run lint",
|
||||
"prepare": "husky install && npm run build",
|
||||
"release": "standard-version"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/bonjour": "^3.5.9",
|
||||
"@types/connect-history-api-fallback": "^1.3.5",
|
||||
"@types/express": "^4.17.13",
|
||||
"@types/serve-index": "^1.9.1",
|
||||
"@types/sockjs": "^0.3.33",
|
||||
"@types/ws": "^8.5.1",
|
||||
"ansi-html-community": "^0.0.8",
|
||||
"bonjour-service": "^1.0.11",
|
||||
"chokidar": "^3.5.3",
|
||||
"colorette": "^2.0.10",
|
||||
"compression": "^1.7.4",
|
||||
"connect-history-api-fallback": "^1.6.0",
|
||||
"default-gateway": "^6.0.3",
|
||||
"express": "^4.17.3",
|
||||
"graceful-fs": "^4.2.6",
|
||||
"html-entities": "^2.3.2",
|
||||
"http-proxy-middleware": "^2.0.3",
|
||||
"ipaddr.js": "^2.0.1",
|
||||
"open": "^8.0.9",
|
||||
"p-retry": "^4.5.0",
|
||||
"portfinder": "^1.0.28",
|
||||
"rimraf": "^3.0.2",
|
||||
"schema-utils": "^4.0.0",
|
||||
"selfsigned": "^2.0.1",
|
||||
"serve-index": "^1.9.1",
|
||||
"sockjs": "^0.3.21",
|
||||
"spdy": "^4.0.2",
|
||||
"webpack-dev-middleware": "^5.3.1",
|
||||
"ws": "^8.4.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.17.3",
|
||||
"@babel/core": "^7.17.5",
|
||||
"@babel/eslint-parser": "^7.17.0",
|
||||
"@babel/plugin-transform-object-assign": "^7.14.5",
|
||||
"@babel/plugin-transform-runtime": "^7.17.0",
|
||||
"@babel/preset-env": "^7.16.11",
|
||||
"@babel/runtime": "^7.17.2",
|
||||
"@commitlint/cli": "^16.2.3",
|
||||
"@commitlint/config-conventional": "^16.2.1",
|
||||
"@types/compression": "^1.7.2",
|
||||
"@types/default-gateway": "^3.0.1",
|
||||
"@types/rimraf": "^3.0.2",
|
||||
"@types/sockjs-client": "^1.5.1",
|
||||
"acorn": "^8.2.4",
|
||||
"babel-jest": "^27.5.1",
|
||||
"babel-loader": "^8.2.4",
|
||||
"body-parser": "^1.19.2",
|
||||
"core-js": "^3.21.1",
|
||||
"css-loader": "^5.2.4",
|
||||
"eslint": "^8.12.0",
|
||||
"eslint-config-prettier": "^8.4.0",
|
||||
"eslint-config-webpack": "^1.2.5",
|
||||
"eslint-plugin-import": "^2.23.2",
|
||||
"execa": "^5.1.1",
|
||||
"file-loader": "^6.2.0",
|
||||
"html-webpack-plugin": "^4.5.2",
|
||||
"http-proxy": "^1.18.1",
|
||||
"husky": "^7.0.0",
|
||||
"jest": "^27.5.1",
|
||||
"klona": "^2.0.4",
|
||||
"less": "^4.1.1",
|
||||
"less-loader": "^7.3.0",
|
||||
"lint-staged": "^12.3.4",
|
||||
"marked": "^4.0.12",
|
||||
"memfs": "^3.2.2",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^2.6.1",
|
||||
"puppeteer": "^13.4.1",
|
||||
"require-from-string": "^2.0.2",
|
||||
"rimraf": "^3.0.2",
|
||||
"sockjs-client": "^1.6.0",
|
||||
"standard-version": "^9.3.0",
|
||||
"strip-ansi-v6": "npm:strip-ansi@^6.0.0",
|
||||
"style-loader": "^2.0.0",
|
||||
"supertest": "^6.1.3",
|
||||
"tcp-port-used": "^1.0.2",
|
||||
"typescript": "^4.6.3",
|
||||
"url-loader": "^4.1.1",
|
||||
"webpack": "^5.71.0",
|
||||
"webpack-cli": "^4.7.2",
|
||||
"webpack-merge": "^5.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"webpack": "^4.37.0 || ^5.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"webpack-cli": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"author": "Tobias Koppers @sokra",
|
||||
"bugs": "https://github.com/webpack/webpack-dev-server/issues",
|
||||
"homepage": "https://github.com/webpack/webpack-dev-server#readme",
|
||||
"repository": "https://github.com/webpack/webpack-dev-server.git",
|
||||
"license": "MIT"
|
||||
}
|
||||
964
receipeServer/frontend_old/node_modules/webpack-dev-server/types/bin/cli-flags.d.ts
generated
vendored
Normal file
964
receipeServer/frontend_old/node_modules/webpack-dev-server/types/bin/cli-flags.d.ts
generated
vendored
Normal file
@@ -0,0 +1,964 @@
|
||||
declare const _exports: {
|
||||
"allowed-hosts": {
|
||||
configs: (
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
| {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
values: string[];
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"allowed-hosts-reset": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
bonjour: {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
client: {
|
||||
configs: {
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
values: boolean[];
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"client-logging": {
|
||||
configs: {
|
||||
type: string;
|
||||
values: string[];
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-overlay": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-overlay-errors": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-overlay-warnings": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-progress": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-reconnect": {
|
||||
configs: (
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-web-socket-transport": {
|
||||
configs: (
|
||||
| {
|
||||
type: string;
|
||||
values: string[];
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-web-socket-url": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-web-socket-url-hostname": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-web-socket-url-password": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-web-socket-url-pathname": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-web-socket-url-port": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"client-web-socket-url-protocol": {
|
||||
configs: (
|
||||
| {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
values: string[];
|
||||
}
|
||||
| {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"client-web-socket-url-username": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
compress: {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"history-api-fallback": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
host: {
|
||||
configs: (
|
||||
| {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
values: string[];
|
||||
}
|
||||
| {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
hot: {
|
||||
configs: (
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}
|
||||
| {
|
||||
type: string;
|
||||
values: string[];
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
http2: {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
https: {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"https-ca": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"https-ca-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"https-cacert": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"https-cacert-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"https-cert": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"https-cert-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"https-crl": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"https-crl-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"https-key": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"https-key-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"https-passphrase": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"https-pfx": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"https-pfx-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"https-request-cert": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
ipc: {
|
||||
configs: (
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
| {
|
||||
type: string;
|
||||
values: boolean[];
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"live-reload": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"magic-html": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
open: {
|
||||
configs: (
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"open-app": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"open-app-name": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"open-app-name-reset": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"open-reset": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"open-target": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"open-target-reset": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
port: {
|
||||
configs: (
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
| {
|
||||
type: string;
|
||||
values: string[];
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"server-options-ca": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-ca-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-cacert": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-cacert-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-cert": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-cert-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-crl": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-crl-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-key": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-key-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-passphrase": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-pfx": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-pfx-reset": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-options-request-cert": {
|
||||
configs: {
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
"server-type": {
|
||||
configs: {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
values: string[];
|
||||
}[];
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
simpleType: string;
|
||||
};
|
||||
static: {
|
||||
configs: (
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}
|
||||
| {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"static-directory": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"static-public-path": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"static-public-path-reset": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"static-reset": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"static-serve-index": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"static-watch": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"watch-files": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"watch-files-reset": {
|
||||
configs: {
|
||||
type: string;
|
||||
multiple: boolean;
|
||||
description: string;
|
||||
path: string;
|
||||
}[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"web-socket-server": {
|
||||
configs: (
|
||||
| {
|
||||
description: string;
|
||||
negatedDescription: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
values: boolean[];
|
||||
}
|
||||
| {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
values: string[];
|
||||
}
|
||||
| {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
"web-socket-server-type": {
|
||||
configs: (
|
||||
| {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
values: string[];
|
||||
}
|
||||
| {
|
||||
description: string;
|
||||
multiple: boolean;
|
||||
path: string;
|
||||
type: string;
|
||||
}
|
||||
)[];
|
||||
description: string;
|
||||
simpleType: string;
|
||||
multiple: boolean;
|
||||
};
|
||||
};
|
||||
export = _exports;
|
||||
50
receipeServer/frontend_old/node_modules/webpack-dev-server/types/bin/process-arguments.d.ts
generated
vendored
Normal file
50
receipeServer/frontend_old/node_modules/webpack-dev-server/types/bin/process-arguments.d.ts
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
export = processArguments;
|
||||
/**
|
||||
* @param {Record<string, Argument>} args object of arguments
|
||||
* @param {any} config configuration
|
||||
* @param {Record<string, string | number | boolean | RegExp | (string | number | boolean | RegExp)[]>} values object with values
|
||||
* @returns {Problem[] | null} problems or null for success
|
||||
*/
|
||||
declare function processArguments(
|
||||
args: Record<string, Argument>,
|
||||
config: any,
|
||||
values: Record<
|
||||
string,
|
||||
string | number | boolean | RegExp | (string | number | boolean | RegExp)[]
|
||||
>
|
||||
): Problem[] | null;
|
||||
declare namespace processArguments {
|
||||
export { ProblemType, Problem, LocalProblem, ArgumentConfig, Argument };
|
||||
}
|
||||
type Argument = {
|
||||
description: string;
|
||||
simpleType: "string" | "number" | "boolean";
|
||||
multiple: boolean;
|
||||
configs: ArgumentConfig[];
|
||||
};
|
||||
type Problem = {
|
||||
type: ProblemType;
|
||||
path: string;
|
||||
argument: string;
|
||||
value?: any | undefined;
|
||||
index?: number | undefined;
|
||||
expected?: string | undefined;
|
||||
};
|
||||
type ProblemType =
|
||||
| "unknown-argument"
|
||||
| "unexpected-non-array-in-path"
|
||||
| "unexpected-non-object-in-path"
|
||||
| "multiple-values-unexpected"
|
||||
| "invalid-value";
|
||||
type LocalProblem = {
|
||||
type: ProblemType;
|
||||
path: string;
|
||||
expected?: string | undefined;
|
||||
};
|
||||
type ArgumentConfig = {
|
||||
description: string;
|
||||
path: string;
|
||||
multiple: boolean;
|
||||
type: "enum" | "string" | "path" | "number" | "boolean" | "RegExp" | "reset";
|
||||
values?: any[] | undefined;
|
||||
};
|
||||
27
receipeServer/frontend_old/node_modules/webpack-dev-server/types/bin/webpack-dev-server.d.ts
generated
vendored
Normal file
27
receipeServer/frontend_old/node_modules/webpack-dev-server/types/bin/webpack-dev-server.d.ts
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env node
|
||||
export type CliOption = {
|
||||
/**
|
||||
* display name
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* npm package name
|
||||
*/
|
||||
package: string;
|
||||
/**
|
||||
* name of the executable file
|
||||
*/
|
||||
binName: string;
|
||||
/**
|
||||
* currently installed?
|
||||
*/
|
||||
installed: boolean;
|
||||
/**
|
||||
* homepage
|
||||
*/
|
||||
url: string;
|
||||
/**
|
||||
* preprocessor
|
||||
*/
|
||||
preprocess: Function;
|
||||
};
|
||||
Reference in New Issue
Block a user