diff --git a/.github/workflows/build_test_deploy.yml b/.github/workflows/build_test_deploy.yml index 1c963d45345d8..fbab355c068b0 100644 --- a/.github/workflows/build_test_deploy.yml +++ b/.github/workflows/build_test_deploy.yml @@ -15,6 +15,9 @@ jobs: docsChange: ${{ steps.docs-change.outputs.DOCS_CHANGE }} steps: - uses: actions/checkout@v2 + with: + fetch-depth: 25 + - run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* - run: yarn install --frozen-lockfile --check-files - run: node run-tests.js --timings --write-timings -g 1/1 @@ -136,6 +139,8 @@ jobs: YARN_COMPRESSION_LEVEL: '0' steps: - uses: actions/checkout@v2 + with: + fetch-depth: 25 - run: echo ::set-output name=DOCS_CHANGE::$(node skip-docs-change.js echo 'not-docs-only-change') id: docs-change @@ -164,6 +169,8 @@ jobs: steps: - uses: actions/checkout@v2 + with: + fetch-depth: 25 - run: echo ::set-output name=DOCS_CHANGE::$(node skip-docs-change.js echo 'not-docs-only-change') id: docs-change @@ -187,6 +194,8 @@ jobs: steps: - uses: actions/checkout@v2 + with: + fetch-depth: 25 - run: echo ::set-output name=DOCS_CHANGE::$(node skip-docs-change.js echo 'not-docs-only-change') id: docs-change diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml index 56f3e9541d29e..ce58d11cab7c9 100644 --- a/.github/workflows/cancel.yml +++ b/.github/workflows/cancel.yml @@ -1,10 +1,6 @@ name: Cancel on: pull_request_target: - branches-ignore: - # don't run cancel job for branches named canary until - # it no longer cancels the main canary branches jobs - - canary types: - edited - synchronize diff --git a/.github/workflows/pull_request_stats.yml b/.github/workflows/pull_request_stats.yml index 93a7651faf7f6..4c4874cdb9f48 100644 --- a/.github/workflows/pull_request_stats.yml +++ b/.github/workflows/pull_request_stats.yml @@ -10,6 +10,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + fetch-depth: 25 + - run: echo ::set-output name=DOCS_CHANGE::$(node skip-docs-change.js echo 'not-docs-only-change') id: docs-change - uses: ./.github/actions/next-stats-action diff --git a/contributing.md b/contributing.md index 8196675bc0004..6bfc13c554a6f 100644 --- a/contributing.md +++ b/contributing.md @@ -132,7 +132,7 @@ Description ## Deploy your own -Deploy the example using [Vercel](https://vercel.com/now): +Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example): [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/DIRECTORY_NAME&project-name=DIRECTORY_NAME&repository-name=DIRECTORY_NAME) diff --git a/docs/advanced-features/preview-mode.md b/docs/advanced-features/preview-mode.md index 79ac857448dc0..465d4354e48fc 100644 --- a/docs/advanced-features/preview-mode.md +++ b/docs/advanced-features/preview-mode.md @@ -21,6 +21,7 @@ description: Next.js has the preview mode for statically generated pages. You ca
  • ButterCMS Example (Demo)
  • Storyblok Example (Demo)
  • GraphCMS Example (Demo)
  • +
  • Kontent Example (Demo)
  • diff --git a/docs/api-reference/next.config.js/custom-page-extensions.md b/docs/api-reference/next.config.js/custom-page-extensions.md index 436af982cc58f..f457b9083d177 100644 --- a/docs/api-reference/next.config.js/custom-page-extensions.md +++ b/docs/api-reference/next.config.js/custom-page-extensions.md @@ -14,6 +14,8 @@ module.exports = { } ``` +> **Note**: configuring `pageExtensions` also affects `_document.js`, `_app.js` as well as files under `pages/api/`. For example, setting `pageExtensions: ['page.tsx', 'page.ts']` means the following files: `_document.tsx`, `_app.tsx`, `pages/users.tsx` and `pages/api/users.ts` will have to be renamed to `_document.page.tsx`, `_app.page.tsx`, `pages/users.page.tsx` and `pages/api/users.page.ts` respectively. + ## Related
    diff --git a/docs/api-routes/introduction.md b/docs/api-routes/introduction.md index e3f7e5021424b..cf252ad0ca30d 100644 --- a/docs/api-routes/introduction.md +++ b/docs/api-routes/introduction.md @@ -19,13 +19,11 @@ API routes provide a straightforward solution to build your **API** with Next.js Any file inside the folder `pages/api` is mapped to `/api/*` and will be treated as an API endpoint instead of a `page`. They are server-side only bundles and won't increase your client-side bundle size. -For example, the following API route `pages/api/user.js` handles a `json` response: +For example, the following API route `pages/api/user.js` returns a `json` response with a status code of `200`: ```js export default function handler(req, res) { - res.statusCode = 200 - res.setHeader('Content-Type', 'application/json') - res.end(JSON.stringify({ name: 'John Doe' })) + res.status(200).json({ name: 'John Doe' })) } ``` diff --git a/errors/no-router-instance.md b/errors/no-router-instance.md index 504ce29ecd803..2beaafbc71cbb 100644 --- a/errors/no-router-instance.md +++ b/errors/no-router-instance.md @@ -2,8 +2,12 @@ #### Why This Error Occurred -During SSR you might have tried to access a router method `push`, `replace`, `back`, which is not supported. +During Pre-rendering (SSR or SSG) you tried to access a router method `push`, `replace`, `back`, which is not supported. #### Possible Ways to Fix It -Move any calls to router methods to `componentDidMount` or add a check such as `typeof window !== 'undefined'` before calling the methods +In a function Component you can move the code into the `useEffect` hook. + +In a class Component, move any calls to router methods to the `componentDidMount` lifecycle method. + +This way the calls to the router methods are only executed in the browser. diff --git a/examples/custom-server-express/README.md b/examples/custom-server-express/README.md index c65095a2ccdf0..7dc1ca8c7c506 100644 --- a/examples/custom-server-express/README.md +++ b/examples/custom-server-express/README.md @@ -1,10 +1,10 @@ # Custom Express Server example -Most of the times the default Next server will be enough but sometimes you want to run your own server to customize routes or other kind of the app behavior. Next provides a [Custom server and routing](https://github.com/vercel/next.js#custom-server-and-routing) so you can customize as much as you want. +Most of the time the default Next.js server will be enough but there are times you'll want to run your own server to customize routes or other kinds of app behavior. Next.js provides [Custom server and routing](https://github.com/vercel/next.js#custom-server-and-routing) options, so you can customize as much as you want. -Because the Next.js server is just a node.js module you can combine it with any other part of the node.js ecosystem. in this case we are using express to build a custom router on top of Next. +Because the Next.js server is just a node.js module you can combine it with any other part of the node.js ecosystem. In this case we are using express to build a custom router on top of Next. -The example shows a server that serves the component living in `pages/a.js` when the route `/b` is requested and `pages/b.js` when the route `/a` is accessed. This is obviously a non-standard routing strategy. You can see how this custom routing is being made inside `server.js`. +This example demonstrates a server that serves the component living in `pages/a.js` when the route `/b` is requested and `pages/b.js` when the route `/a` is accessed. This is obviously a non-standard routing strategy. You can see how this custom routing is being made inside `server.js`. ## How to use diff --git a/examples/progressive-web-app/pages/api/hello.js b/examples/progressive-web-app/pages/api/hello.js index 57f492cdc1412..1424b47343d64 100644 --- a/examples/progressive-web-app/pages/api/hello.js +++ b/examples/progressive-web-app/pages/api/hello.js @@ -1,8 +1,7 @@ // Next.js API route support: https://nextjs.org/docs/api-routes/introduction const hello = (req, res) => { - res.statusCode = 200 - res.json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }) } export default hello diff --git a/examples/with-goober/README.md b/examples/with-goober/README.md index 407db8ce061db..95f6c1d1fb1b3 100644 --- a/examples/with-goober/README.md +++ b/examples/with-goober/README.md @@ -10,7 +10,7 @@ Goober initially started with a slogan as "a less than 1KB css-in-js library at ## Deploy your own -Deploy the example using [Vercel](https://vercel.com/now): +Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example): [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-goober&project-name=with-goober&repository-name=with-goober) diff --git a/examples/with-gsap/pages/api/hello.js b/examples/with-gsap/pages/api/hello.js index 21637a0bcbe4f..df63de88fa67c 100644 --- a/examples/with-gsap/pages/api/hello.js +++ b/examples/with-gsap/pages/api/hello.js @@ -1,6 +1,5 @@ // Next.js API route support: https://nextjs.org/docs/api-routes/introduction export default function handler(req, res) { - res.statusCode = 200 - res.json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }) } diff --git a/examples/with-hls-js/README.md b/examples/with-hls-js/README.md index c3c4f7f1d2522..49740bd6bde74 100644 --- a/examples/with-hls-js/README.md +++ b/examples/with-hls-js/README.md @@ -4,7 +4,7 @@ This example shows how to use Next.js along with [HLS.js](https://github.com/vid ## Deploy your own -Deploy the example using [Vercel](https://vercel.com/now): +Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example): [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-hls-js&project-name=with-hls-js&repository-name=with-hls-js) diff --git a/examples/with-mux-video/pages/api/asset/[id].js b/examples/with-mux-video/pages/api/asset/[id].js index 1886c48c1ed7a..a9bf34692ac5f 100644 --- a/examples/with-mux-video/pages/api/asset/[id].js +++ b/examples/with-mux-video/pages/api/asset/[id].js @@ -17,9 +17,8 @@ export default async function assetHandler(req, res) { }, }) } catch (e) { - res.statusCode = 500 console.error('Request error', e) - res.json({ error: 'Error getting upload/asset' }) + res.status(500).json({ error: 'Error getting upload/asset' }) } break default: diff --git a/examples/with-mux-video/pages/api/upload.js b/examples/with-mux-video/pages/api/upload.js index 6096286def533..1ee2f2b4e9296 100644 --- a/examples/with-mux-video/pages/api/upload.js +++ b/examples/with-mux-video/pages/api/upload.js @@ -16,9 +16,8 @@ export default async function uploadHandler(req, res) { url: upload.url, }) } catch (e) { - res.statusCode = 500 console.error('Request error', e) - res.json({ error: 'Error creating upload' }) + res.status(500).json({ error: 'Error creating upload' }) } break default: diff --git a/examples/with-mux-video/pages/api/upload/[id].js b/examples/with-mux-video/pages/api/upload/[id].js index a9e48b81dec89..86f0a3f4320a4 100644 --- a/examples/with-mux-video/pages/api/upload/[id].js +++ b/examples/with-mux-video/pages/api/upload/[id].js @@ -16,9 +16,8 @@ export default async function uploadHandler(req, res) { }, }) } catch (e) { - res.statusCode = 500 console.error('Request error', e) - res.json({ error: 'Error getting upload/asset' }) + res.status(500).json({ error: 'Error getting upload/asset' }) } break default: diff --git a/examples/with-react-md-typescript/README.md b/examples/with-react-md-typescript/README.md index edb1c01ddad1b..c9e157df96e95 100644 --- a/examples/with-react-md-typescript/README.md +++ b/examples/with-react-md-typescript/README.md @@ -19,7 +19,7 @@ for a more complex example of using ReactMD + Next.js. ## Deploy your own -Deploy the example using [Vercel](https://vercel.com/now): +Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example): [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-react-md-typescript&project-name=with-react-md-typescript&repository-name=with-react-md-typescript) diff --git a/examples/with-react-md/README.md b/examples/with-react-md/README.md index f1b92f2ae509c..d3043a1ee5e17 100644 --- a/examples/with-react-md/README.md +++ b/examples/with-react-md/README.md @@ -20,7 +20,7 @@ example for Typescript support. ## Deploy your own -Deploy the example using [Vercel](https://vercel.com/now): +Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example): [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-react-md&project-name=with-react-md&repository-name=with-react-md) diff --git a/examples/with-sentry/pages/api/test1.js b/examples/with-sentry/pages/api/test1.js index 560ad9ce9a802..546d3215d0714 100644 --- a/examples/with-sentry/pages/api/test1.js +++ b/examples/with-sentry/pages/api/test1.js @@ -6,6 +6,5 @@ const doAsyncWork = () => Promise.reject(new Error('API Test 1')) doAsyncWork() export default async function handler(req, res) { - res.statusCode = 200 - res.json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }) } diff --git a/examples/with-sentry/pages/api/test2.js b/examples/with-sentry/pages/api/test2.js index bf96ded450da1..3df4ab6372896 100644 --- a/examples/with-sentry/pages/api/test2.js +++ b/examples/with-sentry/pages/api/test2.js @@ -9,6 +9,5 @@ function work() { work() export default async function handler(req, res) { - res.statusCode = 200 - res.json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }) } diff --git a/examples/with-sentry/pages/api/test3.js b/examples/with-sentry/pages/api/test3.js index 6e55df70fedc2..152c058a33df2 100644 --- a/examples/with-sentry/pages/api/test3.js +++ b/examples/with-sentry/pages/api/test3.js @@ -9,6 +9,5 @@ function work() { export default async function handler(req, res) { work() - res.statusCode = 200 - res.json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }) } diff --git a/examples/with-sentry/pages/api/test4.js b/examples/with-sentry/pages/api/test4.js index 052b574a4e708..699569c781b38 100644 --- a/examples/with-sentry/pages/api/test4.js +++ b/examples/with-sentry/pages/api/test4.js @@ -14,6 +14,5 @@ export default async function handler(req, res) { // Flushing before returning is necessary if deploying to Vercel, see // https://vercel.com/docs/platform/limits#streaming-responses await Sentry.flush(2000) - res.statusCode = 200 - res.json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }) } diff --git a/examples/with-service-worker/README.md b/examples/with-service-worker/README.md index 9a5c4ccc71c4e..af05928b51d24 100644 --- a/examples/with-service-worker/README.md +++ b/examples/with-service-worker/README.md @@ -6,7 +6,7 @@ The example is based on the following blog post: [Adding a service worker into y ## Deploy your own -Deploy the example using [Vercel](https://vercel.com/now): +Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example): [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-service-worker&project-name=with-service-worker&repository-name=with-service-worker) diff --git a/examples/with-tailwindcss/pages/api/hello.js b/examples/with-tailwindcss/pages/api/hello.js index 5b0218cc09ff6..f163396631ba5 100644 --- a/examples/with-tailwindcss/pages/api/hello.js +++ b/examples/with-tailwindcss/pages/api/hello.js @@ -1,6 +1,5 @@ // Next.js API route support: https://nextjs.org/docs/api-routes/introduction export default function helloAPI(req, res) { - res.statusCode = 200 - res.json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }) } diff --git a/examples/with-typescript-eslint-jest/.eslintrc.json b/examples/with-typescript-eslint-jest/.eslintrc.json index 496b88e9a76c0..b0fad61d18ed9 100644 --- a/examples/with-typescript-eslint-jest/.eslintrc.json +++ b/examples/with-typescript-eslint-jest/.eslintrc.json @@ -16,6 +16,11 @@ "jest": true, "node": true }, + "settings": { + "react": { + "version": "detect" + } + }, "rules": { "react/react-in-jsx-scope": 0, "react/display-name": 0, diff --git a/examples/with-typescript-eslint-jest/pages/api/hello.ts b/examples/with-typescript-eslint-jest/pages/api/hello.ts index 9c59e5b8be5a6..b3be12cef86c3 100644 --- a/examples/with-typescript-eslint-jest/pages/api/hello.ts +++ b/examples/with-typescript-eslint-jest/pages/api/hello.ts @@ -3,8 +3,7 @@ import { NextApiRequest, NextApiResponse } from 'next' const handler = (req: NextApiRequest, res: NextApiResponse) => { - res.statusCode = 200 - res.json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }) } export default handler diff --git a/examples/with-unsplash/pages/api/collection/[id].tsx b/examples/with-unsplash/pages/api/collection/[id].tsx index 9a6084112a5ef..5283e085ae88e 100644 --- a/examples/with-unsplash/pages/api/collection/[id].tsx +++ b/examples/with-unsplash/pages/api/collection/[id].tsx @@ -16,15 +16,12 @@ export default function getCollection( .getCollection(parseInt(id.toString())) .then(toJson) .then((json) => { - res.statusCode = 200 - res.setHeader('Content-Type', 'application/json') res.setHeader('Cache-Control', 'max-age=180000') - res.end(JSON.stringify([json])) + res.status(200).json([json]) resolve() }) .catch((error) => { - res.json(error) - res.status(405).end() + res.status(405).json(error) resolve() }) }) diff --git a/examples/with-unsplash/pages/api/collection/index.tsx b/examples/with-unsplash/pages/api/collection/index.tsx index 6edcd21eeaf92..784ce1f03f426 100644 --- a/examples/with-unsplash/pages/api/collection/index.tsx +++ b/examples/with-unsplash/pages/api/collection/index.tsx @@ -15,15 +15,12 @@ export default function getCollections( .then((json) => { json.map((c) => (c.slug = slug(c.title))) - res.statusCode = 200 - res.setHeader('Content-Type', 'application/json') res.setHeader('Cache-Control', 'max-age=180000') - res.end(JSON.stringify(json)) + res.status(200).json(json) resolve() }) .catch((error) => { - res.json(error) - res.status(405).end() + res.status(405).json(error) resolve() }) }) diff --git a/examples/with-unsplash/pages/api/photo/[id].tsx b/examples/with-unsplash/pages/api/photo/[id].tsx index 5a9c499b0d36c..e7125d4aa5ae3 100644 --- a/examples/with-unsplash/pages/api/photo/[id].tsx +++ b/examples/with-unsplash/pages/api/photo/[id].tsx @@ -16,15 +16,12 @@ export default function getCollectionPhotos( .getCollectionPhotos(parseInt(id.toString())) .then(toJson) .then((json) => { - res.statusCode = 200 - res.setHeader('Content-Type', 'application/json') res.setHeader('Cache-Control', 'max-age=180000') - res.end(JSON.stringify(json)) + res.status(200).json(json) resolve() }) .catch((error) => { - res.json(error) - res.status(405).end() + res.status(405).json(error) resolve() }) }) diff --git a/examples/with-unsplash/pages/api/photo/index.tsx b/examples/with-unsplash/pages/api/photo/index.tsx index 2b91a212a2665..74a6c8c75b1fc 100644 --- a/examples/with-unsplash/pages/api/photo/index.tsx +++ b/examples/with-unsplash/pages/api/photo/index.tsx @@ -9,15 +9,12 @@ export default function getPhotos(req: NextApiRequest, res: NextApiResponse) { .photos(process.env.UNSPLASH_USER, 1, 50, 'latest') .then(toJson) .then((json: string) => { - res.statusCode = 200 - res.setHeader('Content-Type', 'application/json') res.setHeader('Cache-Control', 'max-age=180000') - res.end(JSON.stringify(json)) + res.status(200).json(json) resolve() }) .catch((error) => { - res.json(error) - res.status(405).end() + res.status(405).json(error) resolve() }) }) diff --git a/examples/with-unsplash/pages/api/stats/index.tsx b/examples/with-unsplash/pages/api/stats/index.tsx index 8ded041655161..defe8845d50d8 100644 --- a/examples/with-unsplash/pages/api/stats/index.tsx +++ b/examples/with-unsplash/pages/api/stats/index.tsx @@ -9,15 +9,12 @@ export default function getStats(req: NextApiRequest, res: NextApiResponse) { .statistics(process.env.UNSPLASH_USER, 'days', 30) .then(toJson) .then((json) => { - res.statusCode = 200 - res.setHeader('Content-Type', 'application/json') res.setHeader('Cache-Control', 'max-age=180000') - res.end(JSON.stringify(json)) + res.status(200).json(json) resolve() }) .catch((error) => { - res.json(error) - res.status(405).end() + res.status(405).json(error) resolve() }) }) diff --git a/examples/with-unsplash/pages/api/user/index.tsx b/examples/with-unsplash/pages/api/user/index.tsx index 5b8d58715b4e8..2dff59a6774c8 100644 --- a/examples/with-unsplash/pages/api/user/index.tsx +++ b/examples/with-unsplash/pages/api/user/index.tsx @@ -9,15 +9,12 @@ export default function getUser(req: NextApiRequest, res: NextApiResponse) { .profile(process.env.UNSPLASH_USER) .then(toJson) .then((json) => { - res.statusCode = 200 - res.setHeader('Content-Type', 'application/json') res.setHeader('Cache-Control', 'max-age=180000') - res.end(JSON.stringify(json)) + res.status(200).json([json]) resolve() }) .catch((error) => { - res.json(error) - res.status(405).end() + res.status(405).json(error) resolve() }) }) diff --git a/examples/with-urql/README.md b/examples/with-urql/README.md index b952908613900..88bb790ebbd36 100644 --- a/examples/with-urql/README.md +++ b/examples/with-urql/README.md @@ -4,7 +4,7 @@ Use [urql](https://github.com/FormidableLabs/urql) with Next.js using SSG. ## Deploy your own -Deploy the example using [Vercel](https://vercel.com/now): +Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example): [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-urql&project-name=with-urql&repository-name=with-urql) diff --git a/lerna.json b/lerna.json index 47b50ba854c05..859b9858741ed 100644 --- a/lerna.json +++ b/lerna.json @@ -17,5 +17,5 @@ "registry": "https://registry.npmjs.org/" } }, - "version": "10.0.6-canary.8" + "version": "10.0.6-canary.9" } diff --git a/packages/create-next-app/package.json b/packages/create-next-app/package.json index b9b37f38b8962..bed421a3eb1df 100644 --- a/packages/create-next-app/package.json +++ b/packages/create-next-app/package.json @@ -1,6 +1,6 @@ { "name": "create-next-app", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "keywords": [ "react", "next", diff --git a/packages/create-next-app/templates/default/pages/api/hello.js b/packages/create-next-app/templates/default/pages/api/hello.js index 5b77ec0d11dc6..9987aff4c39a9 100644 --- a/packages/create-next-app/templates/default/pages/api/hello.js +++ b/packages/create-next-app/templates/default/pages/api/hello.js @@ -1,6 +1,5 @@ // Next.js API route support: https://nextjs.org/docs/api-routes/introduction export default (req, res) => { - res.statusCode = 200 - res.json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }) } diff --git a/packages/eslint-plugin-next/package.json b/packages/eslint-plugin-next/package.json index 794b2666bdbeb..4596d493e3463 100644 --- a/packages/eslint-plugin-next/package.json +++ b/packages/eslint-plugin-next/package.json @@ -1,6 +1,6 @@ { "name": "@next/eslint-plugin-next", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "description": "ESLint plugin for NextJS.", "main": "lib/index.js", "license": "MIT", diff --git a/packages/next-bundle-analyzer/package.json b/packages/next-bundle-analyzer/package.json index 6e1f4a14bb7cd..0f58dd4265ff0 100644 --- a/packages/next-bundle-analyzer/package.json +++ b/packages/next-bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@next/bundle-analyzer", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "main": "index.js", "license": "MIT", "repository": { diff --git a/packages/next-codemod/package.json b/packages/next-codemod/package.json index da82fcae10f03..c4cc4987cd7cf 100644 --- a/packages/next-codemod/package.json +++ b/packages/next-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@next/codemod", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "license": "MIT", "dependencies": { "chalk": "4.1.0", diff --git a/packages/next-codemod/transforms/name-default-component.ts b/packages/next-codemod/transforms/name-default-component.ts index 745de4aaf4f10..bcbf7c34202a5 100644 --- a/packages/next-codemod/transforms/name-default-component.ts +++ b/packages/next-codemod/transforms/name-default-component.ts @@ -1,39 +1,44 @@ import { basename, extname } from 'path' -const camelCase = (value) => { +const camelCase = (value: string): string => { const val = value.replace(/[-_\s.]+(.)?/g, (_match, chr) => chr ? chr.toUpperCase() : '' ) return val.substr(0, 1).toUpperCase() + val.substr(1) } -const isValidIdentifier = (value) => /^[a-zA-ZÀ-ÿ][0-9a-zA-ZÀ-ÿ]+$/.test(value) +const isValidIdentifier = (value: string): boolean => + /^[a-zA-ZÀ-ÿ][0-9a-zA-ZÀ-ÿ]+$/.test(value) + +type Node = { + type: string + declaration: { + type: string + body: any + id?: any + } +} export default function transformer(file, api, options) { const j = api.jscodeshift const root = j(file.source) - let hasModifications + let hasModifications: boolean - const returnsJSX = (node) => + const returnsJSX = (node): boolean => node.type === 'JSXElement' || (node.type === 'BlockStatement' && j(node) .find(j.ReturnStatement) - .some( - (path) => - path.value.argument && path.value.argument.type === 'JSXElement' - )) + .some((path) => path.value.argument?.type === 'JSXElement')) - const hasRootAsParent = (path) => { + const hasRootAsParent = (path): boolean => { const program = path.parentPath.parentPath.parentPath.parentPath.parentPath - return ( - !program || (program && program.value && program.value.type === 'Program') - ) + return !program || program?.value?.type === 'Program' } - const nameFunctionComponent = (path) => { - const node = path.value + const nameFunctionComponent = (path): void => { + const node: Node = path.value if (!node.declaration) { return diff --git a/packages/next-env/package.json b/packages/next-env/package.json index aa48ec2d2e3e9..073c8d049aaa4 100644 --- a/packages/next-env/package.json +++ b/packages/next-env/package.json @@ -1,6 +1,6 @@ { "name": "@next/env", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "keywords": [ "react", "next", diff --git a/packages/next-mdx/package.json b/packages/next-mdx/package.json index ea381f4d24bae..af4a804fea7f8 100644 --- a/packages/next-mdx/package.json +++ b/packages/next-mdx/package.json @@ -1,6 +1,6 @@ { "name": "@next/mdx", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "main": "index.js", "license": "MIT", "repository": { diff --git a/packages/next-plugin-google-analytics/package.json b/packages/next-plugin-google-analytics/package.json index 8cd5ae5e4c6d9..b6742a4ccc917 100644 --- a/packages/next-plugin-google-analytics/package.json +++ b/packages/next-plugin-google-analytics/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-google-analytics", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-google-analytics" diff --git a/packages/next-plugin-sentry/package.json b/packages/next-plugin-sentry/package.json index 9e1145a43cfb0..d6fe05b71103c 100644 --- a/packages/next-plugin-sentry/package.json +++ b/packages/next-plugin-sentry/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-sentry", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-sentry" diff --git a/packages/next-plugin-storybook/package.json b/packages/next-plugin-storybook/package.json index db02d1233b2f3..b066054a824bc 100644 --- a/packages/next-plugin-storybook/package.json +++ b/packages/next-plugin-storybook/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-storybook", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-storybook" diff --git a/packages/next-plugin-storybook/preset.js b/packages/next-plugin-storybook/preset.js index 12ccb983e6063..806677aab0f5a 100644 --- a/packages/next-plugin-storybook/preset.js +++ b/packages/next-plugin-storybook/preset.js @@ -25,7 +25,25 @@ async function webpackFinal(config) { ...nextWebpackConfig.resolve, } - config.module.rules = [ + config.module.rules = { + ...filterModuleRules(config), + ...nextWebpackConfig.module.rules.map((rule) => { + // we need to resolve next-babel-loader since it's not available + // relative with storybook's config + if (rule.use && rule.use.loader === 'next-babel-loader') { + rule.use.loader = require.resolve( + 'next/dist/build/webpack/loaders/next-babel-loader' + ) + } + return rule + }), + } + + return config +} + +function filterModuleRules(config) { + return [ ...config.module.rules.filter((rule) => { // the rules we're filtering use RegExp for the test if (!(rule.test instanceof RegExp)) return true @@ -43,21 +61,10 @@ async function webpackFinal(config) { } return true }), - ...nextWebpackConfig.module.rules.map((rule) => { - // we need to resolve next-babel-loader since it's not available - // relative with storybook's config - if (rule.use && rule.use.loader === 'next-babel-loader') { - rule.use.loader = require.resolve( - 'next/dist/build/webpack/loaders/next-babel-loader' - ) - } - return rule - }), ] - - return config } module.exports = { webpackFinal, + filterModuleRules, } diff --git a/packages/next-polyfill-module/package.json b/packages/next-polyfill-module/package.json index 613ee2f89833f..6a57e91d7bd12 100644 --- a/packages/next-polyfill-module/package.json +++ b/packages/next-polyfill-module/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-module", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)", "main": "dist/polyfill-module.js", "license": "MIT", diff --git a/packages/next-polyfill-nomodule/package.json b/packages/next-polyfill-nomodule/package.json index 7a1c4b66c37eb..78446a10a6673 100644 --- a/packages/next-polyfill-nomodule/package.json +++ b/packages/next-polyfill-nomodule/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-nomodule", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "description": "A polyfill for non-dead, nomodule browsers.", "main": "dist/polyfill-nomodule.js", "license": "MIT", diff --git a/packages/next/build/index.ts b/packages/next/build/index.ts index 06f17b36a0526..0ca466995703f 100644 --- a/packages/next/build/index.ts +++ b/packages/next/build/index.ts @@ -85,6 +85,7 @@ import getBaseWebpackConfig from './webpack-config' import { PagesManifest } from './webpack/plugins/pages-manifest-plugin' import { writeBuildId } from './write-build-id' import opentelemetryApi from '@opentelemetry/api' +import { normalizeLocalePath } from '../next-server/lib/i18n/normalize-locale-path' const staticCheckWorker = require.resolve('./utils') @@ -102,7 +103,7 @@ export type DynamicSsgRoute = { } export type PrerenderManifest = { - version: 2 + version: 3 routes: { [route: string]: SsgRoute } dynamicRoutes: { [route: string]: DynamicSsgRoute } notFoundRoutes: string[] @@ -880,6 +881,8 @@ export default async function build( if (postCompileSpinner) postCompileSpinner.stopAndPersist() + const { i18n } = config + await traceAsyncFn(tracer.startSpan('static-generation'), async () => { if (staticPages.size > 0 || ssgPages.size > 0 || useStatic404) { const combinedPages = [...staticPages, ...ssgPages] @@ -910,8 +913,6 @@ export default async function build( // n.b. we cannot handle this above in combinedPages because the dynamic // page must be in the `pages` array, but not in the mapping. exportPathMap: (defaultMap: any) => { - const { i18n } = config - // Dynamically routed pages should be prerendered to be used as // a client-side skeleton (fallback) while data is being fetched. // This ensures the end-user never sees a 500 or slow response from the @@ -1061,7 +1062,6 @@ export default async function build( pagesManifest[page] = relativeDest } - const { i18n } = config const isNotFound = ssgNotFoundPaths.includes(page) // for SSG files with i18n the non-prerendered variants are @@ -1136,9 +1136,12 @@ export default async function build( const hasAmp = hybridAmpPages.has(page) const file = normalizePagePath(page) - // The dynamic version of SSG pages are only prerendered if the fallback - // is enabled. Below, we handle the specific prerenders of these. - if (!(isSsg && isDynamic && !isStaticSsgFallback)) { + // The dynamic version of SSG pages are only prerendered if the + // fallback is enabled. Below, we handle the specific prerenders + // of these. + const hasHtmlOutput = !(isSsg && isDynamic && !isStaticSsgFallback) + + if (hasHtmlOutput) { await moveExportedPage(page, page, file, isSsg, 'html') } @@ -1152,31 +1155,46 @@ export default async function build( } if (isSsg) { - const { i18n } = config - - // For a non-dynamic SSG page, we must copy its data file from export. + // For a non-dynamic SSG page, we must copy its data file + // from export, we already moved the HTML file above if (!isDynamic) { - await moveExportedPage(page, page, file, true, 'json') - - const revalidationMapPath = i18n - ? `/${i18n.defaultLocale}${page === '/' ? '' : page}` - : page - - finalPrerenderRoutes[page] = { - initialRevalidateSeconds: - exportConfig.initialPageRevalidationMap[revalidationMapPath], - srcRoute: null, - dataRoute: path.posix.join( - '/_next/data', - buildId, - `${file}.json` - ), + await moveExportedPage(page, page, file, isSsg, 'json') + + if (i18n) { + // TODO: do we want to show all locale variants in build output + for (const locale of i18n.locales) { + const localePage = `/${locale}${page === '/' ? '' : page}` + + if (!ssgNotFoundPaths.includes(localePage)) { + finalPrerenderRoutes[localePage] = { + initialRevalidateSeconds: + exportConfig.initialPageRevalidationMap[localePage], + srcRoute: null, + dataRoute: path.posix.join( + '/_next/data', + buildId, + `${file}.json` + ), + } + } + } + } else { + finalPrerenderRoutes[page] = { + initialRevalidateSeconds: + exportConfig.initialPageRevalidationMap[page], + srcRoute: null, + dataRoute: path.posix.join( + '/_next/data', + buildId, + `${file}.json` + ), + } } // Set Page Revalidation Interval const pageInfo = pageInfos.get(page) if (pageInfo) { pageInfo.initialRevalidateSeconds = - exportConfig.initialPageRevalidationMap[revalidationMapPath] + exportConfig.initialPageRevalidationMap[page] pageInfos.set(page, pageInfo) } } else { @@ -1191,7 +1209,7 @@ export default async function build( page, route, pageFile, - true, + isSsg, 'html', true ) @@ -1199,7 +1217,7 @@ export default async function build( page, route, pageFile, - true, + isSsg, 'json', true ) @@ -1210,7 +1228,7 @@ export default async function build( page, ampPage, ampPage, - true, + isSsg, 'html', true ) @@ -1218,7 +1236,7 @@ export default async function build( page, ampPage, ampPage, - true, + isSsg, 'json', true ) @@ -1306,7 +1324,7 @@ export default async function build( } }) const prerenderManifest: PrerenderManifest = { - version: 2, + version: 3, routes: finalPrerenderRoutes, dynamicRoutes: finalDynamicRoutes, notFoundRoutes: ssgNotFoundPaths, @@ -1321,10 +1339,11 @@ export default async function build( await generateClientSsgManifest(prerenderManifest, { distDir, buildId, + locales: config.i18n?.locales || [], }) } else { const prerenderManifest: PrerenderManifest = { - version: 2, + version: 3, routes: {}, dynamicRoutes: {}, preview: previewProps, @@ -1408,13 +1427,17 @@ export type ClientSsgManifest = Set function generateClientSsgManifest( prerenderManifest: PrerenderManifest, - { buildId, distDir }: { buildId: string; distDir: string } + { + buildId, + distDir, + locales, + }: { buildId: string; distDir: string; locales: string[] } ) { const ssgPages: ClientSsgManifest = new Set([ ...Object.entries(prerenderManifest.routes) // Filter out dynamic routes .filter(([, { srcRoute }]) => srcRoute == null) - .map(([route]) => route), + .map(([route]) => normalizeLocalePath(route, locales).pathname), ...Object.keys(prerenderManifest.dynamicRoutes), ]) diff --git a/packages/next/bundles/package.json b/packages/next/bundles/package.json index 2204eea1bdf31..987d5bf994f62 100644 --- a/packages/next/bundles/package.json +++ b/packages/next/bundles/package.json @@ -1,8 +1,8 @@ { "dependencies": { - "webpack5": "npm:webpack@5", "schema-utils3": "npm:schema-utils@3.0.0", - "webpack-sources2": "npm:webpack-sources@2.2.0" + "webpack-sources2": "npm:webpack-sources@2.2.0", + "webpack5": "npm:webpack@5" }, "resolutions": { "browserslist": "4.16.1", diff --git a/packages/next/bundles/yarn.lock b/packages/next/bundles/yarn.lock index 78bcb8f1bee5f..af123fc714f68 100644 --- a/packages/next/bundles/yarn.lock +++ b/packages/next/bundles/yarn.lock @@ -18,25 +18,20 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": +"@types/estree@*", "@types/estree@^0.0.46": version "0.0.46" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== -"@types/estree@^0.0.45": - version "0.0.45" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" - integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== - "@types/json-schema@*", "@types/json-schema@^7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== "@types/node@*": - version "14.14.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.21.tgz#d934aacc22424fe9622ebf6857370c052eae464e" - integrity sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A== + version "14.14.22" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18" + integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw== "@webassemblyjs/ast@1.11.0": version "1.11.0" @@ -170,9 +165,9 @@ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== acorn@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz#7a3ae4191466a6984eee0fe3407a4f3aa9db8354" - integrity sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ== + version "8.0.5" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.5.tgz#a3bfb872a74a6a7f661bc81b9849d9cac12601b7" + integrity sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg== ajv-keywords@^3.5.2: version "3.5.2" @@ -228,9 +223,9 @@ commander@^2.20.0: integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== electron-to-chromium@^1.3.634: - version "1.3.641" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.641.tgz#03f14efd70a7971eff2efc947b3c1d0f717c82b9" - integrity sha512-b0DLhsHSHESC1I+Nx6n4w4Lr61chMd3m/av1rZQhS2IXTzaS5BMM5N+ldWdMIlni9CITMRM09m8He4+YV/92TA== + version "1.3.645" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.645.tgz#c0b269ae2ecece5aedc02dd4586397d8096affb1" + integrity sha512-T7mYop3aDpRHIQaUYcmzmh6j9MAe560n6ukqjJMbVC6bVTau7dSpvB18bcsBPPtOSe10cKxhJFtlbEzLa0LL1g== enhanced-resolve@^5.7.0: version "5.7.0" @@ -515,12 +510,12 @@ watchpack@^2.0.0: source-map "^0.6.1" "webpack5@npm:webpack@5": - version "5.16.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.16.0.tgz#796e093c2d92c229f013aefefde82b50c0572570" - integrity sha512-QOkctcjYfEGxcYg4AzPJafyAQ7ANc266/URkX881uFA7b2k31E0Dmpy1ExfppHOTp1kHDTsRh9sXojVUvgPF0g== + version "5.18.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.18.0.tgz#bbcf13094aa0da0534d513f27d7ee72d74e499c6" + integrity sha512-RmiP/iy6ROvVe/S+u0TrvL/oOmvP+2+Bs8MWjvBwwY/j82Q51XJyDJ75m0QAGntL1Wx6B//Xc0+4VPP/hlNHmw== dependencies: "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.45" + "@types/estree" "^0.0.46" "@webassemblyjs/ast" "1.11.0" "@webassemblyjs/wasm-edit" "1.11.0" "@webassemblyjs/wasm-parser" "1.11.0" diff --git a/packages/next/compiled/cacache/index.js b/packages/next/compiled/cacache/index.js index 481b943dd1280..495c46b235f87 100644 --- a/packages/next/compiled/cacache/index.js +++ b/packages/next/compiled/cacache/index.js @@ -1 +1 @@ -module.exports=(()=>{var __webpack_modules__={3485:(t,e,r)=>{const{dirname:n}=r(5622);const{promisify:i}=r(1669);const{access:s,accessSync:o,copyFile:a,copyFileSync:c,unlink:u,unlinkSync:l,rename:f,renameSync:h}=r(5747);const p=i(s);const d=i(a);const y=i(u);const v=i(f);const m=r(7424);const g=async t=>{try{await p(t);return true}catch(t){return t.code!=="ENOENT"}};const _=t=>{try{o(t);return true}catch(t){return t.code!=="ENOENT"}};t.exports=(async(t,e,r={})=>{if(!t||!e){throw new TypeError("`source` and `destination` file required")}r={overwrite:true,...r};if(!r.overwrite&&await g(e)){throw new Error(`The destination file exists: ${e}`)}await m(n(e));try{await v(t,e)}catch(r){if(r.code==="EXDEV"){await d(t,e);await y(t)}else{throw r}}});t.exports.sync=((t,e,r={})=>{if(!t||!e){throw new TypeError("`source` and `destination` file required")}r={overwrite:true,...r};if(!r.overwrite&&_(e)){throw new Error(`The destination file exists: ${e}`)}m.sync(n(e));try{h(t,e)}catch(r){if(r.code==="EXDEV"){c(t,e);l(t)}else{throw r}}})},7424:(t,e,r)=>{const n=r(3430);const i=r(8693);const{mkdirpNative:s,mkdirpNativeSync:o}=r(9863);const{mkdirpManual:a,mkdirpManualSync:c}=r(4906);const{useNative:u,useNativeSync:l}=r(7721);const f=(t,e)=>{t=i(t);e=n(e);return u(e)?s(t,e):a(t,e)};const h=(t,e)=>{t=i(t);e=n(e);return l(e)?o(t,e):c(t,e)};f.sync=h;f.native=((t,e)=>s(i(t),n(e)));f.manual=((t,e)=>a(i(t),n(e)));f.nativeSync=((t,e)=>o(i(t),n(e)));f.manualSync=((t,e)=>c(i(t),n(e)));t.exports=f},7496:(t,e,r)=>{const{dirname:n}=r(5622);const i=(t,e,r=undefined)=>{if(r===e)return Promise.resolve();return t.statAsync(e).then(t=>t.isDirectory()?r:undefined,r=>r.code==="ENOENT"?i(t,n(e),e):undefined)};const s=(t,e,r=undefined)=>{if(r===e)return undefined;try{return t.statSync(e).isDirectory()?r:undefined}catch(r){return r.code==="ENOENT"?s(t,n(e),e):undefined}};t.exports={findMade:i,findMadeSync:s}},4906:(t,e,r)=>{const{dirname:n}=r(5622);const i=(t,e,r)=>{e.recursive=false;const s=n(t);if(s===t){return e.mkdirAsync(t,e).catch(t=>{if(t.code!=="EISDIR")throw t})}return e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return i(s,e).then(r=>i(t,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(t=>{if(t.isDirectory())return r;else throw n},()=>{throw n})})};const s=(t,e,r)=>{const i=n(t);e.recursive=false;if(i===t){try{return e.mkdirSync(t,e)}catch(t){if(t.code!=="EISDIR")throw t;else return}}try{e.mkdirSync(t,e);return r||t}catch(n){if(n.code==="ENOENT")return s(t,e,s(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(t){throw n}}};t.exports={mkdirpManual:i,mkdirpManualSync:s}},9863:(t,e,r)=>{const{dirname:n}=r(5622);const{findMade:i,findMadeSync:s}=r(7496);const{mkdirpManual:o,mkdirpManualSync:a}=r(4906);const c=(t,e)=>{e.recursive=true;const r=n(t);if(r===t)return e.mkdirAsync(t,e);return i(e,t).then(r=>e.mkdirAsync(t,e).then(()=>r).catch(r=>{if(r.code==="ENOENT")return o(t,e);else throw r}))};const u=(t,e)=>{e.recursive=true;const r=n(t);if(r===t)return e.mkdirSync(t,e);const i=s(e,t);try{e.mkdirSync(t,e);return i}catch(r){if(r.code==="ENOENT")return a(t,e);else throw r}};t.exports={mkdirpNative:c,mkdirpNativeSync:u}},3430:(t,e,r)=>{const{promisify:n}=r(1669);const i=r(5747);const s=t=>{if(!t)t={mode:511,fs:i};else if(typeof t==="object")t={mode:511,fs:i,...t};else if(typeof t==="number")t={mode:t,fs:i};else if(typeof t==="string")t={mode:parseInt(t,8),fs:i};else throw new TypeError("invalid options argument");t.mkdir=t.mkdir||t.fs.mkdir||i.mkdir;t.mkdirAsync=n(t.mkdir);t.stat=t.stat||t.fs.stat||i.stat;t.statAsync=n(t.stat);t.statSync=t.statSync||t.fs.statSync||i.statSync;t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||i.mkdirSync;return t};t.exports=s},8693:(t,e,r)=>{const n=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const{resolve:i,parse:s}=r(5622);const o=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=i(t);if(n==="win32"){const e=/[*|"<>?:]/;const{root:r}=s(t);if(e.test(t.substr(r.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};t.exports=o},7721:(t,e,r)=>{const n=r(5747);const i=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const s=i.replace(/^v/,"").split(".");const o=+s[0]>10||+s[0]===10&&+s[1]>=12;const a=!o?()=>false:t=>t.mkdir===n.mkdir;const c=!o?()=>false:t=>t.mkdirSync===n.mkdirSync;t.exports={useNative:a,useNativeSync:c}},464:(t,e,r)=>{"use strict";const n=r(6342);const i=r(9616);const s=t=>t.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g,"");class AggregateError extends Error{constructor(t){if(!Array.isArray(t)){throw new TypeError(`Expected input to be an Array, got ${typeof t}`)}t=[...t].map(t=>{if(t instanceof Error){return t}if(t!==null&&typeof t==="object"){return Object.assign(new Error(t.message),t)}return new Error(t)});let e=t.map(t=>{return typeof t.stack==="string"?s(i(t.stack)):String(t)}).join("\n");e="\n"+n(e,4);super(e);this.name="AggregateError";Object.defineProperty(this,"_errors",{value:t})}*[Symbol.iterator](){for(const t of this._errors){yield t}}}t.exports=AggregateError},6342:t=>{"use strict";t.exports=((t,e=1,r)=>{r={indent:" ",includeEmptyLines:false,...r};if(typeof t!=="string"){throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``)}if(typeof e!=="number"){throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``)}if(typeof r.indent!=="string"){throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``)}if(e===0){return t}const n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))})},587:t=>{"use strict";t.exports=balanced;function balanced(t,e,r){if(t instanceof RegExp)t=maybeMatch(t,r);if(e instanceof RegExp)e=maybeMatch(e,r);var n=range(t,e,r);return n&&{start:n[0],end:n[1],pre:r.slice(0,n[0]),body:r.slice(n[0]+t.length,n[1]),post:r.slice(n[1]+e.length)}}function maybeMatch(t,e){var r=e.match(t);return r?r[0]:null}balanced.range=range;function range(t,e,r){var n,i,s,o,a;var c=r.indexOf(t);var u=r.indexOf(e,c+1);var l=c;if(c>=0&&u>0){n=[];s=r.length;while(l>=0&&!a){if(l==c){n.push(l);c=r.indexOf(t,l+1)}else if(n.length==1){a=[n.pop(),u]}else{i=n.pop();if(i=0?c:u}if(n.length){a=[s,o]}}return a}},5801:t=>{"use strict";t.exports=function(t){var e=t._SomePromiseArray;function any(t){var r=new e(t);var n=r.promise();r.setHowMany(1);r.setUnwrap();r.init();return n}t.any=function(t){return any(t)};t.prototype.any=function(){return any(this)}}},9952:(t,e,r)=>{"use strict";var n;try{throw new Error}catch(t){n=t}var i=r(7254);var s=r(3172);function Async(){this._customScheduler=false;this._isTickUsed=false;this._lateQueue=new s(16);this._normalQueue=new s(16);this._haveDrainedQueues=false;var t=this;this.drainQueues=function(){t._drainQueues()};this._schedule=i}Async.prototype.setScheduler=function(t){var e=this._schedule;this._schedule=t;this._customScheduler=true;return e};Async.prototype.hasCustomScheduler=function(){return this._customScheduler};Async.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues};Async.prototype.fatalError=function(t,e){if(e){process.stderr.write("Fatal "+(t instanceof Error?t.stack:t)+"\n");process.exit(2)}else{this.throwLater(t)}};Async.prototype.throwLater=function(t,e){if(arguments.length===1){e=t;t=function(){throw e}}if(typeof setTimeout!=="undefined"){setTimeout(function(){t(e)},0)}else try{this._schedule(function(){t(e)})}catch(t){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}};function AsyncInvokeLater(t,e,r){this._lateQueue.push(t,e,r);this._queueTick()}function AsyncInvoke(t,e,r){this._normalQueue.push(t,e,r);this._queueTick()}function AsyncSettlePromises(t){this._normalQueue._pushOne(t);this._queueTick()}Async.prototype.invokeLater=AsyncInvokeLater;Async.prototype.invoke=AsyncInvoke;Async.prototype.settlePromises=AsyncSettlePromises;function _drainQueue(t){while(t.length()>0){_drainQueueStep(t)}}function _drainQueueStep(t){var e=t.shift();if(typeof e!=="function"){e._settlePromises()}else{var r=t.shift();var n=t.shift();e.call(r,n)}}Async.prototype._drainQueues=function(){_drainQueue(this._normalQueue);this._reset();this._haveDrainedQueues=true;_drainQueue(this._lateQueue)};Async.prototype._queueTick=function(){if(!this._isTickUsed){this._isTickUsed=true;this._schedule(this.drainQueues)}};Async.prototype._reset=function(){this._isTickUsed=false};t.exports=Async;t.exports.firstLineError=n},1273:t=>{"use strict";t.exports=function(t,e,r,n){var i=false;var s=function(t,e){this._reject(e)};var o=function(t,e){e.promiseRejectionQueued=true;e.bindingPromise._then(s,s,null,this,t)};var a=function(t,e){if((this._bitField&50397184)===0){this._resolveCallback(e.target)}};var c=function(t,e){if(!e.promiseRejectionQueued)this._reject(t)};t.prototype.bind=function(s){if(!i){i=true;t.prototype._propagateFrom=n.propagateFromFunction();t.prototype._boundValue=n.boundValueFunction()}var u=r(s);var l=new t(e);l._propagateFrom(this,1);var f=this._target();l._setBoundTo(u);if(u instanceof t){var h={promiseRejectionQueued:false,promise:l,target:f,bindingPromise:u};f._then(e,o,undefined,l,h);u._then(a,c,undefined,l,h);l._setOnCancel(u)}else{l._resolveCallback(f)}return l};t.prototype._setBoundTo=function(t){if(t!==undefined){this._bitField=this._bitField|2097152;this._boundTo=t}else{this._bitField=this._bitField&~2097152}};t.prototype._isBound=function(){return(this._bitField&2097152)===2097152};t.bind=function(e,r){return t.resolve(r).bind(e)}}},5229:(t,e,r)=>{"use strict";var n;if(typeof Promise!=="undefined")n=Promise;function noConflict(){try{if(Promise===i)Promise=n}catch(t){}return i}var i=r(5175)();i.noConflict=noConflict;t.exports=i},8779:(t,e,r)=>{"use strict";var n=Object.create;if(n){var i=n(null);var s=n(null);i[" size"]=s[" size"]=0}t.exports=function(t){var e=r(6587);var n=e.canEvaluate;var o=e.isIdentifier;var a;var c;if(true){var u=function(t){return new Function("ensureMethod"," \n return function(obj) { \n 'use strict' \n var len = this.length; \n ensureMethod(obj, 'methodName'); \n switch(len) { \n case 1: return obj.methodName(this[0]); \n case 2: return obj.methodName(this[0], this[1]); \n case 3: return obj.methodName(this[0], this[1], this[2]); \n case 0: return obj.methodName(); \n default: \n return obj.methodName.apply(obj, this); \n } \n }; \n ".replace(/methodName/g,t))(ensureMethod)};var l=function(t){return new Function("obj"," \n 'use strict'; \n return obj.propertyName; \n ".replace("propertyName",t))};var f=function(t,e,r){var n=r[t];if(typeof n!=="function"){if(!o(t)){return null}n=e(t);r[t]=n;r[" size"]++;if(r[" size"]>512){var i=Object.keys(r);for(var s=0;s<256;++s)delete r[i[s]];r[" size"]=i.length-256}}return n};a=function(t){return f(t,u,i)};c=function(t){return f(t,l,s)}}function ensureMethod(r,n){var i;if(r!=null)i=r[n];if(typeof i!=="function"){var s="Object "+e.classString(r)+" has no method '"+e.toString(n)+"'";throw new t.TypeError(s)}return i}function caller(t){var e=this.pop();var r=ensureMethod(t,e);return r.apply(t,this)}t.prototype.call=function(t){var e=arguments.length;var r=new Array(Math.max(e-1,0));for(var i=1;i{"use strict";t.exports=function(t,e,n,i){var s=r(6587);var o=s.tryCatch;var a=s.errorObj;var c=t._async;t.prototype["break"]=t.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");var t=this;var e=t;while(t._isCancellable()){if(!t._cancelBy(e)){if(e._isFollowing()){e._followee().cancel()}else{e._cancelBranched()}break}var r=t._cancellationParent;if(r==null||!r._isCancellable()){if(t._isFollowing()){t._followee().cancel()}else{t._cancelBranched()}break}else{if(t._isFollowing())t._followee().cancel();t._setWillBeCancelled();e=t;t=r}}};t.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--};t.prototype._enoughBranchesHaveCancelled=function(){return this._branchesRemainingToCancel===undefined||this._branchesRemainingToCancel<=0};t.prototype._cancelBy=function(t){if(t===this){this._branchesRemainingToCancel=0;this._invokeOnCancel();return true}else{this._branchHasCancelled();if(this._enoughBranchesHaveCancelled()){this._invokeOnCancel();return true}}return false};t.prototype._cancelBranched=function(){if(this._enoughBranchesHaveCancelled()){this._cancel()}};t.prototype._cancel=function(){if(!this._isCancellable())return;this._setCancelled();c.invoke(this._cancelPromises,this,undefined)};t.prototype._cancelPromises=function(){if(this._length()>0)this._settlePromises()};t.prototype._unsetOnCancel=function(){this._onCancelField=undefined};t.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()};t.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()};t.prototype._doInvokeOnCancel=function(t,e){if(s.isArray(t)){for(var r=0;r{"use strict";t.exports=function(t){var e=r(6587);var n=r(9048).keys;var i=e.tryCatch;var s=e.errorObj;function catchFilter(r,o,a){return function(c){var u=a._boundValue();t:for(var l=0;l{"use strict";t.exports=function(t){var e=false;var r=[];t.prototype._promiseCreated=function(){};t.prototype._pushContext=function(){};t.prototype._popContext=function(){return null};t._peekContext=t.prototype._peekContext=function(){};function Context(){this._trace=new Context.CapturedTrace(peekContext())}Context.prototype._pushContext=function(){if(this._trace!==undefined){this._trace._promiseCreated=null;r.push(this._trace)}};Context.prototype._popContext=function(){if(this._trace!==undefined){var t=r.pop();var e=t._promiseCreated;t._promiseCreated=null;return e}return null};function createContext(){if(e)return new Context}function peekContext(){var t=r.length-1;if(t>=0){return r[t]}return undefined}Context.CapturedTrace=null;Context.create=createContext;Context.deactivateLongStackTraces=function(){};Context.activateLongStackTraces=function(){var r=t.prototype._pushContext;var n=t.prototype._popContext;var i=t._peekContext;var s=t.prototype._peekContext;var o=t.prototype._promiseCreated;Context.deactivateLongStackTraces=function(){t.prototype._pushContext=r;t.prototype._popContext=n;t._peekContext=i;t.prototype._peekContext=s;t.prototype._promiseCreated=o;e=false};e=true;t.prototype._pushContext=Context.prototype._pushContext;t.prototype._popContext=Context.prototype._popContext;t._peekContext=t.prototype._peekContext=peekContext;t.prototype._promiseCreated=function(){var t=this._peekContext();if(t&&t._promiseCreated==null)t._promiseCreated=this}};return Context}},4776:(t,e,r)=>{"use strict";t.exports=function(t,e,n,i){var s=t._async;var o=r(9640).Warning;var a=r(6587);var c=r(9048);var u=a.canAttachTrace;var l;var f;var h=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/;var p=/\((?:timers\.js):\d+:\d+\)/;var d=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/;var y=null;var v=null;var m=false;var g;var _=!!(a.env("BLUEBIRD_DEBUG")!=0&&(false||a.env("BLUEBIRD_DEBUG")||a.env("NODE_ENV")==="development"));var w=!!(a.env("BLUEBIRD_WARNINGS")!=0&&(_||a.env("BLUEBIRD_WARNINGS")));var b=!!(a.env("BLUEBIRD_LONG_STACK_TRACES")!=0&&(_||a.env("BLUEBIRD_LONG_STACK_TRACES")));var S=a.env("BLUEBIRD_W_FORGOTTEN_RETURN")!=0&&(w||!!a.env("BLUEBIRD_W_FORGOTTEN_RETURN"));var E;(function(){var e=[];function unhandledRejectionCheck(){for(var t=0;t0};t.prototype._setRejectionIsUnhandled=function(){this._bitField=this._bitField|1048576};t.prototype._unsetRejectionIsUnhandled=function(){this._bitField=this._bitField&~1048576;if(this._isUnhandledRejectionNotified()){this._unsetUnhandledRejectionIsNotified();this._notifyUnhandledRejectionIsHandled()}};t.prototype._isRejectionUnhandled=function(){return(this._bitField&1048576)>0};t.prototype._warn=function(t,e,r){return warn(t,e,r||this)};t.onPossiblyUnhandledRejection=function(e){var r=t._getContext();f=a.contextBind(r,e)};t.onUnhandledRejectionHandled=function(e){var r=t._getContext();l=a.contextBind(r,e)};var k=function(){};t.longStackTraces=function(){if(s.haveItemsQueued()&&!N.longStackTraces){throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n")}if(!N.longStackTraces&&longStackTracesIsSupported()){var r=t.prototype._captureStackTrace;var n=t.prototype._attachExtraTrace;var i=t.prototype._dereferenceTrace;N.longStackTraces=true;k=function(){if(s.haveItemsQueued()&&!N.longStackTraces){throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n")}t.prototype._captureStackTrace=r;t.prototype._attachExtraTrace=n;t.prototype._dereferenceTrace=i;e.deactivateLongStackTraces();N.longStackTraces=false};t.prototype._captureStackTrace=longStackTracesCaptureStackTrace;t.prototype._attachExtraTrace=longStackTracesAttachExtraTrace;t.prototype._dereferenceTrace=longStackTracesDereferenceTrace;e.activateLongStackTraces()}};t.hasLongStackTraces=function(){return N.longStackTraces&&longStackTracesIsSupported()};var x={unhandledrejection:{before:function(){var t=a.global.onunhandledrejection;a.global.onunhandledrejection=null;return t},after:function(t){a.global.onunhandledrejection=t}},rejectionhandled:{before:function(){var t=a.global.onrejectionhandled;a.global.onrejectionhandled=null;return t},after:function(t){a.global.onrejectionhandled=t}}};var C=function(){var t=function(t,e){if(t){var r;try{r=t.before();return!a.global.dispatchEvent(e)}finally{t.after(r)}}else{return!a.global.dispatchEvent(e)}};try{if(typeof CustomEvent==="function"){var e=new CustomEvent("CustomEvent");a.global.dispatchEvent(e);return function(e,r){e=e.toLowerCase();var n={detail:r,cancelable:true};var i=new CustomEvent(e,n);c.defineProperty(i,"promise",{value:r.promise});c.defineProperty(i,"reason",{value:r.reason});return t(x[e],i)}}else if(typeof Event==="function"){var e=new Event("CustomEvent");a.global.dispatchEvent(e);return function(e,r){e=e.toLowerCase();var n=new Event(e,{cancelable:true});n.detail=r;c.defineProperty(n,"promise",{value:r.promise});c.defineProperty(n,"reason",{value:r.reason});return t(x[e],n)}}else{var e=document.createEvent("CustomEvent");e.initCustomEvent("testingtheevent",false,true,{});a.global.dispatchEvent(e);return function(e,r){e=e.toLowerCase();var n=document.createEvent("CustomEvent");n.initCustomEvent(e,false,true,r);return t(x[e],n)}}}catch(t){}return function(){return false}}();var A=function(){if(a.isNode){return function(){return process.emit.apply(process,arguments)}}else{if(!a.global){return function(){return false}}return function(t){var e="on"+t.toLowerCase();var r=a.global[e];if(!r)return false;r.apply(a.global,[].slice.call(arguments,1));return true}}}();function generatePromiseLifecycleEventObject(t,e){return{promise:e}}var T={promiseCreated:generatePromiseLifecycleEventObject,promiseFulfilled:generatePromiseLifecycleEventObject,promiseRejected:generatePromiseLifecycleEventObject,promiseResolved:generatePromiseLifecycleEventObject,promiseCancelled:generatePromiseLifecycleEventObject,promiseChained:function(t,e,r){return{promise:e,child:r}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,r){return{reason:e,promise:r}},rejectionHandled:generatePromiseLifecycleEventObject};var P=function(t){var e=false;try{e=A.apply(null,arguments)}catch(t){s.throwLater(t);e=true}var r=false;try{r=C(t,T[t].apply(null,arguments))}catch(t){s.throwLater(t);r=true}return r||e};t.config=function(e){e=Object(e);if("longStackTraces"in e){if(e.longStackTraces){t.longStackTraces()}else if(!e.longStackTraces&&t.hasLongStackTraces()){k()}}if("warnings"in e){var r=e.warnings;N.warnings=!!r;S=N.warnings;if(a.isObject(r)){if("wForgottenReturn"in r){S=!!r.wForgottenReturn}}}if("cancellation"in e&&e.cancellation&&!N.cancellation){if(s.haveItemsQueued()){throw new Error("cannot enable cancellation after promises are in use")}t.prototype._clearCancellationData=cancellationClearCancellationData;t.prototype._propagateFrom=cancellationPropagateFrom;t.prototype._onCancel=cancellationOnCancel;t.prototype._setOnCancel=cancellationSetOnCancel;t.prototype._attachCancellationCallback=cancellationAttachCancellationCallback;t.prototype._execute=cancellationExecute;j=cancellationPropagateFrom;N.cancellation=true}if("monitoring"in e){if(e.monitoring&&!N.monitoring){N.monitoring=true;t.prototype._fireEvent=P}else if(!e.monitoring&&N.monitoring){N.monitoring=false;t.prototype._fireEvent=defaultFireEvent}}if("asyncHooks"in e&&a.nodeSupportsAsyncResource){var o=N.asyncHooks;var c=!!e.asyncHooks;if(o!==c){N.asyncHooks=c;if(c){n()}else{i()}}}return t};function defaultFireEvent(){return false}t.prototype._fireEvent=defaultFireEvent;t.prototype._execute=function(t,e,r){try{t(e,r)}catch(t){return t}};t.prototype._onCancel=function(){};t.prototype._setOnCancel=function(t){};t.prototype._attachCancellationCallback=function(t){};t.prototype._captureStackTrace=function(){};t.prototype._attachExtraTrace=function(){};t.prototype._dereferenceTrace=function(){};t.prototype._clearCancellationData=function(){};t.prototype._propagateFrom=function(t,e){};function cancellationExecute(t,e,r){var n=this;try{t(e,r,function(t){if(typeof t!=="function"){throw new TypeError("onCancel must be a function, got: "+a.toString(t))}n._attachCancellationCallback(t)})}catch(t){return t}}function cancellationAttachCancellationCallback(t){if(!this._isCancellable())return this;var e=this._onCancel();if(e!==undefined){if(a.isArray(e)){e.push(t)}else{this._setOnCancel([e,t])}}else{this._setOnCancel(t)}}function cancellationOnCancel(){return this._onCancelField}function cancellationSetOnCancel(t){this._onCancelField=t}function cancellationClearCancellationData(){this._cancellationParent=undefined;this._onCancelField=undefined}function cancellationPropagateFrom(t,e){if((e&1)!==0){this._cancellationParent=t;var r=t._branchesRemainingToCancel;if(r===undefined){r=0}t._branchesRemainingToCancel=r+1}if((e&2)!==0&&t._isBound()){this._setBoundTo(t._boundTo)}}function bindingPropagateFrom(t,e){if((e&2)!==0&&t._isBound()){this._setBoundTo(t._boundTo)}}var j=bindingPropagateFrom;function boundValueFunction(){var e=this._boundTo;if(e!==undefined){if(e instanceof t){if(e.isFulfilled()){return e.value()}else{return undefined}}}return e}function longStackTracesCaptureStackTrace(){this._trace=new CapturedTrace(this._peekContext())}function longStackTracesAttachExtraTrace(t,e){if(u(t)){var r=this._trace;if(r!==undefined){if(e)r=r._parent}if(r!==undefined){r.attachExtraTrace(t)}else if(!t.__stackCleaned__){var n=parseStackAndMessage(t);a.notEnumerableProp(t,"stack",n.message+"\n"+n.stack.join("\n"));a.notEnumerableProp(t,"__stackCleaned__",true)}}}function longStackTracesDereferenceTrace(){this._trace=undefined}function checkForgottenReturns(t,e,r,n,i){if(t===undefined&&e!==null&&S){if(i!==undefined&&i._returnedNonUndefined())return;if((n._bitField&65535)===0)return;if(r)r=r+" ";var s="";var o="";if(e._trace){var a=e._trace.stack.split("\n");var c=cleanStack(a);for(var u=c.length-1;u>=0;--u){var l=c[u];if(!p.test(l)){var f=l.match(d);if(f){s="at "+f[1]+":"+f[2]+":"+f[3]+" "}break}}if(c.length>0){var h=c[0];for(var u=0;u0){o="\n"+a[u-1]}break}}}}var y="a promise was created in a "+r+"handler "+s+"but was not returned from it, "+"see http://goo.gl/rRqMUw"+o;n._warn(y,true,e)}}function deprecated(t,e){var r=t+" is deprecated and will be removed in a future version.";if(e)r+=" Use "+e+" instead.";return warn(r)}function warn(e,r,n){if(!N.warnings)return;var i=new o(e);var s;if(r){n._attachExtraTrace(i)}else if(N.longStackTraces&&(s=t._peekContext())){s.attachExtraTrace(i)}else{var a=parseStackAndMessage(i);i.stack=a.message+"\n"+a.stack.join("\n")}if(!P("warning",i)){formatAndLogError(i,"",true)}}function reconstructStack(t,e){for(var r=0;r=0;--a){if(n[a]===s){o=a;break}}for(var a=o;a>=0;--a){var c=n[a];if(e[i]===c){e.pop();i--}else{break}}e=n}}function cleanStack(t){var e=[];for(var r=0;r0&&t.name!="SyntaxError"){e=e.slice(r)}return e}function parseStackAndMessage(t){var e=t.stack;var r=t.toString();e=typeof e==="string"&&e.length>0?stackFramesAsArray(t):[" (No stack trace)"];return{message:r,stack:t.name=="SyntaxError"?e:cleanStack(e)}}function formatAndLogError(t,e,r){if(typeof console!=="undefined"){var n;if(a.isObject(t)){var i=t.stack;n=e+v(i,t)}else{n=e+String(t)}if(typeof g==="function"){g(n,r)}else if(typeof console.log==="function"||typeof console.log==="object"){console.log(n)}}}function fireRejectionEvent(t,e,r,n){var i=false;try{if(typeof e==="function"){i=true;if(t==="rejectionHandled"){e(n)}else{e(r,n)}}}catch(t){s.throwLater(t)}if(t==="unhandledRejection"){if(!P(t,r,n)&&!i){formatAndLogError(r,"Unhandled rejection ")}}else{P(t,n)}}function formatNonError(t){var e;if(typeof t==="function"){e="[function "+(t.name||"anonymous")+"]"}else{e=t&&typeof t.toString==="function"?t.toString():a.toString(t);var r=/\[object [a-zA-Z0-9$_]+\]/;if(r.test(e)){try{var n=JSON.stringify(t);e=n}catch(t){}}if(e.length===0){e="(empty array)"}}return"(<"+snip(e)+">, no stack trace)"}function snip(t){var e=41;if(t.length=s){return}O=function(t){if(h.test(t))return true;var e=parseLineInfo(t);if(e){if(e.fileName===o&&(i<=e.line&&e.line<=s)){return true}}return false}}function CapturedTrace(t){this._parent=t;this._promisesCreated=0;var e=this._length=1+(t===undefined?0:t._length);R(this,CapturedTrace);if(e>32)this.uncycle()}a.inherits(CapturedTrace,Error);e.CapturedTrace=CapturedTrace;CapturedTrace.prototype.uncycle=function(){var t=this._length;if(t<2)return;var e=[];var r={};for(var n=0,i=this;i!==undefined;++n){e.push(i);i=i._parent}t=this._length=n;for(var n=t-1;n>=0;--n){var s=e[n].stack;if(r[s]===undefined){r[s]=n}}for(var n=0;n0){e[a-1]._parent=undefined;e[a-1]._length=1}e[n]._parent=undefined;e[n]._length=1;var c=n>0?e[n-1]:this;if(a=0;--l){e[l]._length=u;u++}return}}};CapturedTrace.prototype.attachExtraTrace=function(t){if(t.__stackCleaned__)return;this.uncycle();var e=parseStackAndMessage(t);var r=e.message;var n=[e.stack];var i=this;while(i!==undefined){n.push(cleanStack(i.stack.split("\n")));i=i._parent}removeCommonRoots(n);removeDuplicateOrEmptyJumps(n);a.notEnumerableProp(t,"stack",reconstructStack(r,n));a.notEnumerableProp(t,"__stackCleaned__",true)};var R=function stackDetection(){var t=/^\s*at\s*/;var e=function(t,e){if(typeof t==="string")return t;if(e.name!==undefined&&e.message!==undefined){return e.toString()}return formatNonError(e)};if(typeof Error.stackTraceLimit==="number"&&typeof Error.captureStackTrace==="function"){Error.stackTraceLimit+=6;y=t;v=e;var r=Error.captureStackTrace;O=function(t){return h.test(t)};return function(t,e){Error.stackTraceLimit+=6;r(t,e);Error.stackTraceLimit-=6}}var n=new Error;if(typeof n.stack==="string"&&n.stack.split("\n")[0].indexOf("stackDetection@")>=0){y=/@/;v=e;m=true;return function captureStackTrace(t){t.stack=(new Error).stack}}var i;try{throw new Error}catch(t){i="stack"in t}if(!("stack"in n)&&i&&typeof Error.stackTraceLimit==="number"){y=t;v=e;return function captureStackTrace(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6}}v=function(t,e){if(typeof t==="string")return t;if((typeof e==="object"||typeof e==="function")&&e.name!==undefined&&e.message!==undefined){return e.toString()}return formatNonError(e)};return null}([]);if(typeof console!=="undefined"&&typeof console.warn!=="undefined"){g=function(t){console.warn(t)};if(a.isNode&&process.stderr.isTTY){g=function(t,e){var r=e?"":"";console.warn(r+t+"\n")}}else if(!a.isNode&&typeof(new Error).stack==="string"){g=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}}}var N={warnings:w,longStackTraces:false,cancellation:false,monitoring:false,asyncHooks:false};if(b)t.longStackTraces();return{asyncHooks:function(){return N.asyncHooks},longStackTraces:function(){return N.longStackTraces},warnings:function(){return N.warnings},cancellation:function(){return N.cancellation},monitoring:function(){return N.monitoring},propagateFromFunction:function(){return j},boundValueFunction:function(){return boundValueFunction},checkForgottenReturns:checkForgottenReturns,setBounds:setBounds,warn:warn,deprecated:deprecated,CapturedTrace:CapturedTrace,fireDomEvent:C,fireGlobalEvent:A}}},8925:t=>{"use strict";t.exports=function(t){function returner(){return this.value}function thrower(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(e){if(e instanceof t)e.suppressUnhandledRejections();return this._then(returner,undefined,undefined,{value:e},undefined)};t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(thrower,undefined,undefined,{reason:t},undefined)};t.prototype.catchThrow=function(t){if(arguments.length<=1){return this._then(undefined,thrower,undefined,{reason:t},undefined)}else{var e=arguments[1];var r=function(){throw e};return this.caught(t,r)}};t.prototype.catchReturn=function(e){if(arguments.length<=1){if(e instanceof t)e.suppressUnhandledRejections();return this._then(undefined,returner,undefined,{value:e},undefined)}else{var r=arguments[1];if(r instanceof t)r.suppressUnhandledRejections();var n=function(){return r};return this.caught(e,n)}}}},5708:t=>{"use strict";t.exports=function(t,e){var r=t.reduce;var n=t.all;function promiseAllThis(){return n(this)}function PromiseMapSeries(t,n){return r(t,n,e,e)}t.prototype.each=function(t){return r(this,t,e,0)._then(promiseAllThis,undefined,undefined,this,undefined)};t.prototype.mapSeries=function(t){return r(this,t,e,e)};t.each=function(t,n){return r(t,n,e,0)._then(promiseAllThis,undefined,undefined,t,undefined)};t.mapSeries=PromiseMapSeries}},9640:(t,e,r)=>{"use strict";var n=r(9048);var i=n.freeze;var s=r(6587);var o=s.inherits;var a=s.notEnumerableProp;function subError(t,e){function SubError(r){if(!(this instanceof SubError))return new SubError(r);a(this,"message",typeof r==="string"?r:e);a(this,"name",t);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{Error.call(this)}}o(SubError,Error);return SubError}var c,u;var l=subError("Warning","warning");var f=subError("CancellationError","cancellation error");var h=subError("TimeoutError","timeout error");var p=subError("AggregateError","aggregate error");try{c=TypeError;u=RangeError}catch(t){c=subError("TypeError","type error");u=subError("RangeError","range error")}var d=("join pop push shift unshift slice filter forEach some "+"every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" ");for(var y=0;y{var e=function(){"use strict";return this===undefined}();if(e){t.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:e,propertyIsWritable:function(t,e){var r=Object.getOwnPropertyDescriptor(t,e);return!!(!r||r.writable||r.set)}}}else{var r={}.hasOwnProperty;var n={}.toString;var i={}.constructor.prototype;var s=function(t){var e=[];for(var n in t){if(r.call(t,n)){e.push(n)}}return e};var o=function(t,e){return{value:t[e]}};var a=function(t,e,r){t[e]=r.value;return t};var c=function(t){return t};var u=function(t){try{return Object(t).constructor.prototype}catch(t){return i}};var l=function(t){try{return n.call(t)==="[object Array]"}catch(t){return false}};t.exports={isArray:l,keys:s,names:s,defineProperty:a,getDescriptor:o,freeze:c,getPrototypeOf:u,isES5:e,propertyIsWritable:function(){return true}}}},3359:t=>{"use strict";t.exports=function(t,e){var r=t.map;t.prototype.filter=function(t,n){return r(this,t,n,e)};t.filter=function(t,n,i){return r(t,n,i,e)}}},1371:(t,e,r)=>{"use strict";t.exports=function(t,e,n){var i=r(6587);var s=t.CancellationError;var o=i.errorObj;var a=r(691)(n);function PassThroughHandlerContext(t,e,r){this.promise=t;this.type=e;this.handler=r;this.called=false;this.cancelPromise=null}PassThroughHandlerContext.prototype.isFinallyHandler=function(){return this.type===0};function FinallyHandlerCancelReaction(t){this.finallyHandler=t}FinallyHandlerCancelReaction.prototype._resultCancelled=function(){checkCancel(this.finallyHandler)};function checkCancel(t,e){if(t.cancelPromise!=null){if(arguments.length>1){t.cancelPromise._reject(e)}else{t.cancelPromise._cancel()}t.cancelPromise=null;return true}return false}function succeed(){return finallyHandler.call(this,this.promise._target()._settledValue())}function fail(t){if(checkCancel(this,t))return;o.e=t;return o}function finallyHandler(r){var i=this.promise;var a=this.handler;if(!this.called){this.called=true;var c=this.isFinallyHandler()?a.call(i._boundValue()):a.call(i._boundValue(),r);if(c===n){return c}else if(c!==undefined){i._setReturnedNonUndefined();var u=e(c,i);if(u instanceof t){if(this.cancelPromise!=null){if(u._isCancelled()){var l=new s("late cancellation observer");i._attachExtraTrace(l);o.e=l;return o}else if(u.isPending()){u._attachCancellationCallback(new FinallyHandlerCancelReaction(this))}}return u._then(succeed,fail,undefined,this,undefined)}}}if(i.isRejected()){checkCancel(this);o.e=r;return o}else{checkCancel(this);return r}}t.prototype._passThrough=function(t,e,r,n){if(typeof t!=="function")return this.then();return this._then(r,n,undefined,new PassThroughHandlerContext(this,e,t),undefined)};t.prototype.lastly=t.prototype["finally"]=function(t){return this._passThrough(t,0,finallyHandler,finallyHandler)};t.prototype.tap=function(t){return this._passThrough(t,1,finallyHandler)};t.prototype.tapCatch=function(e){var r=arguments.length;if(r===1){return this._passThrough(e,1,undefined,finallyHandler)}else{var n=new Array(r-1),s=0,o;for(o=0;o{"use strict";t.exports=function(t,e,n,i,s,o){var a=r(9640);var c=a.TypeError;var u=r(6587);var l=u.errorObj;var f=u.tryCatch;var h=[];function promiseFromYieldHandler(e,r,n){for(var s=0;s{"use strict";t.exports=function(t,e,n,i,s){var o=r(6587);var a=o.canEvaluate;var c=o.tryCatch;var u=o.errorObj;var l;if(true){if(a){var f=function(t){return new Function("value","holder"," \n 'use strict'; \n holder.pIndex = value; \n holder.checkFulfillment(this); \n ".replace(/Index/g,t))};var h=function(t){return new Function("promise","holder"," \n 'use strict'; \n holder.pIndex = promise; \n ".replace(/Index/g,t))};var p=function(e){var r=new Array(e);for(var n=0;n0&&typeof arguments[r]==="function"){s=arguments[r];if(true){if(r<=8&&a){var c=new t(i);c._captureStackTrace();var u=d[r-1];var f=new u(s);var h=y;for(var p=0;p{"use strict";t.exports=function(t,e,n,i,s,o){var a=r(6587);var c=a.tryCatch;var u=a.errorObj;var l=t._async;function MappingPromiseArray(e,r,n,i){this.constructor$(e);this._promise._captureStackTrace();var o=t._getContext();this._callback=a.contextBind(o,r);this._preservedValues=i===s?new Array(this.length()):null;this._limit=n;this._inFlight=0;this._queue=[];l.invoke(this._asyncInit,this,undefined);if(a.isArray(e)){for(var c=0;c=1){this._inFlight--;this._drainQueue();if(this._isResolved())return true}}else{if(l>=1&&this._inFlight>=l){n[r]=e;this._queue.push(r);return false}if(a!==null)a[r]=e;var f=this._promise;var h=this._callback;var p=f._boundValue();f._pushContext();var d=c(h).call(p,e,r,s);var y=f._popContext();o.checkForgottenReturns(d,y,a!==null?"Promise.filter":"Promise.map",f);if(d===u){this._reject(d.e);return true}var v=i(d,this._promise);if(v instanceof t){v=v._target();var m=v._bitField;if((m&50397184)===0){if(l>=1)this._inFlight++;n[r]=v;v._proxy(this,(r+1)*-1);return false}else if((m&33554432)!==0){d=v._value()}else if((m&16777216)!==0){this._reject(v._reason());return true}else{this._cancel();return true}}n[r]=d}var g=++this._totalResolved;if(g>=s){if(a!==null){this._filter(n,a)}else{this._resolve(n)}return true}return false};MappingPromiseArray.prototype._drainQueue=function(){var t=this._queue;var e=this._limit;var r=this._values;while(t.length>0&&this._inFlight=1?o:0;return new MappingPromiseArray(e,r,o,s).promise()}t.prototype.map=function(t,e){return map(this,t,e,null)};t.map=function(t,e,r,n){return map(t,e,r,n)}}},3303:(t,e,r)=>{"use strict";t.exports=function(t,e,n,i,s){var o=r(6587);var a=o.tryCatch;t.method=function(r){if(typeof r!=="function"){throw new t.TypeError("expecting a function but got "+o.classString(r))}return function(){var n=new t(e);n._captureStackTrace();n._pushContext();var i=a(r).apply(this,arguments);var o=n._popContext();s.checkForgottenReturns(i,o,"Promise.method",n);n._resolveFromSyncValue(i);return n}};t.attempt=t["try"]=function(r){if(typeof r!=="function"){return i("expecting a function but got "+o.classString(r))}var n=new t(e);n._captureStackTrace();n._pushContext();var c;if(arguments.length>1){s.deprecated("calling Promise.try with more than 1 argument");var u=arguments[1];var l=arguments[2];c=o.isArray(u)?a(r).apply(l,u):a(r).call(l,u)}else{c=a(r)()}var f=n._popContext();s.checkForgottenReturns(c,f,"Promise.try",n);n._resolveFromSyncValue(c);return n};t.prototype._resolveFromSyncValue=function(t){if(t===o.errorObj){this._rejectCallback(t.e,false)}else{this._resolveCallback(t,true)}}}},938:(t,e,r)=>{"use strict";var n=r(6587);var i=n.maybeWrapAsError;var s=r(9640);var o=s.OperationalError;var a=r(9048);function isUntypedError(t){return t instanceof Error&&a.getPrototypeOf(t)===Error.prototype}var c=/^(?:name|message|stack|cause)$/;function wrapAsOperationalError(t){var e;if(isUntypedError(t)){e=new o(t);e.name=t.name;e.message=t.message;e.stack=t.stack;var r=a.keys(t);for(var i=0;i{"use strict";t.exports=function(t){var e=r(6587);var n=t._async;var i=e.tryCatch;var s=e.errorObj;function spreadAdapter(t,r){var o=this;if(!e.isArray(t))return successAdapter.call(o,t,r);var a=i(r).apply(o._boundValue(),[null].concat(t));if(a===s){n.throwLater(a.e)}}function successAdapter(t,e){var r=this;var o=r._boundValue();var a=t===undefined?i(e).call(o,null):i(e).call(o,null,t);if(a===s){n.throwLater(a.e)}}function errorAdapter(t,e){var r=this;if(!t){var o=new Error(t+"");o.cause=t;t=o}var a=i(e).call(r._boundValue(),t);if(a===s){n.throwLater(a.e)}}t.prototype.asCallback=t.prototype.nodeify=function(t,e){if(typeof t=="function"){var r=successAdapter;if(e!==undefined&&Object(e).spread){r=spreadAdapter}this._then(r,errorAdapter,undefined,this,t)}return this}}},5175:(t,e,r)=>{"use strict";t.exports=function(){var e=function(){return new _("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")};var n=function(){return new Promise.PromiseInspection(this._target())};var i=function(t){return Promise.reject(new _(t))};function Proxyable(){}var s={};var o=r(6587);o.setReflectHandler(n);var a=function(){var t=process.domain;if(t===undefined){return null}return t};var c=function(){return null};var u=function(){return{domain:a(),async:null}};var l=o.isNode&&o.nodeSupportsAsyncResource?r(7303).AsyncResource:null;var f=function(){return{domain:a(),async:new l("Bluebird::Promise")}};var h=o.isNode?u:c;o.notEnumerableProp(Promise,"_getContext",h);var p=function(){h=f;o.notEnumerableProp(Promise,"_getContext",f)};var d=function(){h=u;o.notEnumerableProp(Promise,"_getContext",u)};var y=r(9048);var v=r(9952);var m=new v;y.defineProperty(Promise,"_async",{value:m});var g=r(9640);var _=Promise.TypeError=g.TypeError;Promise.RangeError=g.RangeError;var w=Promise.CancellationError=g.CancellationError;Promise.TimeoutError=g.TimeoutError;Promise.OperationalError=g.OperationalError;Promise.RejectionError=g.OperationalError;Promise.AggregateError=g.AggregateError;var b=function(){};var S={};var E={};var k=r(3938)(Promise,b);var x=r(3003)(Promise,b,k,i,Proxyable);var C=r(1030)(Promise);var A=C.create;var T=r(4776)(Promise,C,p,d);var P=T.CapturedTrace;var j=r(1371)(Promise,k,E);var O=r(691)(E);var F=r(938);var R=o.errorObj;var N=o.tryCatch;function check(t,e){if(t==null||t.constructor!==Promise){throw new _("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n")}if(typeof e!=="function"){throw new _("expecting a function but got "+o.classString(e))}}function Promise(t){if(t!==b){check(this,t)}this._bitField=0;this._fulfillmentHandler0=undefined;this._rejectionHandler0=undefined;this._promise0=undefined;this._receiver0=undefined;this._resolveFromExecutor(t);this._promiseCreated();this._fireEvent("promiseCreated",this)}Promise.prototype.toString=function(){return"[object Promise]"};Promise.prototype.caught=Promise.prototype["catch"]=function(t){var e=arguments.length;if(e>1){var r=new Array(e-1),n=0,s;for(s=0;s0&&typeof t!=="function"&&typeof e!=="function"){var r=".then() only accepts functions but was passed: "+o.classString(t);if(arguments.length>1){r+=", "+o.classString(e)}this._warn(r)}return this._then(t,e,undefined,undefined,undefined)};Promise.prototype.done=function(t,e){var r=this._then(t,e,undefined,undefined,undefined);r._setIsFinal()};Promise.prototype.spread=function(t){if(typeof t!=="function"){return i("expecting a function but got "+o.classString(t))}return this.all()._then(t,undefined,undefined,S,undefined)};Promise.prototype.toJSON=function(){var t={isFulfilled:false,isRejected:false,fulfillmentValue:undefined,rejectionReason:undefined};if(this.isFulfilled()){t.fulfillmentValue=this.value();t.isFulfilled=true}else if(this.isRejected()){t.rejectionReason=this.reason();t.isRejected=true}return t};Promise.prototype.all=function(){if(arguments.length>0){this._warn(".all() was passed arguments but it does not take any")}return new x(this).promise()};Promise.prototype.error=function(t){return this.caught(o.originatesFromRejection,t)};Promise.getNewLibraryCopy=t.exports;Promise.is=function(t){return t instanceof Promise};Promise.fromNode=Promise.fromCallback=function(t){var e=new Promise(b);e._captureStackTrace();var r=arguments.length>1?!!Object(arguments[1]).multiArgs:false;var n=N(t)(F(e,r));if(n===R){e._rejectCallback(n.e,true)}if(!e._isFateSealed())e._setAsyncGuaranteed();return e};Promise.all=function(t){return new x(t).promise()};Promise.cast=function(t){var e=k(t);if(!(e instanceof Promise)){e=new Promise(b);e._captureStackTrace();e._setFulfilled();e._rejectionHandler0=t}return e};Promise.resolve=Promise.fulfilled=Promise.cast;Promise.reject=Promise.rejected=function(t){var e=new Promise(b);e._captureStackTrace();e._rejectCallback(t,true);return e};Promise.setScheduler=function(t){if(typeof t!=="function"){throw new _("expecting a function but got "+o.classString(t))}return m.setScheduler(t)};Promise.prototype._then=function(t,e,r,n,i){var s=i!==undefined;var a=s?i:new Promise(b);var c=this._target();var u=c._bitField;if(!s){a._propagateFrom(this,3);a._captureStackTrace();if(n===undefined&&(this._bitField&2097152)!==0){if(!((u&50397184)===0)){n=this._boundValue()}else{n=c===this?undefined:this._boundTo}}this._fireEvent("promiseChained",this,a)}var l=h();if(!((u&50397184)===0)){var f,p,d=c._settlePromiseCtx;if((u&33554432)!==0){p=c._rejectionHandler0;f=t}else if((u&16777216)!==0){p=c._fulfillmentHandler0;f=e;c._unsetRejectionIsUnhandled()}else{d=c._settlePromiseLateCancellationObserver;p=new w("late cancellation observer");c._attachExtraTrace(p);f=e}m.invoke(d,c,{handler:o.contextBind(l,f),promise:a,receiver:n,value:p})}else{c._addCallbacks(t,e,a,n,l)}return a};Promise.prototype._length=function(){return this._bitField&65535};Promise.prototype._isFateSealed=function(){return(this._bitField&117506048)!==0};Promise.prototype._isFollowing=function(){return(this._bitField&67108864)===67108864};Promise.prototype._setLength=function(t){this._bitField=this._bitField&-65536|t&65535};Promise.prototype._setFulfilled=function(){this._bitField=this._bitField|33554432;this._fireEvent("promiseFulfilled",this)};Promise.prototype._setRejected=function(){this._bitField=this._bitField|16777216;this._fireEvent("promiseRejected",this)};Promise.prototype._setFollowing=function(){this._bitField=this._bitField|67108864;this._fireEvent("promiseResolved",this)};Promise.prototype._setIsFinal=function(){this._bitField=this._bitField|4194304};Promise.prototype._isFinal=function(){return(this._bitField&4194304)>0};Promise.prototype._unsetCancelled=function(){this._bitField=this._bitField&~65536};Promise.prototype._setCancelled=function(){this._bitField=this._bitField|65536;this._fireEvent("promiseCancelled",this)};Promise.prototype._setWillBeCancelled=function(){this._bitField=this._bitField|8388608};Promise.prototype._setAsyncGuaranteed=function(){if(m.hasCustomScheduler())return;var t=this._bitField;this._bitField=t|(t&536870912)>>2^134217728};Promise.prototype._setNoAsyncGuarantee=function(){this._bitField=(this._bitField|536870912)&~134217728};Promise.prototype._receiverAt=function(t){var e=t===0?this._receiver0:this[t*4-4+3];if(e===s){return undefined}else if(e===undefined&&this._isBound()){return this._boundValue()}return e};Promise.prototype._promiseAt=function(t){return this[t*4-4+2]};Promise.prototype._fulfillmentHandlerAt=function(t){return this[t*4-4+0]};Promise.prototype._rejectionHandlerAt=function(t){return this[t*4-4+1]};Promise.prototype._boundValue=function(){};Promise.prototype._migrateCallback0=function(t){var e=t._bitField;var r=t._fulfillmentHandler0;var n=t._rejectionHandler0;var i=t._promise0;var o=t._receiverAt(0);if(o===undefined)o=s;this._addCallbacks(r,n,i,o,null)};Promise.prototype._migrateCallbackAt=function(t,e){var r=t._fulfillmentHandlerAt(e);var n=t._rejectionHandlerAt(e);var i=t._promiseAt(e);var o=t._receiverAt(e);if(o===undefined)o=s;this._addCallbacks(r,n,i,o,null)};Promise.prototype._addCallbacks=function(t,e,r,n,i){var s=this._length();if(s>=65535-4){s=0;this._setLength(0)}if(s===0){this._promise0=r;this._receiver0=n;if(typeof t==="function"){this._fulfillmentHandler0=o.contextBind(i,t)}if(typeof e==="function"){this._rejectionHandler0=o.contextBind(i,e)}}else{var a=s*4-4;this[a+2]=r;this[a+3]=n;if(typeof t==="function"){this[a+0]=o.contextBind(i,t)}if(typeof e==="function"){this[a+1]=o.contextBind(i,e)}}this._setLength(s+1);return s};Promise.prototype._proxy=function(t,e){this._addCallbacks(undefined,undefined,e,t,null)};Promise.prototype._resolveCallback=function(t,r){if((this._bitField&117506048)!==0)return;if(t===this)return this._rejectCallback(e(),false);var n=k(t,this);if(!(n instanceof Promise))return this._fulfill(t);if(r)this._propagateFrom(n,2);var i=n._target();if(i===this){this._reject(e());return}var s=i._bitField;if((s&50397184)===0){var o=this._length();if(o>0)i._migrateCallback0(this);for(var a=1;a>>16)return;if(t===this){var n=e();this._attachExtraTrace(n);return this._reject(n)}this._setFulfilled();this._rejectionHandler0=t;if((r&65535)>0){if((r&134217728)!==0){this._settlePromises()}else{m.settlePromises(this)}this._dereferenceTrace()}};Promise.prototype._reject=function(t){var e=this._bitField;if((e&117506048)>>>16)return;this._setRejected();this._fulfillmentHandler0=t;if(this._isFinal()){return m.fatalError(t,o.isNode)}if((e&65535)>0){m.settlePromises(this)}else{this._ensurePossibleRejectionHandled()}};Promise.prototype._fulfillPromises=function(t,e){for(var r=1;r0){if((t&16842752)!==0){var r=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,r,t);this._rejectPromises(e,r)}else{var n=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,n,t);this._fulfillPromises(e,n)}this._setLength(0)}this._clearCancellationData()};Promise.prototype._settledValue=function(){var t=this._bitField;if((t&33554432)!==0){return this._rejectionHandler0}else if((t&16777216)!==0){return this._fulfillmentHandler0}};if(typeof Symbol!=="undefined"&&Symbol.toStringTag){y.defineProperty(Promise.prototype,Symbol.toStringTag,{get:function(){return"Object"}})}function deferResolve(t){this.promise._resolveCallback(t)}function deferReject(t){this.promise._rejectCallback(t,false)}Promise.defer=Promise.pending=function(){T.deprecated("Promise.defer","new Promise");var t=new Promise(b);return{promise:t,resolve:deferResolve,reject:deferReject}};o.notEnumerableProp(Promise,"_makeSelfResolutionError",e);r(3303)(Promise,b,k,i,T);r(1273)(Promise,b,k,T);r(7386)(Promise,x,i,T);r(8925)(Promise);r(7659)(Promise);r(9255)(Promise,x,k,b,m);Promise.Promise=Promise;Promise.version="3.7.2";r(8779)(Promise);r(2225)(Promise,i,b,k,Proxyable,T);r(2757)(Promise,x,i,k,b,T);r(733)(Promise);r(7632)(Promise,b);r(4519)(Promise,x,k,i);r(3741)(Promise,b,k,i);r(8773)(Promise,x,i,k,b,T);r(8741)(Promise,x,T);r(5566)(Promise,x,i);r(8329)(Promise,b,T);r(1904)(Promise,i,k,A,b,T);r(5801)(Promise);r(5708)(Promise,b);r(3359)(Promise,b);o.toFastProperties(Promise);o.toFastProperties(Promise.prototype);function fillTypes(t){var e=new Promise(b);e._fulfillmentHandler0=t;e._rejectionHandler0=t;e._promise0=t;e._receiver0=t}fillTypes({a:1});fillTypes({b:2});fillTypes({c:3});fillTypes(1);fillTypes(function(){});fillTypes(undefined);fillTypes(false);fillTypes(new Promise(b));T.setBounds(v.firstLineError,o.lastLineError);return Promise}},3003:(t,e,r)=>{"use strict";t.exports=function(t,e,n,i,s){var o=r(6587);var a=o.isArray;function toResolutionValue(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}function PromiseArray(r){var n=this._promise=new t(e);if(r instanceof t){n._propagateFrom(r,3);r.suppressUnhandledRejections()}n._setOnCancel(this);this._values=r;this._length=0;this._totalResolved=0;this._init(undefined,-2)}o.inherits(PromiseArray,s);PromiseArray.prototype.length=function(){return this._length};PromiseArray.prototype.promise=function(){return this._promise};PromiseArray.prototype._init=function init(e,r){var s=n(this._values,this._promise);if(s instanceof t){s=s._target();var a=s._bitField;this._values=s;if((a&50397184)===0){this._promise._setAsyncGuaranteed();return s._then(init,this._reject,undefined,this,r)}else if((a&33554432)!==0){s=s._value()}else if((a&16777216)!==0){return this._reject(s._reason())}else{return this._cancel()}}s=o.asArray(s);if(s===null){var c=i("expecting an array or an iterable object but got "+o.classString(s)).reason();this._promise._rejectCallback(c,false);return}if(s.length===0){if(r===-5){this._resolveEmptyArray()}else{this._resolve(toResolutionValue(r))}return}this._iterate(s)};PromiseArray.prototype._iterate=function(e){var r=this.getActualLength(e.length);this._length=r;this._values=this.shouldCopyValues()?new Array(r):this._values;var i=this._promise;var s=false;var o=null;for(var a=0;a=this._length){this._resolve(this._values);return true}return false};PromiseArray.prototype._promiseCancelled=function(){this._cancel();return true};PromiseArray.prototype._promiseRejected=function(t){this._totalResolved++;this._reject(t);return true};PromiseArray.prototype._resultCancelled=function(){if(this._isResolved())return;var e=this._values;this._cancel();if(e instanceof t){e.cancel()}else{for(var r=0;r{"use strict";t.exports=function(t,e){var n={};var i=r(6587);var s=r(938);var o=i.withAppended;var a=i.maybeWrapAsError;var c=i.canEvaluate;var u=r(9640).TypeError;var l="Async";var f={__isPromisified__:true};var h=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"];var p=new RegExp("^(?:"+h.join("|")+")$");var d=function(t){return i.isIdentifier(t)&&t.charAt(0)!=="_"&&t!=="constructor"};function propsFilter(t){return!p.test(t)}function isPromisified(t){try{return t.__isPromisified__===true}catch(t){return false}}function hasPromisified(t,e,r){var n=i.getDataPropertyOrDefault(t,e+r,f);return n?isPromisified(n):false}function checkValid(t,e,r){for(var n=0;n=r;--n){e.push(n)}for(var n=t+1;n<=3;++n){e.push(n)}return e};var g=function(t){return i.filledRange(t,"_arg","")};var _=function(t){return i.filledRange(Math.max(t,3),"_arg","")};var w=function(t){if(typeof t.length==="number"){return Math.max(Math.min(t.length,1023+1),0)}return 0};v=function(r,c,u,l,f,h){var p=Math.max(0,w(l)-1);var d=m(p);var y=typeof r==="string"||c===n;function generateCallForArgumentCount(t){var e=g(t).join(", ");var r=t>0?", ":"";var n;if(y){n="ret = callback.call(this, {{args}}, nodeback); break;\n"}else{n=c===undefined?"ret = callback({{args}}, nodeback); break;\n":"ret = callback.call(receiver, {{args}}, nodeback); break;\n"}return n.replace("{{args}}",e).replace(", ",r)}function generateArgumentSwitchCase(){var t="";for(var e=0;e{"use strict";t.exports=function(t,e,n,i){var s=r(6587);var o=s.isObject;var a=r(9048);var c;if(typeof Map==="function")c=Map;var u=function(){var t=0;var e=0;function extractEntry(r,n){this[t]=r;this[t+e]=n;t++}return function mapToEntries(r){e=r.size;t=0;var n=new Array(r.size*2);r.forEach(extractEntry,n);return n}}();var l=function(t){var e=new c;var r=t.length/2|0;for(var n=0;n=this._length){var n;if(this._isMap){n=l(this._values)}else{n={};var i=this.length();for(var s=0,o=this.length();s>1};function props(e){var r;var s=n(e);if(!o(s)){return i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}else if(s instanceof t){r=s._then(t.props,undefined,undefined,undefined,undefined)}else{r=new PropertiesPromiseArray(s).promise()}if(s instanceof t){r._propagateFrom(s,2)}return r}t.prototype.props=function(){return props(this)};t.props=function(t){return props(t)}}},3172:t=>{"use strict";function arrayMove(t,e,r,n,i){for(var s=0;s{"use strict";t.exports=function(t,e,n,i){var s=r(6587);var o=function(t){return t.then(function(e){return race(e,t)})};function race(r,a){var c=n(r);if(c instanceof t){return o(c)}else{r=s.asArray(r);if(r===null)return i("expecting an array or an iterable object but got "+s.classString(r))}var u=new t(e);if(a!==undefined){u._propagateFrom(a,3)}var l=u._fulfill;var f=u._reject;for(var h=0,p=r.length;h{"use strict";t.exports=function(t,e,n,i,s,o){var a=r(6587);var c=a.tryCatch;function ReductionPromiseArray(e,r,n,i){this.constructor$(e);var o=t._getContext();this._fn=a.contextBind(o,r);if(n!==undefined){n=t.resolve(n);n._attachCancellationCallback(this)}this._initialValue=n;this._currentCancellable=null;if(i===s){this._eachValues=Array(this._length)}else if(i===0){this._eachValues=null}else{this._eachValues=undefined}this._promise._captureStackTrace();this._init$(undefined,-5)}a.inherits(ReductionPromiseArray,e);ReductionPromiseArray.prototype._gotAccum=function(t){if(this._eachValues!==undefined&&this._eachValues!==null&&t!==s){this._eachValues.push(t)}};ReductionPromiseArray.prototype._eachComplete=function(t){if(this._eachValues!==null){this._eachValues.push(t)}return this._eachValues};ReductionPromiseArray.prototype._init=function(){};ReductionPromiseArray.prototype._resolveEmptyArray=function(){this._resolve(this._eachValues!==undefined?this._eachValues:this._initialValue)};ReductionPromiseArray.prototype.shouldCopyValues=function(){return false};ReductionPromiseArray.prototype._resolve=function(t){this._promise._resolveCallback(t);this._values=null};ReductionPromiseArray.prototype._resultCancelled=function(e){if(e===this._initialValue)return this._cancel();if(this._isResolved())return;this._resultCancelled$();if(this._currentCancellable instanceof t){this._currentCancellable.cancel()}if(this._initialValue instanceof t){this._initialValue.cancel()}};ReductionPromiseArray.prototype._iterate=function(e){this._values=e;var r;var n;var i=e.length;if(this._initialValue!==undefined){r=this._initialValue;n=0}else{r=t.resolve(e[0]);n=1}this._currentCancellable=r;for(var s=n;s{"use strict";var n=r(6587);var i;var s=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")};var o=n.getNativePromise();if(n.isNode&&typeof MutationObserver==="undefined"){var a=global.setImmediate;var c=process.nextTick;i=n.isRecentNode?function(t){a.call(global,t)}:function(t){c.call(process,t)}}else if(typeof o==="function"&&typeof o.resolve==="function"){var u=o.resolve();i=function(t){u.then(t)}}else if(typeof MutationObserver!=="undefined"&&!(typeof window!=="undefined"&&window.navigator&&(window.navigator.standalone||window.cordova))&&"classList"in document.documentElement){i=function(){var t=document.createElement("div");var e={attributes:true};var r=false;var n=document.createElement("div");var i=new MutationObserver(function(){t.classList.toggle("foo");r=false});i.observe(n,e);var s=function(){if(r)return;r=true;n.classList.toggle("foo")};return function schedule(r){var n=new MutationObserver(function(){n.disconnect();r()});n.observe(t,e);s()}}()}else if(typeof setImmediate!=="undefined"){i=function(t){setImmediate(t)}}else if(typeof setTimeout!=="undefined"){i=function(t){setTimeout(t,0)}}else{i=s}t.exports=i},8741:(t,e,r)=>{"use strict";t.exports=function(t,e,n){var i=t.PromiseInspection;var s=r(6587);function SettledPromiseArray(t){this.constructor$(t)}s.inherits(SettledPromiseArray,e);SettledPromiseArray.prototype._promiseResolved=function(t,e){this._values[t]=e;var r=++this._totalResolved;if(r>=this._length){this._resolve(this._values);return true}return false};SettledPromiseArray.prototype._promiseFulfilled=function(t,e){var r=new i;r._bitField=33554432;r._settledValueField=t;return this._promiseResolved(e,r)};SettledPromiseArray.prototype._promiseRejected=function(t,e){var r=new i;r._bitField=16777216;r._settledValueField=t;return this._promiseResolved(e,r)};t.settle=function(t){n.deprecated(".settle()",".reflect()");return new SettledPromiseArray(t).promise()};t.allSettled=function(t){return new SettledPromiseArray(t).promise()};t.prototype.settle=function(){return t.settle(this)}}},5566:(t,e,r)=>{"use strict";t.exports=function(t,e,n){var i=r(6587);var s=r(9640).RangeError;var o=r(9640).AggregateError;var a=i.isArray;var c={};function SomePromiseArray(t){this.constructor$(t);this._howMany=0;this._unwrap=false;this._initialized=false}i.inherits(SomePromiseArray,e);SomePromiseArray.prototype._init=function(){if(!this._initialized){return}if(this._howMany===0){this._resolve([]);return}this._init$(undefined,-5);var t=a(this._values);if(!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()){this._reject(this._getRangeError(this.length()))}};SomePromiseArray.prototype.init=function(){this._initialized=true;this._init()};SomePromiseArray.prototype.setUnwrap=function(){this._unwrap=true};SomePromiseArray.prototype.howMany=function(){return this._howMany};SomePromiseArray.prototype.setHowMany=function(t){this._howMany=t};SomePromiseArray.prototype._promiseFulfilled=function(t){this._addFulfilled(t);if(this._fulfilled()===this.howMany()){this._values.length=this.howMany();if(this.howMany()===1&&this._unwrap){this._resolve(this._values[0])}else{this._resolve(this._values)}return true}return false};SomePromiseArray.prototype._promiseRejected=function(t){this._addRejected(t);return this._checkOutcome()};SomePromiseArray.prototype._promiseCancelled=function(){if(this._values instanceof t||this._values==null){return this._cancel()}this._addRejected(c);return this._checkOutcome()};SomePromiseArray.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){var t=new o;for(var e=this.length();e0){this._reject(t)}else{this._cancel()}return true}return false};SomePromiseArray.prototype._fulfilled=function(){return this._totalResolved};SomePromiseArray.prototype._rejected=function(){return this._values.length-this.length()};SomePromiseArray.prototype._addRejected=function(t){this._values.push(t)};SomePromiseArray.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t};SomePromiseArray.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()};SomePromiseArray.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new s(e)};SomePromiseArray.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))};function some(t,e){if((e|0)!==e||e<0){return n("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n")}var r=new SomePromiseArray(t);var i=r.promise();r.setHowMany(e);r.init();return i}t.some=function(t,e){return some(t,e)};t.prototype.some=function(t){return some(this,t)};t._SomePromiseArray=SomePromiseArray}},7659:t=>{"use strict";t.exports=function(t){function PromiseInspection(t){if(t!==undefined){t=t._target();this._bitField=t._bitField;this._settledValueField=t._isFateSealed()?t._settledValue():undefined}else{this._bitField=0;this._settledValueField=undefined}}PromiseInspection.prototype._settledValue=function(){return this._settledValueField};var e=PromiseInspection.prototype.value=function(){if(!this.isFulfilled()){throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n")}return this._settledValue()};var r=PromiseInspection.prototype.error=PromiseInspection.prototype.reason=function(){if(!this.isRejected()){throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n")}return this._settledValue()};var n=PromiseInspection.prototype.isFulfilled=function(){return(this._bitField&33554432)!==0};var i=PromiseInspection.prototype.isRejected=function(){return(this._bitField&16777216)!==0};var s=PromiseInspection.prototype.isPending=function(){return(this._bitField&50397184)===0};var o=PromiseInspection.prototype.isResolved=function(){return(this._bitField&50331648)!==0};PromiseInspection.prototype.isCancelled=function(){return(this._bitField&8454144)!==0};t.prototype.__isCancelled=function(){return(this._bitField&65536)===65536};t.prototype._isCancelled=function(){return this._target().__isCancelled()};t.prototype.isCancelled=function(){return(this._target()._bitField&8454144)!==0};t.prototype.isPending=function(){return s.call(this._target())};t.prototype.isRejected=function(){return i.call(this._target())};t.prototype.isFulfilled=function(){return n.call(this._target())};t.prototype.isResolved=function(){return o.call(this._target())};t.prototype.value=function(){return e.call(this._target())};t.prototype.reason=function(){var t=this._target();t._unsetRejectionIsUnhandled();return r.call(t)};t.prototype._value=function(){return this._settledValue()};t.prototype._reason=function(){this._unsetRejectionIsUnhandled();return this._settledValue()};t.PromiseInspection=PromiseInspection}},3938:(t,e,r)=>{"use strict";t.exports=function(t,e){var n=r(6587);var i=n.errorObj;var s=n.isObject;function tryConvertToPromise(r,n){if(s(r)){if(r instanceof t)return r;var o=getThen(r);if(o===i){if(n)n._pushContext();var a=t.reject(o.e);if(n)n._popContext();return a}else if(typeof o==="function"){if(isAnyBluebirdPromise(r)){var a=new t(e);r._then(a._fulfill,a._reject,undefined,a,null);return a}return doThenable(r,o,n)}}return r}function doGetThen(t){return t.then}function getThen(t){try{return doGetThen(t)}catch(t){i.e=t;return i}}var o={}.hasOwnProperty;function isAnyBluebirdPromise(t){try{return o.call(t,"_promise0")}catch(t){return false}}function doThenable(r,s,o){var a=new t(e);var c=a;if(o)o._pushContext();a._captureStackTrace();if(o)o._popContext();var u=true;var l=n.tryCatch(s).call(r,resolve,reject);u=false;if(a&&l===i){a._rejectCallback(l.e,true,true);a=null}function resolve(t){if(!a)return;a._resolveCallback(t);a=null}function reject(t){if(!a)return;a._rejectCallback(t,u,true);a=null}return c}return tryConvertToPromise}},8329:(t,e,r)=>{"use strict";t.exports=function(t,e,n){var i=r(6587);var s=t.TimeoutError;function HandleWrapper(t){this.handle=t}HandleWrapper.prototype._resultCancelled=function(){clearTimeout(this.handle)};var o=function(t){return a(+this).thenReturn(t)};var a=t.delay=function(r,i){var s;var a;if(i!==undefined){s=t.resolve(i)._then(o,null,null,r,undefined);if(n.cancellation()&&i instanceof t){s._setOnCancel(i)}}else{s=new t(e);a=setTimeout(function(){s._fulfill()},+r);if(n.cancellation()){s._setOnCancel(new HandleWrapper(a))}s._captureStackTrace()}s._setAsyncGuaranteed();return s};t.prototype.delay=function(t){return a(t,this)};var c=function(t,e,r){var n;if(typeof e!=="string"){if(e instanceof Error){n=e}else{n=new s("operation timed out")}}else{n=new s(e)}i.markAsOriginatingFromRejection(n);t._attachExtraTrace(n);t._reject(n);if(r!=null){r.cancel()}};function successClear(t){clearTimeout(this.handle);return t}function failureClear(t){clearTimeout(this.handle);throw t}t.prototype.timeout=function(t,e){t=+t;var r,i;var s=new HandleWrapper(setTimeout(function timeoutTimeout(){if(r.isPending()){c(r,e,i)}},t));if(n.cancellation()){i=this.then();r=i._then(successClear,failureClear,undefined,s,undefined);r._setOnCancel(s)}else{r=this._then(successClear,failureClear,undefined,s,undefined)}return r}}},1904:(t,e,r)=>{"use strict";t.exports=function(t,e,n,i,s,o){var a=r(6587);var c=r(9640).TypeError;var u=r(6587).inherits;var l=a.errorObj;var f=a.tryCatch;var h={};function thrower(t){setTimeout(function(){throw t},0)}function castPreservingDisposable(t){var e=n(t);if(e!==t&&typeof t._isDisposable==="function"&&typeof t._getDisposer==="function"&&t._isDisposable()){e._setDisposable(t._getDisposer())}return e}function dispose(e,r){var i=0;var o=e.length;var a=new t(s);function iterator(){if(i>=o)return a._fulfill();var s=castPreservingDisposable(e[i++]);if(s instanceof t&&s._isDisposable()){try{s=n(s._getDisposer().tryDispose(r),e.promise)}catch(t){return thrower(t)}if(s instanceof t){return s._then(iterator,thrower,null,null,null)}}iterator()}iterator();return a}function Disposer(t,e,r){this._data=t;this._promise=e;this._context=r}Disposer.prototype.data=function(){return this._data};Disposer.prototype.promise=function(){return this._promise};Disposer.prototype.resource=function(){if(this.promise().isFulfilled()){return this.promise().value()}return h};Disposer.prototype.tryDispose=function(t){var e=this.resource();var r=this._context;if(r!==undefined)r._pushContext();var n=e!==h?this.doDispose(e,t):null;if(r!==undefined)r._popContext();this._promise._unsetDisposable();this._data=null;return n};Disposer.isDisposer=function(t){return t!=null&&typeof t.resource==="function"&&typeof t.tryDispose==="function"};function FunctionDisposer(t,e,r){this.constructor$(t,e,r)}u(FunctionDisposer,Disposer);FunctionDisposer.prototype.doDispose=function(t,e){var r=this.data();return r.call(t,t,e)};function maybeUnwrapDisposer(t){if(Disposer.isDisposer(t)){this.resources[this.index]._setDisposable(t);return t.promise()}return t}function ResourceList(t){this.length=t;this.promise=null;this[t-1]=null}ResourceList.prototype._resultCancelled=function(){var e=this.length;for(var r=0;r0};t.prototype._getDisposer=function(){return this._disposer};t.prototype._unsetDisposable=function(){this._bitField=this._bitField&~131072;this._disposer=undefined};t.prototype.disposer=function(t){if(typeof t==="function"){return new FunctionDisposer(t,this,i())}throw new c}}},6587:function(module,__unused_webpack_exports,__nccwpck_require__){"use strict";var es5=__nccwpck_require__(9048);var canEvaluate=typeof navigator=="undefined";var errorObj={e:{}};var tryCatchTarget;var globalObject=typeof self!=="undefined"?self:typeof window!=="undefined"?window:typeof global!=="undefined"?global:this!==undefined?this:null;function tryCatcher(){try{var t=tryCatchTarget;tryCatchTarget=null;return t.apply(this,arguments)}catch(t){errorObj.e=t;return errorObj}}function tryCatch(t){tryCatchTarget=t;return tryCatcher}var inherits=function(t,e){var r={}.hasOwnProperty;function T(){this.constructor=t;this.constructor$=e;for(var n in e.prototype){if(r.call(e.prototype,n)&&n.charAt(n.length-1)!=="$"){this[n+"$"]=e.prototype[n]}}}T.prototype=e.prototype;t.prototype=new T;return t.prototype};function isPrimitive(t){return t==null||t===true||t===false||typeof t==="string"||typeof t==="number"}function isObject(t){return typeof t==="function"||typeof t==="object"&&t!==null}function maybeWrapAsError(t){if(!isPrimitive(t))return t;return new Error(safeToString(t))}function withAppended(t,e){var r=t.length;var n=new Array(r+1);var i;for(i=0;i1;var n=e.length>0&&!(e.length===1&&e[0]==="constructor");var i=thisAssignmentPattern.test(t+"")&&es5.names(t).length>0;if(r||n||i){return true}}return false}catch(t){return false}}function toFastProperties(obj){function FakeConstructor(){}FakeConstructor.prototype=obj;var receiver=new FakeConstructor;function ic(){return typeof receiver.foo}ic();ic();return obj;eval(obj)}var rident=/^[a-z$_][a-z$_0-9]*$/i;function isIdentifier(t){return rident.test(t)}function filledRange(t,e,r){var n=new Array(t);for(var i=0;i10||t[0]>0}();ret.nodeSupportsAsyncResource=ret.isNode&&function(){var t=false;try{var e=__nccwpck_require__(7303).AsyncResource;t=typeof e.prototype.runInAsyncScope==="function"}catch(e){t=false}return t}();if(ret.isNode)ret.toFastProperties(process);try{throw new Error}catch(t){ret.lastLineError=t}module.exports=ret},5533:(t,e,r)=>{var n=r(5179);var i=r(587);t.exports=expandTop;var s="\0SLASH"+Math.random()+"\0";var o="\0OPEN"+Math.random()+"\0";var a="\0CLOSE"+Math.random()+"\0";var c="\0COMMA"+Math.random()+"\0";var u="\0PERIOD"+Math.random()+"\0";function numeric(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function escapeBraces(t){return t.split("\\\\").join(s).split("\\{").join(o).split("\\}").join(a).split("\\,").join(c).split("\\.").join(u)}function unescapeBraces(t){return t.split(s).join("\\").split(o).join("{").split(a).join("}").split(c).join(",").split(u).join(".")}function parseCommaParts(t){if(!t)return[""];var e=[];var r=i("{","}",t);if(!r)return t.split(",");var n=r.pre;var s=r.body;var o=r.post;var a=n.split(",");a[a.length-1]+="{"+s+"}";var c=parseCommaParts(o);if(o.length){a[a.length-1]+=c.shift();a.push.apply(a,c)}e.push.apply(e,a);return e}function expandTop(t){if(!t)return[];if(t.substr(0,2)==="{}"){t="\\{\\}"+t.substr(2)}return expand(escapeBraces(t),true).map(unescapeBraces)}function identity(t){return t}function embrace(t){return"{"+t+"}"}function isPadded(t){return/^-?0\d/.test(t)}function lte(t,e){return t<=e}function gte(t,e){return t>=e}function expand(t,e){var r=[];var s=i("{","}",t);if(!s||/\$$/.test(s.pre))return[t];var o=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body);var c=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body);var u=o||c;var l=s.body.indexOf(",")>=0;if(!u&&!l){if(s.post.match(/,.*\}/)){t=s.pre+"{"+s.body+a+s.post;return expand(t)}return[t]}var f;if(u){f=s.body.split(/\.\./)}else{f=parseCommaParts(s.body);if(f.length===1){f=expand(f[0],false).map(embrace);if(f.length===1){var h=s.post.length?expand(s.post,false):[""];return h.map(function(t){return s.pre+f[0]+t})}}}var p=s.pre;var h=s.post.length?expand(s.post,false):[""];var d;if(u){var y=numeric(f[0]);var v=numeric(f[1]);var m=Math.max(f[0].length,f[1].length);var g=f.length==3?Math.abs(numeric(f[2])):1;var _=lte;var w=v0){var x=new Array(k+1).join("0");if(S<0)E="-"+x+E.slice(1);else E=x+E}}}d.push(E)}}else{d=n(f,function(t){return expand(t,false)})}for(var C=0;C{"use strict";const n=r(2087);const i=/\s+at.*(?:\(|\s)(.*)\)?/;const s=/^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/;const o=typeof n.homedir==="undefined"?"":n.homedir();t.exports=((t,e)=>{e=Object.assign({pretty:false},e);return t.replace(/\\/g,"/").split("\n").filter(t=>{const e=t.match(i);if(e===null||!e[1]){return true}const r=e[1];if(r.includes(".app/Contents/Resources/electron.asar")||r.includes(".app/Contents/Resources/default_app.asar")){return false}return!s.test(r)}).filter(t=>t.trim()!=="").map(t=>{if(e.pretty){return t.replace(i,(t,e)=>t.replace(e,e.replace(o,"~")))}return t}).join("\n")})},5179:t=>{t.exports=function(t,r){var n=[];for(var i=0;i{t.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var n=r(5747);var i=n.realpath;var s=n.realpathSync;var o=process.version;var a=/^v[0-5]\./.test(o);var c=r(2145);function newError(t){return t&&t.syscall==="realpath"&&(t.code==="ELOOP"||t.code==="ENOMEM"||t.code==="ENAMETOOLONG")}function realpath(t,e,r){if(a){return i(t,e,r)}if(typeof e==="function"){r=e;e=null}i(t,e,function(n,i){if(newError(n)){c.realpath(t,e,r)}else{r(n,i)}})}function realpathSync(t,e){if(a){return s(t,e)}try{return s(t,e)}catch(r){if(newError(r)){return c.realpathSync(t,e)}else{throw r}}}function monkeypatch(){n.realpath=realpath;n.realpathSync=realpathSync}function unmonkeypatch(){n.realpath=i;n.realpathSync=s}},2145:(t,e,r)=>{var n=r(5622);var i=process.platform==="win32";var s=r(5747);var o=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function rethrow(){var t;if(o){var e=new Error;t=debugCallback}else t=missingCallback;return t;function debugCallback(t){if(t){e.message=t.message;t=e;missingCallback(t)}}function missingCallback(t){if(t){if(process.throwDeprecation)throw t;else if(!process.noDeprecation){var e="fs: missing callback "+(t.stack||t.message);if(process.traceDeprecation)console.trace(e);else console.error(e)}}}}function maybeCallback(t){return typeof t==="function"?t:rethrow()}var a=n.normalize;if(i){var c=/(.*?)(?:[\/\\]+|$)/g}else{var c=/(.*?)(?:[\/]+|$)/g}if(i){var u=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/}else{var u=/^[\/]*/}e.realpathSync=function realpathSync(t,e){t=n.resolve(t);if(e&&Object.prototype.hasOwnProperty.call(e,t)){return e[t]}var r=t,o={},a={};var l;var f;var h;var p;start();function start(){var e=u.exec(t);l=e[0].length;f=e[0];h=e[0];p="";if(i&&!a[h]){s.lstatSync(h);a[h]=true}}while(l=t.length){if(e)e[o]=t;return r(null,t)}c.lastIndex=f;var n=c.exec(t);d=h;h+=n[0];p=d+n[1];f=c.lastIndex;if(l[p]||e&&e[p]===p){return process.nextTick(LOOP)}if(e&&Object.prototype.hasOwnProperty.call(e,p)){return gotResolvedLink(e[p])}return s.lstat(p,gotStat)}function gotStat(t,n){if(t)return r(t);if(!n.isSymbolicLink()){l[p]=true;if(e)e[p]=p;return process.nextTick(LOOP)}if(!i){var o=n.dev.toString(32)+":"+n.ino.toString(32);if(a.hasOwnProperty(o)){return gotTarget(null,a[o],p)}}s.stat(p,function(t){if(t)return r(t);s.readlink(p,function(t,e){if(!i)a[o]=e;gotTarget(t,e)})})}function gotTarget(t,i,s){if(t)return r(t);var o=n.resolve(d,i);if(e)e[s]=o;gotResolvedLink(o)}function gotResolvedLink(e){t=n.resolve(e,t.slice(f));start()}}},357:(t,e,r)=>{e.alphasort=alphasort;e.alphasorti=alphasorti;e.setopts=setopts;e.ownProp=ownProp;e.makeAbs=makeAbs;e.finish=finish;e.mark=mark;e.isIgnored=isIgnored;e.childrenIgnored=childrenIgnored;function ownProp(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var n=r(5622);var i=r(6944);var s=r(6540);var o=i.Minimatch;function alphasorti(t,e){return t.toLowerCase().localeCompare(e.toLowerCase())}function alphasort(t,e){return t.localeCompare(e)}function setupIgnores(t,e){t.ignore=e.ignore||[];if(!Array.isArray(t.ignore))t.ignore=[t.ignore];if(t.ignore.length){t.ignore=t.ignore.map(ignoreMap)}}function ignoreMap(t){var e=null;if(t.slice(-3)==="/**"){var r=t.replace(/(\/\*\*)+$/,"");e=new o(r,{dot:true})}return{matcher:new o(t,{dot:true}),gmatcher:e}}function setopts(t,e,r){if(!r)r={};if(r.matchBase&&-1===e.indexOf("/")){if(r.noglobstar){throw new Error("base matching requires globstar")}e="**/"+e}t.silent=!!r.silent;t.pattern=e;t.strict=r.strict!==false;t.realpath=!!r.realpath;t.realpathCache=r.realpathCache||Object.create(null);t.follow=!!r.follow;t.dot=!!r.dot;t.mark=!!r.mark;t.nodir=!!r.nodir;if(t.nodir)t.mark=true;t.sync=!!r.sync;t.nounique=!!r.nounique;t.nonull=!!r.nonull;t.nosort=!!r.nosort;t.nocase=!!r.nocase;t.stat=!!r.stat;t.noprocess=!!r.noprocess;t.absolute=!!r.absolute;t.maxLength=r.maxLength||Infinity;t.cache=r.cache||Object.create(null);t.statCache=r.statCache||Object.create(null);t.symlinks=r.symlinks||Object.create(null);setupIgnores(t,r);t.changedCwd=false;var i=process.cwd();if(!ownProp(r,"cwd"))t.cwd=i;else{t.cwd=n.resolve(r.cwd);t.changedCwd=t.cwd!==i}t.root=r.root||n.resolve(t.cwd,"/");t.root=n.resolve(t.root);if(process.platform==="win32")t.root=t.root.replace(/\\/g,"/");t.cwdAbs=s(t.cwd)?t.cwd:makeAbs(t,t.cwd);if(process.platform==="win32")t.cwdAbs=t.cwdAbs.replace(/\\/g,"/");t.nomount=!!r.nomount;r.nonegate=true;r.nocomment=true;t.minimatch=new o(e,r);t.options=t.minimatch.options}function finish(t){var e=t.nounique;var r=e?[]:Object.create(null);for(var n=0,i=t.matches.length;n{t.exports=glob;var n=r(5747);var i=r(4082);var s=r(6944);var o=s.Minimatch;var a=r(2989);var c=r(8614).EventEmitter;var u=r(5622);var l=r(2357);var f=r(6540);var h=r(8427);var p=r(357);var d=p.alphasort;var y=p.alphasorti;var v=p.setopts;var m=p.ownProp;var g=r(4889);var _=r(1669);var w=p.childrenIgnored;var b=p.isIgnored;var S=r(6754);function glob(t,e,r){if(typeof e==="function")r=e,e={};if(!e)e={};if(e.sync){if(r)throw new TypeError("callback provided to sync glob");return h(t,e)}return new Glob(t,e,r)}glob.sync=h;var E=glob.GlobSync=h.GlobSync;glob.glob=glob;function extend(t,e){if(e===null||typeof e!=="object"){return t}var r=Object.keys(e);var n=r.length;while(n--){t[r[n]]=e[r[n]]}return t}glob.hasMagic=function(t,e){var r=extend({},e);r.noprocess=true;var n=new Glob(t,r);var i=n.minimatch.set;if(!t)return false;if(i.length>1)return true;for(var s=0;sthis.maxLength)return e();if(!this.stat&&m(this.cache,r)){var s=this.cache[r];if(Array.isArray(s))s="DIR";if(!i||s==="DIR")return e(null,s);if(i&&s==="FILE")return e()}var o;var a=this.statCache[r];if(a!==undefined){if(a===false)return e(null,a);else{var c=a.isDirectory()?"DIR":"FILE";if(i&&c==="FILE")return e();else return e(null,c,a)}}var u=this;var l=g("stat\0"+r,lstatcb_);if(l)n.lstat(r,l);function lstatcb_(i,s){if(s&&s.isSymbolicLink()){return n.stat(r,function(n,i){if(n)u._stat2(t,r,null,s,e);else u._stat2(t,r,n,i,e)})}else{u._stat2(t,r,i,s,e)}}};Glob.prototype._stat2=function(t,e,r,n,i){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR")){this.statCache[e]=false;return i()}var s=t.slice(-1)==="/";this.statCache[e]=n;if(e.slice(-1)==="/"&&n&&!n.isDirectory())return i(null,false,n);var o=true;if(n)o=n.isDirectory()?"DIR":"FILE";this.cache[e]=this.cache[e]||o;if(s&&o==="FILE")return i();return i(null,o,n)}},8427:(t,e,r)=>{t.exports=globSync;globSync.GlobSync=GlobSync;var n=r(5747);var i=r(4082);var s=r(6944);var o=s.Minimatch;var a=r(7966).Glob;var c=r(1669);var u=r(5622);var l=r(2357);var f=r(6540);var h=r(357);var p=h.alphasort;var d=h.alphasorti;var y=h.setopts;var v=h.ownProp;var m=h.childrenIgnored;var g=h.isIgnored;function globSync(t,e){if(typeof e==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(t,e).found}function GlobSync(t,e){if(!t)throw new Error("must provide pattern");if(typeof e==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(t,e);y(this,t,e);if(this.noprocess)return this;var r=this.minimatch.set.length;this.matches=new Array(r);for(var n=0;nthis.maxLength)return false;if(!this.stat&&v(this.cache,e)){var i=this.cache[e];if(Array.isArray(i))i="DIR";if(!r||i==="DIR")return i;if(r&&i==="FILE")return false}var s;var o=this.statCache[e];if(!o){var a;try{a=n.lstatSync(e)}catch(t){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR")){this.statCache[e]=false;return false}}if(a&&a.isSymbolicLink()){try{o=n.statSync(e)}catch(t){o=a}}else{o=a}}this.statCache[e]=o;var i=true;if(o)i=o.isDirectory()?"DIR":"FILE";this.cache[e]=this.cache[e]||i;if(r&&i==="FILE")return false;return i};GlobSync.prototype._mark=function(t){return h.mark(this,t)};GlobSync.prototype._makeAbs=function(t){return h.makeAbs(this,t)}},8681:t=>{(function(){var e;function MurmurHash3(t,r){var n=this instanceof MurmurHash3?this:e;n.reset(r);if(typeof t==="string"&&t.length>0){n.hash(t)}if(n!==this){return n}}MurmurHash3.prototype.hash=function(t){var e,r,n,i,s;s=t.length;this.len+=s;r=this.k1;n=0;switch(this.rem){case 0:r^=s>n?t.charCodeAt(n++)&65535:0;case 1:r^=s>n?(t.charCodeAt(n++)&65535)<<8:0;case 2:r^=s>n?(t.charCodeAt(n++)&65535)<<16:0;case 3:r^=s>n?(t.charCodeAt(n)&255)<<24:0;r^=s>n?(t.charCodeAt(n++)&65280)>>8:0}this.rem=s+this.rem&3;s-=this.rem;if(s>0){e=this.h1;while(1){r=r*11601+(r&65535)*3432906752&4294967295;r=r<<15|r>>>17;r=r*13715+(r&65535)*461832192&4294967295;e^=r;e=e<<13|e>>>19;e=e*5+3864292196&4294967295;if(n>=s){break}r=t.charCodeAt(n++)&65535^(t.charCodeAt(n++)&65535)<<8^(t.charCodeAt(n++)&65535)<<16;i=t.charCodeAt(n++);r^=(i&255)<<24^(i&65280)>>8}r=0;switch(this.rem){case 3:r^=(t.charCodeAt(n+2)&65535)<<16;case 2:r^=(t.charCodeAt(n+1)&65535)<<8;case 1:r^=t.charCodeAt(n)&65535}this.h1=e}this.k1=r;return this};MurmurHash3.prototype.result=function(){var t,e;t=this.k1;e=this.h1;if(t>0){t=t*11601+(t&65535)*3432906752&4294967295;t=t<<15|t>>>17;t=t*13715+(t&65535)*461832192&4294967295;e^=t}e^=this.len;e^=e>>>16;e=e*51819+(e&65535)*2246770688&4294967295;e^=e>>>13;e=e*44597+(e&65535)*3266445312&4294967295;e^=e>>>16;return e>>>0};MurmurHash3.prototype.reset=function(t){this.h1=typeof t==="number"?t:0;this.rem=this.k1=this.len=0;return this};e=new MurmurHash3;if(true){t.exports=MurmurHash3}else{}})()},9609:(t,e,r)=>{const n=new Map;const i=r(5747);const{dirname:s,resolve:o}=r(5622);const a=t=>new Promise((e,r)=>i.lstat(t,(t,n)=>t?r(t):e(n)));const c=t=>{t=o(t);if(n.has(t))return Promise.resolve(n.get(t));const e=e=>{const{uid:r,gid:i}=e;n.set(t,{uid:r,gid:i});return{uid:r,gid:i}};const r=s(t);const i=r===t?null:e=>{return c(r).then(e=>{n.set(t,e);return e})};return a(t).then(e,i)};const u=t=>{t=o(t);if(n.has(t))return n.get(t);const e=s(t);let r=true;try{const s=i.lstatSync(t);r=false;const{uid:o,gid:a}=s;n.set(t,{uid:o,gid:a});return{uid:o,gid:a}}finally{if(r&&e!==t){const r=u(e);n.set(t,r);return r}}};const l=new Map;t.exports=(t=>{t=o(t);if(l.has(t))return Promise.resolve(l.get(t));const e=c(t).then(e=>{l.delete(t);return e});l.set(t,e);return e});t.exports.sync=u;t.exports.clearCache=(()=>{n.clear();l.clear()})},4889:(t,e,r)=>{var n=r(3640);var i=Object.create(null);var s=r(6754);t.exports=n(inflight);function inflight(t,e){if(i[t]){i[t].push(e);return null}else{i[t]=[e];return makeres(t)}}function makeres(t){return s(function RES(){var e=i[t];var r=e.length;var n=slice(arguments);try{for(var s=0;sr){e.splice(0,r);process.nextTick(function(){RES.apply(null,n)})}else{delete i[t]}}})}function slice(t){var e=t.length;var r=[];for(var n=0;n{try{var n=r(1669);if(typeof n.inherits!=="function")throw"";t.exports=n.inherits}catch(e){t.exports=r(7350)}},7350:t=>{if(typeof Object.create==="function"){t.exports=function inherits(t,e){if(e){t.super_=e;t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:false,writable:true,configurable:true}})}}}else{t.exports=function inherits(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype;t.prototype=new r;t.prototype.constructor=t}}}},6944:(t,e,r)=>{t.exports=minimatch;minimatch.Minimatch=Minimatch;var n={sep:"/"};try{n=r(5622)}catch(t){}var i=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var s=r(5533);var o={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var a="[^/]";var c=a+"*?";var u="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var l="(?:(?!(?:\\/|^)\\.).)*?";var f=charSet("().*{}+?[]^$\\!");function charSet(t){return t.split("").reduce(function(t,e){t[e]=true;return t},{})}var h=/\/+/;minimatch.filter=filter;function filter(t,e){e=e||{};return function(r,n,i){return minimatch(r,t,e)}}function ext(t,e){t=t||{};e=e||{};var r={};Object.keys(e).forEach(function(t){r[t]=e[t]});Object.keys(t).forEach(function(e){r[e]=t[e]});return r}minimatch.defaults=function(t){if(!t||!Object.keys(t).length)return minimatch;var e=minimatch;var r=function minimatch(r,n,i){return e.minimatch(r,n,ext(t,i))};r.Minimatch=function Minimatch(r,n){return new e.Minimatch(r,ext(t,n))};return r};Minimatch.defaults=function(t){if(!t||!Object.keys(t).length)return Minimatch;return minimatch.defaults(t).Minimatch};function minimatch(t,e,r){if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};if(!r.nocomment&&e.charAt(0)==="#"){return false}if(e.trim()==="")return t==="";return new Minimatch(e,r).match(t)}function Minimatch(t,e){if(!(this instanceof Minimatch)){return new Minimatch(t,e)}if(typeof t!=="string"){throw new TypeError("glob pattern string required")}if(!e)e={};t=t.trim();if(n.sep!=="/"){t=t.split(n.sep).join("/")}this.options=e;this.set=[];this.pattern=t;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var t=this.pattern;var e=this.options;if(!e.nocomment&&t.charAt(0)==="#"){this.comment=true;return}if(!t){this.empty=true;return}this.parseNegate();var r=this.globSet=this.braceExpand();if(e.debug)this.debug=console.error;this.debug(this.pattern,r);r=this.globParts=r.map(function(t){return t.split(h)});this.debug(this.pattern,r);r=r.map(function(t,e,r){return t.map(this.parse,this)},this);this.debug(this.pattern,r);r=r.filter(function(t){return t.indexOf(false)===-1});this.debug(this.pattern,r);this.set=r}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var t=this.pattern;var e=false;var r=this.options;var n=0;if(r.nonegate)return;for(var i=0,s=t.length;i1024*64){throw new TypeError("pattern is too long")}var r=this.options;if(!r.noglobstar&&t==="**")return i;if(t==="")return"";var n="";var s=!!r.nocase;var u=false;var l=[];var h=[];var d;var y=false;var v=-1;var m=-1;var g=t.charAt(0)==="."?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var _=this;function clearStateChar(){if(d){switch(d){case"*":n+=c;s=true;break;case"?":n+=a;s=true;break;default:n+="\\"+d;break}_.debug("clearStateChar %j %j",d,n);d=false}}for(var w=0,b=t.length,S;w-1;P--){var j=h[P];var O=n.slice(0,j.reStart);var F=n.slice(j.reStart,j.reEnd-8);var R=n.slice(j.reEnd-8,j.reEnd);var N=n.slice(j.reEnd);R+=N;var D=O.split("(").length-1;var I=N;for(w=0;w=0;o--){s=t[o];if(s)break}for(o=0;o>> no match, partial?",t,f,e,h);if(f===a)return true}return false}var d;if(typeof u==="string"){if(n.nocase){d=l.toLowerCase()===u.toLowerCase()}else{d=l===u}this.debug("string match",u,l,d)}else{d=l.match(u);this.debug("pattern match",u,l,d)}if(!d)return false}if(s===a&&o===c){return true}else if(s===a){return r}else if(o===c){var y=s===a-1&&t[s]==="";return y}throw new Error("wtf?")};function globUnescape(t){return t.replace(/\\(.)/g,"$1")}function regExpEscape(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},5283:(t,e,r)=>{const n=r(8351);const i=Symbol("_data");const s=Symbol("_length");class Collect extends n{constructor(t){super(t);this[i]=[];this[s]=0}write(t,e,r){if(typeof e==="function")r=e,e="utf8";if(!e)e="utf8";const n=Buffer.isBuffer(t)?t:Buffer.from(t,e);this[i].push(n);this[s]+=n.length;if(r)r();return true}end(t,e,r){if(typeof t==="function")r=t,t=null;if(typeof e==="function")r=e,e="utf8";if(t)this.write(t,e);const n=Buffer.concat(this[i],this[s]);super.write(n);return super.end(r)}}t.exports=Collect;class CollectPassThrough extends n{constructor(t){super(t);this[i]=[];this[s]=0}write(t,e,r){if(typeof e==="function")r=e,e="utf8";if(!e)e="utf8";const n=Buffer.isBuffer(t)?t:Buffer.from(t,e);this[i].push(n);this[s]+=n.length;return super.write(t,e,r)}end(t,e,r){if(typeof t==="function")r=t,t=null;if(typeof e==="function")r=e,e="utf8";if(t)this.write(t,e);const n=Buffer.concat(this[i],this[s]);this.emit("collect",n);return super.end(r)}}t.exports.PassThrough=CollectPassThrough},4145:(t,e,r)=>{const n=r(8351);const i=Symbol("_flush");const s=Symbol("_flushed");const o=Symbol("_flushing");class Flush extends n{constructor(t={}){if(typeof t==="function")t={flush:t};super(t);if(typeof t.flush!=="function"&&typeof this.flush!=="function")throw new TypeError("must provide flush function in options");this[i]=t.flush||this.flush}emit(t,...e){if(t!=="end"&&t!=="finish"||this[s])return super.emit(t,...e);if(this[o])return;this[o]=true;const r=t=>{this[s]=true;t?super.emit("error",t):super.emit("end")};const n=this[i](r);if(n&&n.then)n.then(()=>r(),t=>r(t))}}t.exports=Flush},6436:(t,e,r)=>{const n=r(8351);const i=r(8614);const s=t=>t&&t instanceof i&&(typeof t.pipe==="function"||typeof t.write==="function"&&typeof t.end==="function");const o=Symbol("_head");const a=Symbol("_tail");const c=Symbol("_linkStreams");const u=Symbol("_setHead");const l=Symbol("_setTail");const f=Symbol("_onError");const h=Symbol("_onData");const p=Symbol("_onEnd");const d=Symbol("_onDrain");const y=Symbol("_streams");class Pipeline extends n{constructor(t,...e){if(s(t)){e.unshift(t);t={}}super(t);this[y]=[];if(e.length)this.push(...e)}[c](t){return t.reduce((t,e)=>{t.on("error",t=>e.emit("error",t));t.pipe(e);return e})}push(...t){this[y].push(...t);if(this[a])t.unshift(this[a]);const e=this[c](t);this[l](e);if(!this[o])this[u](t[0])}unshift(...t){this[y].unshift(...t);if(this[o])t.push(this[o]);const e=this[c](t);this[u](t[0]);if(!this[a])this[l](e)}destroy(t){this[y].forEach(t=>typeof t.destroy==="function"&&t.destroy());return super.destroy(t)}[l](t){this[a]=t;t.on("error",e=>this[f](t,e));t.on("data",e=>this[h](t,e));t.on("end",()=>this[p](t));t.on("finish",()=>this[p](t))}[f](t,e){if(t===this[a])this.emit("error",e)}[h](t,e){if(t===this[a])super.write(e)}[p](t){if(t===this[a])super.end()}pause(){super.pause();return this[a]&&this[a].pause&&this[a].pause()}emit(t,...e){if(t==="resume"&&this[a]&&this[a].resume)this[a].resume();return super.emit(t,...e)}[u](t){this[o]=t;t.on("drain",()=>this[d](t))}[d](t){if(t===this[o])this.emit("drain")}write(t,e,r){return this[o].write(t,e,r)}end(t,e,r){this[o].end(t,e,r);return this}}t.exports=Pipeline},8351:(t,e,r)=>{"use strict";const n=r(8614);const i=r(2413);const s=r(546);const o=r(4304).StringDecoder;const a=Symbol("EOF");const c=Symbol("maybeEmitEnd");const u=Symbol("emittedEnd");const l=Symbol("emittingEnd");const f=Symbol("closed");const h=Symbol("read");const p=Symbol("flush");const d=Symbol("flushChunk");const y=Symbol("encoding");const v=Symbol("decoder");const m=Symbol("flowing");const g=Symbol("paused");const _=Symbol("resume");const w=Symbol("bufferLength");const b=Symbol("bufferPush");const S=Symbol("bufferShift");const E=Symbol("objectMode");const k=Symbol("destroyed");const x=global._MP_NO_ITERATOR_SYMBOLS_!=="1";const C=x&&Symbol.asyncIterator||Symbol("asyncIterator not implemented");const A=x&&Symbol.iterator||Symbol("iterator not implemented");const T=t=>t==="end"||t==="finish"||t==="prefinish";const P=t=>t instanceof ArrayBuffer||typeof t==="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0;const j=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);t.exports=class Minipass extends i{constructor(t){super();this[m]=false;this[g]=false;this.pipes=new s;this.buffer=new s;this[E]=t&&t.objectMode||false;if(this[E])this[y]=null;else this[y]=t&&t.encoding||null;if(this[y]==="buffer")this[y]=null;this[v]=this[y]?new o(this[y]):null;this[a]=false;this[u]=false;this[l]=false;this[f]=false;this.writable=true;this.readable=true;this[w]=0;this[k]=false}get bufferLength(){return this[w]}get encoding(){return this[y]}set encoding(t){if(this[E])throw new Error("cannot set encoding in objectMode");if(this[y]&&t!==this[y]&&(this[v]&&this[v].lastNeed||this[w]))throw new Error("cannot change encoding");if(this[y]!==t){this[v]=t?new o(t):null;if(this.buffer.length)this.buffer=this.buffer.map(t=>this[v].write(t))}this[y]=t}setEncoding(t){this.encoding=t}get objectMode(){return this[E]}set objectMode(t){this[E]=this[E]||!!t}write(t,e,r){if(this[a])throw new Error("write after end");if(this[k]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof e==="function")r=e,e="utf8";if(!e)e="utf8";if(!this[E]&&!Buffer.isBuffer(t)){if(j(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(P(t))t=Buffer.from(t);else if(typeof t!=="string")this.objectMode=true}if(!this.objectMode&&!t.length){const t=this.flowing;if(this[w]!==0)this.emit("readable");if(r)r();return t}if(typeof t==="string"&&!this[E]&&!(e===this[y]&&!this[v].lastNeed)){t=Buffer.from(t,e)}if(Buffer.isBuffer(t)&&this[y])t=this[v].write(t);try{return this.flowing?(this.emit("data",t),this.flowing):(this[b](t),false)}finally{if(this[w]!==0)this.emit("readable");if(r)r()}}read(t){if(this[k])return null;try{if(this[w]===0||t===0||t>this[w])return null;if(this[E])t=null;if(this.buffer.length>1&&!this[E]){if(this.encoding)this.buffer=new s([Array.from(this.buffer).join("")]);else this.buffer=new s([Buffer.concat(Array.from(this.buffer),this[w])])}return this[h](t||null,this.buffer.head.value)}finally{this[c]()}}[h](t,e){if(t===e.length||t===null)this[S]();else{this.buffer.head.value=e.slice(t);e=e.slice(0,t);this[w]-=t}this.emit("data",e);if(!this.buffer.length&&!this[a])this.emit("drain");return e}end(t,e,r){if(typeof t==="function")r=t,t=null;if(typeof e==="function")r=e,e="utf8";if(t)this.write(t,e);if(r)this.once("end",r);this[a]=true;this.writable=false;if(this.flowing||!this[g])this[c]();return this}[_](){if(this[k])return;this[g]=false;this[m]=true;this.emit("resume");if(this.buffer.length)this[p]();else if(this[a])this[c]();else this.emit("drain")}resume(){return this[_]()}pause(){this[m]=false;this[g]=true}get destroyed(){return this[k]}get flowing(){return this[m]}get paused(){return this[g]}[b](t){if(this[E])this[w]+=1;else this[w]+=t.length;return this.buffer.push(t)}[S](){if(this.buffer.length){if(this[E])this[w]-=1;else this[w]-=this.buffer.head.value.length}return this.buffer.shift()}[p](){do{}while(this[d](this[S]()));if(!this.buffer.length&&!this[a])this.emit("drain")}[d](t){return t?(this.emit("data",t),this.flowing):false}pipe(t,e){if(this[k])return;const r=this[u];e=e||{};if(t===process.stdout||t===process.stderr)e.end=false;else e.end=e.end!==false;const n={dest:t,opts:e,ondrain:t=>this[_]()};this.pipes.push(n);t.on("drain",n.ondrain);this[_]();if(r&&n.opts.end)n.dest.end();return t}addListener(t,e){return this.on(t,e)}on(t,e){try{return super.on(t,e)}finally{if(t==="data"&&!this.pipes.length&&!this.flowing)this[_]();else if(T(t)&&this[u]){super.emit(t);this.removeAllListeners(t)}}}get emittedEnd(){return this[u]}[c](){if(!this[l]&&!this[u]&&!this[k]&&this.buffer.length===0&&this[a]){this[l]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[f])this.emit("close");this[l]=false}}emit(t,e){if(t!=="error"&&t!=="close"&&t!==k&&this[k])return;else if(t==="data"){if(!e)return;if(this.pipes.length)this.pipes.forEach(t=>t.dest.write(e)===false&&this.pause())}else if(t==="end"){if(this[u]===true)return;this[u]=true;this.readable=false;if(this[v]){e=this[v].end();if(e){this.pipes.forEach(t=>t.dest.write(e));super.emit("data",e)}}this.pipes.forEach(t=>{t.dest.removeListener("drain",t.ondrain);if(t.opts.end)t.dest.end()})}else if(t==="close"){this[f]=true;if(!this[u]&&!this[k])return}const r=new Array(arguments.length);r[0]=t;r[1]=e;if(arguments.length>2){for(let t=2;t{t.push(e);if(!this[E])t.dataLength+=e.length});return e.then(()=>t)}concat(){return this[E]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(t=>this[E]?Promise.reject(new Error("cannot concat in objectMode")):this[y]?t.join(""):Buffer.concat(t,t.dataLength))}promise(){return new Promise((t,e)=>{this.on(k,()=>e(new Error("stream destroyed")));this.on("end",()=>t());this.on("error",t=>e(t))})}[C](){const t=()=>{const t=this.read();if(t!==null)return Promise.resolve({done:false,value:t});if(this[a])return Promise.resolve({done:true});let e=null;let r=null;const n=t=>{this.removeListener("data",i);this.removeListener("end",s);r(t)};const i=t=>{this.removeListener("error",n);this.removeListener("end",s);this.pause();e({value:t,done:!!this[a]})};const s=()=>{this.removeListener("error",n);this.removeListener("data",i);e({done:true})};const o=()=>n(new Error("stream destroyed"));return new Promise((t,a)=>{r=a;e=t;this.once(k,o);this.once("error",n);this.once("end",s);this.once("data",i)})};return{next:t}}[A](){const t=()=>{const t=this.read();const e=t===null;return{value:t,done:e}};return{next:t}}destroy(t){if(this[k]){if(t)this.emit("error",t);else this.emit(k);return this}this[k]=true;this.buffer=new s;this[w]=0;if(typeof this.close==="function"&&!this[f])this.close();if(t)this.emit("error",t);else this.emit(k);return this}static isStream(t){return!!t&&(t instanceof Minipass||t instanceof i||t instanceof n&&(typeof t.pipe==="function"||typeof t.write==="function"&&typeof t.end==="function"))}}},2253:t=>{"use strict";t.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next){yield t.value}}}},546:(t,e,r)=>{"use strict";t.exports=Yallist;Yallist.Node=Node;Yallist.create=Yallist;function Yallist(t){var e=this;if(!(e instanceof Yallist)){e=new Yallist}e.tail=null;e.head=null;e.length=0;if(t&&typeof t.forEach==="function"){t.forEach(function(t){e.push(t)})}else if(arguments.length>0){for(var r=0,n=arguments.length;r1){r=e}else if(this.head){n=this.head.next;r=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=0;n!==null;i++){r=t(r,n.value,i);n=n.next}return r};Yallist.prototype.reduceReverse=function(t,e){var r;var n=this.tail;if(arguments.length>1){r=e}else if(this.tail){n=this.tail.prev;r=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=this.length-1;n!==null;i--){r=t(r,n.value,i);n=n.prev}return r};Yallist.prototype.toArray=function(){var t=new Array(this.length);for(var e=0,r=this.head;r!==null;e++){t[e]=r.value;r=r.next}return t};Yallist.prototype.toArrayReverse=function(){var t=new Array(this.length);for(var e=0,r=this.tail;r!==null;e++){t[e]=r.value;r=r.prev}return t};Yallist.prototype.slice=function(t,e){e=e||this.length;if(e<0){e+=this.length}t=t||0;if(t<0){t+=this.length}var r=new Yallist;if(ethis.length){e=this.length}for(var n=0,i=this.head;i!==null&&nthis.length){e=this.length}for(var n=this.length,i=this.tail;i!==null&&n>e;n--){i=i.prev}for(;i!==null&&n>t;n--,i=i.prev){r.push(i.value)}return r};Yallist.prototype.splice=function(t,e,...r){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}for(var n=0,i=this.head;i!==null&&n{var n=r(3640);t.exports=n(once);t.exports.strict=n(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})});function once(t){var e=function(){if(e.called)return e.value;e.called=true;return e.value=t.apply(this,arguments)};e.called=false;return e}function onceStrict(t){var e=function(){if(e.called)throw new Error(e.onceError);e.called=true;return e.value=t.apply(this,arguments)};var r=t.name||"Function wrapped with `once`";e.onceError=r+" shouldn't be called more than once";e.called=false;return e}},6540:t=>{"use strict";function posix(t){return t.charAt(0)==="/"}function win32(t){var e=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;var r=e.exec(t);var n=r[1]||"";var i=Boolean(n&&n.charAt(1)!==":");return Boolean(r[2]||i)}t.exports=process.platform==="win32"?win32:posix;t.exports.posix=posix;t.exports.win32=win32},9346:(t,e,r)=>{"use strict";t.exports=inflight;let n;try{n=r(5229)}catch(t){n=Promise}const i={};inflight.active=i;function inflight(t,e){return n.all([t,e]).then(function(t){const e=t[0];const r=t[1];if(Array.isArray(e)){return n.all(e).then(function(t){return _inflight(t.join(""),r)})}else{return _inflight(e,r)}});function _inflight(t,e){if(!i[t]){i[t]=new n(function(t){return t(e())});i[t].then(cleanup,cleanup);function cleanup(){delete i[t]}}return i[t]}}},9536:(t,e,r)=>{"use strict";var n=r(5622);var i=r(5275);t.exports=function(t,e,r){return n.join(t,(e?e+"-":"")+i(r))}},5275:(t,e,r)=>{"use strict";var n=r(8681);t.exports=function(t){if(t){var e=new n(t);return("00000000"+e.result().toString(16)).substr(-8)}else{return(Math.random().toString(16)+"0000000").substr(2,8)}}},3640:t=>{t.exports=wrappy;function wrappy(t,e){if(t&&e)return wrappy(t)(e);if(typeof t!=="function")throw new TypeError("need wrapper function");Object.keys(t).forEach(function(e){wrapper[e]=t[e]});return wrapper;function wrapper(){var e=new Array(arguments.length);for(var r=0;r{"use strict";const n=r(1669);const i=r(5747);const s=r(595);const o=r(5575);const a=r(9409);const c=r(8351);const u=r(5283);const l=r(6436);const f=n.promisify(i.writeFile);t.exports=function get(t,e,r){return getData(false,t,e,r)};t.exports.byDigest=function getByDigest(t,e,r){return getData(true,t,e,r)};function getData(t,e,r,n={}){const{integrity:i,memoize:c,size:u}=n;const l=t?o.get.byDigest(e,r,n):o.get(e,r,n);if(l&&c!==false){return Promise.resolve(t?l:{metadata:l.entry.metadata,data:l.data,integrity:l.entry.integrity,size:l.entry.size})}return(t?Promise.resolve(null):s.find(e,r,n)).then(l=>{if(!l&&!t){throw new s.NotFoundError(e,r)}return a(e,t?r:l.integrity,{integrity:i,size:u}).then(e=>t?e:{data:e,metadata:l.metadata,size:l.size,integrity:l.integrity}).then(i=>{if(c&&t){o.put.byDigest(e,r,i,n)}else if(c){o.put(e,l,i.data,n)}return i})})}t.exports.sync=function get(t,e,r){return getDataSync(false,t,e,r)};t.exports.sync.byDigest=function getByDigest(t,e,r){return getDataSync(true,t,e,r)};function getDataSync(t,e,r,n={}){const{integrity:i,memoize:c,size:u}=n;const l=t?o.get.byDigest(e,r,n):o.get(e,r,n);if(l&&c!==false){return t?l:{metadata:l.entry.metadata,data:l.data,integrity:l.entry.integrity,size:l.entry.size}}const f=!t&&s.find.sync(e,r,n);if(!f&&!t){throw new s.NotFoundError(e,r)}const h=a.sync(e,t?r:f.integrity,{integrity:i,size:u});const p=t?h:{metadata:f.metadata,data:h,size:f.size,integrity:f.integrity};if(c&&t){o.put.byDigest(e,r,p,n)}else if(c){o.put(e,f,p.data,n)}return p}t.exports.stream=getStream;const h=t=>{const e=new c;e.on("newListener",function(e,r){e==="metadata"&&r(t.entry.metadata);e==="integrity"&&r(t.entry.integrity);e==="size"&&r(t.entry.size)});e.end(t.data);return e};function getStream(t,e,r={}){const{memoize:n,size:i}=r;const c=o.get(t,e,r);if(c&&n!==false){return h(c)}const f=new l;s.find(t,e).then(c=>{if(!c){throw new s.NotFoundError(t,e)}f.emit("metadata",c.metadata);f.emit("integrity",c.integrity);f.emit("size",c.size);f.on("newListener",function(t,e){t==="metadata"&&e(c.metadata);t==="integrity"&&e(c.integrity);t==="size"&&e(c.size)});const l=a.readStream(t,c.integrity,{...r,size:typeof i!=="number"?c.size:i});if(n){const e=new u.PassThrough;e.on("collect",e=>o.put(t,c,e,r));f.unshift(e)}f.unshift(l)}).catch(t=>f.emit("error",t));return f}t.exports.stream.byDigest=getStreamDigest;function getStreamDigest(t,e,r={}){const{memoize:n}=r;const i=o.get.byDigest(t,e,r);if(i&&n!==false){const t=new c;t.end(i);return t}else{const i=a.readStream(t,e,r);if(!n){return i}const s=new u.PassThrough;s.on("collect",n=>o.put.byDigest(t,e,n,r));return new l(i,s)}}t.exports.info=info;function info(t,e,r={}){const{memoize:n}=r;const i=o.get(t,e,r);if(i&&n!==false){return Promise.resolve(i.entry)}else{return s.find(t,e)}}t.exports.hasContent=a.hasContent;function cp(t,e,r,n){return copy(false,t,e,r,n)}t.exports.copy=cp;function cpDigest(t,e,r,n){return copy(true,t,e,r,n)}t.exports.copy.byDigest=cpDigest;function copy(t,e,r,n,i={}){if(a.copy){return(t?Promise.resolve(null):s.find(e,r,i)).then(o=>{if(!o&&!t){throw new s.NotFoundError(e,r)}return a.copy(e,t?r:o.integrity,n,i).then(()=>{return t?r:{metadata:o.metadata,size:o.size,integrity:o.integrity}})})}return getData(t,e,r,i).then(e=>{return f(n,t?e:e.data).then(()=>{return t?r:{metadata:e.metadata,size:e.size,integrity:e.integrity}})})}},7234:(t,e,r)=>{"use strict";const n=r(1048);const i=r(4761);const s=r(5576);const o=r(4876);const a=r(9869);const{clearMemoized:c}=r(5575);const u=r(644);t.exports.ls=n;t.exports.ls.stream=n.stream;t.exports.get=i;t.exports.get.byDigest=i.byDigest;t.exports.get.sync=i.sync;t.exports.get.sync.byDigest=i.sync.byDigest;t.exports.get.stream=i.stream;t.exports.get.stream.byDigest=i.stream.byDigest;t.exports.get.copy=i.copy;t.exports.get.copy.byDigest=i.copy.byDigest;t.exports.get.info=i.info;t.exports.get.hasContent=i.hasContent;t.exports.get.hasContent.sync=i.hasContent.sync;t.exports.put=s;t.exports.put.stream=s.stream;t.exports.rm=o.entry;t.exports.rm.all=o.all;t.exports.rm.entry=t.exports.rm;t.exports.rm.content=o.content;t.exports.clearMemoized=c;t.exports.tmp={};t.exports.tmp.mkdir=u.mkdir;t.exports.tmp.withTmp=u.withTmp;t.exports.verify=a;t.exports.verify.lastRun=a.lastRun},3491:(t,e,r)=>{"use strict";const n=r(1666).Jw.k;const i=r(2700);const s=r(5622);const o=r(6726);t.exports=contentPath;function contentPath(t,e){const r=o.parse(e,{single:true});return s.join(contentDir(t),r.algorithm,...i(r.hexDigest()))}t.exports.contentDir=contentDir;function contentDir(t){return s.join(t,`content-v${n}`)}},9409:(t,e,r)=>{"use strict";const n=r(1669);const i=r(5747);const s=r(7714);const o=r(6726);const a=r(3491);const c=r(6436);const u=n.promisify(i.lstat);const l=n.promisify(i.readFile);t.exports=read;const f=64*1024*1024;function read(t,e,r={}){const{size:n}=r;return withContentSri(t,e,(t,e)=>{return u(t).then(r=>({stat:r,cpath:t,sri:e}))}).then(({stat:t,cpath:e,sri:r})=>{if(typeof n==="number"&&t.size!==n){throw sizeError(n,t.size)}if(t.size>f){return h(e,t.size,r,new c).concat()}return l(e,null).then(t=>{if(!o.checkData(t,r)){throw integrityError(r,e)}return t})})}const h=(t,e,r,n)=>{n.push(new s.ReadStream(t,{size:e,readSize:f}),o.integrityStream({integrity:r,size:e}));return n};t.exports.sync=readSync;function readSync(t,e,r={}){const{size:n}=r;return withContentSriSync(t,e,(t,e)=>{const r=i.readFileSync(t);if(typeof n==="number"&&n!==r.length){throw sizeError(n,r.length)}if(o.checkData(r,e)){return r}throw integrityError(e,t)})}t.exports.stream=readStream;t.exports.readStream=readStream;function readStream(t,e,r={}){const{size:n}=r;const i=new c;withContentSri(t,e,(t,e)=>{return u(t).then(r=>({stat:r,cpath:t,sri:e}))}).then(({stat:t,cpath:e,sri:r})=>{if(typeof n==="number"&&n!==t.size){return i.emit("error",sizeError(n,t.size))}h(e,t.size,r,i)},t=>i.emit("error",t));return i}let p;if(i.copyFile){t.exports.copy=copy;t.exports.copy.sync=copySync;p=n.promisify(i.copyFile)}function copy(t,e,r){return withContentSri(t,e,(t,e)=>{return p(t,r)})}function copySync(t,e,r){return withContentSriSync(t,e,(t,e)=>{return i.copyFileSync(t,r)})}t.exports.hasContent=hasContent;function hasContent(t,e){if(!e){return Promise.resolve(false)}return withContentSri(t,e,(t,e)=>{return u(t).then(t=>({size:t.size,sri:e,stat:t}))}).catch(t=>{if(t.code==="ENOENT"){return false}if(t.code==="EPERM"){if(process.platform!=="win32"){throw t}else{return false}}})}t.exports.hasContent.sync=hasContentSync;function hasContentSync(t,e){if(!e){return false}return withContentSriSync(t,e,(t,e)=>{try{const r=i.lstatSync(t);return{size:r.size,sri:e,stat:r}}catch(t){if(t.code==="ENOENT"){return false}if(t.code==="EPERM"){if(process.platform!=="win32"){throw t}else{return false}}}})}function withContentSri(t,e,r){const n=()=>{const n=o.parse(e);const i=n.pickAlgorithm();const s=n[i];if(s.length<=1){const e=a(t,s[0]);return r(e,s[0])}else{return Promise.all(s.map(e=>{return withContentSri(t,e,r).catch(t=>{if(t.code==="ENOENT"){return Object.assign(new Error("No matching content found for "+n.toString()),{code:"ENOENT"})}return t})})).then(t=>{const e=t.find(t=>!(t instanceof Error));if(e){return e}const r=t.find(t=>t.code==="ENOENT");if(r){throw r}throw t.find(t=>t instanceof Error)})}};return new Promise((t,e)=>{try{n().then(t).catch(e)}catch(t){e(t)}})}function withContentSriSync(t,e,r){const n=o.parse(e);const i=n.pickAlgorithm();const s=n[i];if(s.length<=1){const e=a(t,s[0]);return r(e,s[0])}else{let e=null;for(const n of s){try{return withContentSriSync(t,n,r)}catch(t){e=t}}throw e}}function sizeError(t,e){const r=new Error(`Bad data size: expected inserted data to be ${t} bytes, but got ${e} instead`);r.expected=t;r.found=e;r.code="EBADSIZE";return r}function integrityError(t,e){const r=new Error(`Integrity verification failed for ${t} (${e})`);r.code="EINTEGRITY";r.sri=t;r.path=e;return r}},1343:(t,e,r)=>{"use strict";const n=r(1669);const i=r(3491);const{hasContent:s}=r(9409);const o=n.promisify(r(4959));t.exports=rm;function rm(t,e){return s(t,e).then(e=>{if(e&&e.sri){return o(i(t,e.sri)).then(()=>true)}else{return false}})}},3729:(t,e,r)=>{"use strict";const n=r(1669);const i=r(3491);const s=r(1191);const o=r(5747);const a=r(5604);const c=r(8351);const u=r(6436);const l=r(4145);const f=r(5622);const h=n.promisify(r(4959));const p=r(6726);const d=r(9536);const{disposer:y}=r(9131);const v=r(7714);const m=n.promisify(o.writeFile);t.exports=write;function write(t,e,r={}){const{algorithms:n,size:i,integrity:s}=r;if(n&&n.length>1){throw new Error("opts.algorithms only supports a single algorithm for now")}if(typeof i==="number"&&e.length!==i){return Promise.reject(sizeError(i,e.length))}const o=p.fromData(e,n?{algorithms:n}:{});if(s&&!p.checkData(e,s,r)){return Promise.reject(checksumError(s,o))}return y(makeTmp(t,r),makeTmpDisposer,n=>{return m(n.target,e,{flag:"wx"}).then(()=>moveToDestination(n,t,o,r))}).then(()=>({integrity:o,size:e.length}))}t.exports.stream=writeStream;class CacacheWriteStream extends l{constructor(t,e){super();this.opts=e;this.cache=t;this.inputStream=new c;this.inputStream.on("error",t=>this.emit("error",t));this.inputStream.on("drain",()=>this.emit("drain"));this.handleContentP=null}write(t,e,r){if(!this.handleContentP){this.handleContentP=handleContent(this.inputStream,this.cache,this.opts)}return this.inputStream.write(t,e,r)}flush(t){this.inputStream.end(()=>{if(!this.handleContentP){const e=new Error("Cache input stream was empty");e.code="ENODATA";return Promise.reject(e).catch(t)}this.handleContentP.then(e=>{e.integrity&&this.emit("integrity",e.integrity);e.size!==null&&this.emit("size",e.size);t()},e=>t(e))})}}function writeStream(t,e={}){return new CacacheWriteStream(t,e)}function handleContent(t,e,r){return y(makeTmp(e,r),makeTmpDisposer,n=>{return pipeToTmp(t,e,n.target,r).then(t=>{return moveToDestination(n,e,t.integrity,r).then(()=>t)})})}function pipeToTmp(t,e,r,n){let i;let s;const o=p.integrityStream({integrity:n.integrity,algorithms:n.algorithms,size:n.size});o.on("integrity",t=>{i=t});o.on("size",t=>{s=t});const a=new v.WriteStream(r,{flags:"wx"});const c=new u(t,o,a);return c.promise().then(()=>({integrity:i,size:s})).catch(t=>h(r).then(()=>{throw t}))}function makeTmp(t,e){const r=d(f.join(t,"tmp"),e.tmpPrefix);return s.mkdirfix(t,f.dirname(r)).then(()=>({target:r,moved:false}))}function makeTmpDisposer(t){if(t.moved){return Promise.resolve()}return h(t.target)}function moveToDestination(t,e,r,n){const o=i(e,r);const c=f.dirname(o);return s.mkdirfix(e,c).then(()=>{return a(t.target,o)}).then(()=>{t.moved=true;return s.chownr(e,o)})}function sizeError(t,e){const r=new Error(`Bad data size: expected inserted data to be ${t} bytes, but got ${e} instead`);r.expected=t;r.found=e;r.code="EBADSIZE";return r}function checksumError(t,e){const r=new Error(`Integrity check failed:\n Wanted: ${t}\n Found: ${e}`);r.code="EINTEGRITY";r.expected=t;r.found=e;return r}},595:(t,e,r)=>{"use strict";const n=r(1669);const i=r(6417);const s=r(5747);const o=r(8351);const a=r(5622);const c=r(6726);const u=r(3491);const l=r(1191);const f=r(2700);const h=r(1666).Jw.K;const p=n.promisify(s.appendFile);const d=n.promisify(s.readFile);const y=n.promisify(s.readdir);t.exports.NotFoundError=class NotFoundError extends Error{constructor(t,e){super(`No cache entry for ${e} found in ${t}`);this.code="ENOENT";this.cache=t;this.key=e}};t.exports.insert=insert;function insert(t,e,r,n={}){const{metadata:i,size:s}=n;const o=bucketPath(t,e);const u={key:e,integrity:r&&c.stringify(r),time:Date.now(),size:s,metadata:i};return l.mkdirfix(t,a.dirname(o)).then(()=>{const t=JSON.stringify(u);return p(o,`\n${hashEntry(t)}\t${t}`)}).then(()=>l.chownr(t,o)).catch(t=>{if(t.code==="ENOENT"){return undefined}throw t}).then(()=>{return formatEntry(t,u)})}t.exports.insert.sync=insertSync;function insertSync(t,e,r,n={}){const{metadata:i,size:o}=n;const u=bucketPath(t,e);const f={key:e,integrity:r&&c.stringify(r),time:Date.now(),size:o,metadata:i};l.mkdirfix.sync(t,a.dirname(u));const h=JSON.stringify(f);s.appendFileSync(u,`\n${hashEntry(h)}\t${h}`);try{l.chownr.sync(t,u)}catch(t){if(t.code!=="ENOENT"){throw t}}return formatEntry(t,f)}t.exports.find=find;function find(t,e){const r=bucketPath(t,e);return bucketEntries(r).then(r=>{return r.reduce((r,n)=>{if(n&&n.key===e){return formatEntry(t,n)}else{return r}},null)}).catch(t=>{if(t.code==="ENOENT"){return null}else{throw t}})}t.exports.find.sync=findSync;function findSync(t,e){const r=bucketPath(t,e);try{return bucketEntriesSync(r).reduce((r,n)=>{if(n&&n.key===e){return formatEntry(t,n)}else{return r}},null)}catch(t){if(t.code==="ENOENT"){return null}else{throw t}}}t.exports.delete=del;function del(t,e,r){return insert(t,e,null,r)}t.exports.delete.sync=delSync;function delSync(t,e,r){return insertSync(t,e,null,r)}t.exports.lsStream=lsStream;function lsStream(t){const e=bucketDir(t);const r=new o({objectMode:true});readdirOrEmpty(e).then(n=>Promise.all(n.map(n=>{const i=a.join(e,n);return readdirOrEmpty(i).then(e=>Promise.all(e.map(e=>{const n=a.join(i,e);return readdirOrEmpty(n).then(e=>Promise.all(e.map(e=>{const i=a.join(n,e);return bucketEntries(i).then(t=>t.reduce((t,e)=>{t.set(e.key,e);return t},new Map)).then(e=>{for(const n of e.values()){const e=formatEntry(t,n);if(e){r.write(e)}}}).catch(t=>{if(t.code==="ENOENT"){return undefined}throw t})})))})))}))).then(()=>r.end(),t=>r.emit("error",t));return r}t.exports.ls=ls;function ls(t){return lsStream(t).collect().then(t=>t.reduce((t,e)=>{t[e.key]=e;return t},{}))}function bucketEntries(t,e){return d(t,"utf8").then(t=>_bucketEntries(t,e))}function bucketEntriesSync(t,e){const r=s.readFileSync(t,"utf8");return _bucketEntries(r,e)}function _bucketEntries(t,e){const r=[];t.split("\n").forEach(t=>{if(!t){return}const e=t.split("\t");if(!e[1]||hashEntry(e[1])!==e[0]){return}let n;try{n=JSON.parse(e[1])}catch(t){return}if(n){r.push(n)}});return r}t.exports.bucketDir=bucketDir;function bucketDir(t){return a.join(t,`index-v${h}`)}t.exports.bucketPath=bucketPath;function bucketPath(t,e){const r=hashKey(e);return a.join.apply(a,[bucketDir(t)].concat(f(r)))}t.exports.hashKey=hashKey;function hashKey(t){return hash(t,"sha256")}t.exports.hashEntry=hashEntry;function hashEntry(t){return hash(t,"sha1")}function hash(t,e){return i.createHash(e).update(t).digest("hex")}function formatEntry(t,e){if(!e.integrity){return null}return{key:e.key,integrity:e.integrity,path:u(t,e.integrity),size:e.size,time:e.time,metadata:e.metadata}}function readdirOrEmpty(t){return y(t).catch(t=>{if(t.code==="ENOENT"||t.code==="ENOTDIR"){return[]}throw t})}},5575:(t,e,r)=>{"use strict";const n=r(738);const i=50*1024*1024;const s=3*60*1e3;const o=new n({max:i,maxAge:s,length:(t,e)=>e.startsWith("key:")?t.data.length:t.length});t.exports.clearMemoized=clearMemoized;function clearMemoized(){const t={};o.forEach((e,r)=>{t[r]=e});o.reset();return t}t.exports.put=put;function put(t,e,r,n){pickMem(n).set(`key:${t}:${e.key}`,{entry:e,data:r});putDigest(t,e.integrity,r,n)}t.exports.put.byDigest=putDigest;function putDigest(t,e,r,n){pickMem(n).set(`digest:${t}:${e}`,r)}t.exports.get=get;function get(t,e,r){return pickMem(r).get(`key:${t}:${e}`)}t.exports.get.byDigest=getDigest;function getDigest(t,e,r){return pickMem(r).get(`digest:${t}:${e}`)}class ObjProxy{constructor(t){this.obj=t}get(t){return this.obj[t]}set(t,e){this.obj[t]=e}}function pickMem(t){if(!t||!t.memoize){return o}else if(t.memoize.get&&t.memoize.set){return t.memoize}else if(typeof t.memoize==="object"){return new ObjProxy(t.memoize)}else{return o}}},9131:t=>{"use strict";t.exports.disposer=disposer;function disposer(t,e,r){const n=(t,r,n=false)=>{return e(t).then(()=>{if(n){throw r}return r},t=>{throw t})};return t.then(t=>{return Promise.resolve().then(()=>r(t)).then(e=>n(t,e)).catch(e=>n(t,e,true))})}},1191:(t,e,r)=>{"use strict";const n=r(1669);const i=n.promisify(r(9051));const s=r(2933);const o=r(9346);const a=r(9609);const c={uid:null,gid:null};const u=()=>{if(typeof c.uid!=="number"){c.uid=process.getuid();const t=process.setuid;process.setuid=(e=>{c.uid=null;process.setuid=t;return process.setuid(e)})}if(typeof c.gid!=="number"){c.gid=process.getgid();const t=process.setgid;process.setgid=(e=>{c.gid=null;process.setgid=t;return process.setgid(e)})}};t.exports.chownr=fixOwner;function fixOwner(t,e){if(!process.getuid){return Promise.resolve()}u();if(c.uid!==0){return Promise.resolve()}return Promise.resolve(a(t)).then(t=>{const{uid:r,gid:n}=t;if(c.uid===r&&c.gid===n){return}return o("fixOwner: fixing ownership on "+e,()=>i(e,typeof r==="number"?r:c.uid,typeof n==="number"?n:c.gid).catch(t=>{if(t.code==="ENOENT"){return null}throw t}))})}t.exports.chownr.sync=fixOwnerSync;function fixOwnerSync(t,e){if(!process.getuid){return}const{uid:r,gid:n}=a.sync(t);u();if(c.uid!==0){return}if(c.uid===r&&c.gid===n){return}try{i.sync(e,typeof r==="number"?r:c.uid,typeof n==="number"?n:c.gid)}catch(t){if(t.code==="ENOENT"){return null}throw t}}t.exports.mkdirfix=mkdirfix;function mkdirfix(t,e,r){return Promise.resolve(a(t)).then(()=>{return s(e).then(e=>{if(e){return fixOwner(t,e).then(()=>e)}}).catch(r=>{if(r.code==="EEXIST"){return fixOwner(t,e).then(()=>null)}throw r})})}t.exports.mkdirfix.sync=mkdirfixSync;function mkdirfixSync(t,e){try{a.sync(t);const r=s.sync(e);if(r){fixOwnerSync(t,r);return r}}catch(r){if(r.code==="EEXIST"){fixOwnerSync(t,e);return null}else{throw r}}}},2700:t=>{"use strict";t.exports=hashToSegments;function hashToSegments(t){return[t.slice(0,2),t.slice(2,4),t.slice(4)]}},5604:(t,e,r)=>{"use strict";const n=r(5747);const i=r(1669);const s=i.promisify(n.chmod);const o=i.promisify(n.unlink);const a=i.promisify(n.stat);const c=r(3485);const u=r(9346);t.exports=moveFile;function moveFile(t,e){const r=global.__CACACHE_TEST_FAKE_WINDOWS__||process.platform==="win32";return new Promise((i,s)=>{n.link(t,e,t=>{if(t){if(r&&t.code==="EPERM"){return i()}else if(t.code==="EEXIST"||t.code==="EBUSY"){return i()}else{return s(t)}}else{return i()}})}).then(()=>{return Promise.all([o(t),!r&&s(e,"0444")])}).catch(()=>{return u("cacache-move-file:"+e,()=>{return a(e).catch(r=>{if(r.code!=="ENOENT"){throw r}return c(t,e)})})})}},644:(t,e,r)=>{"use strict";const n=r(1669);const i=r(1191);const s=r(5622);const o=n.promisify(r(4959));const a=r(9536);const{disposer:c}=r(9131);t.exports.mkdir=mktmpdir;function mktmpdir(t,e={}){const{tmpPrefix:r}=e;const n=a(s.join(t,"tmp"),r);return i.mkdirfix(t,n).then(()=>{return n})}t.exports.withTmp=withTmp;function withTmp(t,e,r){if(!r){r=e;e={}}return c(mktmpdir(t,e),o,r)}t.exports.fix=fixtmpdir;function fixtmpdir(t){return i(t,s.join(t,"tmp"))}},584:(t,e,r)=>{"use strict";const n=r(1669);const i=r(1855);const s=r(3491);const o=r(1191);const a=r(5747);const c=r(7714);const u=n.promisify(r(7966));const l=r(595);const f=r(5622);const h=n.promisify(r(4959));const p=r(6726);const d=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);const y=n.promisify(a.stat);const v=n.promisify(a.truncate);const m=n.promisify(a.writeFile);const g=n.promisify(a.readFile);const _=t=>({concurrency:20,log:{silly(){}},...t});t.exports=verify;function verify(t,e){e=_(e);e.log.silly("verify","verifying cache at",t);const r=[markStartTime,fixPerms,garbageCollect,rebuildIndex,cleanTmp,writeVerifile,markEndTime];return r.reduce((r,n,i)=>{const s=n.name;const o=new Date;return r.then(r=>{return n(t,e).then(t=>{t&&Object.keys(t).forEach(e=>{r[e]=t[e]});const e=new Date;if(!r.runTime){r.runTime={}}r.runTime[s]=e-o;return Promise.resolve(r)})})},Promise.resolve({})).then(r=>{r.runTime.total=r.endTime-r.startTime;e.log.silly("verify","verification finished for",t,"in",`${r.runTime.total}ms`);return r})}function markStartTime(t,e){return Promise.resolve({startTime:new Date})}function markEndTime(t,e){return Promise.resolve({endTime:new Date})}function fixPerms(t,e){e.log.silly("verify","fixing cache permissions");return o.mkdirfix(t,t).then(()=>{return o.chownr(t,t)}).then(()=>null)}function garbageCollect(t,e){e.log.silly("verify","garbage collecting content");const r=l.lsStream(t);const n=new Set;r.on("data",t=>{if(e.filter&&!e.filter(t)){return}n.add(t.integrity.toString())});return new Promise((t,e)=>{r.on("end",t).on("error",e)}).then(()=>{const r=s.contentDir(t);return u(f.join(r,"**"),{follow:false,nodir:true,nosort:true}).then(t=>{return Promise.resolve({verifiedContent:0,reclaimedCount:0,reclaimedSize:0,badContentCount:0,keptSize:0}).then(r=>i(t,t=>{const e=t.split(/[/\\]/);const i=e.slice(e.length-3).join("");const s=e[e.length-4];const o=p.fromHex(i,s);if(n.has(o.toString())){return verifyContent(t,o).then(t=>{if(!t.valid){r.reclaimedCount++;r.badContentCount++;r.reclaimedSize+=t.size}else{r.verifiedContent++;r.keptSize+=t.size}return r})}else{r.reclaimedCount++;return y(t).then(e=>{return h(t).then(()=>{r.reclaimedSize+=e.size;return r})})}},{concurrency:e.concurrency}).then(()=>r))})})}function verifyContent(t,e){return y(t).then(r=>{const n={size:r.size,valid:true};return p.checkStream(new c.ReadStream(t),e).catch(e=>{if(e.code!=="EINTEGRITY"){throw e}return h(t).then(()=>{n.valid=false})}).then(()=>n)}).catch(t=>{if(t.code==="ENOENT"){return{size:0,valid:false}}throw t})}function rebuildIndex(t,e){e.log.silly("verify","rebuilding index");return l.ls(t).then(r=>{const n={missingContent:0,rejectedEntries:0,totalEntries:0};const s={};for(const i in r){if(d(r,i)){const o=l.hashKey(i);const a=r[i];const c=e.filter&&!e.filter(a);c&&n.rejectedEntries++;if(s[o]&&!c){s[o].push(a)}else if(s[o]&&c){}else if(c){s[o]=[];s[o]._path=l.bucketPath(t,i)}else{s[o]=[a];s[o]._path=l.bucketPath(t,i)}}}return i(Object.keys(s),r=>{return rebuildBucket(t,s[r],n,e)},{concurrency:e.concurrency}).then(()=>n)})}function rebuildBucket(t,e,r,n){return v(e._path).then(()=>{return e.reduce((e,n)=>{return e.then(()=>{const e=s(t,n.integrity);return y(e).then(()=>{return l.insert(t,n.key,n.integrity,{metadata:n.metadata,size:n.size}).then(()=>{r.totalEntries++})}).catch(t=>{if(t.code==="ENOENT"){r.rejectedEntries++;r.missingContent++;return}throw t})})},Promise.resolve())})}function cleanTmp(t,e){e.log.silly("verify","cleaning tmp directory");return h(f.join(t,"tmp"))}function writeVerifile(t,e){const r=f.join(t,"_lastverified");e.log.silly("verify","writing verifile to "+r);try{return m(r,""+ +new Date)}finally{o.chownr.sync(t,r)}}t.exports.lastRun=lastRun;function lastRun(t){return g(f.join(t,"_lastverified"),"utf8").then(t=>new Date(+t))}},1048:(t,e,r)=>{"use strict";const n=r(595);t.exports=n.ls;t.exports.stream=n.lsStream},738:(t,e,r)=>{"use strict";const n=r(665);const i=Symbol("max");const s=Symbol("length");const o=Symbol("lengthCalculator");const a=Symbol("allowStale");const c=Symbol("maxAge");const u=Symbol("dispose");const l=Symbol("noDisposeOnSet");const f=Symbol("lruList");const h=Symbol("cache");const p=Symbol("updateAgeOnGet");const d=()=>1;class LRUCache{constructor(t){if(typeof t==="number")t={max:t};if(!t)t={};if(t.max&&(typeof t.max!=="number"||t.max<0))throw new TypeError("max must be a non-negative number");const e=this[i]=t.max||Infinity;const r=t.length||d;this[o]=typeof r!=="function"?d:r;this[a]=t.stale||false;if(t.maxAge&&typeof t.maxAge!=="number")throw new TypeError("maxAge must be a number");this[c]=t.maxAge||0;this[u]=t.dispose;this[l]=t.noDisposeOnSet||false;this[p]=t.updateAgeOnGet||false;this.reset()}set max(t){if(typeof t!=="number"||t<0)throw new TypeError("max must be a non-negative number");this[i]=t||Infinity;m(this)}get max(){return this[i]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if(typeof t!=="number")throw new TypeError("maxAge must be a non-negative number");this[c]=t;m(this)}get maxAge(){return this[c]}set lengthCalculator(t){if(typeof t!=="function")t=d;if(t!==this[o]){this[o]=t;this[s]=0;this[f].forEach(t=>{t.length=this[o](t.value,t.key);this[s]+=t.length})}m(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[f].length}rforEach(t,e){e=e||this;for(let r=this[f].tail;r!==null;){const n=r.prev;_(this,t,r,e);r=n}}forEach(t,e){e=e||this;for(let r=this[f].head;r!==null;){const n=r.next;_(this,t,r,e);r=n}}keys(){return this[f].toArray().map(t=>t.key)}values(){return this[f].toArray().map(t=>t.value)}reset(){if(this[u]&&this[f]&&this[f].length){this[f].forEach(t=>this[u](t.key,t.value))}this[h]=new Map;this[f]=new n;this[s]=0}dump(){return this[f].map(t=>v(this,t)?false:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[f]}set(t,e,r){r=r||this[c];if(r&&typeof r!=="number")throw new TypeError("maxAge must be a number");const n=r?Date.now():0;const a=this[o](e,t);if(this[h].has(t)){if(a>this[i]){g(this,this[h].get(t));return false}const o=this[h].get(t);const c=o.value;if(this[u]){if(!this[l])this[u](t,c.value)}c.now=n;c.maxAge=r;c.value=e;this[s]+=a-c.length;c.length=a;this.get(t);m(this);return true}const p=new Entry(t,e,a,n,r);if(p.length>this[i]){if(this[u])this[u](t,e);return false}this[s]+=p.length;this[f].unshift(p);this[h].set(t,this[f].head);m(this);return true}has(t){if(!this[h].has(t))return false;const e=this[h].get(t).value;return!v(this,e)}get(t){return y(this,t,true)}peek(t){return y(this,t,false)}pop(){const t=this[f].tail;if(!t)return null;g(this,t);return t.value}del(t){g(this,this[h].get(t))}load(t){this.reset();const e=Date.now();for(let r=t.length-1;r>=0;r--){const n=t[r];const i=n.e||0;if(i===0)this.set(n.k,n.v);else{const t=i-e;if(t>0){this.set(n.k,n.v,t)}}}}prune(){this[h].forEach((t,e)=>y(this,e,false))}}const y=(t,e,r)=>{const n=t[h].get(e);if(n){const e=n.value;if(v(t,e)){g(t,n);if(!t[a])return undefined}else{if(r){if(t[p])n.value.now=Date.now();t[f].unshiftNode(n)}}return e.value}};const v=(t,e)=>{if(!e||!e.maxAge&&!t[c])return false;const r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[c]&&r>t[c]};const m=t=>{if(t[s]>t[i]){for(let e=t[f].tail;t[s]>t[i]&&e!==null;){const r=e.prev;g(t,e);e=r}}};const g=(t,e)=>{if(e){const r=e.value;if(t[u])t[u](r.key,r.value);t[s]-=r.length;t[h].delete(r.key);t[f].removeNode(e)}};class Entry{constructor(t,e,r,n,i){this.key=t;this.value=e;this.length=r;this.now=n;this.maxAge=i||0}}const _=(t,e,r,n)=>{let i=r.value;if(v(t,i)){g(t,r);if(!t[a])i=undefined}if(i)e.call(n,i.value,i.key,t)};t.exports=LRUCache},2933:(t,e,r)=>{const n=r(2810);const i=r(4376);const{mkdirpNative:s,mkdirpNativeSync:o}=r(935);const{mkdirpManual:a,mkdirpManualSync:c}=r(7105);const{useNative:u,useNativeSync:l}=r(4230);const f=(t,e)=>{t=i(t);e=n(e);return u(e)?s(t,e):a(t,e)};const h=(t,e)=>{t=i(t);e=n(e);return l(e)?o(t,e):c(t,e)};f.sync=h;f.native=((t,e)=>s(i(t),n(e)));f.manual=((t,e)=>a(i(t),n(e)));f.nativeSync=((t,e)=>o(i(t),n(e)));f.manualSync=((t,e)=>c(i(t),n(e)));t.exports=f},5552:(t,e,r)=>{const{dirname:n}=r(5622);const i=(t,e,r=undefined)=>{if(r===e)return Promise.resolve();return t.statAsync(e).then(t=>t.isDirectory()?r:undefined,r=>r.code==="ENOENT"?i(t,n(e),e):undefined)};const s=(t,e,r=undefined)=>{if(r===e)return undefined;try{return t.statSync(e).isDirectory()?r:undefined}catch(r){return r.code==="ENOENT"?s(t,n(e),e):undefined}};t.exports={findMade:i,findMadeSync:s}},7105:(t,e,r)=>{const{dirname:n}=r(5622);const i=(t,e,r)=>{e.recursive=false;const s=n(t);if(s===t){return e.mkdirAsync(t,e).catch(t=>{if(t.code!=="EISDIR")throw t})}return e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return i(s,e).then(r=>i(t,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(t=>{if(t.isDirectory())return r;else throw n},()=>{throw n})})};const s=(t,e,r)=>{const i=n(t);e.recursive=false;if(i===t){try{return e.mkdirSync(t,e)}catch(t){if(t.code!=="EISDIR")throw t;else return}}try{e.mkdirSync(t,e);return r||t}catch(n){if(n.code==="ENOENT")return s(t,e,s(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(t){throw n}}};t.exports={mkdirpManual:i,mkdirpManualSync:s}},935:(t,e,r)=>{const{dirname:n}=r(5622);const{findMade:i,findMadeSync:s}=r(5552);const{mkdirpManual:o,mkdirpManualSync:a}=r(7105);const c=(t,e)=>{e.recursive=true;const r=n(t);if(r===t)return e.mkdirAsync(t,e);return i(e,t).then(r=>e.mkdirAsync(t,e).then(()=>r).catch(r=>{if(r.code==="ENOENT")return o(t,e);else throw r}))};const u=(t,e)=>{e.recursive=true;const r=n(t);if(r===t)return e.mkdirSync(t,e);const i=s(e,t);try{e.mkdirSync(t,e);return i}catch(r){if(r.code==="ENOENT")return a(t,e);else throw r}};t.exports={mkdirpNative:c,mkdirpNativeSync:u}},2810:(t,e,r)=>{const{promisify:n}=r(1669);const i=r(5747);const s=t=>{if(!t)t={mode:511,fs:i};else if(typeof t==="object")t={mode:511,fs:i,...t};else if(typeof t==="number")t={mode:t,fs:i};else if(typeof t==="string")t={mode:parseInt(t,8),fs:i};else throw new TypeError("invalid options argument");t.mkdir=t.mkdir||t.fs.mkdir||i.mkdir;t.mkdirAsync=n(t.mkdir);t.stat=t.stat||t.fs.stat||i.stat;t.statAsync=n(t.stat);t.statSync=t.statSync||t.fs.statSync||i.statSync;t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||i.mkdirSync;return t};t.exports=s},4376:(t,e,r)=>{const n=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const{resolve:i,parse:s}=r(5622);const o=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=i(t);if(n==="win32"){const e=/[*|"<>?:]/;const{root:r}=s(t);if(e.test(t.substr(r.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};t.exports=o},4230:(t,e,r)=>{const n=r(5747);const i=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const s=i.replace(/^v/,"").split(".");const o=+s[0]>10||+s[0]===10&&+s[1]>=12;const a=!o?()=>false:t=>t.mkdir===n.mkdir;const c=!o?()=>false:t=>t.mkdirSync===n.mkdirSync;t.exports={useNative:a,useNativeSync:c}},5576:(t,e,r)=>{"use strict";const n=r(595);const i=r(5575);const s=r(3729);const o=r(4145);const{PassThrough:a}=r(5283);const c=r(6436);const u=t=>({algorithms:["sha512"],...t});t.exports=putData;function putData(t,e,r,o={}){const{memoize:a}=o;o=u(o);return s(t,r,o).then(s=>{return n.insert(t,e,s.integrity,{...o,size:s.size}).then(e=>{if(a){i.put(t,e,r,o)}return s.integrity})})}t.exports.stream=putStream;function putStream(t,e,r={}){const{memoize:l}=r;r=u(r);let f;let h;let p;const d=new c;if(l){const t=(new a).on("collect",t=>{p=t});d.push(t)}const y=s.stream(t,r).on("integrity",t=>{f=t}).on("size",t=>{h=t});d.push(y);d.push(new o({flush(){return n.insert(t,e,f,{...r,size:h}).then(e=>{if(l&&p){i.put(t,e,p,r)}if(f){d.emit("integrity",f)}if(h){d.emit("size",h)}})}}));return d}},4876:(t,e,r)=>{"use strict";const n=r(1669);const i=r(595);const s=r(5575);const o=r(5622);const a=n.promisify(r(4959));const c=r(1343);t.exports=entry;t.exports.entry=entry;function entry(t,e){s.clearMemoized();return i.delete(t,e)}t.exports.content=content;function content(t,e){s.clearMemoized();return c(t,e)}t.exports.all=all;function all(t){s.clearMemoized();return a(o.join(t,"*(content-*|index-*)"))}},9869:(t,e,r)=>{"use strict";t.exports=r(584)},9051:(t,e,r)=>{"use strict";const n=r(5747);const i=r(5622);const s=n.lchown?"lchown":"chown";const o=n.lchownSync?"lchownSync":"chownSync";const a=n.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/);const c=(t,e,r)=>{try{return n[o](t,e,r)}catch(t){if(t.code!=="ENOENT")throw t}};const u=(t,e,r)=>{try{return n.chownSync(t,e,r)}catch(t){if(t.code!=="ENOENT")throw t}};const l=a?(t,e,r,i)=>s=>{if(!s||s.code!=="EISDIR")i(s);else n.chown(t,e,r,i)}:(t,e,r,n)=>n;const f=a?(t,e,r)=>{try{return c(t,e,r)}catch(n){if(n.code!=="EISDIR")throw n;u(t,e,r)}}:(t,e,r)=>c(t,e,r);const h=process.version;let p=(t,e,r)=>n.readdir(t,e,r);let d=(t,e)=>n.readdirSync(t,e);if(/^v4\./.test(h))p=((t,e,r)=>n.readdir(t,r));const y=(t,e,r,i)=>{n[s](t,e,r,l(t,e,r,t=>{i(t&&t.code!=="ENOENT"?t:null)}))};const v=(t,e,r,s,o)=>{if(typeof e==="string")return n.lstat(i.resolve(t,e),(n,i)=>{if(n)return o(n.code!=="ENOENT"?n:null);i.name=e;v(t,i,r,s,o)});if(e.isDirectory()){m(i.resolve(t,e.name),r,s,n=>{if(n)return o(n);const a=i.resolve(t,e.name);y(a,r,s,o)})}else{const n=i.resolve(t,e.name);y(n,r,s,o)}};const m=(t,e,r,n)=>{p(t,{withFileTypes:true},(i,s)=>{if(i){if(i.code==="ENOENT")return n();else if(i.code!=="ENOTDIR"&&i.code!=="ENOTSUP")return n(i)}if(i||!s.length)return y(t,e,r,n);let o=s.length;let a=null;const c=i=>{if(a)return;if(i)return n(a=i);if(--o===0)return y(t,e,r,n)};s.forEach(n=>v(t,n,e,r,c))})};const g=(t,e,r,s)=>{if(typeof e==="string"){try{const r=n.lstatSync(i.resolve(t,e));r.name=e;e=r}catch(t){if(t.code==="ENOENT")return;else throw t}}if(e.isDirectory())_(i.resolve(t,e.name),r,s);f(i.resolve(t,e.name),r,s)};const _=(t,e,r)=>{let n;try{n=d(t,{withFileTypes:true})}catch(n){if(n.code==="ENOENT")return;else if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return f(t,e,r);else throw n}if(n&&n.length)n.forEach(n=>g(t,n,e,r));return f(t,e,r)};t.exports=m;m.sync=_},7714:(t,e,r)=>{"use strict";const n=r(8351);const i=r(8614).EventEmitter;const s=r(5747);let o=s.writev;if(!o){const t=process.binding("fs");const e=t.FSReqWrap||t.FSReqCallback;o=((r,n,i,s)=>{const o=(t,e)=>s(t,e,n);const a=new e;a.oncomplete=o;t.writeBuffers(r,n,i,a)})}const a=Symbol("_autoClose");const c=Symbol("_close");const u=Symbol("_ended");const l=Symbol("_fd");const f=Symbol("_finished");const h=Symbol("_flags");const p=Symbol("_flush");const d=Symbol("_handleChunk");const y=Symbol("_makeBuf");const v=Symbol("_mode");const m=Symbol("_needDrain");const g=Symbol("_onerror");const _=Symbol("_onopen");const w=Symbol("_onread");const b=Symbol("_onwrite");const S=Symbol("_open");const E=Symbol("_path");const k=Symbol("_pos");const x=Symbol("_queue");const C=Symbol("_read");const A=Symbol("_readSize");const T=Symbol("_reading");const P=Symbol("_remain");const j=Symbol("_size");const O=Symbol("_write");const F=Symbol("_writing");const R=Symbol("_defaultFlag");const N=Symbol("_errored");class ReadStream extends n{constructor(t,e){e=e||{};super(e);this.readable=true;this.writable=false;if(typeof t!=="string")throw new TypeError("path must be a string");this[N]=false;this[l]=typeof e.fd==="number"?e.fd:null;this[E]=t;this[A]=e.readSize||16*1024*1024;this[T]=false;this[j]=typeof e.size==="number"?e.size:Infinity;this[P]=this[j];this[a]=typeof e.autoClose==="boolean"?e.autoClose:true;if(typeof this[l]==="number")this[C]();else this[S]()}get fd(){return this[l]}get path(){return this[E]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[S](){s.open(this[E],"r",(t,e)=>this[_](t,e))}[_](t,e){if(t)this[g](t);else{this[l]=e;this.emit("open",e);this[C]()}}[y](){return Buffer.allocUnsafe(Math.min(this[A],this[P]))}[C](){if(!this[T]){this[T]=true;const t=this[y]();if(t.length===0)return process.nextTick(()=>this[w](null,0,t));s.read(this[l],t,0,t.length,null,(t,e,r)=>this[w](t,e,r))}}[w](t,e,r){this[T]=false;if(t)this[g](t);else if(this[d](e,r))this[C]()}[c](){if(this[a]&&typeof this[l]==="number"){const t=this[l];this[l]=null;s.close(t,t=>t?this.emit("error",t):this.emit("close"))}}[g](t){this[T]=true;this[c]();this.emit("error",t)}[d](t,e){let r=false;this[P]-=t;if(t>0)r=super.write(tthis[_](t,e))}[_](t,e){if(this[R]&&this[h]==="r+"&&t&&t.code==="ENOENT"){this[h]="w";this[S]()}else if(t)this[g](t);else{this[l]=e;this.emit("open",e);this[p]()}}end(t,e){if(t)this.write(t,e);this[u]=true;if(!this[F]&&!this[x].length&&typeof this[l]==="number")this[b](null,0);return this}write(t,e){if(typeof t==="string")t=Buffer.from(t,e);if(this[u]){this.emit("error",new Error("write() after end()"));return false}if(this[l]===null||this[F]||this[x].length){this[x].push(t);this[m]=true;return false}this[F]=true;this[O](t);return true}[O](t){s.write(this[l],t,0,t.length,this[k],(t,e)=>this[b](t,e))}[b](t,e){if(t)this[g](t);else{if(this[k]!==null)this[k]+=e;if(this[x].length)this[p]();else{this[F]=false;if(this[u]&&!this[f]){this[f]=true;this[c]();this.emit("finish")}else if(this[m]){this[m]=false;this.emit("drain")}}}}[p](){if(this[x].length===0){if(this[u])this[b](null,0)}else if(this[x].length===1)this[O](this[x].pop());else{const t=this[x];this[x]=[];o(this[l],t,this[k],(t,e)=>this[b](t,e))}}[c](){if(this[a]&&typeof this[l]==="number"){const t=this[l];this[l]=null;s.close(t,t=>t?this.emit("error",t):this.emit("close"))}}}class WriteStreamSync extends WriteStream{[S](){let t;if(this[R]&&this[h]==="r+"){try{t=s.openSync(this[E],this[h],this[v])}catch(t){if(t.code==="ENOENT"){this[h]="w";return this[S]()}else throw t}}else t=s.openSync(this[E],this[h],this[v]);this[_](null,t)}[c](){if(this[a]&&typeof this[l]==="number"){const t=this[l];this[l]=null;s.closeSync(t);this.emit("close")}}[O](t){let e=true;try{this[b](null,s.writeSync(this[l],t,0,t.length,this[k]));e=false}finally{if(e)try{this[c]()}catch(t){}}}}e.ReadStream=ReadStream;e.ReadStreamSync=ReadStreamSync;e.WriteStream=WriteStream;e.WriteStreamSync=WriteStreamSync},1855:(t,e,r)=>{"use strict";const n=r(464);t.exports=(async(t,e,{concurrency:r=Infinity,stopOnError:i=true}={})=>{return new Promise((s,o)=>{if(typeof e!=="function"){throw new TypeError("Mapper function is required")}if(!((Number.isSafeInteger(r)||r===Infinity)&&r>=1)){throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${r}\` (${typeof r})`)}const a=[];const c=[];const u=t[Symbol.iterator]();let l=false;let f=false;let h=0;let p=0;const d=()=>{if(l){return}const t=u.next();const r=p;p++;if(t.done){f=true;if(h===0){if(!i&&c.length!==0){o(new n(c))}else{s(a)}}return}h++;(async()=>{try{const n=await t.value;a[r]=await e(n,r);h--;d()}catch(t){if(i){l=true;o(t)}else{c.push(t);h--;d()}}})()};for(let t=0;t{const n=r(2357);const i=r(5622);const s=r(5747);let o=undefined;try{o=r(7966)}catch(t){}const a={nosort:true,silent:true};let c=0;const u=process.platform==="win32";const l=t=>{const e=["unlink","chmod","stat","lstat","rmdir","readdir"];e.forEach(e=>{t[e]=t[e]||s[e];e=e+"Sync";t[e]=t[e]||s[e]});t.maxBusyTries=t.maxBusyTries||3;t.emfileWait=t.emfileWait||1e3;if(t.glob===false){t.disableGlob=true}if(t.disableGlob!==true&&o===undefined){throw Error("glob dependency not found, set `options.disableGlob = true` if intentional")}t.disableGlob=t.disableGlob||false;t.glob=t.glob||a};const f=(t,e,r)=>{if(typeof e==="function"){r=e;e={}}n(t,"rimraf: missing path");n.equal(typeof t,"string","rimraf: path should be a string");n.equal(typeof r,"function","rimraf: callback function required");n(e,"rimraf: invalid options argument provided");n.equal(typeof e,"object","rimraf: options should be object");l(e);let i=0;let s=null;let a=0;const u=t=>{s=s||t;if(--a===0)r(s)};const f=(t,n)=>{if(t)return r(t);a=n.length;if(a===0)return r();n.forEach(t=>{const r=n=>{if(n){if((n.code==="EBUSY"||n.code==="ENOTEMPTY"||n.code==="EPERM")&&ih(t,e,r),i*100)}if(n.code==="EMFILE"&&ch(t,e,r),c++)}if(n.code==="ENOENT")n=null}c=0;u(n)};h(t,e,r)})};if(e.disableGlob||!o.hasMagic(t))return f(null,[t]);e.lstat(t,(r,n)=>{if(!r)return f(null,[t]);o(t,e.glob,f)})};const h=(t,e,r)=>{n(t);n(e);n(typeof r==="function");e.lstat(t,(n,i)=>{if(n&&n.code==="ENOENT")return r(null);if(n&&n.code==="EPERM"&&u)p(t,e,n,r);if(i&&i.isDirectory())return y(t,e,n,r);e.unlink(t,n=>{if(n){if(n.code==="ENOENT")return r(null);if(n.code==="EPERM")return u?p(t,e,n,r):y(t,e,n,r);if(n.code==="EISDIR")return y(t,e,n,r)}return r(n)})})};const p=(t,e,r,i)=>{n(t);n(e);n(typeof i==="function");e.chmod(t,438,n=>{if(n)i(n.code==="ENOENT"?null:r);else e.stat(t,(n,s)=>{if(n)i(n.code==="ENOENT"?null:r);else if(s.isDirectory())y(t,e,r,i);else e.unlink(t,i)})})};const d=(t,e,r)=>{n(t);n(e);try{e.chmodSync(t,438)}catch(t){if(t.code==="ENOENT")return;else throw r}let i;try{i=e.statSync(t)}catch(t){if(t.code==="ENOENT")return;else throw r}if(i.isDirectory())g(t,e,r);else e.unlinkSync(t)};const y=(t,e,r,i)=>{n(t);n(e);n(typeof i==="function");e.rmdir(t,n=>{if(n&&(n.code==="ENOTEMPTY"||n.code==="EEXIST"||n.code==="EPERM"))v(t,e,i);else if(n&&n.code==="ENOTDIR")i(r);else i(n)})};const v=(t,e,r)=>{n(t);n(e);n(typeof r==="function");e.readdir(t,(n,s)=>{if(n)return r(n);let o=s.length;if(o===0)return e.rmdir(t,r);let a;s.forEach(n=>{f(i.join(t,n),e,n=>{if(a)return;if(n)return r(a=n);if(--o===0)e.rmdir(t,r)})})})};const m=(t,e)=>{e=e||{};l(e);n(t,"rimraf: missing path");n.equal(typeof t,"string","rimraf: path should be a string");n(e,"rimraf: missing options");n.equal(typeof e,"object","rimraf: options should be object");let r;if(e.disableGlob||!o.hasMagic(t)){r=[t]}else{try{e.lstatSync(t);r=[t]}catch(n){r=o.sync(t,e.glob)}}if(!r.length)return;for(let t=0;t{n(t);n(e);try{e.rmdirSync(t)}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR")throw r;if(n.code==="ENOTEMPTY"||n.code==="EEXIST"||n.code==="EPERM")_(t,e)}};const _=(t,e)=>{n(t);n(e);e.readdirSync(t).forEach(r=>m(i.join(t,r),e));const r=u?100:1;let s=0;do{let n=true;try{const i=e.rmdirSync(t,e);n=false;return i}finally{if(++s{"use strict";const n=r(6417);const i=r(8351);const s=["sha256","sha384","sha512"];const o=/^[a-z0-9+/]+(?:=?=?)$/i;const a=/^([a-z0-9]+)-([^?]+)([?\S*]*)$/;const c=/^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/;const u=/^[\x21-\x7E]+$/;const l={algorithms:["sha512"],error:false,options:[],pickAlgorithm:getPrioritizedHash,sep:" ",single:false,strict:false};const f=(t={})=>({...l,...t});const h=t=>!t||!t.length?"":`?${t.join("?")}`;const p=Symbol("_onEnd");const d=Symbol("_getOptions");class IntegrityStream extends i{constructor(t){super();this.size=0;this.opts=t;this[d]();const{algorithms:e=l.algorithms}=t;this.algorithms=Array.from(new Set(e.concat(this.algorithm?[this.algorithm]:[])));this.hashes=this.algorithms.map(n.createHash)}[d](){const{integrity:t,size:e,options:r}={...l,...this.opts};this.sri=t?parse(t,this.opts):null;this.expectedSize=e;this.goodSri=this.sri?!!Object.keys(this.sri).length:false;this.algorithm=this.goodSri?this.sri.pickAlgorithm(this.opts):null;this.digests=this.goodSri?this.sri[this.algorithm]:null;this.optString=h(r)}emit(t,e){if(t==="end")this[p]();return super.emit(t,e)}write(t){this.size+=t.length;this.hashes.forEach(e=>e.update(t));return super.write(t)}[p](){if(!this.goodSri){this[d]()}const t=parse(this.hashes.map((t,e)=>{return`${this.algorithms[e]}-${t.digest("base64")}${this.optString}`}).join(" "),this.opts);const e=this.goodSri&&t.match(this.sri,this.opts);if(typeof this.expectedSize==="number"&&this.size!==this.expectedSize){const t=new Error(`stream size mismatch when checking ${this.sri}.\n Wanted: ${this.expectedSize}\n Found: ${this.size}`);t.code="EBADSIZE";t.found=this.size;t.expected=this.expectedSize;t.sri=this.sri;this.emit("error",t)}else if(this.sri&&!e){const e=new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${t}. (${this.size} bytes)`);e.code="EINTEGRITY";e.found=t;e.expected=this.digests;e.algorithm=this.algorithm;e.sri=this.sri;this.emit("error",e)}else{this.emit("size",this.size);this.emit("integrity",t);e&&this.emit("verified",e)}}}class Hash{get isHash(){return true}constructor(t,e){e=f(e);const r=!!e.strict;this.source=t.trim();this.digest="";this.algorithm="";this.options=[];const n=this.source.match(r?c:a);if(!n){return}if(r&&!s.some(t=>t===n[1])){return}this.algorithm=n[1];this.digest=n[2];const i=n[3];if(i){this.options=i.slice(1).split("?")}}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(t){t=f(t);if(t.strict){if(!(s.some(t=>t===this.algorithm)&&this.digest.match(o)&&this.options.every(t=>t.match(u)))){return""}}const e=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${e}`}}class Integrity{get isIntegrity(){return true}toJSON(){return this.toString()}isEmpty(){return Object.keys(this).length===0}toString(t){t=f(t);let e=t.sep||" ";if(t.strict){e=e.replace(/\S+/g," ")}return Object.keys(this).map(r=>{return this[r].map(e=>{return Hash.prototype.toString.call(e,t)}).filter(t=>t.length).join(e)}).filter(t=>t.length).join(e)}concat(t,e){e=f(e);const r=typeof t==="string"?t:stringify(t,e);return parse(`${this.toString(e)} ${r}`,e)}hexDigest(){return parse(this,{single:true}).hexDigest()}merge(t,e){e=f(e);const r=parse(t,e);for(const t in r){if(this[t]){if(!this[t].find(e=>r[t].find(t=>e.digest===t.digest))){throw new Error("hashes do not match, cannot update integrity")}}else{this[t]=r[t]}}}match(t,e){e=f(e);const r=parse(t,e);const n=r.pickAlgorithm(e);return this[n]&&r[n]&&this[n].find(t=>r[n].find(e=>t.digest===e.digest))||false}pickAlgorithm(t){t=f(t);const e=t.pickAlgorithm;const r=Object.keys(this);return r.reduce((t,r)=>{return e(t,r)||t})}}t.exports.parse=parse;function parse(t,e){if(!t)return null;e=f(e);if(typeof t==="string"){return _parse(t,e)}else if(t.algorithm&&t.digest){const r=new Integrity;r[t.algorithm]=[t];return _parse(stringify(r,e),e)}else{return _parse(stringify(t,e),e)}}function _parse(t,e){if(e.single){return new Hash(t,e)}const r=t.trim().split(/\s+/).reduce((t,r)=>{const n=new Hash(r,e);if(n.algorithm&&n.digest){const e=n.algorithm;if(!t[e]){t[e]=[]}t[e].push(n)}return t},new Integrity);return r.isEmpty()?null:r}t.exports.stringify=stringify;function stringify(t,e){e=f(e);if(t.algorithm&&t.digest){return Hash.prototype.toString.call(t,e)}else if(typeof t==="string"){return stringify(parse(t,e),e)}else{return Integrity.prototype.toString.call(t,e)}}t.exports.fromHex=fromHex;function fromHex(t,e,r){r=f(r);const n=h(r.options);return parse(`${e}-${Buffer.from(t,"hex").toString("base64")}${n}`,r)}t.exports.fromData=fromData;function fromData(t,e){e=f(e);const r=e.algorithms;const i=h(e.options);return r.reduce((r,s)=>{const o=n.createHash(s).update(t).digest("base64");const a=new Hash(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){const t=a.algorithm;if(!r[t]){r[t]=[]}r[t].push(a)}return r},new Integrity)}t.exports.fromStream=fromStream;function fromStream(t,e){e=f(e);const r=integrityStream(e);return new Promise((e,n)=>{t.pipe(r);t.on("error",n);r.on("error",n);let i;r.on("integrity",t=>{i=t});r.on("end",()=>e(i));r.on("data",()=>{})})}t.exports.checkData=checkData;function checkData(t,e,r){r=f(r);e=parse(e,r);if(!e||!Object.keys(e).length){if(r.error){throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"})}else{return false}}const i=e.pickAlgorithm(r);const s=n.createHash(i).update(t).digest("base64");const o=parse({algorithm:i,digest:s});const a=o.match(e,r);if(a||!r.error){return a}else if(typeof r.size==="number"&&t.length!==r.size){const n=new Error(`data size mismatch when checking ${e}.\n Wanted: ${r.size}\n Found: ${t.length}`);n.code="EBADSIZE";n.found=t.length;n.expected=r.size;n.sri=e;throw n}else{const r=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${o}. (${t.length} bytes)`);r.code="EINTEGRITY";r.found=o;r.expected=e;r.algorithm=i;r.sri=e;throw r}}t.exports.checkStream=checkStream;function checkStream(t,e,r){r=f(r);r.integrity=e;e=parse(e,r);if(!e||!Object.keys(e).length){return Promise.reject(Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"}))}const n=integrityStream(r);return new Promise((e,r)=>{t.pipe(n);t.on("error",r);n.on("error",r);let i;n.on("verified",t=>{i=t});n.on("end",()=>e(i));n.on("data",()=>{})})}t.exports.integrityStream=integrityStream;function integrityStream(t={}){return new IntegrityStream(t)}t.exports.create=createIntegrity;function createIntegrity(t){t=f(t);const e=t.algorithms;const r=h(t.options);const i=e.map(n.createHash);return{update:function(t,e){i.forEach(r=>r.update(t,e));return this},digest:function(n){const s=e.reduce((e,n)=>{const s=i.shift().digest("base64");const o=new Hash(`${n}-${s}${r}`,t);if(o.algorithm&&o.digest){const t=o.algorithm;if(!e[t]){e[t]=[]}e[t].push(o)}return e},new Integrity);return s}}}const y=new Set(n.getHashes());const v=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>y.has(t));function getPrioritizedHash(t,e){return v.indexOf(t.toLowerCase())>=v.indexOf(e.toLowerCase())?t:e}},4091:t=>{"use strict";t.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next){yield t.value}}}},665:(t,e,r)=>{"use strict";t.exports=Yallist;Yallist.Node=Node;Yallist.create=Yallist;function Yallist(t){var e=this;if(!(e instanceof Yallist)){e=new Yallist}e.tail=null;e.head=null;e.length=0;if(t&&typeof t.forEach==="function"){t.forEach(function(t){e.push(t)})}else if(arguments.length>0){for(var r=0,n=arguments.length;r1){r=e}else if(this.head){n=this.head.next;r=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=0;n!==null;i++){r=t(r,n.value,i);n=n.next}return r};Yallist.prototype.reduceReverse=function(t,e){var r;var n=this.tail;if(arguments.length>1){r=e}else if(this.tail){n=this.tail.prev;r=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=this.length-1;n!==null;i--){r=t(r,n.value,i);n=n.prev}return r};Yallist.prototype.toArray=function(){var t=new Array(this.length);for(var e=0,r=this.head;r!==null;e++){t[e]=r.value;r=r.next}return t};Yallist.prototype.toArrayReverse=function(){var t=new Array(this.length);for(var e=0,r=this.tail;r!==null;e++){t[e]=r.value;r=r.prev}return t};Yallist.prototype.slice=function(t,e){e=e||this.length;if(e<0){e+=this.length}t=t||0;if(t<0){t+=this.length}var r=new Yallist;if(ethis.length){e=this.length}for(var n=0,i=this.head;i!==null&&nthis.length){e=this.length}for(var n=this.length,i=this.tail;i!==null&&n>e;n--){i=i.prev}for(;i!==null&&n>t;n--,i=i.prev){r.push(i.value)}return r};Yallist.prototype.splice=function(t,e,...r){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}for(var n=0,i=this.head;i!==null&&n{"use strict";t.exports=JSON.parse('{"Jw":{"k":"2","K":"5"}}')},2357:t=>{"use strict";t.exports=require("assert")},7303:t=>{"use strict";t.exports=require("async_hooks")},6417:t=>{"use strict";t.exports=require("crypto")},8614:t=>{"use strict";t.exports=require("events")},5747:t=>{"use strict";t.exports=require("fs")},2087:t=>{"use strict";t.exports=require("os")},5622:t=>{"use strict";t.exports=require("path")},2413:t=>{"use strict";t.exports=require("stream")},4304:t=>{"use strict";t.exports=require("string_decoder")},1669:t=>{"use strict";t.exports=require("util")}};var __webpack_module_cache__={};function __nccwpck_require__(t){if(__webpack_module_cache__[t]){return __webpack_module_cache__[t].exports}var e=__webpack_module_cache__[t]={exports:{}};var r=true;try{__webpack_modules__[t].call(e.exports,e,e.exports,__nccwpck_require__);r=false}finally{if(r)delete __webpack_module_cache__[t]}return e.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(7234)})(); \ No newline at end of file +module.exports=(()=>{var __webpack_modules__={3485:(t,e,r)=>{const{dirname:n}=r(5622);const{promisify:i}=r(1669);const{access:s,accessSync:o,copyFile:a,copyFileSync:c,unlink:u,unlinkSync:l,rename:f,renameSync:h}=r(5747);const p=i(s);const d=i(a);const y=i(u);const v=i(f);const m=r(7424);const g=async t=>{try{await p(t);return true}catch(t){return t.code!=="ENOENT"}};const _=t=>{try{o(t);return true}catch(t){return t.code!=="ENOENT"}};t.exports=(async(t,e,r={})=>{if(!t||!e){throw new TypeError("`source` and `destination` file required")}r={overwrite:true,...r};if(!r.overwrite&&await g(e)){throw new Error(`The destination file exists: ${e}`)}await m(n(e));try{await v(t,e)}catch(r){if(r.code==="EXDEV"){await d(t,e);await y(t)}else{throw r}}});t.exports.sync=((t,e,r={})=>{if(!t||!e){throw new TypeError("`source` and `destination` file required")}r={overwrite:true,...r};if(!r.overwrite&&_(e)){throw new Error(`The destination file exists: ${e}`)}m.sync(n(e));try{h(t,e)}catch(r){if(r.code==="EXDEV"){c(t,e);l(t)}else{throw r}}})},7424:(t,e,r)=>{const n=r(3430);const i=r(8693);const{mkdirpNative:s,mkdirpNativeSync:o}=r(9863);const{mkdirpManual:a,mkdirpManualSync:c}=r(4906);const{useNative:u,useNativeSync:l}=r(7721);const f=(t,e)=>{t=i(t);e=n(e);return u(e)?s(t,e):a(t,e)};const h=(t,e)=>{t=i(t);e=n(e);return l(e)?o(t,e):c(t,e)};f.sync=h;f.native=((t,e)=>s(i(t),n(e)));f.manual=((t,e)=>a(i(t),n(e)));f.nativeSync=((t,e)=>o(i(t),n(e)));f.manualSync=((t,e)=>c(i(t),n(e)));t.exports=f},7496:(t,e,r)=>{const{dirname:n}=r(5622);const i=(t,e,r=undefined)=>{if(r===e)return Promise.resolve();return t.statAsync(e).then(t=>t.isDirectory()?r:undefined,r=>r.code==="ENOENT"?i(t,n(e),e):undefined)};const s=(t,e,r=undefined)=>{if(r===e)return undefined;try{return t.statSync(e).isDirectory()?r:undefined}catch(r){return r.code==="ENOENT"?s(t,n(e),e):undefined}};t.exports={findMade:i,findMadeSync:s}},4906:(t,e,r)=>{const{dirname:n}=r(5622);const i=(t,e,r)=>{e.recursive=false;const s=n(t);if(s===t){return e.mkdirAsync(t,e).catch(t=>{if(t.code!=="EISDIR")throw t})}return e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return i(s,e).then(r=>i(t,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(t=>{if(t.isDirectory())return r;else throw n},()=>{throw n})})};const s=(t,e,r)=>{const i=n(t);e.recursive=false;if(i===t){try{return e.mkdirSync(t,e)}catch(t){if(t.code!=="EISDIR")throw t;else return}}try{e.mkdirSync(t,e);return r||t}catch(n){if(n.code==="ENOENT")return s(t,e,s(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(t){throw n}}};t.exports={mkdirpManual:i,mkdirpManualSync:s}},9863:(t,e,r)=>{const{dirname:n}=r(5622);const{findMade:i,findMadeSync:s}=r(7496);const{mkdirpManual:o,mkdirpManualSync:a}=r(4906);const c=(t,e)=>{e.recursive=true;const r=n(t);if(r===t)return e.mkdirAsync(t,e);return i(e,t).then(r=>e.mkdirAsync(t,e).then(()=>r).catch(r=>{if(r.code==="ENOENT")return o(t,e);else throw r}))};const u=(t,e)=>{e.recursive=true;const r=n(t);if(r===t)return e.mkdirSync(t,e);const i=s(e,t);try{e.mkdirSync(t,e);return i}catch(r){if(r.code==="ENOENT")return a(t,e);else throw r}};t.exports={mkdirpNative:c,mkdirpNativeSync:u}},3430:(t,e,r)=>{const{promisify:n}=r(1669);const i=r(5747);const s=t=>{if(!t)t={mode:511,fs:i};else if(typeof t==="object")t={mode:511,fs:i,...t};else if(typeof t==="number")t={mode:t,fs:i};else if(typeof t==="string")t={mode:parseInt(t,8),fs:i};else throw new TypeError("invalid options argument");t.mkdir=t.mkdir||t.fs.mkdir||i.mkdir;t.mkdirAsync=n(t.mkdir);t.stat=t.stat||t.fs.stat||i.stat;t.statAsync=n(t.stat);t.statSync=t.statSync||t.fs.statSync||i.statSync;t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||i.mkdirSync;return t};t.exports=s},8693:(t,e,r)=>{const n=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const{resolve:i,parse:s}=r(5622);const o=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=i(t);if(n==="win32"){const e=/[*|"<>?:]/;const{root:r}=s(t);if(e.test(t.substr(r.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};t.exports=o},7721:(t,e,r)=>{const n=r(5747);const i=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const s=i.replace(/^v/,"").split(".");const o=+s[0]>10||+s[0]===10&&+s[1]>=12;const a=!o?()=>false:t=>t.mkdir===n.mkdir;const c=!o?()=>false:t=>t.mkdirSync===n.mkdirSync;t.exports={useNative:a,useNativeSync:c}},464:(t,e,r)=>{"use strict";const n=r(6342);const i=r(9616);const s=t=>t.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g,"");class AggregateError extends Error{constructor(t){if(!Array.isArray(t)){throw new TypeError(`Expected input to be an Array, got ${typeof t}`)}t=[...t].map(t=>{if(t instanceof Error){return t}if(t!==null&&typeof t==="object"){return Object.assign(new Error(t.message),t)}return new Error(t)});let e=t.map(t=>{return typeof t.stack==="string"?s(i(t.stack)):String(t)}).join("\n");e="\n"+n(e,4);super(e);this.name="AggregateError";Object.defineProperty(this,"_errors",{value:t})}*[Symbol.iterator](){for(const t of this._errors){yield t}}}t.exports=AggregateError},6342:t=>{"use strict";t.exports=((t,e=1,r)=>{r={indent:" ",includeEmptyLines:false,...r};if(typeof t!=="string"){throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``)}if(typeof e!=="number"){throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``)}if(typeof r.indent!=="string"){throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``)}if(e===0){return t}const n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))})},587:t=>{"use strict";t.exports=balanced;function balanced(t,e,r){if(t instanceof RegExp)t=maybeMatch(t,r);if(e instanceof RegExp)e=maybeMatch(e,r);var n=range(t,e,r);return n&&{start:n[0],end:n[1],pre:r.slice(0,n[0]),body:r.slice(n[0]+t.length,n[1]),post:r.slice(n[1]+e.length)}}function maybeMatch(t,e){var r=e.match(t);return r?r[0]:null}balanced.range=range;function range(t,e,r){var n,i,s,o,a;var c=r.indexOf(t);var u=r.indexOf(e,c+1);var l=c;if(c>=0&&u>0){n=[];s=r.length;while(l>=0&&!a){if(l==c){n.push(l);c=r.indexOf(t,l+1)}else if(n.length==1){a=[n.pop(),u]}else{i=n.pop();if(i=0?c:u}if(n.length){a=[s,o]}}return a}},5801:t=>{"use strict";t.exports=function(t){var e=t._SomePromiseArray;function any(t){var r=new e(t);var n=r.promise();r.setHowMany(1);r.setUnwrap();r.init();return n}t.any=function(t){return any(t)};t.prototype.any=function(){return any(this)}}},9952:(t,e,r)=>{"use strict";var n;try{throw new Error}catch(t){n=t}var i=r(7254);var s=r(3172);function Async(){this._customScheduler=false;this._isTickUsed=false;this._lateQueue=new s(16);this._normalQueue=new s(16);this._haveDrainedQueues=false;var t=this;this.drainQueues=function(){t._drainQueues()};this._schedule=i}Async.prototype.setScheduler=function(t){var e=this._schedule;this._schedule=t;this._customScheduler=true;return e};Async.prototype.hasCustomScheduler=function(){return this._customScheduler};Async.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues};Async.prototype.fatalError=function(t,e){if(e){process.stderr.write("Fatal "+(t instanceof Error?t.stack:t)+"\n");process.exit(2)}else{this.throwLater(t)}};Async.prototype.throwLater=function(t,e){if(arguments.length===1){e=t;t=function(){throw e}}if(typeof setTimeout!=="undefined"){setTimeout(function(){t(e)},0)}else try{this._schedule(function(){t(e)})}catch(t){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}};function AsyncInvokeLater(t,e,r){this._lateQueue.push(t,e,r);this._queueTick()}function AsyncInvoke(t,e,r){this._normalQueue.push(t,e,r);this._queueTick()}function AsyncSettlePromises(t){this._normalQueue._pushOne(t);this._queueTick()}Async.prototype.invokeLater=AsyncInvokeLater;Async.prototype.invoke=AsyncInvoke;Async.prototype.settlePromises=AsyncSettlePromises;function _drainQueue(t){while(t.length()>0){_drainQueueStep(t)}}function _drainQueueStep(t){var e=t.shift();if(typeof e!=="function"){e._settlePromises()}else{var r=t.shift();var n=t.shift();e.call(r,n)}}Async.prototype._drainQueues=function(){_drainQueue(this._normalQueue);this._reset();this._haveDrainedQueues=true;_drainQueue(this._lateQueue)};Async.prototype._queueTick=function(){if(!this._isTickUsed){this._isTickUsed=true;this._schedule(this.drainQueues)}};Async.prototype._reset=function(){this._isTickUsed=false};t.exports=Async;t.exports.firstLineError=n},1273:t=>{"use strict";t.exports=function(t,e,r,n){var i=false;var s=function(t,e){this._reject(e)};var o=function(t,e){e.promiseRejectionQueued=true;e.bindingPromise._then(s,s,null,this,t)};var a=function(t,e){if((this._bitField&50397184)===0){this._resolveCallback(e.target)}};var c=function(t,e){if(!e.promiseRejectionQueued)this._reject(t)};t.prototype.bind=function(s){if(!i){i=true;t.prototype._propagateFrom=n.propagateFromFunction();t.prototype._boundValue=n.boundValueFunction()}var u=r(s);var l=new t(e);l._propagateFrom(this,1);var f=this._target();l._setBoundTo(u);if(u instanceof t){var h={promiseRejectionQueued:false,promise:l,target:f,bindingPromise:u};f._then(e,o,undefined,l,h);u._then(a,c,undefined,l,h);l._setOnCancel(u)}else{l._resolveCallback(f)}return l};t.prototype._setBoundTo=function(t){if(t!==undefined){this._bitField=this._bitField|2097152;this._boundTo=t}else{this._bitField=this._bitField&~2097152}};t.prototype._isBound=function(){return(this._bitField&2097152)===2097152};t.bind=function(e,r){return t.resolve(r).bind(e)}}},5229:(t,e,r)=>{"use strict";var n;if(typeof Promise!=="undefined")n=Promise;function noConflict(){try{if(Promise===i)Promise=n}catch(t){}return i}var i=r(5175)();i.noConflict=noConflict;t.exports=i},8779:(t,e,r)=>{"use strict";var n=Object.create;if(n){var i=n(null);var s=n(null);i[" size"]=s[" size"]=0}t.exports=function(t){var e=r(6587);var n=e.canEvaluate;var o=e.isIdentifier;var a;var c;if(true){var u=function(t){return new Function("ensureMethod"," \n return function(obj) { \n 'use strict' \n var len = this.length; \n ensureMethod(obj, 'methodName'); \n switch(len) { \n case 1: return obj.methodName(this[0]); \n case 2: return obj.methodName(this[0], this[1]); \n case 3: return obj.methodName(this[0], this[1], this[2]); \n case 0: return obj.methodName(); \n default: \n return obj.methodName.apply(obj, this); \n } \n }; \n ".replace(/methodName/g,t))(ensureMethod)};var l=function(t){return new Function("obj"," \n 'use strict'; \n return obj.propertyName; \n ".replace("propertyName",t))};var f=function(t,e,r){var n=r[t];if(typeof n!=="function"){if(!o(t)){return null}n=e(t);r[t]=n;r[" size"]++;if(r[" size"]>512){var i=Object.keys(r);for(var s=0;s<256;++s)delete r[i[s]];r[" size"]=i.length-256}}return n};a=function(t){return f(t,u,i)};c=function(t){return f(t,l,s)}}function ensureMethod(r,n){var i;if(r!=null)i=r[n];if(typeof i!=="function"){var s="Object "+e.classString(r)+" has no method '"+e.toString(n)+"'";throw new t.TypeError(s)}return i}function caller(t){var e=this.pop();var r=ensureMethod(t,e);return r.apply(t,this)}t.prototype.call=function(t){var e=arguments.length;var r=new Array(Math.max(e-1,0));for(var i=1;i{"use strict";t.exports=function(t,e,n,i){var s=r(6587);var o=s.tryCatch;var a=s.errorObj;var c=t._async;t.prototype["break"]=t.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");var t=this;var e=t;while(t._isCancellable()){if(!t._cancelBy(e)){if(e._isFollowing()){e._followee().cancel()}else{e._cancelBranched()}break}var r=t._cancellationParent;if(r==null||!r._isCancellable()){if(t._isFollowing()){t._followee().cancel()}else{t._cancelBranched()}break}else{if(t._isFollowing())t._followee().cancel();t._setWillBeCancelled();e=t;t=r}}};t.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--};t.prototype._enoughBranchesHaveCancelled=function(){return this._branchesRemainingToCancel===undefined||this._branchesRemainingToCancel<=0};t.prototype._cancelBy=function(t){if(t===this){this._branchesRemainingToCancel=0;this._invokeOnCancel();return true}else{this._branchHasCancelled();if(this._enoughBranchesHaveCancelled()){this._invokeOnCancel();return true}}return false};t.prototype._cancelBranched=function(){if(this._enoughBranchesHaveCancelled()){this._cancel()}};t.prototype._cancel=function(){if(!this._isCancellable())return;this._setCancelled();c.invoke(this._cancelPromises,this,undefined)};t.prototype._cancelPromises=function(){if(this._length()>0)this._settlePromises()};t.prototype._unsetOnCancel=function(){this._onCancelField=undefined};t.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()};t.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()};t.prototype._doInvokeOnCancel=function(t,e){if(s.isArray(t)){for(var r=0;r{"use strict";t.exports=function(t){var e=r(6587);var n=r(9048).keys;var i=e.tryCatch;var s=e.errorObj;function catchFilter(r,o,a){return function(c){var u=a._boundValue();t:for(var l=0;l{"use strict";t.exports=function(t){var e=false;var r=[];t.prototype._promiseCreated=function(){};t.prototype._pushContext=function(){};t.prototype._popContext=function(){return null};t._peekContext=t.prototype._peekContext=function(){};function Context(){this._trace=new Context.CapturedTrace(peekContext())}Context.prototype._pushContext=function(){if(this._trace!==undefined){this._trace._promiseCreated=null;r.push(this._trace)}};Context.prototype._popContext=function(){if(this._trace!==undefined){var t=r.pop();var e=t._promiseCreated;t._promiseCreated=null;return e}return null};function createContext(){if(e)return new Context}function peekContext(){var t=r.length-1;if(t>=0){return r[t]}return undefined}Context.CapturedTrace=null;Context.create=createContext;Context.deactivateLongStackTraces=function(){};Context.activateLongStackTraces=function(){var r=t.prototype._pushContext;var n=t.prototype._popContext;var i=t._peekContext;var s=t.prototype._peekContext;var o=t.prototype._promiseCreated;Context.deactivateLongStackTraces=function(){t.prototype._pushContext=r;t.prototype._popContext=n;t._peekContext=i;t.prototype._peekContext=s;t.prototype._promiseCreated=o;e=false};e=true;t.prototype._pushContext=Context.prototype._pushContext;t.prototype._popContext=Context.prototype._popContext;t._peekContext=t.prototype._peekContext=peekContext;t.prototype._promiseCreated=function(){var t=this._peekContext();if(t&&t._promiseCreated==null)t._promiseCreated=this}};return Context}},4776:(t,e,r)=>{"use strict";t.exports=function(t,e,n,i){var s=t._async;var o=r(9640).Warning;var a=r(6587);var c=r(9048);var u=a.canAttachTrace;var l;var f;var h=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/;var p=/\((?:timers\.js):\d+:\d+\)/;var d=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/;var y=null;var v=null;var m=false;var g;var _=!!(a.env("BLUEBIRD_DEBUG")!=0&&(false||a.env("BLUEBIRD_DEBUG")||a.env("NODE_ENV")==="development"));var w=!!(a.env("BLUEBIRD_WARNINGS")!=0&&(_||a.env("BLUEBIRD_WARNINGS")));var b=!!(a.env("BLUEBIRD_LONG_STACK_TRACES")!=0&&(_||a.env("BLUEBIRD_LONG_STACK_TRACES")));var S=a.env("BLUEBIRD_W_FORGOTTEN_RETURN")!=0&&(w||!!a.env("BLUEBIRD_W_FORGOTTEN_RETURN"));var E;(function(){var e=[];function unhandledRejectionCheck(){for(var t=0;t0};t.prototype._setRejectionIsUnhandled=function(){this._bitField=this._bitField|1048576};t.prototype._unsetRejectionIsUnhandled=function(){this._bitField=this._bitField&~1048576;if(this._isUnhandledRejectionNotified()){this._unsetUnhandledRejectionIsNotified();this._notifyUnhandledRejectionIsHandled()}};t.prototype._isRejectionUnhandled=function(){return(this._bitField&1048576)>0};t.prototype._warn=function(t,e,r){return warn(t,e,r||this)};t.onPossiblyUnhandledRejection=function(e){var r=t._getContext();f=a.contextBind(r,e)};t.onUnhandledRejectionHandled=function(e){var r=t._getContext();l=a.contextBind(r,e)};var k=function(){};t.longStackTraces=function(){if(s.haveItemsQueued()&&!N.longStackTraces){throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n")}if(!N.longStackTraces&&longStackTracesIsSupported()){var r=t.prototype._captureStackTrace;var n=t.prototype._attachExtraTrace;var i=t.prototype._dereferenceTrace;N.longStackTraces=true;k=function(){if(s.haveItemsQueued()&&!N.longStackTraces){throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n")}t.prototype._captureStackTrace=r;t.prototype._attachExtraTrace=n;t.prototype._dereferenceTrace=i;e.deactivateLongStackTraces();N.longStackTraces=false};t.prototype._captureStackTrace=longStackTracesCaptureStackTrace;t.prototype._attachExtraTrace=longStackTracesAttachExtraTrace;t.prototype._dereferenceTrace=longStackTracesDereferenceTrace;e.activateLongStackTraces()}};t.hasLongStackTraces=function(){return N.longStackTraces&&longStackTracesIsSupported()};var x={unhandledrejection:{before:function(){var t=a.global.onunhandledrejection;a.global.onunhandledrejection=null;return t},after:function(t){a.global.onunhandledrejection=t}},rejectionhandled:{before:function(){var t=a.global.onrejectionhandled;a.global.onrejectionhandled=null;return t},after:function(t){a.global.onrejectionhandled=t}}};var C=function(){var t=function(t,e){if(t){var r;try{r=t.before();return!a.global.dispatchEvent(e)}finally{t.after(r)}}else{return!a.global.dispatchEvent(e)}};try{if(typeof CustomEvent==="function"){var e=new CustomEvent("CustomEvent");a.global.dispatchEvent(e);return function(e,r){e=e.toLowerCase();var n={detail:r,cancelable:true};var i=new CustomEvent(e,n);c.defineProperty(i,"promise",{value:r.promise});c.defineProperty(i,"reason",{value:r.reason});return t(x[e],i)}}else if(typeof Event==="function"){var e=new Event("CustomEvent");a.global.dispatchEvent(e);return function(e,r){e=e.toLowerCase();var n=new Event(e,{cancelable:true});n.detail=r;c.defineProperty(n,"promise",{value:r.promise});c.defineProperty(n,"reason",{value:r.reason});return t(x[e],n)}}else{var e=document.createEvent("CustomEvent");e.initCustomEvent("testingtheevent",false,true,{});a.global.dispatchEvent(e);return function(e,r){e=e.toLowerCase();var n=document.createEvent("CustomEvent");n.initCustomEvent(e,false,true,r);return t(x[e],n)}}}catch(t){}return function(){return false}}();var A=function(){if(a.isNode){return function(){return process.emit.apply(process,arguments)}}else{if(!a.global){return function(){return false}}return function(t){var e="on"+t.toLowerCase();var r=a.global[e];if(!r)return false;r.apply(a.global,[].slice.call(arguments,1));return true}}}();function generatePromiseLifecycleEventObject(t,e){return{promise:e}}var T={promiseCreated:generatePromiseLifecycleEventObject,promiseFulfilled:generatePromiseLifecycleEventObject,promiseRejected:generatePromiseLifecycleEventObject,promiseResolved:generatePromiseLifecycleEventObject,promiseCancelled:generatePromiseLifecycleEventObject,promiseChained:function(t,e,r){return{promise:e,child:r}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,r){return{reason:e,promise:r}},rejectionHandled:generatePromiseLifecycleEventObject};var P=function(t){var e=false;try{e=A.apply(null,arguments)}catch(t){s.throwLater(t);e=true}var r=false;try{r=C(t,T[t].apply(null,arguments))}catch(t){s.throwLater(t);r=true}return r||e};t.config=function(e){e=Object(e);if("longStackTraces"in e){if(e.longStackTraces){t.longStackTraces()}else if(!e.longStackTraces&&t.hasLongStackTraces()){k()}}if("warnings"in e){var r=e.warnings;N.warnings=!!r;S=N.warnings;if(a.isObject(r)){if("wForgottenReturn"in r){S=!!r.wForgottenReturn}}}if("cancellation"in e&&e.cancellation&&!N.cancellation){if(s.haveItemsQueued()){throw new Error("cannot enable cancellation after promises are in use")}t.prototype._clearCancellationData=cancellationClearCancellationData;t.prototype._propagateFrom=cancellationPropagateFrom;t.prototype._onCancel=cancellationOnCancel;t.prototype._setOnCancel=cancellationSetOnCancel;t.prototype._attachCancellationCallback=cancellationAttachCancellationCallback;t.prototype._execute=cancellationExecute;j=cancellationPropagateFrom;N.cancellation=true}if("monitoring"in e){if(e.monitoring&&!N.monitoring){N.monitoring=true;t.prototype._fireEvent=P}else if(!e.monitoring&&N.monitoring){N.monitoring=false;t.prototype._fireEvent=defaultFireEvent}}if("asyncHooks"in e&&a.nodeSupportsAsyncResource){var o=N.asyncHooks;var c=!!e.asyncHooks;if(o!==c){N.asyncHooks=c;if(c){n()}else{i()}}}return t};function defaultFireEvent(){return false}t.prototype._fireEvent=defaultFireEvent;t.prototype._execute=function(t,e,r){try{t(e,r)}catch(t){return t}};t.prototype._onCancel=function(){};t.prototype._setOnCancel=function(t){};t.prototype._attachCancellationCallback=function(t){};t.prototype._captureStackTrace=function(){};t.prototype._attachExtraTrace=function(){};t.prototype._dereferenceTrace=function(){};t.prototype._clearCancellationData=function(){};t.prototype._propagateFrom=function(t,e){};function cancellationExecute(t,e,r){var n=this;try{t(e,r,function(t){if(typeof t!=="function"){throw new TypeError("onCancel must be a function, got: "+a.toString(t))}n._attachCancellationCallback(t)})}catch(t){return t}}function cancellationAttachCancellationCallback(t){if(!this._isCancellable())return this;var e=this._onCancel();if(e!==undefined){if(a.isArray(e)){e.push(t)}else{this._setOnCancel([e,t])}}else{this._setOnCancel(t)}}function cancellationOnCancel(){return this._onCancelField}function cancellationSetOnCancel(t){this._onCancelField=t}function cancellationClearCancellationData(){this._cancellationParent=undefined;this._onCancelField=undefined}function cancellationPropagateFrom(t,e){if((e&1)!==0){this._cancellationParent=t;var r=t._branchesRemainingToCancel;if(r===undefined){r=0}t._branchesRemainingToCancel=r+1}if((e&2)!==0&&t._isBound()){this._setBoundTo(t._boundTo)}}function bindingPropagateFrom(t,e){if((e&2)!==0&&t._isBound()){this._setBoundTo(t._boundTo)}}var j=bindingPropagateFrom;function boundValueFunction(){var e=this._boundTo;if(e!==undefined){if(e instanceof t){if(e.isFulfilled()){return e.value()}else{return undefined}}}return e}function longStackTracesCaptureStackTrace(){this._trace=new CapturedTrace(this._peekContext())}function longStackTracesAttachExtraTrace(t,e){if(u(t)){var r=this._trace;if(r!==undefined){if(e)r=r._parent}if(r!==undefined){r.attachExtraTrace(t)}else if(!t.__stackCleaned__){var n=parseStackAndMessage(t);a.notEnumerableProp(t,"stack",n.message+"\n"+n.stack.join("\n"));a.notEnumerableProp(t,"__stackCleaned__",true)}}}function longStackTracesDereferenceTrace(){this._trace=undefined}function checkForgottenReturns(t,e,r,n,i){if(t===undefined&&e!==null&&S){if(i!==undefined&&i._returnedNonUndefined())return;if((n._bitField&65535)===0)return;if(r)r=r+" ";var s="";var o="";if(e._trace){var a=e._trace.stack.split("\n");var c=cleanStack(a);for(var u=c.length-1;u>=0;--u){var l=c[u];if(!p.test(l)){var f=l.match(d);if(f){s="at "+f[1]+":"+f[2]+":"+f[3]+" "}break}}if(c.length>0){var h=c[0];for(var u=0;u0){o="\n"+a[u-1]}break}}}}var y="a promise was created in a "+r+"handler "+s+"but was not returned from it, "+"see http://goo.gl/rRqMUw"+o;n._warn(y,true,e)}}function deprecated(t,e){var r=t+" is deprecated and will be removed in a future version.";if(e)r+=" Use "+e+" instead.";return warn(r)}function warn(e,r,n){if(!N.warnings)return;var i=new o(e);var s;if(r){n._attachExtraTrace(i)}else if(N.longStackTraces&&(s=t._peekContext())){s.attachExtraTrace(i)}else{var a=parseStackAndMessage(i);i.stack=a.message+"\n"+a.stack.join("\n")}if(!P("warning",i)){formatAndLogError(i,"",true)}}function reconstructStack(t,e){for(var r=0;r=0;--a){if(n[a]===s){o=a;break}}for(var a=o;a>=0;--a){var c=n[a];if(e[i]===c){e.pop();i--}else{break}}e=n}}function cleanStack(t){var e=[];for(var r=0;r0&&t.name!="SyntaxError"){e=e.slice(r)}return e}function parseStackAndMessage(t){var e=t.stack;var r=t.toString();e=typeof e==="string"&&e.length>0?stackFramesAsArray(t):[" (No stack trace)"];return{message:r,stack:t.name=="SyntaxError"?e:cleanStack(e)}}function formatAndLogError(t,e,r){if(typeof console!=="undefined"){var n;if(a.isObject(t)){var i=t.stack;n=e+v(i,t)}else{n=e+String(t)}if(typeof g==="function"){g(n,r)}else if(typeof console.log==="function"||typeof console.log==="object"){console.log(n)}}}function fireRejectionEvent(t,e,r,n){var i=false;try{if(typeof e==="function"){i=true;if(t==="rejectionHandled"){e(n)}else{e(r,n)}}}catch(t){s.throwLater(t)}if(t==="unhandledRejection"){if(!P(t,r,n)&&!i){formatAndLogError(r,"Unhandled rejection ")}}else{P(t,n)}}function formatNonError(t){var e;if(typeof t==="function"){e="[function "+(t.name||"anonymous")+"]"}else{e=t&&typeof t.toString==="function"?t.toString():a.toString(t);var r=/\[object [a-zA-Z0-9$_]+\]/;if(r.test(e)){try{var n=JSON.stringify(t);e=n}catch(t){}}if(e.length===0){e="(empty array)"}}return"(<"+snip(e)+">, no stack trace)"}function snip(t){var e=41;if(t.length=s){return}O=function(t){if(h.test(t))return true;var e=parseLineInfo(t);if(e){if(e.fileName===o&&(i<=e.line&&e.line<=s)){return true}}return false}}function CapturedTrace(t){this._parent=t;this._promisesCreated=0;var e=this._length=1+(t===undefined?0:t._length);R(this,CapturedTrace);if(e>32)this.uncycle()}a.inherits(CapturedTrace,Error);e.CapturedTrace=CapturedTrace;CapturedTrace.prototype.uncycle=function(){var t=this._length;if(t<2)return;var e=[];var r={};for(var n=0,i=this;i!==undefined;++n){e.push(i);i=i._parent}t=this._length=n;for(var n=t-1;n>=0;--n){var s=e[n].stack;if(r[s]===undefined){r[s]=n}}for(var n=0;n0){e[a-1]._parent=undefined;e[a-1]._length=1}e[n]._parent=undefined;e[n]._length=1;var c=n>0?e[n-1]:this;if(a=0;--l){e[l]._length=u;u++}return}}};CapturedTrace.prototype.attachExtraTrace=function(t){if(t.__stackCleaned__)return;this.uncycle();var e=parseStackAndMessage(t);var r=e.message;var n=[e.stack];var i=this;while(i!==undefined){n.push(cleanStack(i.stack.split("\n")));i=i._parent}removeCommonRoots(n);removeDuplicateOrEmptyJumps(n);a.notEnumerableProp(t,"stack",reconstructStack(r,n));a.notEnumerableProp(t,"__stackCleaned__",true)};var R=function stackDetection(){var t=/^\s*at\s*/;var e=function(t,e){if(typeof t==="string")return t;if(e.name!==undefined&&e.message!==undefined){return e.toString()}return formatNonError(e)};if(typeof Error.stackTraceLimit==="number"&&typeof Error.captureStackTrace==="function"){Error.stackTraceLimit+=6;y=t;v=e;var r=Error.captureStackTrace;O=function(t){return h.test(t)};return function(t,e){Error.stackTraceLimit+=6;r(t,e);Error.stackTraceLimit-=6}}var n=new Error;if(typeof n.stack==="string"&&n.stack.split("\n")[0].indexOf("stackDetection@")>=0){y=/@/;v=e;m=true;return function captureStackTrace(t){t.stack=(new Error).stack}}var i;try{throw new Error}catch(t){i="stack"in t}if(!("stack"in n)&&i&&typeof Error.stackTraceLimit==="number"){y=t;v=e;return function captureStackTrace(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6}}v=function(t,e){if(typeof t==="string")return t;if((typeof e==="object"||typeof e==="function")&&e.name!==undefined&&e.message!==undefined){return e.toString()}return formatNonError(e)};return null}([]);if(typeof console!=="undefined"&&typeof console.warn!=="undefined"){g=function(t){console.warn(t)};if(a.isNode&&process.stderr.isTTY){g=function(t,e){var r=e?"":"";console.warn(r+t+"\n")}}else if(!a.isNode&&typeof(new Error).stack==="string"){g=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}}}var N={warnings:w,longStackTraces:false,cancellation:false,monitoring:false,asyncHooks:false};if(b)t.longStackTraces();return{asyncHooks:function(){return N.asyncHooks},longStackTraces:function(){return N.longStackTraces},warnings:function(){return N.warnings},cancellation:function(){return N.cancellation},monitoring:function(){return N.monitoring},propagateFromFunction:function(){return j},boundValueFunction:function(){return boundValueFunction},checkForgottenReturns:checkForgottenReturns,setBounds:setBounds,warn:warn,deprecated:deprecated,CapturedTrace:CapturedTrace,fireDomEvent:C,fireGlobalEvent:A}}},8925:t=>{"use strict";t.exports=function(t){function returner(){return this.value}function thrower(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(e){if(e instanceof t)e.suppressUnhandledRejections();return this._then(returner,undefined,undefined,{value:e},undefined)};t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(thrower,undefined,undefined,{reason:t},undefined)};t.prototype.catchThrow=function(t){if(arguments.length<=1){return this._then(undefined,thrower,undefined,{reason:t},undefined)}else{var e=arguments[1];var r=function(){throw e};return this.caught(t,r)}};t.prototype.catchReturn=function(e){if(arguments.length<=1){if(e instanceof t)e.suppressUnhandledRejections();return this._then(undefined,returner,undefined,{value:e},undefined)}else{var r=arguments[1];if(r instanceof t)r.suppressUnhandledRejections();var n=function(){return r};return this.caught(e,n)}}}},5708:t=>{"use strict";t.exports=function(t,e){var r=t.reduce;var n=t.all;function promiseAllThis(){return n(this)}function PromiseMapSeries(t,n){return r(t,n,e,e)}t.prototype.each=function(t){return r(this,t,e,0)._then(promiseAllThis,undefined,undefined,this,undefined)};t.prototype.mapSeries=function(t){return r(this,t,e,e)};t.each=function(t,n){return r(t,n,e,0)._then(promiseAllThis,undefined,undefined,t,undefined)};t.mapSeries=PromiseMapSeries}},9640:(t,e,r)=>{"use strict";var n=r(9048);var i=n.freeze;var s=r(6587);var o=s.inherits;var a=s.notEnumerableProp;function subError(t,e){function SubError(r){if(!(this instanceof SubError))return new SubError(r);a(this,"message",typeof r==="string"?r:e);a(this,"name",t);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{Error.call(this)}}o(SubError,Error);return SubError}var c,u;var l=subError("Warning","warning");var f=subError("CancellationError","cancellation error");var h=subError("TimeoutError","timeout error");var p=subError("AggregateError","aggregate error");try{c=TypeError;u=RangeError}catch(t){c=subError("TypeError","type error");u=subError("RangeError","range error")}var d=("join pop push shift unshift slice filter forEach some "+"every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" ");for(var y=0;y{var e=function(){"use strict";return this===undefined}();if(e){t.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:e,propertyIsWritable:function(t,e){var r=Object.getOwnPropertyDescriptor(t,e);return!!(!r||r.writable||r.set)}}}else{var r={}.hasOwnProperty;var n={}.toString;var i={}.constructor.prototype;var s=function(t){var e=[];for(var n in t){if(r.call(t,n)){e.push(n)}}return e};var o=function(t,e){return{value:t[e]}};var a=function(t,e,r){t[e]=r.value;return t};var c=function(t){return t};var u=function(t){try{return Object(t).constructor.prototype}catch(t){return i}};var l=function(t){try{return n.call(t)==="[object Array]"}catch(t){return false}};t.exports={isArray:l,keys:s,names:s,defineProperty:a,getDescriptor:o,freeze:c,getPrototypeOf:u,isES5:e,propertyIsWritable:function(){return true}}}},3359:t=>{"use strict";t.exports=function(t,e){var r=t.map;t.prototype.filter=function(t,n){return r(this,t,n,e)};t.filter=function(t,n,i){return r(t,n,i,e)}}},1371:(t,e,r)=>{"use strict";t.exports=function(t,e,n){var i=r(6587);var s=t.CancellationError;var o=i.errorObj;var a=r(691)(n);function PassThroughHandlerContext(t,e,r){this.promise=t;this.type=e;this.handler=r;this.called=false;this.cancelPromise=null}PassThroughHandlerContext.prototype.isFinallyHandler=function(){return this.type===0};function FinallyHandlerCancelReaction(t){this.finallyHandler=t}FinallyHandlerCancelReaction.prototype._resultCancelled=function(){checkCancel(this.finallyHandler)};function checkCancel(t,e){if(t.cancelPromise!=null){if(arguments.length>1){t.cancelPromise._reject(e)}else{t.cancelPromise._cancel()}t.cancelPromise=null;return true}return false}function succeed(){return finallyHandler.call(this,this.promise._target()._settledValue())}function fail(t){if(checkCancel(this,t))return;o.e=t;return o}function finallyHandler(r){var i=this.promise;var a=this.handler;if(!this.called){this.called=true;var c=this.isFinallyHandler()?a.call(i._boundValue()):a.call(i._boundValue(),r);if(c===n){return c}else if(c!==undefined){i._setReturnedNonUndefined();var u=e(c,i);if(u instanceof t){if(this.cancelPromise!=null){if(u._isCancelled()){var l=new s("late cancellation observer");i._attachExtraTrace(l);o.e=l;return o}else if(u.isPending()){u._attachCancellationCallback(new FinallyHandlerCancelReaction(this))}}return u._then(succeed,fail,undefined,this,undefined)}}}if(i.isRejected()){checkCancel(this);o.e=r;return o}else{checkCancel(this);return r}}t.prototype._passThrough=function(t,e,r,n){if(typeof t!=="function")return this.then();return this._then(r,n,undefined,new PassThroughHandlerContext(this,e,t),undefined)};t.prototype.lastly=t.prototype["finally"]=function(t){return this._passThrough(t,0,finallyHandler,finallyHandler)};t.prototype.tap=function(t){return this._passThrough(t,1,finallyHandler)};t.prototype.tapCatch=function(e){var r=arguments.length;if(r===1){return this._passThrough(e,1,undefined,finallyHandler)}else{var n=new Array(r-1),s=0,o;for(o=0;o{"use strict";t.exports=function(t,e,n,i,s,o){var a=r(9640);var c=a.TypeError;var u=r(6587);var l=u.errorObj;var f=u.tryCatch;var h=[];function promiseFromYieldHandler(e,r,n){for(var s=0;s{"use strict";t.exports=function(t,e,n,i,s){var o=r(6587);var a=o.canEvaluate;var c=o.tryCatch;var u=o.errorObj;var l;if(true){if(a){var f=function(t){return new Function("value","holder"," \n 'use strict'; \n holder.pIndex = value; \n holder.checkFulfillment(this); \n ".replace(/Index/g,t))};var h=function(t){return new Function("promise","holder"," \n 'use strict'; \n holder.pIndex = promise; \n ".replace(/Index/g,t))};var p=function(e){var r=new Array(e);for(var n=0;n0&&typeof arguments[r]==="function"){s=arguments[r];if(true){if(r<=8&&a){var c=new t(i);c._captureStackTrace();var u=d[r-1];var f=new u(s);var h=y;for(var p=0;p{"use strict";t.exports=function(t,e,n,i,s,o){var a=r(6587);var c=a.tryCatch;var u=a.errorObj;var l=t._async;function MappingPromiseArray(e,r,n,i){this.constructor$(e);this._promise._captureStackTrace();var o=t._getContext();this._callback=a.contextBind(o,r);this._preservedValues=i===s?new Array(this.length()):null;this._limit=n;this._inFlight=0;this._queue=[];l.invoke(this._asyncInit,this,undefined);if(a.isArray(e)){for(var c=0;c=1){this._inFlight--;this._drainQueue();if(this._isResolved())return true}}else{if(l>=1&&this._inFlight>=l){n[r]=e;this._queue.push(r);return false}if(a!==null)a[r]=e;var f=this._promise;var h=this._callback;var p=f._boundValue();f._pushContext();var d=c(h).call(p,e,r,s);var y=f._popContext();o.checkForgottenReturns(d,y,a!==null?"Promise.filter":"Promise.map",f);if(d===u){this._reject(d.e);return true}var v=i(d,this._promise);if(v instanceof t){v=v._target();var m=v._bitField;if((m&50397184)===0){if(l>=1)this._inFlight++;n[r]=v;v._proxy(this,(r+1)*-1);return false}else if((m&33554432)!==0){d=v._value()}else if((m&16777216)!==0){this._reject(v._reason());return true}else{this._cancel();return true}}n[r]=d}var g=++this._totalResolved;if(g>=s){if(a!==null){this._filter(n,a)}else{this._resolve(n)}return true}return false};MappingPromiseArray.prototype._drainQueue=function(){var t=this._queue;var e=this._limit;var r=this._values;while(t.length>0&&this._inFlight=1?o:0;return new MappingPromiseArray(e,r,o,s).promise()}t.prototype.map=function(t,e){return map(this,t,e,null)};t.map=function(t,e,r,n){return map(t,e,r,n)}}},3303:(t,e,r)=>{"use strict";t.exports=function(t,e,n,i,s){var o=r(6587);var a=o.tryCatch;t.method=function(r){if(typeof r!=="function"){throw new t.TypeError("expecting a function but got "+o.classString(r))}return function(){var n=new t(e);n._captureStackTrace();n._pushContext();var i=a(r).apply(this,arguments);var o=n._popContext();s.checkForgottenReturns(i,o,"Promise.method",n);n._resolveFromSyncValue(i);return n}};t.attempt=t["try"]=function(r){if(typeof r!=="function"){return i("expecting a function but got "+o.classString(r))}var n=new t(e);n._captureStackTrace();n._pushContext();var c;if(arguments.length>1){s.deprecated("calling Promise.try with more than 1 argument");var u=arguments[1];var l=arguments[2];c=o.isArray(u)?a(r).apply(l,u):a(r).call(l,u)}else{c=a(r)()}var f=n._popContext();s.checkForgottenReturns(c,f,"Promise.try",n);n._resolveFromSyncValue(c);return n};t.prototype._resolveFromSyncValue=function(t){if(t===o.errorObj){this._rejectCallback(t.e,false)}else{this._resolveCallback(t,true)}}}},938:(t,e,r)=>{"use strict";var n=r(6587);var i=n.maybeWrapAsError;var s=r(9640);var o=s.OperationalError;var a=r(9048);function isUntypedError(t){return t instanceof Error&&a.getPrototypeOf(t)===Error.prototype}var c=/^(?:name|message|stack|cause)$/;function wrapAsOperationalError(t){var e;if(isUntypedError(t)){e=new o(t);e.name=t.name;e.message=t.message;e.stack=t.stack;var r=a.keys(t);for(var i=0;i{"use strict";t.exports=function(t){var e=r(6587);var n=t._async;var i=e.tryCatch;var s=e.errorObj;function spreadAdapter(t,r){var o=this;if(!e.isArray(t))return successAdapter.call(o,t,r);var a=i(r).apply(o._boundValue(),[null].concat(t));if(a===s){n.throwLater(a.e)}}function successAdapter(t,e){var r=this;var o=r._boundValue();var a=t===undefined?i(e).call(o,null):i(e).call(o,null,t);if(a===s){n.throwLater(a.e)}}function errorAdapter(t,e){var r=this;if(!t){var o=new Error(t+"");o.cause=t;t=o}var a=i(e).call(r._boundValue(),t);if(a===s){n.throwLater(a.e)}}t.prototype.asCallback=t.prototype.nodeify=function(t,e){if(typeof t=="function"){var r=successAdapter;if(e!==undefined&&Object(e).spread){r=spreadAdapter}this._then(r,errorAdapter,undefined,this,t)}return this}}},5175:(t,e,r)=>{"use strict";t.exports=function(){var e=function(){return new _("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")};var n=function(){return new Promise.PromiseInspection(this._target())};var i=function(t){return Promise.reject(new _(t))};function Proxyable(){}var s={};var o=r(6587);o.setReflectHandler(n);var a=function(){var t=process.domain;if(t===undefined){return null}return t};var c=function(){return null};var u=function(){return{domain:a(),async:null}};var l=o.isNode&&o.nodeSupportsAsyncResource?r(7303).AsyncResource:null;var f=function(){return{domain:a(),async:new l("Bluebird::Promise")}};var h=o.isNode?u:c;o.notEnumerableProp(Promise,"_getContext",h);var p=function(){h=f;o.notEnumerableProp(Promise,"_getContext",f)};var d=function(){h=u;o.notEnumerableProp(Promise,"_getContext",u)};var y=r(9048);var v=r(9952);var m=new v;y.defineProperty(Promise,"_async",{value:m});var g=r(9640);var _=Promise.TypeError=g.TypeError;Promise.RangeError=g.RangeError;var w=Promise.CancellationError=g.CancellationError;Promise.TimeoutError=g.TimeoutError;Promise.OperationalError=g.OperationalError;Promise.RejectionError=g.OperationalError;Promise.AggregateError=g.AggregateError;var b=function(){};var S={};var E={};var k=r(3938)(Promise,b);var x=r(3003)(Promise,b,k,i,Proxyable);var C=r(1030)(Promise);var A=C.create;var T=r(4776)(Promise,C,p,d);var P=T.CapturedTrace;var j=r(1371)(Promise,k,E);var O=r(691)(E);var F=r(938);var R=o.errorObj;var N=o.tryCatch;function check(t,e){if(t==null||t.constructor!==Promise){throw new _("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n")}if(typeof e!=="function"){throw new _("expecting a function but got "+o.classString(e))}}function Promise(t){if(t!==b){check(this,t)}this._bitField=0;this._fulfillmentHandler0=undefined;this._rejectionHandler0=undefined;this._promise0=undefined;this._receiver0=undefined;this._resolveFromExecutor(t);this._promiseCreated();this._fireEvent("promiseCreated",this)}Promise.prototype.toString=function(){return"[object Promise]"};Promise.prototype.caught=Promise.prototype["catch"]=function(t){var e=arguments.length;if(e>1){var r=new Array(e-1),n=0,s;for(s=0;s0&&typeof t!=="function"&&typeof e!=="function"){var r=".then() only accepts functions but was passed: "+o.classString(t);if(arguments.length>1){r+=", "+o.classString(e)}this._warn(r)}return this._then(t,e,undefined,undefined,undefined)};Promise.prototype.done=function(t,e){var r=this._then(t,e,undefined,undefined,undefined);r._setIsFinal()};Promise.prototype.spread=function(t){if(typeof t!=="function"){return i("expecting a function but got "+o.classString(t))}return this.all()._then(t,undefined,undefined,S,undefined)};Promise.prototype.toJSON=function(){var t={isFulfilled:false,isRejected:false,fulfillmentValue:undefined,rejectionReason:undefined};if(this.isFulfilled()){t.fulfillmentValue=this.value();t.isFulfilled=true}else if(this.isRejected()){t.rejectionReason=this.reason();t.isRejected=true}return t};Promise.prototype.all=function(){if(arguments.length>0){this._warn(".all() was passed arguments but it does not take any")}return new x(this).promise()};Promise.prototype.error=function(t){return this.caught(o.originatesFromRejection,t)};Promise.getNewLibraryCopy=t.exports;Promise.is=function(t){return t instanceof Promise};Promise.fromNode=Promise.fromCallback=function(t){var e=new Promise(b);e._captureStackTrace();var r=arguments.length>1?!!Object(arguments[1]).multiArgs:false;var n=N(t)(F(e,r));if(n===R){e._rejectCallback(n.e,true)}if(!e._isFateSealed())e._setAsyncGuaranteed();return e};Promise.all=function(t){return new x(t).promise()};Promise.cast=function(t){var e=k(t);if(!(e instanceof Promise)){e=new Promise(b);e._captureStackTrace();e._setFulfilled();e._rejectionHandler0=t}return e};Promise.resolve=Promise.fulfilled=Promise.cast;Promise.reject=Promise.rejected=function(t){var e=new Promise(b);e._captureStackTrace();e._rejectCallback(t,true);return e};Promise.setScheduler=function(t){if(typeof t!=="function"){throw new _("expecting a function but got "+o.classString(t))}return m.setScheduler(t)};Promise.prototype._then=function(t,e,r,n,i){var s=i!==undefined;var a=s?i:new Promise(b);var c=this._target();var u=c._bitField;if(!s){a._propagateFrom(this,3);a._captureStackTrace();if(n===undefined&&(this._bitField&2097152)!==0){if(!((u&50397184)===0)){n=this._boundValue()}else{n=c===this?undefined:this._boundTo}}this._fireEvent("promiseChained",this,a)}var l=h();if(!((u&50397184)===0)){var f,p,d=c._settlePromiseCtx;if((u&33554432)!==0){p=c._rejectionHandler0;f=t}else if((u&16777216)!==0){p=c._fulfillmentHandler0;f=e;c._unsetRejectionIsUnhandled()}else{d=c._settlePromiseLateCancellationObserver;p=new w("late cancellation observer");c._attachExtraTrace(p);f=e}m.invoke(d,c,{handler:o.contextBind(l,f),promise:a,receiver:n,value:p})}else{c._addCallbacks(t,e,a,n,l)}return a};Promise.prototype._length=function(){return this._bitField&65535};Promise.prototype._isFateSealed=function(){return(this._bitField&117506048)!==0};Promise.prototype._isFollowing=function(){return(this._bitField&67108864)===67108864};Promise.prototype._setLength=function(t){this._bitField=this._bitField&-65536|t&65535};Promise.prototype._setFulfilled=function(){this._bitField=this._bitField|33554432;this._fireEvent("promiseFulfilled",this)};Promise.prototype._setRejected=function(){this._bitField=this._bitField|16777216;this._fireEvent("promiseRejected",this)};Promise.prototype._setFollowing=function(){this._bitField=this._bitField|67108864;this._fireEvent("promiseResolved",this)};Promise.prototype._setIsFinal=function(){this._bitField=this._bitField|4194304};Promise.prototype._isFinal=function(){return(this._bitField&4194304)>0};Promise.prototype._unsetCancelled=function(){this._bitField=this._bitField&~65536};Promise.prototype._setCancelled=function(){this._bitField=this._bitField|65536;this._fireEvent("promiseCancelled",this)};Promise.prototype._setWillBeCancelled=function(){this._bitField=this._bitField|8388608};Promise.prototype._setAsyncGuaranteed=function(){if(m.hasCustomScheduler())return;var t=this._bitField;this._bitField=t|(t&536870912)>>2^134217728};Promise.prototype._setNoAsyncGuarantee=function(){this._bitField=(this._bitField|536870912)&~134217728};Promise.prototype._receiverAt=function(t){var e=t===0?this._receiver0:this[t*4-4+3];if(e===s){return undefined}else if(e===undefined&&this._isBound()){return this._boundValue()}return e};Promise.prototype._promiseAt=function(t){return this[t*4-4+2]};Promise.prototype._fulfillmentHandlerAt=function(t){return this[t*4-4+0]};Promise.prototype._rejectionHandlerAt=function(t){return this[t*4-4+1]};Promise.prototype._boundValue=function(){};Promise.prototype._migrateCallback0=function(t){var e=t._bitField;var r=t._fulfillmentHandler0;var n=t._rejectionHandler0;var i=t._promise0;var o=t._receiverAt(0);if(o===undefined)o=s;this._addCallbacks(r,n,i,o,null)};Promise.prototype._migrateCallbackAt=function(t,e){var r=t._fulfillmentHandlerAt(e);var n=t._rejectionHandlerAt(e);var i=t._promiseAt(e);var o=t._receiverAt(e);if(o===undefined)o=s;this._addCallbacks(r,n,i,o,null)};Promise.prototype._addCallbacks=function(t,e,r,n,i){var s=this._length();if(s>=65535-4){s=0;this._setLength(0)}if(s===0){this._promise0=r;this._receiver0=n;if(typeof t==="function"){this._fulfillmentHandler0=o.contextBind(i,t)}if(typeof e==="function"){this._rejectionHandler0=o.contextBind(i,e)}}else{var a=s*4-4;this[a+2]=r;this[a+3]=n;if(typeof t==="function"){this[a+0]=o.contextBind(i,t)}if(typeof e==="function"){this[a+1]=o.contextBind(i,e)}}this._setLength(s+1);return s};Promise.prototype._proxy=function(t,e){this._addCallbacks(undefined,undefined,e,t,null)};Promise.prototype._resolveCallback=function(t,r){if((this._bitField&117506048)!==0)return;if(t===this)return this._rejectCallback(e(),false);var n=k(t,this);if(!(n instanceof Promise))return this._fulfill(t);if(r)this._propagateFrom(n,2);var i=n._target();if(i===this){this._reject(e());return}var s=i._bitField;if((s&50397184)===0){var o=this._length();if(o>0)i._migrateCallback0(this);for(var a=1;a>>16)return;if(t===this){var n=e();this._attachExtraTrace(n);return this._reject(n)}this._setFulfilled();this._rejectionHandler0=t;if((r&65535)>0){if((r&134217728)!==0){this._settlePromises()}else{m.settlePromises(this)}this._dereferenceTrace()}};Promise.prototype._reject=function(t){var e=this._bitField;if((e&117506048)>>>16)return;this._setRejected();this._fulfillmentHandler0=t;if(this._isFinal()){return m.fatalError(t,o.isNode)}if((e&65535)>0){m.settlePromises(this)}else{this._ensurePossibleRejectionHandled()}};Promise.prototype._fulfillPromises=function(t,e){for(var r=1;r0){if((t&16842752)!==0){var r=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,r,t);this._rejectPromises(e,r)}else{var n=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,n,t);this._fulfillPromises(e,n)}this._setLength(0)}this._clearCancellationData()};Promise.prototype._settledValue=function(){var t=this._bitField;if((t&33554432)!==0){return this._rejectionHandler0}else if((t&16777216)!==0){return this._fulfillmentHandler0}};if(typeof Symbol!=="undefined"&&Symbol.toStringTag){y.defineProperty(Promise.prototype,Symbol.toStringTag,{get:function(){return"Object"}})}function deferResolve(t){this.promise._resolveCallback(t)}function deferReject(t){this.promise._rejectCallback(t,false)}Promise.defer=Promise.pending=function(){T.deprecated("Promise.defer","new Promise");var t=new Promise(b);return{promise:t,resolve:deferResolve,reject:deferReject}};o.notEnumerableProp(Promise,"_makeSelfResolutionError",e);r(3303)(Promise,b,k,i,T);r(1273)(Promise,b,k,T);r(7386)(Promise,x,i,T);r(8925)(Promise);r(7659)(Promise);r(9255)(Promise,x,k,b,m);Promise.Promise=Promise;Promise.version="3.7.2";r(8779)(Promise);r(2225)(Promise,i,b,k,Proxyable,T);r(2757)(Promise,x,i,k,b,T);r(733)(Promise);r(7632)(Promise,b);r(4519)(Promise,x,k,i);r(3741)(Promise,b,k,i);r(8773)(Promise,x,i,k,b,T);r(8741)(Promise,x,T);r(5566)(Promise,x,i);r(8329)(Promise,b,T);r(1904)(Promise,i,k,A,b,T);r(5801)(Promise);r(5708)(Promise,b);r(3359)(Promise,b);o.toFastProperties(Promise);o.toFastProperties(Promise.prototype);function fillTypes(t){var e=new Promise(b);e._fulfillmentHandler0=t;e._rejectionHandler0=t;e._promise0=t;e._receiver0=t}fillTypes({a:1});fillTypes({b:2});fillTypes({c:3});fillTypes(1);fillTypes(function(){});fillTypes(undefined);fillTypes(false);fillTypes(new Promise(b));T.setBounds(v.firstLineError,o.lastLineError);return Promise}},3003:(t,e,r)=>{"use strict";t.exports=function(t,e,n,i,s){var o=r(6587);var a=o.isArray;function toResolutionValue(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}function PromiseArray(r){var n=this._promise=new t(e);if(r instanceof t){n._propagateFrom(r,3);r.suppressUnhandledRejections()}n._setOnCancel(this);this._values=r;this._length=0;this._totalResolved=0;this._init(undefined,-2)}o.inherits(PromiseArray,s);PromiseArray.prototype.length=function(){return this._length};PromiseArray.prototype.promise=function(){return this._promise};PromiseArray.prototype._init=function init(e,r){var s=n(this._values,this._promise);if(s instanceof t){s=s._target();var a=s._bitField;this._values=s;if((a&50397184)===0){this._promise._setAsyncGuaranteed();return s._then(init,this._reject,undefined,this,r)}else if((a&33554432)!==0){s=s._value()}else if((a&16777216)!==0){return this._reject(s._reason())}else{return this._cancel()}}s=o.asArray(s);if(s===null){var c=i("expecting an array or an iterable object but got "+o.classString(s)).reason();this._promise._rejectCallback(c,false);return}if(s.length===0){if(r===-5){this._resolveEmptyArray()}else{this._resolve(toResolutionValue(r))}return}this._iterate(s)};PromiseArray.prototype._iterate=function(e){var r=this.getActualLength(e.length);this._length=r;this._values=this.shouldCopyValues()?new Array(r):this._values;var i=this._promise;var s=false;var o=null;for(var a=0;a=this._length){this._resolve(this._values);return true}return false};PromiseArray.prototype._promiseCancelled=function(){this._cancel();return true};PromiseArray.prototype._promiseRejected=function(t){this._totalResolved++;this._reject(t);return true};PromiseArray.prototype._resultCancelled=function(){if(this._isResolved())return;var e=this._values;this._cancel();if(e instanceof t){e.cancel()}else{for(var r=0;r{"use strict";t.exports=function(t,e){var n={};var i=r(6587);var s=r(938);var o=i.withAppended;var a=i.maybeWrapAsError;var c=i.canEvaluate;var u=r(9640).TypeError;var l="Async";var f={__isPromisified__:true};var h=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"];var p=new RegExp("^(?:"+h.join("|")+")$");var d=function(t){return i.isIdentifier(t)&&t.charAt(0)!=="_"&&t!=="constructor"};function propsFilter(t){return!p.test(t)}function isPromisified(t){try{return t.__isPromisified__===true}catch(t){return false}}function hasPromisified(t,e,r){var n=i.getDataPropertyOrDefault(t,e+r,f);return n?isPromisified(n):false}function checkValid(t,e,r){for(var n=0;n=r;--n){e.push(n)}for(var n=t+1;n<=3;++n){e.push(n)}return e};var g=function(t){return i.filledRange(t,"_arg","")};var _=function(t){return i.filledRange(Math.max(t,3),"_arg","")};var w=function(t){if(typeof t.length==="number"){return Math.max(Math.min(t.length,1023+1),0)}return 0};v=function(r,c,u,l,f,h){var p=Math.max(0,w(l)-1);var d=m(p);var y=typeof r==="string"||c===n;function generateCallForArgumentCount(t){var e=g(t).join(", ");var r=t>0?", ":"";var n;if(y){n="ret = callback.call(this, {{args}}, nodeback); break;\n"}else{n=c===undefined?"ret = callback({{args}}, nodeback); break;\n":"ret = callback.call(receiver, {{args}}, nodeback); break;\n"}return n.replace("{{args}}",e).replace(", ",r)}function generateArgumentSwitchCase(){var t="";for(var e=0;e{"use strict";t.exports=function(t,e,n,i){var s=r(6587);var o=s.isObject;var a=r(9048);var c;if(typeof Map==="function")c=Map;var u=function(){var t=0;var e=0;function extractEntry(r,n){this[t]=r;this[t+e]=n;t++}return function mapToEntries(r){e=r.size;t=0;var n=new Array(r.size*2);r.forEach(extractEntry,n);return n}}();var l=function(t){var e=new c;var r=t.length/2|0;for(var n=0;n=this._length){var n;if(this._isMap){n=l(this._values)}else{n={};var i=this.length();for(var s=0,o=this.length();s>1};function props(e){var r;var s=n(e);if(!o(s)){return i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}else if(s instanceof t){r=s._then(t.props,undefined,undefined,undefined,undefined)}else{r=new PropertiesPromiseArray(s).promise()}if(s instanceof t){r._propagateFrom(s,2)}return r}t.prototype.props=function(){return props(this)};t.props=function(t){return props(t)}}},3172:t=>{"use strict";function arrayMove(t,e,r,n,i){for(var s=0;s{"use strict";t.exports=function(t,e,n,i){var s=r(6587);var o=function(t){return t.then(function(e){return race(e,t)})};function race(r,a){var c=n(r);if(c instanceof t){return o(c)}else{r=s.asArray(r);if(r===null)return i("expecting an array or an iterable object but got "+s.classString(r))}var u=new t(e);if(a!==undefined){u._propagateFrom(a,3)}var l=u._fulfill;var f=u._reject;for(var h=0,p=r.length;h{"use strict";t.exports=function(t,e,n,i,s,o){var a=r(6587);var c=a.tryCatch;function ReductionPromiseArray(e,r,n,i){this.constructor$(e);var o=t._getContext();this._fn=a.contextBind(o,r);if(n!==undefined){n=t.resolve(n);n._attachCancellationCallback(this)}this._initialValue=n;this._currentCancellable=null;if(i===s){this._eachValues=Array(this._length)}else if(i===0){this._eachValues=null}else{this._eachValues=undefined}this._promise._captureStackTrace();this._init$(undefined,-5)}a.inherits(ReductionPromiseArray,e);ReductionPromiseArray.prototype._gotAccum=function(t){if(this._eachValues!==undefined&&this._eachValues!==null&&t!==s){this._eachValues.push(t)}};ReductionPromiseArray.prototype._eachComplete=function(t){if(this._eachValues!==null){this._eachValues.push(t)}return this._eachValues};ReductionPromiseArray.prototype._init=function(){};ReductionPromiseArray.prototype._resolveEmptyArray=function(){this._resolve(this._eachValues!==undefined?this._eachValues:this._initialValue)};ReductionPromiseArray.prototype.shouldCopyValues=function(){return false};ReductionPromiseArray.prototype._resolve=function(t){this._promise._resolveCallback(t);this._values=null};ReductionPromiseArray.prototype._resultCancelled=function(e){if(e===this._initialValue)return this._cancel();if(this._isResolved())return;this._resultCancelled$();if(this._currentCancellable instanceof t){this._currentCancellable.cancel()}if(this._initialValue instanceof t){this._initialValue.cancel()}};ReductionPromiseArray.prototype._iterate=function(e){this._values=e;var r;var n;var i=e.length;if(this._initialValue!==undefined){r=this._initialValue;n=0}else{r=t.resolve(e[0]);n=1}this._currentCancellable=r;for(var s=n;s{"use strict";var n=r(6587);var i;var s=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")};var o=n.getNativePromise();if(n.isNode&&typeof MutationObserver==="undefined"){var a=global.setImmediate;var c=process.nextTick;i=n.isRecentNode?function(t){a.call(global,t)}:function(t){c.call(process,t)}}else if(typeof o==="function"&&typeof o.resolve==="function"){var u=o.resolve();i=function(t){u.then(t)}}else if(typeof MutationObserver!=="undefined"&&!(typeof window!=="undefined"&&window.navigator&&(window.navigator.standalone||window.cordova))&&"classList"in document.documentElement){i=function(){var t=document.createElement("div");var e={attributes:true};var r=false;var n=document.createElement("div");var i=new MutationObserver(function(){t.classList.toggle("foo");r=false});i.observe(n,e);var s=function(){if(r)return;r=true;n.classList.toggle("foo")};return function schedule(r){var n=new MutationObserver(function(){n.disconnect();r()});n.observe(t,e);s()}}()}else if(typeof setImmediate!=="undefined"){i=function(t){setImmediate(t)}}else if(typeof setTimeout!=="undefined"){i=function(t){setTimeout(t,0)}}else{i=s}t.exports=i},8741:(t,e,r)=>{"use strict";t.exports=function(t,e,n){var i=t.PromiseInspection;var s=r(6587);function SettledPromiseArray(t){this.constructor$(t)}s.inherits(SettledPromiseArray,e);SettledPromiseArray.prototype._promiseResolved=function(t,e){this._values[t]=e;var r=++this._totalResolved;if(r>=this._length){this._resolve(this._values);return true}return false};SettledPromiseArray.prototype._promiseFulfilled=function(t,e){var r=new i;r._bitField=33554432;r._settledValueField=t;return this._promiseResolved(e,r)};SettledPromiseArray.prototype._promiseRejected=function(t,e){var r=new i;r._bitField=16777216;r._settledValueField=t;return this._promiseResolved(e,r)};t.settle=function(t){n.deprecated(".settle()",".reflect()");return new SettledPromiseArray(t).promise()};t.allSettled=function(t){return new SettledPromiseArray(t).promise()};t.prototype.settle=function(){return t.settle(this)}}},5566:(t,e,r)=>{"use strict";t.exports=function(t,e,n){var i=r(6587);var s=r(9640).RangeError;var o=r(9640).AggregateError;var a=i.isArray;var c={};function SomePromiseArray(t){this.constructor$(t);this._howMany=0;this._unwrap=false;this._initialized=false}i.inherits(SomePromiseArray,e);SomePromiseArray.prototype._init=function(){if(!this._initialized){return}if(this._howMany===0){this._resolve([]);return}this._init$(undefined,-5);var t=a(this._values);if(!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()){this._reject(this._getRangeError(this.length()))}};SomePromiseArray.prototype.init=function(){this._initialized=true;this._init()};SomePromiseArray.prototype.setUnwrap=function(){this._unwrap=true};SomePromiseArray.prototype.howMany=function(){return this._howMany};SomePromiseArray.prototype.setHowMany=function(t){this._howMany=t};SomePromiseArray.prototype._promiseFulfilled=function(t){this._addFulfilled(t);if(this._fulfilled()===this.howMany()){this._values.length=this.howMany();if(this.howMany()===1&&this._unwrap){this._resolve(this._values[0])}else{this._resolve(this._values)}return true}return false};SomePromiseArray.prototype._promiseRejected=function(t){this._addRejected(t);return this._checkOutcome()};SomePromiseArray.prototype._promiseCancelled=function(){if(this._values instanceof t||this._values==null){return this._cancel()}this._addRejected(c);return this._checkOutcome()};SomePromiseArray.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){var t=new o;for(var e=this.length();e0){this._reject(t)}else{this._cancel()}return true}return false};SomePromiseArray.prototype._fulfilled=function(){return this._totalResolved};SomePromiseArray.prototype._rejected=function(){return this._values.length-this.length()};SomePromiseArray.prototype._addRejected=function(t){this._values.push(t)};SomePromiseArray.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t};SomePromiseArray.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()};SomePromiseArray.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new s(e)};SomePromiseArray.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))};function some(t,e){if((e|0)!==e||e<0){return n("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n")}var r=new SomePromiseArray(t);var i=r.promise();r.setHowMany(e);r.init();return i}t.some=function(t,e){return some(t,e)};t.prototype.some=function(t){return some(this,t)};t._SomePromiseArray=SomePromiseArray}},7659:t=>{"use strict";t.exports=function(t){function PromiseInspection(t){if(t!==undefined){t=t._target();this._bitField=t._bitField;this._settledValueField=t._isFateSealed()?t._settledValue():undefined}else{this._bitField=0;this._settledValueField=undefined}}PromiseInspection.prototype._settledValue=function(){return this._settledValueField};var e=PromiseInspection.prototype.value=function(){if(!this.isFulfilled()){throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n")}return this._settledValue()};var r=PromiseInspection.prototype.error=PromiseInspection.prototype.reason=function(){if(!this.isRejected()){throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n")}return this._settledValue()};var n=PromiseInspection.prototype.isFulfilled=function(){return(this._bitField&33554432)!==0};var i=PromiseInspection.prototype.isRejected=function(){return(this._bitField&16777216)!==0};var s=PromiseInspection.prototype.isPending=function(){return(this._bitField&50397184)===0};var o=PromiseInspection.prototype.isResolved=function(){return(this._bitField&50331648)!==0};PromiseInspection.prototype.isCancelled=function(){return(this._bitField&8454144)!==0};t.prototype.__isCancelled=function(){return(this._bitField&65536)===65536};t.prototype._isCancelled=function(){return this._target().__isCancelled()};t.prototype.isCancelled=function(){return(this._target()._bitField&8454144)!==0};t.prototype.isPending=function(){return s.call(this._target())};t.prototype.isRejected=function(){return i.call(this._target())};t.prototype.isFulfilled=function(){return n.call(this._target())};t.prototype.isResolved=function(){return o.call(this._target())};t.prototype.value=function(){return e.call(this._target())};t.prototype.reason=function(){var t=this._target();t._unsetRejectionIsUnhandled();return r.call(t)};t.prototype._value=function(){return this._settledValue()};t.prototype._reason=function(){this._unsetRejectionIsUnhandled();return this._settledValue()};t.PromiseInspection=PromiseInspection}},3938:(t,e,r)=>{"use strict";t.exports=function(t,e){var n=r(6587);var i=n.errorObj;var s=n.isObject;function tryConvertToPromise(r,n){if(s(r)){if(r instanceof t)return r;var o=getThen(r);if(o===i){if(n)n._pushContext();var a=t.reject(o.e);if(n)n._popContext();return a}else if(typeof o==="function"){if(isAnyBluebirdPromise(r)){var a=new t(e);r._then(a._fulfill,a._reject,undefined,a,null);return a}return doThenable(r,o,n)}}return r}function doGetThen(t){return t.then}function getThen(t){try{return doGetThen(t)}catch(t){i.e=t;return i}}var o={}.hasOwnProperty;function isAnyBluebirdPromise(t){try{return o.call(t,"_promise0")}catch(t){return false}}function doThenable(r,s,o){var a=new t(e);var c=a;if(o)o._pushContext();a._captureStackTrace();if(o)o._popContext();var u=true;var l=n.tryCatch(s).call(r,resolve,reject);u=false;if(a&&l===i){a._rejectCallback(l.e,true,true);a=null}function resolve(t){if(!a)return;a._resolveCallback(t);a=null}function reject(t){if(!a)return;a._rejectCallback(t,u,true);a=null}return c}return tryConvertToPromise}},8329:(t,e,r)=>{"use strict";t.exports=function(t,e,n){var i=r(6587);var s=t.TimeoutError;function HandleWrapper(t){this.handle=t}HandleWrapper.prototype._resultCancelled=function(){clearTimeout(this.handle)};var o=function(t){return a(+this).thenReturn(t)};var a=t.delay=function(r,i){var s;var a;if(i!==undefined){s=t.resolve(i)._then(o,null,null,r,undefined);if(n.cancellation()&&i instanceof t){s._setOnCancel(i)}}else{s=new t(e);a=setTimeout(function(){s._fulfill()},+r);if(n.cancellation()){s._setOnCancel(new HandleWrapper(a))}s._captureStackTrace()}s._setAsyncGuaranteed();return s};t.prototype.delay=function(t){return a(t,this)};var c=function(t,e,r){var n;if(typeof e!=="string"){if(e instanceof Error){n=e}else{n=new s("operation timed out")}}else{n=new s(e)}i.markAsOriginatingFromRejection(n);t._attachExtraTrace(n);t._reject(n);if(r!=null){r.cancel()}};function successClear(t){clearTimeout(this.handle);return t}function failureClear(t){clearTimeout(this.handle);throw t}t.prototype.timeout=function(t,e){t=+t;var r,i;var s=new HandleWrapper(setTimeout(function timeoutTimeout(){if(r.isPending()){c(r,e,i)}},t));if(n.cancellation()){i=this.then();r=i._then(successClear,failureClear,undefined,s,undefined);r._setOnCancel(s)}else{r=this._then(successClear,failureClear,undefined,s,undefined)}return r}}},1904:(t,e,r)=>{"use strict";t.exports=function(t,e,n,i,s,o){var a=r(6587);var c=r(9640).TypeError;var u=r(6587).inherits;var l=a.errorObj;var f=a.tryCatch;var h={};function thrower(t){setTimeout(function(){throw t},0)}function castPreservingDisposable(t){var e=n(t);if(e!==t&&typeof t._isDisposable==="function"&&typeof t._getDisposer==="function"&&t._isDisposable()){e._setDisposable(t._getDisposer())}return e}function dispose(e,r){var i=0;var o=e.length;var a=new t(s);function iterator(){if(i>=o)return a._fulfill();var s=castPreservingDisposable(e[i++]);if(s instanceof t&&s._isDisposable()){try{s=n(s._getDisposer().tryDispose(r),e.promise)}catch(t){return thrower(t)}if(s instanceof t){return s._then(iterator,thrower,null,null,null)}}iterator()}iterator();return a}function Disposer(t,e,r){this._data=t;this._promise=e;this._context=r}Disposer.prototype.data=function(){return this._data};Disposer.prototype.promise=function(){return this._promise};Disposer.prototype.resource=function(){if(this.promise().isFulfilled()){return this.promise().value()}return h};Disposer.prototype.tryDispose=function(t){var e=this.resource();var r=this._context;if(r!==undefined)r._pushContext();var n=e!==h?this.doDispose(e,t):null;if(r!==undefined)r._popContext();this._promise._unsetDisposable();this._data=null;return n};Disposer.isDisposer=function(t){return t!=null&&typeof t.resource==="function"&&typeof t.tryDispose==="function"};function FunctionDisposer(t,e,r){this.constructor$(t,e,r)}u(FunctionDisposer,Disposer);FunctionDisposer.prototype.doDispose=function(t,e){var r=this.data();return r.call(t,t,e)};function maybeUnwrapDisposer(t){if(Disposer.isDisposer(t)){this.resources[this.index]._setDisposable(t);return t.promise()}return t}function ResourceList(t){this.length=t;this.promise=null;this[t-1]=null}ResourceList.prototype._resultCancelled=function(){var e=this.length;for(var r=0;r0};t.prototype._getDisposer=function(){return this._disposer};t.prototype._unsetDisposable=function(){this._bitField=this._bitField&~131072;this._disposer=undefined};t.prototype.disposer=function(t){if(typeof t==="function"){return new FunctionDisposer(t,this,i())}throw new c}}},6587:function(module,__unused_webpack_exports,__nccwpck_require__){"use strict";var es5=__nccwpck_require__(9048);var canEvaluate=typeof navigator=="undefined";var errorObj={e:{}};var tryCatchTarget;var globalObject=typeof self!=="undefined"?self:typeof window!=="undefined"?window:typeof global!=="undefined"?global:this!==undefined?this:null;function tryCatcher(){try{var t=tryCatchTarget;tryCatchTarget=null;return t.apply(this,arguments)}catch(t){errorObj.e=t;return errorObj}}function tryCatch(t){tryCatchTarget=t;return tryCatcher}var inherits=function(t,e){var r={}.hasOwnProperty;function T(){this.constructor=t;this.constructor$=e;for(var n in e.prototype){if(r.call(e.prototype,n)&&n.charAt(n.length-1)!=="$"){this[n+"$"]=e.prototype[n]}}}T.prototype=e.prototype;t.prototype=new T;return t.prototype};function isPrimitive(t){return t==null||t===true||t===false||typeof t==="string"||typeof t==="number"}function isObject(t){return typeof t==="function"||typeof t==="object"&&t!==null}function maybeWrapAsError(t){if(!isPrimitive(t))return t;return new Error(safeToString(t))}function withAppended(t,e){var r=t.length;var n=new Array(r+1);var i;for(i=0;i1;var n=e.length>0&&!(e.length===1&&e[0]==="constructor");var i=thisAssignmentPattern.test(t+"")&&es5.names(t).length>0;if(r||n||i){return true}}return false}catch(t){return false}}function toFastProperties(obj){function FakeConstructor(){}FakeConstructor.prototype=obj;var receiver=new FakeConstructor;function ic(){return typeof receiver.foo}ic();ic();return obj;eval(obj)}var rident=/^[a-z$_][a-z$_0-9]*$/i;function isIdentifier(t){return rident.test(t)}function filledRange(t,e,r){var n=new Array(t);for(var i=0;i10||t[0]>0}();ret.nodeSupportsAsyncResource=ret.isNode&&function(){var t=false;try{var e=__nccwpck_require__(7303).AsyncResource;t=typeof e.prototype.runInAsyncScope==="function"}catch(e){t=false}return t}();if(ret.isNode)ret.toFastProperties(process);try{throw new Error}catch(t){ret.lastLineError=t}module.exports=ret},5533:(t,e,r)=>{var n=r(5179);var i=r(587);t.exports=expandTop;var s="\0SLASH"+Math.random()+"\0";var o="\0OPEN"+Math.random()+"\0";var a="\0CLOSE"+Math.random()+"\0";var c="\0COMMA"+Math.random()+"\0";var u="\0PERIOD"+Math.random()+"\0";function numeric(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function escapeBraces(t){return t.split("\\\\").join(s).split("\\{").join(o).split("\\}").join(a).split("\\,").join(c).split("\\.").join(u)}function unescapeBraces(t){return t.split(s).join("\\").split(o).join("{").split(a).join("}").split(c).join(",").split(u).join(".")}function parseCommaParts(t){if(!t)return[""];var e=[];var r=i("{","}",t);if(!r)return t.split(",");var n=r.pre;var s=r.body;var o=r.post;var a=n.split(",");a[a.length-1]+="{"+s+"}";var c=parseCommaParts(o);if(o.length){a[a.length-1]+=c.shift();a.push.apply(a,c)}e.push.apply(e,a);return e}function expandTop(t){if(!t)return[];if(t.substr(0,2)==="{}"){t="\\{\\}"+t.substr(2)}return expand(escapeBraces(t),true).map(unescapeBraces)}function identity(t){return t}function embrace(t){return"{"+t+"}"}function isPadded(t){return/^-?0\d/.test(t)}function lte(t,e){return t<=e}function gte(t,e){return t>=e}function expand(t,e){var r=[];var s=i("{","}",t);if(!s||/\$$/.test(s.pre))return[t];var o=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body);var c=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body);var u=o||c;var l=s.body.indexOf(",")>=0;if(!u&&!l){if(s.post.match(/,.*\}/)){t=s.pre+"{"+s.body+a+s.post;return expand(t)}return[t]}var f;if(u){f=s.body.split(/\.\./)}else{f=parseCommaParts(s.body);if(f.length===1){f=expand(f[0],false).map(embrace);if(f.length===1){var h=s.post.length?expand(s.post,false):[""];return h.map(function(t){return s.pre+f[0]+t})}}}var p=s.pre;var h=s.post.length?expand(s.post,false):[""];var d;if(u){var y=numeric(f[0]);var v=numeric(f[1]);var m=Math.max(f[0].length,f[1].length);var g=f.length==3?Math.abs(numeric(f[2])):1;var _=lte;var w=v0){var x=new Array(k+1).join("0");if(S<0)E="-"+x+E.slice(1);else E=x+E}}}d.push(E)}}else{d=n(f,function(t){return expand(t,false)})}for(var C=0;C{"use strict";const n=r(2087);const i=/\s+at.*(?:\(|\s)(.*)\)?/;const s=/^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/;const o=typeof n.homedir==="undefined"?"":n.homedir();t.exports=((t,e)=>{e=Object.assign({pretty:false},e);return t.replace(/\\/g,"/").split("\n").filter(t=>{const e=t.match(i);if(e===null||!e[1]){return true}const r=e[1];if(r.includes(".app/Contents/Resources/electron.asar")||r.includes(".app/Contents/Resources/default_app.asar")){return false}return!s.test(r)}).filter(t=>t.trim()!=="").map(t=>{if(e.pretty){return t.replace(i,(t,e)=>t.replace(e,e.replace(o,"~")))}return t}).join("\n")})},5179:t=>{t.exports=function(t,r){var n=[];for(var i=0;i{t.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var n=r(5747);var i=n.realpath;var s=n.realpathSync;var o=process.version;var a=/^v[0-5]\./.test(o);var c=r(2145);function newError(t){return t&&t.syscall==="realpath"&&(t.code==="ELOOP"||t.code==="ENOMEM"||t.code==="ENAMETOOLONG")}function realpath(t,e,r){if(a){return i(t,e,r)}if(typeof e==="function"){r=e;e=null}i(t,e,function(n,i){if(newError(n)){c.realpath(t,e,r)}else{r(n,i)}})}function realpathSync(t,e){if(a){return s(t,e)}try{return s(t,e)}catch(r){if(newError(r)){return c.realpathSync(t,e)}else{throw r}}}function monkeypatch(){n.realpath=realpath;n.realpathSync=realpathSync}function unmonkeypatch(){n.realpath=i;n.realpathSync=s}},2145:(t,e,r)=>{var n=r(5622);var i=process.platform==="win32";var s=r(5747);var o=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function rethrow(){var t;if(o){var e=new Error;t=debugCallback}else t=missingCallback;return t;function debugCallback(t){if(t){e.message=t.message;t=e;missingCallback(t)}}function missingCallback(t){if(t){if(process.throwDeprecation)throw t;else if(!process.noDeprecation){var e="fs: missing callback "+(t.stack||t.message);if(process.traceDeprecation)console.trace(e);else console.error(e)}}}}function maybeCallback(t){return typeof t==="function"?t:rethrow()}var a=n.normalize;if(i){var c=/(.*?)(?:[\/\\]+|$)/g}else{var c=/(.*?)(?:[\/]+|$)/g}if(i){var u=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/}else{var u=/^[\/]*/}e.realpathSync=function realpathSync(t,e){t=n.resolve(t);if(e&&Object.prototype.hasOwnProperty.call(e,t)){return e[t]}var r=t,o={},a={};var l;var f;var h;var p;start();function start(){var e=u.exec(t);l=e[0].length;f=e[0];h=e[0];p="";if(i&&!a[h]){s.lstatSync(h);a[h]=true}}while(l=t.length){if(e)e[o]=t;return r(null,t)}c.lastIndex=f;var n=c.exec(t);d=h;h+=n[0];p=d+n[1];f=c.lastIndex;if(l[p]||e&&e[p]===p){return process.nextTick(LOOP)}if(e&&Object.prototype.hasOwnProperty.call(e,p)){return gotResolvedLink(e[p])}return s.lstat(p,gotStat)}function gotStat(t,n){if(t)return r(t);if(!n.isSymbolicLink()){l[p]=true;if(e)e[p]=p;return process.nextTick(LOOP)}if(!i){var o=n.dev.toString(32)+":"+n.ino.toString(32);if(a.hasOwnProperty(o)){return gotTarget(null,a[o],p)}}s.stat(p,function(t){if(t)return r(t);s.readlink(p,function(t,e){if(!i)a[o]=e;gotTarget(t,e)})})}function gotTarget(t,i,s){if(t)return r(t);var o=n.resolve(d,i);if(e)e[s]=o;gotResolvedLink(o)}function gotResolvedLink(e){t=n.resolve(e,t.slice(f));start()}}},357:(t,e,r)=>{e.alphasort=alphasort;e.alphasorti=alphasorti;e.setopts=setopts;e.ownProp=ownProp;e.makeAbs=makeAbs;e.finish=finish;e.mark=mark;e.isIgnored=isIgnored;e.childrenIgnored=childrenIgnored;function ownProp(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var n=r(5622);var i=r(6944);var s=r(6540);var o=i.Minimatch;function alphasorti(t,e){return t.toLowerCase().localeCompare(e.toLowerCase())}function alphasort(t,e){return t.localeCompare(e)}function setupIgnores(t,e){t.ignore=e.ignore||[];if(!Array.isArray(t.ignore))t.ignore=[t.ignore];if(t.ignore.length){t.ignore=t.ignore.map(ignoreMap)}}function ignoreMap(t){var e=null;if(t.slice(-3)==="/**"){var r=t.replace(/(\/\*\*)+$/,"");e=new o(r,{dot:true})}return{matcher:new o(t,{dot:true}),gmatcher:e}}function setopts(t,e,r){if(!r)r={};if(r.matchBase&&-1===e.indexOf("/")){if(r.noglobstar){throw new Error("base matching requires globstar")}e="**/"+e}t.silent=!!r.silent;t.pattern=e;t.strict=r.strict!==false;t.realpath=!!r.realpath;t.realpathCache=r.realpathCache||Object.create(null);t.follow=!!r.follow;t.dot=!!r.dot;t.mark=!!r.mark;t.nodir=!!r.nodir;if(t.nodir)t.mark=true;t.sync=!!r.sync;t.nounique=!!r.nounique;t.nonull=!!r.nonull;t.nosort=!!r.nosort;t.nocase=!!r.nocase;t.stat=!!r.stat;t.noprocess=!!r.noprocess;t.absolute=!!r.absolute;t.maxLength=r.maxLength||Infinity;t.cache=r.cache||Object.create(null);t.statCache=r.statCache||Object.create(null);t.symlinks=r.symlinks||Object.create(null);setupIgnores(t,r);t.changedCwd=false;var i=process.cwd();if(!ownProp(r,"cwd"))t.cwd=i;else{t.cwd=n.resolve(r.cwd);t.changedCwd=t.cwd!==i}t.root=r.root||n.resolve(t.cwd,"/");t.root=n.resolve(t.root);if(process.platform==="win32")t.root=t.root.replace(/\\/g,"/");t.cwdAbs=s(t.cwd)?t.cwd:makeAbs(t,t.cwd);if(process.platform==="win32")t.cwdAbs=t.cwdAbs.replace(/\\/g,"/");t.nomount=!!r.nomount;r.nonegate=true;r.nocomment=true;t.minimatch=new o(e,r);t.options=t.minimatch.options}function finish(t){var e=t.nounique;var r=e?[]:Object.create(null);for(var n=0,i=t.matches.length;n{t.exports=glob;var n=r(5747);var i=r(4082);var s=r(6944);var o=s.Minimatch;var a=r(2989);var c=r(8614).EventEmitter;var u=r(5622);var l=r(2357);var f=r(6540);var h=r(8427);var p=r(357);var d=p.alphasort;var y=p.alphasorti;var v=p.setopts;var m=p.ownProp;var g=r(4889);var _=r(1669);var w=p.childrenIgnored;var b=p.isIgnored;var S=r(6754);function glob(t,e,r){if(typeof e==="function")r=e,e={};if(!e)e={};if(e.sync){if(r)throw new TypeError("callback provided to sync glob");return h(t,e)}return new Glob(t,e,r)}glob.sync=h;var E=glob.GlobSync=h.GlobSync;glob.glob=glob;function extend(t,e){if(e===null||typeof e!=="object"){return t}var r=Object.keys(e);var n=r.length;while(n--){t[r[n]]=e[r[n]]}return t}glob.hasMagic=function(t,e){var r=extend({},e);r.noprocess=true;var n=new Glob(t,r);var i=n.minimatch.set;if(!t)return false;if(i.length>1)return true;for(var s=0;sthis.maxLength)return e();if(!this.stat&&m(this.cache,r)){var s=this.cache[r];if(Array.isArray(s))s="DIR";if(!i||s==="DIR")return e(null,s);if(i&&s==="FILE")return e()}var o;var a=this.statCache[r];if(a!==undefined){if(a===false)return e(null,a);else{var c=a.isDirectory()?"DIR":"FILE";if(i&&c==="FILE")return e();else return e(null,c,a)}}var u=this;var l=g("stat\0"+r,lstatcb_);if(l)n.lstat(r,l);function lstatcb_(i,s){if(s&&s.isSymbolicLink()){return n.stat(r,function(n,i){if(n)u._stat2(t,r,null,s,e);else u._stat2(t,r,n,i,e)})}else{u._stat2(t,r,i,s,e)}}};Glob.prototype._stat2=function(t,e,r,n,i){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR")){this.statCache[e]=false;return i()}var s=t.slice(-1)==="/";this.statCache[e]=n;if(e.slice(-1)==="/"&&n&&!n.isDirectory())return i(null,false,n);var o=true;if(n)o=n.isDirectory()?"DIR":"FILE";this.cache[e]=this.cache[e]||o;if(s&&o==="FILE")return i();return i(null,o,n)}},8427:(t,e,r)=>{t.exports=globSync;globSync.GlobSync=GlobSync;var n=r(5747);var i=r(4082);var s=r(6944);var o=s.Minimatch;var a=r(7966).Glob;var c=r(1669);var u=r(5622);var l=r(2357);var f=r(6540);var h=r(357);var p=h.alphasort;var d=h.alphasorti;var y=h.setopts;var v=h.ownProp;var m=h.childrenIgnored;var g=h.isIgnored;function globSync(t,e){if(typeof e==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(t,e).found}function GlobSync(t,e){if(!t)throw new Error("must provide pattern");if(typeof e==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(t,e);y(this,t,e);if(this.noprocess)return this;var r=this.minimatch.set.length;this.matches=new Array(r);for(var n=0;nthis.maxLength)return false;if(!this.stat&&v(this.cache,e)){var i=this.cache[e];if(Array.isArray(i))i="DIR";if(!r||i==="DIR")return i;if(r&&i==="FILE")return false}var s;var o=this.statCache[e];if(!o){var a;try{a=n.lstatSync(e)}catch(t){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR")){this.statCache[e]=false;return false}}if(a&&a.isSymbolicLink()){try{o=n.statSync(e)}catch(t){o=a}}else{o=a}}this.statCache[e]=o;var i=true;if(o)i=o.isDirectory()?"DIR":"FILE";this.cache[e]=this.cache[e]||i;if(r&&i==="FILE")return false;return i};GlobSync.prototype._mark=function(t){return h.mark(this,t)};GlobSync.prototype._makeAbs=function(t){return h.makeAbs(this,t)}},8681:t=>{(function(){var e;function MurmurHash3(t,r){var n=this instanceof MurmurHash3?this:e;n.reset(r);if(typeof t==="string"&&t.length>0){n.hash(t)}if(n!==this){return n}}MurmurHash3.prototype.hash=function(t){var e,r,n,i,s;s=t.length;this.len+=s;r=this.k1;n=0;switch(this.rem){case 0:r^=s>n?t.charCodeAt(n++)&65535:0;case 1:r^=s>n?(t.charCodeAt(n++)&65535)<<8:0;case 2:r^=s>n?(t.charCodeAt(n++)&65535)<<16:0;case 3:r^=s>n?(t.charCodeAt(n)&255)<<24:0;r^=s>n?(t.charCodeAt(n++)&65280)>>8:0}this.rem=s+this.rem&3;s-=this.rem;if(s>0){e=this.h1;while(1){r=r*11601+(r&65535)*3432906752&4294967295;r=r<<15|r>>>17;r=r*13715+(r&65535)*461832192&4294967295;e^=r;e=e<<13|e>>>19;e=e*5+3864292196&4294967295;if(n>=s){break}r=t.charCodeAt(n++)&65535^(t.charCodeAt(n++)&65535)<<8^(t.charCodeAt(n++)&65535)<<16;i=t.charCodeAt(n++);r^=(i&255)<<24^(i&65280)>>8}r=0;switch(this.rem){case 3:r^=(t.charCodeAt(n+2)&65535)<<16;case 2:r^=(t.charCodeAt(n+1)&65535)<<8;case 1:r^=t.charCodeAt(n)&65535}this.h1=e}this.k1=r;return this};MurmurHash3.prototype.result=function(){var t,e;t=this.k1;e=this.h1;if(t>0){t=t*11601+(t&65535)*3432906752&4294967295;t=t<<15|t>>>17;t=t*13715+(t&65535)*461832192&4294967295;e^=t}e^=this.len;e^=e>>>16;e=e*51819+(e&65535)*2246770688&4294967295;e^=e>>>13;e=e*44597+(e&65535)*3266445312&4294967295;e^=e>>>16;return e>>>0};MurmurHash3.prototype.reset=function(t){this.h1=typeof t==="number"?t:0;this.rem=this.k1=this.len=0;return this};e=new MurmurHash3;if(true){t.exports=MurmurHash3}else{}})()},9609:(t,e,r)=>{const n=new Map;const i=r(5747);const{dirname:s,resolve:o}=r(5622);const a=t=>new Promise((e,r)=>i.lstat(t,(t,n)=>t?r(t):e(n)));const c=t=>{t=o(t);if(n.has(t))return Promise.resolve(n.get(t));const e=e=>{const{uid:r,gid:i}=e;n.set(t,{uid:r,gid:i});return{uid:r,gid:i}};const r=s(t);const i=r===t?null:e=>{return c(r).then(e=>{n.set(t,e);return e})};return a(t).then(e,i)};const u=t=>{t=o(t);if(n.has(t))return n.get(t);const e=s(t);let r=true;try{const s=i.lstatSync(t);r=false;const{uid:o,gid:a}=s;n.set(t,{uid:o,gid:a});return{uid:o,gid:a}}finally{if(r&&e!==t){const r=u(e);n.set(t,r);return r}}};const l=new Map;t.exports=(t=>{t=o(t);if(l.has(t))return Promise.resolve(l.get(t));const e=c(t).then(e=>{l.delete(t);return e});l.set(t,e);return e});t.exports.sync=u;t.exports.clearCache=(()=>{n.clear();l.clear()})},4889:(t,e,r)=>{var n=r(3640);var i=Object.create(null);var s=r(6754);t.exports=n(inflight);function inflight(t,e){if(i[t]){i[t].push(e);return null}else{i[t]=[e];return makeres(t)}}function makeres(t){return s(function RES(){var e=i[t];var r=e.length;var n=slice(arguments);try{for(var s=0;sr){e.splice(0,r);process.nextTick(function(){RES.apply(null,n)})}else{delete i[t]}}})}function slice(t){var e=t.length;var r=[];for(var n=0;n{try{var n=r(1669);if(typeof n.inherits!=="function")throw"";t.exports=n.inherits}catch(e){t.exports=r(7350)}},7350:t=>{if(typeof Object.create==="function"){t.exports=function inherits(t,e){if(e){t.super_=e;t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:false,writable:true,configurable:true}})}}}else{t.exports=function inherits(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype;t.prototype=new r;t.prototype.constructor=t}}}},6944:(t,e,r)=>{t.exports=minimatch;minimatch.Minimatch=Minimatch;var n={sep:"/"};try{n=r(5622)}catch(t){}var i=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var s=r(5533);var o={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var a="[^/]";var c=a+"*?";var u="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var l="(?:(?!(?:\\/|^)\\.).)*?";var f=charSet("().*{}+?[]^$\\!");function charSet(t){return t.split("").reduce(function(t,e){t[e]=true;return t},{})}var h=/\/+/;minimatch.filter=filter;function filter(t,e){e=e||{};return function(r,n,i){return minimatch(r,t,e)}}function ext(t,e){t=t||{};e=e||{};var r={};Object.keys(e).forEach(function(t){r[t]=e[t]});Object.keys(t).forEach(function(e){r[e]=t[e]});return r}minimatch.defaults=function(t){if(!t||!Object.keys(t).length)return minimatch;var e=minimatch;var r=function minimatch(r,n,i){return e.minimatch(r,n,ext(t,i))};r.Minimatch=function Minimatch(r,n){return new e.Minimatch(r,ext(t,n))};return r};Minimatch.defaults=function(t){if(!t||!Object.keys(t).length)return Minimatch;return minimatch.defaults(t).Minimatch};function minimatch(t,e,r){if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};if(!r.nocomment&&e.charAt(0)==="#"){return false}if(e.trim()==="")return t==="";return new Minimatch(e,r).match(t)}function Minimatch(t,e){if(!(this instanceof Minimatch)){return new Minimatch(t,e)}if(typeof t!=="string"){throw new TypeError("glob pattern string required")}if(!e)e={};t=t.trim();if(n.sep!=="/"){t=t.split(n.sep).join("/")}this.options=e;this.set=[];this.pattern=t;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var t=this.pattern;var e=this.options;if(!e.nocomment&&t.charAt(0)==="#"){this.comment=true;return}if(!t){this.empty=true;return}this.parseNegate();var r=this.globSet=this.braceExpand();if(e.debug)this.debug=console.error;this.debug(this.pattern,r);r=this.globParts=r.map(function(t){return t.split(h)});this.debug(this.pattern,r);r=r.map(function(t,e,r){return t.map(this.parse,this)},this);this.debug(this.pattern,r);r=r.filter(function(t){return t.indexOf(false)===-1});this.debug(this.pattern,r);this.set=r}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var t=this.pattern;var e=false;var r=this.options;var n=0;if(r.nonegate)return;for(var i=0,s=t.length;i1024*64){throw new TypeError("pattern is too long")}var r=this.options;if(!r.noglobstar&&t==="**")return i;if(t==="")return"";var n="";var s=!!r.nocase;var u=false;var l=[];var h=[];var d;var y=false;var v=-1;var m=-1;var g=t.charAt(0)==="."?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var _=this;function clearStateChar(){if(d){switch(d){case"*":n+=c;s=true;break;case"?":n+=a;s=true;break;default:n+="\\"+d;break}_.debug("clearStateChar %j %j",d,n);d=false}}for(var w=0,b=t.length,S;w-1;P--){var j=h[P];var O=n.slice(0,j.reStart);var F=n.slice(j.reStart,j.reEnd-8);var R=n.slice(j.reEnd-8,j.reEnd);var N=n.slice(j.reEnd);R+=N;var D=O.split("(").length-1;var I=N;for(w=0;w=0;o--){s=t[o];if(s)break}for(o=0;o>> no match, partial?",t,f,e,h);if(f===a)return true}return false}var d;if(typeof u==="string"){if(n.nocase){d=l.toLowerCase()===u.toLowerCase()}else{d=l===u}this.debug("string match",u,l,d)}else{d=l.match(u);this.debug("pattern match",u,l,d)}if(!d)return false}if(s===a&&o===c){return true}else if(s===a){return r}else if(o===c){var y=s===a-1&&t[s]==="";return y}throw new Error("wtf?")};function globUnescape(t){return t.replace(/\\(.)/g,"$1")}function regExpEscape(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},5283:(t,e,r)=>{const n=r(8351);const i=Symbol("_data");const s=Symbol("_length");class Collect extends n{constructor(t){super(t);this[i]=[];this[s]=0}write(t,e,r){if(typeof e==="function")r=e,e="utf8";if(!e)e="utf8";const n=Buffer.isBuffer(t)?t:Buffer.from(t,e);this[i].push(n);this[s]+=n.length;if(r)r();return true}end(t,e,r){if(typeof t==="function")r=t,t=null;if(typeof e==="function")r=e,e="utf8";if(t)this.write(t,e);const n=Buffer.concat(this[i],this[s]);super.write(n);return super.end(r)}}t.exports=Collect;class CollectPassThrough extends n{constructor(t){super(t);this[i]=[];this[s]=0}write(t,e,r){if(typeof e==="function")r=e,e="utf8";if(!e)e="utf8";const n=Buffer.isBuffer(t)?t:Buffer.from(t,e);this[i].push(n);this[s]+=n.length;return super.write(t,e,r)}end(t,e,r){if(typeof t==="function")r=t,t=null;if(typeof e==="function")r=e,e="utf8";if(t)this.write(t,e);const n=Buffer.concat(this[i],this[s]);this.emit("collect",n);return super.end(r)}}t.exports.PassThrough=CollectPassThrough},4145:(t,e,r)=>{const n=r(8351);const i=Symbol("_flush");const s=Symbol("_flushed");const o=Symbol("_flushing");class Flush extends n{constructor(t={}){if(typeof t==="function")t={flush:t};super(t);if(typeof t.flush!=="function"&&typeof this.flush!=="function")throw new TypeError("must provide flush function in options");this[i]=t.flush||this.flush}emit(t,...e){if(t!=="end"&&t!=="finish"||this[s])return super.emit(t,...e);if(this[o])return;this[o]=true;const r=t=>{this[s]=true;t?super.emit("error",t):super.emit("end")};const n=this[i](r);if(n&&n.then)n.then(()=>r(),t=>r(t))}}t.exports=Flush},6436:(t,e,r)=>{const n=r(8351);const i=r(8614);const s=t=>t&&t instanceof i&&(typeof t.pipe==="function"||typeof t.write==="function"&&typeof t.end==="function");const o=Symbol("_head");const a=Symbol("_tail");const c=Symbol("_linkStreams");const u=Symbol("_setHead");const l=Symbol("_setTail");const f=Symbol("_onError");const h=Symbol("_onData");const p=Symbol("_onEnd");const d=Symbol("_onDrain");const y=Symbol("_streams");class Pipeline extends n{constructor(t,...e){if(s(t)){e.unshift(t);t={}}super(t);this[y]=[];if(e.length)this.push(...e)}[c](t){return t.reduce((t,e)=>{t.on("error",t=>e.emit("error",t));t.pipe(e);return e})}push(...t){this[y].push(...t);if(this[a])t.unshift(this[a]);const e=this[c](t);this[l](e);if(!this[o])this[u](t[0])}unshift(...t){this[y].unshift(...t);if(this[o])t.push(this[o]);const e=this[c](t);this[u](t[0]);if(!this[a])this[l](e)}destroy(t){this[y].forEach(t=>typeof t.destroy==="function"&&t.destroy());return super.destroy(t)}[l](t){this[a]=t;t.on("error",e=>this[f](t,e));t.on("data",e=>this[h](t,e));t.on("end",()=>this[p](t));t.on("finish",()=>this[p](t))}[f](t,e){if(t===this[a])this.emit("error",e)}[h](t,e){if(t===this[a])super.write(e)}[p](t){if(t===this[a])super.end()}pause(){super.pause();return this[a]&&this[a].pause&&this[a].pause()}emit(t,...e){if(t==="resume"&&this[a]&&this[a].resume)this[a].resume();return super.emit(t,...e)}[u](t){this[o]=t;t.on("drain",()=>this[d](t))}[d](t){if(t===this[o])this.emit("drain")}write(t,e,r){return this[o].write(t,e,r)}end(t,e,r){this[o].end(t,e,r);return this}}t.exports=Pipeline},8351:(t,e,r)=>{"use strict";const n=r(8614);const i=r(2413);const s=r(546);const o=r(4304).StringDecoder;const a=Symbol("EOF");const c=Symbol("maybeEmitEnd");const u=Symbol("emittedEnd");const l=Symbol("emittingEnd");const f=Symbol("closed");const h=Symbol("read");const p=Symbol("flush");const d=Symbol("flushChunk");const y=Symbol("encoding");const v=Symbol("decoder");const m=Symbol("flowing");const g=Symbol("paused");const _=Symbol("resume");const w=Symbol("bufferLength");const b=Symbol("bufferPush");const S=Symbol("bufferShift");const E=Symbol("objectMode");const k=Symbol("destroyed");const x=global._MP_NO_ITERATOR_SYMBOLS_!=="1";const C=x&&Symbol.asyncIterator||Symbol("asyncIterator not implemented");const A=x&&Symbol.iterator||Symbol("iterator not implemented");const T=t=>t==="end"||t==="finish"||t==="prefinish";const P=t=>t instanceof ArrayBuffer||typeof t==="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0;const j=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);t.exports=class Minipass extends i{constructor(t){super();this[m]=false;this[g]=false;this.pipes=new s;this.buffer=new s;this[E]=t&&t.objectMode||false;if(this[E])this[y]=null;else this[y]=t&&t.encoding||null;if(this[y]==="buffer")this[y]=null;this[v]=this[y]?new o(this[y]):null;this[a]=false;this[u]=false;this[l]=false;this[f]=false;this.writable=true;this.readable=true;this[w]=0;this[k]=false}get bufferLength(){return this[w]}get encoding(){return this[y]}set encoding(t){if(this[E])throw new Error("cannot set encoding in objectMode");if(this[y]&&t!==this[y]&&(this[v]&&this[v].lastNeed||this[w]))throw new Error("cannot change encoding");if(this[y]!==t){this[v]=t?new o(t):null;if(this.buffer.length)this.buffer=this.buffer.map(t=>this[v].write(t))}this[y]=t}setEncoding(t){this.encoding=t}get objectMode(){return this[E]}set objectMode(t){this[E]=this[E]||!!t}write(t,e,r){if(this[a])throw new Error("write after end");if(this[k]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof e==="function")r=e,e="utf8";if(!e)e="utf8";if(!this[E]&&!Buffer.isBuffer(t)){if(j(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(P(t))t=Buffer.from(t);else if(typeof t!=="string")this.objectMode=true}if(!this.objectMode&&!t.length){const t=this.flowing;if(this[w]!==0)this.emit("readable");if(r)r();return t}if(typeof t==="string"&&!this[E]&&!(e===this[y]&&!this[v].lastNeed)){t=Buffer.from(t,e)}if(Buffer.isBuffer(t)&&this[y])t=this[v].write(t);try{return this.flowing?(this.emit("data",t),this.flowing):(this[b](t),false)}finally{if(this[w]!==0)this.emit("readable");if(r)r()}}read(t){if(this[k])return null;try{if(this[w]===0||t===0||t>this[w])return null;if(this[E])t=null;if(this.buffer.length>1&&!this[E]){if(this.encoding)this.buffer=new s([Array.from(this.buffer).join("")]);else this.buffer=new s([Buffer.concat(Array.from(this.buffer),this[w])])}return this[h](t||null,this.buffer.head.value)}finally{this[c]()}}[h](t,e){if(t===e.length||t===null)this[S]();else{this.buffer.head.value=e.slice(t);e=e.slice(0,t);this[w]-=t}this.emit("data",e);if(!this.buffer.length&&!this[a])this.emit("drain");return e}end(t,e,r){if(typeof t==="function")r=t,t=null;if(typeof e==="function")r=e,e="utf8";if(t)this.write(t,e);if(r)this.once("end",r);this[a]=true;this.writable=false;if(this.flowing||!this[g])this[c]();return this}[_](){if(this[k])return;this[g]=false;this[m]=true;this.emit("resume");if(this.buffer.length)this[p]();else if(this[a])this[c]();else this.emit("drain")}resume(){return this[_]()}pause(){this[m]=false;this[g]=true}get destroyed(){return this[k]}get flowing(){return this[m]}get paused(){return this[g]}[b](t){if(this[E])this[w]+=1;else this[w]+=t.length;return this.buffer.push(t)}[S](){if(this.buffer.length){if(this[E])this[w]-=1;else this[w]-=this.buffer.head.value.length}return this.buffer.shift()}[p](){do{}while(this[d](this[S]()));if(!this.buffer.length&&!this[a])this.emit("drain")}[d](t){return t?(this.emit("data",t),this.flowing):false}pipe(t,e){if(this[k])return;const r=this[u];e=e||{};if(t===process.stdout||t===process.stderr)e.end=false;else e.end=e.end!==false;const n={dest:t,opts:e,ondrain:t=>this[_]()};this.pipes.push(n);t.on("drain",n.ondrain);this[_]();if(r&&n.opts.end)n.dest.end();return t}addListener(t,e){return this.on(t,e)}on(t,e){try{return super.on(t,e)}finally{if(t==="data"&&!this.pipes.length&&!this.flowing)this[_]();else if(T(t)&&this[u]){super.emit(t);this.removeAllListeners(t)}}}get emittedEnd(){return this[u]}[c](){if(!this[l]&&!this[u]&&!this[k]&&this.buffer.length===0&&this[a]){this[l]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[f])this.emit("close");this[l]=false}}emit(t,e){if(t!=="error"&&t!=="close"&&t!==k&&this[k])return;else if(t==="data"){if(!e)return;if(this.pipes.length)this.pipes.forEach(t=>t.dest.write(e)===false&&this.pause())}else if(t==="end"){if(this[u]===true)return;this[u]=true;this.readable=false;if(this[v]){e=this[v].end();if(e){this.pipes.forEach(t=>t.dest.write(e));super.emit("data",e)}}this.pipes.forEach(t=>{t.dest.removeListener("drain",t.ondrain);if(t.opts.end)t.dest.end()})}else if(t==="close"){this[f]=true;if(!this[u]&&!this[k])return}const r=new Array(arguments.length);r[0]=t;r[1]=e;if(arguments.length>2){for(let t=2;t{t.push(e);if(!this[E])t.dataLength+=e.length});return e.then(()=>t)}concat(){return this[E]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(t=>this[E]?Promise.reject(new Error("cannot concat in objectMode")):this[y]?t.join(""):Buffer.concat(t,t.dataLength))}promise(){return new Promise((t,e)=>{this.on(k,()=>e(new Error("stream destroyed")));this.on("end",()=>t());this.on("error",t=>e(t))})}[C](){const t=()=>{const t=this.read();if(t!==null)return Promise.resolve({done:false,value:t});if(this[a])return Promise.resolve({done:true});let e=null;let r=null;const n=t=>{this.removeListener("data",i);this.removeListener("end",s);r(t)};const i=t=>{this.removeListener("error",n);this.removeListener("end",s);this.pause();e({value:t,done:!!this[a]})};const s=()=>{this.removeListener("error",n);this.removeListener("data",i);e({done:true})};const o=()=>n(new Error("stream destroyed"));return new Promise((t,a)=>{r=a;e=t;this.once(k,o);this.once("error",n);this.once("end",s);this.once("data",i)})};return{next:t}}[A](){const t=()=>{const t=this.read();const e=t===null;return{value:t,done:e}};return{next:t}}destroy(t){if(this[k]){if(t)this.emit("error",t);else this.emit(k);return this}this[k]=true;this.buffer=new s;this[w]=0;if(typeof this.close==="function"&&!this[f])this.close();if(t)this.emit("error",t);else this.emit(k);return this}static isStream(t){return!!t&&(t instanceof Minipass||t instanceof i||t instanceof n&&(typeof t.pipe==="function"||typeof t.write==="function"&&typeof t.end==="function"))}}},2253:t=>{"use strict";t.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next){yield t.value}}}},546:(t,e,r)=>{"use strict";t.exports=Yallist;Yallist.Node=Node;Yallist.create=Yallist;function Yallist(t){var e=this;if(!(e instanceof Yallist)){e=new Yallist}e.tail=null;e.head=null;e.length=0;if(t&&typeof t.forEach==="function"){t.forEach(function(t){e.push(t)})}else if(arguments.length>0){for(var r=0,n=arguments.length;r1){r=e}else if(this.head){n=this.head.next;r=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=0;n!==null;i++){r=t(r,n.value,i);n=n.next}return r};Yallist.prototype.reduceReverse=function(t,e){var r;var n=this.tail;if(arguments.length>1){r=e}else if(this.tail){n=this.tail.prev;r=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=this.length-1;n!==null;i--){r=t(r,n.value,i);n=n.prev}return r};Yallist.prototype.toArray=function(){var t=new Array(this.length);for(var e=0,r=this.head;r!==null;e++){t[e]=r.value;r=r.next}return t};Yallist.prototype.toArrayReverse=function(){var t=new Array(this.length);for(var e=0,r=this.tail;r!==null;e++){t[e]=r.value;r=r.prev}return t};Yallist.prototype.slice=function(t,e){e=e||this.length;if(e<0){e+=this.length}t=t||0;if(t<0){t+=this.length}var r=new Yallist;if(ethis.length){e=this.length}for(var n=0,i=this.head;i!==null&&nthis.length){e=this.length}for(var n=this.length,i=this.tail;i!==null&&n>e;n--){i=i.prev}for(;i!==null&&n>t;n--,i=i.prev){r.push(i.value)}return r};Yallist.prototype.splice=function(t,e,...r){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}for(var n=0,i=this.head;i!==null&&n{var n=r(3640);t.exports=n(once);t.exports.strict=n(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})});function once(t){var e=function(){if(e.called)return e.value;e.called=true;return e.value=t.apply(this,arguments)};e.called=false;return e}function onceStrict(t){var e=function(){if(e.called)throw new Error(e.onceError);e.called=true;return e.value=t.apply(this,arguments)};var r=t.name||"Function wrapped with `once`";e.onceError=r+" shouldn't be called more than once";e.called=false;return e}},6540:t=>{"use strict";function posix(t){return t.charAt(0)==="/"}function win32(t){var e=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;var r=e.exec(t);var n=r[1]||"";var i=Boolean(n&&n.charAt(1)!==":");return Boolean(r[2]||i)}t.exports=process.platform==="win32"?win32:posix;t.exports.posix=posix;t.exports.win32=win32},9346:(t,e,r)=>{"use strict";t.exports=inflight;let n;try{n=r(5229)}catch(t){n=Promise}const i={};inflight.active=i;function inflight(t,e){return n.all([t,e]).then(function(t){const e=t[0];const r=t[1];if(Array.isArray(e)){return n.all(e).then(function(t){return _inflight(t.join(""),r)})}else{return _inflight(e,r)}});function _inflight(t,e){if(!i[t]){i[t]=new n(function(t){return t(e())});i[t].then(cleanup,cleanup);function cleanup(){delete i[t]}}return i[t]}}},9536:(t,e,r)=>{"use strict";var n=r(5622);var i=r(5275);t.exports=function(t,e,r){return n.join(t,(e?e+"-":"")+i(r))}},5275:(t,e,r)=>{"use strict";var n=r(8681);t.exports=function(t){if(t){var e=new n(t);return("00000000"+e.result().toString(16)).substr(-8)}else{return(Math.random().toString(16)+"0000000").substr(2,8)}}},3640:t=>{t.exports=wrappy;function wrappy(t,e){if(t&&e)return wrappy(t)(e);if(typeof t!=="function")throw new TypeError("need wrapper function");Object.keys(t).forEach(function(e){wrapper[e]=t[e]});return wrapper;function wrapper(){var e=new Array(arguments.length);for(var r=0;r{"use strict";const n=r(1669);const i=r(5747);const s=r(595);const o=r(5575);const a=r(9409);const c=r(8351);const u=r(5283);const l=r(6436);const f=n.promisify(i.writeFile);t.exports=function get(t,e,r){return getData(false,t,e,r)};t.exports.byDigest=function getByDigest(t,e,r){return getData(true,t,e,r)};function getData(t,e,r,n={}){const{integrity:i,memoize:c,size:u}=n;const l=t?o.get.byDigest(e,r,n):o.get(e,r,n);if(l&&c!==false){return Promise.resolve(t?l:{metadata:l.entry.metadata,data:l.data,integrity:l.entry.integrity,size:l.entry.size})}return(t?Promise.resolve(null):s.find(e,r,n)).then(l=>{if(!l&&!t){throw new s.NotFoundError(e,r)}return a(e,t?r:l.integrity,{integrity:i,size:u}).then(e=>t?e:{data:e,metadata:l.metadata,size:l.size,integrity:l.integrity}).then(i=>{if(c&&t){o.put.byDigest(e,r,i,n)}else if(c){o.put(e,l,i.data,n)}return i})})}t.exports.sync=function get(t,e,r){return getDataSync(false,t,e,r)};t.exports.sync.byDigest=function getByDigest(t,e,r){return getDataSync(true,t,e,r)};function getDataSync(t,e,r,n={}){const{integrity:i,memoize:c,size:u}=n;const l=t?o.get.byDigest(e,r,n):o.get(e,r,n);if(l&&c!==false){return t?l:{metadata:l.entry.metadata,data:l.data,integrity:l.entry.integrity,size:l.entry.size}}const f=!t&&s.find.sync(e,r,n);if(!f&&!t){throw new s.NotFoundError(e,r)}const h=a.sync(e,t?r:f.integrity,{integrity:i,size:u});const p=t?h:{metadata:f.metadata,data:h,size:f.size,integrity:f.integrity};if(c&&t){o.put.byDigest(e,r,p,n)}else if(c){o.put(e,f,p.data,n)}return p}t.exports.stream=getStream;const h=t=>{const e=new c;e.on("newListener",function(e,r){e==="metadata"&&r(t.entry.metadata);e==="integrity"&&r(t.entry.integrity);e==="size"&&r(t.entry.size)});e.end(t.data);return e};function getStream(t,e,r={}){const{memoize:n,size:i}=r;const c=o.get(t,e,r);if(c&&n!==false){return h(c)}const f=new l;s.find(t,e).then(c=>{if(!c){throw new s.NotFoundError(t,e)}f.emit("metadata",c.metadata);f.emit("integrity",c.integrity);f.emit("size",c.size);f.on("newListener",function(t,e){t==="metadata"&&e(c.metadata);t==="integrity"&&e(c.integrity);t==="size"&&e(c.size)});const l=a.readStream(t,c.integrity,{...r,size:typeof i!=="number"?c.size:i});if(n){const e=new u.PassThrough;e.on("collect",e=>o.put(t,c,e,r));f.unshift(e)}f.unshift(l)}).catch(t=>f.emit("error",t));return f}t.exports.stream.byDigest=getStreamDigest;function getStreamDigest(t,e,r={}){const{memoize:n}=r;const i=o.get.byDigest(t,e,r);if(i&&n!==false){const t=new c;t.end(i);return t}else{const i=a.readStream(t,e,r);if(!n){return i}const s=new u.PassThrough;s.on("collect",n=>o.put.byDigest(t,e,n,r));return new l(i,s)}}t.exports.info=info;function info(t,e,r={}){const{memoize:n}=r;const i=o.get(t,e,r);if(i&&n!==false){return Promise.resolve(i.entry)}else{return s.find(t,e)}}t.exports.hasContent=a.hasContent;function cp(t,e,r,n){return copy(false,t,e,r,n)}t.exports.copy=cp;function cpDigest(t,e,r,n){return copy(true,t,e,r,n)}t.exports.copy.byDigest=cpDigest;function copy(t,e,r,n,i={}){if(a.copy){return(t?Promise.resolve(null):s.find(e,r,i)).then(o=>{if(!o&&!t){throw new s.NotFoundError(e,r)}return a.copy(e,t?r:o.integrity,n,i).then(()=>{return t?r:{metadata:o.metadata,size:o.size,integrity:o.integrity}})})}return getData(t,e,r,i).then(e=>{return f(n,t?e:e.data).then(()=>{return t?r:{metadata:e.metadata,size:e.size,integrity:e.integrity}})})}},7234:(t,e,r)=>{"use strict";const n=r(1048);const i=r(4761);const s=r(5576);const o=r(4876);const a=r(9869);const{clearMemoized:c}=r(5575);const u=r(644);t.exports.ls=n;t.exports.ls.stream=n.stream;t.exports.get=i;t.exports.get.byDigest=i.byDigest;t.exports.get.sync=i.sync;t.exports.get.sync.byDigest=i.sync.byDigest;t.exports.get.stream=i.stream;t.exports.get.stream.byDigest=i.stream.byDigest;t.exports.get.copy=i.copy;t.exports.get.copy.byDigest=i.copy.byDigest;t.exports.get.info=i.info;t.exports.get.hasContent=i.hasContent;t.exports.get.hasContent.sync=i.hasContent.sync;t.exports.put=s;t.exports.put.stream=s.stream;t.exports.rm=o.entry;t.exports.rm.all=o.all;t.exports.rm.entry=t.exports.rm;t.exports.rm.content=o.content;t.exports.clearMemoized=c;t.exports.tmp={};t.exports.tmp.mkdir=u.mkdir;t.exports.tmp.withTmp=u.withTmp;t.exports.verify=a;t.exports.verify.lastRun=a.lastRun},3491:(t,e,r)=>{"use strict";const n=r(1666).Jw.k;const i=r(2700);const s=r(5622);const o=r(6726);t.exports=contentPath;function contentPath(t,e){const r=o.parse(e,{single:true});return s.join(contentDir(t),r.algorithm,...i(r.hexDigest()))}t.exports.contentDir=contentDir;function contentDir(t){return s.join(t,`content-v${n}`)}},9409:(t,e,r)=>{"use strict";const n=r(1669);const i=r(5747);const s=r(7714);const o=r(6726);const a=r(3491);const c=r(6436);const u=n.promisify(i.lstat);const l=n.promisify(i.readFile);t.exports=read;const f=64*1024*1024;function read(t,e,r={}){const{size:n}=r;return withContentSri(t,e,(t,e)=>{return u(t).then(r=>({stat:r,cpath:t,sri:e}))}).then(({stat:t,cpath:e,sri:r})=>{if(typeof n==="number"&&t.size!==n){throw sizeError(n,t.size)}if(t.size>f){return h(e,t.size,r,new c).concat()}return l(e,null).then(t=>{if(!o.checkData(t,r)){throw integrityError(r,e)}return t})})}const h=(t,e,r,n)=>{n.push(new s.ReadStream(t,{size:e,readSize:f}),o.integrityStream({integrity:r,size:e}));return n};t.exports.sync=readSync;function readSync(t,e,r={}){const{size:n}=r;return withContentSriSync(t,e,(t,e)=>{const r=i.readFileSync(t);if(typeof n==="number"&&n!==r.length){throw sizeError(n,r.length)}if(o.checkData(r,e)){return r}throw integrityError(e,t)})}t.exports.stream=readStream;t.exports.readStream=readStream;function readStream(t,e,r={}){const{size:n}=r;const i=new c;withContentSri(t,e,(t,e)=>{return u(t).then(r=>({stat:r,cpath:t,sri:e}))}).then(({stat:t,cpath:e,sri:r})=>{if(typeof n==="number"&&n!==t.size){return i.emit("error",sizeError(n,t.size))}h(e,t.size,r,i)},t=>i.emit("error",t));return i}let p;if(i.copyFile){t.exports.copy=copy;t.exports.copy.sync=copySync;p=n.promisify(i.copyFile)}function copy(t,e,r){return withContentSri(t,e,(t,e)=>{return p(t,r)})}function copySync(t,e,r){return withContentSriSync(t,e,(t,e)=>{return i.copyFileSync(t,r)})}t.exports.hasContent=hasContent;function hasContent(t,e){if(!e){return Promise.resolve(false)}return withContentSri(t,e,(t,e)=>{return u(t).then(t=>({size:t.size,sri:e,stat:t}))}).catch(t=>{if(t.code==="ENOENT"){return false}if(t.code==="EPERM"){if(process.platform!=="win32"){throw t}else{return false}}})}t.exports.hasContent.sync=hasContentSync;function hasContentSync(t,e){if(!e){return false}return withContentSriSync(t,e,(t,e)=>{try{const r=i.lstatSync(t);return{size:r.size,sri:e,stat:r}}catch(t){if(t.code==="ENOENT"){return false}if(t.code==="EPERM"){if(process.platform!=="win32"){throw t}else{return false}}}})}function withContentSri(t,e,r){const n=()=>{const n=o.parse(e);const i=n.pickAlgorithm();const s=n[i];if(s.length<=1){const e=a(t,s[0]);return r(e,s[0])}else{return Promise.all(s.map(e=>{return withContentSri(t,e,r).catch(t=>{if(t.code==="ENOENT"){return Object.assign(new Error("No matching content found for "+n.toString()),{code:"ENOENT"})}return t})})).then(t=>{const e=t.find(t=>!(t instanceof Error));if(e){return e}const r=t.find(t=>t.code==="ENOENT");if(r){throw r}throw t.find(t=>t instanceof Error)})}};return new Promise((t,e)=>{try{n().then(t).catch(e)}catch(t){e(t)}})}function withContentSriSync(t,e,r){const n=o.parse(e);const i=n.pickAlgorithm();const s=n[i];if(s.length<=1){const e=a(t,s[0]);return r(e,s[0])}else{let e=null;for(const n of s){try{return withContentSriSync(t,n,r)}catch(t){e=t}}throw e}}function sizeError(t,e){const r=new Error(`Bad data size: expected inserted data to be ${t} bytes, but got ${e} instead`);r.expected=t;r.found=e;r.code="EBADSIZE";return r}function integrityError(t,e){const r=new Error(`Integrity verification failed for ${t} (${e})`);r.code="EINTEGRITY";r.sri=t;r.path=e;return r}},1343:(t,e,r)=>{"use strict";const n=r(1669);const i=r(3491);const{hasContent:s}=r(9409);const o=n.promisify(r(4959));t.exports=rm;function rm(t,e){return s(t,e).then(e=>{if(e&&e.sri){return o(i(t,e.sri)).then(()=>true)}else{return false}})}},3729:(t,e,r)=>{"use strict";const n=r(1669);const i=r(3491);const s=r(1191);const o=r(5747);const a=r(5604);const c=r(8351);const u=r(6436);const l=r(4145);const f=r(5622);const h=n.promisify(r(4959));const p=r(6726);const d=r(9536);const{disposer:y}=r(9131);const v=r(7714);const m=n.promisify(o.writeFile);t.exports=write;function write(t,e,r={}){const{algorithms:n,size:i,integrity:s}=r;if(n&&n.length>1){throw new Error("opts.algorithms only supports a single algorithm for now")}if(typeof i==="number"&&e.length!==i){return Promise.reject(sizeError(i,e.length))}const o=p.fromData(e,n?{algorithms:n}:{});if(s&&!p.checkData(e,s,r)){return Promise.reject(checksumError(s,o))}return y(makeTmp(t,r),makeTmpDisposer,n=>{return m(n.target,e,{flag:"wx"}).then(()=>moveToDestination(n,t,o,r))}).then(()=>({integrity:o,size:e.length}))}t.exports.stream=writeStream;class CacacheWriteStream extends l{constructor(t,e){super();this.opts=e;this.cache=t;this.inputStream=new c;this.inputStream.on("error",t=>this.emit("error",t));this.inputStream.on("drain",()=>this.emit("drain"));this.handleContentP=null}write(t,e,r){if(!this.handleContentP){this.handleContentP=handleContent(this.inputStream,this.cache,this.opts)}return this.inputStream.write(t,e,r)}flush(t){this.inputStream.end(()=>{if(!this.handleContentP){const e=new Error("Cache input stream was empty");e.code="ENODATA";return Promise.reject(e).catch(t)}this.handleContentP.then(e=>{e.integrity&&this.emit("integrity",e.integrity);e.size!==null&&this.emit("size",e.size);t()},e=>t(e))})}}function writeStream(t,e={}){return new CacacheWriteStream(t,e)}function handleContent(t,e,r){return y(makeTmp(e,r),makeTmpDisposer,n=>{return pipeToTmp(t,e,n.target,r).then(t=>{return moveToDestination(n,e,t.integrity,r).then(()=>t)})})}function pipeToTmp(t,e,r,n){let i;let s;const o=p.integrityStream({integrity:n.integrity,algorithms:n.algorithms,size:n.size});o.on("integrity",t=>{i=t});o.on("size",t=>{s=t});const a=new v.WriteStream(r,{flags:"wx"});const c=new u(t,o,a);return c.promise().then(()=>({integrity:i,size:s})).catch(t=>h(r).then(()=>{throw t}))}function makeTmp(t,e){const r=d(f.join(t,"tmp"),e.tmpPrefix);return s.mkdirfix(t,f.dirname(r)).then(()=>({target:r,moved:false}))}function makeTmpDisposer(t){if(t.moved){return Promise.resolve()}return h(t.target)}function moveToDestination(t,e,r,n){const o=i(e,r);const c=f.dirname(o);return s.mkdirfix(e,c).then(()=>{return a(t.target,o)}).then(()=>{t.moved=true;return s.chownr(e,o)})}function sizeError(t,e){const r=new Error(`Bad data size: expected inserted data to be ${t} bytes, but got ${e} instead`);r.expected=t;r.found=e;r.code="EBADSIZE";return r}function checksumError(t,e){const r=new Error(`Integrity check failed:\n Wanted: ${t}\n Found: ${e}`);r.code="EINTEGRITY";r.expected=t;r.found=e;return r}},595:(t,e,r)=>{"use strict";const n=r(1669);const i=r(6417);const s=r(5747);const o=r(8351);const a=r(5622);const c=r(6726);const u=r(3491);const l=r(1191);const f=r(2700);const h=r(1666).Jw.K;const p=n.promisify(s.appendFile);const d=n.promisify(s.readFile);const y=n.promisify(s.readdir);t.exports.NotFoundError=class NotFoundError extends Error{constructor(t,e){super(`No cache entry for ${e} found in ${t}`);this.code="ENOENT";this.cache=t;this.key=e}};t.exports.insert=insert;function insert(t,e,r,n={}){const{metadata:i,size:s}=n;const o=bucketPath(t,e);const u={key:e,integrity:r&&c.stringify(r),time:Date.now(),size:s,metadata:i};return l.mkdirfix(t,a.dirname(o)).then(()=>{const t=JSON.stringify(u);return p(o,`\n${hashEntry(t)}\t${t}`)}).then(()=>l.chownr(t,o)).catch(t=>{if(t.code==="ENOENT"){return undefined}throw t}).then(()=>{return formatEntry(t,u)})}t.exports.insert.sync=insertSync;function insertSync(t,e,r,n={}){const{metadata:i,size:o}=n;const u=bucketPath(t,e);const f={key:e,integrity:r&&c.stringify(r),time:Date.now(),size:o,metadata:i};l.mkdirfix.sync(t,a.dirname(u));const h=JSON.stringify(f);s.appendFileSync(u,`\n${hashEntry(h)}\t${h}`);try{l.chownr.sync(t,u)}catch(t){if(t.code!=="ENOENT"){throw t}}return formatEntry(t,f)}t.exports.find=find;function find(t,e){const r=bucketPath(t,e);return bucketEntries(r).then(r=>{return r.reduce((r,n)=>{if(n&&n.key===e){return formatEntry(t,n)}else{return r}},null)}).catch(t=>{if(t.code==="ENOENT"){return null}else{throw t}})}t.exports.find.sync=findSync;function findSync(t,e){const r=bucketPath(t,e);try{return bucketEntriesSync(r).reduce((r,n)=>{if(n&&n.key===e){return formatEntry(t,n)}else{return r}},null)}catch(t){if(t.code==="ENOENT"){return null}else{throw t}}}t.exports.delete=del;function del(t,e,r){return insert(t,e,null,r)}t.exports.delete.sync=delSync;function delSync(t,e,r){return insertSync(t,e,null,r)}t.exports.lsStream=lsStream;function lsStream(t){const e=bucketDir(t);const r=new o({objectMode:true});readdirOrEmpty(e).then(n=>Promise.all(n.map(n=>{const i=a.join(e,n);return readdirOrEmpty(i).then(e=>Promise.all(e.map(e=>{const n=a.join(i,e);return readdirOrEmpty(n).then(e=>Promise.all(e.map(e=>{const i=a.join(n,e);return bucketEntries(i).then(t=>t.reduce((t,e)=>{t.set(e.key,e);return t},new Map)).then(e=>{for(const n of e.values()){const e=formatEntry(t,n);if(e){r.write(e)}}}).catch(t=>{if(t.code==="ENOENT"){return undefined}throw t})})))})))}))).then(()=>r.end(),t=>r.emit("error",t));return r}t.exports.ls=ls;function ls(t){return lsStream(t).collect().then(t=>t.reduce((t,e)=>{t[e.key]=e;return t},{}))}function bucketEntries(t,e){return d(t,"utf8").then(t=>_bucketEntries(t,e))}function bucketEntriesSync(t,e){const r=s.readFileSync(t,"utf8");return _bucketEntries(r,e)}function _bucketEntries(t,e){const r=[];t.split("\n").forEach(t=>{if(!t){return}const e=t.split("\t");if(!e[1]||hashEntry(e[1])!==e[0]){return}let n;try{n=JSON.parse(e[1])}catch(t){return}if(n){r.push(n)}});return r}t.exports.bucketDir=bucketDir;function bucketDir(t){return a.join(t,`index-v${h}`)}t.exports.bucketPath=bucketPath;function bucketPath(t,e){const r=hashKey(e);return a.join.apply(a,[bucketDir(t)].concat(f(r)))}t.exports.hashKey=hashKey;function hashKey(t){return hash(t,"sha256")}t.exports.hashEntry=hashEntry;function hashEntry(t){return hash(t,"sha1")}function hash(t,e){return i.createHash(e).update(t).digest("hex")}function formatEntry(t,e){if(!e.integrity){return null}return{key:e.key,integrity:e.integrity,path:u(t,e.integrity),size:e.size,time:e.time,metadata:e.metadata}}function readdirOrEmpty(t){return y(t).catch(t=>{if(t.code==="ENOENT"||t.code==="ENOTDIR"){return[]}throw t})}},5575:(t,e,r)=>{"use strict";const n=r(738);const i=50*1024*1024;const s=3*60*1e3;const o=new n({max:i,maxAge:s,length:(t,e)=>e.startsWith("key:")?t.data.length:t.length});t.exports.clearMemoized=clearMemoized;function clearMemoized(){const t={};o.forEach((e,r)=>{t[r]=e});o.reset();return t}t.exports.put=put;function put(t,e,r,n){pickMem(n).set(`key:${t}:${e.key}`,{entry:e,data:r});putDigest(t,e.integrity,r,n)}t.exports.put.byDigest=putDigest;function putDigest(t,e,r,n){pickMem(n).set(`digest:${t}:${e}`,r)}t.exports.get=get;function get(t,e,r){return pickMem(r).get(`key:${t}:${e}`)}t.exports.get.byDigest=getDigest;function getDigest(t,e,r){return pickMem(r).get(`digest:${t}:${e}`)}class ObjProxy{constructor(t){this.obj=t}get(t){return this.obj[t]}set(t,e){this.obj[t]=e}}function pickMem(t){if(!t||!t.memoize){return o}else if(t.memoize.get&&t.memoize.set){return t.memoize}else if(typeof t.memoize==="object"){return new ObjProxy(t.memoize)}else{return o}}},9131:t=>{"use strict";t.exports.disposer=disposer;function disposer(t,e,r){const n=(t,r,n=false)=>{return e(t).then(()=>{if(n){throw r}return r},t=>{throw t})};return t.then(t=>{return Promise.resolve().then(()=>r(t)).then(e=>n(t,e)).catch(e=>n(t,e,true))})}},1191:(t,e,r)=>{"use strict";const n=r(1669);const i=n.promisify(r(9051));const s=r(6186);const o=r(9346);const a=r(9609);const c={uid:null,gid:null};const u=()=>{if(typeof c.uid!=="number"){c.uid=process.getuid();const t=process.setuid;process.setuid=(e=>{c.uid=null;process.setuid=t;return process.setuid(e)})}if(typeof c.gid!=="number"){c.gid=process.getgid();const t=process.setgid;process.setgid=(e=>{c.gid=null;process.setgid=t;return process.setgid(e)})}};t.exports.chownr=fixOwner;function fixOwner(t,e){if(!process.getuid){return Promise.resolve()}u();if(c.uid!==0){return Promise.resolve()}return Promise.resolve(a(t)).then(t=>{const{uid:r,gid:n}=t;if(c.uid===r&&c.gid===n){return}return o("fixOwner: fixing ownership on "+e,()=>i(e,typeof r==="number"?r:c.uid,typeof n==="number"?n:c.gid).catch(t=>{if(t.code==="ENOENT"){return null}throw t}))})}t.exports.chownr.sync=fixOwnerSync;function fixOwnerSync(t,e){if(!process.getuid){return}const{uid:r,gid:n}=a.sync(t);u();if(c.uid!==0){return}if(c.uid===r&&c.gid===n){return}try{i.sync(e,typeof r==="number"?r:c.uid,typeof n==="number"?n:c.gid)}catch(t){if(t.code==="ENOENT"){return null}throw t}}t.exports.mkdirfix=mkdirfix;function mkdirfix(t,e,r){return Promise.resolve(a(t)).then(()=>{return s(e).then(e=>{if(e){return fixOwner(t,e).then(()=>e)}}).catch(r=>{if(r.code==="EEXIST"){return fixOwner(t,e).then(()=>null)}throw r})})}t.exports.mkdirfix.sync=mkdirfixSync;function mkdirfixSync(t,e){try{a.sync(t);const r=s.sync(e);if(r){fixOwnerSync(t,r);return r}}catch(r){if(r.code==="EEXIST"){fixOwnerSync(t,e);return null}else{throw r}}}},2700:t=>{"use strict";t.exports=hashToSegments;function hashToSegments(t){return[t.slice(0,2),t.slice(2,4),t.slice(4)]}},5604:(t,e,r)=>{"use strict";const n=r(5747);const i=r(1669);const s=i.promisify(n.chmod);const o=i.promisify(n.unlink);const a=i.promisify(n.stat);const c=r(3485);const u=r(9346);t.exports=moveFile;function moveFile(t,e){const r=global.__CACACHE_TEST_FAKE_WINDOWS__||process.platform==="win32";return new Promise((i,s)=>{n.link(t,e,t=>{if(t){if(r&&t.code==="EPERM"){return i()}else if(t.code==="EEXIST"||t.code==="EBUSY"){return i()}else{return s(t)}}else{return i()}})}).then(()=>{return Promise.all([o(t),!r&&s(e,"0444")])}).catch(()=>{return u("cacache-move-file:"+e,()=>{return a(e).catch(r=>{if(r.code!=="ENOENT"){throw r}return c(t,e)})})})}},644:(t,e,r)=>{"use strict";const n=r(1669);const i=r(1191);const s=r(5622);const o=n.promisify(r(4959));const a=r(9536);const{disposer:c}=r(9131);t.exports.mkdir=mktmpdir;function mktmpdir(t,e={}){const{tmpPrefix:r}=e;const n=a(s.join(t,"tmp"),r);return i.mkdirfix(t,n).then(()=>{return n})}t.exports.withTmp=withTmp;function withTmp(t,e,r){if(!r){r=e;e={}}return c(mktmpdir(t,e),o,r)}t.exports.fix=fixtmpdir;function fixtmpdir(t){return i(t,s.join(t,"tmp"))}},584:(t,e,r)=>{"use strict";const n=r(1669);const i=r(1855);const s=r(3491);const o=r(1191);const a=r(5747);const c=r(7714);const u=n.promisify(r(7966));const l=r(595);const f=r(5622);const h=n.promisify(r(4959));const p=r(6726);const d=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);const y=n.promisify(a.stat);const v=n.promisify(a.truncate);const m=n.promisify(a.writeFile);const g=n.promisify(a.readFile);const _=t=>({concurrency:20,log:{silly(){}},...t});t.exports=verify;function verify(t,e){e=_(e);e.log.silly("verify","verifying cache at",t);const r=[markStartTime,fixPerms,garbageCollect,rebuildIndex,cleanTmp,writeVerifile,markEndTime];return r.reduce((r,n,i)=>{const s=n.name;const o=new Date;return r.then(r=>{return n(t,e).then(t=>{t&&Object.keys(t).forEach(e=>{r[e]=t[e]});const e=new Date;if(!r.runTime){r.runTime={}}r.runTime[s]=e-o;return Promise.resolve(r)})})},Promise.resolve({})).then(r=>{r.runTime.total=r.endTime-r.startTime;e.log.silly("verify","verification finished for",t,"in",`${r.runTime.total}ms`);return r})}function markStartTime(t,e){return Promise.resolve({startTime:new Date})}function markEndTime(t,e){return Promise.resolve({endTime:new Date})}function fixPerms(t,e){e.log.silly("verify","fixing cache permissions");return o.mkdirfix(t,t).then(()=>{return o.chownr(t,t)}).then(()=>null)}function garbageCollect(t,e){e.log.silly("verify","garbage collecting content");const r=l.lsStream(t);const n=new Set;r.on("data",t=>{if(e.filter&&!e.filter(t)){return}n.add(t.integrity.toString())});return new Promise((t,e)=>{r.on("end",t).on("error",e)}).then(()=>{const r=s.contentDir(t);return u(f.join(r,"**"),{follow:false,nodir:true,nosort:true}).then(t=>{return Promise.resolve({verifiedContent:0,reclaimedCount:0,reclaimedSize:0,badContentCount:0,keptSize:0}).then(r=>i(t,t=>{const e=t.split(/[/\\]/);const i=e.slice(e.length-3).join("");const s=e[e.length-4];const o=p.fromHex(i,s);if(n.has(o.toString())){return verifyContent(t,o).then(t=>{if(!t.valid){r.reclaimedCount++;r.badContentCount++;r.reclaimedSize+=t.size}else{r.verifiedContent++;r.keptSize+=t.size}return r})}else{r.reclaimedCount++;return y(t).then(e=>{return h(t).then(()=>{r.reclaimedSize+=e.size;return r})})}},{concurrency:e.concurrency}).then(()=>r))})})}function verifyContent(t,e){return y(t).then(r=>{const n={size:r.size,valid:true};return p.checkStream(new c.ReadStream(t),e).catch(e=>{if(e.code!=="EINTEGRITY"){throw e}return h(t).then(()=>{n.valid=false})}).then(()=>n)}).catch(t=>{if(t.code==="ENOENT"){return{size:0,valid:false}}throw t})}function rebuildIndex(t,e){e.log.silly("verify","rebuilding index");return l.ls(t).then(r=>{const n={missingContent:0,rejectedEntries:0,totalEntries:0};const s={};for(const i in r){if(d(r,i)){const o=l.hashKey(i);const a=r[i];const c=e.filter&&!e.filter(a);c&&n.rejectedEntries++;if(s[o]&&!c){s[o].push(a)}else if(s[o]&&c){}else if(c){s[o]=[];s[o]._path=l.bucketPath(t,i)}else{s[o]=[a];s[o]._path=l.bucketPath(t,i)}}}return i(Object.keys(s),r=>{return rebuildBucket(t,s[r],n,e)},{concurrency:e.concurrency}).then(()=>n)})}function rebuildBucket(t,e,r,n){return v(e._path).then(()=>{return e.reduce((e,n)=>{return e.then(()=>{const e=s(t,n.integrity);return y(e).then(()=>{return l.insert(t,n.key,n.integrity,{metadata:n.metadata,size:n.size}).then(()=>{r.totalEntries++})}).catch(t=>{if(t.code==="ENOENT"){r.rejectedEntries++;r.missingContent++;return}throw t})})},Promise.resolve())})}function cleanTmp(t,e){e.log.silly("verify","cleaning tmp directory");return h(f.join(t,"tmp"))}function writeVerifile(t,e){const r=f.join(t,"_lastverified");e.log.silly("verify","writing verifile to "+r);try{return m(r,""+ +new Date)}finally{o.chownr.sync(t,r)}}t.exports.lastRun=lastRun;function lastRun(t){return g(f.join(t,"_lastverified"),"utf8").then(t=>new Date(+t))}},1048:(t,e,r)=>{"use strict";const n=r(595);t.exports=n.ls;t.exports.stream=n.lsStream},738:(t,e,r)=>{"use strict";const n=r(665);const i=Symbol("max");const s=Symbol("length");const o=Symbol("lengthCalculator");const a=Symbol("allowStale");const c=Symbol("maxAge");const u=Symbol("dispose");const l=Symbol("noDisposeOnSet");const f=Symbol("lruList");const h=Symbol("cache");const p=Symbol("updateAgeOnGet");const d=()=>1;class LRUCache{constructor(t){if(typeof t==="number")t={max:t};if(!t)t={};if(t.max&&(typeof t.max!=="number"||t.max<0))throw new TypeError("max must be a non-negative number");const e=this[i]=t.max||Infinity;const r=t.length||d;this[o]=typeof r!=="function"?d:r;this[a]=t.stale||false;if(t.maxAge&&typeof t.maxAge!=="number")throw new TypeError("maxAge must be a number");this[c]=t.maxAge||0;this[u]=t.dispose;this[l]=t.noDisposeOnSet||false;this[p]=t.updateAgeOnGet||false;this.reset()}set max(t){if(typeof t!=="number"||t<0)throw new TypeError("max must be a non-negative number");this[i]=t||Infinity;m(this)}get max(){return this[i]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if(typeof t!=="number")throw new TypeError("maxAge must be a non-negative number");this[c]=t;m(this)}get maxAge(){return this[c]}set lengthCalculator(t){if(typeof t!=="function")t=d;if(t!==this[o]){this[o]=t;this[s]=0;this[f].forEach(t=>{t.length=this[o](t.value,t.key);this[s]+=t.length})}m(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[f].length}rforEach(t,e){e=e||this;for(let r=this[f].tail;r!==null;){const n=r.prev;_(this,t,r,e);r=n}}forEach(t,e){e=e||this;for(let r=this[f].head;r!==null;){const n=r.next;_(this,t,r,e);r=n}}keys(){return this[f].toArray().map(t=>t.key)}values(){return this[f].toArray().map(t=>t.value)}reset(){if(this[u]&&this[f]&&this[f].length){this[f].forEach(t=>this[u](t.key,t.value))}this[h]=new Map;this[f]=new n;this[s]=0}dump(){return this[f].map(t=>v(this,t)?false:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[f]}set(t,e,r){r=r||this[c];if(r&&typeof r!=="number")throw new TypeError("maxAge must be a number");const n=r?Date.now():0;const a=this[o](e,t);if(this[h].has(t)){if(a>this[i]){g(this,this[h].get(t));return false}const o=this[h].get(t);const c=o.value;if(this[u]){if(!this[l])this[u](t,c.value)}c.now=n;c.maxAge=r;c.value=e;this[s]+=a-c.length;c.length=a;this.get(t);m(this);return true}const p=new Entry(t,e,a,n,r);if(p.length>this[i]){if(this[u])this[u](t,e);return false}this[s]+=p.length;this[f].unshift(p);this[h].set(t,this[f].head);m(this);return true}has(t){if(!this[h].has(t))return false;const e=this[h].get(t).value;return!v(this,e)}get(t){return y(this,t,true)}peek(t){return y(this,t,false)}pop(){const t=this[f].tail;if(!t)return null;g(this,t);return t.value}del(t){g(this,this[h].get(t))}load(t){this.reset();const e=Date.now();for(let r=t.length-1;r>=0;r--){const n=t[r];const i=n.e||0;if(i===0)this.set(n.k,n.v);else{const t=i-e;if(t>0){this.set(n.k,n.v,t)}}}}prune(){this[h].forEach((t,e)=>y(this,e,false))}}const y=(t,e,r)=>{const n=t[h].get(e);if(n){const e=n.value;if(v(t,e)){g(t,n);if(!t[a])return undefined}else{if(r){if(t[p])n.value.now=Date.now();t[f].unshiftNode(n)}}return e.value}};const v=(t,e)=>{if(!e||!e.maxAge&&!t[c])return false;const r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[c]&&r>t[c]};const m=t=>{if(t[s]>t[i]){for(let e=t[f].tail;t[s]>t[i]&&e!==null;){const r=e.prev;g(t,e);e=r}}};const g=(t,e)=>{if(e){const r=e.value;if(t[u])t[u](r.key,r.value);t[s]-=r.length;t[h].delete(r.key);t[f].removeNode(e)}};class Entry{constructor(t,e,r,n,i){this.key=t;this.value=e;this.length=r;this.now=n;this.maxAge=i||0}}const _=(t,e,r,n)=>{let i=r.value;if(v(t,i)){g(t,r);if(!t[a])i=undefined}if(i)e.call(n,i.value,i.key,t)};t.exports=LRUCache},5576:(t,e,r)=>{"use strict";const n=r(595);const i=r(5575);const s=r(3729);const o=r(4145);const{PassThrough:a}=r(5283);const c=r(6436);const u=t=>({algorithms:["sha512"],...t});t.exports=putData;function putData(t,e,r,o={}){const{memoize:a}=o;o=u(o);return s(t,r,o).then(s=>{return n.insert(t,e,s.integrity,{...o,size:s.size}).then(e=>{if(a){i.put(t,e,r,o)}return s.integrity})})}t.exports.stream=putStream;function putStream(t,e,r={}){const{memoize:l}=r;r=u(r);let f;let h;let p;const d=new c;if(l){const t=(new a).on("collect",t=>{p=t});d.push(t)}const y=s.stream(t,r).on("integrity",t=>{f=t}).on("size",t=>{h=t});d.push(y);d.push(new o({flush(){return n.insert(t,e,f,{...r,size:h}).then(e=>{if(l&&p){i.put(t,e,p,r)}if(f){d.emit("integrity",f)}if(h){d.emit("size",h)}})}}));return d}},4876:(t,e,r)=>{"use strict";const n=r(1669);const i=r(595);const s=r(5575);const o=r(5622);const a=n.promisify(r(4959));const c=r(1343);t.exports=entry;t.exports.entry=entry;function entry(t,e){s.clearMemoized();return i.delete(t,e)}t.exports.content=content;function content(t,e){s.clearMemoized();return c(t,e)}t.exports.all=all;function all(t){s.clearMemoized();return a(o.join(t,"*(content-*|index-*)"))}},9869:(t,e,r)=>{"use strict";t.exports=r(584)},9051:(t,e,r)=>{"use strict";const n=r(5747);const i=r(5622);const s=n.lchown?"lchown":"chown";const o=n.lchownSync?"lchownSync":"chownSync";const a=n.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/);const c=(t,e,r)=>{try{return n[o](t,e,r)}catch(t){if(t.code!=="ENOENT")throw t}};const u=(t,e,r)=>{try{return n.chownSync(t,e,r)}catch(t){if(t.code!=="ENOENT")throw t}};const l=a?(t,e,r,i)=>s=>{if(!s||s.code!=="EISDIR")i(s);else n.chown(t,e,r,i)}:(t,e,r,n)=>n;const f=a?(t,e,r)=>{try{return c(t,e,r)}catch(n){if(n.code!=="EISDIR")throw n;u(t,e,r)}}:(t,e,r)=>c(t,e,r);const h=process.version;let p=(t,e,r)=>n.readdir(t,e,r);let d=(t,e)=>n.readdirSync(t,e);if(/^v4\./.test(h))p=((t,e,r)=>n.readdir(t,r));const y=(t,e,r,i)=>{n[s](t,e,r,l(t,e,r,t=>{i(t&&t.code!=="ENOENT"?t:null)}))};const v=(t,e,r,s,o)=>{if(typeof e==="string")return n.lstat(i.resolve(t,e),(n,i)=>{if(n)return o(n.code!=="ENOENT"?n:null);i.name=e;v(t,i,r,s,o)});if(e.isDirectory()){m(i.resolve(t,e.name),r,s,n=>{if(n)return o(n);const a=i.resolve(t,e.name);y(a,r,s,o)})}else{const n=i.resolve(t,e.name);y(n,r,s,o)}};const m=(t,e,r,n)=>{p(t,{withFileTypes:true},(i,s)=>{if(i){if(i.code==="ENOENT")return n();else if(i.code!=="ENOTDIR"&&i.code!=="ENOTSUP")return n(i)}if(i||!s.length)return y(t,e,r,n);let o=s.length;let a=null;const c=i=>{if(a)return;if(i)return n(a=i);if(--o===0)return y(t,e,r,n)};s.forEach(n=>v(t,n,e,r,c))})};const g=(t,e,r,s)=>{if(typeof e==="string"){try{const r=n.lstatSync(i.resolve(t,e));r.name=e;e=r}catch(t){if(t.code==="ENOENT")return;else throw t}}if(e.isDirectory())_(i.resolve(t,e.name),r,s);f(i.resolve(t,e.name),r,s)};const _=(t,e,r)=>{let n;try{n=d(t,{withFileTypes:true})}catch(n){if(n.code==="ENOENT")return;else if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return f(t,e,r);else throw n}if(n&&n.length)n.forEach(n=>g(t,n,e,r));return f(t,e,r)};t.exports=m;m.sync=_},7714:(t,e,r)=>{"use strict";const n=r(8351);const i=r(8614).EventEmitter;const s=r(5747);let o=s.writev;if(!o){const t=process.binding("fs");const e=t.FSReqWrap||t.FSReqCallback;o=((r,n,i,s)=>{const o=(t,e)=>s(t,e,n);const a=new e;a.oncomplete=o;t.writeBuffers(r,n,i,a)})}const a=Symbol("_autoClose");const c=Symbol("_close");const u=Symbol("_ended");const l=Symbol("_fd");const f=Symbol("_finished");const h=Symbol("_flags");const p=Symbol("_flush");const d=Symbol("_handleChunk");const y=Symbol("_makeBuf");const v=Symbol("_mode");const m=Symbol("_needDrain");const g=Symbol("_onerror");const _=Symbol("_onopen");const w=Symbol("_onread");const b=Symbol("_onwrite");const S=Symbol("_open");const E=Symbol("_path");const k=Symbol("_pos");const x=Symbol("_queue");const C=Symbol("_read");const A=Symbol("_readSize");const T=Symbol("_reading");const P=Symbol("_remain");const j=Symbol("_size");const O=Symbol("_write");const F=Symbol("_writing");const R=Symbol("_defaultFlag");const N=Symbol("_errored");class ReadStream extends n{constructor(t,e){e=e||{};super(e);this.readable=true;this.writable=false;if(typeof t!=="string")throw new TypeError("path must be a string");this[N]=false;this[l]=typeof e.fd==="number"?e.fd:null;this[E]=t;this[A]=e.readSize||16*1024*1024;this[T]=false;this[j]=typeof e.size==="number"?e.size:Infinity;this[P]=this[j];this[a]=typeof e.autoClose==="boolean"?e.autoClose:true;if(typeof this[l]==="number")this[C]();else this[S]()}get fd(){return this[l]}get path(){return this[E]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[S](){s.open(this[E],"r",(t,e)=>this[_](t,e))}[_](t,e){if(t)this[g](t);else{this[l]=e;this.emit("open",e);this[C]()}}[y](){return Buffer.allocUnsafe(Math.min(this[A],this[P]))}[C](){if(!this[T]){this[T]=true;const t=this[y]();if(t.length===0)return process.nextTick(()=>this[w](null,0,t));s.read(this[l],t,0,t.length,null,(t,e,r)=>this[w](t,e,r))}}[w](t,e,r){this[T]=false;if(t)this[g](t);else if(this[d](e,r))this[C]()}[c](){if(this[a]&&typeof this[l]==="number"){const t=this[l];this[l]=null;s.close(t,t=>t?this.emit("error",t):this.emit("close"))}}[g](t){this[T]=true;this[c]();this.emit("error",t)}[d](t,e){let r=false;this[P]-=t;if(t>0)r=super.write(tthis[_](t,e))}[_](t,e){if(this[R]&&this[h]==="r+"&&t&&t.code==="ENOENT"){this[h]="w";this[S]()}else if(t)this[g](t);else{this[l]=e;this.emit("open",e);this[p]()}}end(t,e){if(t)this.write(t,e);this[u]=true;if(!this[F]&&!this[x].length&&typeof this[l]==="number")this[b](null,0);return this}write(t,e){if(typeof t==="string")t=Buffer.from(t,e);if(this[u]){this.emit("error",new Error("write() after end()"));return false}if(this[l]===null||this[F]||this[x].length){this[x].push(t);this[m]=true;return false}this[F]=true;this[O](t);return true}[O](t){s.write(this[l],t,0,t.length,this[k],(t,e)=>this[b](t,e))}[b](t,e){if(t)this[g](t);else{if(this[k]!==null)this[k]+=e;if(this[x].length)this[p]();else{this[F]=false;if(this[u]&&!this[f]){this[f]=true;this[c]();this.emit("finish")}else if(this[m]){this[m]=false;this.emit("drain")}}}}[p](){if(this[x].length===0){if(this[u])this[b](null,0)}else if(this[x].length===1)this[O](this[x].pop());else{const t=this[x];this[x]=[];o(this[l],t,this[k],(t,e)=>this[b](t,e))}}[c](){if(this[a]&&typeof this[l]==="number"){const t=this[l];this[l]=null;s.close(t,t=>t?this.emit("error",t):this.emit("close"))}}}class WriteStreamSync extends WriteStream{[S](){let t;if(this[R]&&this[h]==="r+"){try{t=s.openSync(this[E],this[h],this[v])}catch(t){if(t.code==="ENOENT"){this[h]="w";return this[S]()}else throw t}}else t=s.openSync(this[E],this[h],this[v]);this[_](null,t)}[c](){if(this[a]&&typeof this[l]==="number"){const t=this[l];this[l]=null;s.closeSync(t);this.emit("close")}}[O](t){let e=true;try{this[b](null,s.writeSync(this[l],t,0,t.length,this[k]));e=false}finally{if(e)try{this[c]()}catch(t){}}}}e.ReadStream=ReadStream;e.ReadStreamSync=ReadStreamSync;e.WriteStream=WriteStream;e.WriteStreamSync=WriteStreamSync},6186:(t,e,r)=>{const n=r(2853);const i=r(2930);const{mkdirpNative:s,mkdirpNativeSync:o}=r(4983);const{mkdirpManual:a,mkdirpManualSync:c}=r(356);const{useNative:u,useNativeSync:l}=r(4518);const f=(t,e)=>{t=i(t);e=n(e);return u(e)?s(t,e):a(t,e)};const h=(t,e)=>{t=i(t);e=n(e);return l(e)?o(t,e):c(t,e)};f.sync=h;f.native=((t,e)=>s(i(t),n(e)));f.manual=((t,e)=>a(i(t),n(e)));f.nativeSync=((t,e)=>o(i(t),n(e)));f.manualSync=((t,e)=>c(i(t),n(e)));t.exports=f},4992:(t,e,r)=>{const{dirname:n}=r(5622);const i=(t,e,r=undefined)=>{if(r===e)return Promise.resolve();return t.statAsync(e).then(t=>t.isDirectory()?r:undefined,r=>r.code==="ENOENT"?i(t,n(e),e):undefined)};const s=(t,e,r=undefined)=>{if(r===e)return undefined;try{return t.statSync(e).isDirectory()?r:undefined}catch(r){return r.code==="ENOENT"?s(t,n(e),e):undefined}};t.exports={findMade:i,findMadeSync:s}},356:(t,e,r)=>{const{dirname:n}=r(5622);const i=(t,e,r)=>{e.recursive=false;const s=n(t);if(s===t){return e.mkdirAsync(t,e).catch(t=>{if(t.code!=="EISDIR")throw t})}return e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return i(s,e).then(r=>i(t,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(t=>{if(t.isDirectory())return r;else throw n},()=>{throw n})})};const s=(t,e,r)=>{const i=n(t);e.recursive=false;if(i===t){try{return e.mkdirSync(t,e)}catch(t){if(t.code!=="EISDIR")throw t;else return}}try{e.mkdirSync(t,e);return r||t}catch(n){if(n.code==="ENOENT")return s(t,e,s(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(t){throw n}}};t.exports={mkdirpManual:i,mkdirpManualSync:s}},4983:(t,e,r)=>{const{dirname:n}=r(5622);const{findMade:i,findMadeSync:s}=r(4992);const{mkdirpManual:o,mkdirpManualSync:a}=r(356);const c=(t,e)=>{e.recursive=true;const r=n(t);if(r===t)return e.mkdirAsync(t,e);return i(e,t).then(r=>e.mkdirAsync(t,e).then(()=>r).catch(r=>{if(r.code==="ENOENT")return o(t,e);else throw r}))};const u=(t,e)=>{e.recursive=true;const r=n(t);if(r===t)return e.mkdirSync(t,e);const i=s(e,t);try{e.mkdirSync(t,e);return i}catch(r){if(r.code==="ENOENT")return a(t,e);else throw r}};t.exports={mkdirpNative:c,mkdirpNativeSync:u}},2853:(t,e,r)=>{const{promisify:n}=r(1669);const i=r(5747);const s=t=>{if(!t)t={mode:511,fs:i};else if(typeof t==="object")t={mode:511,fs:i,...t};else if(typeof t==="number")t={mode:t,fs:i};else if(typeof t==="string")t={mode:parseInt(t,8),fs:i};else throw new TypeError("invalid options argument");t.mkdir=t.mkdir||t.fs.mkdir||i.mkdir;t.mkdirAsync=n(t.mkdir);t.stat=t.stat||t.fs.stat||i.stat;t.statAsync=n(t.stat);t.statSync=t.statSync||t.fs.statSync||i.statSync;t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||i.mkdirSync;return t};t.exports=s},2930:(t,e,r)=>{const n=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const{resolve:i,parse:s}=r(5622);const o=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=i(t);if(n==="win32"){const e=/[*|"<>?:]/;const{root:r}=s(t);if(e.test(t.substr(r.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};t.exports=o},4518:(t,e,r)=>{const n=r(5747);const i=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const s=i.replace(/^v/,"").split(".");const o=+s[0]>10||+s[0]===10&&+s[1]>=12;const a=!o?()=>false:t=>t.mkdir===n.mkdir;const c=!o?()=>false:t=>t.mkdirSync===n.mkdirSync;t.exports={useNative:a,useNativeSync:c}},1855:(t,e,r)=>{"use strict";const n=r(464);t.exports=(async(t,e,{concurrency:r=Infinity,stopOnError:i=true}={})=>{return new Promise((s,o)=>{if(typeof e!=="function"){throw new TypeError("Mapper function is required")}if(!((Number.isSafeInteger(r)||r===Infinity)&&r>=1)){throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${r}\` (${typeof r})`)}const a=[];const c=[];const u=t[Symbol.iterator]();let l=false;let f=false;let h=0;let p=0;const d=()=>{if(l){return}const t=u.next();const r=p;p++;if(t.done){f=true;if(h===0){if(!i&&c.length!==0){o(new n(c))}else{s(a)}}return}h++;(async()=>{try{const n=await t.value;a[r]=await e(n,r);h--;d()}catch(t){if(i){l=true;o(t)}else{c.push(t);h--;d()}}})()};for(let t=0;t{const n=r(2357);const i=r(5622);const s=r(5747);let o=undefined;try{o=r(7966)}catch(t){}const a={nosort:true,silent:true};let c=0;const u=process.platform==="win32";const l=t=>{const e=["unlink","chmod","stat","lstat","rmdir","readdir"];e.forEach(e=>{t[e]=t[e]||s[e];e=e+"Sync";t[e]=t[e]||s[e]});t.maxBusyTries=t.maxBusyTries||3;t.emfileWait=t.emfileWait||1e3;if(t.glob===false){t.disableGlob=true}if(t.disableGlob!==true&&o===undefined){throw Error("glob dependency not found, set `options.disableGlob = true` if intentional")}t.disableGlob=t.disableGlob||false;t.glob=t.glob||a};const f=(t,e,r)=>{if(typeof e==="function"){r=e;e={}}n(t,"rimraf: missing path");n.equal(typeof t,"string","rimraf: path should be a string");n.equal(typeof r,"function","rimraf: callback function required");n(e,"rimraf: invalid options argument provided");n.equal(typeof e,"object","rimraf: options should be object");l(e);let i=0;let s=null;let a=0;const u=t=>{s=s||t;if(--a===0)r(s)};const f=(t,n)=>{if(t)return r(t);a=n.length;if(a===0)return r();n.forEach(t=>{const r=n=>{if(n){if((n.code==="EBUSY"||n.code==="ENOTEMPTY"||n.code==="EPERM")&&ih(t,e,r),i*100)}if(n.code==="EMFILE"&&ch(t,e,r),c++)}if(n.code==="ENOENT")n=null}c=0;u(n)};h(t,e,r)})};if(e.disableGlob||!o.hasMagic(t))return f(null,[t]);e.lstat(t,(r,n)=>{if(!r)return f(null,[t]);o(t,e.glob,f)})};const h=(t,e,r)=>{n(t);n(e);n(typeof r==="function");e.lstat(t,(n,i)=>{if(n&&n.code==="ENOENT")return r(null);if(n&&n.code==="EPERM"&&u)p(t,e,n,r);if(i&&i.isDirectory())return y(t,e,n,r);e.unlink(t,n=>{if(n){if(n.code==="ENOENT")return r(null);if(n.code==="EPERM")return u?p(t,e,n,r):y(t,e,n,r);if(n.code==="EISDIR")return y(t,e,n,r)}return r(n)})})};const p=(t,e,r,i)=>{n(t);n(e);n(typeof i==="function");e.chmod(t,438,n=>{if(n)i(n.code==="ENOENT"?null:r);else e.stat(t,(n,s)=>{if(n)i(n.code==="ENOENT"?null:r);else if(s.isDirectory())y(t,e,r,i);else e.unlink(t,i)})})};const d=(t,e,r)=>{n(t);n(e);try{e.chmodSync(t,438)}catch(t){if(t.code==="ENOENT")return;else throw r}let i;try{i=e.statSync(t)}catch(t){if(t.code==="ENOENT")return;else throw r}if(i.isDirectory())g(t,e,r);else e.unlinkSync(t)};const y=(t,e,r,i)=>{n(t);n(e);n(typeof i==="function");e.rmdir(t,n=>{if(n&&(n.code==="ENOTEMPTY"||n.code==="EEXIST"||n.code==="EPERM"))v(t,e,i);else if(n&&n.code==="ENOTDIR")i(r);else i(n)})};const v=(t,e,r)=>{n(t);n(e);n(typeof r==="function");e.readdir(t,(n,s)=>{if(n)return r(n);let o=s.length;if(o===0)return e.rmdir(t,r);let a;s.forEach(n=>{f(i.join(t,n),e,n=>{if(a)return;if(n)return r(a=n);if(--o===0)e.rmdir(t,r)})})})};const m=(t,e)=>{e=e||{};l(e);n(t,"rimraf: missing path");n.equal(typeof t,"string","rimraf: path should be a string");n(e,"rimraf: missing options");n.equal(typeof e,"object","rimraf: options should be object");let r;if(e.disableGlob||!o.hasMagic(t)){r=[t]}else{try{e.lstatSync(t);r=[t]}catch(n){r=o.sync(t,e.glob)}}if(!r.length)return;for(let t=0;t{n(t);n(e);try{e.rmdirSync(t)}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR")throw r;if(n.code==="ENOTEMPTY"||n.code==="EEXIST"||n.code==="EPERM")_(t,e)}};const _=(t,e)=>{n(t);n(e);e.readdirSync(t).forEach(r=>m(i.join(t,r),e));const r=u?100:1;let s=0;do{let n=true;try{const i=e.rmdirSync(t,e);n=false;return i}finally{if(++s{"use strict";const n=r(6417);const i=r(8351);const s=["sha256","sha384","sha512"];const o=/^[a-z0-9+/]+(?:=?=?)$/i;const a=/^([a-z0-9]+)-([^?]+)([?\S*]*)$/;const c=/^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/;const u=/^[\x21-\x7E]+$/;const l={algorithms:["sha512"],error:false,options:[],pickAlgorithm:getPrioritizedHash,sep:" ",single:false,strict:false};const f=(t={})=>({...l,...t});const h=t=>!t||!t.length?"":`?${t.join("?")}`;const p=Symbol("_onEnd");const d=Symbol("_getOptions");class IntegrityStream extends i{constructor(t){super();this.size=0;this.opts=t;this[d]();const{algorithms:e=l.algorithms}=t;this.algorithms=Array.from(new Set(e.concat(this.algorithm?[this.algorithm]:[])));this.hashes=this.algorithms.map(n.createHash)}[d](){const{integrity:t,size:e,options:r}={...l,...this.opts};this.sri=t?parse(t,this.opts):null;this.expectedSize=e;this.goodSri=this.sri?!!Object.keys(this.sri).length:false;this.algorithm=this.goodSri?this.sri.pickAlgorithm(this.opts):null;this.digests=this.goodSri?this.sri[this.algorithm]:null;this.optString=h(r)}emit(t,e){if(t==="end")this[p]();return super.emit(t,e)}write(t){this.size+=t.length;this.hashes.forEach(e=>e.update(t));return super.write(t)}[p](){if(!this.goodSri){this[d]()}const t=parse(this.hashes.map((t,e)=>{return`${this.algorithms[e]}-${t.digest("base64")}${this.optString}`}).join(" "),this.opts);const e=this.goodSri&&t.match(this.sri,this.opts);if(typeof this.expectedSize==="number"&&this.size!==this.expectedSize){const t=new Error(`stream size mismatch when checking ${this.sri}.\n Wanted: ${this.expectedSize}\n Found: ${this.size}`);t.code="EBADSIZE";t.found=this.size;t.expected=this.expectedSize;t.sri=this.sri;this.emit("error",t)}else if(this.sri&&!e){const e=new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${t}. (${this.size} bytes)`);e.code="EINTEGRITY";e.found=t;e.expected=this.digests;e.algorithm=this.algorithm;e.sri=this.sri;this.emit("error",e)}else{this.emit("size",this.size);this.emit("integrity",t);e&&this.emit("verified",e)}}}class Hash{get isHash(){return true}constructor(t,e){e=f(e);const r=!!e.strict;this.source=t.trim();this.digest="";this.algorithm="";this.options=[];const n=this.source.match(r?c:a);if(!n){return}if(r&&!s.some(t=>t===n[1])){return}this.algorithm=n[1];this.digest=n[2];const i=n[3];if(i){this.options=i.slice(1).split("?")}}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(t){t=f(t);if(t.strict){if(!(s.some(t=>t===this.algorithm)&&this.digest.match(o)&&this.options.every(t=>t.match(u)))){return""}}const e=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${e}`}}class Integrity{get isIntegrity(){return true}toJSON(){return this.toString()}isEmpty(){return Object.keys(this).length===0}toString(t){t=f(t);let e=t.sep||" ";if(t.strict){e=e.replace(/\S+/g," ")}return Object.keys(this).map(r=>{return this[r].map(e=>{return Hash.prototype.toString.call(e,t)}).filter(t=>t.length).join(e)}).filter(t=>t.length).join(e)}concat(t,e){e=f(e);const r=typeof t==="string"?t:stringify(t,e);return parse(`${this.toString(e)} ${r}`,e)}hexDigest(){return parse(this,{single:true}).hexDigest()}merge(t,e){e=f(e);const r=parse(t,e);for(const t in r){if(this[t]){if(!this[t].find(e=>r[t].find(t=>e.digest===t.digest))){throw new Error("hashes do not match, cannot update integrity")}}else{this[t]=r[t]}}}match(t,e){e=f(e);const r=parse(t,e);const n=r.pickAlgorithm(e);return this[n]&&r[n]&&this[n].find(t=>r[n].find(e=>t.digest===e.digest))||false}pickAlgorithm(t){t=f(t);const e=t.pickAlgorithm;const r=Object.keys(this);return r.reduce((t,r)=>{return e(t,r)||t})}}t.exports.parse=parse;function parse(t,e){if(!t)return null;e=f(e);if(typeof t==="string"){return _parse(t,e)}else if(t.algorithm&&t.digest){const r=new Integrity;r[t.algorithm]=[t];return _parse(stringify(r,e),e)}else{return _parse(stringify(t,e),e)}}function _parse(t,e){if(e.single){return new Hash(t,e)}const r=t.trim().split(/\s+/).reduce((t,r)=>{const n=new Hash(r,e);if(n.algorithm&&n.digest){const e=n.algorithm;if(!t[e]){t[e]=[]}t[e].push(n)}return t},new Integrity);return r.isEmpty()?null:r}t.exports.stringify=stringify;function stringify(t,e){e=f(e);if(t.algorithm&&t.digest){return Hash.prototype.toString.call(t,e)}else if(typeof t==="string"){return stringify(parse(t,e),e)}else{return Integrity.prototype.toString.call(t,e)}}t.exports.fromHex=fromHex;function fromHex(t,e,r){r=f(r);const n=h(r.options);return parse(`${e}-${Buffer.from(t,"hex").toString("base64")}${n}`,r)}t.exports.fromData=fromData;function fromData(t,e){e=f(e);const r=e.algorithms;const i=h(e.options);return r.reduce((r,s)=>{const o=n.createHash(s).update(t).digest("base64");const a=new Hash(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){const t=a.algorithm;if(!r[t]){r[t]=[]}r[t].push(a)}return r},new Integrity)}t.exports.fromStream=fromStream;function fromStream(t,e){e=f(e);const r=integrityStream(e);return new Promise((e,n)=>{t.pipe(r);t.on("error",n);r.on("error",n);let i;r.on("integrity",t=>{i=t});r.on("end",()=>e(i));r.on("data",()=>{})})}t.exports.checkData=checkData;function checkData(t,e,r){r=f(r);e=parse(e,r);if(!e||!Object.keys(e).length){if(r.error){throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"})}else{return false}}const i=e.pickAlgorithm(r);const s=n.createHash(i).update(t).digest("base64");const o=parse({algorithm:i,digest:s});const a=o.match(e,r);if(a||!r.error){return a}else if(typeof r.size==="number"&&t.length!==r.size){const n=new Error(`data size mismatch when checking ${e}.\n Wanted: ${r.size}\n Found: ${t.length}`);n.code="EBADSIZE";n.found=t.length;n.expected=r.size;n.sri=e;throw n}else{const r=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${o}. (${t.length} bytes)`);r.code="EINTEGRITY";r.found=o;r.expected=e;r.algorithm=i;r.sri=e;throw r}}t.exports.checkStream=checkStream;function checkStream(t,e,r){r=f(r);r.integrity=e;e=parse(e,r);if(!e||!Object.keys(e).length){return Promise.reject(Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"}))}const n=integrityStream(r);return new Promise((e,r)=>{t.pipe(n);t.on("error",r);n.on("error",r);let i;n.on("verified",t=>{i=t});n.on("end",()=>e(i));n.on("data",()=>{})})}t.exports.integrityStream=integrityStream;function integrityStream(t={}){return new IntegrityStream(t)}t.exports.create=createIntegrity;function createIntegrity(t){t=f(t);const e=t.algorithms;const r=h(t.options);const i=e.map(n.createHash);return{update:function(t,e){i.forEach(r=>r.update(t,e));return this},digest:function(n){const s=e.reduce((e,n)=>{const s=i.shift().digest("base64");const o=new Hash(`${n}-${s}${r}`,t);if(o.algorithm&&o.digest){const t=o.algorithm;if(!e[t]){e[t]=[]}e[t].push(o)}return e},new Integrity);return s}}}const y=new Set(n.getHashes());const v=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>y.has(t));function getPrioritizedHash(t,e){return v.indexOf(t.toLowerCase())>=v.indexOf(e.toLowerCase())?t:e}},4091:t=>{"use strict";t.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next){yield t.value}}}},665:(t,e,r)=>{"use strict";t.exports=Yallist;Yallist.Node=Node;Yallist.create=Yallist;function Yallist(t){var e=this;if(!(e instanceof Yallist)){e=new Yallist}e.tail=null;e.head=null;e.length=0;if(t&&typeof t.forEach==="function"){t.forEach(function(t){e.push(t)})}else if(arguments.length>0){for(var r=0,n=arguments.length;r1){r=e}else if(this.head){n=this.head.next;r=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=0;n!==null;i++){r=t(r,n.value,i);n=n.next}return r};Yallist.prototype.reduceReverse=function(t,e){var r;var n=this.tail;if(arguments.length>1){r=e}else if(this.tail){n=this.tail.prev;r=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=this.length-1;n!==null;i--){r=t(r,n.value,i);n=n.prev}return r};Yallist.prototype.toArray=function(){var t=new Array(this.length);for(var e=0,r=this.head;r!==null;e++){t[e]=r.value;r=r.next}return t};Yallist.prototype.toArrayReverse=function(){var t=new Array(this.length);for(var e=0,r=this.tail;r!==null;e++){t[e]=r.value;r=r.prev}return t};Yallist.prototype.slice=function(t,e){e=e||this.length;if(e<0){e+=this.length}t=t||0;if(t<0){t+=this.length}var r=new Yallist;if(ethis.length){e=this.length}for(var n=0,i=this.head;i!==null&&nthis.length){e=this.length}for(var n=this.length,i=this.tail;i!==null&&n>e;n--){i=i.prev}for(;i!==null&&n>t;n--,i=i.prev){r.push(i.value)}return r};Yallist.prototype.splice=function(t,e,...r){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}for(var n=0,i=this.head;i!==null&&n{"use strict";t.exports=JSON.parse('{"Jw":{"k":"2","K":"5"}}')},2357:t=>{"use strict";t.exports=require("assert")},7303:t=>{"use strict";t.exports=require("async_hooks")},6417:t=>{"use strict";t.exports=require("crypto")},8614:t=>{"use strict";t.exports=require("events")},5747:t=>{"use strict";t.exports=require("fs")},2087:t=>{"use strict";t.exports=require("os")},5622:t=>{"use strict";t.exports=require("path")},2413:t=>{"use strict";t.exports=require("stream")},4304:t=>{"use strict";t.exports=require("string_decoder")},1669:t=>{"use strict";t.exports=require("util")}};var __webpack_module_cache__={};function __nccwpck_require__(t){if(__webpack_module_cache__[t]){return __webpack_module_cache__[t].exports}var e=__webpack_module_cache__[t]={exports:{}};var r=true;try{__webpack_modules__[t].call(e.exports,e,e.exports,__nccwpck_require__);r=false}finally{if(r)delete __webpack_module_cache__[t]}return e.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(7234)})(); \ No newline at end of file diff --git a/packages/next/compiled/cache-loader/cjs.js b/packages/next/compiled/cache-loader/cjs.js index cf3c2ceed601c..6104fa2e46810 100644 --- a/packages/next/compiled/cache-loader/cjs.js +++ b/packages/next/compiled/cache-loader/cjs.js @@ -1 +1 @@ -module.exports=(()=>{var e={819:e=>{"use strict";e.exports=JSON.parse('{"type":"object","properties":{"cacheContext":{"description":"The default cache context in order to generate the cache relatively to a path. By default it will use absolute paths.","type":"string"},"cacheKey":{"description":"Allows you to override default cache key generator.","instanceof":"Function"},"cacheIdentifier":{"description":"Provide a cache directory where cache items should be stored (used for default read/write implementation).","type":"string"},"cacheDirectory":{"description":"Provide an invalidation identifier which is used to generate the hashes. You can use it for extra dependencies of loaders (used for default read/write implementation).","type":"string"},"compare":{"description":"Allows you to override default comparison function between the cached dependency and the one is being read. Return true to use the cached resource.","instanceof":"Function"},"precision":{"description":"Round mtime by this number of milliseconds both for stats and deps before passing those params to the comparing function.","type":"number"},"read":{"description":"Allows you to override default read cache data from file.","instanceof":"Function"},"readOnly":{"description":"Allows you to override default value and make the cache read only (useful for some environments where you don\'t want the cache to be updated, only read from it).","type":"boolean"},"write":{"description":"Allows you to override default write cache data to file (e.g. Redis, memcached).","instanceof":"Function"}},"additionalProperties":false}')},612:e=>{"use strict";e.exports=JSON.parse('{"name":"cache-loader","version":"4.1.0","description":"Caches the result of following loaders on disk.","license":"MIT","repository":"webpack-contrib/cache-loader","author":"Tobias Koppers @sokra","homepage":"https://github.com/webpack-contrib/cache-loader","bugs":"https://github.com/webpack-contrib/cache-loader/issues","main":"dist/cjs.js","engines":{"node":">= 8.9.0"},"scripts":{"start":"npm run build -- -w","prebuild":"npm run clean","build":"cross-env NODE_ENV=production babel src -d dist --ignore \\"src/**/*.test.js\\" --copy-files","clean":"del-cli dist","commitlint":"commitlint --from=master","lint:prettier":"prettier \\"{**/*,*}.{js,json,md,yml,css}\\" --list-different","lint:js":"eslint --cache src test","lint":"npm-run-all -l -p \\"lint:**\\"","prepare":"npm run build","release":"standard-version","security":"npm audit","test:only":"cross-env NODE_ENV=test jest","test:watch":"cross-env NODE_ENV=test jest --watch","test:coverage":"cross-env NODE_ENV=test jest --collectCoverageFrom=\\"src/**/*.js\\" --coverage","pretest":"npm run lint","test":"cross-env NODE_ENV=test npm run test:coverage","defaults":"webpack-defaults"},"files":["dist"],"peerDependencies":{"webpack":"^4.0.0"},"dependencies":{"buffer-json":"^2.0.0","find-cache-dir":"^3.0.0","loader-utils":"^1.2.3","mkdirp":"^0.5.1","neo-async":"^2.6.1","schema-utils":"^2.0.0"},"devDependencies":{"@babel/cli":"^7.5.5","@babel/core":"^7.5.5","@babel/preset-env":"^7.5.5","@commitlint/cli":"^8.1.0","@commitlint/config-conventional":"^8.1.0","@webpack-contrib/defaults":"^5.0.2","@webpack-contrib/eslint-config-webpack":"^3.0.0","babel-jest":"^24.8.0","babel-loader":"^8.0.6","commitlint-azure-pipelines-cli":"^1.0.2","cross-env":"^5.2.0","del":"^5.0.0","del-cli":"^2.0.0","eslint":"^6.0.1","eslint-config-prettier":"^6.0.0","eslint-plugin-import":"^2.18.0","file-loader":"^4.1.0","husky":"^3.0.0","jest":"^24.8.0","jest-junit":"^6.4.0","lint-staged":"^9.2.0","memory-fs":"^0.4.1","normalize-path":"^3.0.0","npm-run-all":"^4.1.5","prettier":"^1.18.2","standard-version":"^6.0.1","uuid":"^3.3.2","webpack":"^4.36.1","webpack-cli":"^3.3.6"},"keywords":["webpack"]}')},456:e=>{function stringify(e,t){return JSON.stringify(e,replacer,t)}function parse(e){return JSON.parse(e,reviver)}function replacer(e,t){if(isBufferLike(t)){if(isArray(t.data)){if(t.data.length>0){t.data="base64:"+Buffer.from(t.data).toString("base64")}else{t.data=""}}}return t}function reviver(e,t){if(isBufferLike(t)){if(isArray(t.data)){return Buffer.from(t.data)}else if(isString(t.data)){if(t.data.startsWith("base64:")){return Buffer.from(t.data.slice("base64:".length),"base64")}return Buffer.from(t.data)}}return t}function isBufferLike(e){return isObject(e)&&e.type==="Buffer"&&(isArray(e.data)||isString(e.data))}function isArray(e){return Array.isArray(e)}function isString(e){return typeof e==="string"}function isObject(e){return typeof e==="object"&&e!==null}e.exports={stringify:stringify,parse:parse,replacer:replacer,reviver:reviver}},296:(e,t,r)=>{"use strict";e.exports=r(582)},582:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=loader;t.pitch=pitch;t.raw=void 0;const i=r(747);const n=r(87);const s=r(622);const c=r(386);const a=r(417);const o=r(327);const d=r(844);const u=r(456);const{getOptions:l}=r(443);const p=r(225);const h=r(612);const f=process.env.NODE_ENV||"development";const m=r(819);const b={cacheContext:"",cacheDirectory:d({name:"cache-loader"})||n.tmpdir(),cacheIdentifier:`cache-loader:${h.version} ${f}`,cacheKey:cacheKey,compare:compare,precision:0,read:read,readOnly:false,write:write};function pathWithCacheContext(e,t){if(!e){return t}if(t.includes(e)){return t.split("!").map(t=>s.relative(e,t)).join("!")}return t.split("!").map(t=>s.resolve(e,t)).join("!")}function roundMs(e,t){return Math.floor(e/t)*t}function loader(...e){const t=Object.assign({},b,l(this));p(m,t,{name:"Cache Loader",baseDataPath:"options"});const{readOnly:r,write:n}=t;if(r){this.callback(null,...e);return}const s=this.async();const{data:a}=this;const o=this.getDependencies().concat(this.loaders.map(e=>e.path));const d=this.getContextDependencies();let u=true;const h=this.fs||i;const f=(e,r)=>{h.stat(e,(i,n)=>{if(i){r(i);return}const s=n.mtime.getTime();if(s/1e3>=Math.floor(a.startTime/1e3)){u=false}r(null,{path:pathWithCacheContext(t.cacheContext,e),mtime:s})})};c.parallel([e=>c.mapLimit(o,20,f,e),e=>c.mapLimit(d,20,f,e)],(r,i)=>{if(r){s(null,...e);return}if(!u){s(null,...e);return}const[c,o]=i;n(a.cacheKey,{remainingRequest:pathWithCacheContext(t.cacheContext,a.remainingRequest),dependencies:c,contextDependencies:o,result:e},()=>{s(null,...e)})})}function pitch(e,t,r){const n=Object.assign({},b,l(this));p(m,n,{name:"Cache Loader (Pitch)",baseDataPath:"options"});const{cacheContext:s,cacheKey:a,compare:o,read:d,readOnly:u,precision:h}=n;const f=this.async();const y=r;y.remainingRequest=e;y.cacheKey=a(n,y.remainingRequest);d(y.cacheKey,(e,t)=>{if(e){f();return}if(pathWithCacheContext(n.cacheContext,t.remainingRequest)!==y.remainingRequest){f();return}const r=this.fs||i;c.each(t.dependencies.concat(t.contextDependencies),(e,t)=>{const i={...e,path:pathWithCacheContext(n.cacheContext,e.path)};r.stat(i.path,(r,n)=>{if(r){t(r);return}if(u){t();return}const s=n;const c=i;if(h>1){["atime","mtime","ctime","birthtime"].forEach(e=>{const t=`${e}Ms`;const r=roundMs(n[t],h);s[t]=r;s[e]=new Date(r)});c.mtime=roundMs(e.mtime,h)}if(o(s,c)!==true){t(true);return}t()})},e=>{if(e){y.startTime=Date.now();f();return}t.dependencies.forEach(e=>this.addDependency(pathWithCacheContext(s,e.path)));t.contextDependencies.forEach(e=>this.addContextDependency(pathWithCacheContext(s,e.path)));f(null,...t.result)})})}function digest(e){return a.createHash("md5").update(e).digest("hex")}const y=new Set;function write(e,t,r){const n=s.dirname(e);const c=u.stringify(t);if(y.has(n)){i.writeFile(e,c,"utf-8",r)}else{o(n,t=>{if(t){r(t);return}y.add(n);i.writeFile(e,c,"utf-8",r)})}}function read(e,t){i.readFile(e,"utf-8",(e,r)=>{if(e){t(e);return}try{const e=u.parse(r);t(null,e)}catch(e){t(e)}})}function cacheKey(e,t){const{cacheIdentifier:r,cacheDirectory:i}=e;const n=digest(`${r}\n${t}`);return s.join(i,`${n}.json`)}function compare(e,t){return e.mtime.getTime()===t.mtime}const g=true;t.raw=g},417:e=>{"use strict";e.exports=require("crypto")},747:e=>{"use strict";e.exports=require("fs")},844:e=>{"use strict";e.exports=require("next/dist/compiled/find-cache-dir")},443:e=>{"use strict";e.exports=require("next/dist/compiled/loader-utils")},327:e=>{"use strict";e.exports=require("next/dist/compiled/mkdirp")},386:e=>{"use strict";e.exports=require("next/dist/compiled/neo-async")},225:e=>{"use strict";e.exports=require("next/dist/compiled/schema-utils")},87:e=>{"use strict";e.exports=require("os")},622:e=>{"use strict";e.exports=require("path")}};var t={};function __nccwpck_require__(r){if(t[r]){return t[r].exports}var i=t[r]={exports:{}};var n=true;try{e[r](i,i.exports,__nccwpck_require__);n=false}finally{if(n)delete t[r]}return i.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(296)})(); \ No newline at end of file +module.exports=(()=>{var e={819:e=>{"use strict";e.exports=JSON.parse('{"type":"object","properties":{"cacheContext":{"description":"The default cache context in order to generate the cache relatively to a path. By default it will use absolute paths.","type":"string"},"cacheKey":{"description":"Allows you to override default cache key generator.","instanceof":"Function"},"cacheIdentifier":{"description":"Provide a cache directory where cache items should be stored (used for default read/write implementation).","type":"string"},"cacheDirectory":{"description":"Provide an invalidation identifier which is used to generate the hashes. You can use it for extra dependencies of loaders (used for default read/write implementation).","type":"string"},"compare":{"description":"Allows you to override default comparison function between the cached dependency and the one is being read. Return true to use the cached resource.","instanceof":"Function"},"precision":{"description":"Round mtime by this number of milliseconds both for stats and deps before passing those params to the comparing function.","type":"number"},"read":{"description":"Allows you to override default read cache data from file.","instanceof":"Function"},"readOnly":{"description":"Allows you to override default value and make the cache read only (useful for some environments where you don\'t want the cache to be updated, only read from it).","type":"boolean"},"write":{"description":"Allows you to override default write cache data to file (e.g. Redis, memcached).","instanceof":"Function"}},"additionalProperties":false}')},612:e=>{"use strict";e.exports=JSON.parse('{"name":"cache-loader","version":"4.1.0","description":"Caches the result of following loaders on disk.","license":"MIT","repository":"webpack-contrib/cache-loader","author":"Tobias Koppers @sokra","homepage":"https://github.com/webpack-contrib/cache-loader","bugs":"https://github.com/webpack-contrib/cache-loader/issues","main":"dist/cjs.js","engines":{"node":">= 8.9.0"},"scripts":{"start":"npm run build -- -w","prebuild":"npm run clean","build":"cross-env NODE_ENV=production babel src -d dist --ignore \\"src/**/*.test.js\\" --copy-files","clean":"del-cli dist","commitlint":"commitlint --from=master","lint:prettier":"prettier \\"{**/*,*}.{js,json,md,yml,css}\\" --list-different","lint:js":"eslint --cache src test","lint":"npm-run-all -l -p \\"lint:**\\"","prepare":"npm run build","release":"standard-version","security":"npm audit","test:only":"cross-env NODE_ENV=test jest","test:watch":"cross-env NODE_ENV=test jest --watch","test:coverage":"cross-env NODE_ENV=test jest --collectCoverageFrom=\\"src/**/*.js\\" --coverage","pretest":"npm run lint","test":"cross-env NODE_ENV=test npm run test:coverage","defaults":"webpack-defaults"},"files":["dist"],"peerDependencies":{"webpack":"^4.0.0"},"dependencies":{"buffer-json":"^2.0.0","find-cache-dir":"^3.0.0","loader-utils":"^1.2.3","mkdirp":"^0.5.1","neo-async":"^2.6.1","schema-utils":"^2.0.0"},"devDependencies":{"@babel/cli":"^7.5.5","@babel/core":"^7.5.5","@babel/preset-env":"^7.5.5","@commitlint/cli":"^8.1.0","@commitlint/config-conventional":"^8.1.0","@webpack-contrib/defaults":"^5.0.2","@webpack-contrib/eslint-config-webpack":"^3.0.0","babel-jest":"^24.8.0","babel-loader":"^8.0.6","commitlint-azure-pipelines-cli":"^1.0.2","cross-env":"^5.2.0","del":"^5.0.0","del-cli":"^2.0.0","eslint":"^6.0.1","eslint-config-prettier":"^6.0.0","eslint-plugin-import":"^2.18.0","file-loader":"^4.1.0","husky":"^3.0.0","jest":"^24.8.0","jest-junit":"^6.4.0","lint-staged":"^9.2.0","memory-fs":"^0.4.1","normalize-path":"^3.0.0","npm-run-all":"^4.1.5","prettier":"^1.18.2","standard-version":"^6.0.1","uuid":"^3.3.2","webpack":"^4.36.1","webpack-cli":"^3.3.6"},"keywords":["webpack"]}')},456:e=>{function stringify(e,t){return JSON.stringify(e,replacer,t)}function parse(e){return JSON.parse(e,reviver)}function replacer(e,t){if(isBufferLike(t)){if(isArray(t.data)){if(t.data.length>0){t.data="base64:"+Buffer.from(t.data).toString("base64")}else{t.data=""}}}return t}function reviver(e,t){if(isBufferLike(t)){if(isArray(t.data)){return Buffer.from(t.data)}else if(isString(t.data)){if(t.data.startsWith("base64:")){return Buffer.from(t.data.slice("base64:".length),"base64")}return Buffer.from(t.data)}}return t}function isBufferLike(e){return isObject(e)&&e.type==="Buffer"&&(isArray(e.data)||isString(e.data))}function isArray(e){return Array.isArray(e)}function isString(e){return typeof e==="string"}function isObject(e){return typeof e==="object"&&e!==null}e.exports={stringify:stringify,parse:parse,replacer:replacer,reviver:reviver}},296:(e,t,r)=>{"use strict";e.exports=r(582)},582:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=loader;t.pitch=pitch;t.raw=void 0;const i=r(747);const n=r(87);const s=r(622);const c=r(386);const a=r(417);const o=r(998);const d=r(844);const u=r(456);const{getOptions:l}=r(443);const p=r(225);const f=r(612);const h=process.env.NODE_ENV||"development";const m=r(819);const y={cacheContext:"",cacheDirectory:d({name:"cache-loader"})||n.tmpdir(),cacheIdentifier:`cache-loader:${f.version} ${h}`,cacheKey:cacheKey,compare:compare,precision:0,read:read,readOnly:false,write:write};function pathWithCacheContext(e,t){if(!e){return t}if(t.includes(e)){return t.split("!").map(t=>s.relative(e,t)).join("!")}return t.split("!").map(t=>s.resolve(e,t)).join("!")}function roundMs(e,t){return Math.floor(e/t)*t}function loader(...e){const t=Object.assign({},y,l(this));p(m,t,{name:"Cache Loader",baseDataPath:"options"});const{readOnly:r,write:n}=t;if(r){this.callback(null,...e);return}const s=this.async();const{data:a}=this;const o=this.getDependencies().concat(this.loaders.map(e=>e.path));const d=this.getContextDependencies();let u=true;const f=this.fs||i;const h=(e,r)=>{f.stat(e,(i,n)=>{if(i){r(i);return}const s=n.mtime.getTime();if(s/1e3>=Math.floor(a.startTime/1e3)){u=false}r(null,{path:pathWithCacheContext(t.cacheContext,e),mtime:s})})};c.parallel([e=>c.mapLimit(o,20,h,e),e=>c.mapLimit(d,20,h,e)],(r,i)=>{if(r){s(null,...e);return}if(!u){s(null,...e);return}const[c,o]=i;n(a.cacheKey,{remainingRequest:pathWithCacheContext(t.cacheContext,a.remainingRequest),dependencies:c,contextDependencies:o,result:e},()=>{s(null,...e)})})}function pitch(e,t,r){const n=Object.assign({},y,l(this));p(m,n,{name:"Cache Loader (Pitch)",baseDataPath:"options"});const{cacheContext:s,cacheKey:a,compare:o,read:d,readOnly:u,precision:f}=n;const h=this.async();const b=r;b.remainingRequest=e;b.cacheKey=a(n,b.remainingRequest);d(b.cacheKey,(e,t)=>{if(e){h();return}if(pathWithCacheContext(n.cacheContext,t.remainingRequest)!==b.remainingRequest){h();return}const r=this.fs||i;c.each(t.dependencies.concat(t.contextDependencies),(e,t)=>{const i={...e,path:pathWithCacheContext(n.cacheContext,e.path)};r.stat(i.path,(r,n)=>{if(r){t(r);return}if(u){t();return}const s=n;const c=i;if(f>1){["atime","mtime","ctime","birthtime"].forEach(e=>{const t=`${e}Ms`;const r=roundMs(n[t],f);s[t]=r;s[e]=new Date(r)});c.mtime=roundMs(e.mtime,f)}if(o(s,c)!==true){t(true);return}t()})},e=>{if(e){b.startTime=Date.now();h();return}t.dependencies.forEach(e=>this.addDependency(pathWithCacheContext(s,e.path)));t.contextDependencies.forEach(e=>this.addContextDependency(pathWithCacheContext(s,e.path)));h(null,...t.result)})})}function digest(e){return a.createHash("md5").update(e).digest("hex")}const b=new Set;function write(e,t,r){const n=s.dirname(e);const c=u.stringify(t);if(b.has(n)){i.writeFile(e,c,"utf-8",r)}else{o(n,t=>{if(t){r(t);return}b.add(n);i.writeFile(e,c,"utf-8",r)})}}function read(e,t){i.readFile(e,"utf-8",(e,r)=>{if(e){t(e);return}try{const e=u.parse(r);t(null,e)}catch(e){t(e)}})}function cacheKey(e,t){const{cacheIdentifier:r,cacheDirectory:i}=e;const n=digest(`${r}\n${t}`);return s.join(i,`${n}.json`)}function compare(e,t){return e.mtime.getTime()===t.mtime}const g=true;t.raw=g},998:(e,t,r)=>{var i=r(622);var n=r(747);var s=parseInt("0777",8);e.exports=mkdirP.mkdirp=mkdirP.mkdirP=mkdirP;function mkdirP(e,t,r,c){if(typeof t==="function"){r=t;t={}}else if(!t||typeof t!=="object"){t={mode:t}}var a=t.mode;var o=t.fs||n;if(a===undefined){a=s}if(!c)c=null;var d=r||function(){};e=i.resolve(e);o.mkdir(e,a,function(r){if(!r){c=c||e;return d(null,c)}switch(r.code){case"ENOENT":if(i.dirname(e)===e)return d(r);mkdirP(i.dirname(e),t,function(r,i){if(r)d(r,i);else mkdirP(e,t,d,i)});break;default:o.stat(e,function(e,t){if(e||!t.isDirectory())d(r,c);else d(null,c)});break}})}mkdirP.sync=function sync(e,t,r){if(!t||typeof t!=="object"){t={mode:t}}var c=t.mode;var a=t.fs||n;if(c===undefined){c=s}if(!r)r=null;e=i.resolve(e);try{a.mkdirSync(e,c);r=r||e}catch(n){switch(n.code){case"ENOENT":r=sync(i.dirname(e),t,r);sync(e,t,r);break;default:var o;try{o=a.statSync(e)}catch(e){throw n}if(!o.isDirectory())throw n;break}}return r}},417:e=>{"use strict";e.exports=require("crypto")},747:e=>{"use strict";e.exports=require("fs")},844:e=>{"use strict";e.exports=require("next/dist/compiled/find-cache-dir")},443:e=>{"use strict";e.exports=require("next/dist/compiled/loader-utils")},386:e=>{"use strict";e.exports=require("next/dist/compiled/neo-async")},225:e=>{"use strict";e.exports=require("next/dist/compiled/schema-utils")},87:e=>{"use strict";e.exports=require("os")},622:e=>{"use strict";e.exports=require("path")}};var t={};function __nccwpck_require__(r){if(t[r]){return t[r].exports}var i=t[r]={exports:{}};var n=true;try{e[r](i,i.exports,__nccwpck_require__);n=false}finally{if(n)delete t[r]}return i.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(296)})(); \ No newline at end of file diff --git a/packages/next/compiled/mkdirp/LICENSE b/packages/next/compiled/mkdirp/LICENSE deleted file mode 100644 index 432d1aeb01df6..0000000000000 --- a/packages/next/compiled/mkdirp/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright 2010 James Halliday (mail@substack.net) - -This project is free software released under the MIT/X11 license: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/packages/next/compiled/mkdirp/index.js b/packages/next/compiled/mkdirp/index.js deleted file mode 100644 index 89f9b3ba9399b..0000000000000 --- a/packages/next/compiled/mkdirp/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports=(()=>{var r={186:(r,e,i)=>{var t=i(622);var n=i(747);var s=parseInt("0777",8);r.exports=mkdirP.mkdirp=mkdirP.mkdirP=mkdirP;function mkdirP(r,e,i,a){if(typeof e==="function"){i=e;e={}}else if(!e||typeof e!=="object"){e={mode:e}}var u=e.mode;var c=e.fs||n;if(u===undefined){u=s&~process.umask()}if(!a)a=null;var o=i||function(){};r=t.resolve(r);c.mkdir(r,u,function(i){if(!i){a=a||r;return o(null,a)}switch(i.code){case"ENOENT":mkdirP(t.dirname(r),e,function(i,t){if(i)o(i,t);else mkdirP(r,e,o,t)});break;default:c.stat(r,function(r,e){if(r||!e.isDirectory())o(i,a);else o(null,a)});break}})}mkdirP.sync=function sync(r,e,i){if(!e||typeof e!=="object"){e={mode:e}}var a=e.mode;var u=e.fs||n;if(a===undefined){a=s&~process.umask()}if(!i)i=null;r=t.resolve(r);try{u.mkdirSync(r,a);i=i||r}catch(n){switch(n.code){case"ENOENT":i=sync(t.dirname(r),e,i);sync(r,e,i);break;default:var c;try{c=u.statSync(r)}catch(r){throw n}if(!c.isDirectory())throw n;break}}return i}},747:r=>{"use strict";r.exports=require("fs")},622:r=>{"use strict";r.exports=require("path")}};var e={};function __nccwpck_require__(i){if(e[i]){return e[i].exports}var t=e[i]={exports:{}};var n=true;try{r[i](t,t.exports,__nccwpck_require__);n=false}finally{if(n)delete e[i]}return t.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(186)})(); \ No newline at end of file diff --git a/packages/next/compiled/mkdirp/package.json b/packages/next/compiled/mkdirp/package.json deleted file mode 100644 index c60bfb9512100..0000000000000 --- a/packages/next/compiled/mkdirp/package.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"mkdirp","main":"index.js","author":"James Halliday (http://substack.net)","license":"MIT"} diff --git a/packages/next/compiled/webpack/bundle4.js b/packages/next/compiled/webpack/bundle4.js index fd6df4bbe440b..39d46d95ee14e 100644 --- a/packages/next/compiled/webpack/bundle4.js +++ b/packages/next/compiled/webpack/bundle4.js @@ -36452,6 +36452,112 @@ module.exports = function isExtendable(val) { }; +/***/ }), + +/***/ 50998: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(85622); +var fs = __webpack_require__(35747); +var _0777 = parseInt('0777', 8); + +module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; + +function mkdirP (p, opts, f, made) { + if (typeof opts === 'function') { + f = opts; + opts = {}; + } + else if (!opts || typeof opts !== 'object') { + opts = { mode: opts }; + } + + var mode = opts.mode; + var xfs = opts.fs || fs; + + if (mode === undefined) { + mode = _0777 + } + if (!made) made = null; + + var cb = f || function () {}; + p = path.resolve(p); + + xfs.mkdir(p, mode, function (er) { + if (!er) { + made = made || p; + return cb(null, made); + } + switch (er.code) { + case 'ENOENT': + if (path.dirname(p) === p) return cb(er); + mkdirP(path.dirname(p), opts, function (er, made) { + if (er) cb(er, made); + else mkdirP(p, opts, cb, made); + }); + break; + + // In the case of any other error, just see if there's a dir + // there already. If so, then hooray! If not, then something + // is borked. + default: + xfs.stat(p, function (er2, stat) { + // if the stat fails, then that's super weird. + // let the original error be the failure reason. + if (er2 || !stat.isDirectory()) cb(er, made) + else cb(null, made); + }); + break; + } + }); +} + +mkdirP.sync = function sync (p, opts, made) { + if (!opts || typeof opts !== 'object') { + opts = { mode: opts }; + } + + var mode = opts.mode; + var xfs = opts.fs || fs; + + if (mode === undefined) { + mode = _0777 + } + if (!made) made = null; + + p = path.resolve(p); + + try { + xfs.mkdirSync(p, mode); + made = made || p; + } + catch (err0) { + switch (err0.code) { + case 'ENOENT' : + made = sync(path.dirname(p), opts, made); + sync(p, opts, made); + break; + + // In the case of any other error, just see if there's a dir + // there already. If so, then hooray! If not, then something + // is borked. + default: + var stat; + try { + stat = xfs.statSync(p); + } + catch (err1) { + throw err0; + } + if (!stat.isDirectory()) throw err0; + break; + } + } + + return made; +}; + + /***/ }), /***/ 57925: @@ -78593,7 +78699,7 @@ module.exports = (a, b) => { const fs = __webpack_require__(35747); const path = __webpack_require__(85622); -const mkdirp = __webpack_require__(94327); +const mkdirp = __webpack_require__(50998); const { Tracer } = __webpack_require__(92430); const validateOptions = __webpack_require__(33225); const schema = __webpack_require__(49049); @@ -86946,7 +87052,7 @@ module.exports = class NodeMainTemplatePlugin { const fs = __webpack_require__(35747); const path = __webpack_require__(85622); -const mkdirp = __webpack_require__(94327); +const mkdirp = __webpack_require__(50998); class NodeOutputFileSystem { constructor() { @@ -105954,14 +106060,6 @@ module.exports = require("next/dist/compiled/is-wsl");; /***/ }), -/***/ 94327: -/***/ (function(module) { - -"use strict"; -module.exports = require("next/dist/compiled/mkdirp");; - -/***/ }), - /***/ 36386: /***/ (function(module) { diff --git a/packages/next/compiled/webpack/bundle5.js b/packages/next/compiled/webpack/bundle5.js index 8e1b7494136bf..0fb94ee909476 100644 --- a/packages/next/compiled/webpack/bundle5.js +++ b/packages/next/compiled/webpack/bundle5.js @@ -54,7 +54,7 @@ module.exports = JSON.parse("{\"name\":\"terser\",\"description\":\"JavaScript p /***/ (function(module) { "use strict"; -module.exports = {"i8":"5.16.0"}; +module.exports = {"i8":"5.18.0"}; /***/ }), @@ -62,7 +62,7 @@ module.exports = {"i8":"5.16.0"}; /***/ (function(module) { "use strict"; -module.exports = JSON.parse("{\"definitions\":{\"Amd\":{\"description\":\"Set the value of `require.amd` and `define.amd`. Or disable AMD support.\",\"anyOf\":[{\"description\":\"You can pass `false` to disable AMD support.\",\"enum\":[false]},{\"description\":\"You can pass an object to set the value of `require.amd` and `define.amd`.\",\"type\":\"object\"}]},\"AssetGeneratorDataUrl\":{\"description\":\"The options for data url generator.\",\"anyOf\":[{\"$ref\":\"#/definitions/AssetGeneratorDataUrlOptions\"},{\"$ref\":\"#/definitions/AssetGeneratorDataUrlFunction\"}]},\"AssetGeneratorDataUrlFunction\":{\"description\":\"Function that executes for module and should return an DataUrl string.\",\"instanceof\":\"Function\",\"tsType\":\"((source: string | Buffer, context: { filename: string, module: import('../lib/Module') }) => string)\"},\"AssetGeneratorDataUrlOptions\":{\"description\":\"Options object for data url generation.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"encoding\":{\"description\":\"Asset encoding (defaults to base64).\",\"enum\":[false,\"base64\"]},\"mimetype\":{\"description\":\"Asset mimetype (getting from file extension by default).\",\"type\":\"string\"}}},\"AssetGeneratorOptions\":{\"description\":\"Generator options for asset modules.\",\"type\":\"object\",\"implements\":[\"#/definitions/AssetInlineGeneratorOptions\",\"#/definitions/AssetResourceGeneratorOptions\"],\"additionalProperties\":false,\"properties\":{\"dataUrl\":{\"$ref\":\"#/definitions/AssetGeneratorDataUrl\"},\"filename\":{\"$ref\":\"#/definitions/FilenameTemplate\"}}},\"AssetInlineGeneratorOptions\":{\"description\":\"Generator options for asset/inline modules.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"dataUrl\":{\"$ref\":\"#/definitions/AssetGeneratorDataUrl\"}}},\"AssetModuleFilename\":{\"description\":\"The filename of asset modules as relative path inside the 'output.path' directory.\",\"anyOf\":[{\"type\":\"string\",\"absolutePath\":false},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"AssetParserDataUrlFunction\":{\"description\":\"Function that executes for module and should return whenever asset should be inlined as DataUrl.\",\"instanceof\":\"Function\",\"tsType\":\"((source: string | Buffer, context: { filename: string, module: import('../lib/Module') }) => boolean)\"},\"AssetParserDataUrlOptions\":{\"description\":\"Options object for DataUrl condition.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"maxSize\":{\"description\":\"Maximum size of asset that should be inline as modules. Default: 8kb.\",\"type\":\"number\"}}},\"AssetParserOptions\":{\"description\":\"Parser options for asset modules.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"dataUrlCondition\":{\"description\":\"The condition for inlining the asset as DataUrl.\",\"anyOf\":[{\"$ref\":\"#/definitions/AssetParserDataUrlOptions\"},{\"$ref\":\"#/definitions/AssetParserDataUrlFunction\"}]}}},\"AssetResourceGeneratorOptions\":{\"description\":\"Generator options for asset/resource modules.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"filename\":{\"$ref\":\"#/definitions/FilenameTemplate\"}}},\"AuxiliaryComment\":{\"description\":\"Add a comment in the UMD wrapper.\",\"anyOf\":[{\"description\":\"Append the same comment above each import style.\",\"type\":\"string\"},{\"$ref\":\"#/definitions/LibraryCustomUmdCommentObject\"}]},\"Bail\":{\"description\":\"Report the first error as a hard error instead of tolerating it.\",\"type\":\"boolean\"},\"CacheOptions\":{\"description\":\"Cache generated modules and chunks to improve performance for multiple incremental builds.\",\"anyOf\":[{\"description\":\"Enable in memory caching.\",\"enum\":[true]},{\"$ref\":\"#/definitions/CacheOptionsNormalized\"}]},\"CacheOptionsNormalized\":{\"description\":\"Cache generated modules and chunks to improve performance for multiple incremental builds.\",\"anyOf\":[{\"description\":\"Disable caching.\",\"enum\":[false]},{\"$ref\":\"#/definitions/MemoryCacheOptions\"},{\"$ref\":\"#/definitions/FileCacheOptions\"}]},\"Charset\":{\"description\":\"Add charset attribute for script tag.\",\"type\":\"boolean\"},\"ChunkFilename\":{\"description\":\"Specifies the filename template of output files of non-initial chunks on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilenameTemplate\"}]},\"ChunkFormat\":{\"description\":\"The format of chunks (formats included by default are 'array-push' (web/WebWorker), 'commonjs' (node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[\"array-push\",\"commonjs\",false]},{\"type\":\"string\"}]},\"ChunkLoadTimeout\":{\"description\":\"Number of milliseconds before chunk request expires.\",\"type\":\"number\"},\"ChunkLoading\":{\"description\":\"The method of loading chunks (methods included by default are 'jsonp' (web), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/ChunkLoadingType\"}]},\"ChunkLoadingGlobal\":{\"description\":\"The global variable used by webpack for loading of chunks.\",\"type\":\"string\"},\"ChunkLoadingType\":{\"description\":\"The method of loading chunks (methods included by default are 'jsonp' (web), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[\"jsonp\",\"import-scripts\",\"require\",\"async-node\"]},{\"type\":\"string\"}]},\"CompareBeforeEmit\":{\"description\":\"Check if to be emitted file already exists and have the same content before writing to output filesystem.\",\"type\":\"boolean\"},\"Context\":{\"description\":\"The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.\",\"type\":\"string\",\"absolutePath\":true},\"CrossOriginLoading\":{\"description\":\"This option enables cross-origin loading of chunks.\",\"enum\":[false,\"anonymous\",\"use-credentials\"]},\"Dependencies\":{\"description\":\"References to other configurations to depend on.\",\"type\":\"array\",\"items\":{\"description\":\"References to another configuration to depend on.\",\"type\":\"string\"}},\"DevServer\":{\"description\":\"Options for the webpack-dev-server.\",\"type\":\"object\"},\"DevTool\":{\"description\":\"A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).\",\"anyOf\":[{\"enum\":[false,\"eval\"]},{\"type\":\"string\",\"pattern\":\"^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$\"}]},\"DevtoolFallbackModuleFilenameTemplate\":{\"description\":\"Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.\",\"anyOf\":[{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"DevtoolModuleFilenameTemplate\":{\"description\":\"Filename template string of function for the sources array in a generated SourceMap.\",\"anyOf\":[{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"DevtoolNamespace\":{\"description\":\"Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It's useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.\",\"type\":\"string\"},\"EmptyGeneratorOptions\":{\"description\":\"No generator options are supported for this module type.\",\"type\":\"object\",\"additionalProperties\":false},\"EmptyParserOptions\":{\"description\":\"No parser options are supported for this module type.\",\"type\":\"object\",\"additionalProperties\":false},\"EnabledChunkLoadingTypes\":{\"description\":\"List of chunk loading types enabled for use by entry points.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/ChunkLoadingType\"}},\"EnabledLibraryTypes\":{\"description\":\"List of library types enabled for use by entry points.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/LibraryType\"}},\"EnabledWasmLoadingTypes\":{\"description\":\"List of wasm loading types enabled for use by entry points.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/WasmLoadingType\"}},\"Entry\":{\"description\":\"The entry point(s) of the compilation.\",\"anyOf\":[{\"$ref\":\"#/definitions/EntryDynamic\"},{\"$ref\":\"#/definitions/EntryStatic\"}]},\"EntryDescription\":{\"description\":\"An object with entry point description.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"chunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"dependOn\":{\"description\":\"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.\",\"anyOf\":[{\"description\":\"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.\",\"type\":\"array\",\"items\":{\"description\":\"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1,\"uniqueItems\":true},{\"description\":\"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.\",\"type\":\"string\",\"minLength\":1}]},\"filename\":{\"$ref\":\"#/definitions/EntryFilename\"},\"import\":{\"$ref\":\"#/definitions/EntryItem\"},\"layer\":{\"$ref\":\"#/definitions/Layer\"},\"library\":{\"$ref\":\"#/definitions/LibraryOptions\"},\"runtime\":{\"$ref\":\"#/definitions/EntryRuntime\"},\"wasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"}},\"required\":[\"import\"]},\"EntryDescriptionNormalized\":{\"description\":\"An object with entry point description.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"chunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"dependOn\":{\"description\":\"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.\",\"type\":\"array\",\"items\":{\"description\":\"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1,\"uniqueItems\":true},\"filename\":{\"$ref\":\"#/definitions/Filename\"},\"import\":{\"description\":\"Module(s) that are loaded upon startup. The last one is exported.\",\"type\":\"array\",\"items\":{\"description\":\"Module that is loaded upon startup. Only the last one is exported.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1,\"uniqueItems\":true},\"layer\":{\"$ref\":\"#/definitions/Layer\"},\"library\":{\"$ref\":\"#/definitions/LibraryOptions\"},\"runtime\":{\"$ref\":\"#/definitions/EntryRuntime\"},\"wasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"}}},\"EntryDynamic\":{\"description\":\"A Function returning an entry object, an entry string, an entry array or a promise to these things.\",\"instanceof\":\"Function\",\"tsType\":\"(() => EntryStatic | Promise)\"},\"EntryDynamicNormalized\":{\"description\":\"A Function returning a Promise resolving to a normalized entry.\",\"instanceof\":\"Function\",\"tsType\":\"(() => Promise)\"},\"EntryFilename\":{\"description\":\"Specifies the filename of the output file on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilenameTemplate\"}]},\"EntryItem\":{\"description\":\"Module(s) that are loaded upon startup.\",\"anyOf\":[{\"description\":\"All modules are loaded upon startup. The last one is exported.\",\"type\":\"array\",\"items\":{\"description\":\"A module that is loaded upon startup. Only the last one is exported.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1,\"uniqueItems\":true},{\"description\":\"The string is resolved to a module which is loaded upon startup.\",\"type\":\"string\",\"minLength\":1}]},\"EntryNormalized\":{\"description\":\"The entry point(s) of the compilation.\",\"anyOf\":[{\"$ref\":\"#/definitions/EntryDynamicNormalized\"},{\"$ref\":\"#/definitions/EntryStaticNormalized\"}]},\"EntryObject\":{\"description\":\"Multiple entry bundles are created. The key is the entry name. The value can be a string, an array or an entry description object.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"An entry point with name.\",\"anyOf\":[{\"$ref\":\"#/definitions/EntryItem\"},{\"$ref\":\"#/definitions/EntryDescription\"}]}},\"EntryRuntime\":{\"description\":\"The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.\",\"type\":\"string\",\"minLength\":1},\"EntryStatic\":{\"description\":\"A static entry description.\",\"anyOf\":[{\"$ref\":\"#/definitions/EntryObject\"},{\"$ref\":\"#/definitions/EntryUnnamed\"}]},\"EntryStaticNormalized\":{\"description\":\"Multiple entry bundles are created. The key is the entry name. The value is an entry description object.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"An object with entry point description.\",\"oneOf\":[{\"$ref\":\"#/definitions/EntryDescriptionNormalized\"}]}},\"EntryUnnamed\":{\"description\":\"An entry point without name.\",\"oneOf\":[{\"$ref\":\"#/definitions/EntryItem\"}]},\"Environment\":{\"description\":\"The abilities of the environment where the webpack generated code should run.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"arrowFunction\":{\"description\":\"The environment supports arrow functions ('() => { ... }').\",\"type\":\"boolean\"},\"bigIntLiteral\":{\"description\":\"The environment supports BigInt as literal (123n).\",\"type\":\"boolean\"},\"const\":{\"description\":\"The environment supports const and let for variable declarations.\",\"type\":\"boolean\"},\"destructuring\":{\"description\":\"The environment supports destructuring ('{ a, b } = obj').\",\"type\":\"boolean\"},\"dynamicImport\":{\"description\":\"The environment supports an async import() function to import EcmaScript modules.\",\"type\":\"boolean\"},\"forOf\":{\"description\":\"The environment supports 'for of' iteration ('for (const x of array) { ... }').\",\"type\":\"boolean\"},\"module\":{\"description\":\"The environment supports EcmaScript Module syntax to import EcmaScript modules (import ... from '...').\",\"type\":\"boolean\"}}},\"Experiments\":{\"description\":\"Enables/Disables experiments (experimental features with relax SemVer compatibility).\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"asset\":{\"description\":\"Allow module type 'asset' to generate assets.\",\"type\":\"boolean\"},\"asyncWebAssembly\":{\"description\":\"Support WebAssembly as asynchronous EcmaScript Module.\",\"type\":\"boolean\"},\"layers\":{\"description\":\"Enable module and chunk layers.\",\"type\":\"boolean\"},\"outputModule\":{\"description\":\"Allow output javascript files as module source type.\",\"type\":\"boolean\"},\"syncWebAssembly\":{\"description\":\"Support WebAssembly as synchronous EcmaScript Module (outdated).\",\"type\":\"boolean\"},\"topLevelAwait\":{\"description\":\"Allow using top-level-await in EcmaScript Modules.\",\"type\":\"boolean\"}}},\"ExternalItem\":{\"description\":\"Specify dependency that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.\",\"anyOf\":[{\"description\":\"Every matched dependency becomes external.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"description\":\"An exact matched dependency becomes external. The same string is used as external dependency.\",\"type\":\"string\"},{\"description\":\"If an dependency matches exactly a property of the object, the property value is used as dependency.\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/ExternalItemValue\"},\"properties\":{\"byLayer\":{\"description\":\"Specify externals depending on the layer.\",\"anyOf\":[{\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/ExternalItem\"}},{\"instanceof\":\"Function\",\"tsType\":\"((layer: string | null) => ExternalItem)\"}]}}},{\"description\":\"The function is called on each dependency (`function(context, request, callback(err, result))`).\",\"instanceof\":\"Function\",\"tsType\":\"(((data: ExternalItemFunctionData, callback: (err?: Error, result?: ExternalItemValue) => void) => void) | ((data: ExternalItemFunctionData) => Promise))\"}]},\"ExternalItemFunctionData\":{\"description\":\"Data object passed as argument when a function is set for 'externals'.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"context\":{\"description\":\"The directory in which the request is placed.\",\"type\":\"string\"},\"contextInfo\":{\"description\":\"Contextual information.\",\"type\":\"object\",\"tsType\":\"import('../lib/ModuleFactory').ModuleFactoryCreateDataContextInfo\"},\"getResolve\":{\"description\":\"Get a resolve function with the current resolver options.\",\"instanceof\":\"Function\",\"tsType\":\"((options?: ResolveOptions) => ((context: string, request: string, callback: (err?: Error, result?: string) => void) => void) | ((context: string, request: string) => Promise))\"},\"request\":{\"description\":\"The request as written by the user in the require/import expression/statement.\",\"type\":\"string\"}}},\"ExternalItemValue\":{\"description\":\"The dependency used for the external.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"A part of the target of the external.\",\"type\":\"string\",\"minLength\":1}},{\"description\":\"`true`: The dependency name is used as target of the external.\",\"type\":\"boolean\"},{\"description\":\"The target of the external.\",\"type\":\"string\"},{\"type\":\"object\"}]},\"Externals\":{\"description\":\"Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/ExternalItem\"}},{\"$ref\":\"#/definitions/ExternalItem\"}]},\"ExternalsPresets\":{\"description\":\"Enable presets of externals for specific targets.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"electron\":{\"description\":\"Treat common electron built-in modules in main and preload context like 'electron', 'ipc' or 'shell' as external and load them via require() when used.\",\"type\":\"boolean\"},\"electronMain\":{\"description\":\"Treat electron built-in modules in the main context like 'app', 'ipc-main' or 'shell' as external and load them via require() when used.\",\"type\":\"boolean\"},\"electronPreload\":{\"description\":\"Treat electron built-in modules in the preload context like 'web-frame', 'ipc-renderer' or 'shell' as external and load them via require() when used.\",\"type\":\"boolean\"},\"electronRenderer\":{\"description\":\"Treat electron built-in modules in the renderer context like 'web-frame', 'ipc-renderer' or 'shell' as external and load them via require() when used.\",\"type\":\"boolean\"},\"node\":{\"description\":\"Treat node.js built-in modules like fs, path or vm as external and load them via require() when used.\",\"type\":\"boolean\"},\"nwjs\":{\"description\":\"Treat NW.js legacy nw.gui module as external and load it via require() when used.\",\"type\":\"boolean\"},\"web\":{\"description\":\"Treat references to 'http(s)://...' and 'std:...' as external and load them via import when used (Note that this changes execution order as externals are executed before any other code in the chunk).\",\"type\":\"boolean\"},\"webAsync\":{\"description\":\"Treat references to 'http(s)://...' and 'std:...' as external and load them via async import() when used (Note that this external type is an async module, which has various effects on the execution).\",\"type\":\"boolean\"}}},\"ExternalsType\":{\"description\":\"Specifies the default type of externals ('amd*', 'umd*', 'system' and 'jsonp' depend on output.libraryTarget set to the same value).\",\"enum\":[\"var\",\"module\",\"assign\",\"this\",\"window\",\"self\",\"global\",\"commonjs\",\"commonjs2\",\"commonjs-module\",\"amd\",\"amd-require\",\"umd\",\"umd2\",\"jsonp\",\"system\",\"promise\",\"import\",\"script\"]},\"FileCacheOptions\":{\"description\":\"Options object for persistent file-based caching.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"buildDependencies\":{\"description\":\"Dependencies the build depends on (in multiple categories, default categories: 'defaultWebpack').\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"List of dependencies the build depends on.\",\"type\":\"array\",\"items\":{\"description\":\"Request to a dependency (resolved as directory relative to the context directory).\",\"type\":\"string\",\"minLength\":1}}},\"cacheDirectory\":{\"description\":\"Base directory for the cache (defaults to node_modules/.cache/webpack).\",\"type\":\"string\",\"absolutePath\":true},\"cacheLocation\":{\"description\":\"Locations for the cache (defaults to cacheDirectory / name).\",\"type\":\"string\",\"absolutePath\":true},\"hashAlgorithm\":{\"description\":\"Algorithm used for generation the hash (see node.js crypto package).\",\"type\":\"string\"},\"idleTimeout\":{\"description\":\"Time in ms after which idle period the cache storing should happen (only for store: 'pack' or 'idle').\",\"type\":\"number\",\"minimum\":0},\"idleTimeoutForInitialStore\":{\"description\":\"Time in ms after which idle period the initial cache storing should happen (only for store: 'pack' or 'idle').\",\"type\":\"number\",\"minimum\":0},\"immutablePaths\":{\"description\":\"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.\",\"type\":\"array\",\"items\":{\"description\":\"A path to a immutable directory (usually a package manager cache directory).\",\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}},\"managedPaths\":{\"description\":\"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.\",\"type\":\"array\",\"items\":{\"description\":\"A path to a managed directory (usually a node_modules directory).\",\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}},\"name\":{\"description\":\"Name for the cache. Different names will lead to different coexisting caches.\",\"type\":\"string\"},\"store\":{\"description\":\"When to store data to the filesystem. (pack: Store data when compiler is idle in a single file).\",\"enum\":[\"pack\"]},\"type\":{\"description\":\"Filesystem caching.\",\"enum\":[\"filesystem\"]},\"version\":{\"description\":\"Version of the cache data. Different versions won't allow to reuse the cache and override existing content. Update the version when config changed in a way which doesn't allow to reuse cache. This will invalidate the cache.\",\"type\":\"string\"}},\"required\":[\"type\"]},\"Filename\":{\"description\":\"Specifies the filename of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilenameTemplate\"}]},\"FilenameTemplate\":{\"description\":\"Specifies the filename template of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.\",\"anyOf\":[{\"type\":\"string\",\"absolutePath\":false,\"minLength\":1},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"FilterItemTypes\":{\"description\":\"Filtering value, regexp or function.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\",\"absolutePath\":false},{\"instanceof\":\"Function\",\"tsType\":\"((value: string) => boolean)\"}]},\"FilterTypes\":{\"description\":\"Filtering values.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Rule to filter.\",\"cli\":{\"helper\":true},\"oneOf\":[{\"$ref\":\"#/definitions/FilterItemTypes\"}]}},{\"$ref\":\"#/definitions/FilterItemTypes\"}]},\"GlobalObject\":{\"description\":\"An expression which is used to address the global object/scope in runtime code.\",\"type\":\"string\",\"minLength\":1},\"HashDigest\":{\"description\":\"Digest type used for the hash.\",\"type\":\"string\"},\"HashDigestLength\":{\"description\":\"Number of chars which are used for the hash.\",\"type\":\"number\",\"minimum\":1},\"HashFunction\":{\"description\":\"Algorithm used for generation the hash (see node.js crypto package).\",\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"instanceof\":\"Function\",\"tsType\":\"typeof import('../lib/util/Hash')\"}]},\"HashSalt\":{\"description\":\"Any string which is added to the hash to salt it.\",\"type\":\"string\",\"minLength\":1},\"HotUpdateChunkFilename\":{\"description\":\"The filename of the Hot Update Chunks. They are inside the output.path directory.\",\"type\":\"string\",\"absolutePath\":false},\"HotUpdateGlobal\":{\"description\":\"The global variable used by webpack for loading of hot update chunks.\",\"type\":\"string\"},\"HotUpdateMainFilename\":{\"description\":\"The filename of the Hot Update Main File. It is inside the 'output.path' directory.\",\"type\":\"string\",\"absolutePath\":false},\"IgnoreWarnings\":{\"description\":\"Ignore specific warnings.\",\"type\":\"array\",\"items\":{\"description\":\"Ignore specific warnings.\",\"anyOf\":[{\"description\":\"A RegExp to select the warning message.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"file\":{\"description\":\"A RegExp to select the origin file for the warning.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},\"message\":{\"description\":\"A RegExp to select the warning message.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},\"module\":{\"description\":\"A RegExp to select the origin module for the warning.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"}}},{\"description\":\"A custom function to select warnings based on the raw warning instance.\",\"instanceof\":\"Function\",\"tsType\":\"((warning: import('../lib/WebpackError'), compilation: import('../lib/Compilation')) => boolean)\"}]}},\"IgnoreWarningsNormalized\":{\"description\":\"Ignore specific warnings.\",\"type\":\"array\",\"items\":{\"description\":\"A function to select warnings based on the raw warning instance.\",\"instanceof\":\"Function\",\"tsType\":\"((warning: import('../lib/WebpackError'), compilation: import('../lib/Compilation')) => boolean)\"}},\"Iife\":{\"description\":\"Wrap javascript code into IIFE's to avoid leaking into global scope.\",\"type\":\"boolean\"},\"ImportFunctionName\":{\"description\":\"The name of the native import() function (can be exchanged for a polyfill).\",\"type\":\"string\"},\"ImportMetaName\":{\"description\":\"The name of the native import.meta object (can be exchanged for a polyfill).\",\"type\":\"string\"},\"InfrastructureLogging\":{\"description\":\"Options for infrastructure level logging.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"debug\":{\"description\":\"Enable debug logging for specific loggers.\",\"anyOf\":[{\"description\":\"Enable/Disable debug logging for all loggers.\",\"type\":\"boolean\"},{\"$ref\":\"#/definitions/FilterTypes\"}]},\"level\":{\"description\":\"Log level.\",\"enum\":[\"none\",\"error\",\"warn\",\"info\",\"log\",\"verbose\"]}}},\"JavascriptParserOptions\":{\"description\":\"Parser options for javascript modules.\",\"type\":\"object\",\"additionalProperties\":true,\"properties\":{\"amd\":{\"$ref\":\"#/definitions/Amd\"},\"browserify\":{\"description\":\"Enable/disable special handling for browserify bundles.\",\"type\":\"boolean\"},\"commonjs\":{\"description\":\"Enable/disable parsing of CommonJs syntax.\",\"type\":\"boolean\"},\"harmony\":{\"description\":\"Enable/disable parsing of EcmaScript Modules syntax.\",\"type\":\"boolean\"},\"import\":{\"description\":\"Enable/disable parsing of import() syntax.\",\"type\":\"boolean\"},\"node\":{\"$ref\":\"#/definitions/Node\"},\"requireContext\":{\"description\":\"Enable/disable parsing of require.context syntax.\",\"type\":\"boolean\"},\"requireEnsure\":{\"description\":\"Enable/disable parsing of require.ensure syntax.\",\"type\":\"boolean\"},\"requireInclude\":{\"description\":\"Enable/disable parsing of require.include syntax.\",\"type\":\"boolean\"},\"requireJs\":{\"description\":\"Enable/disable parsing of require.js special syntax like require.config, requirejs.config, require.version and requirejs.onError.\",\"type\":\"boolean\"},\"system\":{\"description\":\"Enable/disable parsing of System.js special syntax like System.import, System.get, System.set and System.register.\",\"type\":\"boolean\"},\"url\":{\"description\":\"Enable/disable parsing of new URL() syntax.\",\"type\":\"boolean\"},\"worker\":{\"description\":\"Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Specify a syntax that should be parsed as WebWorker reference. 'Abc' handles 'new Abc()', 'Abc from xyz' handles 'import { Abc } from \\\"xyz\\\"; new Abc()', 'abc()' handles 'abc()', and combinations are also possible.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"boolean\"}]}}},\"Layer\":{\"description\":\"Specifies the layer in which modules of this entrypoint are placed.\",\"anyOf\":[{\"enum\":[null]},{\"type\":\"string\",\"minLength\":1}]},\"Library\":{\"description\":\"Make the output files a library, exporting the exports of the entry point.\",\"anyOf\":[{\"$ref\":\"#/definitions/LibraryName\"},{\"$ref\":\"#/definitions/LibraryOptions\"}]},\"LibraryCustomUmdCommentObject\":{\"description\":\"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"amd\":{\"description\":\"Set comment for `amd` section in UMD.\",\"type\":\"string\"},\"commonjs\":{\"description\":\"Set comment for `commonjs` (exports) section in UMD.\",\"type\":\"string\"},\"commonjs2\":{\"description\":\"Set comment for `commonjs2` (module.exports) section in UMD.\",\"type\":\"string\"},\"root\":{\"description\":\"Set comment for `root` (global variable) section in UMD.\",\"type\":\"string\"}}},\"LibraryCustomUmdObject\":{\"description\":\"Description object for all UMD variants of the library name.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"amd\":{\"description\":\"Name of the exposed AMD library in the UMD.\",\"type\":\"string\",\"minLength\":1},\"commonjs\":{\"description\":\"Name of the exposed commonjs export in the UMD.\",\"type\":\"string\",\"minLength\":1},\"root\":{\"description\":\"Name of the property exposed globally by a UMD library.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Part of the name of the property exposed globally by a UMD library.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1}]}}},\"LibraryExport\":{\"description\":\"Specify which export should be exposed as library.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Part of the export that should be exposed as library.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1}]},\"LibraryName\":{\"description\":\"The name of the library (some types allow unnamed libraries too).\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"A part of the library name.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1},{\"$ref\":\"#/definitions/LibraryCustomUmdObject\"}]},\"LibraryOptions\":{\"description\":\"Options for library.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"auxiliaryComment\":{\"$ref\":\"#/definitions/AuxiliaryComment\"},\"export\":{\"$ref\":\"#/definitions/LibraryExport\"},\"name\":{\"$ref\":\"#/definitions/LibraryName\"},\"type\":{\"$ref\":\"#/definitions/LibraryType\"},\"umdNamedDefine\":{\"$ref\":\"#/definitions/UmdNamedDefine\"}},\"required\":[\"type\"]},\"LibraryType\":{\"description\":\"Type of library (types included by default are 'var', 'module', 'assign', 'assign-properties', 'this', 'window', 'self', 'global', 'commonjs', 'commonjs2', 'commonjs-module', 'amd', 'amd-require', 'umd', 'umd2', 'jsonp', 'system', but others might be added by plugins).\",\"anyOf\":[{\"enum\":[\"var\",\"module\",\"assign\",\"assign-properties\",\"this\",\"window\",\"self\",\"global\",\"commonjs\",\"commonjs2\",\"commonjs-module\",\"amd\",\"amd-require\",\"umd\",\"umd2\",\"jsonp\",\"system\"]},{\"type\":\"string\"}]},\"Loader\":{\"description\":\"Custom values available in the loader context.\",\"type\":\"object\"},\"MemoryCacheOptions\":{\"description\":\"Options object for in-memory caching.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"type\":{\"description\":\"In memory caching.\",\"enum\":[\"memory\"]}},\"required\":[\"type\"]},\"Mode\":{\"description\":\"Enable production optimizations or development hints.\",\"enum\":[\"development\",\"production\",\"none\"]},\"ModuleOptions\":{\"description\":\"Options affecting the normal modules (`NormalModuleFactory`).\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"defaultRules\":{\"description\":\"An array of rules applied by default for modules.\",\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRules\"}]},\"exprContextCritical\":{\"description\":\"Enable warnings for full dynamic dependencies.\",\"type\":\"boolean\"},\"exprContextRecursive\":{\"description\":\"Enable recursive directory lookup for full dynamic dependencies.\",\"type\":\"boolean\"},\"exprContextRegExp\":{\"description\":\"Sets the default regular expression for full dynamic dependencies.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"boolean\"}]},\"exprContextRequest\":{\"description\":\"Set the default request for full dynamic dependencies.\",\"type\":\"string\"},\"generator\":{\"description\":\"Specify options for each generator.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Options for generating.\",\"type\":\"object\",\"additionalProperties\":true},\"properties\":{\"asset\":{\"$ref\":\"#/definitions/AssetGeneratorOptions\"},\"asset/inline\":{\"$ref\":\"#/definitions/AssetInlineGeneratorOptions\"},\"asset/resource\":{\"$ref\":\"#/definitions/AssetResourceGeneratorOptions\"},\"javascript\":{\"$ref\":\"#/definitions/EmptyGeneratorOptions\"},\"javascript/auto\":{\"$ref\":\"#/definitions/EmptyGeneratorOptions\"},\"javascript/dynamic\":{\"$ref\":\"#/definitions/EmptyGeneratorOptions\"},\"javascript/esm\":{\"$ref\":\"#/definitions/EmptyGeneratorOptions\"}}},\"noParse\":{\"description\":\"Don't parse files matching. It's matched against the full resolved request.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Don't parse files matching. It's matched against the full resolved request.\",\"anyOf\":[{\"description\":\"A regular expression, when matched the module is not parsed.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"description\":\"An absolute path, when the module starts with this path it is not parsed.\",\"type\":\"string\",\"absolutePath\":true},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"minItems\":1},{\"description\":\"A regular expression, when matched the module is not parsed.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"description\":\"An absolute path, when the module starts with this path it is not parsed.\",\"type\":\"string\",\"absolutePath\":true},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"parser\":{\"description\":\"Specify options for each parser.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Options for parsing.\",\"type\":\"object\",\"additionalProperties\":true},\"properties\":{\"asset\":{\"$ref\":\"#/definitions/AssetParserOptions\"},\"asset/inline\":{\"$ref\":\"#/definitions/EmptyParserOptions\"},\"asset/resource\":{\"$ref\":\"#/definitions/EmptyParserOptions\"},\"asset/source\":{\"$ref\":\"#/definitions/EmptyParserOptions\"},\"javascript\":{\"$ref\":\"#/definitions/JavascriptParserOptions\"},\"javascript/auto\":{\"$ref\":\"#/definitions/JavascriptParserOptions\"},\"javascript/dynamic\":{\"$ref\":\"#/definitions/JavascriptParserOptions\"},\"javascript/esm\":{\"$ref\":\"#/definitions/JavascriptParserOptions\"}}},\"rules\":{\"description\":\"An array of rules applied for modules.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRules\"}]},\"strictExportPresence\":{\"description\":\"Emit errors instead of warnings when imported names don't exist in imported module.\",\"type\":\"boolean\"},\"strictThisContextOnImports\":{\"description\":\"Handle the this context correctly according to the spec for namespace objects.\",\"type\":\"boolean\"},\"unknownContextCritical\":{\"description\":\"Enable warnings when using the require function in a not statically analyse-able way.\",\"type\":\"boolean\"},\"unknownContextRecursive\":{\"description\":\"Enable recursive directory lookup when using the require function in a not statically analyse-able way.\",\"type\":\"boolean\"},\"unknownContextRegExp\":{\"description\":\"Sets the regular expression when using the require function in a not statically analyse-able way.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"boolean\"}]},\"unknownContextRequest\":{\"description\":\"Sets the request when using the require function in a not statically analyse-able way.\",\"type\":\"string\"},\"unsafeCache\":{\"description\":\"Cache the resolving of module requests.\",\"anyOf\":[{\"type\":\"boolean\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"wrappedContextCritical\":{\"description\":\"Enable warnings for partial dynamic dependencies.\",\"type\":\"boolean\"},\"wrappedContextRecursive\":{\"description\":\"Enable recursive directory lookup for partial dynamic dependencies.\",\"type\":\"boolean\"},\"wrappedContextRegExp\":{\"description\":\"Set the inner regular expression for partial dynamic dependencies.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"}}},\"Name\":{\"description\":\"Name of the configuration. Used when loading multiple configurations.\",\"type\":\"string\"},\"Node\":{\"description\":\"Include polyfills or mocks for various node stuff.\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/NodeOptions\"}]},\"NodeOptions\":{\"description\":\"Options object for node compatibility features.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"__dirname\":{\"description\":\"Include a polyfill for the '__dirname' variable.\",\"enum\":[false,true,\"mock\",\"eval-only\"]},\"__filename\":{\"description\":\"Include a polyfill for the '__filename' variable.\",\"enum\":[false,true,\"mock\",\"eval-only\"]},\"global\":{\"description\":\"Include a polyfill for the 'global' variable.\",\"type\":\"boolean\"}}},\"Optimization\":{\"description\":\"Enables/Disables integrated optimizations.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"checkWasmTypes\":{\"description\":\"Check for incompatible wasm types when importing/exporting from/to ESM.\",\"type\":\"boolean\"},\"chunkIds\":{\"description\":\"Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).\",\"enum\":[\"natural\",\"named\",\"deterministic\",\"size\",\"total-size\",false]},\"concatenateModules\":{\"description\":\"Concatenate modules when possible to generate less modules, more efficient code and enable more optimizations by the minimizer.\",\"type\":\"boolean\"},\"emitOnErrors\":{\"description\":\"Emit assets even when errors occur. Critical errors are emitted into the generated code and will cause errors at runtime.\",\"type\":\"boolean\"},\"flagIncludedChunks\":{\"description\":\"Also flag chunks as loaded which contain a subset of the modules.\",\"type\":\"boolean\"},\"innerGraph\":{\"description\":\"Creates a module-internal dependency graph for top level symbols, exports and imports, to improve unused exports detection.\",\"type\":\"boolean\"},\"mangleExports\":{\"description\":\"Rename exports when possible to generate shorter code (depends on optimization.usedExports and optimization.providedExports, true/\\\"deterministic\\\": generate short deterministic names optimized for caching, \\\"size\\\": generate the shortest possible names).\",\"anyOf\":[{\"enum\":[\"size\",\"deterministic\"]},{\"type\":\"boolean\"}]},\"mangleWasmImports\":{\"description\":\"Reduce size of WASM by changing imports to shorter strings.\",\"type\":\"boolean\"},\"mergeDuplicateChunks\":{\"description\":\"Merge chunks which contain the same modules.\",\"type\":\"boolean\"},\"minimize\":{\"description\":\"Enable minimizing the output. Uses optimization.minimizer.\",\"type\":\"boolean\"},\"minimizer\":{\"description\":\"Minimizer(s) to use for minimizing the output.\",\"type\":\"array\",\"cli\":{\"exclude\":true},\"items\":{\"description\":\"Plugin of type object or instanceof Function.\",\"anyOf\":[{\"enum\":[\"...\"]},{\"$ref\":\"#/definitions/WebpackPluginInstance\"},{\"$ref\":\"#/definitions/WebpackPluginFunction\"}]}},\"moduleIds\":{\"description\":\"Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).\",\"enum\":[\"natural\",\"named\",\"hashed\",\"deterministic\",\"size\",false]},\"noEmitOnErrors\":{\"description\":\"Avoid emitting assets when errors occur (deprecated: use 'emitOnErrors' instead).\",\"type\":\"boolean\",\"cli\":{\"exclude\":true}},\"nodeEnv\":{\"description\":\"Set process.env.NODE_ENV to a specific value.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\"}]},\"portableRecords\":{\"description\":\"Generate records with relative paths to be able to move the context folder.\",\"type\":\"boolean\"},\"providedExports\":{\"description\":\"Figure out which exports are provided by modules to generate more efficient code.\",\"type\":\"boolean\"},\"realContentHash\":{\"description\":\"Use real [contenthash] based on final content of the assets.\",\"type\":\"boolean\"},\"removeAvailableModules\":{\"description\":\"Removes modules from chunks when these modules are already included in all parents.\",\"type\":\"boolean\"},\"removeEmptyChunks\":{\"description\":\"Remove chunks which are empty.\",\"type\":\"boolean\"},\"runtimeChunk\":{\"$ref\":\"#/definitions/OptimizationRuntimeChunk\"},\"sideEffects\":{\"description\":\"Skip over modules which contain no side effects when exports are not used (false: disabled, 'flag': only use manually placed side effects flag, true: also analyse source code for side effects).\",\"anyOf\":[{\"enum\":[\"flag\"]},{\"type\":\"boolean\"}]},\"splitChunks\":{\"description\":\"Optimize duplication and caching by splitting chunks by shared modules and cache group.\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/OptimizationSplitChunksOptions\"}]},\"usedExports\":{\"description\":\"Figure out which exports are used by modules to mangle export names, omit unused exports and generate more efficient code (true: analyse used exports for each runtime, \\\"global\\\": analyse exports globally for all runtimes combined).\",\"anyOf\":[{\"enum\":[\"global\"]},{\"type\":\"boolean\"}]}}},\"OptimizationRuntimeChunk\":{\"description\":\"Create an additional chunk which contains only the webpack runtime and chunk hash maps.\",\"anyOf\":[{\"enum\":[\"single\",\"multiple\"]},{\"type\":\"boolean\"},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"description\":\"The name or name factory for the runtime chunks.\",\"anyOf\":[{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]}}}]},\"OptimizationRuntimeChunkNormalized\":{\"description\":\"Create an additional chunk which contains only the webpack runtime and chunk hash maps.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"description\":\"The name factory for the runtime chunks.\",\"instanceof\":\"Function\",\"tsType\":\"Function\"}}}]},\"OptimizationSplitChunksCacheGroup\":{\"description\":\"Options object for describing behavior of a cache group selecting modules that should be cached together.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"automaticNameDelimiter\":{\"description\":\"Sets the name delimiter for created chunks.\",\"type\":\"string\",\"minLength\":1},\"chunks\":{\"description\":\"Select chunks for determining cache group content (defaults to \\\"initial\\\", \\\"initial\\\" and \\\"all\\\" requires adding these chunks to the HTML).\",\"anyOf\":[{\"enum\":[\"initial\",\"async\",\"all\"]},{\"instanceof\":\"Function\",\"tsType\":\"((chunk: import('../lib/Chunk')) => boolean)\"}]},\"enforce\":{\"description\":\"Ignore minimum size, minimum chunks and maximum requests and always create chunks for this cache group.\",\"type\":\"boolean\"},\"enforceSizeThreshold\":{\"description\":\"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"filename\":{\"description\":\"Sets the template for the filename for created chunks.\",\"anyOf\":[{\"type\":\"string\",\"absolutePath\":false,\"minLength\":1},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"idHint\":{\"description\":\"Sets the hint for chunk id.\",\"type\":\"string\"},\"layer\":{\"description\":\"Assign modules to a cache group by module layer.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"maxAsyncRequests\":{\"description\":\"Maximum number of requests which are accepted for on-demand loading.\",\"type\":\"number\",\"minimum\":1},\"maxAsyncSize\":{\"description\":\"Maximal size hint for the on-demand chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxInitialRequests\":{\"description\":\"Maximum number of initial chunks which are accepted for an entry point.\",\"type\":\"number\",\"minimum\":1},\"maxInitialSize\":{\"description\":\"Maximal size hint for the initial chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxSize\":{\"description\":\"Maximal size hint for the created chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minChunks\":{\"description\":\"Minimum number of times a module has to be duplicated until it's considered for splitting.\",\"type\":\"number\",\"minimum\":1},\"minRemainingSize\":{\"description\":\"Minimal size for the chunks the stay after moving the modules to a new chunk.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minSize\":{\"description\":\"Minimal size for the created chunk.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"name\":{\"description\":\"Give chunks for this cache group a name (chunks with equal name are merged).\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"priority\":{\"description\":\"Priority of this cache group.\",\"type\":\"number\"},\"reuseExistingChunk\":{\"description\":\"Try to reuse existing chunk (with name) when it has matching modules.\",\"type\":\"boolean\"},\"test\":{\"description\":\"Assign modules to a cache group by module name.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"type\":{\"description\":\"Assign modules to a cache group by module type.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"usedExports\":{\"description\":\"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.\",\"type\":\"boolean\"}}},\"OptimizationSplitChunksGetCacheGroups\":{\"description\":\"A function returning cache groups.\",\"instanceof\":\"Function\",\"tsType\":\"((module: import('../lib/Module')) => OptimizationSplitChunksCacheGroup | OptimizationSplitChunksCacheGroup[] | void)\"},\"OptimizationSplitChunksOptions\":{\"description\":\"Options object for splitting chunks into smaller chunks.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"automaticNameDelimiter\":{\"description\":\"Sets the name delimiter for created chunks.\",\"type\":\"string\",\"minLength\":1},\"cacheGroups\":{\"description\":\"Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks, default categories: 'default', 'defaultVendors').\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Configuration for a cache group.\",\"anyOf\":[{\"enum\":[false]},{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"},{\"$ref\":\"#/definitions/OptimizationSplitChunksCacheGroup\"}]},\"not\":{\"description\":\"Using the cacheGroup shorthand syntax with a cache group named 'test' is a potential config error\\nDid you intent to define a cache group with a test instead?\\ncacheGroups: {\\n : {\\n test: ...\\n }\\n}.\",\"type\":\"object\",\"additionalProperties\":true,\"properties\":{\"test\":{\"description\":\"The test property is a cache group name, but using the test option of the cache group could be intended instead.\",\"anyOf\":[{\"instanceof\":\"Function\",\"tsType\":\"Function\"},{\"type\":\"string\"},{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"}]}},\"required\":[\"test\"]}},\"chunks\":{\"description\":\"Select chunks for determining shared modules (defaults to \\\"async\\\", \\\"initial\\\" and \\\"all\\\" requires adding these chunks to the HTML).\",\"anyOf\":[{\"enum\":[\"initial\",\"async\",\"all\"]},{\"instanceof\":\"Function\",\"tsType\":\"((chunk: import('../lib/Chunk')) => boolean)\"}]},\"defaultSizeTypes\":{\"description\":\"Sets the size types which are used when a number is used for sizes.\",\"type\":\"array\",\"items\":{\"description\":\"Size type, like 'javascript', 'webassembly'.\",\"type\":\"string\"},\"minLength\":1},\"enforceSizeThreshold\":{\"description\":\"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"fallbackCacheGroup\":{\"description\":\"Options for modules not selected by any other cache group.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"automaticNameDelimiter\":{\"description\":\"Sets the name delimiter for created chunks.\",\"type\":\"string\",\"minLength\":1},\"maxAsyncSize\":{\"description\":\"Maximal size hint for the on-demand chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxInitialSize\":{\"description\":\"Maximal size hint for the initial chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxSize\":{\"description\":\"Maximal size hint for the created chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minSize\":{\"description\":\"Minimal size for the created chunk.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]}}},\"filename\":{\"description\":\"Sets the template for the filename for created chunks.\",\"anyOf\":[{\"type\":\"string\",\"absolutePath\":false,\"minLength\":1},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"hidePathInfo\":{\"description\":\"Prevents exposing path info when creating names for parts splitted by maxSize.\",\"type\":\"boolean\"},\"maxAsyncRequests\":{\"description\":\"Maximum number of requests which are accepted for on-demand loading.\",\"type\":\"number\",\"minimum\":1},\"maxAsyncSize\":{\"description\":\"Maximal size hint for the on-demand chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxInitialRequests\":{\"description\":\"Maximum number of initial chunks which are accepted for an entry point.\",\"type\":\"number\",\"minimum\":1},\"maxInitialSize\":{\"description\":\"Maximal size hint for the initial chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxSize\":{\"description\":\"Maximal size hint for the created chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minChunks\":{\"description\":\"Minimum number of times a module has to be duplicated until it's considered for splitting.\",\"type\":\"number\",\"minimum\":1},\"minRemainingSize\":{\"description\":\"Minimal size for the chunks the stay after moving the modules to a new chunk.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minSize\":{\"description\":\"Minimal size for the created chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"name\":{\"description\":\"Give chunks created a name (chunks with equal name are merged).\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"usedExports\":{\"description\":\"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.\",\"type\":\"boolean\"}}},\"OptimizationSplitChunksSizes\":{\"description\":\"Size description for limits.\",\"anyOf\":[{\"description\":\"Size of the javascript part of the chunk.\",\"type\":\"number\",\"minimum\":0},{\"description\":\"Specify size limits per size type.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Size of the part of the chunk with the type of the key.\",\"type\":\"number\"}}]},\"Output\":{\"description\":\"Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"assetModuleFilename\":{\"$ref\":\"#/definitions/AssetModuleFilename\"},\"auxiliaryComment\":{\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/AuxiliaryComment\"}]},\"charset\":{\"$ref\":\"#/definitions/Charset\"},\"chunkFilename\":{\"$ref\":\"#/definitions/ChunkFilename\"},\"chunkFormat\":{\"$ref\":\"#/definitions/ChunkFormat\"},\"chunkLoadTimeout\":{\"$ref\":\"#/definitions/ChunkLoadTimeout\"},\"chunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"chunkLoadingGlobal\":{\"$ref\":\"#/definitions/ChunkLoadingGlobal\"},\"compareBeforeEmit\":{\"$ref\":\"#/definitions/CompareBeforeEmit\"},\"crossOriginLoading\":{\"$ref\":\"#/definitions/CrossOriginLoading\"},\"devtoolFallbackModuleFilenameTemplate\":{\"$ref\":\"#/definitions/DevtoolFallbackModuleFilenameTemplate\"},\"devtoolModuleFilenameTemplate\":{\"$ref\":\"#/definitions/DevtoolModuleFilenameTemplate\"},\"devtoolNamespace\":{\"$ref\":\"#/definitions/DevtoolNamespace\"},\"enabledChunkLoadingTypes\":{\"$ref\":\"#/definitions/EnabledChunkLoadingTypes\"},\"enabledLibraryTypes\":{\"$ref\":\"#/definitions/EnabledLibraryTypes\"},\"enabledWasmLoadingTypes\":{\"$ref\":\"#/definitions/EnabledWasmLoadingTypes\"},\"environment\":{\"$ref\":\"#/definitions/Environment\"},\"filename\":{\"$ref\":\"#/definitions/Filename\"},\"globalObject\":{\"$ref\":\"#/definitions/GlobalObject\"},\"hashDigest\":{\"$ref\":\"#/definitions/HashDigest\"},\"hashDigestLength\":{\"$ref\":\"#/definitions/HashDigestLength\"},\"hashFunction\":{\"$ref\":\"#/definitions/HashFunction\"},\"hashSalt\":{\"$ref\":\"#/definitions/HashSalt\"},\"hotUpdateChunkFilename\":{\"$ref\":\"#/definitions/HotUpdateChunkFilename\"},\"hotUpdateGlobal\":{\"$ref\":\"#/definitions/HotUpdateGlobal\"},\"hotUpdateMainFilename\":{\"$ref\":\"#/definitions/HotUpdateMainFilename\"},\"iife\":{\"$ref\":\"#/definitions/Iife\"},\"importFunctionName\":{\"$ref\":\"#/definitions/ImportFunctionName\"},\"importMetaName\":{\"$ref\":\"#/definitions/ImportMetaName\"},\"library\":{\"$ref\":\"#/definitions/Library\"},\"libraryExport\":{\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/LibraryExport\"}]},\"libraryTarget\":{\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/LibraryType\"}]},\"module\":{\"$ref\":\"#/definitions/OutputModule\"},\"path\":{\"$ref\":\"#/definitions/Path\"},\"pathinfo\":{\"$ref\":\"#/definitions/Pathinfo\"},\"publicPath\":{\"$ref\":\"#/definitions/PublicPath\"},\"scriptType\":{\"$ref\":\"#/definitions/ScriptType\"},\"sourceMapFilename\":{\"$ref\":\"#/definitions/SourceMapFilename\"},\"sourcePrefix\":{\"$ref\":\"#/definitions/SourcePrefix\"},\"strictModuleExceptionHandling\":{\"$ref\":\"#/definitions/StrictModuleExceptionHandling\"},\"umdNamedDefine\":{\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/UmdNamedDefine\"}]},\"uniqueName\":{\"$ref\":\"#/definitions/UniqueName\"},\"wasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"},\"webassemblyModuleFilename\":{\"$ref\":\"#/definitions/WebassemblyModuleFilename\"},\"workerChunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"workerWasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"}}},\"OutputModule\":{\"description\":\"Output javascript files as module source type.\",\"type\":\"boolean\"},\"OutputNormalized\":{\"description\":\"Normalized options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"assetModuleFilename\":{\"$ref\":\"#/definitions/AssetModuleFilename\"},\"charset\":{\"$ref\":\"#/definitions/Charset\"},\"chunkFilename\":{\"$ref\":\"#/definitions/ChunkFilename\"},\"chunkFormat\":{\"$ref\":\"#/definitions/ChunkFormat\"},\"chunkLoadTimeout\":{\"$ref\":\"#/definitions/ChunkLoadTimeout\"},\"chunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"chunkLoadingGlobal\":{\"$ref\":\"#/definitions/ChunkLoadingGlobal\"},\"compareBeforeEmit\":{\"$ref\":\"#/definitions/CompareBeforeEmit\"},\"crossOriginLoading\":{\"$ref\":\"#/definitions/CrossOriginLoading\"},\"devtoolFallbackModuleFilenameTemplate\":{\"$ref\":\"#/definitions/DevtoolFallbackModuleFilenameTemplate\"},\"devtoolModuleFilenameTemplate\":{\"$ref\":\"#/definitions/DevtoolModuleFilenameTemplate\"},\"devtoolNamespace\":{\"$ref\":\"#/definitions/DevtoolNamespace\"},\"enabledChunkLoadingTypes\":{\"$ref\":\"#/definitions/EnabledChunkLoadingTypes\"},\"enabledLibraryTypes\":{\"$ref\":\"#/definitions/EnabledLibraryTypes\"},\"enabledWasmLoadingTypes\":{\"$ref\":\"#/definitions/EnabledWasmLoadingTypes\"},\"environment\":{\"$ref\":\"#/definitions/Environment\"},\"filename\":{\"$ref\":\"#/definitions/Filename\"},\"globalObject\":{\"$ref\":\"#/definitions/GlobalObject\"},\"hashDigest\":{\"$ref\":\"#/definitions/HashDigest\"},\"hashDigestLength\":{\"$ref\":\"#/definitions/HashDigestLength\"},\"hashFunction\":{\"$ref\":\"#/definitions/HashFunction\"},\"hashSalt\":{\"$ref\":\"#/definitions/HashSalt\"},\"hotUpdateChunkFilename\":{\"$ref\":\"#/definitions/HotUpdateChunkFilename\"},\"hotUpdateGlobal\":{\"$ref\":\"#/definitions/HotUpdateGlobal\"},\"hotUpdateMainFilename\":{\"$ref\":\"#/definitions/HotUpdateMainFilename\"},\"iife\":{\"$ref\":\"#/definitions/Iife\"},\"importFunctionName\":{\"$ref\":\"#/definitions/ImportFunctionName\"},\"importMetaName\":{\"$ref\":\"#/definitions/ImportMetaName\"},\"library\":{\"$ref\":\"#/definitions/LibraryOptions\"},\"module\":{\"$ref\":\"#/definitions/OutputModule\"},\"path\":{\"$ref\":\"#/definitions/Path\"},\"pathinfo\":{\"$ref\":\"#/definitions/Pathinfo\"},\"publicPath\":{\"$ref\":\"#/definitions/PublicPath\"},\"scriptType\":{\"$ref\":\"#/definitions/ScriptType\"},\"sourceMapFilename\":{\"$ref\":\"#/definitions/SourceMapFilename\"},\"sourcePrefix\":{\"$ref\":\"#/definitions/SourcePrefix\"},\"strictModuleExceptionHandling\":{\"$ref\":\"#/definitions/StrictModuleExceptionHandling\"},\"uniqueName\":{\"$ref\":\"#/definitions/UniqueName\"},\"wasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"},\"webassemblyModuleFilename\":{\"$ref\":\"#/definitions/WebassemblyModuleFilename\"},\"workerChunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"workerWasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"}}},\"Parallelism\":{\"description\":\"The number of parallel processed modules in the compilation.\",\"type\":\"number\",\"minimum\":1},\"Path\":{\"description\":\"The output directory as **absolute path** (required).\",\"type\":\"string\",\"absolutePath\":true},\"Pathinfo\":{\"description\":\"Include comments with information about the modules.\",\"anyOf\":[{\"enum\":[\"verbose\"]},{\"type\":\"boolean\"}]},\"Performance\":{\"description\":\"Configuration for web performance recommendations.\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/PerformanceOptions\"}]},\"PerformanceOptions\":{\"description\":\"Configuration object for web performance recommendations.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"assetFilter\":{\"description\":\"Filter function to select assets that are checked.\",\"instanceof\":\"Function\",\"tsType\":\"Function\"},\"hints\":{\"description\":\"Sets the format of the hints: warnings, errors or nothing at all.\",\"enum\":[false,\"warning\",\"error\"]},\"maxAssetSize\":{\"description\":\"File size limit (in bytes) when exceeded, that webpack will provide performance hints.\",\"type\":\"number\"},\"maxEntrypointSize\":{\"description\":\"Total size of an entry point (in bytes).\",\"type\":\"number\"}}},\"Plugins\":{\"description\":\"Add additional plugins to the compiler.\",\"type\":\"array\",\"items\":{\"description\":\"Plugin of type object or instanceof Function.\",\"anyOf\":[{\"$ref\":\"#/definitions/WebpackPluginInstance\"},{\"$ref\":\"#/definitions/WebpackPluginFunction\"}]}},\"Profile\":{\"description\":\"Capture timing information for each module.\",\"type\":\"boolean\"},\"PublicPath\":{\"description\":\"The `publicPath` specifies the public URL address of the output files when referenced in a browser.\",\"anyOf\":[{\"enum\":[\"auto\"]},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"RecordsInputPath\":{\"description\":\"Store compiler state to a json file.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\",\"absolutePath\":true}]},\"RecordsOutputPath\":{\"description\":\"Load compiler state from a json file.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\",\"absolutePath\":true}]},\"RecordsPath\":{\"description\":\"Store/Load compiler state from/to a json file. This will result in persistent ids of modules and chunks. An absolute path is expected. `recordsPath` is used for `recordsInputPath` and `recordsOutputPath` if they left undefined.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\",\"absolutePath\":true}]},\"Resolve\":{\"description\":\"Options for the resolver.\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveOptions\"}]},\"ResolveAlias\":{\"description\":\"Redirect module requests.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Alias configuration.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"alias\":{\"description\":\"New request.\",\"anyOf\":[{\"description\":\"Multiple alternative requests.\",\"type\":\"array\",\"items\":{\"description\":\"One choice of request.\",\"type\":\"string\",\"minLength\":1}},{\"description\":\"Ignore request (replace with empty module).\",\"enum\":[false]},{\"description\":\"New request.\",\"type\":\"string\",\"minLength\":1}]},\"name\":{\"description\":\"Request to be redirected.\",\"type\":\"string\"},\"onlyModule\":{\"description\":\"Redirect only exact matching request.\",\"type\":\"boolean\"}},\"required\":[\"alias\",\"name\"]}},{\"type\":\"object\",\"additionalProperties\":{\"description\":\"New request.\",\"anyOf\":[{\"description\":\"Multiple alternative requests.\",\"type\":\"array\",\"items\":{\"description\":\"One choice of request.\",\"type\":\"string\",\"minLength\":1}},{\"description\":\"Ignore request (replace with empty module).\",\"enum\":[false]},{\"description\":\"New request.\",\"type\":\"string\",\"minLength\":1}]}}]},\"ResolveLoader\":{\"description\":\"Options for the resolver when resolving loaders.\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveOptions\"}]},\"ResolveOptions\":{\"description\":\"Options object for resolving requests.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"alias\":{\"$ref\":\"#/definitions/ResolveAlias\"},\"aliasFields\":{\"description\":\"Fields in the description file (usually package.json) which are used to redirect requests inside the module.\",\"type\":\"array\",\"items\":{\"description\":\"Field in the description file (usually package.json) which are used to redirect requests inside the module.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Part of the field path in the description file (usually package.json) which are used to redirect requests inside the module.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1}]}},\"byDependency\":{\"description\":\"Extra resolve options per dependency category. Typical categories are \\\"commonjs\\\", \\\"amd\\\", \\\"esm\\\".\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Options object for resolving requests.\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveOptions\"}]}},\"cache\":{\"description\":\"Enable caching of successfully resolved requests (cache entries are revalidated).\",\"type\":\"boolean\"},\"cachePredicate\":{\"description\":\"Predicate function to decide which requests should be cached.\",\"instanceof\":\"Function\",\"tsType\":\"((request: import('enhanced-resolve').ResolveRequest) => boolean)\"},\"cacheWithContext\":{\"description\":\"Include the context information in the cache identifier when caching.\",\"type\":\"boolean\"},\"conditionNames\":{\"description\":\"Condition names for exports field entry point.\",\"type\":\"array\",\"items\":{\"description\":\"Condition names for exports field entry point.\",\"type\":\"string\"}},\"descriptionFiles\":{\"description\":\"Filenames used to find a description file (like a package.json).\",\"type\":\"array\",\"items\":{\"description\":\"Filename used to find a description file (like a package.json).\",\"type\":\"string\",\"minLength\":1}},\"enforceExtension\":{\"description\":\"Enforce the resolver to use one of the extensions from the extensions option (User must specify requests without extension).\",\"type\":\"boolean\"},\"exportsFields\":{\"description\":\"Field names from the description file (usually package.json) which are used to provide entry points of a package.\",\"type\":\"array\",\"items\":{\"description\":\"Field name from the description file (usually package.json) which is used to provide entry points of a package.\",\"type\":\"string\"}},\"extensions\":{\"description\":\"Extensions added to the request when trying to find the file.\",\"type\":\"array\",\"items\":{\"description\":\"Extension added to the request when trying to find the file.\",\"type\":\"string\",\"minLength\":1}},\"fallback\":{\"description\":\"Redirect module requests when normal resolving fails.\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveAlias\"}]},\"fileSystem\":{\"description\":\"Filesystem for the resolver.\",\"tsType\":\"(import('../lib/util/fs').InputFileSystem)\"},\"fullySpecified\":{\"description\":\"Treats the request specified by the user as fully specified, meaning no extensions are added and the mainFiles in directories are not resolved (This doesn't affect requests from mainFields, aliasFields or aliases).\",\"type\":\"boolean\"},\"importsFields\":{\"description\":\"Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).\",\"type\":\"array\",\"items\":{\"description\":\"Field name from the description file (usually package.json) which is used to provide internal request of a package (requests starting with # are considered as internal).\",\"type\":\"string\"}},\"mainFields\":{\"description\":\"Field names from the description file (package.json) which are used to find the default entry point.\",\"type\":\"array\",\"items\":{\"description\":\"Field name from the description file (package.json) which are used to find the default entry point.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Part of the field path from the description file (package.json) which are used to find the default entry point.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1}]}},\"mainFiles\":{\"description\":\"Filenames used to find the default entry point if there is no description file or main field.\",\"type\":\"array\",\"items\":{\"description\":\"Filename used to find the default entry point if there is no description file or main field.\",\"type\":\"string\",\"minLength\":1}},\"modules\":{\"description\":\"Folder names or directory paths where to find modules.\",\"type\":\"array\",\"items\":{\"description\":\"Folder name or directory path where to find modules.\",\"type\":\"string\",\"minLength\":1}},\"plugins\":{\"description\":\"Plugins for the resolver.\",\"type\":\"array\",\"cli\":{\"exclude\":true},\"items\":{\"description\":\"Plugin of type object or instanceof Function.\",\"anyOf\":[{\"enum\":[\"...\"]},{\"$ref\":\"#/definitions/ResolvePluginInstance\"}]}},\"preferAbsolute\":{\"description\":\"Prefer to resolve server-relative URLs (starting with '/') as absolute paths before falling back to resolve in 'resolve.roots'.\",\"type\":\"boolean\"},\"preferRelative\":{\"description\":\"Prefer to resolve module requests as relative request and fallback to resolving as module.\",\"type\":\"boolean\"},\"resolver\":{\"description\":\"Custom resolver.\",\"tsType\":\"(import('enhanced-resolve').Resolver)\"},\"restrictions\":{\"description\":\"A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.\",\"type\":\"array\",\"items\":{\"description\":\"Resolve restriction. Resolve result must fulfill this restriction.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}]}},\"roots\":{\"description\":\"A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.\",\"type\":\"array\",\"items\":{\"description\":\"Directory in which requests that are server-relative URLs (starting with '/') are resolved.\",\"type\":\"string\"}},\"symlinks\":{\"description\":\"Enable resolving symlinks to the original location.\",\"type\":\"boolean\"},\"unsafeCache\":{\"description\":\"Enable caching of successfully resolved requests (cache entries are not revalidated).\",\"anyOf\":[{\"type\":\"boolean\"},{\"type\":\"object\",\"additionalProperties\":true}]},\"useSyncFileSystemCalls\":{\"description\":\"Use synchronous filesystem calls for the resolver.\",\"type\":\"boolean\"}}},\"ResolvePluginInstance\":{\"description\":\"Plugin instance.\",\"type\":\"object\",\"additionalProperties\":true,\"properties\":{\"apply\":{\"description\":\"The run point of the plugin, required method.\",\"instanceof\":\"Function\",\"tsType\":\"(resolver: import('enhanced-resolve').Resolver) => void\"}},\"required\":[\"apply\"]},\"RuleSetCondition\":{\"description\":\"A condition matcher.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"and\":{\"description\":\"Logical AND.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditions\"}]},\"not\":{\"description\":\"Logical NOT.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditions\"}]},\"or\":{\"description\":\"Logical OR.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditions\"}]}}},{\"instanceof\":\"Function\",\"tsType\":\"((value: string) => boolean)\"},{\"$ref\":\"#/definitions/RuleSetConditions\"}]},\"RuleSetConditionAbsolute\":{\"description\":\"A condition matcher matching an absolute path.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\",\"absolutePath\":true},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"and\":{\"description\":\"Logical AND.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]},\"not\":{\"description\":\"Logical NOT.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]},\"or\":{\"description\":\"Logical OR.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]}}},{\"instanceof\":\"Function\",\"tsType\":\"((value: string) => boolean)\"},{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]},\"RuleSetConditionOrConditions\":{\"description\":\"One or multiple rule conditions.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"$ref\":\"#/definitions/RuleSetCondition\"},{\"$ref\":\"#/definitions/RuleSetConditions\"}]},\"RuleSetConditionOrConditionsAbsolute\":{\"description\":\"One or multiple rule conditions matching an absolute path.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"$ref\":\"#/definitions/RuleSetConditionAbsolute\"},{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]},\"RuleSetConditions\":{\"description\":\"A list of rule conditions.\",\"type\":\"array\",\"items\":{\"description\":\"A rule condition.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetCondition\"}]}},\"RuleSetConditionsAbsolute\":{\"description\":\"A list of rule conditions matching an absolute path.\",\"type\":\"array\",\"items\":{\"description\":\"A rule condition matching an absolute path.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionAbsolute\"}]}},\"RuleSetLoader\":{\"description\":\"A loader request.\",\"type\":\"string\",\"minLength\":1},\"RuleSetLoaderOptions\":{\"description\":\"Options passed to a loader.\",\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\"}]},\"RuleSetRule\":{\"description\":\"A rule description with conditions and effects for modules.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"compiler\":{\"description\":\"Match the child compiler name.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"dependency\":{\"description\":\"Match dependency type.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"descriptionData\":{\"description\":\"Match values of properties in the description file (usually package.json).\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}},\"enforce\":{\"description\":\"Enforce this rule as pre or post step.\",\"enum\":[\"pre\",\"post\"]},\"exclude\":{\"description\":\"Shortcut for resource.exclude.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"generator\":{\"description\":\"The options for the module generator.\",\"type\":\"object\"},\"include\":{\"description\":\"Shortcut for resource.include.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"issuer\":{\"description\":\"Match the issuer of the module (The module pointing to this module).\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"issuerLayer\":{\"description\":\"Match layer of the issuer of this module (The module pointing to this module).\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"layer\":{\"description\":\"Specifies the layer in which the module should be placed in.\",\"type\":\"string\"},\"loader\":{\"description\":\"Shortcut for use.loader.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetLoader\"}]},\"mimetype\":{\"description\":\"Match module mimetype when load from Data URI.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"oneOf\":{\"description\":\"Only execute the first matching rule in this array.\",\"type\":\"array\",\"items\":{\"description\":\"A rule.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRule\"}]}},\"options\":{\"description\":\"Shortcut for use.options.\",\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetLoaderOptions\"}]},\"parser\":{\"description\":\"Options for parsing.\",\"type\":\"object\",\"additionalProperties\":true},\"realResource\":{\"description\":\"Match the real resource path of the module.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"resolve\":{\"description\":\"Options for the resolver.\",\"type\":\"object\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveOptions\"}]},\"resource\":{\"description\":\"Match the resource path of the module.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"resourceFragment\":{\"description\":\"Match the resource fragment of the module.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"resourceQuery\":{\"description\":\"Match the resource query of the module.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"rules\":{\"description\":\"Match and execute these rules when this rule is matched.\",\"type\":\"array\",\"items\":{\"description\":\"A rule.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRule\"}]}},\"sideEffects\":{\"description\":\"Flags a module as with or without side effects.\",\"type\":\"boolean\"},\"test\":{\"description\":\"Shortcut for resource.test.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"type\":{\"description\":\"Module type to use for the module.\",\"type\":\"string\"},\"use\":{\"description\":\"Modifiers applied to the module when rule is matched.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetUse\"}]}}},\"RuleSetRules\":{\"description\":\"A list of rules.\",\"type\":\"array\",\"items\":{\"description\":\"A rule.\",\"anyOf\":[{\"cli\":{\"exclude\":true},\"enum\":[\"...\"]},{\"$ref\":\"#/definitions/RuleSetRule\"}]}},\"RuleSetUse\":{\"description\":\"A list of descriptions of loaders applied.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"An use item.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetUseItem\"}]}},{\"instanceof\":\"Function\",\"tsType\":\"((data: { resource: string, realResource: string, resourceQuery: string, issuer: string, compiler: string }) => RuleSetUseItem[])\"},{\"$ref\":\"#/definitions/RuleSetUseItem\"}]},\"RuleSetUseItem\":{\"description\":\"A description of an applied loader.\",\"anyOf\":[{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"ident\":{\"description\":\"Unique loader options identifier.\",\"type\":\"string\"},\"loader\":{\"description\":\"Loader name.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetLoader\"}]},\"options\":{\"description\":\"Loader options.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetLoaderOptions\"}]}}},{\"instanceof\":\"Function\",\"tsType\":\"((data: object) => RuleSetUseItem|RuleSetUseItem[])\"},{\"$ref\":\"#/definitions/RuleSetLoader\"}]},\"ScriptType\":{\"description\":\"This option enables loading async chunks via a custom script type, such as script type=\\\"module\\\".\",\"enum\":[false,\"text/javascript\",\"module\"]},\"SnapshotOptions\":{\"description\":\"Options affecting how file system snapshots are created and validated.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"buildDependencies\":{\"description\":\"Options for snapshotting build dependencies to determine if the whole cache need to be invalidated.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"hash\":{\"description\":\"Use hashes of the content of the files/directories to determine invalidation.\",\"type\":\"boolean\"},\"timestamp\":{\"description\":\"Use timestamps of the files/directories to determine invalidation.\",\"type\":\"boolean\"}}},\"immutablePaths\":{\"description\":\"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.\",\"type\":\"array\",\"items\":{\"description\":\"A path to a immutable directory (usually a package manager cache directory).\",\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}},\"managedPaths\":{\"description\":\"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.\",\"type\":\"array\",\"items\":{\"description\":\"A path to a managed directory (usually a node_modules directory).\",\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}},\"module\":{\"description\":\"Options for snapshotting dependencies of modules to determine if they need to be built again.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"hash\":{\"description\":\"Use hashes of the content of the files/directories to determine invalidation.\",\"type\":\"boolean\"},\"timestamp\":{\"description\":\"Use timestamps of the files/directories to determine invalidation.\",\"type\":\"boolean\"}}},\"resolve\":{\"description\":\"Options for snapshotting dependencies of request resolving to determine if requests need to be re-resolved.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"hash\":{\"description\":\"Use hashes of the content of the files/directories to determine invalidation.\",\"type\":\"boolean\"},\"timestamp\":{\"description\":\"Use timestamps of the files/directories to determine invalidation.\",\"type\":\"boolean\"}}},\"resolveBuildDependencies\":{\"description\":\"Options for snapshotting the resolving of build dependencies to determine if the build dependencies need to be re-resolved.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"hash\":{\"description\":\"Use hashes of the content of the files/directories to determine invalidation.\",\"type\":\"boolean\"},\"timestamp\":{\"description\":\"Use timestamps of the files/directories to determine invalidation.\",\"type\":\"boolean\"}}}}},\"SourceMapFilename\":{\"description\":\"The filename of the SourceMaps for the JavaScript files. They are inside the 'output.path' directory.\",\"type\":\"string\",\"absolutePath\":false},\"SourcePrefix\":{\"description\":\"Prefixes every line of the source in the bundle with this string.\",\"type\":\"string\"},\"StatsOptions\":{\"description\":\"Stats options object.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"all\":{\"description\":\"Fallback value for stats options when an option is not defined (has precedence over local webpack defaults).\",\"type\":\"boolean\"},\"assets\":{\"description\":\"Add assets information.\",\"type\":\"boolean\"},\"assetsSort\":{\"description\":\"Sort the assets by that field.\",\"type\":\"string\"},\"assetsSpace\":{\"description\":\"Space to display assets (groups will be collapsed to fit this space).\",\"type\":\"number\"},\"builtAt\":{\"description\":\"Add built at time information.\",\"type\":\"boolean\"},\"cached\":{\"description\":\"Add information about cached (not built) modules (deprecated: use 'cachedModules' instead).\",\"type\":\"boolean\"},\"cachedAssets\":{\"description\":\"Show cached assets (setting this to `false` only shows emitted files).\",\"type\":\"boolean\"},\"cachedModules\":{\"description\":\"Add information about cached (not built) modules.\",\"type\":\"boolean\"},\"children\":{\"description\":\"Add children information.\",\"type\":\"boolean\"},\"chunkGroupAuxiliary\":{\"description\":\"Display auxiliary assets in chunk groups.\",\"type\":\"boolean\"},\"chunkGroupChildren\":{\"description\":\"Display children of chunk groups.\",\"type\":\"boolean\"},\"chunkGroupMaxAssets\":{\"description\":\"Limit of assets displayed in chunk groups.\",\"type\":\"number\"},\"chunkGroups\":{\"description\":\"Display all chunk groups with the corresponding bundles.\",\"type\":\"boolean\"},\"chunkModules\":{\"description\":\"Add built modules information to chunk information.\",\"type\":\"boolean\"},\"chunkModulesSpace\":{\"description\":\"Space to display chunk modules (groups will be collapsed to fit this space, value is in number of modules/group).\",\"type\":\"number\"},\"chunkOrigins\":{\"description\":\"Add the origins of chunks and chunk merging info.\",\"type\":\"boolean\"},\"chunkRelations\":{\"description\":\"Add information about parent, children and sibling chunks to chunk information.\",\"type\":\"boolean\"},\"chunks\":{\"description\":\"Add chunk information.\",\"type\":\"boolean\"},\"chunksSort\":{\"description\":\"Sort the chunks by that field.\",\"type\":\"string\"},\"colors\":{\"description\":\"Enables/Disables colorful output.\",\"anyOf\":[{\"description\":\"Enables/Disables colorful output.\",\"type\":\"boolean\"},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"bold\":{\"description\":\"Custom color for bold text.\",\"type\":\"string\"},\"cyan\":{\"description\":\"Custom color for cyan text.\",\"type\":\"string\"},\"green\":{\"description\":\"Custom color for green text.\",\"type\":\"string\"},\"magenta\":{\"description\":\"Custom color for magenta text.\",\"type\":\"string\"},\"red\":{\"description\":\"Custom color for red text.\",\"type\":\"string\"},\"yellow\":{\"description\":\"Custom color for yellow text.\",\"type\":\"string\"}}}]},\"context\":{\"description\":\"Context directory for request shortening.\",\"type\":\"string\",\"absolutePath\":true},\"dependentModules\":{\"description\":\"Show chunk modules that are dependencies of other modules of the chunk.\",\"type\":\"boolean\"},\"depth\":{\"description\":\"Add module depth in module graph.\",\"type\":\"boolean\"},\"entrypoints\":{\"description\":\"Display the entry points with the corresponding bundles.\",\"anyOf\":[{\"enum\":[\"auto\"]},{\"type\":\"boolean\"}]},\"env\":{\"description\":\"Add --env information.\",\"type\":\"boolean\"},\"errorDetails\":{\"description\":\"Add details to errors (like resolving log).\",\"type\":\"boolean\"},\"errorStack\":{\"description\":\"Add internal stack trace to errors.\",\"type\":\"boolean\"},\"errors\":{\"description\":\"Add errors.\",\"type\":\"boolean\"},\"errorsCount\":{\"description\":\"Add errors count.\",\"type\":\"boolean\"},\"exclude\":{\"description\":\"Please use excludeModules instead.\",\"cli\":{\"exclude\":true},\"anyOf\":[{\"type\":\"boolean\"},{\"$ref\":\"#/definitions/FilterTypes\"}]},\"excludeAssets\":{\"description\":\"Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilterTypes\"}]},\"excludeModules\":{\"description\":\"Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.\",\"anyOf\":[{\"type\":\"boolean\"},{\"$ref\":\"#/definitions/FilterTypes\"}]},\"groupAssetsByChunk\":{\"description\":\"Group assets by how their are related to chunks.\",\"type\":\"boolean\"},\"groupAssetsByEmitStatus\":{\"description\":\"Group assets by their status (emitted, compared for emit or cached).\",\"type\":\"boolean\"},\"groupAssetsByExtension\":{\"description\":\"Group assets by their extension.\",\"type\":\"boolean\"},\"groupAssetsByInfo\":{\"description\":\"Group assets by their asset info (immutable, development, hotModuleReplacement, etc).\",\"type\":\"boolean\"},\"groupAssetsByPath\":{\"description\":\"Group assets by their path.\",\"type\":\"boolean\"},\"groupModulesByAttributes\":{\"description\":\"Group modules by their attributes (errors, warnings, assets, optional, orphan, or dependent).\",\"type\":\"boolean\"},\"groupModulesByCacheStatus\":{\"description\":\"Group modules by their status (cached or built and cacheable).\",\"type\":\"boolean\"},\"groupModulesByExtension\":{\"description\":\"Group modules by their extension.\",\"type\":\"boolean\"},\"groupModulesByLayer\":{\"description\":\"Group modules by their layer.\",\"type\":\"boolean\"},\"groupModulesByPath\":{\"description\":\"Group modules by their path.\",\"type\":\"boolean\"},\"hash\":{\"description\":\"Add the hash of the compilation.\",\"type\":\"boolean\"},\"ids\":{\"description\":\"Add ids.\",\"type\":\"boolean\"},\"logging\":{\"description\":\"Add logging output.\",\"anyOf\":[{\"description\":\"Specify log level of logging output.\",\"enum\":[\"none\",\"error\",\"warn\",\"info\",\"log\",\"verbose\"]},{\"description\":\"Enable/disable logging output (`true`: shows normal logging output, loglevel: log).\",\"type\":\"boolean\"}]},\"loggingDebug\":{\"description\":\"Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.\",\"anyOf\":[{\"description\":\"Enable/Disable debug logging for all loggers.\",\"type\":\"boolean\"},{\"$ref\":\"#/definitions/FilterTypes\"}]},\"loggingTrace\":{\"description\":\"Add stack traces to logging output.\",\"type\":\"boolean\"},\"moduleAssets\":{\"description\":\"Add information about assets inside modules.\",\"type\":\"boolean\"},\"moduleTrace\":{\"description\":\"Add dependencies and origin of warnings/errors.\",\"type\":\"boolean\"},\"modules\":{\"description\":\"Add built modules information.\",\"type\":\"boolean\"},\"modulesSort\":{\"description\":\"Sort the modules by that field.\",\"type\":\"string\"},\"modulesSpace\":{\"description\":\"Space to display modules (groups will be collapsed to fit this space, value is in number of modules/groups).\",\"type\":\"number\"},\"nestedModules\":{\"description\":\"Add information about modules nested in other modules (like with module concatenation).\",\"type\":\"boolean\"},\"nestedModulesSpace\":{\"description\":\"Space to display modules nested within other modules (groups will be collapsed to fit this space, value is in number of modules/group).\",\"type\":\"number\"},\"optimizationBailout\":{\"description\":\"Show reasons why optimization bailed out for modules.\",\"type\":\"boolean\"},\"orphanModules\":{\"description\":\"Add information about orphan modules.\",\"type\":\"boolean\"},\"outputPath\":{\"description\":\"Add output path information.\",\"type\":\"boolean\"},\"performance\":{\"description\":\"Add performance hint flags.\",\"type\":\"boolean\"},\"preset\":{\"description\":\"Preset for the default values.\",\"anyOf\":[{\"type\":\"boolean\"},{\"type\":\"string\"}]},\"providedExports\":{\"description\":\"Show exports provided by modules.\",\"type\":\"boolean\"},\"publicPath\":{\"description\":\"Add public path information.\",\"type\":\"boolean\"},\"reasons\":{\"description\":\"Add information about the reasons why modules are included.\",\"type\":\"boolean\"},\"relatedAssets\":{\"description\":\"Add information about assets that are related to other assets (like SourceMaps for assets).\",\"type\":\"boolean\"},\"runtime\":{\"description\":\"Add information about runtime modules (deprecated: use 'runtimeModules' instead).\",\"type\":\"boolean\"},\"runtimeModules\":{\"description\":\"Add information about runtime modules.\",\"type\":\"boolean\"},\"source\":{\"description\":\"Add the source code of modules.\",\"type\":\"boolean\"},\"timings\":{\"description\":\"Add timing information.\",\"type\":\"boolean\"},\"usedExports\":{\"description\":\"Show exports used by modules.\",\"type\":\"boolean\"},\"version\":{\"description\":\"Add webpack version information.\",\"type\":\"boolean\"},\"warnings\":{\"description\":\"Add warnings.\",\"type\":\"boolean\"},\"warningsCount\":{\"description\":\"Add warnings count.\",\"type\":\"boolean\"},\"warningsFilter\":{\"description\":\"Suppress listing warnings that match the specified filters (they will still be counted). Filters can be Strings, RegExps or Functions.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilterTypes\"}]}}},\"StatsValue\":{\"description\":\"Stats options object or preset name.\",\"anyOf\":[{\"enum\":[\"none\",\"summary\",\"errors-only\",\"errors-warnings\",\"minimal\",\"normal\",\"detailed\",\"verbose\"]},{\"type\":\"boolean\"},{\"$ref\":\"#/definitions/StatsOptions\"}]},\"StrictModuleExceptionHandling\":{\"description\":\"Handles exceptions in module loading correctly at a performance cost.\",\"type\":\"boolean\"},\"Target\":{\"description\":\"Environment to build for. An array of environments to build for all of them when possible.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Environment to build for.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1},{\"enum\":[false]},{\"type\":\"string\",\"minLength\":1}]},\"UmdNamedDefine\":{\"description\":\"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.\",\"type\":\"boolean\"},\"UniqueName\":{\"description\":\"A unique name of the webpack build to avoid multiple webpack runtimes to conflict when using globals.\",\"type\":\"string\",\"minLength\":1},\"WasmLoading\":{\"description\":\"The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/WasmLoadingType\"}]},\"WasmLoadingType\":{\"description\":\"The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[\"fetch-streaming\",\"fetch\",\"async-node\"]},{\"type\":\"string\"}]},\"Watch\":{\"description\":\"Enter watch mode, which rebuilds on file change.\",\"type\":\"boolean\"},\"WatchOptions\":{\"description\":\"Options for the watcher.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"aggregateTimeout\":{\"description\":\"Delay the rebuilt after the first change. Value is a time in ms.\",\"type\":\"number\"},\"followSymlinks\":{\"description\":\"Resolve symlinks and watch symlink and real file. This is usually not needed as webpack already resolves symlinks ('resolve.symlinks').\",\"type\":\"boolean\"},\"ignored\":{\"description\":\"Ignore some files from watching (glob pattern or regexp).\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"A glob pattern for files that should be ignored from watching.\",\"type\":\"string\",\"minLength\":1}},{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"description\":\"A single glob pattern for files that should be ignored from watching.\",\"type\":\"string\",\"minLength\":1}]},\"poll\":{\"description\":\"Enable polling mode for watching.\",\"anyOf\":[{\"description\":\"`number`: use polling with specified interval.\",\"type\":\"number\"},{\"description\":\"`true`: use polling.\",\"type\":\"boolean\"}]},\"stdin\":{\"description\":\"Stop watching when stdin stream has ended.\",\"type\":\"boolean\"}}},\"WebassemblyModuleFilename\":{\"description\":\"The filename of WebAssembly modules as relative path inside the 'output.path' directory.\",\"type\":\"string\",\"absolutePath\":false},\"WebpackOptionsNormalized\":{\"description\":\"Normalized webpack options object.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"amd\":{\"$ref\":\"#/definitions/Amd\"},\"bail\":{\"$ref\":\"#/definitions/Bail\"},\"cache\":{\"$ref\":\"#/definitions/CacheOptionsNormalized\"},\"context\":{\"$ref\":\"#/definitions/Context\"},\"dependencies\":{\"$ref\":\"#/definitions/Dependencies\"},\"devServer\":{\"$ref\":\"#/definitions/DevServer\"},\"devtool\":{\"$ref\":\"#/definitions/DevTool\"},\"entry\":{\"$ref\":\"#/definitions/EntryNormalized\"},\"experiments\":{\"$ref\":\"#/definitions/Experiments\"},\"externals\":{\"$ref\":\"#/definitions/Externals\"},\"externalsPresets\":{\"$ref\":\"#/definitions/ExternalsPresets\"},\"externalsType\":{\"$ref\":\"#/definitions/ExternalsType\"},\"ignoreWarnings\":{\"$ref\":\"#/definitions/IgnoreWarningsNormalized\"},\"infrastructureLogging\":{\"$ref\":\"#/definitions/InfrastructureLogging\"},\"loader\":{\"$ref\":\"#/definitions/Loader\"},\"mode\":{\"$ref\":\"#/definitions/Mode\"},\"module\":{\"$ref\":\"#/definitions/ModuleOptions\"},\"name\":{\"$ref\":\"#/definitions/Name\"},\"node\":{\"$ref\":\"#/definitions/Node\"},\"optimization\":{\"$ref\":\"#/definitions/Optimization\"},\"output\":{\"$ref\":\"#/definitions/OutputNormalized\"},\"parallelism\":{\"$ref\":\"#/definitions/Parallelism\"},\"performance\":{\"$ref\":\"#/definitions/Performance\"},\"plugins\":{\"$ref\":\"#/definitions/Plugins\"},\"profile\":{\"$ref\":\"#/definitions/Profile\"},\"recordsInputPath\":{\"$ref\":\"#/definitions/RecordsInputPath\"},\"recordsOutputPath\":{\"$ref\":\"#/definitions/RecordsOutputPath\"},\"resolve\":{\"$ref\":\"#/definitions/Resolve\"},\"resolveLoader\":{\"$ref\":\"#/definitions/ResolveLoader\"},\"snapshot\":{\"$ref\":\"#/definitions/SnapshotOptions\"},\"stats\":{\"$ref\":\"#/definitions/StatsValue\"},\"target\":{\"$ref\":\"#/definitions/Target\"},\"watch\":{\"$ref\":\"#/definitions/Watch\"},\"watchOptions\":{\"$ref\":\"#/definitions/WatchOptions\"}},\"required\":[\"cache\",\"snapshot\",\"entry\",\"experiments\",\"externals\",\"externalsPresets\",\"infrastructureLogging\",\"module\",\"node\",\"optimization\",\"output\",\"plugins\",\"resolve\",\"resolveLoader\",\"stats\",\"watchOptions\"]},\"WebpackPluginFunction\":{\"description\":\"Function acting as plugin.\",\"instanceof\":\"Function\",\"tsType\":\"(this: import('../lib/Compiler'), compiler: import('../lib/Compiler')) => void\"},\"WebpackPluginInstance\":{\"description\":\"Plugin instance.\",\"type\":\"object\",\"additionalProperties\":true,\"properties\":{\"apply\":{\"description\":\"The run point of the plugin, required method.\",\"instanceof\":\"Function\",\"tsType\":\"(compiler: import('../lib/Compiler')) => void\"}},\"required\":[\"apply\"]}},\"description\":\"Options object as provided by the user.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"amd\":{\"$ref\":\"#/definitions/Amd\"},\"bail\":{\"$ref\":\"#/definitions/Bail\"},\"cache\":{\"$ref\":\"#/definitions/CacheOptions\"},\"context\":{\"$ref\":\"#/definitions/Context\"},\"dependencies\":{\"$ref\":\"#/definitions/Dependencies\"},\"devServer\":{\"$ref\":\"#/definitions/DevServer\"},\"devtool\":{\"$ref\":\"#/definitions/DevTool\"},\"entry\":{\"$ref\":\"#/definitions/Entry\"},\"experiments\":{\"$ref\":\"#/definitions/Experiments\"},\"externals\":{\"$ref\":\"#/definitions/Externals\"},\"externalsPresets\":{\"$ref\":\"#/definitions/ExternalsPresets\"},\"externalsType\":{\"$ref\":\"#/definitions/ExternalsType\"},\"ignoreWarnings\":{\"$ref\":\"#/definitions/IgnoreWarnings\"},\"infrastructureLogging\":{\"$ref\":\"#/definitions/InfrastructureLogging\"},\"loader\":{\"$ref\":\"#/definitions/Loader\"},\"mode\":{\"$ref\":\"#/definitions/Mode\"},\"module\":{\"$ref\":\"#/definitions/ModuleOptions\"},\"name\":{\"$ref\":\"#/definitions/Name\"},\"node\":{\"$ref\":\"#/definitions/Node\"},\"optimization\":{\"$ref\":\"#/definitions/Optimization\"},\"output\":{\"$ref\":\"#/definitions/Output\"},\"parallelism\":{\"$ref\":\"#/definitions/Parallelism\"},\"performance\":{\"$ref\":\"#/definitions/Performance\"},\"plugins\":{\"$ref\":\"#/definitions/Plugins\"},\"profile\":{\"$ref\":\"#/definitions/Profile\"},\"recordsInputPath\":{\"$ref\":\"#/definitions/RecordsInputPath\"},\"recordsOutputPath\":{\"$ref\":\"#/definitions/RecordsOutputPath\"},\"recordsPath\":{\"$ref\":\"#/definitions/RecordsPath\"},\"resolve\":{\"$ref\":\"#/definitions/Resolve\"},\"resolveLoader\":{\"$ref\":\"#/definitions/ResolveLoader\"},\"snapshot\":{\"$ref\":\"#/definitions/SnapshotOptions\"},\"stats\":{\"$ref\":\"#/definitions/StatsValue\"},\"target\":{\"$ref\":\"#/definitions/Target\"},\"watch\":{\"$ref\":\"#/definitions/Watch\"},\"watchOptions\":{\"$ref\":\"#/definitions/WatchOptions\"}}}"); +module.exports = JSON.parse("{\"definitions\":{\"Amd\":{\"description\":\"Set the value of `require.amd` and `define.amd`. Or disable AMD support.\",\"anyOf\":[{\"description\":\"You can pass `false` to disable AMD support.\",\"enum\":[false]},{\"description\":\"You can pass an object to set the value of `require.amd` and `define.amd`.\",\"type\":\"object\"}]},\"AssetGeneratorDataUrl\":{\"description\":\"The options for data url generator.\",\"anyOf\":[{\"$ref\":\"#/definitions/AssetGeneratorDataUrlOptions\"},{\"$ref\":\"#/definitions/AssetGeneratorDataUrlFunction\"}]},\"AssetGeneratorDataUrlFunction\":{\"description\":\"Function that executes for module and should return an DataUrl string.\",\"instanceof\":\"Function\",\"tsType\":\"((source: string | Buffer, context: { filename: string, module: import('../lib/Module') }) => string)\"},\"AssetGeneratorDataUrlOptions\":{\"description\":\"Options object for data url generation.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"encoding\":{\"description\":\"Asset encoding (defaults to base64).\",\"enum\":[false,\"base64\"]},\"mimetype\":{\"description\":\"Asset mimetype (getting from file extension by default).\",\"type\":\"string\"}}},\"AssetGeneratorOptions\":{\"description\":\"Generator options for asset modules.\",\"type\":\"object\",\"implements\":[\"#/definitions/AssetInlineGeneratorOptions\",\"#/definitions/AssetResourceGeneratorOptions\"],\"additionalProperties\":false,\"properties\":{\"dataUrl\":{\"$ref\":\"#/definitions/AssetGeneratorDataUrl\"},\"filename\":{\"$ref\":\"#/definitions/FilenameTemplate\"}}},\"AssetInlineGeneratorOptions\":{\"description\":\"Generator options for asset/inline modules.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"dataUrl\":{\"$ref\":\"#/definitions/AssetGeneratorDataUrl\"}}},\"AssetModuleFilename\":{\"description\":\"The filename of asset modules as relative path inside the 'output.path' directory.\",\"anyOf\":[{\"type\":\"string\",\"absolutePath\":false},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"AssetParserDataUrlFunction\":{\"description\":\"Function that executes for module and should return whenever asset should be inlined as DataUrl.\",\"instanceof\":\"Function\",\"tsType\":\"((source: string | Buffer, context: { filename: string, module: import('../lib/Module') }) => boolean)\"},\"AssetParserDataUrlOptions\":{\"description\":\"Options object for DataUrl condition.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"maxSize\":{\"description\":\"Maximum size of asset that should be inline as modules. Default: 8kb.\",\"type\":\"number\"}}},\"AssetParserOptions\":{\"description\":\"Parser options for asset modules.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"dataUrlCondition\":{\"description\":\"The condition for inlining the asset as DataUrl.\",\"anyOf\":[{\"$ref\":\"#/definitions/AssetParserDataUrlOptions\"},{\"$ref\":\"#/definitions/AssetParserDataUrlFunction\"}]}}},\"AssetResourceGeneratorOptions\":{\"description\":\"Generator options for asset/resource modules.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"filename\":{\"$ref\":\"#/definitions/FilenameTemplate\"}}},\"AuxiliaryComment\":{\"description\":\"Add a comment in the UMD wrapper.\",\"anyOf\":[{\"description\":\"Append the same comment above each import style.\",\"type\":\"string\"},{\"$ref\":\"#/definitions/LibraryCustomUmdCommentObject\"}]},\"Bail\":{\"description\":\"Report the first error as a hard error instead of tolerating it.\",\"type\":\"boolean\"},\"CacheOptions\":{\"description\":\"Cache generated modules and chunks to improve performance for multiple incremental builds.\",\"anyOf\":[{\"description\":\"Enable in memory caching.\",\"enum\":[true]},{\"$ref\":\"#/definitions/CacheOptionsNormalized\"}]},\"CacheOptionsNormalized\":{\"description\":\"Cache generated modules and chunks to improve performance for multiple incremental builds.\",\"anyOf\":[{\"description\":\"Disable caching.\",\"enum\":[false]},{\"$ref\":\"#/definitions/MemoryCacheOptions\"},{\"$ref\":\"#/definitions/FileCacheOptions\"}]},\"Charset\":{\"description\":\"Add charset attribute for script tag.\",\"type\":\"boolean\"},\"ChunkFilename\":{\"description\":\"Specifies the filename template of output files of non-initial chunks on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilenameTemplate\"}]},\"ChunkFormat\":{\"description\":\"The format of chunks (formats included by default are 'array-push' (web/WebWorker), 'commonjs' (node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[\"array-push\",\"commonjs\",false]},{\"type\":\"string\"}]},\"ChunkLoadTimeout\":{\"description\":\"Number of milliseconds before chunk request expires.\",\"type\":\"number\"},\"ChunkLoading\":{\"description\":\"The method of loading chunks (methods included by default are 'jsonp' (web), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/ChunkLoadingType\"}]},\"ChunkLoadingGlobal\":{\"description\":\"The global variable used by webpack for loading of chunks.\",\"type\":\"string\"},\"ChunkLoadingType\":{\"description\":\"The method of loading chunks (methods included by default are 'jsonp' (web), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[\"jsonp\",\"import-scripts\",\"require\",\"async-node\"]},{\"type\":\"string\"}]},\"CompareBeforeEmit\":{\"description\":\"Check if to be emitted file already exists and have the same content before writing to output filesystem.\",\"type\":\"boolean\"},\"Context\":{\"description\":\"The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.\",\"type\":\"string\",\"absolutePath\":true},\"CrossOriginLoading\":{\"description\":\"This option enables cross-origin loading of chunks.\",\"enum\":[false,\"anonymous\",\"use-credentials\"]},\"Dependencies\":{\"description\":\"References to other configurations to depend on.\",\"type\":\"array\",\"items\":{\"description\":\"References to another configuration to depend on.\",\"type\":\"string\"}},\"DevServer\":{\"description\":\"Options for the webpack-dev-server.\",\"type\":\"object\"},\"DevTool\":{\"description\":\"A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).\",\"anyOf\":[{\"enum\":[false,\"eval\"]},{\"type\":\"string\",\"pattern\":\"^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$\"}]},\"DevtoolFallbackModuleFilenameTemplate\":{\"description\":\"Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.\",\"anyOf\":[{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"DevtoolModuleFilenameTemplate\":{\"description\":\"Filename template string of function for the sources array in a generated SourceMap.\",\"anyOf\":[{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"DevtoolNamespace\":{\"description\":\"Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It's useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.\",\"type\":\"string\"},\"EmptyGeneratorOptions\":{\"description\":\"No generator options are supported for this module type.\",\"type\":\"object\",\"additionalProperties\":false},\"EmptyParserOptions\":{\"description\":\"No parser options are supported for this module type.\",\"type\":\"object\",\"additionalProperties\":false},\"EnabledChunkLoadingTypes\":{\"description\":\"List of chunk loading types enabled for use by entry points.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/ChunkLoadingType\"}},\"EnabledLibraryTypes\":{\"description\":\"List of library types enabled for use by entry points.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/LibraryType\"}},\"EnabledWasmLoadingTypes\":{\"description\":\"List of wasm loading types enabled for use by entry points.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/WasmLoadingType\"}},\"Entry\":{\"description\":\"The entry point(s) of the compilation.\",\"anyOf\":[{\"$ref\":\"#/definitions/EntryDynamic\"},{\"$ref\":\"#/definitions/EntryStatic\"}]},\"EntryDescription\":{\"description\":\"An object with entry point description.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"chunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"dependOn\":{\"description\":\"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.\",\"anyOf\":[{\"description\":\"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.\",\"type\":\"array\",\"items\":{\"description\":\"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1,\"uniqueItems\":true},{\"description\":\"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.\",\"type\":\"string\",\"minLength\":1}]},\"filename\":{\"$ref\":\"#/definitions/EntryFilename\"},\"import\":{\"$ref\":\"#/definitions/EntryItem\"},\"layer\":{\"$ref\":\"#/definitions/Layer\"},\"library\":{\"$ref\":\"#/definitions/LibraryOptions\"},\"runtime\":{\"$ref\":\"#/definitions/EntryRuntime\"},\"wasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"}},\"required\":[\"import\"]},\"EntryDescriptionNormalized\":{\"description\":\"An object with entry point description.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"chunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"dependOn\":{\"description\":\"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.\",\"type\":\"array\",\"items\":{\"description\":\"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1,\"uniqueItems\":true},\"filename\":{\"$ref\":\"#/definitions/Filename\"},\"import\":{\"description\":\"Module(s) that are loaded upon startup. The last one is exported.\",\"type\":\"array\",\"items\":{\"description\":\"Module that is loaded upon startup. Only the last one is exported.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1,\"uniqueItems\":true},\"layer\":{\"$ref\":\"#/definitions/Layer\"},\"library\":{\"$ref\":\"#/definitions/LibraryOptions\"},\"runtime\":{\"$ref\":\"#/definitions/EntryRuntime\"},\"wasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"}}},\"EntryDynamic\":{\"description\":\"A Function returning an entry object, an entry string, an entry array or a promise to these things.\",\"instanceof\":\"Function\",\"tsType\":\"(() => EntryStatic | Promise)\"},\"EntryDynamicNormalized\":{\"description\":\"A Function returning a Promise resolving to a normalized entry.\",\"instanceof\":\"Function\",\"tsType\":\"(() => Promise)\"},\"EntryFilename\":{\"description\":\"Specifies the filename of the output file on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilenameTemplate\"}]},\"EntryItem\":{\"description\":\"Module(s) that are loaded upon startup.\",\"anyOf\":[{\"description\":\"All modules are loaded upon startup. The last one is exported.\",\"type\":\"array\",\"items\":{\"description\":\"A module that is loaded upon startup. Only the last one is exported.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1,\"uniqueItems\":true},{\"description\":\"The string is resolved to a module which is loaded upon startup.\",\"type\":\"string\",\"minLength\":1}]},\"EntryNormalized\":{\"description\":\"The entry point(s) of the compilation.\",\"anyOf\":[{\"$ref\":\"#/definitions/EntryDynamicNormalized\"},{\"$ref\":\"#/definitions/EntryStaticNormalized\"}]},\"EntryObject\":{\"description\":\"Multiple entry bundles are created. The key is the entry name. The value can be a string, an array or an entry description object.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"An entry point with name.\",\"anyOf\":[{\"$ref\":\"#/definitions/EntryItem\"},{\"$ref\":\"#/definitions/EntryDescription\"}]}},\"EntryRuntime\":{\"description\":\"The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.\",\"type\":\"string\",\"minLength\":1},\"EntryStatic\":{\"description\":\"A static entry description.\",\"anyOf\":[{\"$ref\":\"#/definitions/EntryObject\"},{\"$ref\":\"#/definitions/EntryUnnamed\"}]},\"EntryStaticNormalized\":{\"description\":\"Multiple entry bundles are created. The key is the entry name. The value is an entry description object.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"An object with entry point description.\",\"oneOf\":[{\"$ref\":\"#/definitions/EntryDescriptionNormalized\"}]}},\"EntryUnnamed\":{\"description\":\"An entry point without name.\",\"oneOf\":[{\"$ref\":\"#/definitions/EntryItem\"}]},\"Environment\":{\"description\":\"The abilities of the environment where the webpack generated code should run.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"arrowFunction\":{\"description\":\"The environment supports arrow functions ('() => { ... }').\",\"type\":\"boolean\"},\"bigIntLiteral\":{\"description\":\"The environment supports BigInt as literal (123n).\",\"type\":\"boolean\"},\"const\":{\"description\":\"The environment supports const and let for variable declarations.\",\"type\":\"boolean\"},\"destructuring\":{\"description\":\"The environment supports destructuring ('{ a, b } = obj').\",\"type\":\"boolean\"},\"dynamicImport\":{\"description\":\"The environment supports an async import() function to import EcmaScript modules.\",\"type\":\"boolean\"},\"forOf\":{\"description\":\"The environment supports 'for of' iteration ('for (const x of array) { ... }').\",\"type\":\"boolean\"},\"module\":{\"description\":\"The environment supports EcmaScript Module syntax to import EcmaScript modules (import ... from '...').\",\"type\":\"boolean\"}}},\"Experiments\":{\"description\":\"Enables/Disables experiments (experimental features with relax SemVer compatibility).\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"asset\":{\"description\":\"Allow module type 'asset' to generate assets.\",\"type\":\"boolean\"},\"asyncWebAssembly\":{\"description\":\"Support WebAssembly as asynchronous EcmaScript Module.\",\"type\":\"boolean\"},\"layers\":{\"description\":\"Enable module and chunk layers.\",\"type\":\"boolean\"},\"lazyCompilation\":{\"description\":\"Compile entrypoints and import()s only when they are accessed.\",\"anyOf\":[{\"type\":\"boolean\"},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"backend\":{\"description\":\"A custom backend.\",\"instanceof\":\"Function\",\"tsType\":\"(((compiler: import('../lib/Compiler'), client: string, callback: (err?: Error, api?: any) => void) => void) | ((compiler: import('../lib/Compiler'), client: string) => Promise))\"},\"client\":{\"description\":\"A custom client.\",\"type\":\"string\"},\"entries\":{\"description\":\"Enable/disable lazy compilation for entries.\",\"type\":\"boolean\"}}}]},\"outputModule\":{\"description\":\"Allow output javascript files as module source type.\",\"type\":\"boolean\"},\"syncWebAssembly\":{\"description\":\"Support WebAssembly as synchronous EcmaScript Module (outdated).\",\"type\":\"boolean\"},\"topLevelAwait\":{\"description\":\"Allow using top-level-await in EcmaScript Modules.\",\"type\":\"boolean\"}}},\"ExternalItem\":{\"description\":\"Specify dependency that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.\",\"anyOf\":[{\"description\":\"Every matched dependency becomes external.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"description\":\"An exact matched dependency becomes external. The same string is used as external dependency.\",\"type\":\"string\"},{\"description\":\"If an dependency matches exactly a property of the object, the property value is used as dependency.\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/ExternalItemValue\"},\"properties\":{\"byLayer\":{\"description\":\"Specify externals depending on the layer.\",\"anyOf\":[{\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/ExternalItem\"}},{\"instanceof\":\"Function\",\"tsType\":\"((layer: string | null) => ExternalItem)\"}]}}},{\"description\":\"The function is called on each dependency (`function(context, request, callback(err, result))`).\",\"instanceof\":\"Function\",\"tsType\":\"(((data: ExternalItemFunctionData, callback: (err?: Error, result?: ExternalItemValue) => void) => void) | ((data: ExternalItemFunctionData) => Promise))\"}]},\"ExternalItemFunctionData\":{\"description\":\"Data object passed as argument when a function is set for 'externals'.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"context\":{\"description\":\"The directory in which the request is placed.\",\"type\":\"string\"},\"contextInfo\":{\"description\":\"Contextual information.\",\"type\":\"object\",\"tsType\":\"import('../lib/ModuleFactory').ModuleFactoryCreateDataContextInfo\"},\"getResolve\":{\"description\":\"Get a resolve function with the current resolver options.\",\"instanceof\":\"Function\",\"tsType\":\"((options?: ResolveOptions) => ((context: string, request: string, callback: (err?: Error, result?: string) => void) => void) | ((context: string, request: string) => Promise))\"},\"request\":{\"description\":\"The request as written by the user in the require/import expression/statement.\",\"type\":\"string\"}}},\"ExternalItemValue\":{\"description\":\"The dependency used for the external.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"A part of the target of the external.\",\"type\":\"string\",\"minLength\":1}},{\"description\":\"`true`: The dependency name is used as target of the external.\",\"type\":\"boolean\"},{\"description\":\"The target of the external.\",\"type\":\"string\"},{\"type\":\"object\"}]},\"Externals\":{\"description\":\"Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/ExternalItem\"}},{\"$ref\":\"#/definitions/ExternalItem\"}]},\"ExternalsPresets\":{\"description\":\"Enable presets of externals for specific targets.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"electron\":{\"description\":\"Treat common electron built-in modules in main and preload context like 'electron', 'ipc' or 'shell' as external and load them via require() when used.\",\"type\":\"boolean\"},\"electronMain\":{\"description\":\"Treat electron built-in modules in the main context like 'app', 'ipc-main' or 'shell' as external and load them via require() when used.\",\"type\":\"boolean\"},\"electronPreload\":{\"description\":\"Treat electron built-in modules in the preload context like 'web-frame', 'ipc-renderer' or 'shell' as external and load them via require() when used.\",\"type\":\"boolean\"},\"electronRenderer\":{\"description\":\"Treat electron built-in modules in the renderer context like 'web-frame', 'ipc-renderer' or 'shell' as external and load them via require() when used.\",\"type\":\"boolean\"},\"node\":{\"description\":\"Treat node.js built-in modules like fs, path or vm as external and load them via require() when used.\",\"type\":\"boolean\"},\"nwjs\":{\"description\":\"Treat NW.js legacy nw.gui module as external and load it via require() when used.\",\"type\":\"boolean\"},\"web\":{\"description\":\"Treat references to 'http(s)://...' and 'std:...' as external and load them via import when used (Note that this changes execution order as externals are executed before any other code in the chunk).\",\"type\":\"boolean\"},\"webAsync\":{\"description\":\"Treat references to 'http(s)://...' and 'std:...' as external and load them via async import() when used (Note that this external type is an async module, which has various effects on the execution).\",\"type\":\"boolean\"}}},\"ExternalsType\":{\"description\":\"Specifies the default type of externals ('amd*', 'umd*', 'system' and 'jsonp' depend on output.libraryTarget set to the same value).\",\"enum\":[\"var\",\"module\",\"assign\",\"this\",\"window\",\"self\",\"global\",\"commonjs\",\"commonjs2\",\"commonjs-module\",\"amd\",\"amd-require\",\"umd\",\"umd2\",\"jsonp\",\"system\",\"promise\",\"import\",\"script\"]},\"FileCacheOptions\":{\"description\":\"Options object for persistent file-based caching.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"buildDependencies\":{\"description\":\"Dependencies the build depends on (in multiple categories, default categories: 'defaultWebpack').\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"List of dependencies the build depends on.\",\"type\":\"array\",\"items\":{\"description\":\"Request to a dependency (resolved as directory relative to the context directory).\",\"type\":\"string\",\"minLength\":1}}},\"cacheDirectory\":{\"description\":\"Base directory for the cache (defaults to node_modules/.cache/webpack).\",\"type\":\"string\",\"absolutePath\":true},\"cacheLocation\":{\"description\":\"Locations for the cache (defaults to cacheDirectory / name).\",\"type\":\"string\",\"absolutePath\":true},\"hashAlgorithm\":{\"description\":\"Algorithm used for generation the hash (see node.js crypto package).\",\"type\":\"string\"},\"idleTimeout\":{\"description\":\"Time in ms after which idle period the cache storing should happen (only for store: 'pack' or 'idle').\",\"type\":\"number\",\"minimum\":0},\"idleTimeoutForInitialStore\":{\"description\":\"Time in ms after which idle period the initial cache storing should happen (only for store: 'pack' or 'idle').\",\"type\":\"number\",\"minimum\":0},\"immutablePaths\":{\"description\":\"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.\",\"type\":\"array\",\"items\":{\"description\":\"A path to a immutable directory (usually a package manager cache directory).\",\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}},\"managedPaths\":{\"description\":\"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.\",\"type\":\"array\",\"items\":{\"description\":\"A path to a managed directory (usually a node_modules directory).\",\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}},\"name\":{\"description\":\"Name for the cache. Different names will lead to different coexisting caches.\",\"type\":\"string\"},\"store\":{\"description\":\"When to store data to the filesystem. (pack: Store data when compiler is idle in a single file).\",\"enum\":[\"pack\"]},\"type\":{\"description\":\"Filesystem caching.\",\"enum\":[\"filesystem\"]},\"version\":{\"description\":\"Version of the cache data. Different versions won't allow to reuse the cache and override existing content. Update the version when config changed in a way which doesn't allow to reuse cache. This will invalidate the cache.\",\"type\":\"string\"}},\"required\":[\"type\"]},\"Filename\":{\"description\":\"Specifies the filename of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilenameTemplate\"}]},\"FilenameTemplate\":{\"description\":\"Specifies the filename template of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.\",\"anyOf\":[{\"type\":\"string\",\"absolutePath\":false,\"minLength\":1},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"FilterItemTypes\":{\"description\":\"Filtering value, regexp or function.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\",\"absolutePath\":false},{\"instanceof\":\"Function\",\"tsType\":\"((value: string) => boolean)\"}]},\"FilterTypes\":{\"description\":\"Filtering values.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Rule to filter.\",\"cli\":{\"helper\":true},\"oneOf\":[{\"$ref\":\"#/definitions/FilterItemTypes\"}]}},{\"$ref\":\"#/definitions/FilterItemTypes\"}]},\"GeneratorOptionsByModuleType\":{\"description\":\"Specify options for each generator.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Options for generating.\",\"type\":\"object\",\"additionalProperties\":true},\"properties\":{\"asset\":{\"$ref\":\"#/definitions/AssetGeneratorOptions\"},\"asset/inline\":{\"$ref\":\"#/definitions/AssetInlineGeneratorOptions\"},\"asset/resource\":{\"$ref\":\"#/definitions/AssetResourceGeneratorOptions\"},\"javascript\":{\"$ref\":\"#/definitions/EmptyGeneratorOptions\"},\"javascript/auto\":{\"$ref\":\"#/definitions/EmptyGeneratorOptions\"},\"javascript/dynamic\":{\"$ref\":\"#/definitions/EmptyGeneratorOptions\"},\"javascript/esm\":{\"$ref\":\"#/definitions/EmptyGeneratorOptions\"}}},\"GlobalObject\":{\"description\":\"An expression which is used to address the global object/scope in runtime code.\",\"type\":\"string\",\"minLength\":1},\"HashDigest\":{\"description\":\"Digest type used for the hash.\",\"type\":\"string\"},\"HashDigestLength\":{\"description\":\"Number of chars which are used for the hash.\",\"type\":\"number\",\"minimum\":1},\"HashFunction\":{\"description\":\"Algorithm used for generation the hash (see node.js crypto package).\",\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"instanceof\":\"Function\",\"tsType\":\"typeof import('../lib/util/Hash')\"}]},\"HashSalt\":{\"description\":\"Any string which is added to the hash to salt it.\",\"type\":\"string\",\"minLength\":1},\"HotUpdateChunkFilename\":{\"description\":\"The filename of the Hot Update Chunks. They are inside the output.path directory.\",\"type\":\"string\",\"absolutePath\":false},\"HotUpdateGlobal\":{\"description\":\"The global variable used by webpack for loading of hot update chunks.\",\"type\":\"string\"},\"HotUpdateMainFilename\":{\"description\":\"The filename of the Hot Update Main File. It is inside the 'output.path' directory.\",\"type\":\"string\",\"absolutePath\":false},\"IgnoreWarnings\":{\"description\":\"Ignore specific warnings.\",\"type\":\"array\",\"items\":{\"description\":\"Ignore specific warnings.\",\"anyOf\":[{\"description\":\"A RegExp to select the warning message.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"file\":{\"description\":\"A RegExp to select the origin file for the warning.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},\"message\":{\"description\":\"A RegExp to select the warning message.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},\"module\":{\"description\":\"A RegExp to select the origin module for the warning.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"}}},{\"description\":\"A custom function to select warnings based on the raw warning instance.\",\"instanceof\":\"Function\",\"tsType\":\"((warning: import('../lib/WebpackError'), compilation: import('../lib/Compilation')) => boolean)\"}]}},\"IgnoreWarningsNormalized\":{\"description\":\"Ignore specific warnings.\",\"type\":\"array\",\"items\":{\"description\":\"A function to select warnings based on the raw warning instance.\",\"instanceof\":\"Function\",\"tsType\":\"((warning: import('../lib/WebpackError'), compilation: import('../lib/Compilation')) => boolean)\"}},\"Iife\":{\"description\":\"Wrap javascript code into IIFE's to avoid leaking into global scope.\",\"type\":\"boolean\"},\"ImportFunctionName\":{\"description\":\"The name of the native import() function (can be exchanged for a polyfill).\",\"type\":\"string\"},\"ImportMetaName\":{\"description\":\"The name of the native import.meta object (can be exchanged for a polyfill).\",\"type\":\"string\"},\"InfrastructureLogging\":{\"description\":\"Options for infrastructure level logging.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"debug\":{\"description\":\"Enable debug logging for specific loggers.\",\"anyOf\":[{\"description\":\"Enable/Disable debug logging for all loggers.\",\"type\":\"boolean\"},{\"$ref\":\"#/definitions/FilterTypes\"}]},\"level\":{\"description\":\"Log level.\",\"enum\":[\"none\",\"error\",\"warn\",\"info\",\"log\",\"verbose\"]}}},\"JavascriptParserOptions\":{\"description\":\"Parser options for javascript modules.\",\"type\":\"object\",\"additionalProperties\":true,\"properties\":{\"amd\":{\"$ref\":\"#/definitions/Amd\"},\"browserify\":{\"description\":\"Enable/disable special handling for browserify bundles.\",\"type\":\"boolean\"},\"commonjs\":{\"description\":\"Enable/disable parsing of CommonJs syntax.\",\"type\":\"boolean\"},\"commonjsMagicComments\":{\"description\":\"Enable/disable parsing of magic comments in CommonJs syntax.\",\"type\":\"boolean\"},\"exprContextCritical\":{\"description\":\"Enable warnings for full dynamic dependencies.\",\"type\":\"boolean\"},\"exprContextRecursive\":{\"description\":\"Enable recursive directory lookup for full dynamic dependencies.\",\"type\":\"boolean\"},\"exprContextRegExp\":{\"description\":\"Sets the default regular expression for full dynamic dependencies.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"boolean\"}]},\"exprContextRequest\":{\"description\":\"Set the default request for full dynamic dependencies.\",\"type\":\"string\"},\"harmony\":{\"description\":\"Enable/disable parsing of EcmaScript Modules syntax.\",\"type\":\"boolean\"},\"import\":{\"description\":\"Enable/disable parsing of import() syntax.\",\"type\":\"boolean\"},\"node\":{\"$ref\":\"#/definitions/Node\"},\"requireContext\":{\"description\":\"Enable/disable parsing of require.context syntax.\",\"type\":\"boolean\"},\"requireEnsure\":{\"description\":\"Enable/disable parsing of require.ensure syntax.\",\"type\":\"boolean\"},\"requireInclude\":{\"description\":\"Enable/disable parsing of require.include syntax.\",\"type\":\"boolean\"},\"requireJs\":{\"description\":\"Enable/disable parsing of require.js special syntax like require.config, requirejs.config, require.version and requirejs.onError.\",\"type\":\"boolean\"},\"strictExportPresence\":{\"description\":\"Emit errors instead of warnings when imported names don't exist in imported module.\",\"type\":\"boolean\"},\"strictThisContextOnImports\":{\"description\":\"Handle the this context correctly according to the spec for namespace objects.\",\"type\":\"boolean\"},\"system\":{\"description\":\"Enable/disable parsing of System.js special syntax like System.import, System.get, System.set and System.register.\",\"type\":\"boolean\"},\"unknownContextCritical\":{\"description\":\"Enable warnings when using the require function in a not statically analyse-able way.\",\"type\":\"boolean\"},\"unknownContextRecursive\":{\"description\":\"Enable recursive directory lookup when using the require function in a not statically analyse-able way.\",\"type\":\"boolean\"},\"unknownContextRegExp\":{\"description\":\"Sets the regular expression when using the require function in a not statically analyse-able way.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"boolean\"}]},\"unknownContextRequest\":{\"description\":\"Sets the request when using the require function in a not statically analyse-able way.\",\"type\":\"string\"},\"url\":{\"description\":\"Enable/disable parsing of new URL() syntax.\",\"type\":\"boolean\"},\"worker\":{\"description\":\"Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Specify a syntax that should be parsed as WebWorker reference. 'Abc' handles 'new Abc()', 'Abc from xyz' handles 'import { Abc } from \\\"xyz\\\"; new Abc()', 'abc()' handles 'abc()', and combinations are also possible.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"boolean\"}]},\"wrappedContextCritical\":{\"description\":\"Enable warnings for partial dynamic dependencies.\",\"type\":\"boolean\"},\"wrappedContextRecursive\":{\"description\":\"Enable recursive directory lookup for partial dynamic dependencies.\",\"type\":\"boolean\"},\"wrappedContextRegExp\":{\"description\":\"Set the inner regular expression for partial dynamic dependencies.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"}}},\"Layer\":{\"description\":\"Specifies the layer in which modules of this entrypoint are placed.\",\"anyOf\":[{\"enum\":[null]},{\"type\":\"string\",\"minLength\":1}]},\"Library\":{\"description\":\"Make the output files a library, exporting the exports of the entry point.\",\"anyOf\":[{\"$ref\":\"#/definitions/LibraryName\"},{\"$ref\":\"#/definitions/LibraryOptions\"}]},\"LibraryCustomUmdCommentObject\":{\"description\":\"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"amd\":{\"description\":\"Set comment for `amd` section in UMD.\",\"type\":\"string\"},\"commonjs\":{\"description\":\"Set comment for `commonjs` (exports) section in UMD.\",\"type\":\"string\"},\"commonjs2\":{\"description\":\"Set comment for `commonjs2` (module.exports) section in UMD.\",\"type\":\"string\"},\"root\":{\"description\":\"Set comment for `root` (global variable) section in UMD.\",\"type\":\"string\"}}},\"LibraryCustomUmdObject\":{\"description\":\"Description object for all UMD variants of the library name.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"amd\":{\"description\":\"Name of the exposed AMD library in the UMD.\",\"type\":\"string\",\"minLength\":1},\"commonjs\":{\"description\":\"Name of the exposed commonjs export in the UMD.\",\"type\":\"string\",\"minLength\":1},\"root\":{\"description\":\"Name of the property exposed globally by a UMD library.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Part of the name of the property exposed globally by a UMD library.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1}]}}},\"LibraryExport\":{\"description\":\"Specify which export should be exposed as library.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Part of the export that should be exposed as library.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1}]},\"LibraryName\":{\"description\":\"The name of the library (some types allow unnamed libraries too).\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"A part of the library name.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1},{\"$ref\":\"#/definitions/LibraryCustomUmdObject\"}]},\"LibraryOptions\":{\"description\":\"Options for library.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"auxiliaryComment\":{\"$ref\":\"#/definitions/AuxiliaryComment\"},\"export\":{\"$ref\":\"#/definitions/LibraryExport\"},\"name\":{\"$ref\":\"#/definitions/LibraryName\"},\"type\":{\"$ref\":\"#/definitions/LibraryType\"},\"umdNamedDefine\":{\"$ref\":\"#/definitions/UmdNamedDefine\"}},\"required\":[\"type\"]},\"LibraryType\":{\"description\":\"Type of library (types included by default are 'var', 'module', 'assign', 'assign-properties', 'this', 'window', 'self', 'global', 'commonjs', 'commonjs2', 'commonjs-module', 'amd', 'amd-require', 'umd', 'umd2', 'jsonp', 'system', but others might be added by plugins).\",\"anyOf\":[{\"enum\":[\"var\",\"module\",\"assign\",\"assign-properties\",\"this\",\"window\",\"self\",\"global\",\"commonjs\",\"commonjs2\",\"commonjs-module\",\"amd\",\"amd-require\",\"umd\",\"umd2\",\"jsonp\",\"system\"]},{\"type\":\"string\"}]},\"Loader\":{\"description\":\"Custom values available in the loader context.\",\"type\":\"object\"},\"MemoryCacheOptions\":{\"description\":\"Options object for in-memory caching.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"type\":{\"description\":\"In memory caching.\",\"enum\":[\"memory\"]}},\"required\":[\"type\"]},\"Mode\":{\"description\":\"Enable production optimizations or development hints.\",\"enum\":[\"development\",\"production\",\"none\"]},\"ModuleOptions\":{\"description\":\"Options affecting the normal modules (`NormalModuleFactory`).\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"defaultRules\":{\"description\":\"An array of rules applied by default for modules.\",\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRules\"}]},\"exprContextCritical\":{\"description\":\"Enable warnings for full dynamic dependencies.\",\"type\":\"boolean\"},\"exprContextRecursive\":{\"description\":\"Enable recursive directory lookup for full dynamic dependencies. Deprecated: This option has moved to 'module.parser.javascript.exprContextRecursive'.\",\"type\":\"boolean\"},\"exprContextRegExp\":{\"description\":\"Sets the default regular expression for full dynamic dependencies. Deprecated: This option has moved to 'module.parser.javascript.exprContextRegExp'.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"boolean\"}]},\"exprContextRequest\":{\"description\":\"Set the default request for full dynamic dependencies. Deprecated: This option has moved to 'module.parser.javascript.exprContextRequest'.\",\"type\":\"string\"},\"generator\":{\"$ref\":\"#/definitions/GeneratorOptionsByModuleType\"},\"noParse\":{\"$ref\":\"#/definitions/NoParse\"},\"parser\":{\"$ref\":\"#/definitions/ParserOptionsByModuleType\"},\"rules\":{\"description\":\"An array of rules applied for modules.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRules\"}]},\"strictExportPresence\":{\"description\":\"Emit errors instead of warnings when imported names don't exist in imported module. Deprecated: This option has moved to 'module.parser.javascript.strictExportPresence'.\",\"type\":\"boolean\"},\"strictThisContextOnImports\":{\"description\":\"Handle the this context correctly according to the spec for namespace objects. Deprecated: This option has moved to 'module.parser.javascript.strictThisContextOnImports'.\",\"type\":\"boolean\"},\"unknownContextCritical\":{\"description\":\"Enable warnings when using the require function in a not statically analyse-able way. Deprecated: This option has moved to 'module.parser.javascript.unknownContextCritical'.\",\"type\":\"boolean\"},\"unknownContextRecursive\":{\"description\":\"Enable recursive directory lookup when using the require function in a not statically analyse-able way. Deprecated: This option has moved to 'module.parser.javascript.unknownContextRecursive'.\",\"type\":\"boolean\"},\"unknownContextRegExp\":{\"description\":\"Sets the regular expression when using the require function in a not statically analyse-able way. Deprecated: This option has moved to 'module.parser.javascript.unknownContextRegExp'.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"boolean\"}]},\"unknownContextRequest\":{\"description\":\"Sets the request when using the require function in a not statically analyse-able way. Deprecated: This option has moved to 'module.parser.javascript.unknownContextRequest'.\",\"type\":\"string\"},\"unsafeCache\":{\"description\":\"Cache the resolving of module requests.\",\"anyOf\":[{\"type\":\"boolean\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"wrappedContextCritical\":{\"description\":\"Enable warnings for partial dynamic dependencies. Deprecated: This option has moved to 'module.parser.javascript.wrappedContextCritical'.\",\"type\":\"boolean\"},\"wrappedContextRecursive\":{\"description\":\"Enable recursive directory lookup for partial dynamic dependencies. Deprecated: This option has moved to 'module.parser.javascript.wrappedContextRecursive'.\",\"type\":\"boolean\"},\"wrappedContextRegExp\":{\"description\":\"Set the inner regular expression for partial dynamic dependencies. Deprecated: This option has moved to 'module.parser.javascript.wrappedContextRegExp'.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"}}},\"ModuleOptionsNormalized\":{\"description\":\"Options affecting the normal modules (`NormalModuleFactory`).\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"defaultRules\":{\"description\":\"An array of rules applied by default for modules.\",\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRules\"}]},\"generator\":{\"$ref\":\"#/definitions/GeneratorOptionsByModuleType\"},\"noParse\":{\"$ref\":\"#/definitions/NoParse\"},\"parser\":{\"$ref\":\"#/definitions/ParserOptionsByModuleType\"},\"rules\":{\"description\":\"An array of rules applied for modules.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRules\"}]},\"unsafeCache\":{\"description\":\"Cache the resolving of module requests.\",\"anyOf\":[{\"type\":\"boolean\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]}},\"required\":[\"defaultRules\",\"generator\",\"parser\",\"rules\"]},\"Name\":{\"description\":\"Name of the configuration. Used when loading multiple configurations.\",\"type\":\"string\"},\"NoParse\":{\"description\":\"Don't parse files matching. It's matched against the full resolved request.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Don't parse files matching. It's matched against the full resolved request.\",\"anyOf\":[{\"description\":\"A regular expression, when matched the module is not parsed.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"description\":\"An absolute path, when the module starts with this path it is not parsed.\",\"type\":\"string\",\"absolutePath\":true},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"minItems\":1},{\"description\":\"A regular expression, when matched the module is not parsed.\",\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"description\":\"An absolute path, when the module starts with this path it is not parsed.\",\"type\":\"string\",\"absolutePath\":true},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"Node\":{\"description\":\"Include polyfills or mocks for various node stuff.\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/NodeOptions\"}]},\"NodeOptions\":{\"description\":\"Options object for node compatibility features.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"__dirname\":{\"description\":\"Include a polyfill for the '__dirname' variable.\",\"enum\":[false,true,\"mock\",\"eval-only\"]},\"__filename\":{\"description\":\"Include a polyfill for the '__filename' variable.\",\"enum\":[false,true,\"mock\",\"eval-only\"]},\"global\":{\"description\":\"Include a polyfill for the 'global' variable.\",\"type\":\"boolean\"}}},\"Optimization\":{\"description\":\"Enables/Disables integrated optimizations.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"checkWasmTypes\":{\"description\":\"Check for incompatible wasm types when importing/exporting from/to ESM.\",\"type\":\"boolean\"},\"chunkIds\":{\"description\":\"Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).\",\"enum\":[\"natural\",\"named\",\"deterministic\",\"size\",\"total-size\",false]},\"concatenateModules\":{\"description\":\"Concatenate modules when possible to generate less modules, more efficient code and enable more optimizations by the minimizer.\",\"type\":\"boolean\"},\"emitOnErrors\":{\"description\":\"Emit assets even when errors occur. Critical errors are emitted into the generated code and will cause errors at runtime.\",\"type\":\"boolean\"},\"flagIncludedChunks\":{\"description\":\"Also flag chunks as loaded which contain a subset of the modules.\",\"type\":\"boolean\"},\"innerGraph\":{\"description\":\"Creates a module-internal dependency graph for top level symbols, exports and imports, to improve unused exports detection.\",\"type\":\"boolean\"},\"mangleExports\":{\"description\":\"Rename exports when possible to generate shorter code (depends on optimization.usedExports and optimization.providedExports, true/\\\"deterministic\\\": generate short deterministic names optimized for caching, \\\"size\\\": generate the shortest possible names).\",\"anyOf\":[{\"enum\":[\"size\",\"deterministic\"]},{\"type\":\"boolean\"}]},\"mangleWasmImports\":{\"description\":\"Reduce size of WASM by changing imports to shorter strings.\",\"type\":\"boolean\"},\"mergeDuplicateChunks\":{\"description\":\"Merge chunks which contain the same modules.\",\"type\":\"boolean\"},\"minimize\":{\"description\":\"Enable minimizing the output. Uses optimization.minimizer.\",\"type\":\"boolean\"},\"minimizer\":{\"description\":\"Minimizer(s) to use for minimizing the output.\",\"type\":\"array\",\"cli\":{\"exclude\":true},\"items\":{\"description\":\"Plugin of type object or instanceof Function.\",\"anyOf\":[{\"enum\":[\"...\"]},{\"$ref\":\"#/definitions/WebpackPluginInstance\"},{\"$ref\":\"#/definitions/WebpackPluginFunction\"}]}},\"moduleIds\":{\"description\":\"Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).\",\"enum\":[\"natural\",\"named\",\"hashed\",\"deterministic\",\"size\",false]},\"noEmitOnErrors\":{\"description\":\"Avoid emitting assets when errors occur (deprecated: use 'emitOnErrors' instead).\",\"type\":\"boolean\",\"cli\":{\"exclude\":true}},\"nodeEnv\":{\"description\":\"Set process.env.NODE_ENV to a specific value.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\"}]},\"portableRecords\":{\"description\":\"Generate records with relative paths to be able to move the context folder.\",\"type\":\"boolean\"},\"providedExports\":{\"description\":\"Figure out which exports are provided by modules to generate more efficient code.\",\"type\":\"boolean\"},\"realContentHash\":{\"description\":\"Use real [contenthash] based on final content of the assets.\",\"type\":\"boolean\"},\"removeAvailableModules\":{\"description\":\"Removes modules from chunks when these modules are already included in all parents.\",\"type\":\"boolean\"},\"removeEmptyChunks\":{\"description\":\"Remove chunks which are empty.\",\"type\":\"boolean\"},\"runtimeChunk\":{\"$ref\":\"#/definitions/OptimizationRuntimeChunk\"},\"sideEffects\":{\"description\":\"Skip over modules which contain no side effects when exports are not used (false: disabled, 'flag': only use manually placed side effects flag, true: also analyse source code for side effects).\",\"anyOf\":[{\"enum\":[\"flag\"]},{\"type\":\"boolean\"}]},\"splitChunks\":{\"description\":\"Optimize duplication and caching by splitting chunks by shared modules and cache group.\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/OptimizationSplitChunksOptions\"}]},\"usedExports\":{\"description\":\"Figure out which exports are used by modules to mangle export names, omit unused exports and generate more efficient code (true: analyse used exports for each runtime, \\\"global\\\": analyse exports globally for all runtimes combined).\",\"anyOf\":[{\"enum\":[\"global\"]},{\"type\":\"boolean\"}]}}},\"OptimizationRuntimeChunk\":{\"description\":\"Create an additional chunk which contains only the webpack runtime and chunk hash maps.\",\"anyOf\":[{\"enum\":[\"single\",\"multiple\"]},{\"type\":\"boolean\"},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"description\":\"The name or name factory for the runtime chunks.\",\"anyOf\":[{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]}}}]},\"OptimizationRuntimeChunkNormalized\":{\"description\":\"Create an additional chunk which contains only the webpack runtime and chunk hash maps.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"name\":{\"description\":\"The name factory for the runtime chunks.\",\"instanceof\":\"Function\",\"tsType\":\"Function\"}}}]},\"OptimizationSplitChunksCacheGroup\":{\"description\":\"Options object for describing behavior of a cache group selecting modules that should be cached together.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"automaticNameDelimiter\":{\"description\":\"Sets the name delimiter for created chunks.\",\"type\":\"string\",\"minLength\":1},\"chunks\":{\"description\":\"Select chunks for determining cache group content (defaults to \\\"initial\\\", \\\"initial\\\" and \\\"all\\\" requires adding these chunks to the HTML).\",\"anyOf\":[{\"enum\":[\"initial\",\"async\",\"all\"]},{\"instanceof\":\"Function\",\"tsType\":\"((chunk: import('../lib/Chunk')) => boolean)\"}]},\"enforce\":{\"description\":\"Ignore minimum size, minimum chunks and maximum requests and always create chunks for this cache group.\",\"type\":\"boolean\"},\"enforceSizeThreshold\":{\"description\":\"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"filename\":{\"description\":\"Sets the template for the filename for created chunks.\",\"anyOf\":[{\"type\":\"string\",\"absolutePath\":false,\"minLength\":1},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"idHint\":{\"description\":\"Sets the hint for chunk id.\",\"type\":\"string\"},\"layer\":{\"description\":\"Assign modules to a cache group by module layer.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"maxAsyncRequests\":{\"description\":\"Maximum number of requests which are accepted for on-demand loading.\",\"type\":\"number\",\"minimum\":1},\"maxAsyncSize\":{\"description\":\"Maximal size hint for the on-demand chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxInitialRequests\":{\"description\":\"Maximum number of initial chunks which are accepted for an entry point.\",\"type\":\"number\",\"minimum\":1},\"maxInitialSize\":{\"description\":\"Maximal size hint for the initial chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxSize\":{\"description\":\"Maximal size hint for the created chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minChunks\":{\"description\":\"Minimum number of times a module has to be duplicated until it's considered for splitting.\",\"type\":\"number\",\"minimum\":1},\"minRemainingSize\":{\"description\":\"Minimal size for the chunks the stay after moving the modules to a new chunk.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minSize\":{\"description\":\"Minimal size for the created chunk.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"name\":{\"description\":\"Give chunks for this cache group a name (chunks with equal name are merged).\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"priority\":{\"description\":\"Priority of this cache group.\",\"type\":\"number\"},\"reuseExistingChunk\":{\"description\":\"Try to reuse existing chunk (with name) when it has matching modules.\",\"type\":\"boolean\"},\"test\":{\"description\":\"Assign modules to a cache group by module name.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"type\":{\"description\":\"Assign modules to a cache group by module type.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"usedExports\":{\"description\":\"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.\",\"type\":\"boolean\"}}},\"OptimizationSplitChunksGetCacheGroups\":{\"description\":\"A function returning cache groups.\",\"instanceof\":\"Function\",\"tsType\":\"((module: import('../lib/Module')) => OptimizationSplitChunksCacheGroup | OptimizationSplitChunksCacheGroup[] | void)\"},\"OptimizationSplitChunksOptions\":{\"description\":\"Options object for splitting chunks into smaller chunks.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"automaticNameDelimiter\":{\"description\":\"Sets the name delimiter for created chunks.\",\"type\":\"string\",\"minLength\":1},\"cacheGroups\":{\"description\":\"Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks, default categories: 'default', 'defaultVendors').\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Configuration for a cache group.\",\"anyOf\":[{\"enum\":[false]},{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"},{\"$ref\":\"#/definitions/OptimizationSplitChunksCacheGroup\"}]},\"not\":{\"description\":\"Using the cacheGroup shorthand syntax with a cache group named 'test' is a potential config error\\nDid you intent to define a cache group with a test instead?\\ncacheGroups: {\\n : {\\n test: ...\\n }\\n}.\",\"type\":\"object\",\"additionalProperties\":true,\"properties\":{\"test\":{\"description\":\"The test property is a cache group name, but using the test option of the cache group could be intended instead.\",\"anyOf\":[{\"instanceof\":\"Function\",\"tsType\":\"Function\"},{\"type\":\"string\"},{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"}]}},\"required\":[\"test\"]}},\"chunks\":{\"description\":\"Select chunks for determining shared modules (defaults to \\\"async\\\", \\\"initial\\\" and \\\"all\\\" requires adding these chunks to the HTML).\",\"anyOf\":[{\"enum\":[\"initial\",\"async\",\"all\"]},{\"instanceof\":\"Function\",\"tsType\":\"((chunk: import('../lib/Chunk')) => boolean)\"}]},\"defaultSizeTypes\":{\"description\":\"Sets the size types which are used when a number is used for sizes.\",\"type\":\"array\",\"items\":{\"description\":\"Size type, like 'javascript', 'webassembly'.\",\"type\":\"string\"},\"minLength\":1},\"enforceSizeThreshold\":{\"description\":\"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"fallbackCacheGroup\":{\"description\":\"Options for modules not selected by any other cache group.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"automaticNameDelimiter\":{\"description\":\"Sets the name delimiter for created chunks.\",\"type\":\"string\",\"minLength\":1},\"maxAsyncSize\":{\"description\":\"Maximal size hint for the on-demand chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxInitialSize\":{\"description\":\"Maximal size hint for the initial chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxSize\":{\"description\":\"Maximal size hint for the created chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minSize\":{\"description\":\"Minimal size for the created chunk.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]}}},\"filename\":{\"description\":\"Sets the template for the filename for created chunks.\",\"anyOf\":[{\"type\":\"string\",\"absolutePath\":false,\"minLength\":1},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"hidePathInfo\":{\"description\":\"Prevents exposing path info when creating names for parts splitted by maxSize.\",\"type\":\"boolean\"},\"maxAsyncRequests\":{\"description\":\"Maximum number of requests which are accepted for on-demand loading.\",\"type\":\"number\",\"minimum\":1},\"maxAsyncSize\":{\"description\":\"Maximal size hint for the on-demand chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxInitialRequests\":{\"description\":\"Maximum number of initial chunks which are accepted for an entry point.\",\"type\":\"number\",\"minimum\":1},\"maxInitialSize\":{\"description\":\"Maximal size hint for the initial chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"maxSize\":{\"description\":\"Maximal size hint for the created chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minChunks\":{\"description\":\"Minimum number of times a module has to be duplicated until it's considered for splitting.\",\"type\":\"number\",\"minimum\":1},\"minRemainingSize\":{\"description\":\"Minimal size for the chunks the stay after moving the modules to a new chunk.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"minSize\":{\"description\":\"Minimal size for the created chunks.\",\"oneOf\":[{\"$ref\":\"#/definitions/OptimizationSplitChunksSizes\"}]},\"name\":{\"description\":\"Give chunks created a name (chunks with equal name are merged).\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"Function\"}]},\"usedExports\":{\"description\":\"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.\",\"type\":\"boolean\"}}},\"OptimizationSplitChunksSizes\":{\"description\":\"Size description for limits.\",\"anyOf\":[{\"description\":\"Size of the javascript part of the chunk.\",\"type\":\"number\",\"minimum\":0},{\"description\":\"Specify size limits per size type.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Size of the part of the chunk with the type of the key.\",\"type\":\"number\"}}]},\"Output\":{\"description\":\"Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"assetModuleFilename\":{\"$ref\":\"#/definitions/AssetModuleFilename\"},\"auxiliaryComment\":{\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/AuxiliaryComment\"}]},\"charset\":{\"$ref\":\"#/definitions/Charset\"},\"chunkFilename\":{\"$ref\":\"#/definitions/ChunkFilename\"},\"chunkFormat\":{\"$ref\":\"#/definitions/ChunkFormat\"},\"chunkLoadTimeout\":{\"$ref\":\"#/definitions/ChunkLoadTimeout\"},\"chunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"chunkLoadingGlobal\":{\"$ref\":\"#/definitions/ChunkLoadingGlobal\"},\"compareBeforeEmit\":{\"$ref\":\"#/definitions/CompareBeforeEmit\"},\"crossOriginLoading\":{\"$ref\":\"#/definitions/CrossOriginLoading\"},\"devtoolFallbackModuleFilenameTemplate\":{\"$ref\":\"#/definitions/DevtoolFallbackModuleFilenameTemplate\"},\"devtoolModuleFilenameTemplate\":{\"$ref\":\"#/definitions/DevtoolModuleFilenameTemplate\"},\"devtoolNamespace\":{\"$ref\":\"#/definitions/DevtoolNamespace\"},\"enabledChunkLoadingTypes\":{\"$ref\":\"#/definitions/EnabledChunkLoadingTypes\"},\"enabledLibraryTypes\":{\"$ref\":\"#/definitions/EnabledLibraryTypes\"},\"enabledWasmLoadingTypes\":{\"$ref\":\"#/definitions/EnabledWasmLoadingTypes\"},\"environment\":{\"$ref\":\"#/definitions/Environment\"},\"filename\":{\"$ref\":\"#/definitions/Filename\"},\"globalObject\":{\"$ref\":\"#/definitions/GlobalObject\"},\"hashDigest\":{\"$ref\":\"#/definitions/HashDigest\"},\"hashDigestLength\":{\"$ref\":\"#/definitions/HashDigestLength\"},\"hashFunction\":{\"$ref\":\"#/definitions/HashFunction\"},\"hashSalt\":{\"$ref\":\"#/definitions/HashSalt\"},\"hotUpdateChunkFilename\":{\"$ref\":\"#/definitions/HotUpdateChunkFilename\"},\"hotUpdateGlobal\":{\"$ref\":\"#/definitions/HotUpdateGlobal\"},\"hotUpdateMainFilename\":{\"$ref\":\"#/definitions/HotUpdateMainFilename\"},\"iife\":{\"$ref\":\"#/definitions/Iife\"},\"importFunctionName\":{\"$ref\":\"#/definitions/ImportFunctionName\"},\"importMetaName\":{\"$ref\":\"#/definitions/ImportMetaName\"},\"library\":{\"$ref\":\"#/definitions/Library\"},\"libraryExport\":{\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/LibraryExport\"}]},\"libraryTarget\":{\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/LibraryType\"}]},\"module\":{\"$ref\":\"#/definitions/OutputModule\"},\"path\":{\"$ref\":\"#/definitions/Path\"},\"pathinfo\":{\"$ref\":\"#/definitions/Pathinfo\"},\"publicPath\":{\"$ref\":\"#/definitions/PublicPath\"},\"scriptType\":{\"$ref\":\"#/definitions/ScriptType\"},\"sourceMapFilename\":{\"$ref\":\"#/definitions/SourceMapFilename\"},\"sourcePrefix\":{\"$ref\":\"#/definitions/SourcePrefix\"},\"strictModuleExceptionHandling\":{\"$ref\":\"#/definitions/StrictModuleExceptionHandling\"},\"umdNamedDefine\":{\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/UmdNamedDefine\"}]},\"uniqueName\":{\"$ref\":\"#/definitions/UniqueName\"},\"wasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"},\"webassemblyModuleFilename\":{\"$ref\":\"#/definitions/WebassemblyModuleFilename\"},\"workerChunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"workerWasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"}}},\"OutputModule\":{\"description\":\"Output javascript files as module source type.\",\"type\":\"boolean\"},\"OutputNormalized\":{\"description\":\"Normalized options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"assetModuleFilename\":{\"$ref\":\"#/definitions/AssetModuleFilename\"},\"charset\":{\"$ref\":\"#/definitions/Charset\"},\"chunkFilename\":{\"$ref\":\"#/definitions/ChunkFilename\"},\"chunkFormat\":{\"$ref\":\"#/definitions/ChunkFormat\"},\"chunkLoadTimeout\":{\"$ref\":\"#/definitions/ChunkLoadTimeout\"},\"chunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"chunkLoadingGlobal\":{\"$ref\":\"#/definitions/ChunkLoadingGlobal\"},\"compareBeforeEmit\":{\"$ref\":\"#/definitions/CompareBeforeEmit\"},\"crossOriginLoading\":{\"$ref\":\"#/definitions/CrossOriginLoading\"},\"devtoolFallbackModuleFilenameTemplate\":{\"$ref\":\"#/definitions/DevtoolFallbackModuleFilenameTemplate\"},\"devtoolModuleFilenameTemplate\":{\"$ref\":\"#/definitions/DevtoolModuleFilenameTemplate\"},\"devtoolNamespace\":{\"$ref\":\"#/definitions/DevtoolNamespace\"},\"enabledChunkLoadingTypes\":{\"$ref\":\"#/definitions/EnabledChunkLoadingTypes\"},\"enabledLibraryTypes\":{\"$ref\":\"#/definitions/EnabledLibraryTypes\"},\"enabledWasmLoadingTypes\":{\"$ref\":\"#/definitions/EnabledWasmLoadingTypes\"},\"environment\":{\"$ref\":\"#/definitions/Environment\"},\"filename\":{\"$ref\":\"#/definitions/Filename\"},\"globalObject\":{\"$ref\":\"#/definitions/GlobalObject\"},\"hashDigest\":{\"$ref\":\"#/definitions/HashDigest\"},\"hashDigestLength\":{\"$ref\":\"#/definitions/HashDigestLength\"},\"hashFunction\":{\"$ref\":\"#/definitions/HashFunction\"},\"hashSalt\":{\"$ref\":\"#/definitions/HashSalt\"},\"hotUpdateChunkFilename\":{\"$ref\":\"#/definitions/HotUpdateChunkFilename\"},\"hotUpdateGlobal\":{\"$ref\":\"#/definitions/HotUpdateGlobal\"},\"hotUpdateMainFilename\":{\"$ref\":\"#/definitions/HotUpdateMainFilename\"},\"iife\":{\"$ref\":\"#/definitions/Iife\"},\"importFunctionName\":{\"$ref\":\"#/definitions/ImportFunctionName\"},\"importMetaName\":{\"$ref\":\"#/definitions/ImportMetaName\"},\"library\":{\"$ref\":\"#/definitions/LibraryOptions\"},\"module\":{\"$ref\":\"#/definitions/OutputModule\"},\"path\":{\"$ref\":\"#/definitions/Path\"},\"pathinfo\":{\"$ref\":\"#/definitions/Pathinfo\"},\"publicPath\":{\"$ref\":\"#/definitions/PublicPath\"},\"scriptType\":{\"$ref\":\"#/definitions/ScriptType\"},\"sourceMapFilename\":{\"$ref\":\"#/definitions/SourceMapFilename\"},\"sourcePrefix\":{\"$ref\":\"#/definitions/SourcePrefix\"},\"strictModuleExceptionHandling\":{\"$ref\":\"#/definitions/StrictModuleExceptionHandling\"},\"uniqueName\":{\"$ref\":\"#/definitions/UniqueName\"},\"wasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"},\"webassemblyModuleFilename\":{\"$ref\":\"#/definitions/WebassemblyModuleFilename\"},\"workerChunkLoading\":{\"$ref\":\"#/definitions/ChunkLoading\"},\"workerWasmLoading\":{\"$ref\":\"#/definitions/WasmLoading\"}}},\"Parallelism\":{\"description\":\"The number of parallel processed modules in the compilation.\",\"type\":\"number\",\"minimum\":1},\"ParserOptionsByModuleType\":{\"description\":\"Specify options for each parser.\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Options for parsing.\",\"type\":\"object\",\"additionalProperties\":true},\"properties\":{\"asset\":{\"$ref\":\"#/definitions/AssetParserOptions\"},\"asset/inline\":{\"$ref\":\"#/definitions/EmptyParserOptions\"},\"asset/resource\":{\"$ref\":\"#/definitions/EmptyParserOptions\"},\"asset/source\":{\"$ref\":\"#/definitions/EmptyParserOptions\"},\"javascript\":{\"$ref\":\"#/definitions/JavascriptParserOptions\"},\"javascript/auto\":{\"$ref\":\"#/definitions/JavascriptParserOptions\"},\"javascript/dynamic\":{\"$ref\":\"#/definitions/JavascriptParserOptions\"},\"javascript/esm\":{\"$ref\":\"#/definitions/JavascriptParserOptions\"}}},\"Path\":{\"description\":\"The output directory as **absolute path** (required).\",\"type\":\"string\",\"absolutePath\":true},\"Pathinfo\":{\"description\":\"Include comments with information about the modules.\",\"anyOf\":[{\"enum\":[\"verbose\"]},{\"type\":\"boolean\"}]},\"Performance\":{\"description\":\"Configuration for web performance recommendations.\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/PerformanceOptions\"}]},\"PerformanceOptions\":{\"description\":\"Configuration object for web performance recommendations.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"assetFilter\":{\"description\":\"Filter function to select assets that are checked.\",\"instanceof\":\"Function\",\"tsType\":\"Function\"},\"hints\":{\"description\":\"Sets the format of the hints: warnings, errors or nothing at all.\",\"enum\":[false,\"warning\",\"error\"]},\"maxAssetSize\":{\"description\":\"File size limit (in bytes) when exceeded, that webpack will provide performance hints.\",\"type\":\"number\"},\"maxEntrypointSize\":{\"description\":\"Total size of an entry point (in bytes).\",\"type\":\"number\"}}},\"Plugins\":{\"description\":\"Add additional plugins to the compiler.\",\"type\":\"array\",\"items\":{\"description\":\"Plugin of type object or instanceof Function.\",\"anyOf\":[{\"$ref\":\"#/definitions/WebpackPluginInstance\"},{\"$ref\":\"#/definitions/WebpackPluginFunction\"}]}},\"Profile\":{\"description\":\"Capture timing information for each module.\",\"type\":\"boolean\"},\"PublicPath\":{\"description\":\"The `publicPath` specifies the public URL address of the output files when referenced in a browser.\",\"anyOf\":[{\"enum\":[\"auto\"]},{\"type\":\"string\"},{\"instanceof\":\"Function\",\"tsType\":\"((pathData: import(\\\"../lib/Compilation\\\").PathData, assetInfo?: import(\\\"../lib/Compilation\\\").AssetInfo) => string)\"}]},\"RecordsInputPath\":{\"description\":\"Store compiler state to a json file.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\",\"absolutePath\":true}]},\"RecordsOutputPath\":{\"description\":\"Load compiler state from a json file.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\",\"absolutePath\":true}]},\"RecordsPath\":{\"description\":\"Store/Load compiler state from/to a json file. This will result in persistent ids of modules and chunks. An absolute path is expected. `recordsPath` is used for `recordsInputPath` and `recordsOutputPath` if they left undefined.\",\"anyOf\":[{\"enum\":[false]},{\"type\":\"string\",\"absolutePath\":true}]},\"Resolve\":{\"description\":\"Options for the resolver.\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveOptions\"}]},\"ResolveAlias\":{\"description\":\"Redirect module requests.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Alias configuration.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"alias\":{\"description\":\"New request.\",\"anyOf\":[{\"description\":\"Multiple alternative requests.\",\"type\":\"array\",\"items\":{\"description\":\"One choice of request.\",\"type\":\"string\",\"minLength\":1}},{\"description\":\"Ignore request (replace with empty module).\",\"enum\":[false]},{\"description\":\"New request.\",\"type\":\"string\",\"minLength\":1}]},\"name\":{\"description\":\"Request to be redirected.\",\"type\":\"string\"},\"onlyModule\":{\"description\":\"Redirect only exact matching request.\",\"type\":\"boolean\"}},\"required\":[\"alias\",\"name\"]}},{\"type\":\"object\",\"additionalProperties\":{\"description\":\"New request.\",\"anyOf\":[{\"description\":\"Multiple alternative requests.\",\"type\":\"array\",\"items\":{\"description\":\"One choice of request.\",\"type\":\"string\",\"minLength\":1}},{\"description\":\"Ignore request (replace with empty module).\",\"enum\":[false]},{\"description\":\"New request.\",\"type\":\"string\",\"minLength\":1}]}}]},\"ResolveLoader\":{\"description\":\"Options for the resolver when resolving loaders.\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveOptions\"}]},\"ResolveOptions\":{\"description\":\"Options object for resolving requests.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"alias\":{\"$ref\":\"#/definitions/ResolveAlias\"},\"aliasFields\":{\"description\":\"Fields in the description file (usually package.json) which are used to redirect requests inside the module.\",\"type\":\"array\",\"items\":{\"description\":\"Field in the description file (usually package.json) which are used to redirect requests inside the module.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Part of the field path in the description file (usually package.json) which are used to redirect requests inside the module.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1}]}},\"byDependency\":{\"description\":\"Extra resolve options per dependency category. Typical categories are \\\"commonjs\\\", \\\"amd\\\", \\\"esm\\\".\",\"type\":\"object\",\"additionalProperties\":{\"description\":\"Options object for resolving requests.\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveOptions\"}]}},\"cache\":{\"description\":\"Enable caching of successfully resolved requests (cache entries are revalidated).\",\"type\":\"boolean\"},\"cachePredicate\":{\"description\":\"Predicate function to decide which requests should be cached.\",\"instanceof\":\"Function\",\"tsType\":\"((request: import('enhanced-resolve').ResolveRequest) => boolean)\"},\"cacheWithContext\":{\"description\":\"Include the context information in the cache identifier when caching.\",\"type\":\"boolean\"},\"conditionNames\":{\"description\":\"Condition names for exports field entry point.\",\"type\":\"array\",\"items\":{\"description\":\"Condition names for exports field entry point.\",\"type\":\"string\"}},\"descriptionFiles\":{\"description\":\"Filenames used to find a description file (like a package.json).\",\"type\":\"array\",\"items\":{\"description\":\"Filename used to find a description file (like a package.json).\",\"type\":\"string\",\"minLength\":1}},\"enforceExtension\":{\"description\":\"Enforce the resolver to use one of the extensions from the extensions option (User must specify requests without extension).\",\"type\":\"boolean\"},\"exportsFields\":{\"description\":\"Field names from the description file (usually package.json) which are used to provide entry points of a package.\",\"type\":\"array\",\"items\":{\"description\":\"Field name from the description file (usually package.json) which is used to provide entry points of a package.\",\"type\":\"string\"}},\"extensions\":{\"description\":\"Extensions added to the request when trying to find the file.\",\"type\":\"array\",\"items\":{\"description\":\"Extension added to the request when trying to find the file.\",\"type\":\"string\",\"minLength\":1}},\"fallback\":{\"description\":\"Redirect module requests when normal resolving fails.\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveAlias\"}]},\"fileSystem\":{\"description\":\"Filesystem for the resolver.\",\"tsType\":\"(import('../lib/util/fs').InputFileSystem)\"},\"fullySpecified\":{\"description\":\"Treats the request specified by the user as fully specified, meaning no extensions are added and the mainFiles in directories are not resolved (This doesn't affect requests from mainFields, aliasFields or aliases).\",\"type\":\"boolean\"},\"importsFields\":{\"description\":\"Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).\",\"type\":\"array\",\"items\":{\"description\":\"Field name from the description file (usually package.json) which is used to provide internal request of a package (requests starting with # are considered as internal).\",\"type\":\"string\"}},\"mainFields\":{\"description\":\"Field names from the description file (package.json) which are used to find the default entry point.\",\"type\":\"array\",\"items\":{\"description\":\"Field name from the description file (package.json) which are used to find the default entry point.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Part of the field path from the description file (package.json) which are used to find the default entry point.\",\"type\":\"string\",\"minLength\":1}},{\"type\":\"string\",\"minLength\":1}]}},\"mainFiles\":{\"description\":\"Filenames used to find the default entry point if there is no description file or main field.\",\"type\":\"array\",\"items\":{\"description\":\"Filename used to find the default entry point if there is no description file or main field.\",\"type\":\"string\",\"minLength\":1}},\"modules\":{\"description\":\"Folder names or directory paths where to find modules.\",\"type\":\"array\",\"items\":{\"description\":\"Folder name or directory path where to find modules.\",\"type\":\"string\",\"minLength\":1}},\"plugins\":{\"description\":\"Plugins for the resolver.\",\"type\":\"array\",\"cli\":{\"exclude\":true},\"items\":{\"description\":\"Plugin of type object or instanceof Function.\",\"anyOf\":[{\"enum\":[\"...\"]},{\"$ref\":\"#/definitions/ResolvePluginInstance\"}]}},\"preferAbsolute\":{\"description\":\"Prefer to resolve server-relative URLs (starting with '/') as absolute paths before falling back to resolve in 'resolve.roots'.\",\"type\":\"boolean\"},\"preferRelative\":{\"description\":\"Prefer to resolve module requests as relative request and fallback to resolving as module.\",\"type\":\"boolean\"},\"resolver\":{\"description\":\"Custom resolver.\",\"tsType\":\"(import('enhanced-resolve').Resolver)\"},\"restrictions\":{\"description\":\"A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.\",\"type\":\"array\",\"items\":{\"description\":\"Resolve restriction. Resolve result must fulfill this restriction.\",\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}]}},\"roots\":{\"description\":\"A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.\",\"type\":\"array\",\"items\":{\"description\":\"Directory in which requests that are server-relative URLs (starting with '/') are resolved.\",\"type\":\"string\"}},\"symlinks\":{\"description\":\"Enable resolving symlinks to the original location.\",\"type\":\"boolean\"},\"unsafeCache\":{\"description\":\"Enable caching of successfully resolved requests (cache entries are not revalidated).\",\"anyOf\":[{\"type\":\"boolean\"},{\"type\":\"object\",\"additionalProperties\":true}]},\"useSyncFileSystemCalls\":{\"description\":\"Use synchronous filesystem calls for the resolver.\",\"type\":\"boolean\"}}},\"ResolvePluginInstance\":{\"description\":\"Plugin instance.\",\"type\":\"object\",\"additionalProperties\":true,\"properties\":{\"apply\":{\"description\":\"The run point of the plugin, required method.\",\"instanceof\":\"Function\",\"tsType\":\"(resolver: import('enhanced-resolve').Resolver) => void\"}},\"required\":[\"apply\"]},\"RuleSetCondition\":{\"description\":\"A condition matcher.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\"},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"and\":{\"description\":\"Logical AND.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditions\"}]},\"not\":{\"description\":\"Logical NOT.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditions\"}]},\"or\":{\"description\":\"Logical OR.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditions\"}]}}},{\"instanceof\":\"Function\",\"tsType\":\"((value: string) => boolean)\"},{\"$ref\":\"#/definitions/RuleSetConditions\"}]},\"RuleSetConditionAbsolute\":{\"description\":\"A condition matcher matching an absolute path.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"type\":\"string\",\"absolutePath\":true},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"and\":{\"description\":\"Logical AND.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]},\"not\":{\"description\":\"Logical NOT.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]},\"or\":{\"description\":\"Logical OR.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]}}},{\"instanceof\":\"Function\",\"tsType\":\"((value: string) => boolean)\"},{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]},\"RuleSetConditionOrConditions\":{\"description\":\"One or multiple rule conditions.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"$ref\":\"#/definitions/RuleSetCondition\"},{\"$ref\":\"#/definitions/RuleSetConditions\"}]},\"RuleSetConditionOrConditionsAbsolute\":{\"description\":\"One or multiple rule conditions matching an absolute path.\",\"cli\":{\"helper\":true},\"anyOf\":[{\"$ref\":\"#/definitions/RuleSetConditionAbsolute\"},{\"$ref\":\"#/definitions/RuleSetConditionsAbsolute\"}]},\"RuleSetConditions\":{\"description\":\"A list of rule conditions.\",\"type\":\"array\",\"items\":{\"description\":\"A rule condition.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetCondition\"}]}},\"RuleSetConditionsAbsolute\":{\"description\":\"A list of rule conditions matching an absolute path.\",\"type\":\"array\",\"items\":{\"description\":\"A rule condition matching an absolute path.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionAbsolute\"}]}},\"RuleSetLoader\":{\"description\":\"A loader request.\",\"type\":\"string\",\"minLength\":1},\"RuleSetLoaderOptions\":{\"description\":\"Options passed to a loader.\",\"anyOf\":[{\"type\":\"string\"},{\"type\":\"object\"}]},\"RuleSetRule\":{\"description\":\"A rule description with conditions and effects for modules.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"compiler\":{\"description\":\"Match the child compiler name.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"dependency\":{\"description\":\"Match dependency type.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"descriptionData\":{\"description\":\"Match values of properties in the description file (usually package.json).\",\"type\":\"object\",\"additionalProperties\":{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}},\"enforce\":{\"description\":\"Enforce this rule as pre or post step.\",\"enum\":[\"pre\",\"post\"]},\"exclude\":{\"description\":\"Shortcut for resource.exclude.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"generator\":{\"description\":\"The options for the module generator.\",\"type\":\"object\"},\"include\":{\"description\":\"Shortcut for resource.include.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"issuer\":{\"description\":\"Match the issuer of the module (The module pointing to this module).\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"issuerLayer\":{\"description\":\"Match layer of the issuer of this module (The module pointing to this module).\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"layer\":{\"description\":\"Specifies the layer in which the module should be placed in.\",\"type\":\"string\"},\"loader\":{\"description\":\"Shortcut for use.loader.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetLoader\"}]},\"mimetype\":{\"description\":\"Match module mimetype when load from Data URI.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"oneOf\":{\"description\":\"Only execute the first matching rule in this array.\",\"type\":\"array\",\"items\":{\"description\":\"A rule.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRule\"}]}},\"options\":{\"description\":\"Shortcut for use.options.\",\"cli\":{\"exclude\":true},\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetLoaderOptions\"}]},\"parser\":{\"description\":\"Options for parsing.\",\"type\":\"object\",\"additionalProperties\":true},\"realResource\":{\"description\":\"Match the real resource path of the module.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"resolve\":{\"description\":\"Options for the resolver.\",\"type\":\"object\",\"oneOf\":[{\"$ref\":\"#/definitions/ResolveOptions\"}]},\"resource\":{\"description\":\"Match the resource path of the module.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"resourceFragment\":{\"description\":\"Match the resource fragment of the module.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"resourceQuery\":{\"description\":\"Match the resource query of the module.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditions\"}]},\"rules\":{\"description\":\"Match and execute these rules when this rule is matched.\",\"type\":\"array\",\"items\":{\"description\":\"A rule.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetRule\"}]}},\"sideEffects\":{\"description\":\"Flags a module as with or without side effects.\",\"type\":\"boolean\"},\"test\":{\"description\":\"Shortcut for resource.test.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetConditionOrConditionsAbsolute\"}]},\"type\":{\"description\":\"Module type to use for the module.\",\"type\":\"string\"},\"use\":{\"description\":\"Modifiers applied to the module when rule is matched.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetUse\"}]}}},\"RuleSetRules\":{\"description\":\"A list of rules.\",\"type\":\"array\",\"items\":{\"description\":\"A rule.\",\"anyOf\":[{\"cli\":{\"exclude\":true},\"enum\":[\"...\"]},{\"$ref\":\"#/definitions/RuleSetRule\"}]}},\"RuleSetUse\":{\"description\":\"A list of descriptions of loaders applied.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"An use item.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetUseItem\"}]}},{\"instanceof\":\"Function\",\"tsType\":\"((data: { resource: string, realResource: string, resourceQuery: string, issuer: string, compiler: string }) => RuleSetUseItem[])\"},{\"$ref\":\"#/definitions/RuleSetUseItem\"}]},\"RuleSetUseItem\":{\"description\":\"A description of an applied loader.\",\"anyOf\":[{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"ident\":{\"description\":\"Unique loader options identifier.\",\"type\":\"string\"},\"loader\":{\"description\":\"Loader name.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetLoader\"}]},\"options\":{\"description\":\"Loader options.\",\"oneOf\":[{\"$ref\":\"#/definitions/RuleSetLoaderOptions\"}]}}},{\"instanceof\":\"Function\",\"tsType\":\"((data: object) => RuleSetUseItem|RuleSetUseItem[])\"},{\"$ref\":\"#/definitions/RuleSetLoader\"}]},\"ScriptType\":{\"description\":\"This option enables loading async chunks via a custom script type, such as script type=\\\"module\\\".\",\"enum\":[false,\"text/javascript\",\"module\"]},\"SnapshotOptions\":{\"description\":\"Options affecting how file system snapshots are created and validated.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"buildDependencies\":{\"description\":\"Options for snapshotting build dependencies to determine if the whole cache need to be invalidated.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"hash\":{\"description\":\"Use hashes of the content of the files/directories to determine invalidation.\",\"type\":\"boolean\"},\"timestamp\":{\"description\":\"Use timestamps of the files/directories to determine invalidation.\",\"type\":\"boolean\"}}},\"immutablePaths\":{\"description\":\"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.\",\"type\":\"array\",\"items\":{\"description\":\"A path to a immutable directory (usually a package manager cache directory).\",\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}},\"managedPaths\":{\"description\":\"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.\",\"type\":\"array\",\"items\":{\"description\":\"A path to a managed directory (usually a node_modules directory).\",\"type\":\"string\",\"absolutePath\":true,\"minLength\":1}},\"module\":{\"description\":\"Options for snapshotting dependencies of modules to determine if they need to be built again.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"hash\":{\"description\":\"Use hashes of the content of the files/directories to determine invalidation.\",\"type\":\"boolean\"},\"timestamp\":{\"description\":\"Use timestamps of the files/directories to determine invalidation.\",\"type\":\"boolean\"}}},\"resolve\":{\"description\":\"Options for snapshotting dependencies of request resolving to determine if requests need to be re-resolved.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"hash\":{\"description\":\"Use hashes of the content of the files/directories to determine invalidation.\",\"type\":\"boolean\"},\"timestamp\":{\"description\":\"Use timestamps of the files/directories to determine invalidation.\",\"type\":\"boolean\"}}},\"resolveBuildDependencies\":{\"description\":\"Options for snapshotting the resolving of build dependencies to determine if the build dependencies need to be re-resolved.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"hash\":{\"description\":\"Use hashes of the content of the files/directories to determine invalidation.\",\"type\":\"boolean\"},\"timestamp\":{\"description\":\"Use timestamps of the files/directories to determine invalidation.\",\"type\":\"boolean\"}}}}},\"SourceMapFilename\":{\"description\":\"The filename of the SourceMaps for the JavaScript files. They are inside the 'output.path' directory.\",\"type\":\"string\",\"absolutePath\":false},\"SourcePrefix\":{\"description\":\"Prefixes every line of the source in the bundle with this string.\",\"type\":\"string\"},\"StatsOptions\":{\"description\":\"Stats options object.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"all\":{\"description\":\"Fallback value for stats options when an option is not defined (has precedence over local webpack defaults).\",\"type\":\"boolean\"},\"assets\":{\"description\":\"Add assets information.\",\"type\":\"boolean\"},\"assetsSort\":{\"description\":\"Sort the assets by that field.\",\"type\":\"string\"},\"assetsSpace\":{\"description\":\"Space to display assets (groups will be collapsed to fit this space).\",\"type\":\"number\"},\"builtAt\":{\"description\":\"Add built at time information.\",\"type\":\"boolean\"},\"cached\":{\"description\":\"Add information about cached (not built) modules (deprecated: use 'cachedModules' instead).\",\"type\":\"boolean\"},\"cachedAssets\":{\"description\":\"Show cached assets (setting this to `false` only shows emitted files).\",\"type\":\"boolean\"},\"cachedModules\":{\"description\":\"Add information about cached (not built) modules.\",\"type\":\"boolean\"},\"children\":{\"description\":\"Add children information.\",\"type\":\"boolean\"},\"chunkGroupAuxiliary\":{\"description\":\"Display auxiliary assets in chunk groups.\",\"type\":\"boolean\"},\"chunkGroupChildren\":{\"description\":\"Display children of chunk groups.\",\"type\":\"boolean\"},\"chunkGroupMaxAssets\":{\"description\":\"Limit of assets displayed in chunk groups.\",\"type\":\"number\"},\"chunkGroups\":{\"description\":\"Display all chunk groups with the corresponding bundles.\",\"type\":\"boolean\"},\"chunkModules\":{\"description\":\"Add built modules information to chunk information.\",\"type\":\"boolean\"},\"chunkModulesSpace\":{\"description\":\"Space to display chunk modules (groups will be collapsed to fit this space, value is in number of modules/group).\",\"type\":\"number\"},\"chunkOrigins\":{\"description\":\"Add the origins of chunks and chunk merging info.\",\"type\":\"boolean\"},\"chunkRelations\":{\"description\":\"Add information about parent, children and sibling chunks to chunk information.\",\"type\":\"boolean\"},\"chunks\":{\"description\":\"Add chunk information.\",\"type\":\"boolean\"},\"chunksSort\":{\"description\":\"Sort the chunks by that field.\",\"type\":\"string\"},\"colors\":{\"description\":\"Enables/Disables colorful output.\",\"anyOf\":[{\"description\":\"Enables/Disables colorful output.\",\"type\":\"boolean\"},{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"bold\":{\"description\":\"Custom color for bold text.\",\"type\":\"string\"},\"cyan\":{\"description\":\"Custom color for cyan text.\",\"type\":\"string\"},\"green\":{\"description\":\"Custom color for green text.\",\"type\":\"string\"},\"magenta\":{\"description\":\"Custom color for magenta text.\",\"type\":\"string\"},\"red\":{\"description\":\"Custom color for red text.\",\"type\":\"string\"},\"yellow\":{\"description\":\"Custom color for yellow text.\",\"type\":\"string\"}}}]},\"context\":{\"description\":\"Context directory for request shortening.\",\"type\":\"string\",\"absolutePath\":true},\"dependentModules\":{\"description\":\"Show chunk modules that are dependencies of other modules of the chunk.\",\"type\":\"boolean\"},\"depth\":{\"description\":\"Add module depth in module graph.\",\"type\":\"boolean\"},\"entrypoints\":{\"description\":\"Display the entry points with the corresponding bundles.\",\"anyOf\":[{\"enum\":[\"auto\"]},{\"type\":\"boolean\"}]},\"env\":{\"description\":\"Add --env information.\",\"type\":\"boolean\"},\"errorDetails\":{\"description\":\"Add details to errors (like resolving log).\",\"type\":\"boolean\"},\"errorStack\":{\"description\":\"Add internal stack trace to errors.\",\"type\":\"boolean\"},\"errors\":{\"description\":\"Add errors.\",\"type\":\"boolean\"},\"errorsCount\":{\"description\":\"Add errors count.\",\"type\":\"boolean\"},\"exclude\":{\"description\":\"Please use excludeModules instead.\",\"cli\":{\"exclude\":true},\"anyOf\":[{\"type\":\"boolean\"},{\"$ref\":\"#/definitions/FilterTypes\"}]},\"excludeAssets\":{\"description\":\"Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilterTypes\"}]},\"excludeModules\":{\"description\":\"Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.\",\"anyOf\":[{\"type\":\"boolean\"},{\"$ref\":\"#/definitions/FilterTypes\"}]},\"groupAssetsByChunk\":{\"description\":\"Group assets by how their are related to chunks.\",\"type\":\"boolean\"},\"groupAssetsByEmitStatus\":{\"description\":\"Group assets by their status (emitted, compared for emit or cached).\",\"type\":\"boolean\"},\"groupAssetsByExtension\":{\"description\":\"Group assets by their extension.\",\"type\":\"boolean\"},\"groupAssetsByInfo\":{\"description\":\"Group assets by their asset info (immutable, development, hotModuleReplacement, etc).\",\"type\":\"boolean\"},\"groupAssetsByPath\":{\"description\":\"Group assets by their path.\",\"type\":\"boolean\"},\"groupModulesByAttributes\":{\"description\":\"Group modules by their attributes (errors, warnings, assets, optional, orphan, or dependent).\",\"type\":\"boolean\"},\"groupModulesByCacheStatus\":{\"description\":\"Group modules by their status (cached or built and cacheable).\",\"type\":\"boolean\"},\"groupModulesByExtension\":{\"description\":\"Group modules by their extension.\",\"type\":\"boolean\"},\"groupModulesByLayer\":{\"description\":\"Group modules by their layer.\",\"type\":\"boolean\"},\"groupModulesByPath\":{\"description\":\"Group modules by their path.\",\"type\":\"boolean\"},\"hash\":{\"description\":\"Add the hash of the compilation.\",\"type\":\"boolean\"},\"ids\":{\"description\":\"Add ids.\",\"type\":\"boolean\"},\"logging\":{\"description\":\"Add logging output.\",\"anyOf\":[{\"description\":\"Specify log level of logging output.\",\"enum\":[\"none\",\"error\",\"warn\",\"info\",\"log\",\"verbose\"]},{\"description\":\"Enable/disable logging output (`true`: shows normal logging output, loglevel: log).\",\"type\":\"boolean\"}]},\"loggingDebug\":{\"description\":\"Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.\",\"anyOf\":[{\"description\":\"Enable/Disable debug logging for all loggers.\",\"type\":\"boolean\"},{\"$ref\":\"#/definitions/FilterTypes\"}]},\"loggingTrace\":{\"description\":\"Add stack traces to logging output.\",\"type\":\"boolean\"},\"moduleAssets\":{\"description\":\"Add information about assets inside modules.\",\"type\":\"boolean\"},\"moduleTrace\":{\"description\":\"Add dependencies and origin of warnings/errors.\",\"type\":\"boolean\"},\"modules\":{\"description\":\"Add built modules information.\",\"type\":\"boolean\"},\"modulesSort\":{\"description\":\"Sort the modules by that field.\",\"type\":\"string\"},\"modulesSpace\":{\"description\":\"Space to display modules (groups will be collapsed to fit this space, value is in number of modules/groups).\",\"type\":\"number\"},\"nestedModules\":{\"description\":\"Add information about modules nested in other modules (like with module concatenation).\",\"type\":\"boolean\"},\"nestedModulesSpace\":{\"description\":\"Space to display modules nested within other modules (groups will be collapsed to fit this space, value is in number of modules/group).\",\"type\":\"number\"},\"optimizationBailout\":{\"description\":\"Show reasons why optimization bailed out for modules.\",\"type\":\"boolean\"},\"orphanModules\":{\"description\":\"Add information about orphan modules.\",\"type\":\"boolean\"},\"outputPath\":{\"description\":\"Add output path information.\",\"type\":\"boolean\"},\"performance\":{\"description\":\"Add performance hint flags.\",\"type\":\"boolean\"},\"preset\":{\"description\":\"Preset for the default values.\",\"anyOf\":[{\"type\":\"boolean\"},{\"type\":\"string\"}]},\"providedExports\":{\"description\":\"Show exports provided by modules.\",\"type\":\"boolean\"},\"publicPath\":{\"description\":\"Add public path information.\",\"type\":\"boolean\"},\"reasons\":{\"description\":\"Add information about the reasons why modules are included.\",\"type\":\"boolean\"},\"relatedAssets\":{\"description\":\"Add information about assets that are related to other assets (like SourceMaps for assets).\",\"type\":\"boolean\"},\"runtime\":{\"description\":\"Add information about runtime modules (deprecated: use 'runtimeModules' instead).\",\"type\":\"boolean\"},\"runtimeModules\":{\"description\":\"Add information about runtime modules.\",\"type\":\"boolean\"},\"source\":{\"description\":\"Add the source code of modules.\",\"type\":\"boolean\"},\"timings\":{\"description\":\"Add timing information.\",\"type\":\"boolean\"},\"usedExports\":{\"description\":\"Show exports used by modules.\",\"type\":\"boolean\"},\"version\":{\"description\":\"Add webpack version information.\",\"type\":\"boolean\"},\"warnings\":{\"description\":\"Add warnings.\",\"type\":\"boolean\"},\"warningsCount\":{\"description\":\"Add warnings count.\",\"type\":\"boolean\"},\"warningsFilter\":{\"description\":\"Suppress listing warnings that match the specified filters (they will still be counted). Filters can be Strings, RegExps or Functions.\",\"oneOf\":[{\"$ref\":\"#/definitions/FilterTypes\"}]}}},\"StatsValue\":{\"description\":\"Stats options object or preset name.\",\"anyOf\":[{\"enum\":[\"none\",\"summary\",\"errors-only\",\"errors-warnings\",\"minimal\",\"normal\",\"detailed\",\"verbose\"]},{\"type\":\"boolean\"},{\"$ref\":\"#/definitions/StatsOptions\"}]},\"StrictModuleExceptionHandling\":{\"description\":\"Handles exceptions in module loading correctly at a performance cost.\",\"type\":\"boolean\"},\"Target\":{\"description\":\"Environment to build for. An array of environments to build for all of them when possible.\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"Environment to build for.\",\"type\":\"string\",\"minLength\":1},\"minItems\":1},{\"enum\":[false]},{\"type\":\"string\",\"minLength\":1}]},\"UmdNamedDefine\":{\"description\":\"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.\",\"type\":\"boolean\"},\"UniqueName\":{\"description\":\"A unique name of the webpack build to avoid multiple webpack runtimes to conflict when using globals.\",\"type\":\"string\",\"minLength\":1},\"WasmLoading\":{\"description\":\"The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[false]},{\"$ref\":\"#/definitions/WasmLoadingType\"}]},\"WasmLoadingType\":{\"description\":\"The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).\",\"anyOf\":[{\"enum\":[\"fetch-streaming\",\"fetch\",\"async-node\"]},{\"type\":\"string\"}]},\"Watch\":{\"description\":\"Enter watch mode, which rebuilds on file change.\",\"type\":\"boolean\"},\"WatchOptions\":{\"description\":\"Options for the watcher.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"aggregateTimeout\":{\"description\":\"Delay the rebuilt after the first change. Value is a time in ms.\",\"type\":\"number\"},\"followSymlinks\":{\"description\":\"Resolve symlinks and watch symlink and real file. This is usually not needed as webpack already resolves symlinks ('resolve.symlinks').\",\"type\":\"boolean\"},\"ignored\":{\"description\":\"Ignore some files from watching (glob pattern or regexp).\",\"anyOf\":[{\"type\":\"array\",\"items\":{\"description\":\"A glob pattern for files that should be ignored from watching.\",\"type\":\"string\",\"minLength\":1}},{\"instanceof\":\"RegExp\",\"tsType\":\"RegExp\"},{\"description\":\"A single glob pattern for files that should be ignored from watching.\",\"type\":\"string\",\"minLength\":1}]},\"poll\":{\"description\":\"Enable polling mode for watching.\",\"anyOf\":[{\"description\":\"`number`: use polling with specified interval.\",\"type\":\"number\"},{\"description\":\"`true`: use polling.\",\"type\":\"boolean\"}]},\"stdin\":{\"description\":\"Stop watching when stdin stream has ended.\",\"type\":\"boolean\"}}},\"WebassemblyModuleFilename\":{\"description\":\"The filename of WebAssembly modules as relative path inside the 'output.path' directory.\",\"type\":\"string\",\"absolutePath\":false},\"WebpackOptionsNormalized\":{\"description\":\"Normalized webpack options object.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"amd\":{\"$ref\":\"#/definitions/Amd\"},\"bail\":{\"$ref\":\"#/definitions/Bail\"},\"cache\":{\"$ref\":\"#/definitions/CacheOptionsNormalized\"},\"context\":{\"$ref\":\"#/definitions/Context\"},\"dependencies\":{\"$ref\":\"#/definitions/Dependencies\"},\"devServer\":{\"$ref\":\"#/definitions/DevServer\"},\"devtool\":{\"$ref\":\"#/definitions/DevTool\"},\"entry\":{\"$ref\":\"#/definitions/EntryNormalized\"},\"experiments\":{\"$ref\":\"#/definitions/Experiments\"},\"externals\":{\"$ref\":\"#/definitions/Externals\"},\"externalsPresets\":{\"$ref\":\"#/definitions/ExternalsPresets\"},\"externalsType\":{\"$ref\":\"#/definitions/ExternalsType\"},\"ignoreWarnings\":{\"$ref\":\"#/definitions/IgnoreWarningsNormalized\"},\"infrastructureLogging\":{\"$ref\":\"#/definitions/InfrastructureLogging\"},\"loader\":{\"$ref\":\"#/definitions/Loader\"},\"mode\":{\"$ref\":\"#/definitions/Mode\"},\"module\":{\"$ref\":\"#/definitions/ModuleOptionsNormalized\"},\"name\":{\"$ref\":\"#/definitions/Name\"},\"node\":{\"$ref\":\"#/definitions/Node\"},\"optimization\":{\"$ref\":\"#/definitions/Optimization\"},\"output\":{\"$ref\":\"#/definitions/OutputNormalized\"},\"parallelism\":{\"$ref\":\"#/definitions/Parallelism\"},\"performance\":{\"$ref\":\"#/definitions/Performance\"},\"plugins\":{\"$ref\":\"#/definitions/Plugins\"},\"profile\":{\"$ref\":\"#/definitions/Profile\"},\"recordsInputPath\":{\"$ref\":\"#/definitions/RecordsInputPath\"},\"recordsOutputPath\":{\"$ref\":\"#/definitions/RecordsOutputPath\"},\"resolve\":{\"$ref\":\"#/definitions/Resolve\"},\"resolveLoader\":{\"$ref\":\"#/definitions/ResolveLoader\"},\"snapshot\":{\"$ref\":\"#/definitions/SnapshotOptions\"},\"stats\":{\"$ref\":\"#/definitions/StatsValue\"},\"target\":{\"$ref\":\"#/definitions/Target\"},\"watch\":{\"$ref\":\"#/definitions/Watch\"},\"watchOptions\":{\"$ref\":\"#/definitions/WatchOptions\"}},\"required\":[\"cache\",\"snapshot\",\"entry\",\"experiments\",\"externals\",\"externalsPresets\",\"infrastructureLogging\",\"module\",\"node\",\"optimization\",\"output\",\"plugins\",\"resolve\",\"resolveLoader\",\"stats\",\"watchOptions\"]},\"WebpackPluginFunction\":{\"description\":\"Function acting as plugin.\",\"instanceof\":\"Function\",\"tsType\":\"(this: import('../lib/Compiler'), compiler: import('../lib/Compiler')) => void\"},\"WebpackPluginInstance\":{\"description\":\"Plugin instance.\",\"type\":\"object\",\"additionalProperties\":true,\"properties\":{\"apply\":{\"description\":\"The run point of the plugin, required method.\",\"instanceof\":\"Function\",\"tsType\":\"(compiler: import('../lib/Compiler')) => void\"}},\"required\":[\"apply\"]}},\"description\":\"Options object as provided by the user.\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"amd\":{\"$ref\":\"#/definitions/Amd\"},\"bail\":{\"$ref\":\"#/definitions/Bail\"},\"cache\":{\"$ref\":\"#/definitions/CacheOptions\"},\"context\":{\"$ref\":\"#/definitions/Context\"},\"dependencies\":{\"$ref\":\"#/definitions/Dependencies\"},\"devServer\":{\"$ref\":\"#/definitions/DevServer\"},\"devtool\":{\"$ref\":\"#/definitions/DevTool\"},\"entry\":{\"$ref\":\"#/definitions/Entry\"},\"experiments\":{\"$ref\":\"#/definitions/Experiments\"},\"externals\":{\"$ref\":\"#/definitions/Externals\"},\"externalsPresets\":{\"$ref\":\"#/definitions/ExternalsPresets\"},\"externalsType\":{\"$ref\":\"#/definitions/ExternalsType\"},\"ignoreWarnings\":{\"$ref\":\"#/definitions/IgnoreWarnings\"},\"infrastructureLogging\":{\"$ref\":\"#/definitions/InfrastructureLogging\"},\"loader\":{\"$ref\":\"#/definitions/Loader\"},\"mode\":{\"$ref\":\"#/definitions/Mode\"},\"module\":{\"$ref\":\"#/definitions/ModuleOptions\"},\"name\":{\"$ref\":\"#/definitions/Name\"},\"node\":{\"$ref\":\"#/definitions/Node\"},\"optimization\":{\"$ref\":\"#/definitions/Optimization\"},\"output\":{\"$ref\":\"#/definitions/Output\"},\"parallelism\":{\"$ref\":\"#/definitions/Parallelism\"},\"performance\":{\"$ref\":\"#/definitions/Performance\"},\"plugins\":{\"$ref\":\"#/definitions/Plugins\"},\"profile\":{\"$ref\":\"#/definitions/Profile\"},\"recordsInputPath\":{\"$ref\":\"#/definitions/RecordsInputPath\"},\"recordsOutputPath\":{\"$ref\":\"#/definitions/RecordsOutputPath\"},\"recordsPath\":{\"$ref\":\"#/definitions/RecordsPath\"},\"resolve\":{\"$ref\":\"#/definitions/Resolve\"},\"resolveLoader\":{\"$ref\":\"#/definitions/ResolveLoader\"},\"snapshot\":{\"$ref\":\"#/definitions/SnapshotOptions\"},\"stats\":{\"$ref\":\"#/definitions/StatsValue\"},\"target\":{\"$ref\":\"#/definitions/Target\"},\"watch\":{\"$ref\":\"#/definitions/Watch\"},\"watchOptions\":{\"$ref\":\"#/definitions/WatchOptions\"}}}"); /***/ }), @@ -10152,7 +10152,7 @@ Long.fromBytesBE = function fromBytesBE(bytes, unsigned) { // Labels in scope. this.labels = []; // Thus-far undefined exports. - this.undefinedExports = {}; + this.undefinedExports = Object.create(null); // If enabled, skip leading hashbang line. if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === "#!") @@ -10366,7 +10366,7 @@ Long.fromBytesBE = function fromBytesBE(bytes, unsigned) { // to its body instead of creating a new node. pp$1.parseTopLevel = function(node) { - var exports = {}; + var exports = Object.create(null); if (!node.body) { node.body = []; } while (this.type !== types.eof) { var stmt = this.parseStatement(null, true, exports); @@ -12492,7 +12492,7 @@ Long.fromBytesBE = function fromBytesBE(bytes, unsigned) { // or "arguments" and duplicate parameters. pp$3.checkParams = function(node, allowDuplicates) { - var nameHash = {}; + var nameHash = Object.create(null); for (var i = 0, list = node.params; i < list.length; i += 1) { var param = list[i]; @@ -14822,7 +14822,7 @@ Long.fromBytesBE = function fromBytesBE(bytes, unsigned) { // Acorn is a tiny, fast JavaScript parser written in JavaScript. - var version = "8.0.4"; + var version = "8.0.5"; Parser.acorn = { Parser: Parser, @@ -31393,12 +31393,16 @@ class AutomaticPrefetchPlugin { ); let lastModules = null; compiler.hooks.afterCompile.tap("AutomaticPrefetchPlugin", compilation => { - lastModules = Array.from(compilation.modules) - .filter(m => m instanceof NormalModule) - .map((/** @type {NormalModule} */ m) => ({ - context: m.context, - request: m.request - })); + lastModules = []; + + for (const m of compilation.modules) { + if (m instanceof NormalModule) { + lastModules.push({ + context: m.context, + request: m.request + }); + } + } }); compiler.hooks.make.tapAsync( "AutomaticPrefetchPlugin", @@ -31413,7 +31417,10 @@ class AutomaticPrefetchPlugin { callback ); }, - callback + err => { + lastModules = null; + callback(err); + } ); } ); @@ -31756,6 +31763,7 @@ class MultiItemCache { */ constructor(items) { this._items = items; + if (items.length === 1) return /** @type {any} */ (items[0]); } /** @@ -32932,6 +32940,7 @@ module.exports = Chunk; const util = __webpack_require__(31669); const ModuleGraphConnection = __webpack_require__(39519); const SortableSet = __webpack_require__(51326); +const StringXor = __webpack_require__(74395); const { compareModulesById, compareIterables, @@ -32940,12 +32949,14 @@ const { compareSelect, compareIds } = __webpack_require__(21699); +const createHash = __webpack_require__(34627); const findGraphRoots = __webpack_require__(76019); const { RuntimeSpecMap, RuntimeSpecSet, runtimeToString, - mergeRuntime + mergeRuntime, + forEachRuntime } = __webpack_require__(43478); /** @typedef {import("./AsyncDependenciesBlock")} AsyncDependenciesBlock */ @@ -32971,11 +32982,12 @@ const compareModuleIterables = compareIterables(compareModulesByIdentifier); * @property {number=} entryChunkMultiplicator multiplicator for initial chunks */ -/** - * @typedef {Object} ModuleHashInfo - * @property {string} hash - * @property {string} renderedHash - */ +class ModuleHashInfo { + constructor(hash, renderedHash) { + this.hash = hash; + this.renderedHash = renderedHash; + } +} /** @template T @typedef {(set: SortableSet) => T[]} SetToArrayFunction */ @@ -33094,6 +33106,10 @@ class ChunkGraphModule { this.id = null; /** @type {RuntimeSpecMap> | undefined} */ this.runtimeRequirements = undefined; + /** @type {RuntimeSpecMap} */ + this.graphHashes = undefined; + /** @type {RuntimeSpecMap} */ + this.graphHashesWithConnections = undefined; } } @@ -34020,6 +34036,15 @@ class ChunkGraph { return cgc.fullHashModules; } + /** + * @param {Chunk} chunk the chunk + * @returns {ReadonlySet | undefined} set of modules (do not modify) + */ + getChunkFullHashModulesSet(chunk) { + const cgc = this._getChunkGraphChunk(chunk); + return cgc.fullHashModules; + } + /** @typedef {[Module, Entrypoint | undefined]} EntryModuleWithChunkGroup */ /** @@ -34098,14 +34123,20 @@ class ChunkGraph { } /** + * @template T * @param {Module} module the module + * @param {RuntimeSpecMap} hashes hashes data * @param {RuntimeSpec} runtime the runtime - * @returns {ModuleHashInfo} hash + * @returns {T} hash */ - _getModuleHashInfo(module, runtime) { - const cgm = this._getChunkGraphModule(module); - const hashes = cgm.hashes; - if (hashes && runtime === undefined) { + _getModuleHashInfo(module, hashes, runtime) { + if (!hashes) { + throw new Error( + `Module ${module.identifier()} has no hash info for runtime ${runtimeToString( + runtime + )} (hashes not set at all)` + ); + } else if (runtime === undefined) { const hashInfoItems = new Set(hashes.values()); if (hashInfoItems.size !== 1) { throw new Error( @@ -34118,14 +34149,15 @@ Caller might not support runtime-dependent code generation (opt-out via optimiza } return hashInfoItems.values().next().value; } else { - const hashInfo = hashes && hashes.get(runtime); + const hashInfo = hashes.get(runtime); if (!hashInfo) { throw new Error( `Module ${module.identifier()} has no hash info for runtime ${runtimeToString( runtime - )} (available runtimes ${ - hashes && Array.from(hashes.keys(), runtimeToString).join(", ") - })` + )} (available runtimes ${Array.from( + hashes.keys(), + runtimeToString + ).join(", ")})` ); } return hashInfo; @@ -34149,7 +34181,9 @@ Caller might not support runtime-dependent code generation (opt-out via optimiza * @returns {string} hash */ getModuleHash(module, runtime) { - return this._getModuleHashInfo(module, runtime).hash; + const cgm = this._getChunkGraphModule(module); + const hashes = cgm.hashes; + return this._getModuleHashInfo(module, hashes, runtime).hash; } /** @@ -34158,7 +34192,9 @@ Caller might not support runtime-dependent code generation (opt-out via optimiza * @returns {string} hash */ getRenderedModuleHash(module, runtime) { - return this._getModuleHashInfo(module, runtime).renderedHash; + const cgm = this._getChunkGraphModule(module); + const hashes = cgm.hashes; + return this._getModuleHashInfo(module, hashes, runtime).renderedHash; } /** @@ -34173,7 +34209,7 @@ Caller might not support runtime-dependent code generation (opt-out via optimiza if (cgm.hashes === undefined) { cgm.hashes = new RuntimeSpecMap(); } - cgm.hashes.set(runtime, { hash, renderedHash }); + cgm.hashes.set(runtime, new ModuleHashInfo(hash, renderedHash)); } /** @@ -34255,6 +34291,91 @@ Caller might not support runtime-dependent code generation (opt-out via optimiza return runtimeRequirements === undefined ? EMPTY_SET : runtimeRequirements; } + getModuleGraphHash(module, runtime, withConnections = true) { + const cgm = this._getChunkGraphModule(module); + if (cgm.graphHashes === undefined) { + cgm.graphHashes = new RuntimeSpecMap(); + } + const graphHash = cgm.graphHashes.provide(runtime, () => { + const hash = createHash("md4"); + hash.update(`${cgm.id}`); + hash.update(`${this.moduleGraph.isAsync(module)}`); + this.moduleGraph.getExportsInfo(module).updateHash(hash, runtime); + return /** @type {string} */ (hash.digest("hex")); + }); + if (!withConnections) return graphHash; + if (cgm.graphHashesWithConnections === undefined) { + cgm.graphHashesWithConnections = new RuntimeSpecMap(); + } + const activeStateToString = state => { + if (state === false) return "false"; + if (state === true) return "true"; + if (state === ModuleGraphConnection.TRANSITIVE_ONLY) return "transitive"; + throw new Error("Not implemented active state"); + }; + const strict = module.buildMeta && module.buildMeta.strictHarmonyModule; + return cgm.graphHashesWithConnections.provide(runtime, () => { + const connections = this.moduleGraph.getOutgoingConnections(module); + /** @type {Map>} */ + const connectedModules = new Map(); + for (const connection of connections) { + let stateInfo; + if (typeof runtime === "string") { + const state = connection.getActiveState(runtime); + if (state === false) continue; + stateInfo = activeStateToString(state); + } else { + const states = new Set(); + stateInfo = ""; + forEachRuntime( + runtime, + runtime => { + const state = connection.getActiveState(runtime); + states.add(state); + stateInfo += runtime + activeStateToString(state); + }, + true + ); + if (states.size === 1) { + const state = states.values().next().value; + if (state === false) continue; + stateInfo = activeStateToString(state); + } + } + const module = connection.module; + stateInfo += module.getExportsType(this.moduleGraph, strict); + const oldModule = connectedModules.get(stateInfo); + if (oldModule === undefined) { + connectedModules.set(stateInfo, module); + } else if (oldModule instanceof Set) { + oldModule.add(module); + } else if (oldModule !== module) { + connectedModules.set(stateInfo, new Set([oldModule, module])); + } + } + if (connectedModules.size === 0) return graphHash; + const connectedModulesInOrder = + connectedModules.size > 1 + ? Array.from(connectedModules).sort(([a], [b]) => (a < b ? -1 : 1)) + : connectedModules; + const hash = createHash("md4"); + for (const [stateInfo, modules] of connectedModulesInOrder) { + hash.update(stateInfo); + if (modules instanceof Set) { + const xor = new StringXor(); + for (const m of modules) { + xor.add(this.getModuleGraphHash(m, runtime, false)); + } + xor.updateHash(hash); + } else { + hash.update(this.getModuleGraphHash(modules, runtime, false)); + } + } + hash.update(graphHash); + return /** @type {string} */ (hash.digest("hex")); + }); + } + /** * @param {Chunk} chunk the chunk * @returns {ReadonlySet} runtime requirements @@ -35197,6 +35318,8 @@ module.exports = CodeGenerationError; +const { provide } = __webpack_require__(59874); +const createHash = __webpack_require__(34627); const { runtimeToString, RuntimeSpecMap } = __webpack_require__(43478); /** @typedef {import("webpack-sources").Source} Source */ @@ -35208,6 +35331,8 @@ class CodeGenerationResults { constructor() { /** @type {Map>} */ this.map = new Map(); + /** @type {Map>} */ + this.hashes = new Map(); } /** @@ -35253,6 +35378,24 @@ Caller might not support runtime-dependent code generation (opt-out via optimiza } } + /** + * @param {Module} module the module + * @param {RuntimeSpec} runtime runtime(s) + * @returns {boolean} true, when we have data for this + */ + has(module, runtime) { + const entry = this.map.get(module); + if (entry === undefined) { + return false; + } + if (runtime === undefined) { + const results = new Set(entry.values()); + return results.size === 1; + } else { + return entry.has(runtime); + } + } + /** * @param {Module} module the module * @param {RuntimeSpec} runtime runtime(s) @@ -35283,6 +35426,25 @@ Caller might not support runtime-dependent code generation (opt-out via optimiza return data === undefined ? undefined : data.get(key); } + /** + * @param {Module} module the module + * @param {RuntimeSpec} runtime runtime(s) + * @returns {any} hash of the code generation + */ + getHash(module, runtime) { + const info = this.get(module, runtime); + if (info.hash !== undefined) return info.hash; + const hash = createHash("md4"); + for (const [type, source] of info.sources) { + hash.update(type); + source.updateHash(hash); + } + if (info.runtimeRequirements) { + for (const rr of info.runtimeRequirements) hash.update(rr); + } + return (info.hash = /** @type {string} */ (hash.digest("hex"))); + } + /** * @param {Module} module the module * @param {RuntimeSpec} runtime runtime(s) @@ -35290,14 +35452,8 @@ Caller might not support runtime-dependent code generation (opt-out via optimiza * @returns {void} */ add(module, runtime, result) { - const map = this.map.get(module); - if (map !== undefined) { - map.set(runtime, result); - } else { - const newMap = new RuntimeSpecMap(); - newMap.set(runtime, result); - this.map.set(module, newMap); - } + const map = provide(this.map, module, () => new RuntimeSpecMap()); + map.set(runtime, result); } } @@ -37671,77 +37827,83 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o this.logger.time("hashing"); this.hooks.beforeHash.call(); - this.createHash(); + const codeGenerationJobs = this.createHash(); this.hooks.afterHash.call(); this.logger.timeEnd("hashing"); - if (shouldRecord) { - this.logger.time("record hash"); - this.hooks.recordHash.call(this.records); - this.logger.timeEnd("record hash"); - } - - this.logger.time("module assets"); - this.clearAssets(); + this._runCodeGenerationJobs(codeGenerationJobs, err => { + if (err) { + return callback(err); + } - this.hooks.beforeModuleAssets.call(); - this.createModuleAssets(); - this.logger.timeEnd("module assets"); + if (shouldRecord) { + this.logger.time("record hash"); + this.hooks.recordHash.call(this.records); + this.logger.timeEnd("record hash"); + } - const cont = () => { - this.logger.time("process assets"); - this.hooks.processAssets.callAsync(this.assets, err => { - if (err) { - return callback( - makeWebpackError(err, "Compilation.hooks.processAssets") - ); - } - this.hooks.afterProcessAssets.call(this.assets); - this.logger.timeEnd("process assets"); - this.assets = soonFrozenObjectDeprecation( - this.assets, - "Compilation.assets", - "DEP_WEBPACK_COMPILATION_ASSETS", - `BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation. - Do changes to assets earlier, e. g. in Compilation.hooks.processAssets. - Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.` - ); + this.logger.time("module assets"); + this.clearAssets(); - this.summarizeDependencies(); - if (shouldRecord) { - this.hooks.record.call(this, this.records); - } + this.hooks.beforeModuleAssets.call(); + this.createModuleAssets(); + this.logger.timeEnd("module assets"); - if (this.hooks.needAdditionalSeal.call()) { - this.unseal(); - return this.seal(callback); - } - return this.hooks.afterSeal.callAsync(err => { + const cont = () => { + this.logger.time("process assets"); + this.hooks.processAssets.callAsync(this.assets, err => { if (err) { return callback( - makeWebpackError(err, "Compilation.hooks.afterSeal") + makeWebpackError(err, "Compilation.hooks.processAssets") ); } - this.fileSystemInfo.logStatistics(); - callback(); + this.hooks.afterProcessAssets.call(this.assets); + this.logger.timeEnd("process assets"); + this.assets = soonFrozenObjectDeprecation( + this.assets, + "Compilation.assets", + "DEP_WEBPACK_COMPILATION_ASSETS", + `BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation. + Do changes to assets earlier, e. g. in Compilation.hooks.processAssets. + Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.` + ); + + this.summarizeDependencies(); + if (shouldRecord) { + this.hooks.record.call(this, this.records); + } + + if (this.hooks.needAdditionalSeal.call()) { + this.unseal(); + return this.seal(callback); + } + return this.hooks.afterSeal.callAsync(err => { + if (err) { + return callback( + makeWebpackError(err, "Compilation.hooks.afterSeal") + ); + } + this.fileSystemInfo.logStatistics(); + callback(); + }); }); - }); - }; + }; - this.logger.time("create chunk assets"); - if (this.hooks.shouldGenerateChunkAssets.call() !== false) { - this.hooks.beforeChunkAssets.call(); - this.createChunkAssets(err => { + this.logger.time("create chunk assets"); + if (this.hooks.shouldGenerateChunkAssets.call() !== false) { + this.hooks.beforeChunkAssets.call(); + this.createChunkAssets(err => { + this.logger.timeEnd("create chunk assets"); + if (err) { + return callback(err); + } + cont(); + }); + } else { this.logger.timeEnd("create chunk assets"); - if (err) { - return callback(err); - } cont(); - }); - } else { - this.logger.timeEnd("create chunk assets"); - cont(); - } + } + }); }); } ); @@ -37786,16 +37948,8 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o } codeGeneration(callback) { - let statModulesFromCache = 0; - let statModulesGenerated = 0; - const { - chunkGraph, - moduleGraph, - dependencyTemplates, - runtimeTemplate - } = this; - const results = (this.codeGenerationResults = new CodeGenerationResults()); - const errors = []; + const { chunkGraph } = this; + this.codeGenerationResults = new CodeGenerationResults(); /** @type {{module: Module, hash: string, runtime: RuntimeSpec, runtimes: RuntimeSpec[]}[]} */ const jobs = []; for (const module of this.modules) { @@ -37822,52 +37976,41 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o } } + this._runCodeGenerationJobs(jobs, callback); + } + + _runCodeGenerationJobs(jobs, callback) { + let statModulesFromCache = 0; + let statModulesGenerated = 0; + const { + chunkGraph, + moduleGraph, + dependencyTemplates, + runtimeTemplate + } = this; + const results = this.codeGenerationResults; + const errors = []; asyncLib.eachLimit( jobs, this.options.parallelism, ({ module, hash, runtime, runtimes }, callback) => { - const cache = new MultiItemCache( - runtimes.map(runtime => - this._codeGenerationCache.getItemCache( - `${module.identifier()}|${getRuntimeKey(runtime)}`, - `${hash}|${dependencyTemplates.getHash()}` - ) - ) - ); - cache.get((err, cachedResult) => { - if (err) return callback(err); - let result; - if (!cachedResult) { - statModulesGenerated++; - try { - this.codeGeneratedModules.add(module); - result = module.codeGeneration({ - chunkGraph, - moduleGraph, - dependencyTemplates, - runtimeTemplate, - runtime - }); - } catch (err) { - errors.push(new CodeGenerationError(module, err)); - result = cachedResult = { - sources: new Map(), - runtimeRequirements: null - }; - } - } else { - statModulesFromCache++; - result = cachedResult; - } - for (const runtime of runtimes) { - results.add(module, runtime, result); - } - if (!cachedResult) { - cache.store(result, callback); - } else { - callback(); + this._codeGenerationModule( + module, + runtime, + runtimes, + hash, + dependencyTemplates, + chunkGraph, + moduleGraph, + runtimeTemplate, + errors, + results, + (err, codeGenerated) => { + if (codeGenerated) statModulesGenerated++; + else statModulesFromCache++; + callback(err); } - }); + ); }, err => { if (err) return callback(err); @@ -37890,6 +38033,76 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o ); } + /** + * @param {Module} module module + * @param {RuntimeSpec} runtime runtime + * @param {RuntimeSpec[]} runtimes runtimes + * @param {string} hash hash + * @param {DependencyTemplates} dependencyTemplates dependencyTemplates + * @param {ChunkGraph} chunkGraph chunkGraph + * @param {ModuleGraph} moduleGraph moduleGraph + * @param {RuntimeTemplate} runtimeTemplate runtimeTemplate + * @param {WebpackError[]} errors errors + * @param {CodeGenerationResults} results results + * @param {function(WebpackError=, boolean=): void} callback callback + */ + _codeGenerationModule( + module, + runtime, + runtimes, + hash, + dependencyTemplates, + chunkGraph, + moduleGraph, + runtimeTemplate, + errors, + results, + callback + ) { + let codeGenerated = false; + const cache = new MultiItemCache( + runtimes.map(runtime => + this._codeGenerationCache.getItemCache( + `${module.identifier()}|${getRuntimeKey(runtime)}`, + `${hash}|${dependencyTemplates.getHash()}` + ) + ) + ); + cache.get((err, cachedResult) => { + if (err) return callback(err); + let result; + if (!cachedResult) { + try { + codeGenerated = true; + this.codeGeneratedModules.add(module); + result = module.codeGeneration({ + chunkGraph, + moduleGraph, + dependencyTemplates, + runtimeTemplate, + runtime + }); + } catch (err) { + errors.push(new CodeGenerationError(module, err)); + result = cachedResult = { + sources: new Map(), + runtimeRequirements: null + }; + } + } else { + result = cachedResult; + } + for (const runtime of runtimes) { + results.add(module, runtime, result); + } + if (!cachedResult) { + cache.store(result, err => callback(err, codeGenerated)); + } else { + callback(null, codeGenerated); + } + }); + } + /** * @returns {void} */ @@ -38316,20 +38529,14 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o for (const module of this.modules) { for (const runtime of chunkGraph.getModuleRuntimes(module)) { statModulesHashed++; - const moduleHash = createHash(hashFunction); - module.updateHash(moduleHash, { - chunkGraph, - runtime, - runtimeTemplate - }); - const moduleHashDigest = /** @type {string} */ (moduleHash.digest( - hashDigest - )); - chunkGraph.setModuleHashes( + this._createModuleHash( module, + chunkGraph, runtime, - moduleHashDigest, - moduleHashDigest.substr(0, hashDigestLength) + hashFunction, + runtimeTemplate, + hashDigest, + hashDigestLength ); } } @@ -38340,6 +38547,33 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o ); } + _createModuleHash( + module, + chunkGraph, + runtime, + hashFunction, + runtimeTemplate, + hashDigest, + hashDigestLength + ) { + const moduleHash = createHash(hashFunction); + module.updateHash(moduleHash, { + chunkGraph, + runtime, + runtimeTemplate + }); + const moduleHashDigest = /** @type {string} */ (moduleHash.digest( + hashDigest + )); + chunkGraph.setModuleHashes( + module, + runtime, + moduleHashDigest, + moduleHashDigest.substr(0, hashDigestLength) + ); + return moduleHashDigest; + } + createHash() { this.logger.time("hashing: initialize hash"); const chunkGraph = this.chunkGraph; @@ -38420,31 +38654,49 @@ This prevents using hashes of each other and should be avoided.` }); this.logger.timeEnd("hashing: sort chunks"); const fullHashChunks = new Set(); + /** @type {{module: Module, hash: string, runtime: RuntimeSpec, runtimes: RuntimeSpec[]}[]} */ + const codeGenerationJobs = []; + /** @type {Map>} */ + const codeGenerationJobsMap = new Map(); const processChunk = chunk => { // Last minute module hash generation for modules that depend on chunk hashes this.logger.time("hashing: hash runtime modules"); + const runtime = chunk.runtime; for (const module of chunkGraph.getChunkModulesIterable(chunk)) { - if (!chunkGraph.hasModuleHashes(module, chunk.runtime)) { - const moduleHash = createHash(hashFunction); - module.updateHash(moduleHash, { - chunkGraph, - runtime: chunk.runtime, - runtimeTemplate - }); - const moduleHashDigest = /** @type {string} */ (moduleHash.digest( - hashDigest - )); - chunkGraph.setModuleHashes( + if (!chunkGraph.hasModuleHashes(module, runtime)) { + const hash = this._createModuleHash( module, - chunk.runtime, - moduleHashDigest, - moduleHashDigest.substr(0, hashDigestLength) + chunkGraph, + runtime, + hashFunction, + runtimeTemplate, + hashDigest, + hashDigestLength ); + let hashMap = codeGenerationJobsMap.get(hash); + if (hashMap) { + const moduleJob = hashMap.get(module); + if (moduleJob) { + moduleJob.runtimes.push(runtime); + continue; + } + } else { + hashMap = new Map(); + codeGenerationJobsMap.set(hash, hashMap); + } + const job = { + module, + hash, + runtime, + runtimes: [runtime] + }; + hashMap.set(module, job); + codeGenerationJobs.push(job); } } this.logger.timeAggregate("hashing: hash runtime modules"); - const chunkHash = createHash(hashFunction); this.logger.time("hashing: hash chunks"); + const chunkHash = createHash(hashFunction); try { if (outputOptions.hashSalt) { chunkHash.update(outputOptions.hashSalt); @@ -38497,12 +38749,14 @@ This prevents using hashes of each other and should be avoided.` const moduleHashDigest = /** @type {string} */ (moduleHash.digest( hashDigest )); + const oldHash = chunkGraph.getModuleHash(module, chunk.runtime); chunkGraph.setModuleHashes( module, chunk.runtime, moduleHashDigest, moduleHashDigest.substr(0, hashDigestLength) ); + codeGenerationJobsMap.get(oldHash).get(module).hash = moduleHashDigest; } const chunkHash = createHash(hashFunction); chunkHash.update(chunk.hash); @@ -38515,6 +38769,7 @@ This prevents using hashes of each other and should be avoided.` this.hooks.contentHash.call(chunk); } this.logger.timeEnd("hashing: process full hash modules"); + return codeGenerationJobs; } /** @@ -39379,6 +39634,8 @@ class Compiler { invalid: new SyncHook(["filename", "changeTime"]), /** @type {SyncHook<[]>} */ watchClose: new SyncHook([]), + /** @type {AsyncSeriesHook<[]>} */ + shutdown: new AsyncSeriesHook([]), /** @type {SyncBailHook<[string, string, any[]], true>} */ infrastructureLog: new SyncBailHook(["origin", "type", "args"]), @@ -40208,7 +40465,7 @@ ${other}`); context: this.options.context, fs: this.inputFileSystem, resolverFactory: this.resolverFactory, - options: this.options.module || {}, + options: this.options.module, associatedObjectForCache: this.root, layers: this.options.experiments.layers }); @@ -40286,7 +40543,10 @@ ${other}`); * @returns {void} */ close(callback) { - this.cache.shutdown(callback); + this.hooks.shutdown.callAsync(err => { + if (err) return callback(err); + this.cache.shutdown(callback); + }); } } @@ -43815,13 +44075,7 @@ class Dependency { * @param {UpdateHashContext} context context * @returns {void} */ - updateHash(hash, context) { - const { chunkGraph } = context; - const module = chunkGraph.moduleGraph.getModule(this); - if (module) { - hash.update(chunkGraph.getModuleId(module) + ""); - } - } + updateHash(hash, context) {} /** * implement this method to allow the occurrence order plugin to count correctly @@ -46015,15 +46269,27 @@ class ExportsInfo { * @returns {void} */ updateHash(hash, runtime) { + this._updateHash(hash, runtime, new Set()); + } + + /** + * @param {Hash} hash the hash + * @param {RuntimeSpec} runtime the runtime + * @param {Set} alreadyVisitedExportsInfo for circular references + * @returns {void} + */ + _updateHash(hash, runtime, alreadyVisitedExportsInfo) { + const set = new Set(alreadyVisitedExportsInfo); + set.add(this); for (const exportInfo of this.orderedExports) { if (exportInfo.hasInfo(this._otherExportsInfo, runtime)) { - exportInfo.updateHash(hash, runtime); + exportInfo._updateHash(hash, runtime, set); } } - this._sideEffectsOnlyInfo.updateHash(hash, runtime); - this._otherExportsInfo.updateHash(hash, runtime); + this._sideEffectsOnlyInfo._updateHash(hash, runtime, set); + this._otherExportsInfo._updateHash(hash, runtime, set); if (this._redirectTo !== undefined) { - this._redirectTo.updateHash(hash, runtime); + this._redirectTo._updateHash(hash, runtime, set); } } @@ -46669,10 +46935,17 @@ class ExportInfo { } updateHash(hash, runtime) { + this._updateHash(hash, runtime, new Set()); + } + + _updateHash(hash, runtime, alreadyVisitedExportsInfo) { hash.update(`${this._usedName || this.name}`); hash.update(`${this.getUsed(runtime)}`); hash.update(`${this.provided}`); hash.update(`${this.terminalBinding}`); + if (this.exportsInfo && !alreadyVisitedExportsInfo.has(this.exportsInfo)) { + this.exportsInfo._updateHash(hash, runtime, alreadyVisitedExportsInfo); + } } getUsedInfo() { @@ -51722,6 +51995,7 @@ const { /** @typedef {import("./Compiler")} Compiler */ /** @typedef {import("./Module")} Module */ /** @typedef {import("./RuntimeModule")} RuntimeModule */ +/** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */ /** * @typedef {Object} HMRJavascriptParserHooks @@ -51999,37 +52273,61 @@ class HotModuleReplacementPlugin { /** @type {TupleSet<[Module, Chunk]>} */ const updatedModules = new TupleSet(); /** @type {TupleSet<[Module, Chunk]>} */ - const lazyHashedModules = new TupleSet(); + const fullHashModules = new TupleSet(); + /** @type {TupleSet<[Module, RuntimeSpec]>} */ + const nonCodeGeneratedModules = new TupleSet(); compilation.hooks.fullHash.tap("HotModuleReplacementPlugin", hash => { const chunkGraph = compilation.chunkGraph; const records = compilation.records; for (const chunk of compilation.chunks) { - /** @type {Set} */ - const lazyHashedModulesInThisChunk = new Set(); - const fullHashModules = chunkGraph.getChunkFullHashModulesIterable( + const getModuleHash = module => { + if ( + compilation.codeGenerationResults.has(module, chunk.runtime) + ) { + return compilation.codeGenerationResults.getHash( + module, + chunk.runtime + ); + } else { + nonCodeGeneratedModules.add(module, chunk.runtime); + return chunkGraph.getModuleHash(module, chunk.runtime); + } + }; + const fullHashModulesInThisChunk = chunkGraph.getChunkFullHashModulesSet( chunk ); - if (fullHashModules !== undefined) { - for (const module of fullHashModules) { - lazyHashedModules.add(module, chunk); - lazyHashedModulesInThisChunk.add(module); + if (fullHashModulesInThisChunk !== undefined) { + for (const module of fullHashModulesInThisChunk) { + fullHashModules.add(module, chunk); } } const modules = chunkGraph.getChunkModulesIterable(chunk); if (modules !== undefined) { - if ( - records.chunkModuleHashes && - records.fullHashChunkModuleHashes - ) { - for (const module of modules) { - const key = `${chunk.id}|${module.identifier()}`; - const hash = chunkGraph.getModuleHash(module, chunk.runtime); - if (lazyHashedModulesInThisChunk.has(module)) { - if (records.fullHashChunkModuleHashes[key] !== hash) { - updatedModules.add(module, chunk); + if (records.chunkModuleHashes) { + if (fullHashModulesInThisChunk !== undefined) { + for (const module of modules) { + const key = `${chunk.id}|${module.identifier()}`; + const hash = getModuleHash(module); + if ( + fullHashModulesInThisChunk.has( + /** @type {RuntimeModule} */ (module) + ) + ) { + if (records.fullHashChunkModuleHashes[key] !== hash) { + updatedModules.add(module, chunk); + } + fullHashChunkModuleHashes[key] = hash; + } else { + if (records.chunkModuleHashes[key] !== hash) { + updatedModules.add(module, chunk); + } + chunkModuleHashes[key] = hash; } - fullHashChunkModuleHashes[key] = hash; - } else { + } + } else { + for (const module of modules) { + const key = `${chunk.id}|${module.identifier()}`; + const hash = getModuleHash(module); if (records.chunkModuleHashes[key] !== hash) { updatedModules.add(module, chunk); } @@ -52037,12 +52335,24 @@ class HotModuleReplacementPlugin { } } } else { - for (const module of modules) { - const key = `${chunk.id}|${module.identifier()}`; - const hash = chunkGraph.getModuleHash(module, chunk.runtime); - if (lazyHashedModulesInThisChunk.has(module)) { - fullHashChunkModuleHashes[key] = hash; - } else { + if (fullHashModulesInThisChunk !== undefined) { + for (const module of modules) { + const key = `${chunk.id}|${module.identifier()}`; + const hash = getModuleHash(module); + if ( + fullHashModulesInThisChunk.has( + /** @type {RuntimeModule} */ (module) + ) + ) { + fullHashChunkModuleHashes[key] = hash; + } else { + chunkModuleHashes[key] = hash; + } + } + } else { + for (const module of modules) { + const key = `${chunk.id}|${module.identifier()}`; + const hash = getModuleHash(module); chunkModuleHashes[key] = hash; } } @@ -52071,9 +52381,14 @@ class HotModuleReplacementPlugin { ) { return; } - for (const [module, chunk] of lazyHashedModules) { + for (const [module, chunk] of fullHashModules) { const key = `${chunk.id}|${module.identifier()}`; - const hash = chunkGraph.getModuleHash(module, chunk.runtime); + const hash = nonCodeGeneratedModules.has(module, chunk.runtime) + ? chunkGraph.getModuleHash(module, chunk.runtime) + : compilation.codeGenerationResults.getHash( + module, + chunk.runtime + ); if (records.chunkModuleHashes[key] !== hash) { updatedModules.add(module, chunk); } @@ -52183,7 +52498,12 @@ class HotModuleReplacementPlugin { const runtimes = chunkGraph.getModuleRuntimes(module); if (oldRuntime === newRuntime && runtimes.has(newRuntime)) { // Module is still in the same runtime combination - const hash = chunkGraph.getModuleHash(module, newRuntime); + const hash = nonCodeGeneratedModules.has(module, newRuntime) + ? chunkGraph.getModuleHash(module, newRuntime) + : compilation.codeGenerationResults.getHash( + module, + newRuntime + ); if (hash !== oldHash) { if (module.type === "runtime") { newRuntimeModules = newRuntimeModules || []; @@ -53513,6 +53833,7 @@ const makeSerializable = __webpack_require__(55575); * @property {Map} sources the resulting sources for all source types * @property {Map=} data the resulting data for all source types * @property {ReadonlySet} runtimeRequirements the runtime requirements + * @property {string=} hash a hash of the code generation result (will be automatically calculated from sources and runtimeRequirements if not provided) */ /** @@ -54149,9 +54470,7 @@ class Module extends DependenciesBlock { } ) { const { chunkGraph, runtime } = context; - hash.update(`${chunkGraph.getModuleId(this)}`); - const exportsInfo = chunkGraph.moduleGraph.getExportsInfo(this); - exportsInfo.updateHash(hash, runtime); + hash.update(chunkGraph.getModuleGraphHash(this, runtime)); if (this.presentationalDependencies !== undefined) { for (const dep of this.presentationalDependencies) { dep.updateHash(hash, context); @@ -58963,7 +59282,7 @@ const { cachedCleverMerge, cachedSetProperty } = __webpack_require__(92700); const { join } = __webpack_require__(71593); const { parseResource } = __webpack_require__(47779); -/** @typedef {import("../declarations/WebpackOptions").ModuleOptions} ModuleOptions */ +/** @typedef {import("../declarations/WebpackOptions").ModuleOptionsNormalized} ModuleOptions */ /** @typedef {import("./Generator")} Generator */ /** @typedef {import("./ModuleFactory").ModuleFactoryCreateData} ModuleFactoryCreateData */ /** @typedef {import("./ModuleFactory").ModuleFactoryResult} ModuleFactoryResult */ @@ -64383,34 +64702,43 @@ class Template { /** * @param {RuntimeModule[]} runtimeModules array of runtime modules in order - * @param {RenderContext} renderContext render context + * @param {RenderContext & { codeGenerationResults?: CodeGenerationResults }} renderContext render context * @returns {Source} rendered runtime modules in a Source object */ static renderRuntimeModules(runtimeModules, renderContext) { const source = new ConcatSource(); for (const module of runtimeModules) { - const codeGenResult = module.codeGeneration({ - chunkGraph: renderContext.chunkGraph, - dependencyTemplates: renderContext.dependencyTemplates, - moduleGraph: renderContext.moduleGraph, - runtimeTemplate: renderContext.runtimeTemplate, - runtime: renderContext.chunk.runtime - }); - if (codeGenResult) { - const moduleSource = codeGenResult.sources.get("runtime"); - if (moduleSource) { - source.add(Template.toNormalComment(module.identifier()) + "\n"); - if (!module.shouldIsolate()) { - source.add(moduleSource); - } else if (renderContext.runtimeTemplate.supportsArrowFunction()) { - source.add("(() => {\n"); - source.add(new PrefixSource("\t", moduleSource)); - source.add("\n})();\n\n"); - } else { - source.add("!function() {\n"); - source.add(new PrefixSource("\t", moduleSource)); - source.add("\n}();\n\n"); - } + const codeGenerationResults = renderContext.codeGenerationResults; + let runtimeSource; + if (codeGenerationResults) { + runtimeSource = codeGenerationResults.getSource( + module, + renderContext.chunk.runtime, + "runtime" + ); + } else { + const codeGenResult = module.codeGeneration({ + chunkGraph: renderContext.chunkGraph, + dependencyTemplates: renderContext.dependencyTemplates, + moduleGraph: renderContext.moduleGraph, + runtimeTemplate: renderContext.runtimeTemplate, + runtime: renderContext.chunk.runtime + }); + if (!codeGenResult) continue; + runtimeSource = codeGenResult.sources.get("runtime"); + } + if (runtimeSource) { + source.add(Template.toNormalComment(module.identifier()) + "\n"); + if (!module.shouldIsolate()) { + source.add(runtimeSource); + } else if (renderContext.runtimeTemplate.supportsArrowFunction()) { + source.add("(() => {\n"); + source.add(new PrefixSource("\t", runtimeSource)); + source.add("\n})();\n\n"); + } else { + source.add("!function() {\n"); + source.add(new PrefixSource("\t", runtimeSource)); + source.add("\n}();\n\n"); } } } @@ -65986,6 +66314,23 @@ class WebpackOptionsApply extends OptionsApply { }).apply(compiler); } + if (options.experiments.lazyCompilation) { + const LazyCompilationPlugin = __webpack_require__(8856); + new LazyCompilationPlugin({ + backend: + (typeof options.experiments.lazyCompilation === "object" && + options.experiments.lazyCompilation.backend) || + __webpack_require__(18111), + client: + (typeof options.experiments.lazyCompilation === "object" && + options.experiments.lazyCompilation.client) || + options.externalsPresets.node ? __webpack_require__.ab + "lazy-compilation-node.js" : __webpack_require__.ab + "lazy-compilation-web.js", + entries: + typeof options.experiments.lazyCompilation !== "object" || + options.experiments.lazyCompilation.entries !== false + }).apply(compiler); + } + new EntryOptionPlugin().apply(compiler); compiler.hooks.entryOption.call(options.context, options.entry); @@ -65998,16 +66343,15 @@ class WebpackOptionsApply extends OptionsApply { new CompatibilityPlugin().apply(compiler); new HarmonyModulesPlugin({ - module: options.module, topLevelAwait: options.experiments.topLevelAwait }).apply(compiler); if (options.amd !== false) { const AMDPlugin = __webpack_require__(71381); const RequireJsStuffPlugin = __webpack_require__(71919); - new AMDPlugin(options.module, options.amd || {}).apply(compiler); + new AMDPlugin(options.amd || {}).apply(compiler); new RequireJsStuffPlugin().apply(compiler); } - new CommonJsPlugin(options.module).apply(compiler); + new CommonJsPlugin().apply(compiler); new LoaderPlugin().apply(compiler); if (options.node !== false) { const NodeStuffPlugin = __webpack_require__(591); @@ -66021,8 +66365,8 @@ class WebpackOptionsApply extends OptionsApply { new RequireIncludePlugin().apply(compiler); new RequireEnsurePlugin().apply(compiler); new RequireContextPlugin().apply(compiler); - new ImportPlugin(options.module).apply(compiler); - new SystemPlugin(options.module).apply(compiler); + new ImportPlugin().apply(compiler); + new SystemPlugin().apply(compiler); new ImportMetaPlugin().apply(compiler); new URLPlugin().apply(compiler); @@ -68667,7 +69011,10 @@ const { formatSize } = __webpack_require__(50787); const LazySet = __webpack_require__(60248); const makeSerializable = __webpack_require__(55575); const memoize = __webpack_require__(18003); -const { createFileSerializer } = __webpack_require__(29158); +const { + createFileSerializer, + NOT_SERIALIZABLE +} = __webpack_require__(29158); /** @typedef {import("../../declarations/WebpackOptions").SnapshotOptions} SnapshotOptions */ /** @typedef {import("../Cache").Etag} Etag */ @@ -69181,6 +69528,7 @@ class PackContentItems { write(value); } catch (e) { rollback(s); + if (e === NOT_SERIALIZABLE) continue; logger.warn( `Skipped not serializable cache item '${key}': ${e.message}` ); @@ -71179,7 +71527,7 @@ const { /** @typedef {import("../../declarations/WebpackOptions").LibraryOptions} LibraryOptions */ /** @typedef {import("../../declarations/WebpackOptions").Loader} Loader */ /** @typedef {import("../../declarations/WebpackOptions").Mode} Mode */ -/** @typedef {import("../../declarations/WebpackOptions").ModuleOptions} ModuleOptions */ +/** @typedef {import("../../declarations/WebpackOptions").ModuleOptionsNormalized} ModuleOptions */ /** @typedef {import("../../declarations/WebpackOptions").Node} WebpackNode */ /** @typedef {import("../../declarations/WebpackOptions").Optimization} Optimization */ /** @typedef {import("../../declarations/WebpackOptions").OutputNormalized} Output */ @@ -71498,10 +71846,25 @@ const applySnapshotDefaults = (snapshot, { production }) => { }; /** - * @param {JavascriptParserOptions} options options + * @param {JavascriptParserOptions} parserOptions parser options * @returns {void} */ -const applyJavascriptParserOptionsDefaults = options => {}; +const applyJavascriptParserOptionsDefaults = parserOptions => { + D(parserOptions, "unknownContextRequest", "."); + D(parserOptions, "unknownContextRegExp", false); + D(parserOptions, "unknownContextRecursive", true); + D(parserOptions, "unknownContextCritical", true); + D(parserOptions, "exprContextRequest", "."); + D(parserOptions, "exprContextRegExp", false); + D(parserOptions, "exprContextRecursive", true); + D(parserOptions, "exprContextCritical", true); + D(parserOptions, "wrappedContextRegExp", /.*/); + D(parserOptions, "wrappedContextRecursive", true); + D(parserOptions, "wrappedContextCritical", false); + + D(parserOptions, "strictExportPresence", false); + D(parserOptions, "strictThisContextOnImports", false); +}; /** * @param {ModuleOptions} module options @@ -71515,21 +71878,6 @@ const applyModuleDefaults = ( module, { cache, syncWebAssembly, asyncWebAssembly } ) => { - D(module, "unknownContextRequest", "."); - D(module, "unknownContextRegExp", false); - D(module, "unknownContextRecursive", true); - D(module, "unknownContextCritical", true); - D(module, "exprContextRequest", "."); - D(module, "exprContextRegExp", false); - D(module, "exprContextRecursive", true); - D(module, "exprContextCritical", true); - D(module, "wrappedContextRegExp", /.*/); - D(module, "wrappedContextRecursive", true); - D(module, "wrappedContextCritical", false); - - D(module, "strictExportPresence", false); - D(module, "strictThisContextOnImports", false); - if (cache) { D(module, "unsafeCache", module => { const name = module.nameForCondition(); @@ -72287,15 +72635,31 @@ const optionalNestedArray = (value, fn) => * @template R * @param {Record|undefined} value value or not * @param {function(T): R} fn nested handler + * @param {Record=} customKeys custom nested handler for some keys * @returns {Record} result value */ -const keyedNestedConfig = (value, fn) => - value === undefined - ? {} - : Object.keys(value).reduce( - (obj, key) => ((obj[key] = fn(value[key])), obj), - /** @type {Record} */ ({}) - ); +const keyedNestedConfig = (value, fn, customKeys) => { + const result = + value === undefined + ? {} + : Object.keys(value).reduce( + (obj, key) => ( + (obj[key] = (customKeys && key in customKeys + ? customKeys[key] + : fn)(value[key])), + obj + ), + /** @type {Record} */ ({}) + ); + if (customKeys) { + for (const key of Object.keys(customKeys)) { + if (!(key in result)) { + result[key] = customKeys[key](/** @type {T} */ ({})); + } + } + } + return result; +}; /** * @param {WebpackOptions} config input config @@ -72384,9 +72748,28 @@ const getNormalizedWebpackOptions = config => { loader: cloneObject(config.loader), mode: config.mode, module: nestedConfig(config.module, module => ({ - ...module, - parser: cloneObject(module.parser), + noParse: module.noParse, + unsafeCache: module.unsafeCache, + parser: keyedNestedConfig(module.parser, cloneObject, { + javascript: parserOptions => ({ + unknownContextRequest: module.unknownContextRequest, + unknownContextRegExp: module.unknownContextRegExp, + unknownContextRecursive: module.unknownContextRecursive, + unknownContextCritical: module.unknownContextCritical, + exprContextRequest: module.exprContextRequest, + exprContextRegExp: module.exprContextRegExp, + exprContextRecursive: module.exprContextRecursive, + exprContextCritical: module.exprContextCritical, + wrappedContextRegExp: module.wrappedContextRegExp, + wrappedContextRecursive: module.wrappedContextRecursive, + wrappedContextCritical: module.wrappedContextCritical, + strictExportPresence: module.strictExportPresence, + strictThisContextOnImports: module.strictThisContextOnImports, + ...parserOptions + }) + }), generator: cloneObject(module.generator), + defaultRules: optionalNestedArray(module.defaultRules, r => [...r]), rules: nestedArray(module.rules, r => [...r]) })), name: config.name, @@ -74563,6 +74946,7 @@ class Profiler { constructor(inspector) { this.session = undefined; this.inspector = inspector; + this._startTime = 0; } hasSession() { @@ -74582,6 +74966,9 @@ class Profiler { return Promise.resolve(); } + const hrtime = process.hrtime(); + this._startTime = hrtime[0] * 1000000 + Math.round(hrtime[1] / 1000); + return Promise.all([ this.sendCommand("Profiler.setSamplingInterval", { interval: 100 @@ -74616,7 +75003,22 @@ class Profiler { } stopProfiling() { - return this.sendCommand("Profiler.stop"); + return this.sendCommand("Profiler.stop").then(({ profile }) => { + const hrtime = process.hrtime(); + const endTime = hrtime[0] * 1000000 + Math.round(hrtime[1] / 1000); + if (profile.startTime < this._startTime || profile.endTime > endTime) { + // In some cases timestamps mismatch and we need to adjust them + // Both process.hrtime and the inspector timestamps claim to be relative + // to a unknown point in time. But they do not guarantee that this is the + // same point in time. + const duration = profile.endTime - profile.startTime; + const ownDuration = endTime - this._startTime; + const untracked = Math.max(0, ownDuration - duration); + profile.startTime = this._startTime + untracked / 2; + profile.endTime = endTime - untracked / 2; + } + return { profile }; + }); } } @@ -75584,16 +75986,14 @@ const ConstDependency = __webpack_require__(9364); const LocalModuleDependency = __webpack_require__(54524); const UnsupportedDependency = __webpack_require__(27098); -/** @typedef {import("../../declarations/WebpackOptions").ModuleOptions} ModuleOptions */ +/** @typedef {import("../../declarations/WebpackOptions").ModuleOptionsNormalized} ModuleOptions */ /** @typedef {import("../Compiler")} Compiler */ class AMDPlugin { /** - * @param {ModuleOptions} options the plugin options * @param {Record} amdOptions the AMD options */ - constructor(options, amdOptions) { - this.options = options; + constructor(amdOptions) { this.amdOptions = amdOptions; } @@ -75603,7 +76003,6 @@ class AMDPlugin { * @returns {void} */ apply(compiler) { - const options = this.options; const amdOptions = this.amdOptions; compiler.hooks.compilation.tap( "AMDPlugin", @@ -75707,8 +76106,10 @@ class AMDPlugin { ); }; - new AMDRequireDependenciesBlockParserPlugin(options).apply(parser); - new AMDDefineDependencyParserPlugin(options).apply(parser); + new AMDRequireDependenciesBlockParserPlugin(parserOptions).apply( + parser + ); + new AMDDefineDependencyParserPlugin(parserOptions).apply(parser); tapOptionsHooks("define.amd", "define", () => "amd"); tapOptionsHooks("require.amd", "require", () => ["amd"]); @@ -77749,7 +78150,9 @@ module.exports = CommonJsFullRequireDependency; +const CommentCompilationWarning = __webpack_require__(41985); const RuntimeGlobals = __webpack_require__(48801); +const UnsupportedFeatureWarning = __webpack_require__(61809); const { evaluateToIdentifier, evaluateToString, @@ -77768,7 +78171,12 @@ const RequireResolveContextDependency = __webpack_require__(27569); const RequireResolveDependency = __webpack_require__(24868); const RequireResolveHeaderDependency = __webpack_require__(1217); +/** @typedef {import("../../declarations/WebpackOptions").JavascriptParserOptions} JavascriptParserOptions */ + class CommonJsImportsParserPlugin { + /** + * @param {JavascriptParserOptions} options parser options + */ constructor(options) { this.options = options; } @@ -77917,8 +78325,43 @@ class CommonJsImportsParserPlugin { parser.state.current.addDependency(dep); return true; }; - const createRequireHandler = callNew => expr => { + if (options.commonjsMagicComments) { + const { + options: requireOptions, + errors: commentErrors + } = parser.parseCommentOptions(expr.range); + + if (commentErrors) { + for (const e of commentErrors) { + const { comment } = e; + parser.state.module.addWarning( + new CommentCompilationWarning( + `Compilation error while processing magic comment(-s): /*${comment.value}*/: ${e.message}`, + comment.loc + ) + ); + } + } + if (requireOptions) { + if (requireOptions.webpackIgnore !== undefined) { + if (typeof requireOptions.webpackIgnore !== "boolean") { + parser.state.module.addWarning( + new UnsupportedFeatureWarning( + `\`webpackIgnore\` expected a boolean, but received: ${requireOptions.webpackIgnore}.`, + expr.loc + ) + ); + } else { + // Do not instrument `require()` if `webpackIgnore` is `true` + if (requireOptions.webpackIgnore) { + return true; + } + } + } + } + } + if (expr.arguments.length !== 1) return; let localModule; const param = parser.evaluateExpression(expr.arguments[0]); @@ -78129,12 +78572,7 @@ const { const CommonJsExportRequireDependency = __webpack_require__(48075); class CommonJsPlugin { - constructor(options) { - this.options = options; - } - apply(compiler) { - const options = this.options; compiler.hooks.compilation.tap( "CommonJsPlugin", (compilation, { contextModuleFactory, normalModuleFactory }) => { @@ -78310,7 +78748,7 @@ class CommonJsPlugin { evaluateToIdentifier("module.hot", "module", () => ["hot"], null) ); - new CommonJsImportsParserPlugin(options).apply(parser); + new CommonJsImportsParserPlugin(parserOptions).apply(parser); new CommonJsExportsParserPlugin(compilation.moduleGraph).apply( parser ); @@ -78901,7 +79339,8 @@ module.exports = ContextDependency; const { parseResource } = __webpack_require__(47779); /** @typedef {import("estree").Node} EsTreeNode */ -/** @typedef {import("../../declarations/WebpackOptions").ModuleOptions} ModuleOptions */ +/** @typedef {import("../../declarations/WebpackOptions").JavascriptParserOptions} JavascriptParserOptions */ +/** @typedef {import("../../declarations/WebpackOptions").ModuleOptionsNormalized} ModuleOptions */ /** @typedef {import("../javascript/BasicEvaluatedExpression")} BasicEvaluatedExpression */ /** @typedef {import("../javascript/JavascriptParser")} JavascriptParser */ /** @typedef {import("./ContextDependency")} ContextDependency */ @@ -78938,7 +79377,7 @@ const splitContextFromPrefix = prefix => { * @param {[number, number]} range source range * @param {BasicEvaluatedExpression} param context param * @param {EsTreeNode} expr expr - * @param {ModuleOptions} options options for context creation + * @param {Pick} options options for context creation * @param {PartialContextDependencyOptions} contextOptions options for the ContextModule * @param {JavascriptParser} parser the parser * @returns {ContextDependency} the created Dependency @@ -79663,26 +80102,6 @@ class ExportsInfoDependency extends NullDependency { this.property = property; } - /** - * Update the hash - * @param {Hash} hash hash to be updated - * @param {UpdateHashContext} context context - * @returns {void} - */ - updateHash(hash, context) { - const { chunkGraph, runtime } = context; - const { moduleGraph } = chunkGraph; - const module = moduleGraph.getParentModule(this); - const value = getProperty( - moduleGraph, - module, - this.exportName, - this.property, - runtime - ); - hash.update(value === undefined ? "undefined" : JSON.stringify(value)); - } - serialize(context) { const { write } = context; write(this.range); @@ -80149,8 +80568,7 @@ const HarmonyImportSideEffectDependency = __webpack_require__(98335); module.exports = class HarmonyExportDependencyParserPlugin { constructor(options) { - const { module: moduleOptions } = options; - this.strictExportPresence = moduleOptions.strictExportPresence; + this.strictExportPresence = options.strictExportPresence; } apply(parser) { @@ -81259,35 +81677,6 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency { return errors; } - /** - * Update the hash - * @param {Hash} hash hash to be updated - * @param {UpdateHashContext} context context - * @returns {void} - */ - updateHash(hash, context) { - const { chunkGraph, runtime } = context; - super.updateHash(hash, context); - - const mode = this.getMode(chunkGraph.moduleGraph, runtime); - - hash.update(mode.type); - if (mode.items) { - for (const item of mode.items) { - hash.update(item.name); - hash.update(item.ids.join()); - if (item.checked) hash.update("checked"); - } - } - if (mode.ignored) { - hash.update("ignored"); - for (const k of mode.ignored) { - hash.update(k); - } - } - hash.update(mode.name || ""); - } - serialize(context) { const { write } = context; @@ -82147,47 +82536,6 @@ class HarmonyImportDependency extends ModuleDependency { } } - /** - * Update the hash - * @param {Hash} hash hash to be updated - * @param {UpdateHashContext} context context - * @returns {void} - */ - updateHash(hash, context) { - const { chunkGraph, runtime, runtimeTemplate } = context; - const { moduleGraph } = chunkGraph; - super.updateHash(hash, context); - hash.update(`${this.sourceOrder}`); - const connection = moduleGraph.getConnection(this); - if (connection) { - const importedModule = connection.module; - if (importedModule) { - const parentModule = moduleGraph.getParentModule(this); - hash.update( - importedModule.getExportsType( - moduleGraph, - parentModule.buildMeta && parentModule.buildMeta.strictHarmonyModule - ) - ); - if (moduleGraph.isAsync(importedModule)) hash.update("async"); - } - if (runtimeTemplate) { - const runtimeRequirements = new Set(); - hash.update( - runtimeTemplate.runtimeConditionExpression({ - chunkGraph, - runtimeCondition: filterRuntime(runtime, runtime => { - return connection.isTargetActive(runtime); - }), - runtime, - runtimeRequirements - }) - ); - for (const rr of runtimeRequirements) hash.update(rr); - } - } - } - serialize(context) { const { write } = context; write(this.sourceOrder); @@ -82360,9 +82708,8 @@ const harmonySpecifierTag = Symbol("harmony import"); module.exports = class HarmonyImportDependencyParserPlugin { constructor(options) { - const { module: moduleOptions } = options; - this.strictExportPresence = moduleOptions.strictExportPresence; - this.strictThisContextOnImports = moduleOptions.strictThisContextOnImports; + this.strictExportPresence = options.strictExportPresence; + this.strictThisContextOnImports = options.strictThisContextOnImports; } /** @@ -82815,25 +83162,6 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency { return 0; } - /** - * Update the hash - * @param {Hash} hash hash to be updated - * @param {UpdateHashContext} context context - * @returns {void} - */ - updateHash(hash, context) { - const { chunkGraph, runtime } = context; - super.updateHash(hash, context); - const moduleGraph = chunkGraph.moduleGraph; - const importedModule = moduleGraph.getModule(this); - const ids = this.getIds(moduleGraph); - hash.update(ids.join()); - if (importedModule) { - const exportsInfo = moduleGraph.getExportsInfo(importedModule); - hash.update(`${exportsInfo.getUsedName(ids, runtime)}`); - } - } - serialize(context) { const { write } = context; write(this.ids); @@ -83069,8 +83397,8 @@ class HarmonyModulesPlugin { return; new HarmonyDetectionParserPlugin(this.options).apply(parser); - new HarmonyImportDependencyParserPlugin(this.options).apply(parser); - new HarmonyExportDependencyParserPlugin(this.options).apply(parser); + new HarmonyImportDependencyParserPlugin(parserOptions).apply(parser); + new HarmonyExportDependencyParserPlugin(parserOptions).apply(parser); new HarmonyTopLevelThisParserPlugin().apply(parser); }; @@ -83947,17 +84275,12 @@ const ImportWeakDependency = __webpack_require__(62550); /** @typedef {import("../Compiler")} Compiler */ class ImportPlugin { - constructor(options) { - this.options = options; - } - /** * Apply the plugin * @param {Compiler} compiler the compiler instance * @returns {void} */ apply(compiler) { - const options = this.options; compiler.hooks.compilation.tap( "ImportPlugin", (compilation, { contextModuleFactory, normalModuleFactory }) => { @@ -84001,7 +84324,7 @@ class ImportPlugin { if (parserOptions.import !== undefined && !parserOptions.import) return; - new ImportParserPlugin(options).apply(parser); + new ImportParserPlugin(parserOptions).apply(parser); }; normalModuleFactory.hooks.parser @@ -84176,7 +84499,6 @@ class JsonExportsDependency extends NullDependency { */ updateHash(hash, context) { hash.update(this.exports ? JSON.stringify(this.exports) : "undefined"); - super.updateHash(hash, context); } serialize(context) { @@ -84632,7 +84954,6 @@ class ModuleDecoratorDependency extends NullDependency { * @returns {void} */ updateHash(hash, context) { - super.updateHash(hash, context); hash.update(this.decorator); hash.update(`${this.allowExportsAccess}`); } @@ -84949,14 +85270,6 @@ class NullDependency extends Dependency { return "null"; } - /** - * Update the hash - * @param {Hash} hash hash to be updated - * @param {UpdateHashContext} context context - * @returns {void} - */ - updateHash(hash, context) {} - serialize({ write }) { write(this.loc); } @@ -85072,7 +85385,6 @@ class ProvidedDependency extends ModuleDependency { * @returns {void} */ updateHash(hash, context) { - super.updateHash(hash, context); hash.update(this.identifier); hash.update(this.path ? this.path.join(",") : "null"); } @@ -86539,18 +86851,6 @@ class StaticExportsDependency extends NullDependency { }; } - /** - * Update the hash - * @param {Hash} hash hash to be updated - * @param {UpdateHashContext} context context - * @returns {void} - */ - updateHash(hash, context) { - hash.update(JSON.stringify(this.exports)); - if (this.canMangle) hash.update("canMangle"); - super.updateHash(hash, context); - } - serialize(context) { const { write } = context; write(this.exports); @@ -86601,10 +86901,6 @@ const SystemRuntimeModule = __webpack_require__(25637); /** @typedef {import("../Compiler")} Compiler */ class SystemPlugin { - constructor(options) { - this.options = options; - } - /** * Apply the plugin * @param {Compiler} compiler the compiler instance @@ -88135,6 +88431,456 @@ class HotModuleReplacementRuntimeModule extends RuntimeModule { module.exports = HotModuleReplacementRuntimeModule; +/***/ }), + +/***/ 8856: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + + +const { RawSource } = __webpack_require__(55600); +const AsyncDependenciesBlock = __webpack_require__(72624); +const Dependency = __webpack_require__(27563); +const Module = __webpack_require__(54031); +const ModuleFactory = __webpack_require__(6259); +const RuntimeGlobals = __webpack_require__(48801); +const Template = __webpack_require__(90751); +const CommonJsRequireDependency = __webpack_require__(81192); +const { registerNotSerializable } = __webpack_require__(29158); + +/** @typedef {import("../../declarations/WebpackOptions")} WebpackOptions */ +/** @typedef {import("../Compilation")} Compilation */ +/** @typedef {import("../Compiler")} Compiler */ +/** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */ +/** @typedef {import("../Module").BuildMeta} BuildMeta */ +/** @typedef {import("../Module").CodeGenerationContext} CodeGenerationContext */ +/** @typedef {import("../Module").CodeGenerationResult} CodeGenerationResult */ +/** @typedef {import("../Module").LibIdentOptions} LibIdentOptions */ +/** @typedef {import("../Module").NeedBuildContext} NeedBuildContext */ +/** @typedef {import("../ModuleFactory").ModuleFactoryCreateData} ModuleFactoryCreateData */ +/** @typedef {import("../ModuleFactory").ModuleFactoryResult} ModuleFactoryResult */ +/** @typedef {import("../RequestShortener")} RequestShortener */ +/** @typedef {import("../ResolverFactory").ResolverWithOptions} ResolverWithOptions */ +/** @typedef {import("../WebpackError")} WebpackError */ +/** @typedef {import("../util/Hash")} Hash */ +/** @typedef {import("../util/fs").InputFileSystem} InputFileSystem */ + +const TYPES = new Set(["javascript"]); + +class LazyCompilationDependency extends Dependency { + constructor(originalModule) { + super(); + this.originalModule = originalModule; + } + + get category() { + return "esm"; + } + + get type() { + return "lazy import()"; + } + + /** + * @returns {string | null} an identifier to merge equal requests + */ + getResourceIdentifier() { + return this.originalModule.identifier(); + } +} + +registerNotSerializable(LazyCompilationDependency); + +class LazyCompilationProxyModule extends Module { + constructor(context, originalModule, request, client, data, active) { + super("lazy-compilation-proxy", context, originalModule.layer); + this.originalModule = originalModule; + this.request = request; + this.client = client; + this.data = data; + this.active = active; + } + + /** + * @returns {string} a unique identifier of the module + */ + identifier() { + return `lazy-compilation-proxy|${this.originalModule.identifier()}`; + } + + /** + * @param {RequestShortener} requestShortener the request shortener + * @returns {string} a user readable identifier of the module + */ + readableIdentifier(requestShortener) { + return `lazy-compilation-proxy ${this.originalModule.readableIdentifier( + requestShortener + )}`; + } + + /** + * Assuming this module is in the cache. Update the (cached) module with + * the fresh module from the factory. Usually updates internal references + * and properties. + * @param {Module} module fresh module + * @returns {void} + */ + updateCacheModule(module) { + super.updateCacheModule(module); + const m = /** @type {LazyCompilationProxyModule} */ (module); + this.active = m.active; + } + + /** + * @param {LibIdentOptions} options options + * @returns {string | null} an identifier for library inclusion + */ + libIdent(options) { + return `${this.originalModule.libIdent(options)}!lazy-compilation-proxy`; + } + + /** + * @param {NeedBuildContext} context context info + * @param {function(WebpackError=, boolean=): void} callback callback function, returns true, if the module needs a rebuild + * @returns {void} + */ + needBuild(context, callback) { + callback(null, !this.buildInfo || this.buildInfo.active !== this.active); + } + + /** + * @param {WebpackOptions} options webpack options + * @param {Compilation} compilation the compilation + * @param {ResolverWithOptions} resolver the resolver + * @param {InputFileSystem} fs the file system + * @param {function(WebpackError=): void} callback callback function + * @returns {void} + */ + build(options, compilation, resolver, fs, callback) { + this.buildInfo = { + active: this.active + }; + /** @type {BuildMeta} */ + this.buildMeta = {}; + this.clearDependenciesAndBlocks(); + const dep = new CommonJsRequireDependency(this.client); + this.addDependency(dep); + if (this.active) { + const dep = new LazyCompilationDependency(this.originalModule); + const block = new AsyncDependenciesBlock({}); + block.addDependency(dep); + this.addBlock(block); + } + callback(); + } + + /** + * @returns {Set} types available (do not mutate) + */ + getSourceTypes() { + return TYPES; + } + + /** + * @param {string=} type the source type for which the size should be estimated + * @returns {number} the estimated size of the module (must be non-zero) + */ + size(type) { + return 200; + } + + /** + * @param {CodeGenerationContext} context context for code generation + * @returns {CodeGenerationResult} result + */ + codeGeneration({ runtimeTemplate, chunkGraph, moduleGraph }) { + const sources = new Map(); + const runtimeRequirements = new Set(); + runtimeRequirements.add(RuntimeGlobals.module); + const clientDep = /** @type {CommonJsRequireDependency} */ (this + .dependencies[0]); + const clientModule = moduleGraph.getModule(clientDep); + const block = this.blocks[0]; + const client = Template.asString([ + `var client = ${runtimeTemplate.moduleExports({ + module: clientModule, + chunkGraph, + request: clientDep.userRequest, + runtimeRequirements + })}`, + `var data = ${JSON.stringify(this.data)};` + ]); + const keepActive = Template.asString([ + `var dispose = client.keepAlive({ data, active: ${JSON.stringify( + !!block + )}, module, onError });` + ]); + let source; + if (block) { + const dep = block.dependencies[0]; + const module = moduleGraph.getModule(dep); + source = Template.asString([ + client, + `module.exports = ${runtimeTemplate.moduleNamespacePromise({ + chunkGraph, + block, + module, + request: this.request, + strict: false, // TODO this should be inherited from the original module + message: "import()", + runtimeRequirements + })};`, + "if (module.hot) {", + Template.indent([ + "module.hot.accept();", + `module.hot.accept(${JSON.stringify( + chunkGraph.getModuleId(module) + )}, function() { module.hot.invalidate(); });`, + "module.hot.dispose(function(data) { delete data.resolveSelf; dispose(data); });", + "if (module.hot.data && module.hot.data.resolveSelf) module.hot.data.resolveSelf(module.exports);" + ]), + "}", + "function onError() { /* ignore */ }", + keepActive + ]); + } else { + source = Template.asString([ + client, + "var resolveSelf, onError;", + `module.exports = new Promise(function(resolve, reject) { resolveSelf = resolve; onError = reject; });`, + "if (module.hot) {", + Template.indent([ + "module.hot.accept();", + "if (module.hot.data && module.hot.data.resolveSelf) module.hot.data.resolveSelf(module.exports);", + "module.hot.dispose(function(data) { data.resolveSelf = resolveSelf; dispose(data); });" + ]), + "}", + keepActive + ]); + } + sources.set("javascript", new RawSource(source)); + return { + sources, + runtimeRequirements + }; + } + + /** + * @param {Hash} hash the hash used to track dependencies + * @param {UpdateHashContext} context context + * @returns {void} + */ + updateHash(hash, context) { + super.updateHash(hash, context); + hash.update(this.active ? "active" : ""); + hash.update(JSON.stringify(this.data)); + } +} + +registerNotSerializable(LazyCompilationProxyModule); + +class LazyCompilationDependencyFactory extends ModuleFactory { + constructor(factory) { + super(); + this._factory = factory; + } + + /** + * @param {ModuleFactoryCreateData} data data object + * @param {function(Error=, ModuleFactoryResult=): void} callback callback + * @returns {void} + */ + create(data, callback) { + const dependency = /** @type {LazyCompilationDependency} */ (data + .dependencies[0]); + callback(null, { + module: dependency.originalModule + }); + } +} + +class LazyCompilationPlugin { + /** + * @param {Object} options options + * @param {(function(Compiler, string, function(Error?, any?): void): void) | function(Compiler, string): Promise} options.backend the backend + * @param {string} options.client the client reference + * @param {boolean} options.entries true, when entries are lazy compiled + */ + constructor({ backend, client, entries }) { + this.backend = backend; + this.client = client; + this.entries = entries; + } + /** + * Apply the plugin + * @param {Compiler} compiler the compiler instance + * @returns {void} + */ + apply(compiler) { + let backend; + compiler.hooks.beforeCompile.tapAsync( + "LazyCompilationPlugin", + (params, callback) => { + if (backend !== undefined) return callback(); + const promise = this.backend(compiler, this.client, (err, result) => { + if (err) return callback(err); + backend = result; + callback(); + }); + if (promise && promise.then) { + promise.then(b => { + backend = b; + callback(); + }, callback); + } + } + ); + compiler.hooks.thisCompilation.tap( + "LazyCompilationPlugin", + (compilation, { normalModuleFactory }) => { + normalModuleFactory.hooks.module.tap( + "LazyCompilationPlugin", + (originalModule, createData, resolveData) => { + if ( + resolveData.dependencies.every( + dep => + dep.type === "import()" || + (this.entries && dep.type === "entry") + ) && + !/webpack[/\\]hot[/\\]|webpack-dev-server[/\\]client/.test( + resolveData.request + ) + ) { + const moduleInfo = backend.module(originalModule); + if (!moduleInfo) return; + const { client, data, active } = moduleInfo; + + return new LazyCompilationProxyModule( + compiler.context, + originalModule, + resolveData.request, + client, + data, + active + ); + } + } + ); + compilation.dependencyFactories.set( + LazyCompilationDependency, + new LazyCompilationDependencyFactory() + ); + } + ); + compiler.hooks.shutdown.tapAsync("LazyCompilationPlugin", callback => { + backend.dispose(callback); + }); + } +} + +module.exports = LazyCompilationPlugin; + + +/***/ }), + +/***/ 18111: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + + +const http = __webpack_require__(98605); + +/** @typedef {import("../Compiler")} Compiler */ + +/** + * @param {Compiler} compiler compiler + * @param {string} client client reference + * @param {function(Error?, any?): void} callback callback + * @returns {void} + */ +module.exports = (compiler, client, callback) => { + const logger = compiler.getInfrastructureLogger("LazyCompilationBackend"); + const activeModules = new Map(); + const prefix = "/lazy-compilation-using-"; + const server = http.createServer((req, res) => { + const keys = req.url.slice(prefix.length).split("@"); + req.socket.on("close", () => { + setTimeout(() => { + for (const key of keys) { + const oldValue = activeModules.get(key) || 0; + activeModules.set(key, oldValue - 1); + if (oldValue === 1) { + logger.log( + `${key} is no longer in use. Next compilation will skip this module.` + ); + } + } + }, 120000); + }); + req.socket.setNoDelay(true); + res.writeHead(200, { + "content-type": "text/event-stream", + "Access-Control-Allow-Origin": "*" + }); + res.write("\n"); + let moduleActivated = false; + for (const key of keys) { + const oldValue = activeModules.get(key) || 0; + activeModules.set(key, oldValue + 1); + if (oldValue === 0) { + logger.log(`${key} is now in use and will be compiled.`); + moduleActivated = true; + } + } + if (moduleActivated && compiler.watching) compiler.watching.invalidate(); + }); + server.listen(err => { + if (err) return callback(err); + const addr = server.address(); + if (typeof addr === "string") throw new Error("addr must not be a string"); + const urlBase = + addr.address === "::" || addr.address === "0.0.0.0" + ? `http://localhost:${addr.port}` + : addr.family === "IPv6" + ? `http://[${addr.address}]:${addr.port}` + : `http://${addr.address}:${addr.port}`; + logger.log( + `Server-Sent-Events server for lazy compilation open at ${urlBase}.` + ); + callback(null, { + dispose(callback) { + server.close(callback); + }, + module(originalModule) { + const key = `${encodeURIComponent( + originalModule.identifier().replace(/\\/g, "/").replace(/@/g, "_") + ).replace(/%(2F|3A|24|26|2B|2C|3B|3D|3A)/g, decodeURIComponent)}`; + const active = activeModules.get(key) > 0; + return { + client: `webpack/hot/lazy-compilation-${ + compiler.options.externalsPresets.node ? "node" : "web" + }.js?${encodeURIComponent(urlBase + prefix)}`, + data: key, + active + }; + } + }); + }); +}; + + /***/ }), /***/ 82909: @@ -92140,6 +92886,7 @@ const { SyncBailHook, HookMap } = __webpack_require__(18416); const vm = __webpack_require__(92184); const Parser = __webpack_require__(85569); const StackedMap = __webpack_require__(64149); +const binarySearchBounds = __webpack_require__(87442); const memoize = __webpack_require__(18003); const BasicEvaluatedExpression = __webpack_require__(98288); @@ -94755,13 +95502,17 @@ class JavascriptParser extends Parser { } walkCallExpression(expression) { + const isSimpleFunction = fn => { + return fn.params.every(p => p.type === "Identifier"); + }; if ( expression.callee.type === "MemberExpression" && expression.callee.object.type.endsWith("FunctionExpression") && !expression.callee.computed && (expression.callee.property.name === "call" || expression.callee.property.name === "bind") && - expression.arguments.length > 0 + expression.arguments.length > 0 && + isSimpleFunction(expression.callee.object) ) { // (function(…) { }.call/bind(?, …)) this._walkIIFE( @@ -94769,7 +95520,10 @@ class JavascriptParser extends Parser { expression.arguments.slice(1), expression.arguments[0] ); - } else if (expression.callee.type.endsWith("FunctionExpression")) { + } else if ( + expression.callee.type.endsWith("FunctionExpression") && + isSimpleFunction(expression.callee) + ) { // (function(…) { }(…)) this._walkIIFE(expression.callee, expression.arguments, null); } else { @@ -95506,9 +96260,16 @@ class JavascriptParser extends Parser { } getComments(range) { - return this.comments.filter( - comment => comment.range[0] >= range[0] && comment.range[1] <= range[1] - ); + const [rangeStart, rangeEnd] = range; + const compare = (comment, needle) => comment.range[0] - needle; + let idx = binarySearchBounds.ge(this.comments, rangeStart, compare); + let commentsInRange = []; + while (this.comments[idx] && this.comments[idx].range[1] <= rangeEnd) { + commentsInRange.push(this.comments[idx]); + idx++; + } + + return commentsInRange; } /** @@ -101649,18 +102410,6 @@ ${defineGetters}` } } - /** - * @param {ChunkGraph} chunkGraph the chunk graph - * @param {DependencyTemplates} dependencyTemplates dependency templates - * @param {RuntimeSpec} runtime the runtime - * @returns {string} hash - */ - _getHashDigest(chunkGraph, dependencyTemplates, runtime) { - const hash = chunkGraph.getModuleHash(this, runtime); - const dtHash = dependencyTemplates.getHash(); - return `${hash}-${dtHash}`; - } - /** * @param {ModuleGraph} moduleGraph the module graph * @param {RuntimeSpec} runtime the runtime @@ -111816,11 +112565,13 @@ class ObjectMiddleware extends SerializerMiddleware { try { process(value); } catch (e) { - if (hasDebugInfoAttached === undefined) - hasDebugInfoAttached = new WeakSet(); - if (!hasDebugInfoAttached.has(e)) { - e.message += `\nwhile serializing ${stackToString(value)}`; - hasDebugInfoAttached.add(e); + if (e !== NOT_SERIALIZABLE) { + if (hasDebugInfoAttached === undefined) + hasDebugInfoAttached = new WeakSet(); + if (!hasDebugInfoAttached.has(e)) { + e.message += `\nwhile serializing ${stackToString(value)}`; + hasDebugInfoAttached.add(e); + } } throw e; } @@ -116555,6 +117306,7 @@ const NAMED_PRESETS = { runtimeModules: true, exclude: false, modulesSpace: Infinity, + chunkModulesSpace: Infinity, assetsSpace: Infinity, children: true }, @@ -119436,6 +120188,36 @@ makeSerializable(LazySet, "webpack/lib/util/LazySet"); module.exports = LazySet; +/***/ }), + +/***/ 59874: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + + +/** + * @template K + * @template V + * @param {Map} map a map + * @param {K} key the key + * @param {function(): V} computer compute value + * @returns {V} value + */ +exports.provide = (map, key, computer) => { + const value = map.get(key); + if (value !== undefined) return value; + const newValue = computer(); + map.set(key, newValue); + return newValue; +}; + + /***/ }), /***/ 85987: @@ -120292,6 +121074,100 @@ exports.getScheme = getScheme; exports.getProtocol = getProtocol; +/***/ }), + +/***/ 87442: +/***/ (function(module) { + +"use strict"; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Mikola Lysenko @mikolalysenko +*/ + + + +/* cspell:disable-next-line */ +// Refactor: Peter Somogyvari @petermetz + +const compileSearch = (funcName, predicate, reversed, extraArgs, earlyOut) => { + const code = [ + "function ", + funcName, + "(a,l,h,", + extraArgs.join(","), + "){", + earlyOut ? "" : "var i=", + reversed ? "l-1" : "h+1", + ";while(l<=h){var m=(l+h)>>>1,x=a[m]" + ]; + + if (earlyOut) { + if (predicate.indexOf("c") < 0) { + code.push(";if(x===y){return m}else if(x<=y){"); + } else { + code.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"); + } + } else { + code.push(";if(", predicate, "){i=m;"); + } + if (reversed) { + code.push("l=m+1}else{h=m-1}"); + } else { + code.push("h=m-1}else{l=m+1}"); + } + code.push("}"); + if (earlyOut) { + code.push("return -1};"); + } else { + code.push("return i};"); + } + return code.join(""); +}; + +const compileBoundsSearch = (predicate, reversed, suffix, earlyOut) => { + const arg1 = compileSearch( + "A", + "x" + predicate + "y", + reversed, + ["y"], + earlyOut + ); + + const arg2 = compileSearch( + "P", + "c(x,y)" + predicate + "0", + reversed, + ["y", "c"], + earlyOut + ); + + const fnHeader = "function dispatchBinarySearch"; + + const fnBody = + "(a,y,c,l,h){\ +if(typeof(c)==='function'){\ +return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)\ +}else{\ +return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)\ +}}\ +return dispatchBinarySearch"; + + const fnArgList = [arg1, arg2, fnHeader, suffix, fnBody, suffix]; + const fnSource = fnArgList.join(""); + const result = new Function(fnSource); + return result(); +}; + +module.exports = { + ge: compileBoundsSearch(">=", false, "GE"), + gt: compileBoundsSearch(">", false, "GT"), + lt: compileBoundsSearch("<", true, "LT"), + le: compileBoundsSearch("<=", true, "LE"), + eq: compileBoundsSearch("-", true, "EQ", true) +}; + + /***/ }), /***/ 92700: @@ -121558,9 +122434,11 @@ module.exports = compileBooleanMatcher; const Hash = __webpack_require__(32); -const BULK_SIZE = 1000; +const BULK_SIZE = 2000; -const digestCache = new Map(); +// We are using an object instead of a Map as this will stay static during the runtime +// so access to it can be optimized by v8 +const digestCaches = {}; class BulkUpdateDecorator extends Hash { /** @@ -121615,11 +122493,15 @@ class BulkUpdateDecorator extends Hash { * @returns {string|Buffer} digest */ digest(encoding) { - let cacheKey; + let digestCache; if (this.hash === undefined) { // short data for hash, we can use caching - cacheKey = `${this.hashKey}-${encoding}-${this.buffer}`; - const cacheEntry = digestCache.get(cacheKey); + const cacheKey = `${this.hashKey}-${encoding}`; + digestCache = digestCaches[cacheKey]; + if (digestCache === undefined) { + digestCache = digestCaches[cacheKey] = new Map(); + } + const cacheEntry = digestCache.get(this.buffer); if (cacheEntry !== undefined) return cacheEntry; this.hash = this.hashFactory(); } @@ -121629,8 +122511,8 @@ class BulkUpdateDecorator extends Hash { const digestResult = this.hash.digest(encoding); const result = typeof digestResult === "string" ? digestResult : digestResult.toString(); - if (cacheKey !== undefined) { - digestCache.set(cacheKey, result); + if (digestCache !== undefined) { + digestCache.set(this.buffer, result); } return result; } @@ -124110,14 +124992,16 @@ exports.getEntryRuntime = (compilation, name, options) => { /** * @param {RuntimeSpec} runtime runtime * @param {function(string): void} fn functor + * @param {boolean} deterministicOrder enforce a deterministic order * @returns {void} */ -exports.forEachRuntime = (runtime, fn) => { +exports.forEachRuntime = (runtime, fn, deterministicOrder = false) => { if (runtime === undefined) { fn(undefined); } else if (typeof runtime === "string") { fn(runtime); } else { + if (deterministicOrder) runtime.sort(); for (const r of runtime) { fn(r); } @@ -124504,6 +125388,15 @@ class RuntimeSpecMap { this._map.set(getRuntimeKey(runtime), value); } + provide(runtime, computer) { + const key = getRuntimeKey(runtime); + const value = this._map.get(key); + if (value !== undefined) return value; + const newValue = computer(); + this._map.set(key, newValue); + return newValue; + } + delete(runtime) { this._map.delete(getRuntimeKey(runtime)); } diff --git a/packages/next/compiled/webpack/lazy-compilation-node.js b/packages/next/compiled/webpack/lazy-compilation-node.js new file mode 100644 index 0000000000000..58a3741cb0bd8 --- /dev/null +++ b/packages/next/compiled/webpack/lazy-compilation-node.js @@ -0,0 +1,99 @@ +module.exports = +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ 887: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +var __resourceQuery = ""; +/* global __resourceQuery */ + + + +var urlBase = decodeURIComponent(__resourceQuery.slice(1)); +exports.keepAlive = function (options) { + var data = options.data; + var onError = options.onError; + var active = options.active; + var module = options.module; + var response; + var request = __nccwpck_require__(605).request( + urlBase + data, + { + agent: false, + headers: { accept: "text/event-stream" } + }, + function (res) { + response = res; + response.on("error", errorHandler); + if (!active && !module.hot) { + console.log( + "Hot Module Replacement is not enabled. Waiting for process restart..." + ); + } + } + ); + function errorHandler(err) { + err.message = + "Problem communicating active modules to the server: " + err.message; + onError(err); + } + request.on("error", errorHandler); + request.end(); + return function () { + response.destroy(); + }; +}; + + +/***/ }), + +/***/ 605: +/***/ (function(module) { + +module.exports = require("http");; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __nccwpck_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ __webpack_modules__[moduleId](module, module.exports, __nccwpck_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete __webpack_module_cache__[moduleId]; +/******/ } +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat */ +/******/ +/******/ __nccwpck_require__.ab = __dirname + "/";/************************************************************************/ +/******/ // module exports must be returned from runtime so entry inlining is disabled +/******/ // startup +/******/ // Load entry module and return exports +/******/ return __nccwpck_require__(887); +/******/ })() +; \ No newline at end of file diff --git a/packages/next/compiled/webpack/lazy-compilation-web.js b/packages/next/compiled/webpack/lazy-compilation-web.js new file mode 100644 index 0000000000000..53864a5dd7fbd --- /dev/null +++ b/packages/next/compiled/webpack/lazy-compilation-web.js @@ -0,0 +1,128 @@ +module.exports = +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ 949: +/***/ (function(__unused_webpack_module, exports) { + +var __resourceQuery = ""; +/* global __resourceQuery */ + + + +if (typeof EventSource !== "function") { + throw new Error( + "Environment doesn't support lazy compilation (requires EventSource)" + ); +} + +var urlBase = decodeURIComponent(__resourceQuery.slice(1)); +var activeEventSource; +var activeKeys = new Map(); +var errorHandlers = new Set(); + +var updateEventSource = function updateEventSource() { + if (activeEventSource) activeEventSource.close(); + if (activeKeys.size) { + activeEventSource = new EventSource( + urlBase + Array.from(activeKeys.keys()).join("@") + ); + activeEventSource.onerror = function (event) { + errorHandlers.forEach(function (onError) { + onError( + new Error( + "Problem communicating active modules to the server: " + + event.message + + " " + + event.filename + + ":" + + event.lineno + + ":" + + event.colno + + " " + + event.error + ) + ); + }); + }; + } else { + activeEventSource = undefined; + } +}; + +exports.keepAlive = function (options) { + var data = options.data; + var onError = options.onError; + var active = options.active; + var module = options.module; + errorHandlers.add(onError); + var value = activeKeys.get(data) || 0; + activeKeys.set(data, value + 1); + if (value === 0) { + updateEventSource(); + } + if (!active && !module.hot) { + console.log( + "Hot Module Replacement is not enabled. Waiting for process restart..." + ); + } + + return function () { + errorHandlers.delete(onError); + setTimeout(function () { + var value = activeKeys.get(data); + if (value === 1) { + activeKeys.delete(data); + updateEventSource(); + } else { + activeKeys.set(data, value - 1); + } + }, 1000); + }; +}; + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __nccwpck_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ __webpack_modules__[moduleId](module, module.exports, __nccwpck_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete __webpack_module_cache__[moduleId]; +/******/ } +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat */ +/******/ +/******/ __nccwpck_require__.ab = __dirname + "/";/************************************************************************/ +/******/ // module exports must be returned from runtime so entry inlining is disabled +/******/ // startup +/******/ // Load entry module and return exports +/******/ return __nccwpck_require__(949); +/******/ })() +; \ No newline at end of file diff --git a/packages/next/next-server/lib/post-process.ts b/packages/next/next-server/lib/post-process.ts index 0565b34591785..c991a5572cd27 100644 --- a/packages/next/next-server/lib/post-process.ts +++ b/packages/next/next-server/lib/post-process.ts @@ -89,7 +89,7 @@ async function processHTML( } class FontOptimizerMiddleware implements PostProcessMiddleware { - fontDefinitions: Array = [] + fontDefinitions: (string | undefined)[][] = [] inspect( originalDom: HTMLElement, _data: postProcessData, @@ -112,8 +112,10 @@ class FontOptimizerMiddleware implements PostProcessMiddleware { ) .forEach((element: HTMLElement) => { const url = element.getAttribute('data-href') + const nonce = element.getAttribute('nonce') + if (url) { - this.fontDefinitions.push(url) + this.fontDefinitions.push([url, nonce]) } }) } @@ -127,7 +129,7 @@ class FontOptimizerMiddleware implements PostProcessMiddleware { return markup } for (const key in this.fontDefinitions) { - const url = this.fontDefinitions[key] + const [url, nonce] = this.fontDefinitions[key] const fallBackLinkTag = `` if ( result.indexOf(`` + `` ) } } diff --git a/packages/next/next-server/server/api-utils.ts b/packages/next/next-server/server/api-utils.ts index f04176eb33d96..5d7c5c9d2a768 100644 --- a/packages/next/next-server/server/api-utils.ts +++ b/packages/next/next-server/server/api-utils.ts @@ -28,7 +28,7 @@ export async function apiResolver( apiContext: __ApiPreviewProps, propagateError: boolean, onError?: ({ err }: { err: any }) => Promise -) { +): Promise { const apiReq = req as NextApiRequest const apiRes = res as NextApiResponse @@ -166,7 +166,9 @@ function parseJson(str: string): object { * Parse cookies from `req` header * @param req request object */ -export function getCookieParser(req: IncomingMessage) { +export function getCookieParser( + req: IncomingMessage +): () => NextApiRequestCookies { return function parseCookie(): NextApiRequestCookies { const header: undefined | string | string[] = req.headers.cookie @@ -229,7 +231,7 @@ export function sendData( res: NextApiResponse, body: any ): void { - if (body === null) { + if (body === null || body === undefined) { res.end() return } @@ -362,6 +364,10 @@ export function tryGetPreviewData( } } +function isNotValidData(str: string): boolean { + return typeof str !== 'string' || str.length < 16 +} + function setPreviewData( res: NextApiResponse, data: object | string, // TODO: strict runtime type checking @@ -369,22 +375,13 @@ function setPreviewData( maxAge?: number } & __ApiPreviewProps ): NextApiResponse { - if ( - typeof options.previewModeId !== 'string' || - options.previewModeId.length < 16 - ) { + if (isNotValidData(options.previewModeId)) { throw new Error('invariant: invalid previewModeId') } - if ( - typeof options.previewModeEncryptionKey !== 'string' || - options.previewModeEncryptionKey.length < 16 - ) { + if (isNotValidData(options.previewModeEncryptionKey)) { throw new Error('invariant: invalid previewModeEncryptionKey') } - if ( - typeof options.previewModeSigningKey !== 'string' || - options.previewModeSigningKey.length < 16 - ) { + if (isNotValidData(options.previewModeSigningKey)) { throw new Error('invariant: invalid previewModeSigningKey') } diff --git a/packages/next/next-server/server/incremental-cache.ts b/packages/next/next-server/server/incremental-cache.ts index 6cdb00360c6aa..551c777a6f18f 100644 --- a/packages/next/next-server/server/incremental-cache.ts +++ b/packages/next/next-server/server/incremental-cache.ts @@ -3,7 +3,6 @@ import LRUCache from 'next/dist/compiled/lru-cache' import path from 'path' import { PrerenderManifest } from '../../build' import { PRERENDER_MANIFEST } from '../lib/constants' -import { normalizeLocalePath } from '../lib/i18n/normalize-locale-path' import { normalizePagePath } from './normalize-page-path' function toRoute(pathname: string): string { @@ -89,10 +88,6 @@ export class IncrementalCache { private calculateRevalidate(pathname: string): number | false { pathname = toRoute(pathname) - if (!this.prerenderManifest.routes[pathname]) { - pathname = toRoute(normalizeLocalePath(pathname, this.locales).pathname) - } - // in development we don't have a prerender-manifest // and default to always revalidating to allow easier debugging const curTime = new Date().getTime() diff --git a/packages/next/next-server/server/render.tsx b/packages/next/next-server/server/render.tsx index 5cda0722c6553..2044373d6a447 100644 --- a/packages/next/next-server/server/render.tsx +++ b/packages/next/next-server/server/render.tsx @@ -44,7 +44,11 @@ import { NextComponentType, RenderPage, } from '../lib/utils' -import { tryGetPreviewData, __ApiPreviewProps } from './api-utils' +import { + tryGetPreviewData, + NextApiRequestCookies, + __ApiPreviewProps, +} from './api-utils' import { denormalizePagePath } from './denormalize-page-path' import { FontManifest, getFontDefinitionFromManifest } from './font-utils' import { LoadComponentsReturnType, ManifestItem } from './load-components' @@ -796,7 +800,9 @@ export async function renderToHTML( try { data = await getServerSideProps({ - req, + req: req as IncomingMessage & { + cookies: NextApiRequestCookies + }, res, query, resolvedUrl: renderOpts.resolvedUrl as string, diff --git a/packages/next/package.json b/packages/next/package.json index fbbf05c7d791e..5fce6e9bbbfae 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -1,6 +1,6 @@ { "name": "next", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "description": "The React Framework", "main": "./dist/server/next.js", "license": "MIT", @@ -63,10 +63,10 @@ "@ampproject/toolbox-optimizer": "2.7.1-alpha.0", "@babel/runtime": "7.12.5", "@hapi/accept": "5.0.1", - "@next/env": "10.0.6-canary.8", - "@next/polyfill-module": "10.0.6-canary.8", - "@next/react-dev-overlay": "10.0.6-canary.8", - "@next/react-refresh-utils": "10.0.6-canary.8", + "@next/env": "10.0.6-canary.9", + "@next/polyfill-module": "10.0.6-canary.9", + "@next/react-dev-overlay": "10.0.6-canary.9", + "@next/react-refresh-utils": "10.0.6-canary.9", "@opentelemetry/api": "0.14.0", "ast-types": "0.13.2", "browserslist": "4.16.1", @@ -135,7 +135,7 @@ "@babel/preset-react": "7.12.10", "@babel/preset-typescript": "7.12.7", "@babel/types": "7.12.12", - "@next/polyfill-nomodule": "10.0.6-canary.8", + "@next/polyfill-nomodule": "10.0.6-canary.9", "@taskr/clear": "1.1.0", "@taskr/esnext": "1.1.0", "@taskr/watch": "1.1.0", @@ -204,7 +204,6 @@ "loader-utils": "2.0.0", "lodash.curry": "4.1.1", "lru-cache": "5.1.1", - "mkdirp": "0.5.3", "nanoid": "3.1.20", "neo-async": "2.6.1", "ora": "4.0.4", diff --git a/packages/next/taskfile.js b/packages/next/taskfile.js index 424f6b8dba843..b3eafbfb1f0f2 100644 --- a/packages/next/taskfile.js +++ b/packages/next/taskfile.js @@ -368,14 +368,6 @@ export async function ncc_lru_cache(task, opts) { .target('compiled/lru-cache') } // eslint-disable-next-line camelcase -externals['mkdirp'] = 'next/dist/compiled/mkdirp' -export async function ncc_mkdirp(task, opts) { - await task - .source(opts.src || relative(__dirname, require.resolve('mkdirp'))) - .ncc({ packageName: 'mkdirp', externals }) - .target('compiled/mkdirp') -} -// eslint-disable-next-line camelcase externals['nanoid'] = 'next/dist/compiled/nanoid' export async function ncc_nanoid(task, opts) { await task @@ -707,7 +699,6 @@ export async function ncc(task) { 'ncc_loader_utils', 'ncc_lodash_curry', 'ncc_lru_cache', - 'ncc_mkdirp', 'ncc_nanoid', 'ncc_neo_async', 'ncc_ora', diff --git a/packages/next/types/index.d.ts b/packages/next/types/index.d.ts index 3a18b705f9a33..8c70d3ecfc0a4 100644 --- a/packages/next/types/index.d.ts +++ b/packages/next/types/index.d.ts @@ -15,6 +15,11 @@ import { // @ts-ignore This path is generated at build time and conflicts otherwise } from '../dist/next-server/lib/utils' +import { + NextApiRequestCookies, + // @ts-ignore This path is generated at build time and conflicts otherwise +} from '../dist/next-server/server/api-utils' + // @ts-ignore This path is generated at build time and conflicts otherwise import next from '../dist/server/next' @@ -130,7 +135,7 @@ export type GetServerSidePropsContext< Q extends ParsedUrlQuery = ParsedUrlQuery > = { req: IncomingMessage & { - cookies?: { [key: string]: any } + cookies: NextApiRequestCookies } res: ServerResponse params?: Q diff --git a/packages/react-dev-overlay/package.json b/packages/react-dev-overlay/package.json index 48b62e7a220fe..d021e710199a3 100644 --- a/packages/react-dev-overlay/package.json +++ b/packages/react-dev-overlay/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-dev-overlay", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "description": "A development-only overlay for developing React applications.", "repository": { "url": "vercel/next.js", diff --git a/packages/react-dev-overlay/src/internal/helpers/launchEditor.ts b/packages/react-dev-overlay/src/internal/helpers/launchEditor.ts index 8efcf9d9e8a57..5cd817c8e8d0e 100644 --- a/packages/react-dev-overlay/src/internal/helpers/launchEditor.ts +++ b/packages/react-dev-overlay/src/internal/helpers/launchEditor.ts @@ -210,7 +210,7 @@ function getArgumentsForLineNumber( } } -function guessEditor(): string | null { +function guessEditor(): string[] { // Explicit config always wins if (process.env.REACT_EDITOR) { return shellQuote.parse(process.env.REACT_EDITOR) @@ -226,7 +226,7 @@ function guessEditor(): string | null { for (let i = 0; i < processNames.length; i++) { const processName = processNames[i] if (output.indexOf(processName) !== -1) { - return (COMMON_EDITORS_MACOS as any)[processName] + return [(COMMON_EDITORS_MACOS as any)[processName]] } } } else if (process.platform === 'win32') { @@ -242,7 +242,7 @@ function guessEditor(): string | null { const processPath = runningProcesses[i].trim() const processName = path.basename(processPath) if (COMMON_EDITORS_WIN.indexOf(processName) !== -1) { - return processPath + return [processPath] } } } else if (process.platform === 'linux') { @@ -256,7 +256,7 @@ function guessEditor(): string | null { for (let i = 0; i < processNames.length; i++) { const processName = processNames[i] if (output.indexOf(processName) !== -1) { - return (COMMON_EDITORS_LINUX as any)[processName] as string + return [(COMMON_EDITORS_LINUX as any)[processName] as string] } } } @@ -266,12 +266,12 @@ function guessEditor(): string | null { // Last resort, use old skool env vars if (process.env.VISUAL) { - return process.env.VISUAL + return [process.env.VISUAL] } else if (process.env.EDITOR) { - return process.env.EDITOR + return [process.env.EDITOR] } - return null + return [] } function printInstructions(fileName: string, errorMessage: string | null) { @@ -317,8 +317,7 @@ function launchEditor(fileName: string, lineNumber: number, colNumber: number) { colNumber = 1 } - const editor = guessEditor() - let args: string[] = [] + let [editor, ...args] = guessEditor() if (!editor) { printInstructions(fileName, null) diff --git a/packages/react-refresh-utils/package.json b/packages/react-refresh-utils/package.json index abef4eb7c892d..e3e5b4fde1a67 100644 --- a/packages/react-refresh-utils/package.json +++ b/packages/react-refresh-utils/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-refresh-utils", - "version": "10.0.6-canary.8", + "version": "10.0.6-canary.9", "description": "An experimental package providing utilities for React Refresh.", "repository": { "url": "vercel/next.js", diff --git a/skip-docs-change.js b/skip-docs-change.js index 76f50745e24b1..c1a97d5d9de96 100644 --- a/skip-docs-change.js +++ b/skip-docs-change.js @@ -9,7 +9,7 @@ async function main() { await exec('git fetch origin canary') const { stdout: changedFilesOutput } = await exec( - 'git diff origin/canary --name-only' + 'git diff origin/canary... --name-only' ) const changedFiles = changedFilesOutput .split('\n') diff --git a/test/integration/api-support/pages/api/undefined.js b/test/integration/api-support/pages/api/undefined.js new file mode 100644 index 0000000000000..0ccd4fcc75e94 --- /dev/null +++ b/test/integration/api-support/pages/api/undefined.js @@ -0,0 +1,3 @@ +export default (req, res) => { + res.json(undefined) +} diff --git a/test/integration/api-support/test/index.test.js b/test/integration/api-support/test/index.test.js index a7fec5424ccf0..de878765f842a 100644 --- a/test/integration/api-support/test/index.test.js +++ b/test/integration/api-support/test/index.test.js @@ -122,6 +122,12 @@ function runTests(dev = false) { expect(body).toBe(true) }) + it('should support undefined response body', async () => { + const res = await fetchViaHTTP(appPort, '/api/undefined', null, {}) + const body = res.ok ? await res.text() : null + expect(body).toBe('') + }) + it('should return error with invalid JSON', async () => { const data = await fetchViaHTTP(appPort, '/api/parse', null, { method: 'POST', diff --git a/test/integration/font-optimization/pages/nonce.js b/test/integration/font-optimization/pages/nonce.js new file mode 100644 index 0000000000000..0dae87f35be2c --- /dev/null +++ b/test/integration/font-optimization/pages/nonce.js @@ -0,0 +1,19 @@ +import React from 'react' +import Head from 'next/head' + +const Page = () => { + return ( + <> + + + +
    Hi!
    + + ) +} + +export default Page diff --git a/test/integration/font-optimization/test/index.test.js b/test/integration/font-optimization/test/index.test.js index 4c7d1f8abf95c..358e48c1dd643 100644 --- a/test/integration/font-optimization/test/index.test.js +++ b/test/integration/font-optimization/test/index.test.js @@ -52,6 +52,17 @@ function runTests() { ) }) + it('should pass nonce to the inlined font definition', async () => { + const html = await renderViaHTTP(appPort, '/nonce') + expect(await fsExists(builtPage('font-manifest.json'))).toBe(true) + expect(html).toContain( + '' + ) + expect(html).toMatch( + /