From 73e1702f1545dc42f5a4426c51dd20b9e7c92129 Mon Sep 17 00:00:00 2001 From: Swashata Ghosh Date: Tue, 27 Jul 2021 20:44:34 +0530 Subject: [PATCH] docs: update website --- site/.eslintrc | 2 + site/.prettierignore | 3 + site/README.md | 3 +- site/docs/apis/node-api.md | 69 +- site/docs/apis/php-api.md | 86 +- site/docs/apis/project-configuration.md | 125 +-- site/docs/apis/server-configuration.md | 34 +- site/docs/commands/wpackio-cli.md | 6 +- site/docs/commands/wpackio-scripts.md | 89 +- .../concepts/how-everything-works-together.md | 102 ++- site/docs/concepts/how-publicpath-works.md | 59 +- .../guides/adding-custom-env-variables.md | 10 +- site/docs/guides/changelog.md | 21 +- site/docs/guides/creating-production.md | 26 +- site/docs/guides/getting-started.md | 33 +- site/docs/guides/start-development-server.md | 27 +- site/docs/guides/using-wpackio-enqueue.md | 40 +- .../tutorials/adding-custom-babel-config.md | 20 +- site/docs/tutorials/adding-typescript.md | 60 +- site/docs/tutorials/breaking-changes-v6.md | 14 +- site/docs/tutorials/customizer-and-rest.md | 9 +- .../tutorials/extending-webpack-config.md | 37 +- site/docs/tutorials/level-up-javascript.md | 15 +- site/docs/tutorials/localize-script.md | 16 +- .../tutorials/manual-project-bootstrap.md | 9 +- .../tutorials/minimize-css-with-cssnano.md | 12 +- .../tutorials/starting-selective-entries.md | 53 ++ site/docs/tutorials/using-file-loader.md | 13 +- site/docs/tutorials/using-jest-babel.md | 24 +- site/docs/tutorials/using-react-hot-loader.md | 22 +- .../tutorials/using-various-svg-loader.md | 39 +- site/frontpage/missions/contribute.md | 16 +- site/frontpage/missions/how-it-works.md | 7 +- site/frontpage/missions/what-can-we-do.md | 53 +- site/frontpage/missions/whats-new.md | 8 +- site/frontpage/steps/01-cli.md | 6 +- site/frontpage/steps/03-config.md | 10 +- site/frontpage/steps/04-php.md | 11 +- site/frontpage/steps/05-start.md | 6 +- site/frontpage/steps/06-build.md | 5 +- site/package.json | 12 +- site/prettier.config.js | 7 +- site/src/components/WPEFormPromo/index.js | 52 ++ site/src/components/WPEFormPromo/index.scss | 85 ++ site/src/components/docpage/index.js | 11 +- .../components/docpage/sidebarnav/index.js | 10 +- site/src/components/footer/index.js | 54 +- site/src/components/header.js | 13 +- site/src/components/hero/index.js | 12 +- site/src/components/hero/index.scss | 7 +- site/src/components/layout.js | 4 +- site/src/components/steps/index.js | 4 +- site/src/images/wpeform.svg | 30 + site/src/pages/404.js | 8 +- site/src/pages/index.js | 46 +- site/src/templates/docRootTemplate.js | 7 +- site/src/templates/docTemplate.js | 2 +- site/yarn.lock | 845 ++++++++++++------ 58 files changed, 1509 insertions(+), 900 deletions(-) create mode 100644 site/.prettierignore create mode 100644 site/docs/tutorials/starting-selective-entries.md create mode 100644 site/src/components/WPEFormPromo/index.js create mode 100644 site/src/components/WPEFormPromo/index.scss create mode 100644 site/src/images/wpeform.svg diff --git a/site/.eslintrc b/site/.eslintrc index 70d55f40f..e72275f44 100644 --- a/site/.eslintrc +++ b/site/.eslintrc @@ -1,6 +1,8 @@ { + "root": true, "extends": "@wpackio/eslint-config", "rules": { + "prettier/prettier": "off", "react/jsx-filename-extension": "off", "react/prop-types": "off", "import/prefer-default-export": "off", diff --git a/site/.prettierignore b/site/.prettierignore new file mode 100644 index 000000000..b16052f1a --- /dev/null +++ b/site/.prettierignore @@ -0,0 +1,3 @@ +.cache/ +public/ +package.json diff --git a/site/README.md b/site/README.md index e22cb1c97..3ce3bbb4a 100644 --- a/site/README.md +++ b/site/README.md @@ -1,3 +1,4 @@ This website is live under [https://wpack.io](https://wpack.io). -Made with [GatsbyJS](https://www.gatsbyjs.org/) and hosted with [Netlify](https://www.netlify.com/). +Made with [GatsbyJS](https://www.gatsbyjs.org/) and hosted with +[Netlify](https://www.netlify.com/). diff --git a/site/docs/apis/node-api.md b/site/docs/apis/node-api.md index 516e208a5..3f6589239 100644 --- a/site/docs/apis/node-api.md +++ b/site/docs/apis/node-api.md @@ -7,9 +7,10 @@ shortTitle: Nodejs API While `@wpackio/scripts` is meant to be used as a CLI tool, it does expose all of the necessary node.js APIs to create your own CLI. -For now, the best place to check the exports is [the file](https://github.com/swashata/wp-webpack-script/blob/master/packages/scripts/src/index.ts) itself. Since we -develop in typescript and ship all `.d.ts` files, you will get IDE intellisense -by default. +For now, the best place to check the exports is +[the file](https://github.com/swashata/wp-webpack-script/blob/master/packages/scripts/src/index.ts) +itself. Since we develop in typescript and ship all `.d.ts` files, you will get +IDE intellisense by default. Here are the documentation for a few APIs which are useful. @@ -80,18 +81,21 @@ interface PresetOptions { } ``` -More information can be found in the [source repository](https://github.com/swashata/wp-webpack-script/tree/master/packages/babel-preset-base). +More information can be found in the +[source repository](https://github.com/swashata/wp-webpack-script/tree/master/packages/babel-preset-base). #### `typeChecker` -Whether to include preset for `'flow'` or `'typescript'`. Leave `undefined` to ignore both. +Whether to include preset for `'flow'` or `'typescript'`. Leave `undefined` to +ignore both. Possible values are `'flow'`, `'typescript'` or `undefined`. ## `getDefaultBabelPresetOptions` -Get default options for [@wpackio/babel-preset-base](https://github.com/swashata/wp-webpack-script/tree/master/packages/babel-preset-base) considering whether project -has react and whether it is in development mode. +Get default options for +[@wpackio/babel-preset-base](https://github.com/swashata/wp-webpack-script/tree/master/packages/babel-preset-base) +considering whether project has react and whether it is in development mode. ### Usage @@ -125,10 +129,7 @@ module.exports = { loader: 'babel-loader', options: { presets: getBabelPresets( - getDefaultBabelPresetOptions( - true, - isDev - ), + getDefaultBabelPresetOptions(true, isDev), undefined ), }, @@ -150,15 +151,17 @@ module.exports = { ## `getFileLoaderOptions` Get options for file-loader. This takes into account the application directory, -development or production mode and public path for file-loader usage from css files. +development or production mode and public path for file-loader usage from css +files. -If you want to use `file-loader` for your own custom asset management, then -do use this API for dynamically setting the option. This ensures a few things, like +If you want to use `file-loader` for your own custom asset management, then do +use this API for dynamically setting the option. This ensures a few things, like 1. All assets are put inside `assets` directory. 2. Assets works for CSS files where relative path is necessary. -More information can be found in [`file-loader` tutorial](/tutorials/using-file-loader/). +More information can be found in +[`file-loader` tutorial](/tutorials/using-file-loader/). ### Usage @@ -184,11 +187,7 @@ module.exports = { use: [ { loader: 'file-loader', - options: getFileLoaderOptions( - appDir, - isDev, - false - ), + options: getFileLoaderOptions(appDir, isDev, false), }, ], }, @@ -218,13 +217,15 @@ Whether or not to set publicPath for `file-loader`, depending on `isDev`. ## `issuer` -The API consists a family of [`webpack issuer`](https://webpack.js.org/configuration/module/#ruleissuer) utilities. Use them in conjunction with [`file-loader`](/tutorials/using-file-loader/) or -`url-loader`. +The API consists a family of +[`webpack issuer`](https://webpack.js.org/configuration/module/#ruleissuer) +utilities. Use them in conjunction with +[`file-loader`](/tutorials/using-file-loader/) or `url-loader`. -- `issuerForNonStyleFiles`: Tests if files are not, `css`, `sass` and `scss`. -- `issuerForStyleFiles`: Tests if files are one of `css`, `sass` or `scss`. -- `issuerForNonJsTsFiles`: Tests if files are not, `js`, `jsx`, `ts` and `tsx`. -- `issuerForJsTsFiles`: Tests if files are one of `js`, `jsx`, `ts` and `tsx`. +- `issuerForNonStyleFiles`: Tests if files are not, `css`, `sass` and `scss`. +- `issuerForStyleFiles`: Tests if files are one of `css`, `sass` or `scss`. +- `issuerForNonJsTsFiles`: Tests if files are not, `js`, `jsx`, `ts` and `tsx`. +- `issuerForJsTsFiles`: Tests if files are one of `js`, `jsx`, `ts` and `tsx`. ### Usage @@ -255,11 +256,7 @@ module.exports = { use: [ { loader: 'file-loader', - options: getFileLoaderOptions( - appDir, - isDev, - false - ), + options: getFileLoaderOptions(appDir, isDev, false), }, ], }, @@ -275,8 +272,8 @@ module.exports = { ## `loader` -When you want to extend webpack config you might run into issues when -specifying loaders directly like +When you want to extend webpack config you might run into issues when specifying +loaders directly like ```js const module = { @@ -291,9 +288,9 @@ const module = { }; ``` -The above is would throw error saying, could not resolve `file-loader`. To -ease up sharing loaders across configuration, `@wpackio/scripts` expose -the following loaders. +The above is would throw error saying, could not resolve `file-loader`. To ease +up sharing loaders across configuration, `@wpackio/scripts` expose the following +loaders. ```js const { diff --git a/site/docs/apis/php-api.md b/site/docs/apis/php-api.md index d4abc331c..6acce5a6c 100644 --- a/site/docs/apis/php-api.md +++ b/site/docs/apis/php-api.md @@ -4,8 +4,9 @@ order: 3 shortTitle: PHP API --- -The following are the methods and options for [`\WPackio\Enqueue`](<(https://packagist.org/packages/wpackio/enqueue)>) -class which comes with the composer package. +The following are the methods and options for +[`\WPackio\Enqueue`](<(https://packagist.org/packages/wpackio/enqueue)>) class +which comes with the composer package. ## Creating Instance @@ -28,7 +29,8 @@ It has to be same as you have defined in `wpackio.project.js` under `appName`. #### `$outputPath` (`string`) -It has to be same as you have defined in `wpackio.project.js` under `outputPath`. +It has to be same as you have defined in `wpackio.project.js` under +`outputPath`. #### `$version` (`string`) @@ -40,18 +42,19 @@ Either `"plugin"` or "`theme`", depending on your project. #### `$pluginPath` (`string`|`false`) -Absolute path to the main plugin file. If you are using it for `theme`, then don't -pass it, or just use `false`. +Absolute path to the main plugin file. If you are using it for `theme`, then +don't pass it, or just use `false`. #### `$themeType` (`string`) -Defaults to `"regular"`. If you are applying this to a child theme, then make the value `"child"`. +Defaults to `"regular"`. If you are applying this to a child theme, then make +the value `"child"`. ## Instance API: `getAssets` -Get handle and Url of all assets from the entry-point. -It doesn't enqueue anything for you, rather returns an associative array -with handles and urls. You should use it to enqueue it on your own. +Get handle and Url of all assets from the entry-point. It doesn't enqueue +anything for you, rather returns an associative array with handles and urls. You +should use it to enqueue it on your own. ### Usage @@ -170,14 +173,14 @@ $config = [ ]; ``` -> **NOTE**: The `identifier` property was removed from `$config`. We need complete -> control of the script `handle` to make sure common chunks, such as, `runtime` -> is enqueued only once. +> **NOTE**: The `identifier` property was removed from `$config`. We need +> complete control of the script `handle` to make sure common chunks, such as, +> `runtime` is enqueued only once. ### Return `array` -It returns an associative array with `js` and `css` asset handles and URLs -for ready consumption using `wp_enqueue` API. A return may look like this +It returns an associative array with `js` and `css` asset handles and URLs for +ready consumption using `wp_enqueue` API. A return may look like this ```php $return = [ @@ -204,13 +207,13 @@ $return = [ ]; ``` -It doesn't take care of internal dependencies by itself. The `register` -method does. +It doesn't take care of internal dependencies by itself. The `register` method +does. ## Instance API: `register` -Register script handles with WordPress for an entrypoint inside a source. -It does not enqueue the assets, just calls `wp_register_*` on the asset. +Register script handles with WordPress for an entrypoint inside a source. It +does not enqueue the assets, just calls `wp_register_*` on the asset. This is useful if just registering script for things like gutenberg. @@ -235,7 +238,8 @@ $assets = $enqueue->register( 'app', 'main', [ All the assets within an `$entryPoint` has internal dependency upon each other. -Let us consider the following `manifest.json` file generated by `@wpackio/scripts`. +Let us consider the following `manifest.json` file generated by +`@wpackio/scripts`. ```json { @@ -268,8 +272,8 @@ Here the asset `app/main.js` of `main` `entryPoint` depends on both 1. `app/vendor~main.js`. 2. `app/runtime.js`. -So if we were to `enqueue` only `app/main.js` it will not work, it need the -two scripts in the page too. +So if we were to `enqueue` only `app/main.js` it will not work, it need the two +scripts in the page too. Similarly for the asset `app/mobile.js`, of `mobile` `entryPoint`, we have internal dependency of @@ -277,11 +281,11 @@ internal dependency of 1. `app/vendor~mobile.js`. 2. `app/runtime.js`. -Here `app/runtime.js` is a common dependency for both the entry-points. But -we should enqueue it only once. +Here `app/runtime.js` is a common dependency for both the entry-points. But we +should enqueue it only once. -To make sure WordPress properly enqueues the dependencies and doesn't come -up with duplicate scripts, `register` sets the scripts dependencies for you. +To make sure WordPress properly enqueues the dependencies and doesn't come up +with duplicate scripts, `register` sets the scripts dependencies for you. So if you do something like this @@ -302,11 +306,12 @@ wp_enqueue_script( ); ``` -You can be assured that `app/vendor~main.js` and `app/runtime.js` will both -be enqueued. +You can be assured that `app/vendor~main.js` and `app/runtime.js` will both be +enqueued. -There isn't any magic behind it. We just set internal dependencies during -call to [`wp_register_(script|style)`](https://github.com/swashata/wpackio-enqueue/blob/6411c4781ed58e62f746e01d081fd1838a212edf/inc/Enqueue.php#L146). +There isn't any magic behind it. We just set internal dependencies during call +to +[`wp_register_(script|style)`](https://github.com/swashata/wpackio-enqueue/blob/6411c4781ed58e62f746e01d081fd1838a212edf/inc/Enqueue.php#L146). ## Instance API: `enqueue` @@ -360,16 +365,19 @@ $enqueue->getManifest( $name ); #### `$name` (`string`) -The name of the file entry as defined in `**wpackio.project.js**`. The `wpackio-scripts` -internally creates a directory of the same name inside `outputPath`. +The name of the file entry as defined in `**wpackio.project.js**`. The +`wpackio-scripts` internally creates a directory of the same name inside +`outputPath`. -`wpackio/enqueue` uses the same concept and looks for a file `manifest.json` inside -the same directory and returns the content as an associative array (using `json_decode`). +`wpackio/enqueue` uses the same concept and looks for a file `manifest.json` +inside the same directory and returns the content as an associative array (using +`json_decode`). ## Instance API: `getUrl` Get public URL of an asset (script or style). It doesn't check whether the asset -actually exists or not. It just calculates the plugin/theme URL from `$outputPath`. +actually exists or not. It just calculates the plugin/theme URL from +`$outputPath`. This is meant to be used to get URL from `manifest.json` files directly. @@ -392,12 +400,13 @@ $enqueue->getManifest( $asset ); #### `$asset` (`string`) -The relative path of the asset (with forward `/` as director separator) for which -URL is to be calculated. +The relative path of the asset (with forward `/` as director separator) for +which URL is to be calculated. ## Instance API: `getPrimaryJsHandle` -Get primary js handle from enqueued/registered assets. This is useful to localize/translate the script handle. +Get primary js handle from enqueued/registered assets. This is useful to +localize/translate the script handle. ### Usage @@ -421,7 +430,8 @@ Assets array as returned from enqueue or register. ## Instance API: `getPrimaryCssHandle` -Get primary css handle from enqueued/registered assets. This is useful to localize/translate the script handle. +Get primary css handle from enqueued/registered assets. This is useful to +localize/translate the script handle. ### Usage diff --git a/site/docs/apis/project-configuration.md b/site/docs/apis/project-configuration.md index 3a1455fde..79b5b5b93 100644 --- a/site/docs/apis/project-configuration.md +++ b/site/docs/apis/project-configuration.md @@ -4,9 +4,8 @@ order: 1 shortTitle: Project Configuration --- -The `wpackio.project.js` file at the root of your workspace tells wpackio -how your project is to be compiled. When you bootstrap this file is created -for you. +The `wpackio.project.js` file at the root of your workspace tells wpackio how +your project is to be compiled. When you bootstrap this file is created for you. > You should commit `wpackio.project.js` with your VCS. @@ -166,10 +165,11 @@ It has the following properties: ## `files` (`Array`) -An array of file object. It defines which files to compile and supports code-splitting -with different entry-points. +An array of file object. It defines which files to compile and supports +code-splitting with different entry-points. -Unlike [webpack entry-point](https://webpack.js.org/configuration/entry-context/#entry) +Unlike +[webpack entry-point](https://webpack.js.org/configuration/entry-context/#entry) it has to be an array of object of a certain shape. First let us see an example. ```js @@ -189,18 +189,20 @@ module.exports = { }; ``` -Here we have passed only one file object to the `files` entry. In most of the cases -this is what we'd need. Our main `entry` will split codes depending on different -entry-points and the tooling will handle chunk-splitting, optimization, prevent -duplicates etc. More information is found [here](https://webpack.js.org/guides/code-splitting/). +Here we have passed only one file object to the `files` entry. In most of the +cases this is what we'd need. Our main `entry` will split codes depending on +different entry-points and the tooling will handle chunk-splitting, +optimization, prevent duplicates etc. More information is found +[here](https://webpack.js.org/guides/code-splitting/). -Once again, do note that you do not really need to do anything apart from defining -`entry.property = string[]` logically. Just think about which single JS file -you will need to run a particular application. Even if you have only one property -under `entry`, then also (if needed) chunk-splitting will be applied. +Once again, do note that you do not really need to do anything apart from +defining `entry.property = string[]` logically. Just think about which single JS +file you will need to run a particular application. Even if you have only one +property under `entry`, then also (if needed) chunk-splitting will be applied. -If we were to pass multiple file object, then webpack would run in [multi-compiler](https://webpack.js.org/api/node/#multicompiler) -mode, separating dependency tree from each of the file object. +If we were to pass multiple file object, then webpack would run in +[multi-compiler](https://webpack.js.org/api/node/#multicompiler) mode, +separating dependency tree from each of the file object. Each file object has two required and four optional properties. Here's the interface. @@ -227,11 +229,15 @@ interface FileConfig { } ``` +> When you've passed multiple files entry on the project config, you can also +> start the dev server with selective entry or entries. This is useful for large +> projects. Please read about it [here](/tutorials/starting-selective-entries/). + #### `name` (`string`) **required**: A unique name of this file entry. If you are using more than one file entry, -then make sure to give different names, otherwise the compiler might not work -in development mode. +then make sure to give different names, otherwise the compiler might not work in +development mode. #### `entry` (`object`) **required**: @@ -244,10 +250,12 @@ const entry = { }; ``` -As you can see, we only support [Object Syntax of webpack entry](https://webpack.js.org/concepts/entry-points/#object-syntax). +As you can see, we only support +[Object Syntax of webpack entry](https://webpack.js.org/concepts/entry-points/#object-syntax). -The reason is, we do our own little magic ([covered in the concepts section](/concepts/)) to -define dynamic `publicPath` from WordPress API itself. +The reason is, we do our own little magic +([covered in the concepts section](/concepts/)) to define dynamic `publicPath` +from WordPress API itself. #### `webpackConfig` (`Function` | `Object` | `undefined`) @@ -255,7 +263,9 @@ If you'd like to extend webpack configuration, then this is where you'd put your code. It can support both webpack configuration objects or function to get further -control. Kindly read the [_Extending Webpack Config_](/tutorials/extending-webpack-config/) under [tutorials](/tutorials/). +control. Kindly read the +[_Extending Webpack Config_](/tutorials/extending-webpack-config/) under +[tutorials](/tutorials/). #### `optimizeForGutenberg` (`boolean`): @@ -283,7 +293,8 @@ type webpackConfigCallback = ( ###### `config` (`webpack.Configuration`) -The configuration calculated by `@wpackio/scripts` is passed as the first parameter. +The configuration calculated by `@wpackio/scripts` is passed as the first +parameter. ###### `merge` (`webpackMerge`) @@ -305,7 +316,8 @@ Array of glob pattern for which typescript reports are to be notified. Explicitly disable typescript type assertions. -> More information about typescript related options can be found [here](/tutorials/adding-typescript/). +> More information about typescript related options can be found +> [here](/tutorials/adding-typescript/). ## `outputPath` (`string`): @@ -324,13 +336,13 @@ Where you need support for react specific presets, like `jsx`. _since v6.0.0_ Whether or not to use the new jsx runtime introduced in React 17. This is opt-in -as of now. Please see [here for implications](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html). +as of now. Please see +[here for implications](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html). ## `disableReactRefresh` (`boolean`): -When you have react for your project, wpackio will use react fast refresh -for seamless updates of components. Set this to `true` if you want to disable -it. +When you have react for your project, wpackio will use react fast refresh for +seamless updates of components. Set this to `true` if you want to disable it. ## `hasSass` (`boolean`): @@ -344,23 +356,26 @@ Whether you need support for [flowtype](https://flow.org/). ## `useBabelConfig` (`boolean`) wpackio-scripts knowingly avoids any `babel.config.js` and `.babelrc` file from -`babel-loader`. If you wish to avoid this behavior and want to be in control -of babel configuration, set this option to true. +`babel-loader`. If you wish to avoid this behavior and want to be in control of +babel configuration, set this option to true. -More information about it can be [read here](/tutorials/adding-custom-babel-config/). +More information about it can be +[read here](/tutorials/adding-custom-babel-config/). ## `jsBabelPresetOptions` (`object`) | `tsBabelPresetOptions` (`object`) -wpackio script uses its own [preset](https://github.com/swashata/wp-webpack-script/tree/master/packages/babel-preset-base) -for javascript and typescript files. Using this option you can pass in additional -config and it will be spread over the default one. +wpackio script uses its own +[preset](https://github.com/swashata/wp-webpack-script/tree/master/packages/babel-preset-base) +for javascript and typescript files. Using this option you can pass in +additional config and it will be spread over the default one. -> `jsBabelPresetOptions` is applied for `js,jsx` files and `tsBabelPresetOptions` -> is applied for `ts.tsx` files. +> `jsBabelPresetOptions` is applied for `js,jsx` files and +> `tsBabelPresetOptions` is applied for `ts.tsx` files. ## `jsBabelOverride` (`Function`) | `tsBabelOverride` (`Function`) -Pass in a callback function to completely override options for [`babel-loader`](https://github.com/babel/babel-loader#options) +Pass in a callback function to completely override options for +[`babel-loader`](https://github.com/babel/babel-loader#options) The signature is @@ -384,16 +399,18 @@ module.exports = { }; ``` -> `jsBabelOverride` is applied for `js,jsx` files and `tsBabelOverride` -> is applied for `ts.tsx` files. +> `jsBabelOverride` is applied for `js,jsx` files and `tsBabelOverride` is +> applied for `ts.tsx` files. ## `externals` (`Object`) -Configure [webpack external runtime dependency](https://webpack.js.org/configuration/externals/#externals). +Configure +[webpack external runtime dependency](https://webpack.js.org/configuration/externals/#externals). ## `alias` (`Object`) -Configure [webpack `resolve.alias`](https://webpack.js.org/configuration/resolve/#resolve-alias). +Configure +[webpack `resolve.alias`](https://webpack.js.org/configuration/resolve/#resolve-alias). ## `errorOverlay` (`boolean`) @@ -404,15 +421,16 @@ Whether to show overlay during development mode when some error has occurred. Whether or not to apply built-in optimization presets. Turn it off if you would like to do things manually. -We have the default config from [webpack optimization split-chunks plugin](https://webpack.js.org/plugins/split-chunks-plugin/#optimization-splitchunks) +We have the default config from +[webpack optimization split-chunks plugin](https://webpack.js.org/plugins/split-chunks-plugin/#optimization-splitchunks) with only exception of setting `chunks` to `'all'`. We can do it safely because our PHP consumer library handles the enqueue. ## `compileNodeModules` (`object`) -Determines how `node_modules` is compiled during development and production mode. -If this is not present, then `node_modules` is compiled in both dev and prod. -However it can be configured like this. +Determines how `node_modules` is compiled during development and production +mode. If this is not present, then `node_modules` is compiled in both dev and +prod. However it can be configured like this. ```js module.exports = { @@ -441,14 +459,15 @@ Array of [glob patterns](https://github.com/sindresorhus/cpy#usage) to copy files to the `packageDirPath` directory. This is used to create the distributable zip file. -WordPress allows uploading `.zip` files to install both theme and plugins. -This option provides you a way to create such `.zip` file with `wpackio-scripts pack` command. +WordPress allows uploading `.zip` files to install both theme and plugins. This +option provides you a way to create such `.zip` file with `wpackio-scripts pack` +command. ## packageDirPath (`string`) -Relative path of directory where we would put the package files. You should -add it to your `.gitignore` file. A subdirectory with name same as [`slug`](#slug-string) -will always be created inside it. +Relative path of directory where we would put the package files. You should add +it to your `.gitignore` file. A subdirectory with name same as +[`slug`](#slug-string) will always be created inside it. The generated package file will also have name like `.zip`. @@ -458,7 +477,7 @@ The level of zlib compression to use when creating the zip. ## disableWordPressExternals (`boolean`) -Whether or not to disable wordpress external scripts handling. If this option -is set to true, then no `@wordpress` name-spaced dependencies will be extracted -as an external. Also the dependencies json file which the PHP library depends on +Whether or not to disable wordpress external scripts handling. If this option is +set to true, then no `@wordpress` name-spaced dependencies will be extracted as +an external. Also the dependencies json file which the PHP library depends on (but will not fail if is not present) will not be created. diff --git a/site/docs/apis/server-configuration.md b/site/docs/apis/server-configuration.md index b6fe7f4ed..4a4b61766 100644 --- a/site/docs/apis/server-configuration.md +++ b/site/docs/apis/server-configuration.md @@ -4,11 +4,11 @@ order: 2 shortTitle: Server Configuration --- -The `wpackio.server.js` file at the root of your workspace tells wpackio -how your development server is handled. +The `wpackio.server.js` file at the root of your workspace tells wpackio how +your development server is handled. -It is used to proxy an existing development server and run webpack and browsersync -on top of it, to give you the ultimate developer experience. +It is used to proxy an existing development server and run webpack and +browsersync on top of it, to give you the ultimate developer experience. > You should NOT commit `wpackio.server.js` with your VCS, if you do not have > docker based development. In case of mamp, wamp, vvv, local server generally @@ -56,8 +56,8 @@ Let's dive in deep with different options. ## `host` (`string`) The IP Address of your local network. An IP is needed because only then can we -properly have browser-sync accessible across network and have our service workers -work. +properly have browser-sync accessible across network and have our service +workers work. wpackio will try to determine the best possible IP address from your interfaces and will use that. @@ -69,8 +69,8 @@ If you pass a specific value (`192.168.1.102`), then it will be used instead. The URL of the local WordPress development server where your theme/plugin is installed and being developed upon. -Right now, we recommend having a Root WordPress installation (not sub-folder). If -you have sub-folder installation, then put the whole URL as proxy like +Right now, we recommend having a Root WordPress installation (not sub-folder). +If you have sub-folder installation, then put the whole URL as proxy like `http://localhost/wp-plugin` ## `port` (`number`) @@ -79,7 +79,8 @@ A port where the development hot server will live. ## `ui` (`Object`) -Passed directly to [browser-sync](https://browsersync.io/docs/options#option-ui). +Passed directly to +[browser-sync](https://browsersync.io/docs/options#option-ui). ## `notify` (`boolean`) @@ -91,7 +92,8 @@ Whether to automatically open the local server on your browser. ## `ghostMode` (`boolean`|`Object`) -Passed directly to [browser-sync](https://browsersync.io/docs/options#option-ghostMode). +Passed directly to +[browser-sync](https://browsersync.io/docs/options#option-ghostMode). ## `distPublicPath` (`string`) @@ -107,13 +109,13 @@ By default `wpackio-scripts` calculates the URL of the `outputPath` in this way So this assumes that -- WordPress proxy server is installed in root and not in sub-directory. -- The directory structures of plugins, themes are set as default. -- You have entered the correct `slug` in your project configuration - and it matches with the directory structure of your development server. +- WordPress proxy server is installed in root and not in sub-directory. +- The directory structures of plugins, themes are set as default. +- You have entered the correct `slug` in your project configuration and it + matches with the directory structure of your development server. -In case, your development server doesn't work like this, you can specify -your `distPublicPath` manually. +In case, your development server doesn't work like this, you can specify your +`distPublicPath` manually. ``` /wp-custom-content/secret-plug-directory/overriden-slug/dist/ diff --git a/site/docs/commands/wpackio-cli.md b/site/docs/commands/wpackio-cli.md index 938ee1135..b17024bdd 100644 --- a/site/docs/commands/wpackio-cli.md +++ b/site/docs/commands/wpackio-cli.md @@ -5,7 +5,8 @@ shortTitle: '@wpackio/cli' --- The package `@wpackio/cli` comes with one binary `wpackio-cli`. We do not -recommend installing it directly. It is best to use it with `npx` (which comes with npm 5.2+). +recommend installing it directly. It is best to use it with `npx` (which comes +with npm 5.2+). ## Install globally @@ -23,8 +24,7 @@ npx @wpackio/cli --help ## Usage The command doesn't take any parameters. It is used to -[bootstrap `@wpackio/scripts`](/guides/getting-started/) -in your project. +[bootstrap `@wpackio/scripts`](/guides/getting-started/) in your project. Simply navigate to your project. diff --git a/site/docs/commands/wpackio-scripts.md b/site/docs/commands/wpackio-scripts.md index d511a2eee..2a716380d 100644 --- a/site/docs/commands/wpackio-scripts.md +++ b/site/docs/commands/wpackio-scripts.md @@ -7,11 +7,11 @@ shortTitle: '@wpackio/scripts' This is the main `devDependency` of your project which will give four functionalities. -- Bootstrap [project](/configuration/project-configuration/) and - [server](/configuration/server-configuration/) configuration. -- Start Development server. -- Create production build files. -- Create distributable zip files. +- Bootstrap [project](/configuration/project-configuration/) and + [server](/configuration/server-configuration/) configuration. +- Start Development server. +- Create production build files. +- Create distributable zip files. ## Installation @@ -55,13 +55,12 @@ npm run start ``` and it will invoke the command. If you have created your project with -[@wpackio/cli](/commands/wpackio-cli/), then it is already taken care for -you. +[@wpackio/cli](/commands/wpackio-cli/), then it is already taken care for you. ## CLI Commands -The cli app takes 4 commands and three optional parameters. Remember you -can always do something like this. +The cli app takes 4 commands and three optional parameters. Remember you can +always do something like this. ```bash `npm bin`/wpackio-scripts --help @@ -69,12 +68,43 @@ can always do something like this. to find out more. +### CLI Parameters + +All of the commands below take the following parameters. + +#### `-c, --context [path]` + +Path to context or project root directory. Defaults to current working +directory. + +It is recommended to use absolute path, else it is calculated from current +working directory. + +The path you mention here should be what the URL +`localhost/wp-content///` map to. + +In most cases, you should leave it, because calling the program from npm or yarn +script should automatically set it. + +#### `-p, --project-config [path]` + +Path to project config. If it differs from `./wpackio.project.js`. + +#### `-s, --server-config [path]` + +Path to server config. If it differs from `./wpackio.server.js`. + +#### `-h, --help` + +Output usage information. + ### `wpackio-scripts bootstrap` ![bootstrap](../../frontpage/steps/02-bootstrap.gif) -Create [configuration files](/configuration/) on first run. If `wpackio.project.js` -is already present, then just create the `wpackio.server.js` file. +Create [configuration files](/configuration/) on first run. If +`wpackio.project.js` is already present, then just create the +`wpackio.server.js` file. It also checks your `package.json` file and inserts `scripts` if not already found. @@ -96,6 +126,17 @@ found. Starts the development server. +Apart from the cli parameters above, it also takes an additional parameter. + +#### `-e, --entries ` + +Select entries from wpackio.project.js file for which we start the server. +Either 0 based index of the entry, like `-e 0 2` will start the 0th and 2nd +entry of wpackio project. You can also supply the name of the entries, like +`-e app admin`. The tool will search wpackio for entries with name set to app +and admin. If found, it will start them. More information +[can be found here](/tutorials/starting-selective-entries/). + ### `wpackio-scripts build` ![build](../../frontpage/steps/06-build.gif) @@ -107,29 +148,3 @@ Build production files. ![pack](../../frontpage/steps/07-archive.gif) Create a distributable `.zip` file for your WordPress plugin or theme. - -## CLI Parameters - -All of the commands take the following parameters. - -### `-c, --context [path]` - -Path to context or project root directory. Defaults to current working directory. - -It is recommended to use absolute path, else it is calculated from current working directory. - -The path you mention here should be what the URL `localhost/wp-content///` map to. - -In most cases, you should leave it, because calling the program from npm or yarn script should automatically set it. - -### `-p, --project-config [path]` - -Path to project config. If it differs from `./wpackio.project.js`. - -### `-s, --server-config [path]` - -Path to server config. If it differs from `./wpackio.server.js`. - -### `-h, --help` - -Output usage information. diff --git a/site/docs/concepts/how-everything-works-together.md b/site/docs/concepts/how-everything-works-together.md index 44e2493fe..e25748f5e 100644 --- a/site/docs/concepts/how-everything-works-together.md +++ b/site/docs/concepts/how-everything-works-together.md @@ -5,20 +5,21 @@ shortTitle: How it works --- This is an attempt to cover the working of this tooling. While this is really -_just_ a [webpack](https://webpack.js.org/) and [browser-sync](https://browsersync.io/) based tooling, there are a few cases -we had to consider to make sure it works nicely with WordPress. +_just_ a [webpack](https://webpack.js.org/) and +[browser-sync](https://browsersync.io/) based tooling, there are a few cases we +had to consider to make sure it works nicely with WordPress. ## Choice of tooling -- We use [webpack](https://webpack.js.org/) as the primary bundler. -- [Browser Sync](https://browsersync.io/), along with `webpack-dev-middleware` - acts as the development server. -- `webpack-hot-middleware` is used to provide all the **HOT MODULE REPLACEMENT** - (_HMR_) goodness. -- `babel-loader` as the webpack module loader which uses babel under the hood - to compile modern JavaScript/Typescript code. -- `sass-loader`, `postcss-loader`, `autoprefixer` along with `mini-css-extract-plugin` - to handle CSS/SASS/SCSS source. +- We use [webpack](https://webpack.js.org/) as the primary bundler. +- [Browser Sync](https://browsersync.io/), along with `webpack-dev-middleware` + acts as the development server. +- `webpack-hot-middleware` is used to provide all the **HOT MODULE REPLACEMENT** + (_HMR_) goodness. +- `babel-loader` as the webpack module loader which uses babel under the hood to + compile modern JavaScript/Typescript code. +- `sass-loader`, `postcss-loader`, `autoprefixer` along with + `mini-css-extract-plugin` to handle CSS/SASS/SCSS source. Everything fits in together when we pass the middlewares to browsersync. @@ -27,7 +28,8 @@ play good together. ## Multiple webpack compiled assets -It is possible to have multiple webpack compiled assets. So [`output.jsonpFunction`](https://webpack.js.org/configuration/output/#output-jsonpfunction) +It is possible to have multiple webpack compiled assets. So +[`output.jsonpFunction`](https://webpack.js.org/configuration/output/#output-jsonpfunction) needs to be unique. ## Runtime publicPath (dynamic) @@ -40,26 +42,33 @@ free way about this `publicPath`. ### During development -In development server, we shouldn't set `publicPath` dynamically, rather have -it set to the `plugin` or `theme` output directory, considering WordPress is +In development server, we shouldn't set `publicPath` dynamically, rather have it +set to the `plugin` or `theme` output directory, considering WordPress is installed at root. This is needed to make `webpack-hot-middleware` work. -In case if the URL to the [`outputPath`](/apis/project-configuration/#outputpath-string) directory is not something like -`http://host.tld/wp-content/plugins///`, then we -have an option [`distPublicPath`](/apis/server-configuration/#distpublicpath-string) -which we can mention under `wpackio.server.js` file to define the URL path. -For example, if your WordPress dev server is serving from `http://localhost/wp-one`, then you can pass -`/wp-one/wp-content/plugins///`. +In case if the URL to the +[`outputPath`](/apis/project-configuration/#outputpath-string) directory is not +something like `http://host.tld/wp-content/plugins///`, then +we have an option +[`distPublicPath`](/apis/server-configuration/#distpublicpath-string) which we +can mention under `wpackio.server.js` file to define the URL path. For example, +if your WordPress dev server is serving from `http://localhost/wp-one`, then you +can pass `/wp-one/wp-content/plugins///`. There could be multiple webpack compiler (depending on `wpackio.project.js`), but to keep things fast, we are passing only one instance of `webpack-dev` and `webpack-hot` middleware. So we need to make sure: -- the listen path of [`webpack-hot-middleware`](https://github.com/webpack-contrib/webpack-hot-middleware#client) is same across all webpack instances. -- the `publicPath` of [`webpack-dev-middleware`](https://github.com/webpack/webpack-dev-middleware#publicpath) is same across all webpack instances. +- the listen path of + [`webpack-hot-middleware`](https://github.com/webpack-contrib/webpack-hot-middleware#client) + is same across all webpack instances. +- the `publicPath` of + [`webpack-dev-middleware`](https://github.com/webpack/webpack-dev-middleware#publicpath) + is same across all webpack instances. We achieve this by having only one `dist` or `outputPath` in our config and -pointing `publicPath` towards it. Then in the actual [`output.filename`](https://webpack.js.org/configuration/output/#output-filename) +pointing `publicPath` towards it. Then in the actual +[`output.filename`](https://webpack.js.org/configuration/output/#output-filename) of webpack, we use sub-directory separator, like ```js @@ -74,24 +83,26 @@ During production, we don't make any assumptions at all. The reason is the same, we can not know if 1. WordPress is installed in root or not. -2. Whether `wp-content`, `plugins` and/or `themes` directory has been changed or not. +2. Whether `wp-content`, `plugins` and/or `themes` directory has been changed or + not. -So what we do instead is, we provide webpack runtime dynamic `pubicPath` by setting -`__webpack_public_path__` variable. +So what we do instead is, we provide webpack runtime dynamic `pubicPath` by +setting `__webpack_public_path__` variable. -If you want to know more about how publicPath works together with the PHP library -read [this concept note](/concepts/how-publicpath-works/). +If you want to know more about how publicPath works together with the PHP +library read [this concept note](/concepts/how-publicpath-works/). ## Single runtime for different entrypoints -While different webpack compiler instances are separated by different `output.jsonpFunction` -there's still one thing we need to consider. +While different webpack compiler instances are separated by different +`output.jsonpFunction` there's still one thing we need to consider. -**There should be only one runtime for every chunks**. If we put multiple runtimes -then the execution will be slower and there could be some race condition, overriding -our dynamic imports. +**There should be only one runtime for every chunks**. If we put multiple +runtimes then the execution will be slower and there could be some race +condition, overriding our dynamic imports. -This is handled by telling webpack to [split the runtime through a common chunk](https://webpack.js.org/configuration/optimization/#optimization-runtimechunk) +This is handled by telling webpack to +[split the runtime through a common chunk](https://webpack.js.org/configuration/optimization/#optimization-runtimechunk) and then *enqueue*ing it only once, using our PHP library. ## Enqueue common chunks only once @@ -113,23 +124,26 @@ module.exports = { }; ``` -Here it is very much possible, depending on our [dependency graph](https://webpack.js.org/concepts/dependency-graph/) -that both `main` and `mobile` ends up using similar libraries. With the optimization -in effect, webpack will create a common chunk for it, say `main~mobile~vendor.js`. +Here it is very much possible, depending on our +[dependency graph](https://webpack.js.org/concepts/dependency-graph/) that both +`main` and `mobile` ends up using similar libraries. With the optimization in +effect, webpack will create a common chunk for it, say `main~mobile~vendor.js`. -Now if we were to enqueue both `main` and `mobile` in the same page, then we should -take care that `main~mobile~vendor.js` is enqueued exactly once. +Now if we were to enqueue both `main` and `mobile` in the same page, then we +should take care that `main~mobile~vendor.js` is enqueued exactly once. This is again handled by -1. Telling webpack to [optimize using SplitChunksPlugin](https://webpack.js.org/plugins/split-chunks-plugin/). +1. Telling webpack to + [optimize using SplitChunksPlugin](https://webpack.js.org/plugins/split-chunks-plugin/). 2. Generating unique `wp_enqueue` `$handle` through our PHP library. In the background it just works, conflict free, thanks to the approach. ## Generate webpack config -Keeping all these things in mind, the whole webpack configuration is created on the fly. I have tried to provide the best possible sane defaults, so that you +Keeping all these things in mind, the whole webpack configuration is created on +the fly. I have tried to provide the best possible sane defaults, so that you don't need to fiddle with the config. But if you want to, then it is only a ```js @@ -149,6 +163,6 @@ module.exports = { }; ``` -away. But be extremely careful when doing this. If you fiddle with `config.entry` -and `config.output`, you will probably break stuff. In most of the cases, you will -never need to change those. +away. But be extremely careful when doing this. If you fiddle with +`config.entry` and `config.output`, you will probably break stuff. In most of +the cases, you will never need to change those. diff --git a/site/docs/concepts/how-publicpath-works.md b/site/docs/concepts/how-publicpath-works.md index 57c9c76a6..d84523604 100644 --- a/site/docs/concepts/how-publicpath-works.md +++ b/site/docs/concepts/how-publicpath-works.md @@ -4,15 +4,16 @@ order: 1 shortTitle: Dynamic Imports & publicPath --- -Glad you asked. The documentation at [webpack `output.publicPath`](https://webpack.js.org/configuration/output/#output-publicpath) +Glad you asked. The documentation at +[webpack `output.publicPath`](https://webpack.js.org/configuration/output/#output-publicpath) says this is one `free` variable `__webpack_public_path__` which can be used to -define the `publicPath` where webpack would look to lazy-load -(or on-demand load) chunks. +define the `publicPath` where webpack would look to lazy-load (or on-demand +load) chunks. ## Concept of `publicPath` -When creating an SPA (Single Page Application), all the assets usually -resides at the root `dist` directory. +When creating an SPA (Single Page Application), all the assets usually resides +at the root `dist` directory. So given the following `webpack.config.js` file @@ -41,7 +42,8 @@ Relying on this theory, we have set `output.publicPath` to be `/dist/`. So if webpack will look for the file `http://example.com/dist/chunkName.js` to load the dynamic import. -This theory works really good, when we are in control of our HTML assets and URL. +This theory works really good, when we are in control of our HTML assets and +URL. For example, we could very much put all the files inside `dist` to a CDN, and change `publicPath` to `https://cdn.example.com/path/to/asset/dir`. @@ -62,14 +64,15 @@ There is no way, we can know what the URL would be, during build-time. ### The Solution Luckily, from WordPress itself, we can very easily get the public URL of our -asset (`dist`) directory using functions like `plugins_url` or `get_stylesheet_directory_uri`. +asset (`dist`) directory using functions like `plugins_url` or +`get_stylesheet_directory_uri`. This is the concept we use at wpackio. So it boils down to: #### 1: Generate publicPath with PHP library -With the PHP script, we generate the publicPath URL and put it in website -head within a ` ``` -This is single-handedly responsible for making webpack [dynamic publicPath](https://webpack.js.org/guides/public-path/#on-the-fly) work. +This is single-handedly responsible for making webpack +[dynamic publicPath](https://webpack.js.org/guides/public-path/#on-the-fly) +work. -More information can be found about available methods in [PHP API](/apis/php-api/) docs. +More information can be found about available methods in +[PHP API](/apis/php-api/) docs. diff --git a/site/docs/tutorials/adding-custom-babel-config.md b/site/docs/tutorials/adding-custom-babel-config.md index fd3cbb1b6..d272d944b 100644 --- a/site/docs/tutorials/adding-custom-babel-config.md +++ b/site/docs/tutorials/adding-custom-babel-config.md @@ -5,8 +5,8 @@ shortTitle: Adding Babel Config --- By default `@wpackio/scripts` ignores all `babel.config.js` and `.babelrc` files -and passes its own configuration to `babel-loader`. This works great for most -of the projects. But you might want to pass custom babel configuration which is +and passes its own configuration to `babel-loader`. This works great for most of +the projects. But you might want to pass custom babel configuration which is aware of tests or perhaps needs some other custom plugins. There are two safe approach to do this. @@ -14,9 +14,11 @@ There are two safe approach to do this. ## Using project config If your babel configuration is only needed for `@wpackio/scripts` and not any -other tooling (like jest), then you should be able to use the project configurations. +other tooling (like jest), then you should be able to use the project +configurations. -You will need to use [`babelPresetOptions` and `babelOverride`](https://wpack.io/apis/project-configuration/#jsbabelpresetoptions-object--tsbabelpresetoptions-object) +You will need to use +[`babelPresetOptions` and `babelOverride`](https://wpack.io/apis/project-configuration/#jsbabelpresetoptions-object--tsbabelpresetoptions-object) options to pass in custom values directly to `@wpackio/scripts`. ## Using custom babel.config.js @@ -37,12 +39,12 @@ module.exports = { Now `@wpackio/scripts` will not pass any options to `babel-loader` and it will fallback to your own `babel.config.js` file. -Note that when doing this, you will lose the built-in abilities for react, typescript -etc. Because internally `@wpackio/scripts` passes the needed babel options to -`babel-loader` to parse and compile those files. +Note that when doing this, you will lose the built-in abilities for react, +typescript etc. Because internally `@wpackio/scripts` passes the needed babel +options to `babel-loader` to parse and compile those files. -However you can easily achieve the same with the `getBabelPresets` [node.js API](/apis/node-api/). -Your `babel.config.js` file may look like this. +However you can easily achieve the same with the `getBabelPresets` +[node.js API](/apis/node-api/). Your `babel.config.js` file may look like this. ```js import { getBabelPresets } from '@wpackio/scripts'; diff --git a/site/docs/tutorials/adding-typescript.md b/site/docs/tutorials/adding-typescript.md index f0388da67..dcc9161cf 100644 --- a/site/docs/tutorials/adding-typescript.md +++ b/site/docs/tutorials/adding-typescript.md @@ -4,26 +4,33 @@ order: 3 shortTitle: Adding Typescript --- -`@wpackio/scripts` has first-class support for both [typescript](https://www.typescriptlang.org/) -and [flow type](https://flow.org/). While flow works right out of the box -there are some configuration needed for typescript. +`@wpackio/scripts` has first-class support for both +[typescript](https://www.typescriptlang.org/) and +[flow type](https://flow.org/). While flow works right out of the box there are +some configuration needed for typescript. ## Provided tooling -`@wpackio/scripts` comes with the build tooling for typescript, not typescript and -webpack plugins. Also note that, we use [babel 7](https://babeljs.io/docs/en/babel-preset-typescript) -to compile typescript and [Fork TS Checked Webpack Plugin](https://github.com/Realytics/fork-ts-checker-webpack-plugin) +`@wpackio/scripts` comes with the build tooling for typescript, not typescript +and webpack plugins. Also note that, we use +[babel 7](https://babeljs.io/docs/en/babel-preset-typescript) to compile +typescript and +[Fork TS Checked Webpack Plugin](https://github.com/Realytics/fork-ts-checker-webpack-plugin) to show type-errors during build/development time. So there are some gotchas. ## What doesn't work -As [explained in microsoft blog](https://blogs.msdn.microsoft.com/typescript/2018/08/27/typescript-and-babel-7/) +As +[explained in microsoft blog](https://blogs.msdn.microsoft.com/typescript/2018/08/27/typescript-and-babel-7/) the following doesn't work when using babel to compile typescript. -- namespaces. -- bracket style type-assertion/cast syntax regardless of when JSX is enabled (i.e. writing `x` won’t work even in `.ts` files if JSX support is turned on, but you can instead write `x as Foo`). -- enums that span multiple declarations (i.e. enum merging). -- legacy-style import/export syntax (i.e. `import foo = require(...)` and `export = foo`). +- namespaces. +- bracket style type-assertion/cast syntax regardless of when JSX is enabled + (i.e. writing `x` won’t work even in `.ts` files if JSX support is turned + on, but you can instead write `x as Foo`). +- enums that span multiple declarations (i.e. enum merging). +- legacy-style import/export syntax (i.e. `import foo = require(...)` and + `export = foo`). So keep these in mind. @@ -78,32 +85,35 @@ module.exports = { }; ``` -Now you are good to go. The compiler will also show any `ts` error you might have. +Now you are good to go. The compiler will also show any `ts` error you might +have. -> **NOTE** - Internally wpack.io depends on [`fork-ts-checker-webpack-plugin`](https://github.com/Realytics/fork-ts-checker-webpack-plugin) +> **NOTE** - Internally wpack.io depends on +> [`fork-ts-checker-webpack-plugin`](https://github.com/Realytics/fork-ts-checker-webpack-plugin) > to show type errors during build time. So make sure you install it, otherwise > it will not work. ## Optimization -By default `@wpackio/scripts` will create an instance of `fork-ts-checker-webpack-plugin` -if a `tsconfig.json` is found in the current project root. +By default `@wpackio/scripts` will create an instance of +`fork-ts-checker-webpack-plugin` if a `tsconfig.json` is found in the current +project root. -The same plugin would go into all multi-entry compiler instances and would enable -typechecking for all entries. +The same plugin would go into all multi-entry compiler instances and would +enable typechecking for all entries. -Sometimes, this could not be the desired feature. For instance, you might have -a plain JS app, alongside a TS app and you don't want the typechecker for the JS -app. Luckily it is not possible to explicitly disable typechecking for individual -file entry using `hasTypeScript`. +Sometimes, this could not be the desired feature. For instance, you might have a +plain JS app, alongside a TS app and you don't want the typechecker for the JS +app. Luckily it is not possible to explicitly disable typechecking for +individual file entry using `hasTypeScript`. Furthermore, due to the nature of TypeScript, you might notice duplicate error -reports across multiple files entry. This can also be remedied using `typeWatchFiles` -config variable. +reports across multiple files entry. This can also be remedied using +`typeWatchFiles` config variable. Under your [`FileConfig`](/apis/project-configuration/#files-array) add the -`hasTypeScript` option. Below is an example of two apps, one explicitly disabling -the typecheck. +`hasTypeScript` option. Below is an example of two apps, one explicitly +disabling the typecheck. **wpackio.project.js** diff --git a/site/docs/tutorials/breaking-changes-v6.md b/site/docs/tutorials/breaking-changes-v6.md index fe771b402..ac7ba100e 100644 --- a/site/docs/tutorials/breaking-changes-v6.md +++ b/site/docs/tutorials/breaking-changes-v6.md @@ -10,8 +10,8 @@ note of the followings. ## POSTCSS VERSION UPDATE -`postcss-loader` has been updated to the very latest and now `postcss` is a -peer dependency. So after updating you'd either need to install `postcss` +`postcss-loader` has been updated to the very latest and now `postcss` is a peer +dependency. So after updating you'd either need to install `postcss` ```bash yarn add postcss --dev @@ -27,7 +27,8 @@ For CSS processing to work. ## AUTOMATIC WORDPRESS SCRIPTS ALIASING -> If you are not using anything from `@wordpress` package, then you are not affected. +> If you are not using anything from `@wordpress` package, then you are not +> affected. Starting v6, all modules under `@wordpress` namespace will be automatically marked as externals. So when you do something like @@ -53,11 +54,14 @@ change is necessary. We do this by default only for all `@wordpress` namespace packages. We don't do this for React, ReactDOM, jQuery or any other scripts. -Except when `optimizeForGutenberg` is set to true. Please see [Project Configuration](/apis/project-configuration/#optimizeforgutenberg-boolean) to learn more. +Except when `optimizeForGutenberg` is set to true. Please see +[Project Configuration](/apis/project-configuration/#optimizeforgutenberg-boolean) +to learn more. ## CHANGES IN MANIFEST -> If you are not dealing with the manifest file directly, then you are not affected. +> If you are not dealing with the manifest file directly, then you are not +> affected. webpack asset manifest plugin has been updated and it has changed the output format. Accordingly `wpackio/enqueue` has also been updated (`v3.0.0`). If you diff --git a/site/docs/tutorials/customizer-and-rest.md b/site/docs/tutorials/customizer-and-rest.md index 5f492a3ff..4a8e9db9e 100644 --- a/site/docs/tutorials/customizer-and-rest.md +++ b/site/docs/tutorials/customizer-and-rest.md @@ -5,12 +5,11 @@ shortTitle: Customizer & REST --- Due to reverse proxy nature of browser-sync, some things like -[WordPress Customizer]() -and [REST API]() -may not behave correctly when opened from the proxy URL. +[WordPress Customizer]() and [REST API]() may not behave correctly when opened +from the proxy URL. -This happens during development time only and has no side-effect on -your production server. +This happens during development time only and has no side-effect on your +production server. To fix it, add the following snippet in `wp-content/mu-plugins/wpackio-fix.php` of your local development server. diff --git a/site/docs/tutorials/extending-webpack-config.md b/site/docs/tutorials/extending-webpack-config.md index 39fef9445..6b3322794 100644 --- a/site/docs/tutorials/extending-webpack-config.md +++ b/site/docs/tutorials/extending-webpack-config.md @@ -10,13 +10,14 @@ configuration it creates. Since wpackio can operate in both single and multi compiler mode, we provide method to extend webpack configuration for each of the webpack compiler. The -extend option is actually accepted through the `files` property of `project config`. +extend option is actually accepted through the `files` property of +`project config`. ## Extending through `files` property -As written in the `project-configuration` section, `files` is what defines different -entry-point of your project and decides whether webpack should be run in single -compiler mode or multi-compiler mode (without any compromise). +As written in the `project-configuration` section, `files` is what defines +different entry-point of your project and decides whether webpack should be run +in single compiler mode or multi-compiler mode (without any compromise). A typical `files` entry may look like this: @@ -40,7 +41,8 @@ module.exports = { }; ``` -As you might have guessed, we patch through `webpackConfig` to extend configuration. +As you might have guessed, we patch through `webpackConfig` to extend +configuration. ### Extend with Object @@ -94,12 +96,15 @@ type webpackConfigCallback = ( So it will take four parameters: -- `webpackConfig` (`Object`) : What the system has generated as your webpack - config. -- `webpackMergeApi` (`Function`): The [webpack merge](https://github.com/survivejs/webpack-merge) - instance for direct usage. -- `appDir` (`string`): Directory inside `outputPath` where all the assets are to be emitted. -- `isDev` (`boolean`) : Whether the operation is going for development mode or production build. +- `webpackConfig` (`Object`) : What the system has generated as your webpack + config. +- `webpackMergeApi` (`Function`): The + [webpack merge](https://github.com/survivejs/webpack-merge) instance for + direct usage. +- `appDir` (`string`): Directory inside `outputPath` where all the assets are to + be emitted. +- `isDev` (`boolean`) : Whether the operation is going for development mode or + production build. And it should return a valid webpack configuration object. @@ -166,10 +171,10 @@ module.exports = { ## Word of caution The consumer PHP library, publicPath, development server and many internals -actually depend upon the proper structuring of `entry`, `output` and `publicPath` -of webpack configuration. If you override those, then the system may not work -correctly. +actually depend upon the proper structuring of `entry`, `output` and +`publicPath` of webpack configuration. If you override those, then the system +may not work correctly. In most of the situations, you would actually want to add more loaders or modify -existing loaders. Feel free to do that by changing `config.module.rules` and -you should be good to go. +existing loaders. Feel free to do that by changing `config.module.rules` and you +should be good to go. diff --git a/site/docs/tutorials/level-up-javascript.md b/site/docs/tutorials/level-up-javascript.md index 3feed296a..3fd7d1df1 100644 --- a/site/docs/tutorials/level-up-javascript.md +++ b/site/docs/tutorials/level-up-javascript.md @@ -5,17 +5,20 @@ shortTitle: Level up JS --- I created this tool in the hope that it will bring more WordPress developers to -this crazy moving front-end world (crazy in all good way). With the tooling -out of the way, you can actually focus on what matters, writing code. +this crazy moving front-end world (crazy in all good way). With the tooling out +of the way, you can actually focus on what matters, writing code. -Here's a list of tutorials and websites (some free and some paid, but I don't get paid if -you subscribe 😜) I have found extremely useful. +Here's a list of tutorials and websites (some free and some paid, but I don't +get paid if you subscribe 😜) I have found extremely useful. -1. You don't know JS (I am not saying to **you**, it's the name of the book) - https://github.com/getify/You-Dont-Know-JS +1. You don't know JS (I am not saying to **you**, it's the name of the book) - + https://github.com/getify/You-Dont-Know-JS 1. Courses by Wesbos - https://wesbos.com/courses/ 1. Courses by Dylan C. Israel - https://scrimba.com/@PizzaPokerGuy 1. Courses by Kent C. Dodds - https://egghead.io/instructors/kentcdodds -1. Journal by my friend Saikat - https://github.com/saikatdas0790/tech-learning-journal/blob/master/2018/2018.md Might help you get started 😃. +1. Journal by my friend Saikat - + https://github.com/saikatdas0790/tech-learning-journal/blob/master/2018/2018.md + Might help you get started 😃. So thank you for reading and all the best with your journey of becoming a great front-end (full stack, given we already know WordPress & PHP 😉) developer. diff --git a/site/docs/tutorials/localize-script.md b/site/docs/tutorials/localize-script.md index e910fcbbd..91253d634 100644 --- a/site/docs/tutorials/localize-script.md +++ b/site/docs/tutorials/localize-script.md @@ -4,8 +4,9 @@ order: 2 shortTitle: Localize Scripts --- -To enqueue with the [`wpackio/enqueue`](https://wpack.io/guides/using-wpackio-enqueue/) -composer package, you need to do something like this. +To enqueue with the +[`wpackio/enqueue`](https://wpack.io/guides/using-wpackio-enqueue/) composer +package, you need to do something like this. ```php $enqueue = new \WPackio\Enqueue( 'appName', 'dist', '1.0.0', 'plugin', PLUGIN_PATH ); @@ -19,7 +20,8 @@ $assets = $enqueue->enqueue( 'app', 'main', [ ] ); ``` -Now if you store the return value of `enqueue`, (`$assets` in the example), you will get the handle and URL of all the assets. Like +Now if you store the return value of `enqueue`, (`$assets` in the example), you +will get the handle and URL of all the assets. Like ```php [ @@ -46,11 +48,15 @@ Now if you store the return value of `enqueue`, (`$assets` in the example), you ]; ``` -Now the last item of each `js` and `css` arrays is the final handle where you would want to attach `localize_script`. So something like +Now the last item of each `js` and `css` arrays is the final handle where you +would want to attach `localize_script`. So something like ```php $entry_point = array_pop( $assets['js'] ); wp_localize_script( $entry_point['handle'], 'objectName', $localization ); ``` -The same concept is true for [`getAssets`](https://wpack.io/apis/php-api/#instance-api-getassets), [`enqueue`](https://wpack.io/apis/php-api/#instance-api-enqueue) and [`register`](https://wpack.io/apis/php-api/#instance-api-register) methods. +The same concept is true for +[`getAssets`](https://wpack.io/apis/php-api/#instance-api-getassets), +[`enqueue`](https://wpack.io/apis/php-api/#instance-api-enqueue) and +[`register`](https://wpack.io/apis/php-api/#instance-api-register) methods. diff --git a/site/docs/tutorials/manual-project-bootstrap.md b/site/docs/tutorials/manual-project-bootstrap.md index d9df0b3c6..4d93c6f9a 100644 --- a/site/docs/tutorials/manual-project-bootstrap.md +++ b/site/docs/tutorials/manual-project-bootstrap.md @@ -13,9 +13,9 @@ First add the dependencies. npm i @wpackio/entrypoint ``` -**NOTE**: It needs to go into your project's `dependencies`, not in `devDepencencies`. -The reason is, it provides an entry-point (automatically inserted for you) which -handles the dynamic `publicPath` for webpack. +**NOTE**: It needs to go into your project's `dependencies`, not in +`devDepencencies`. The reason is, it provides an entry-point (automatically +inserted for you) which handles the dynamic `publicPath` for webpack. Now add `devDepencencies`. @@ -182,4 +182,5 @@ Also edit your `package.json` and put the following in `scripts`. } ``` -Now you are ready to go. From here on, follow the guide on [Bootstrap](/guides/getting-started/). +Now you are ready to go. From here on, follow the guide on +[Bootstrap](/guides/getting-started/). diff --git a/site/docs/tutorials/minimize-css-with-cssnano.md b/site/docs/tutorials/minimize-css-with-cssnano.md index 3c3cb859b..0b9732833 100644 --- a/site/docs/tutorials/minimize-css-with-cssnano.md +++ b/site/docs/tutorials/minimize-css-with-cssnano.md @@ -4,11 +4,13 @@ order: 2 shortTitle: Minimize CSS assets --- -wpack.io uses [`postcss-loader`](https://github.com/postcss/postcss-loader) and thereby [PostCSS](https://postcss.org/). So -we can take advantage of it to minify our CSS/SASS files during production builds. +wpack.io uses [`postcss-loader`](https://github.com/postcss/postcss-loader) and +thereby [PostCSS](https://postcss.org/). So we can take advantage of it to +minify our CSS/SASS files during production builds. > **NOTE** - wpackio-scripts only extracts CSS/SASS, doesn't minify it. It is -> purposefully kept in the user-land because there are other options than cssnano. +> purposefully kept in the user-land because there are other options than +> cssnano. ## Install and use cssnano @@ -28,8 +30,8 @@ yarn add --dev cssnano ## Edit `postcss.config.js` file -When you [install](/guides/getting-started/) wpackio a `postcss.config.js` -file is created for you. Edit it and replace it's content with +When you [install](/guides/getting-started/) wpackio a `postcss.config.js` file +is created for you. Edit it and replace it's content with ```js /* eslint-disable global-require, import/no-extraneous-dependencies */ diff --git a/site/docs/tutorials/starting-selective-entries.md b/site/docs/tutorials/starting-selective-entries.md new file mode 100644 index 000000000..88ff63238 --- /dev/null +++ b/site/docs/tutorials/starting-selective-entries.md @@ -0,0 +1,53 @@ +--- +title: Starting selective entries with Webpack MultiCompiler +order: 2 +shortTitle: Start selective entries +--- + +> This feature is available since v6.4.0 + +When you supply more than one file object to the `files` directive of +`wpackio.project.js`, then wpackio starts webpack in multi compiler mode. This +is useful for having separate dependency tree between separate parts of the +project. + +There is also a feature to start the development server for selective entries. + +Let's say, your wpackio.project.js looks like this: + +```js +module.exports = { + files: [ + { + name: 'app', + entry: { + main: ['./src/app/index.js'], + }, + optimizeForGutenberg: false, + webpackConfig: undefined, + }, + { + name: 'admin', + entry: { + main: ['./src/admin/index.js'], + }, + optimizeForGutenberg: false, + webpackConfig: undefined, + }, + ], + // ... +}; +``` + +Here we have two `files` entry `app` and `admin`. You may want to start just the +`admin` entry. In such case, run the start command like this + +```bash +yarn start --entries admin +# or if using npm +npm start -- --entries admin +``` + +This will start just the `admin` entry of `files`. This is useful for large +codebases where you are probably working on a single part of the app and don't +want to run all files to keep things fast. diff --git a/site/docs/tutorials/using-file-loader.md b/site/docs/tutorials/using-file-loader.md index 3cda6ba7b..3178b5f8f 100644 --- a/site/docs/tutorials/using-file-loader.md +++ b/site/docs/tutorials/using-file-loader.md @@ -5,14 +5,17 @@ shortTitle: Using file-loader --- If you want to use `file-loader` for your custom assets, then there are some -options you need to pass to make things work properly. To help you with that -we have exposed a few [nodejs APIs](/apis/node-api/). +options you need to pass to make things work properly. To help you with that we +have exposed a few [nodejs APIs](/apis/node-api/). -The apis we need to use for `file-loader` are `getFileLoaderOptions`, `issuerForNonStyleFiles`, `issuerForStyleFiles`, `fileLoader`. +The apis we need to use for `file-loader` are `getFileLoaderOptions`, +`issuerForNonStyleFiles`, `issuerForStyleFiles`, `fileLoader`. -> Do not use `file-loader` as a direct value. Import `fileLoader` from API and use it instead. +> Do not use `file-loader` as a direct value. Import `fileLoader` from API and +> use it instead. -Say we want to load svg files with `file-loader`, for both JS/TS and CSS modules. +Say we want to load svg files with `file-loader`, for both JS/TS and CSS +modules. Here's what the `wpackio.project.js` would look like. diff --git a/site/docs/tutorials/using-jest-babel.md b/site/docs/tutorials/using-jest-babel.md index 8f7566465..7931b3a80 100644 --- a/site/docs/tutorials/using-jest-babel.md +++ b/site/docs/tutorials/using-jest-babel.md @@ -4,17 +4,17 @@ order: 4 shortTitle: Use Jest & ESLint --- -If you are using [jest](https://jestjs.io) to test your project, and [ESLint](https://eslint.org) -for linting then you might want to add a `babel.config.js` file for uniform -babel rules. +If you are using [jest](https://jestjs.io) to test your project, and +[ESLint](https://eslint.org) for linting then you might want to add a +`babel.config.js` file for uniform babel rules. ## Using Same rule without customization -By default, `@wpackio/scripts` ignores any `babel.config.js` and `.babelrc` files. -So even if you do put such files in your project root, those will be picked up -by Jest or ESLint, but not by `@wpackio/scripts`. In small use cases, this is -perhaps the intended feature. In this case, create a `babel.config.js` file -in the root of your project and put the following code. +By default, `@wpackio/scripts` ignores any `babel.config.js` and `.babelrc` +files. So even if you do put such files in your project root, those will be +picked up by Jest or ESLint, but not by `@wpackio/scripts`. In small use cases, +this is perhaps the intended feature. In this case, create a `babel.config.js` +file in the root of your project and put the following code. **babel.config.js** @@ -62,8 +62,8 @@ The above will create same babel rule for jest and eslint as used internally by ## Override `@wpackio/scripts` rules -If you want to completely remove any babel rule set by `@wpackio/scripts` -and would only want to use one single `babel.config.js` instead, do the followings. +If you want to completely remove any babel rule set by `@wpackio/scripts` and +would only want to use one single `babel.config.js` instead, do the followings. #### Instruct `@wpackio/scripts` to not pass any rule to babel-loader @@ -84,5 +84,5 @@ Now go ahead and write your custom `babel.config.js` file making sure it matches your project requirements. From now on, all tools including Jest, ESLint and `@wpackio/scripts` will follow the same config. -For more information, do read the [custom babel configuration](/tutorials/adding-custom-babel-config/) -tutorial. +For more information, do read the +[custom babel configuration](/tutorials/adding-custom-babel-config/) tutorial. diff --git a/site/docs/tutorials/using-react-hot-loader.md b/site/docs/tutorials/using-react-hot-loader.md index 4c4e89a5c..dce600f5f 100644 --- a/site/docs/tutorials/using-react-hot-loader.md +++ b/site/docs/tutorials/using-react-hot-loader.md @@ -4,9 +4,10 @@ order: 3 shortTitle: Use React Hot Loader --- -Let's focus on an example where we use the great [react hot loader](https://github.com/gaearon/react-hot-loader) -to have the best in class DX when developing react app. It can be found in action -under [`examples/plugin`](https://github.com/swashata/wp-webpack-script/tree/master/examples/plugin) +Let's focus on an example where we use the great +[react hot loader](https://github.com/gaearon/react-hot-loader) to have the best +in class DX when developing react app. It can be found in action under +[`examples/plugin`](https://github.com/swashata/wp-webpack-script/tree/master/examples/plugin) of the repo. ## Installation @@ -19,9 +20,9 @@ npm i react-hot-loader ## Modify wpackio project config -From the documentation of react hot loader, it states that we need to add a plugin -to `babel-loader`. For that, let's hack into webpack config using `jsBabelOverride` -from `wpackio.project.io`. +From the documentation of react hot loader, it states that we need to add a +plugin to `babel-loader`. For that, let's hack into webpack config using +`jsBabelOverride` from `wpackio.project.io`. **`wpackio.project.io`** @@ -37,13 +38,14 @@ module.exports = { }; ``` -This would instruct wpackio to extend [`babel-loader`](https://github.com/babel/babel-loader) -options and include the babel plugin provided by react-hot-loader. +This would instruct wpackio to extend +[`babel-loader`](https://github.com/babel/babel-loader) options and include the +babel plugin provided by react-hot-loader. ## Customize our App -Let's say we have `src/app/main.jsx` as our primary entry-point. It has the following -code. +Let's say we have `src/app/main.jsx` as our primary entry-point. It has the +following code. ```jsx import React from 'react'; diff --git a/site/docs/tutorials/using-various-svg-loader.md b/site/docs/tutorials/using-various-svg-loader.md index 3f7f30eff..d5bea3114 100644 --- a/site/docs/tutorials/using-various-svg-loader.md +++ b/site/docs/tutorials/using-various-svg-loader.md @@ -4,16 +4,17 @@ order: 3 shortTitle: Use SVG Loaders --- -SVGs are all the rage in today's web. There are may ways, especially with webpack, -to consume SVGs, that I felt, it is best to leave it to the user-land to decide -which method to pick. +SVGs are all the rage in today's web. There are may ways, especially with +webpack, to consume SVGs, that I felt, it is best to leave it to the user-land +to decide which method to pick. Each of them has their purpose and depending on your project, you should decide which method (or combination of methods) to use. ## [Webpack Inline SVG Loader](https://webpack.js.org/loaders/svg-inline-loader/#configuration) -This one is from [official webpack contrib.](https://webpack.js.org/loaders/svg-inline-loader/). +This one is from +[official webpack contrib.](https://webpack.js.org/loaders/svg-inline-loader/). It simply inlines the SVG within your code and gives you a string representing the SVG (XML) code. @@ -66,8 +67,10 @@ module.exports = { ## [SVGO Loader](https://github.com/rpominov/svgo-loader) -A loader for webpack to pass your SVG files through [svgo](https://github.com/svg/svgo) optimizer. It needs to work with either -[`file-loader`](https://github.com/webpack-contrib/file-loader) or [`url-loader`](https://github.com/webpack-contrib/url-loader). +A loader for webpack to pass your SVG files through +[svgo](https://github.com/svg/svgo) optimizer. It needs to work with either +[`file-loader`](https://github.com/webpack-contrib/file-loader) or +[`url-loader`](https://github.com/webpack-contrib/url-loader). ### Configure @@ -213,10 +216,7 @@ module.exports = { loader: babelLoader, options: { presets: getBabelPresets( - getDefaultBabelPresetOptions( - true, - isDev - ), + getDefaultBabelPresetOptions(true, isDev), undefined ), }, @@ -227,11 +227,7 @@ module.exports = { }, { loader: fileLoader, - options: getFileLoaderOptions( - appDir, - isDev, - false - ), + options: getFileLoaderOptions(appDir, isDev, false), }, ], }, @@ -242,11 +238,7 @@ module.exports = { use: [ { loader: fileLoader, - options: getFileLoaderOptions( - appDir, - isDev, - true - ), + options: getFileLoaderOptions(appDir, isDev, true), }, ], }, @@ -263,11 +255,12 @@ module.exports = { }; ``` -There are may other ways to configure svgr. Be sure to check their [documentation](https://github.com/smooth-code/svgr). +There are may other ways to configure svgr. Be sure to check their +[documentation](https://github.com/smooth-code/svgr). The things to watch here are -1. We disable `babel-loader` from `@svgr/webpack` and use `babel-loader` manually - with `@wpackio/scripts` API. +1. We disable `babel-loader` from `@svgr/webpack` and use `babel-loader` + manually with `@wpackio/scripts` API. 2. We use `@svgr/webpack` only for JS/TS files using the `issuer` option along with `issuerForNonJsTsFiles` and `issuerForJsTsFiles` APIs. diff --git a/site/frontpage/missions/contribute.md b/site/frontpage/missions/contribute.md index c53706454..1d8c28a56 100644 --- a/site/frontpage/missions/contribute.md +++ b/site/frontpage/missions/contribute.md @@ -4,18 +4,21 @@ title: Contribute to wpack.io? --- First of all, ❤️ Thank You! This project exists because of people like you 😃. -Please read our guide at [Github](https://github.com/swashata/wp-webpack-script/blob/master/CONTRIBUTING.md). +Please read our guide at +[Github](https://github.com/swashata/wp-webpack-script/blob/master/CONTRIBUTING.md). -We also accept financial contributions. If wpack.io has made your WordPress +We also accept financial contributions. If +wpack.io has made your WordPress development easier, consider a donation. As a thank you, all our sponsors will be listed on our website. #### SPONSORS -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor on +Support this project by becoming a sponsor. Your logo will show up here with a +link to your website. Become a sponsor on -- [OPENCOLLECTIVE](https://opencollective.com/wpackio#sponsor). -- [PATREON](https://www.patreon.com/swashata). +- [OPENCOLLECTIVE](https://opencollective.com/wpackio#sponsor). +- [PATREON](https://www.patreon.com/swashata). @@ -30,6 +33,7 @@ Support this project by becoming a sponsor. Your logo will show up here with a l #### BACKERS -Thank you to all our backers! 🙏 [Become a backer](https://opencollective.com/wpackio#backer). +Thank you to all our backers! 🙏 +[Become a backer](https://opencollective.com/wpackio#backer). diff --git a/site/frontpage/missions/how-it-works.md b/site/frontpage/missions/how-it-works.md index e41a5734c..edcd62823 100644 --- a/site/frontpage/missions/how-it-works.md +++ b/site/frontpage/missions/how-it-works.md @@ -3,12 +3,13 @@ order: 2 title: How does wpack.io work? --- -Glad you asked. Behind the scene, wpack.io works on top of +Glad you asked. Behind the scene, +wpack.io works on top of [webpack](https://webpack.js.org) and [browser-sync](https://browsersync.io/). It considers the fact that we serve files from WordPress, through `wp_enqueue_*` -APIs and there could be multiple webpack compiled assets on the same page, coming -from different plugins and themes. +APIs and there could be multiple webpack compiled assets on the same page, +coming from different plugins and themes. Keeping it in mind and of course to provide a great **DX**, wpackio was made. If you would like to know more about the inner working and principles, please read diff --git a/site/frontpage/missions/what-can-we-do.md b/site/frontpage/missions/what-can-we-do.md index f7321c424..59048be20 100644 --- a/site/frontpage/missions/what-can-we-do.md +++ b/site/frontpage/missions/what-can-we-do.md @@ -1,26 +1,39 @@ --- order: 1 -title: What can I do with wpack.io? +title: + What can I do with wpack.io? --- -Do you always wanted to get into modern front-end development -but was too worried with all the tooling involved? Well, I was too, and after -spending over a year learning everything, I thought it is time WordPress has -an awesome DX for front-end development too. +Do you always wanted to get into modern front-end development but was too +worried with all the tooling involved? Well, I was too, and after spending over +a year learning everything, I thought it is time WordPress has an awesome DX for +front-end development too. -wpack.io is an attempt to overcome all -the pain points from setting up proper tooling to make webpack work with WordPress. +wpack.io is an attempt to +overcome all the pain points from setting up proper tooling to make webpack work +with WordPress. -- 👉 Have Create React App like _Best In Class_ developer experience for WordPress Plugin/Theme development. -- 👉 Consume all the modern packages from [npm registry](https://npmjs.com). -- 👉 Write javascript with modern ES2018 (ES6+) syntax and compile it down to ES5 (or in accordance to your `.browserslistrc`). -- 👉 Automatically minify and bundle code with [webpack](https://webpack.js.org). -- 👉 Split large files automatically and have PHP library to `wp_enqueue_script` all generated parts. -- 👉 Use SASS/SCSS language to create stylesheets. -- 👉 Use postcss autoprefixer to automatically make your CSS work with needed vendor prefixes. -- 👉 Implement all the above to your existing wamp, mamp, vvv (basically any) dev server. -- 👉 Create production grade, super optimized and minified files with one command (hello CI). -- 👉 [Typescript](https://www.typescriptlang.org/) and [Flowtype](https://flow.org/) to take your js carrier to the next level. This tooling itself is written in typescript. -- 👉 All the stuff you need to start developing using [react](https://reactjs.org/). Hello Gutenberg! -- 👉 _HOT MODULE REPLACEMENT(**HMR**)_ for CSS/SASS and supported javascript modules. -- 👉 Create directly installable `.zip` file. +- 👉 Have Create React App like _Best In Class_ developer experience for + WordPress Plugin/Theme development. +- 👉 Consume all the modern packages from [npm registry](https://npmjs.com). +- 👉 Write javascript with modern ES2018 (ES6+) syntax and compile it down to + ES5 (or in accordance to your `.browserslistrc`). +- 👉 Automatically minify and bundle code with + [webpack](https://webpack.js.org). +- 👉 Split large files automatically and have PHP library to `wp_enqueue_script` + all generated parts. +- 👉 Use SASS/SCSS language to create stylesheets. +- 👉 Use postcss autoprefixer to automatically make your CSS work with needed + vendor prefixes. +- 👉 Implement all the above to your existing wamp, mamp, vvv (basically any) + dev server. +- 👉 Create production grade, super optimized and minified files with one + command (hello CI). +- 👉 [Typescript](https://www.typescriptlang.org/) and + [Flowtype](https://flow.org/) to take your js carrier to the next level. This + tooling itself is written in typescript. +- 👉 All the stuff you need to start developing using + [react](https://reactjs.org/). Hello Gutenberg! +- 👉 _HOT MODULE REPLACEMENT(**HMR**)_ for CSS/SASS and supported javascript + modules. +- 👉 Create directly installable `.zip` file. diff --git a/site/frontpage/missions/whats-new.md b/site/frontpage/missions/whats-new.md index 8708cd697..6e3f4a475 100644 --- a/site/frontpage/missions/whats-new.md +++ b/site/frontpage/missions/whats-new.md @@ -8,7 +8,8 @@ title: What's new? ###### 🚀 Support for React Fast Refresh. Simply have `hasReact: true` in your project config and all your components will -hot reload using [react refresh plugin](https://github.com/pmmmwh/react-refresh-webpack-plugin). +hot reload using +[react refresh plugin](https://github.com/pmmmwh/react-refresh-webpack-plugin). ###### 🚀 Start selective entries during development @@ -33,5 +34,6 @@ will start the first and third entries of your `files` array. --- -Kindly see the [roadmap](https://github.com/swashata/wp-webpack-script/issues/977) -for more info. +Kindly see the +[roadmap](https://github.com/swashata/wp-webpack-script/issues/977) for more +info. diff --git a/site/frontpage/steps/01-cli.md b/site/frontpage/steps/01-cli.md index b53859940..c2fbac616 100644 --- a/site/frontpage/steps/01-cli.md +++ b/site/frontpage/steps/01-cli.md @@ -8,9 +8,9 @@ image: ./01-cli.gif npx @wpackio/cli ``` -This command will install `@wpackio/scripts` to your project's `devDependencies`. -It will also create a `package.json` if necessary and will add a `bootstrap` script -to your `package.json`. +This command will install `@wpackio/scripts` to your project's +`devDependencies`. It will also create a `package.json` if necessary and will +add a `bootstrap` script to your `package.json`. It provides an on-boarding experience where you don't need to worry about adding scripts and dependencies. diff --git a/site/frontpage/steps/03-config.md b/site/frontpage/steps/03-config.md index 9d886f428..28908c797 100644 --- a/site/frontpage/steps/03-config.md +++ b/site/frontpage/steps/03-config.md @@ -5,12 +5,14 @@ image: ./03-config.png --- Now edit your newly generated `wpackio.project.js` file and put your javascript -entry-points. An entry-point is the [`module`](http://2ality.com/2014/09/es6-modules-final.html) -which runs the final javascript code on browser. It can (and should) `import` -other modules which has `export`-ed something. +entry-points. An entry-point is the +[`module`](http://2ality.com/2014/09/es6-modules-final.html) which runs the +final javascript code on browser. It can (and should) `import` other modules +which has `export`-ed something. [webpack](https://webpack.js.org) will automatically bundle all the dependencies -together. For more information [read the guide](https://webpack.js.org/concepts/#entry). +together. For more information +[read the guide](https://webpack.js.org/concepts/#entry). You can have multiple entry-point under the same entry, or have multiple file entry. More information can be found in the docs. diff --git a/site/frontpage/steps/04-php.md b/site/frontpage/steps/04-php.md index de437dcb4..9366315a9 100644 --- a/site/frontpage/steps/04-php.md +++ b/site/frontpage/steps/04-php.md @@ -4,15 +4,18 @@ order: 4 image: ./04-php.png --- -First install php helper library [`wpackio-enqueue`](https://github.com/swashata/wpackio-enqueue) -with [composer](https://getcomposer.org/). +First install php helper library +[`wpackio-enqueue`](https://github.com/swashata/wpackio-enqueue) with +[composer](https://getcomposer.org/). ```bash composer require wpackio/enqueue ``` We instruct it to load the files right way, using WordPress APIs like -[`wp_enqueue_script`](https://developer.wordpress.org/reference/functions/wp_enqueue_script/) and +[`wp_enqueue_script`](https://developer.wordpress.org/reference/functions/wp_enqueue_script/) +and [`wp_enqueue_style`](https://developer.wordpress.org/reference/functions/wp_enqueue_style/). -Everything is taken care for you when you [instantiate the API](/guides/using-wpackio-enqueue/) `\WPackio\Enqueue`. +Everything is taken care for you when you +[instantiate the API](/guides/using-wpackio-enqueue/) `\WPackio\Enqueue`. diff --git a/site/frontpage/steps/05-start.md b/site/frontpage/steps/05-start.md index 9d2eca0c0..7de16d21e 100644 --- a/site/frontpage/steps/05-start.md +++ b/site/frontpage/steps/05-start.md @@ -18,8 +18,8 @@ This will start the development server proxying your local WordPress server. Now you can have access to hot module replacement and live file watching. Just edit your files and see it live in the browser. -In the image, we see changing the heading is seen live in the browser. It is done -through `react-hot-loader`. Do check out advanced concepts to learn how we have -set that up. +In the image, we see changing the heading is seen live in the browser. It is +done through `react-hot-loader`. Do check out advanced concepts to learn how we +have set that up. Once done, press `Ctrl` + `c` to stop the server. diff --git a/site/frontpage/steps/06-build.md b/site/frontpage/steps/06-build.md index c13ff1656..7de3bc7b4 100644 --- a/site/frontpage/steps/06-build.md +++ b/site/frontpage/steps/06-build.md @@ -14,5 +14,6 @@ Or if using `yarn` yarn build ``` -Now create production builds with this single command. By default `@wpackio/scripts` -will optimize build, minify output and create source-maps in different files. +Now create production builds with this single command. By default +`@wpackio/scripts` will optimize build, minify output and create source-maps in +different files. diff --git a/site/package.json b/site/package.json index a15b8e51d..13152a513 100644 --- a/site/package.json +++ b/site/package.json @@ -5,7 +5,7 @@ "author": "Kyle Mathews ", "dependencies": { "@svgr/webpack": "5.5.0", - "bulma": "0.9.2", + "bulma": "0.9.3", "classnames": "2.3.1", "docsearch.js": "2.6.3", "gatsby": "2.27.1", @@ -27,7 +27,7 @@ "gatsby-source-filesystem": "2.6.1", "gatsby-transformer-remark": "2.11.0", "node-sass": "^4.14.1", - "prismjs": "1.23.0", + "prismjs": "1.24.1", "prop-types": "15.7.2", "react": "16.14.0", "react-dom": "16.14.0", @@ -41,15 +41,15 @@ "scripts": { "build": "gatsby build", "develop": "gatsby develop", - "format": "prettier --write '**/*.js'", + "format": "prettier --write .", "test": "echo \"Error: no test specified\" && exit 1" }, "devDependencies": { - "@wpackio/eslint-config": "file:../packages/eslint-config", - "eslint": "7.25.0", + "@wpackio/eslint-config": "^6.4.0", + "eslint": "7.31.0", "gatsby-plugin-sharp": "2.9.0", "gatsby-transformer-sharp": "2.7.0", - "prettier": "2.2.1" + "prettier": "2.3.2" }, "repository": { "type": "git", diff --git a/site/prettier.config.js b/site/prettier.config.js index 977c2b755..c85ac65ad 100644 --- a/site/prettier.config.js +++ b/site/prettier.config.js @@ -1,2 +1,7 @@ // eslint-disable-next-line import/no-extraneous-dependencies -module.exports = require('@wpackio/eslint-config/prettier.config.js'); +const wpack = require('@wpackio/eslint-config/prettier.config'); + +module.exports = { + ...wpack, + proseWrap: 'always', +}; diff --git a/site/src/components/WPEFormPromo/index.js b/site/src/components/WPEFormPromo/index.js new file mode 100644 index 000000000..89c13d721 --- /dev/null +++ b/site/src/components/WPEFormPromo/index.js @@ -0,0 +1,52 @@ +import React from 'react'; + +import { ReactComponent as WPEForm } from '../../images/wpeform.svg'; +import './index.scss'; + +export default function WPEFormPromo({ + utmCampaign = 'hero_banner', + background = 'light', +}) { + return ( +
+

Promotion

+
+ + + +
+

+ + WPEForm - No-code Drag-n-Drop WordPress Form Builder + +

+
+

+ Useful for payments, quotation, quizzes, conversations & user + feedbacks of all kinds. +

+

+ + Check out to support my efforts (made by me) + + . +

+
+
+
+
+ ); +} diff --git a/site/src/components/WPEFormPromo/index.scss b/site/src/components/WPEFormPromo/index.scss new file mode 100644 index 000000000..fd362d4b5 --- /dev/null +++ b/site/src/components/WPEFormPromo/index.scss @@ -0,0 +1,85 @@ +.wpeform-promo { + padding: 20px; + padding-top: 28px; + margin: 0 0 20px 0; + border-radius: 6px; + &.wpeform-promo--dark { + background-color: rgba(0, 0, 0, 0.05); + color: #fff; + } + &.wpeform-promo--light { + background-color: #f5f7fa; + color: #1f2933; + } + text-align: left; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, + Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + position: relative; + + & &__ad-header { + text-transform: uppercase; + font-size: 8px; + font-weight: bold; + position: absolute; + top: 10px; + line-height: 8px; + left: 20px; + } + + & &__body { + display: flex; + flex-flow: row nowrap; + } + + & &__image { + display: block; + height: 96px; + width: 96px; + flex: 0 0 96px; + svg { + display: block; + border-radius: 4px; + width: 100%; + height: auto; + } + } + + & &__content { + width: calc(100% - 96px); + flex: 0 0 calc(100% - 96px); + padding: 0 0 0 20px; + } + & &__title { + font-weight: bold; + font-size: 18px; + color: inherit; + margin: 0 0 10px 0; + a { + color: inherit; + text-decoration: none; + &:hover { + text-decoration: underline; + } + } + } + & &__article { + a { + text-decoration: underline; + color: inherit; + &:hover { + text-decoration: none; + } + } + line-height: 1.5; + font-size: 14px; + strong { + color: inherit; + } + p { + margin: 0 0 5px 0; + &:last-child { + margin-bottom: 0; + } + } + } +} diff --git a/site/src/components/docpage/index.js b/site/src/components/docpage/index.js index 0d3dbc815..ec128dbbc 100644 --- a/site/src/components/docpage/index.js +++ b/site/src/components/docpage/index.js @@ -6,6 +6,7 @@ import Footer from '../footer'; import { ReactComponent as Chevron } from '../svgs/chevron.svg'; import './index.scss'; +import WPEFormPromo from '../WPEFormPromo'; /* eslint-disable react/no-danger */ @@ -79,19 +80,15 @@ class Docpage extends React.Component {
- +
{html ? ( <> -

- {title} -

+

{title}

+
(

@@ -72,16 +71,13 @@ const Sidebarnav = props => ( {doc.frontmatter.shortTitle} - {currentSlug === doc.fields.slug && - toc ? ( + {currentSlug === doc.fields.slug && toc ? (

( ABOUT

- Created with ❤️ by{' '} - Swashata Ghosh and the - awesome community. + Created with ❤️ by Swashata Ghosh and + the awesome community.

  • © {new Date().getFullYear()} - Swashata Ghosh {' - '} - - MIT - - , both the source code and the content of this - website. + MIT, + both the source code and the content of this website.

- Feel free to poke around and become awesome WordPress - Front-end developer. + Feel free to poke around and become awesome WordPress Front-end + developer.

@@ -40,26 +36,14 @@ const Footer = props => ( create-guten-block {' '} - by{' '} - - @ahmadawais - - . + by @ahmadawais.
  • - - presspack - {' '} - by{' '} - - @jaredpalmer - - . + presspack{' '} + by @jaredpalmer.
  • - - gutenblock - {' '} + gutenblock{' '} by @zackify
  • @@ -68,8 +52,7 @@ const Footer = props => (

    CREDITS

    if you like , consider starring it at{' '} - - github - {' '} - & say hi at{' '} - twitter. + github & + say hi at twitter.

    diff --git a/site/src/components/header.js b/site/src/components/header.js index 2a4e831cb..9e64b96e4 100644 --- a/site/src/components/header.js +++ b/site/src/components/header.js @@ -53,20 +53,15 @@ class Header extends React.Component {
    {docTypes.map(docType => ( { cta2, terminalTitle, minHeight, + promo = null, } = props; return (

    {title}

    +
    {promo}
    { > {children} -

    - {subtitle} -

    +

    {subtitle}

    {React.cloneElement(cta, { - className: - 'wpackio-hero__cta button is-large is-white', + className: 'wpackio-hero__cta button is-large is-white', })} {React.cloneElement(cta2, { - className: - 'wpackio-hero__cta button is-large is-white', + className: 'wpackio-hero__cta button is-large is-white', })}
    diff --git a/site/src/components/hero/index.scss b/site/src/components/hero/index.scss index 2769fac7e..2eb05488e 100644 --- a/site/src/components/hero/index.scss +++ b/site/src/components/hero/index.scss @@ -16,7 +16,12 @@ color: #fff; font-family: 'dm', monospace; text-align: center; - margin: 0 0 5rem; + margin: 0 0 2rem; + } + + & &__promo { + margin: 0 0 30px; + color: #fff; } // Subtitle diff --git a/site/src/components/layout.js b/site/src/components/layout.js index 34179bec7..ff6106777 100644 --- a/site/src/components/layout.js +++ b/site/src/components/layout.js @@ -38,9 +38,7 @@ const Layout = ({ children, decorate = true, path = undefined }) => ( render={data => ( <> {
    -

    - {title} -

    +

    {title}

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/src/pages/404.js b/site/src/pages/404.js index 38db01b2a..8f425744e 100644 --- a/site/src/pages/404.js +++ b/site/src/pages/404.js @@ -6,12 +6,8 @@ const NotFoundPage = () => (

    NOT FOUND

    -

    - You just hit a route that doesn't exist... the sadness. -

    -

    - Try going to the front page or check out the navigation bar. -

    +

    You just hit a route that doesn't exist... the sadness.

    +

    Try going to the front page or check out the navigation bar.

    diff --git a/site/src/pages/index.js b/site/src/pages/index.js index f3ede02e7..f6d780c56 100644 --- a/site/src/pages/index.js +++ b/site/src/pages/index.js @@ -1,6 +1,6 @@ import React from 'react'; import { Link, graphql } from 'gatsby'; -import Typing, { Cursor } from 'react-typing-animation'; +import Typing from 'react-typing-animation'; import './index.scss'; @@ -13,30 +13,29 @@ import Wpackio from '../components/wpackio'; import { ReactComponent as Development } from '../components/svgs/development.svg'; import { ReactComponent as Cloud } from '../components/svgs/cloud.svg'; import { ReactComponent as Dependendable } from '../components/svgs/dependable.svg'; +import WPEFormPromo from '../components/WPEFormPromo'; const IndexPage = ({ data: { mission, steps }, location }) => ( - front-end tooling for WordPress themes & - plugins + front-end tooling for WordPress themes & plugins } cta={Get Started} cta2={Support} subtitle={ <> - is a fine-tuned{' '} - webpack/browser-sync configuration made - specifically for{' '} - WordPress Theme and Plugin Development. It gives a - fine Developer Experience (DX) and a single dev dependency - for all your javascript and css/sass/scss{' '} - bundling requirements. + is a fine-tuned webpack/browser-sync{' '} + configuration made specifically for{' '} + WordPress Theme and Plugin Development. It gives a fine + Developer Experience (DX) and a single dev dependency for all your{' '} + javascript and css/sass/scss bundling requirements. } terminalTitle="🔥wpackio-scripts start (node)" + promo={} > ( >

    # navigate to your project directory

    - cd{' '} - ~/my-awesome-plugin-or-theme + cd ~/my-awesome-plugin-or-theme

    @@ -92,15 +90,13 @@ const IndexPage = ({ data: { mission, steps }, location }) => (

    - } + icon={} title="Single Dependency" >

    - Forget worrying about webpack, browser-sync, - loaders, babel etc. wpackio-scripts{' '} - comes with everything packed and ready to use. + Forget worrying about webpack, browser-sync, loaders, babel etc.{' '} + wpackio-scripts comes with everything packed and + ready to use.

    @@ -110,10 +106,9 @@ const IndexPage = ({ data: { mission, steps }, location }) => ( title="Lightning Fast" >

    - Built with webpack and browser-sync, wpackio - development server is lightning fast. In - development mode, compilation takes only a few ( - milli + Built with webpack and browser-sync, wpackio development server + is lightning fast. In development mode, compilation takes only a + few (milli )seconds.

    @@ -124,10 +119,9 @@ const IndexPage = ({ data: { mission, steps }, location }) => ( title="Best DX" >

    - We give you best possible developer experience - with hot reloading, react fast refresh, - automatic file watching, terminal preview and - much more. + We give you best possible developer experience with hot + reloading, react fast refresh, automatic file watching, terminal + preview and much more.

    diff --git a/site/src/templates/docRootTemplate.js b/site/src/templates/docRootTemplate.js index 347dda790..306764b7f 100644 --- a/site/src/templates/docRootTemplate.js +++ b/site/src/templates/docRootTemplate.js @@ -3,12 +3,14 @@ import { graphql, Link } from 'gatsby'; import Layout from '../components/layout'; import Docpage from '../components/docpage'; +import WPEFormPromo from '../components/WPEFormPromo'; const DocRootTemplate = props => { const { data, location } = props; return ( + {data.docTypes.edges.map(docType => { const { node: { @@ -27,10 +29,7 @@ const DocRootTemplate = props => {

    {excerpt}

    - + Read More diff --git a/site/src/templates/docTemplate.js b/site/src/templates/docTemplate.js index 0c19eef54..4c40f4f3b 100644 --- a/site/src/templates/docTemplate.js +++ b/site/src/templates/docTemplate.js @@ -65,7 +65,7 @@ export default function DocTemplate({ } export const pageQuery = graphql` - query($path: String!) { + query ($path: String!) { markdownRemark(fields: { slug: { eq: $path } }) { html frontmatter { diff --git a/site/yarn.lock b/site/yarn.lock index 50d9cf43f..2051d689f 100644 --- a/site/yarn.lock +++ b/site/yarn.lock @@ -16,7 +16,14 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== + dependencies: + "@babel/highlight" "^7.14.5" + +"@babel/code-frame@^7.10.4": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== @@ -81,7 +88,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.11.0", "@babel/generator@^7.13.16": +"@babel/generator@^7.11.0": version "7.13.16" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.16.tgz#0befc287031a201d84cdfc173b46b320ae472d14" integrity sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg== @@ -99,6 +106,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.8.tgz#bf86fd6af96cf3b74395a8ca409515f89423e070" + integrity sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg== + dependencies: + "@babel/types" "^7.14.8" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -193,7 +209,7 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-function-name@^7.10.4", "@babel/helper-function-name@^7.12.13": +"@babel/helper-function-name@^7.10.4": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== @@ -202,13 +218,29 @@ "@babel/template" "^7.12.13" "@babel/types" "^7.12.13" -"@babel/helper-get-function-arity@^7.10.4", "@babel/helper-get-function-arity@^7.12.13": +"@babel/helper-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" + integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== + dependencies: + "@babel/helper-get-function-arity" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-get-function-arity@^7.10.4": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== dependencies: "@babel/types" "^7.12.13" +"@babel/helper-get-function-arity@^7.12.13", "@babel/helper-get-function-arity@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" + integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== + dependencies: + "@babel/types" "^7.14.5" + "@babel/helper-hoist-variables@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" @@ -216,6 +248,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-hoist-variables@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" + integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== + dependencies: + "@babel/types" "^7.14.5" + "@babel/helper-member-expression-to-functions@^7.10.4": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" @@ -359,18 +398,30 @@ dependencies: "@babel/types" "^7.11.0" -"@babel/helper-split-export-declaration@^7.11.0", "@babel/helper-split-export-declaration@^7.12.13": +"@babel/helper-split-export-declaration@^7.11.0": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== dependencies: "@babel/types" "^7.12.13" -"@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.12.11": +"@babel/helper-split-export-declaration@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" + integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-validator-identifier@^7.10.4": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== +"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c" + integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== + "@babel/helper-validator-option@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" @@ -404,7 +455,7 @@ "@babel/traverse" "^7.12.5" "@babel/types" "^7.12.5" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": +"@babel/highlight@^7.10.4": version "7.13.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== @@ -413,16 +464,30 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.12.13", "@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.10.5": version "7.11.2" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.2.tgz#0882ab8a455df3065ea2dcb4c753b2460a24bead" integrity sha512-Vuj/+7vLo6l1Vi7uuO+1ngCDNeVmNbTngcJFKCR/oEtz8tKz0CJxZEGmPt9KcIloZhOZ3Zit6xbpXT2MDlS9Vw== -"@babel/parser@^7.11.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.16", "@babel/parser@^7.7.0": +"@babel/parser@^7.11.0": version "7.13.16" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37" integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw== +"@babel/parser@^7.12.13", "@babel/parser@^7.14.5", "@babel/parser@^7.14.8", "@babel/parser@^7.7.0": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.8.tgz#66fd41666b2d7b840bd5ace7f7416d5ac60208d4" + integrity sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA== + "@babel/parser@^7.12.5", "@babel/parser@^7.12.7": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.7.tgz#fee7b39fe809d0e73e5b25eecaf5780ef3d73056" @@ -1102,11 +1167,11 @@ "@babel/plugin-transform-typescript" "^7.12.1" "@babel/runtime-corejs3@^7.10.2": - version "7.13.17" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.13.17.tgz#9baf45f03d4d013f021760b992d6349a9d27deaf" - integrity sha512-RGXINY1YvduBlGrP+vHjJqd/nK7JVpfM4rmZLGMx77WoL3sMrhheA0qxii9VNn1VHnxJLEyxmvCB+Wqc+x/FMw== + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.14.8.tgz#68539e0129f13eb1ed9a9aa273d3542b93c88384" + integrity sha512-4dMD5QRBkumn45oweR0SxoNtt15oz3BUBAQ8cIx7HJqZTtE8zjpM0My8aHJHVnyf4XfRg6DNzaE1080WLBiC1w== dependencies: - core-js-pure "^3.0.0" + core-js-pure "^3.15.0" regenerator-runtime "^0.13.4" "@babel/runtime@^7.10.0": @@ -1117,9 +1182,9 @@ regenerator-runtime "^0.13.4" "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2": - version "7.13.17" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.17.tgz#8966d1fc9593bf848602f0662d6b4d0069e3a7ec" - integrity sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA== + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.8.tgz#7119a56f421018852694290b9f9148097391b446" + integrity sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg== dependencies: regenerator-runtime "^0.13.4" @@ -1142,7 +1207,7 @@ resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.12.8.tgz#c4915f7120462b75b63a396088e14361dca86be6" integrity sha512-0NPKt9h+d9ZC2bgOuh2zlM5RwaHgOol9XhMH1Jlk3oRCvHU+FSVhr7AGUtq2oRS4IDo2oULj+AKj8nj1NMKppA== -"@babel/template@^7.10.4", "@babel/template@^7.12.13": +"@babel/template@^7.10.4": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== @@ -1151,6 +1216,15 @@ "@babel/parser" "^7.12.13" "@babel/types" "^7.12.13" +"@babel/template@^7.12.13", "@babel/template@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" + integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.14.5" + "@babel/types" "^7.14.5" + "@babel/template@^7.12.7": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" @@ -1191,16 +1265,17 @@ lodash "^4.17.19" "@babel/traverse@^7.7.0": - version "7.13.17" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.17.tgz#c85415e0c7d50ac053d758baec98b28b2ecfeea3" - integrity sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.16" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.13.16" - "@babel/types" "^7.13.17" + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.8.tgz#c0253f02677c5de1a8ff9df6b0aacbec7da1a8ce" + integrity sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.14.8" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/parser" "^7.14.8" + "@babel/types" "^7.14.8" debug "^4.1.0" globals "^11.1.0" @@ -1213,7 +1288,7 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.13", "@babel/types@^7.13.16", "@babel/types@^7.13.17", "@babel/types@^7.7.0": +"@babel/types@^7.10.4", "@babel/types@^7.11.0": version "7.13.17" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz#48010a115c9fba7588b4437dd68c9469012b38b4" integrity sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA== @@ -1239,6 +1314,14 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.12.13", "@babel/types@^7.13.16", "@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.7.0": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.8.tgz#38109de8fcadc06415fbd9b74df0065d4d41c728" + integrity sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q== + dependencies: + "@babel/helper-validator-identifier" "^7.14.8" + to-fast-properties "^2.0.0" + "@babel/types@^7.4.4": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.7.tgz#1fc9729e1acbb2337d5b6977a63979b4819f5d1d" @@ -1248,15 +1331,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" -"@eslint/eslintrc@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" debug "^4.1.1" espree "^7.3.0" - globals "^12.1.0" + globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" @@ -1448,6 +1531,20 @@ dependencies: "@hapi/hoek" "^9.0.0" +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + "@jest/types@^25.5.0": version "25.5.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" @@ -1766,12 +1863,33 @@ "@nodelib/fs.stat" "2.0.3" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3": version "2.0.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.4": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@nodelib/fs.walk@^1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== @@ -2081,10 +2199,10 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/json-schema@^7.0.3": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.7": + version "7.0.8" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818" + integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg== "@types/json-schema@^7.0.4": version "7.0.5" @@ -2096,11 +2214,6 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - "@types/keyv@*", "@types/keyv@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" @@ -2254,19 +2367,18 @@ resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.2.tgz#efaf9e991a7390dc081a0b679185979a83a9639a" integrity sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== -"@typescript-eslint/eslint-plugin@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz#3d5f29bb59e61a9dba1513d491b059e536e16dbc" - integrity sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA== +"@typescript-eslint/eslint-plugin@4.28.5": + version "4.28.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.5.tgz#8197f1473e7da8218c6a37ff308d695707835684" + integrity sha512-m31cPEnbuCqXtEZQJOXAHsHvtoDi9OVaeL5wZnO2KZTnkvELk+u6J6jHg+NzvWQxk+87Zjbc4lJS4NHmgImz6Q== dependencies: - "@typescript-eslint/experimental-utils" "4.22.0" - "@typescript-eslint/scope-manager" "4.22.0" - debug "^4.1.1" + "@typescript-eslint/experimental-utils" "4.28.5" + "@typescript-eslint/scope-manager" "4.28.5" + debug "^4.3.1" functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" "@typescript-eslint/eslint-plugin@^2.24.0": version "2.24.0" @@ -2288,27 +2400,27 @@ "@typescript-eslint/typescript-estree" "2.24.0" eslint-scope "^5.0.0" -"@typescript-eslint/experimental-utils@4.22.0", "@typescript-eslint/experimental-utils@^4.0.1": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz#68765167cca531178e7b650a53456e6e0bef3b1f" - integrity sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg== +"@typescript-eslint/experimental-utils@4.28.5", "@typescript-eslint/experimental-utils@^4.0.1": + version "4.28.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.5.tgz#66c28bef115b417cf9d80812a713e0e46bb42a64" + integrity sha512-bGPLCOJAa+j49hsynTaAtQIWg6uZd8VLiPcyDe4QPULsvQwLHGLSGKKcBN8/lBxIX14F74UEMK2zNDI8r0okwA== dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.22.0" - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/typescript-estree" "4.22.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.28.5" + "@typescript-eslint/types" "4.28.5" + "@typescript-eslint/typescript-estree" "4.28.5" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" -"@typescript-eslint/parser@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.22.0.tgz#e1637327fcf796c641fe55f73530e90b16ac8fe8" - integrity sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q== +"@typescript-eslint/parser@4.28.5": + version "4.28.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.28.5.tgz#9c971668f86d1b5c552266c47788a87488a47d1c" + integrity sha512-NPCOGhTnkXGMqTznqgVbA5LqVsnw+i3+XA1UKLnAb+MG1Y1rP4ZSK9GX0kJBmAZTMIktf+dTwXToT6kFwyimbw== dependencies: - "@typescript-eslint/scope-manager" "4.22.0" - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/typescript-estree" "4.22.0" - debug "^4.1.1" + "@typescript-eslint/scope-manager" "4.28.5" + "@typescript-eslint/types" "4.28.5" + "@typescript-eslint/typescript-estree" "4.28.5" + debug "^4.3.1" "@typescript-eslint/parser@^2.24.0": version "2.24.0" @@ -2320,18 +2432,18 @@ "@typescript-eslint/typescript-estree" "2.24.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/scope-manager@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz#ed411545e61161a8d702e703a4b7d96ec065b09a" - integrity sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q== +"@typescript-eslint/scope-manager@4.28.5": + version "4.28.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz#3a1b70c50c1535ac33322786ea99ebe403d3b923" + integrity sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ== dependencies: - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/visitor-keys" "4.22.0" + "@typescript-eslint/types" "4.28.5" + "@typescript-eslint/visitor-keys" "4.28.5" -"@typescript-eslint/types@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.22.0.tgz#0ca6fde5b68daf6dba133f30959cc0688c8dd0b6" - integrity sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA== +"@typescript-eslint/types@4.28.5": + version "4.28.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.5.tgz#d33edf8e429f0c0930a7c3d44e9b010354c422e9" + integrity sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA== "@typescript-eslint/typescript-estree@2.24.0": version "2.24.0" @@ -2346,25 +2458,25 @@ semver "^6.3.0" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz#b5d95d6d366ff3b72f5168c75775a3e46250d05c" - integrity sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg== +"@typescript-eslint/typescript-estree@4.28.5": + version "4.28.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.5.tgz#4906d343de693cf3d8dcc301383ed638e0441cd1" + integrity sha512-FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw== dependencies: - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/visitor-keys" "4.22.0" - debug "^4.1.1" - globby "^11.0.1" + "@typescript-eslint/types" "4.28.5" + "@typescript-eslint/visitor-keys" "4.28.5" + debug "^4.3.1" + globby "^11.0.3" is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" + semver "^7.3.5" + tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz#169dae26d3c122935da7528c839f42a8a42f6e47" - integrity sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw== +"@typescript-eslint/visitor-keys@4.28.5": + version "4.28.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz#ffee2c602762ed6893405ee7c1144d9cc0a29675" + integrity sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg== dependencies: - "@typescript-eslint/types" "4.22.0" + "@typescript-eslint/types" "4.28.5" eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.9.0": @@ -2512,21 +2624,23 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" -"@wpackio/eslint-config@file:../packages/eslint-config": - version "5.0.0" +"@wpackio/eslint-config@^6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@wpackio/eslint-config/-/eslint-config-6.4.0.tgz#5791a853e03be911c7eab768b64f524bbc3bbf2c" + integrity sha512-Ln77l+BEAM00zZbgiKA2SbEu6P3csEhl74NKpwVR1wdrA0sYx2xga3rCN+9AkAGuXU7NmpMVzgvQn7gdZcV/wg== dependencies: - "@typescript-eslint/eslint-plugin" "4.22.0" - "@typescript-eslint/parser" "4.22.0" + "@typescript-eslint/eslint-plugin" "4.28.5" + "@typescript-eslint/parser" "4.28.5" babel-eslint "^10.1.0" eslint-config-airbnb "^18.2.1" eslint-config-prettier "^8.3.0" eslint-import-resolver-typescript "2.4.0" eslint-plugin-babel "^5.3.1" - eslint-plugin-import "^2.22.1" - eslint-plugin-jest "^24.3.6" + eslint-plugin-import "^2.23.4" + eslint-plugin-jest "^24.4.0" eslint-plugin-jsx-a11y "^6.4.1" eslint-plugin-prettier "^3.4.0" - eslint-plugin-react "^7.23.2" + eslint-plugin-react "^7.24.0" eslint-plugin-react-hooks "^4.2.0" "@xtuc/ieee754@^1.2.0": @@ -2919,7 +3033,7 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -array.prototype.flat@^1.2.3: +array.prototype.flat@^1.2.3, array.prototype.flat@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== @@ -3087,9 +3201,9 @@ aws4@^1.8.0: integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== axe-core@^4.0.2: - version "4.1.4" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.4.tgz#f19cd99a84ee32a318b9c5b5bb8ed373ad94f143" - integrity sha512-Pdgfv6iP0gNx9ejRGa3zE7Xgkj/iclXqLfe7BnatdZz0QnLZ3jrRHUVH8wNSdN68w05Sk3ShGTb3ydktMTooig== + version "4.3.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.1.tgz#0c6a076e4a1c3e0544ba6a9479158f9be7a7928e" + integrity sha512-3WVgVPs/7OnKU3s+lqMtkv3wQlg3WxK1YifmpJSDO0E1aPBrZWlrrTO6cxRqCXLuX2aYgCljqXIQd0VnRidV0g== axios@^0.19.0: version "0.19.2" @@ -3729,10 +3843,10 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= -bulma@0.9.2: - version "0.9.2" - resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.9.2.tgz#340011e119c605f19b8ca886bfea595f1deaf23c" - integrity sha512-e14EF+3VSZ488yL/lJH0tR8mFWiEQVCMi/BQUMi2TGMBOk+zrDg4wryuwm/+dRSHJw0gMawp2tsW7X1JYUCE3A== +bulma@0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.9.3.tgz#ddccb7436ebe3e21bf47afe01d3c43a296b70243" + integrity sha512-0d7GNW1PY4ud8TWxdNcP6Cc8Bu7MxcntD/RRLGWuiw/s0a9P+XlH/6QoOIrmbj6o8WWJzJYhytiu9nFjTszk1g== bytes@3.0.0: version "3.0.0" @@ -4184,15 +4298,6 @@ cli-width@^2.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= -clipboard@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376" - integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg== - dependencies: - good-listener "^1.2.2" - select "^1.1.2" - tiny-emitter "^2.0.0" - clipboardy@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" @@ -4580,10 +4685,10 @@ core-js-compat@^3.7.0: browserslist "^4.14.6" semver "7.0.0" -core-js-pure@^3.0.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.11.0.tgz#e07f25a8f616d178ec16b0354b008ad28b20b2f0" - integrity sha512-PxEiQGjzC+5qbvE7ZIs5Zn6BynNeZO9zHhrrWmkRff2SZLq0CE/H5LuZOJHhmOQ8L38+eMzEHAmPYWrUtDfuDQ== +core-js-pure@^3.15.0: + version "3.15.2" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.15.2.tgz#c8e0874822705f3385d3197af9348f7c9ae2e3ce" + integrity sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA== core-js@^1.0.0: version "1.2.7" @@ -4984,9 +5089,9 @@ d@1, d@^1.0.1: type "^1.0.1" damerau-levenshtein@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" - integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== + version "1.0.7" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" + integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== dashdash@^1.12.0: version "1.14.1" @@ -5026,6 +5131,13 @@ debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: dependencies: ms "^2.1.1" +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + debug@^4.0.1, debug@~4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" @@ -5033,10 +5145,10 @@ debug@^4.0.1, debug@~4.1.0: dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.1.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== dependencies: ms "2.1.2" @@ -5237,11 +5349,6 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegate@^3.1.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" - integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== - delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -5764,7 +5871,7 @@ error-stack-parser@^2.0.0, error-stack-parser@^2.0.6: dependencies: stackframe "^1.1.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.17.5, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: +es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: version "1.18.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== @@ -5803,6 +5910,28 @@ es-abstract@^1.17.2: string.prototype.trimleft "^2.1.1" string.prototype.trimright "^2.1.1" +es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: + version "1.18.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" + integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.10.3" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -5938,12 +6067,12 @@ eslint-loader@^2.2.1: object-hash "^1.1.4" rimraf "^2.6.1" -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== +eslint-module-utils@^2.6.0, eslint-module-utils@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" + integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== dependencies: - debug "^2.6.9" + debug "^3.2.7" pkg-dir "^2.0.0" eslint-plugin-babel@^5.3.1: @@ -5970,7 +6099,7 @@ eslint-plugin-graphql@^4.0.0: lodash.flatten "^4.4.0" lodash.without "^4.4.0" -eslint-plugin-import@^2.22.0, eslint-plugin-import@^2.22.1: +eslint-plugin-import@^2.22.0: version "2.22.1" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== @@ -5989,10 +6118,31 @@ eslint-plugin-import@^2.22.0, eslint-plugin-import@^2.22.1: resolve "^1.17.0" tsconfig-paths "^3.9.0" -eslint-plugin-jest@^24.3.6: - version "24.3.6" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.3.6.tgz#5f0ca019183c3188c5ad3af8e80b41de6c8e9173" - integrity sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg== +eslint-plugin-import@^2.23.4: + version "2.23.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97" + integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.4" + eslint-module-utils "^2.6.1" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.4.0" + minimatch "^3.0.4" + object.values "^1.1.3" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.9.0" + +eslint-plugin-jest@^24.4.0: + version "24.4.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz#fa4b614dbd46a98b652d830377971f097bda9262" + integrity sha512-8qnt/hgtZ94E9dA6viqfViKBfkJwFHXgJmTWlMGDgunw1XJEGqm3eiPjDsTanM3/u/3Az82nyQM9GX7PM/QGmg== dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" @@ -6047,10 +6197,10 @@ eslint-plugin-react@^7.20.6: resolve "^1.17.0" string.prototype.matchall "^4.0.2" -eslint-plugin-react@^7.23.2: - version "7.23.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz#2d2291b0f95c03728b55869f01102290e792d494" - integrity sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw== +eslint-plugin-react@^7.24.0: + version "7.24.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz#eadedfa351a6f36b490aa17f4fa9b14e842b9eb4" + integrity sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q== dependencies: array-includes "^3.1.3" array.prototype.flatmap "^1.2.4" @@ -6058,12 +6208,12 @@ eslint-plugin-react@^7.23.2: has "^1.0.3" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.0.4" - object.entries "^1.1.3" + object.entries "^1.1.4" object.fromentries "^2.0.4" - object.values "^1.1.3" + object.values "^1.1.4" prop-types "^15.7.2" resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.4" + string.prototype.matchall "^4.0.5" eslint-rule-composer@^0.3.0: version "0.3.0" @@ -6093,45 +6243,55 @@ eslint-utils@^1.4.3: dependencies: eslint-visitor-keys "^1.1.0" -eslint-utils@^2.0.0, eslint-utils@^2.1.0: +eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@7.25.0: - version "7.25.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67" - integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw== +eslint@7.31.0: + version "7.31.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.31.0.tgz#f972b539424bf2604907a970860732c5d99d3aca" + integrity sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" enquirer "^2.3.5" + escape-string-regexp "^4.0.0" eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" espree "^7.3.1" esquery "^1.4.0" esutils "^2.0.2" + fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" + glob-parent "^5.1.2" globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" @@ -6140,7 +6300,7 @@ eslint@7.25.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.21" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -6149,7 +6309,7 @@ eslint@7.25.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.4" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -6545,6 +6705,11 @@ fast-deep-equal@^3.1.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== +fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + fast-diff@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" @@ -6563,16 +6728,15 @@ fast-glob@^3.0.3: picomatch "^2.2.1" fast-glob@^3.1.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" + glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" + micromatch "^4.0.4" fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -6595,9 +6759,9 @@ fastparse@^1.1.2: integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== fastq@^1.6.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.1.tgz#4570c74f2ded173e71cf0beb08ac70bb85826791" - integrity sha512-mpIH5sKYueh3YyeJwqtVo8sORi0CgtmkVbK6kZStpQlZBYQuTzG2CZ7idSiJuA7bY0SFCWUc5WIs+oYumGCQNw== + version "1.11.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.1.tgz#5d8175aae17db61947f8b162cfc7f63264d22807" + integrity sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw== dependencies: reusify "^1.0.4" @@ -7810,14 +7974,21 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: +glob-parent@^5.0.0, glob-parent@~5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== dependencies: is-glob "^4.0.1" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: +glob-parent@^5.1.0, glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -7829,6 +8000,18 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, gl once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.6: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-dirs@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" @@ -7891,7 +8074,14 @@ globals@^13.6.0: dependencies: type-fest "^0.20.2" -globby@11.0.1, globby@^11.0.1: +globals@^13.9.0: + version "13.10.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.10.0.tgz#60ba56c3ac2ca845cfbf4faeca727ad9dd204676" + integrity sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g== + dependencies: + type-fest "^0.20.2" + +globby@11.0.1: version "11.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== @@ -7917,6 +8107,18 @@ globby@^10.0.0, globby@^10.0.1: merge2 "^1.2.3" slash "^3.0.0" +globby@^11.0.1, globby@^11.0.3: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -7937,13 +8139,6 @@ globule@^1.0.0: lodash "~4.17.12" minimatch "~3.0.2" -good-listener@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" - integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= - dependencies: - delegate "^3.1.2" - got@8.3.2, got@^8.3.1: version "8.3.2" resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" @@ -8972,9 +9167,9 @@ is-arrayish@^0.3.1: integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== is-bigint@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" - integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" + integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== is-binary-path@^1.0.0: version "1.0.1" @@ -8991,11 +9186,11 @@ is-binary-path@^2.1.0, is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" - integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" + integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" is-buffer@^1.1.4, is-buffer@^1.1.5: version "1.1.6" @@ -9043,10 +9238,10 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" - integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== +is-core-module@^2.2.0, is-core-module@^2.4.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491" + integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== dependencies: has "^1.0.3" @@ -9065,9 +9260,9 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" + integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== is-decimal@^1.0.0, is-decimal@^1.0.2: version "1.0.4" @@ -9213,9 +9408,9 @@ is-npm@^4.0.0: integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== is-number-object@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" - integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" + integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== is-number@^3.0.0: version "3.0.0" @@ -9314,13 +9509,13 @@ is-regex@^1.0.5: dependencies: has-symbols "^1.0.1" -is-regex@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" - integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== +is-regex@^1.1.2, is-regex@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" + integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== dependencies: call-bind "^1.0.2" - has-symbols "^1.0.1" + has-symbols "^1.0.2" is-regexp@^1.0.0: version "1.0.0" @@ -9373,10 +9568,10 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-string@^1.0.5, is-string@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" + integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== is-svg@^3.0.0: version "3.0.0" @@ -9386,11 +9581,11 @@ is-svg@^3.0.0: html-comment-regex "^1.1.0" is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - has-symbols "^1.0.1" + has-symbols "^1.0.2" is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" @@ -9674,6 +9869,13 @@ json5@^2.1.2: dependencies: minimist "^1.2.5" +json5@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -9876,6 +10078,16 @@ load-json-file@^2.0.0: pify "^2.0.0" strip-bom "^3.0.0" +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + load-script@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" @@ -10005,6 +10217,11 @@ lodash.memoize@^4.1.2: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.template@^4.4.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" @@ -10050,7 +10267,7 @@ lodash@^4.17.10, lodash@^4.17.13: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== -lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: +lodash@^4.17.15, lodash@^4.17.19: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10378,11 +10595,16 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3, merge2@^1.3.0: +merge2@^1.2.3: version "1.3.0" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -10407,13 +10629,13 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" - picomatch "^2.0.5" + picomatch "^2.2.3" miller-rabin@^4.0.0: version "4.0.1" @@ -11131,7 +11353,12 @@ object-hash@^1.1.4: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== -object-inspect@^1.7.0, object-inspect@^1.9.0: +object-inspect@^1.10.3, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + +object-inspect@^1.7.0: version "1.10.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30" integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA== @@ -11168,15 +11395,14 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.2, object.entries@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" - integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== +object.entries@^1.1.2, object.entries@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" + integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" + es-abstract "^1.18.2" object.fromentries@^2.0.2, object.fromentries@^2.0.4: version "2.0.4" @@ -11213,15 +11439,14 @@ object.values@^1.1.0: function-bind "^1.1.1" has "^1.0.3" -object.values@^1.1.1, object.values@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" - integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== +object.values@^1.1.1, object.values@^1.1.3, object.values@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" + integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" + es-abstract "^1.18.2" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" @@ -11813,9 +12038,9 @@ path-key@^3.0.0, path-key@^3.1.0: integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@0.1.7: version "0.1.7" @@ -11838,6 +12063,13 @@ path-type@^2.0.0: dependencies: pify "^2.0.0" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -11879,11 +12111,16 @@ physical-cpu-count@^2.0.0: resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660" integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: +picomatch@^2.0.4: version "2.2.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== +picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -11946,6 +12183,13 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + pngjs@^3.0.0, pngjs@^3.3.3: version "3.4.0" resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" @@ -12400,10 +12644,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== +prettier@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d" + integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ== prettier@^2.0.5: version "2.0.5" @@ -12438,12 +12682,10 @@ pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" -prismjs@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33" - integrity sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA== - optionalDependencies: - clipboard "^2.0.0" +prismjs@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.1.tgz#c4d7895c4d6500289482fa8936d9cdd192684036" + integrity sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow== private@^0.1.8: version "0.1.8" @@ -12688,6 +12930,11 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + raf@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" @@ -12890,6 +13137,14 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -12908,6 +13163,15 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + read@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" @@ -13036,9 +13300,9 @@ regenerator-runtime@^0.13.3: integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-transform@^0.14.2: version "0.14.3" @@ -13077,7 +13341,12 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpp@^3.0.0, regexpp@^3.1.0: +regexpp@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== @@ -13362,7 +13631,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0: +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -13517,9 +13786,11 @@ run-async@^2.2.0, run-async@^2.4.0: is-promise "^2.1.0" run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" @@ -13681,11 +13952,6 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -select@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" - integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= - selfsigned@^1.10.7: version "1.10.7" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" @@ -13732,7 +13998,7 @@ semver@^7.2.1: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -semver@^7.3.2: +semver@^7.3.2, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -14224,9 +14490,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + version "3.0.9" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" + integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== spdy-transport@^3.0.0: version "3.0.0" @@ -14470,7 +14736,7 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.2, string.prototype.matchall@^4.0.4: +string.prototype.matchall@^4.0.2: version "4.0.4" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== @@ -14483,6 +14749,20 @@ string.prototype.matchall@^4.0.2, string.prototype.matchall@^4.0.4: regexp.prototype.flags "^1.3.1" side-channel "^1.0.4" +string.prototype.matchall@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" + integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + string.prototype.trimend@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" @@ -14842,14 +15122,13 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -table@^6.0.4: - version "6.5.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.5.1.tgz#930885a7430f15f8766b35cd1e36de40793db523" - integrity sha512-xGDXWTBJxahkzPQCsn1S9ESHEenU7TbMD5Iv4FeopXv/XwJyWatFjfbor+6ipI10/MNPXBYUamYukOrbPZ9L/w== +table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== dependencies: ajv "^8.0.1" lodash.clonedeep "^4.5.0" - lodash.flatten "^4.4.0" lodash.truncate "^4.4.2" slice-ansi "^4.0.0" string-width "^4.2.0" @@ -15035,11 +15314,6 @@ timsort@^0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= -tiny-emitter@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" - integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== - tinycolor2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" @@ -15197,12 +15471,11 @@ ts-pnp@^1.1.6: integrity sha512-CrG5GqAAzMT7144Cl+UIFP7mz/iIhiy+xQ6GGcnjTezhALT02uPMRw7tgDSESgB5MsfKt55+GPWw4ir1kVtMIQ== tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== + version "3.10.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz#79ae67a68c15289fdf5c51cb74f397522d795ed7" + integrity sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q== dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" + json5 "^2.2.0" minimist "^1.2.0" strip-bom "^3.0.0" @@ -15226,7 +15499,7 @@ tslib@~2.0.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== -tsutils@^3.17.1: +tsutils@^3.17.1, tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== @@ -15329,7 +15602,7 @@ ua-parser-js@^0.7.18: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== -unbox-primitive@^1.0.0: +unbox-primitive@^1.0.0, unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==