diff --git a/.yarnrc.yml b/.yarnrc.yml index 5ce7a87bcc..c3fc923ee1 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1,6 +1,6 @@ cacheFolder: storage/yarn/cache -defaultSemverRangePrefix: '' +defaultSemverRangePrefix: "" enableMessageNames: false @@ -12,21 +12,21 @@ installStatePath: storage/yarn/install-state.gz nodeLinker: node-modules -npmAuthToken: '${NPM_AUTH_TOKEN:-fallback}' +npmAuthToken: "${NPM_AUTH_TOKEN:-fallback}" npmPublishAccess: public -npmPublishRegistry: 'https://registry.npmjs.org' +npmPublishRegistry: "https://registry.npmjs.org" -npmRegistryServer: 'https://registry.npmjs.org' +npmRegistryServer: "https://registry.npmjs.org" plugins: - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs - spec: '@yarnpkg/plugin-typescript' + spec: "@yarnpkg/plugin-typescript" - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs - spec: '@yarnpkg/plugin-interactive-tools' + spec: "@yarnpkg/plugin-interactive-tools" - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs - spec: '@yarnpkg/plugin-workspace-tools' + spec: "@yarnpkg/plugin-workspace-tools" - sources/@repo/yarn-plugin-bud/bundles/@yarnpkg/plugin-bud.js - sources/@repo/yarn-plugin-package/bundles/@yarnpkg/plugin-package.js diff --git a/config/tsconfig.json b/config/tsconfig.json index e8e2b8385c..ccc4fabeaf 100644 --- a/config/tsconfig.json +++ b/config/tsconfig.json @@ -25,7 +25,7 @@ "skipLibCheck": true, "strictBindCallApply": true, "target": "es2021", - "types": ["node", "react", "express", "webpack", "webpack-env"] + "types": ["node", "webpack", "webpack-env"] }, "files": [], "references": [ diff --git a/package.json b/package.json index 231e9923dc..0eee99d7a0 100644 --- a/package.json +++ b/package.json @@ -33,31 +33,31 @@ "@skypack/package-check": "0.2.2", "@types/express": "4.17.14", "@types/fs-extra": "9.0.13", - "@types/node": "16.18.3", - "@typescript-eslint/eslint-plugin": "5.42.1", - "@typescript-eslint/parser": "5.42.1", - "@vitest/coverage-istanbul": "0.25.2", - "@vitest/ui": "0.24.5", - "eslint": "8.27.0", + "@types/node": "16.18.4", + "@typescript-eslint/eslint-plugin": "5.45.0", + "@typescript-eslint/parser": "5.45.0", + "@vitest/coverage-istanbul": "0.25.3", + "@vitest/ui": "0.25.3", + "eslint": "8.28.0", "eslint-plugin-import": "2.26.0", - "eslint-plugin-react": "7.31.10", + "eslint-plugin-react": "7.31.11", "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-simple-import-sort": "8.0.0", "execa": "6.1.0", "fs-extra": "10.1.0", - "import-meta-resolve": "2.1.0", + "import-meta-resolve": "2.2.0", "lodash": "4.17.21", - "playwright": "1.28.0", - "prettier": "2.7.1", - "syncpack": "8.3.9", + "playwright": "1.28.1", + "prettier": "2.8.0", + "syncpack": "8.4.11", "ts-node": "10.9.1", "tslib": "2.4.1", - "typescript": "4.8.4", - "vitest": "0.24.5", + "typescript": "4.9.3", + "vitest": "0.25.3", "webpack": "5.75.0" }, "devDependencies": { - "@types/lodash": "^4", + "@types/lodash": "^4.14.191", "eslint-plugin-n": "15.5.1" } } diff --git a/sources/@repo/compile-kit/package.json b/sources/@repo/compile-kit/package.json index d7ee6ca242..be6dad3663 100644 --- a/sources/@repo/compile-kit/package.json +++ b/sources/@repo/compile-kit/package.json @@ -20,14 +20,14 @@ "@repo/logger": "workspace:sources/@repo/logger", "@types/fs-extra": "9.0.13", "@types/lodash-es": "4.17.6", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@vercel/ncc": "0.34.0", "download-package-tarball": "1.0.7", "fs-extra": "10.1.0", "get-package-json-from-registry": "2.2.2", "lodash-es": "4.17.21", - "npm-package-arg": "10.0.0", + "npm-package-arg": "10.1.0", "registry-info": "1.0.0", - "vitest": "0.24.5" + "vitest": "0.25.3" } } diff --git a/sources/@repo/constants/package.json b/sources/@repo/constants/package.json index 5e766234c9..a2a50e79fa 100644 --- a/sources/@repo/constants/package.json +++ b/sources/@repo/constants/package.json @@ -14,8 +14,8 @@ } }, "devDependencies": { - "@types/node": "16.18.3", - "vitest": "0.24.5" + "@types/node": "16.18.4", + "vitest": "0.25.3" }, "volta": { "extends": "../../../package.json" diff --git a/sources/@repo/docs/content/docs/bud.provide.mdx b/sources/@repo/docs/content/docs/bud.provide.mdx index 27f69785bb..04f3400034 100644 --- a/sources/@repo/docs/content/docs/bud.provide.mdx +++ b/sources/@repo/docs/content/docs/bud.provide.mdx @@ -3,6 +3,8 @@ title: bud.provide description: Makes a variable/module available throughout the entire application. --- -import Provide from '@site/../../@roots/bud-api/src/methods/provide/provide.docs.md' +import Usage from '@site/../../@roots/bud-api/docs/provide/01-usage.md' - +## Usage + + diff --git a/sources/@repo/docs/content/docs/bud.proxy.mdx b/sources/@repo/docs/content/docs/bud.proxy.mdx deleted file mode 100644 index 89a7e5d166..0000000000 --- a/sources/@repo/docs/content/docs/bud.proxy.mdx +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: bud.proxy -description: Proxy an existing development server ---- - -## Usage - -```ts title='bud.config.ts' -bud.proxy() -bud.proxy(true) // these are equivalent -``` - -By default, **bud.proxy** will target `http://localhost`. You may use a `String` to set the proxy target: - -```ts title='bud.config.ts' -bud.proxy('https://example.test') -``` - -Or, a `URL` object: - -```ts title='bud.config.ts' -bud.proxy(new URL('https://example.test')) -``` - -### Disabling - -The proxy can be disabled with `false`. - -```ts bud.config.ts -bud.proxy(false) -``` - -## URL replacement - -It is generally desirable to replace instances of the proxy URL's `origin` with -the dev server's `origin` in proxied responses. -Otherwise, anchor links and and window location events will still point to the proxied server. - -By default, **bud.js** will replace the proxy `origin` with a `/`. This generally works -prety well. A URL pointing to `https://example.test/foo/bar` will be served as `/foo/bar`. - -### Customizing replacements - -This won't work for all setups. But, **bud.proxy** takes a second, optional parameter to customize -this default behavior. - -Each search/replace is expressed with a `tuple`. The first item is the -search string or regular expression, and the second is the replacement: - -```ts -const replacement = ['search string', 'replace string'] -``` - -These are stored by **bud.js** as an array: - -```ts -const replacements = [ - ['find', 'replace'], - ['find2', 'replace2'], -] -``` - -You can add additional replacements using a callback: - -```ts title='bud.config.ts' -bud.proxy('https://example.test', (replacements = []) => { - replacements.push([ - 'https://api.example.test', - 'https://proxy-api.example.test', - ]) - - return replacements -}) -``` - -### Overwriting replacements - -To fully ovewrite these search/replace tasks, you can pass the array -without a callback: - -```ts title='bud.config.ts' -bud.proxy('https://example.test', [ - ['https://find.test', 'https://replace.test'], -]) -``` diff --git a/sources/@repo/docs/content/docs/bud.proxy/02-url-replacement.md b/sources/@repo/docs/content/docs/bud.proxy/02-url-replacement.md new file mode 100644 index 0000000000..ee1fb4629e --- /dev/null +++ b/sources/@repo/docs/content/docs/bud.proxy/02-url-replacement.md @@ -0,0 +1,8 @@ +--- +title: URL replacement +description: Configure proxy server +--- + +import Replace from '@site/../../@roots/bud-api/docs/proxy/02-proxy-url-replacement.md' + + diff --git a/sources/@repo/docs/content/docs/bud.proxy/03-options.md b/sources/@repo/docs/content/docs/bud.proxy/03-options.md new file mode 100644 index 0000000000..27766cfa5f --- /dev/null +++ b/sources/@repo/docs/content/docs/bud.proxy/03-options.md @@ -0,0 +1,13 @@ +--- +title: Options +description: Configure proxy server +--- + +import Options from '@site/../../@roots/bud-api/docs/proxy/03-proxy-options.md' +import Available from '@site/../../@roots/bud-api/docs/proxy/04-proxy-available-options.md' + + + +## Available options + + diff --git a/sources/@repo/docs/content/docs/bud.proxy/index.md b/sources/@repo/docs/content/docs/bud.proxy/index.md new file mode 100644 index 0000000000..eedc05346f --- /dev/null +++ b/sources/@repo/docs/content/docs/bud.proxy/index.md @@ -0,0 +1,10 @@ +--- +title: bud.proxy +description: Configure proxy server +--- + +import Usage from '@site/../../@roots/bud-api/docs/proxy/01-proxy-usage.md' + +## Usage + + diff --git a/sources/@repo/docs/content/docs/bud.serve.mdx b/sources/@repo/docs/content/docs/bud.serve.mdx index 825c95e55c..60bdf35bd7 100644 --- a/sources/@repo/docs/content/docs/bud.serve.mdx +++ b/sources/@repo/docs/content/docs/bud.serve.mdx @@ -14,7 +14,7 @@ By default bud.js will serve at the following address: | host | localhost | | port | 3000 | -If port 3000 is already used a new port will be dynamically selected. +If port `3000` is already used a new port will be dynamically selected. ## Specifying server address @@ -42,11 +42,20 @@ Specify an address with a node URL object: bud.serve(new URL('http://example.test:3000')) ``` -Serve over `https`: +To serve over https: ```ts title='bud.config.js' bud.serve({ - host: new URL('example.test'), + host: 'example.test', + port: 3000, + cert: '/path/to/example.test.crt', + key: '/path/to/example.test.key', +}) +``` + +```ts title="bud.config.js" +bud.serve({ + url: new URL('https://example.test:3000'), cert: '/path/to/example.test.crt', key: '/path/to/example.test.key', }) diff --git a/sources/@repo/docs/content/extensions/sage/eslint.mdx b/sources/@repo/docs/content/extensions/sage/eslint.mdx index 1b21eab4d7..149d2ddda7 100644 --- a/sources/@repo/docs/content/extensions/sage/eslint.mdx +++ b/sources/@repo/docs/content/extensions/sage/eslint.mdx @@ -4,6 +4,6 @@ description: 'Installation of Eslint in Sage' sidebar_label: 'Using Eslint' --- -import Eslint from '@site/../../@roots/sage/docs/03-using-with-eslint.mdx' +import Eslint from '@site/../../@roots/sage/docs/03-using-with-eslint.md' diff --git a/sources/@repo/docs/content/extensions/sage/sass.mdx b/sources/@repo/docs/content/extensions/sage/sass.mdx index 04ac70b778..90ea93f8f8 100644 --- a/sources/@repo/docs/content/extensions/sage/sass.mdx +++ b/sources/@repo/docs/content/extensions/sage/sass.mdx @@ -5,6 +5,6 @@ sidebar_label: 'Using Sass' sidebar_order: 6 --- -import Sass from '@site/../../@roots/sage/docs/06-using-with-sass.mdx' +import Sass from '@site/../../@roots/sage/docs/06-using-with-sass.md' diff --git a/sources/@repo/docs/content/extensions/sage/stylelint.mdx b/sources/@repo/docs/content/extensions/sage/stylelint.mdx index 4070d36584..65fd6d12b0 100644 --- a/sources/@repo/docs/content/extensions/sage/stylelint.mdx +++ b/sources/@repo/docs/content/extensions/sage/stylelint.mdx @@ -5,6 +5,6 @@ sidebar_label: 'Using Stylelint' sidebar_order: 4 --- -import Stylelint from '@site/../../@roots/sage/docs/04-using-with-stylelint.mdx' +import Stylelint from '@site/../../@roots/sage/docs/04-using-with-stylelint.md' diff --git a/sources/@repo/docs/content/extensions/sage/theme.json.mdx b/sources/@repo/docs/content/extensions/sage/theme.json.mdx index b7b1e36ea8..2b99b59cdd 100644 --- a/sources/@repo/docs/content/extensions/sage/theme.json.mdx +++ b/sources/@repo/docs/content/extensions/sage/theme.json.mdx @@ -6,6 +6,6 @@ sidebar_order: 5 hide_table_of_contents: true --- -import ThemeJson from '@site/../../@roots/sage/docs/05-managing-theme.json.mdx' +import ThemeJson from '@site/../../@roots/sage/docs/05-managing-theme.json.md' diff --git a/sources/@repo/docs/package.json b/sources/@repo/docs/package.json index 4a72eb688d..60db2d503d 100644 --- a/sources/@repo/docs/package.json +++ b/sources/@repo/docs/package.json @@ -25,26 +25,26 @@ "@repo/constants": "workspace:sources/@repo/constants", "@svgr/webpack": "6.5.1", "@tsconfig/docusaurus": "1.0.6", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/react": "17.0.52", "@types/react-dom": "17.0.18", - "@types/react-helmet": "6.1.5", + "@types/react-helmet": "6.1.6", "@types/react-reconciler": "0.28.0", "@types/react-router-dom": "5.3.3", "file-loader": "6.2.0", - "netlify-cli": "12.2.6", + "netlify-cli": "12.2.8", "raw-loader": "4.0.2", "ts-node": "10.9.1", - "typescript": "4.8.4", + "typescript": "4.9.3", "url-loader": "4.1.1", "webpack": "5.75.0" }, "dependencies": { "@docusaurus/theme-classic": "2.2.0", "@docusaurus/theme-common": "2.2.0", - "axios": "1.1.3", + "axios": "1.2.0", "clsx": "1.2.1", - "docusaurus-lunr-search": "2.3.1", + "docusaurus-lunr-search": "2.3.2", "react": "17.0.2", "react-dom": "17.0.2", "tslib": "2.4.1" diff --git a/sources/@repo/logger/package.json b/sources/@repo/logger/package.json index cca004e4a6..894f3ea715 100644 --- a/sources/@repo/logger/package.json +++ b/sources/@repo/logger/package.json @@ -15,9 +15,9 @@ }, "dependencies": { "@repo/constants": "workspace:sources/@repo/constants", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "signale": "1.4.0", - "vitest": "0.24.5" + "vitest": "0.25.3" }, "volta": { "extends": "../../../package.json" diff --git a/sources/@repo/markdown-kit/package.json b/sources/@repo/markdown-kit/package.json index e0f37eb9c2..9dd46f2d88 100644 --- a/sources/@repo/markdown-kit/package.json +++ b/sources/@repo/markdown-kit/package.json @@ -11,9 +11,9 @@ "build": "yarn tsc -b" }, "devDependencies": { - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/prettier": "2.7.1", - "vitest": "0.24.5" + "vitest": "0.25.3" }, "dependencies": { "@repo/constants": "workspace:sources/@repo/constants", @@ -30,9 +30,9 @@ "json5": "2.2.1", "lodash-es": "4.17.21", "octokit": "2.0.10", - "prettier": "2.7.1", + "prettier": "2.8.0", "strip-ansi": "7.0.1", - "typescript": "4.8.4" + "typescript": "4.9.3" }, "volta": { "extends": "../../../package.json" diff --git a/sources/@repo/markdown-kit/readme/index.ts b/sources/@repo/markdown-kit/readme/index.ts index 36b572526d..d9d37641da 100644 --- a/sources/@repo/markdown-kit/readme/index.ts +++ b/sources/@repo/markdown-kit/readme/index.ts @@ -1,36 +1,65 @@ +import {join} from 'node:path' + import {paths, projectConfig, REPO_PATH} from '@repo/constants' -import {log} from '@repo/logger' import fs from 'fs-extra' import {globby} from 'globby' import matter from 'gray-matter' -import path from 'path' +import {format} from 'prettier' -import * as renderer from './renderer/index.js' +import {templates} from './renderer/index.js' /** * Get the absolute path of a repo file or directory */ -const getRepoPath = (...filePath: string[]): string => - path.join(paths.root, ...filePath) +const repoPath = (...filePath: string[]): string => + join(paths.root, ...filePath) /** * Get the absolute path of a package file or directory */ const getPackagePath = (packageName: string, filePath: string): string => - getRepoPath(`sources`, packageName, filePath) + repoPath(`sources`, packageName, filePath) /** * Returns props for a template */ -async function getReadmeProps( +const getReadmeProps = async ( packageName: string, -): Promise> { +): Promise> => { const json = await fs.readJson( getPackagePath(packageName, `package.json`), ) return {...json, projectConfig} } +const fetch = async (path: string) => { + return await fs + .readFile(path, `utf-8`) + .then(String) + .then(contents => matter(contents)) + .then(({data, content}) => ({data, content})) +} + +const getFiles = async (pkg: string) => { + return await globby(repoPath(`sources`, pkg, `docs`, `*.{md,mdx}`)).then( + async files => await Promise.all(files.sort().map(fetch)), + ) +} + +const joinParts = ( + aggregated: Array, + {data, content}, +): Array => { + return [ + // @ts-ignore + ...aggregated, + // @ts-ignore + data?.title ? `## ${data?.title}\n\n` : false, + // @ts-ignore + content, + ] +} + /** * Renders all of the repo READMEs from their templates * @@ -41,50 +70,45 @@ async function getReadmeProps( * - An `extension` package is an optional Bud interface * - A `library` package is not Bud specific but is used by Bud interfaces */ -;(async function writeReadmeFiles() { - await renderer.registerPartials() - await renderer.registerHelpers() +await globby(`${REPO_PATH}/sources/@roots/*`, { + onlyDirectories: true, + absolute: false, +}).then(async (packages: Array) => { + await Promise.all( + packages + .map(pkg => pkg.split(`sources/`).pop()) + .map(async pkg => { + const path = repoPath(`sources`, pkg, `readme.md`) + const files = await getFiles(pkg) - const templates = await renderer.getTemplates() - const data = await getReadmeProps(`@roots/bud`) - await renderer.render(templates.root, `${REPO_PATH}/readme.md`, { - ...data, - name: `bud.js`, - }) + const sections = files.reduce(joinParts, []).filter(Boolean) - await globby(`${REPO_PATH}/sources/@roots/*`, { - onlyDirectories: true, - }).then(async (packages: Array) => { - log(packages) - await Promise.all( - packages.map(async pkg => { - const usage = await globby([ - `${pkg}/docs/*.mdx`, - `${pkg}/docs/*.md`, - ]).then(async (mdfiles: Array) => { - return await mdfiles.sort().reduce(async (promised, current) => { - const document = await fs - .readFile(current, `utf-8`) - .then(String) - .then(str => matter(str)) + await Promise.all( + files.map(async file => + file.data?.parts?.map(async innerFile => { + const path = repoPath(`sources`, pkg, `docs`, innerFile) + const result = await fetch(path) + result?.data?.title && + sections.push(`### ${result.data?.title}`) + result?.content && sections.push(result.content) + }), + ), + ) - return [ - ...(await promised), - ...(document.data.title - ? [`## ${document.data.title}\n`] - : []), - `${document.content}\n`, - ] - }, Promise.resolve([])) - }) - - const data = await getReadmeProps(`@roots/${pkg.split(`/`).pop()}`) - - await renderer.render(templates.core, `${pkg}/readme.md`, { - ...data, - usage, - }) + const data = {...(await getReadmeProps(pkg)), sections} + const readme = format(templates.core(data), {parser: `markdown`}) + await fs.writeFile(path, readme, `utf8`) }), - ) - }) -})() + ) +}) + +/** + * Root readme + */ +const path = `${REPO_PATH}/readme.md` +const data = { + ...(await getReadmeProps(`@roots/bud`)), + name: `bud.js`, +} +const readme = format(templates.root(data), {parser: `markdown`}) +await fs.writeFile(path, readme, `utf8`) diff --git a/sources/@repo/markdown-kit/readme/renderer/handlebars.ts b/sources/@repo/markdown-kit/readme/renderer/handlebars.ts new file mode 100644 index 0000000000..7306630534 --- /dev/null +++ b/sources/@repo/markdown-kit/readme/renderer/handlebars.ts @@ -0,0 +1,33 @@ +import {REPO_PATH} from '@repo/constants' +import fs from 'fs-extra' +import {globby} from 'globby' +import Handlebars, {TemplateDelegate} from 'handlebars' + +let handlebars = Handlebars + +const sources = await globby([ + `${REPO_PATH}/sources/@repo/markdown-kit/readme/partials/*.md`, +]) + +const partials = await sources.reduce(async (promised, path) => { + const dictionary = await promised + const templateSource = await fs.readFile(path).then(String) + + return { + ...dictionary, + [`${path.split(`/`).pop().split(`.`).shift()}`]: templateSource, + } +}, Promise.resolve({})) + +handlebars.registerPartial(partials) + +handlebars.registerHelper(`dotPath`, function (context, options) { + return `${options.fn(this).replace(/\./, options.data.root.name)}` +}) + +handlebars.registerHelper(`raw`, function (options) { + return options.fn(this) +}) + +export {handlebars, Handlebars} +export type {TemplateDelegate} diff --git a/sources/@repo/markdown-kit/readme/renderer/index.ts b/sources/@repo/markdown-kit/readme/renderer/index.ts index a85f3b9c1a..9260f692c1 100644 --- a/sources/@repo/markdown-kit/readme/renderer/index.ts +++ b/sources/@repo/markdown-kit/readme/renderer/index.ts @@ -1,70 +1,25 @@ import {REPO_PATH} from '@repo/constants' -import {log} from '@repo/logger' import fs from 'fs-extra' import {globby} from 'globby' -import hb from 'handlebars' import {format} from 'prettier' -export async function registerPartials() { - const sources = await globby( - `${REPO_PATH}/sources/@repo/markdown-kit/readme/partials/*.md`, - ) +import {Handlebars, handlebars, TemplateDelegate} from './handlebars.js' - log(`partials on disk`, sources) +const sources = await globby( + `${REPO_PATH}/sources/@repo/markdown-kit/readme/templates/*.md`, +) - const partials = await sources.reduce(async (promised, path) => { - const dictionary = await promised - const templateSource = await fs.readFile(path).then(String) - return { - ...dictionary, - [`${path.split(`/`).pop().split(`.`).shift()}`]: templateSource, - } - }, Promise.resolve({})) +const templates: { + [key: string]: TemplateDelegate +} = await sources.reduce(async (promised, path) => { + const templates = await promised + const source = await fs.readFile(path).then(String) + const template = handlebars.compile(source) - log(`partials registered`, partials) + return { + ...templates, + [`${path.split(`/`).pop().split(`.`).shift()}`]: template, + } +}, Promise.resolve({})) - hb.registerPartial(partials) -} - -export async function registerHelpers() { - hb.registerHelper(`dotPath`, function (context, options) { - return `${options.fn(this).replace(/\./, options.data.root.name)}` - }) - hb.registerHelper(`raw`, function (options) { - return options.fn(this) - }) -} - -export async function getTemplates(): Promise< - Record -> { - const sources = await globby( - `${REPO_PATH}/sources/@repo/markdown-kit/readme/templates/*.md`, - ) - - const templates = await sources.reduce(async (promised, path) => { - const dictionary = await promised - const templateSource = await fs.readFile(path).then(String) - const template = hb.compile(templateSource) - return { - ...dictionary, - [`${path.split(`/`).pop().split(`.`).shift()}`]: template, - } - }, Promise.resolve({})) - - log(`template created`, templates) - - return templates -} - -export async function render( - template: hb.TemplateDelegate, - dest: string, - data: Record, -) { - const result = template(data) - - await fs.writeFile(dest, format(result, {parser: `markdown`}), { - encoding: `utf8`, - }) -} +export {format, Handlebars, sources, templates, handlebars} diff --git a/sources/@repo/markdown-kit/readme/templates/core.md b/sources/@repo/markdown-kit/readme/templates/core.md index ad62998238..97aff870f6 100644 --- a/sources/@repo/markdown-kit/readme/templates/core.md +++ b/sources/@repo/markdown-kit/readme/templates/core.md @@ -16,7 +16,7 @@ npm: npm install {{name}} --save-dev ``` -{{#each usage}} +{{#each sections}} {{{this}}} {{/each}} diff --git a/sources/@repo/notifier/package.json b/sources/@repo/notifier/package.json index 6a5f50ad20..2a39fb66b7 100644 --- a/sources/@repo/notifier/package.json +++ b/sources/@repo/notifier/package.json @@ -2,8 +2,8 @@ "name": "@repo/notifier", "private": true, "devDependencies": { - "@types/node": "16.18.3", - "vitest": "0.24.5" + "@types/node": "16.18.4", + "vitest": "0.25.3" }, "volta": { "extends": "../../../package.json" diff --git a/sources/@repo/test-kit/bud.ts b/sources/@repo/test-kit/bud.ts index 449ea4f5ec..7623f56058 100644 --- a/sources/@repo/test-kit/bud.ts +++ b/sources/@repo/test-kit/bud.ts @@ -1,4 +1,6 @@ /* eslint-disable n/no-process-env */ +import '@roots/bud' + import {join} from 'node:path' import {paths} from '@repo/constants' diff --git a/sources/@repo/test-kit/package.json b/sources/@repo/test-kit/package.json index afd210979b..14867be3f1 100644 --- a/sources/@repo/test-kit/package.json +++ b/sources/@repo/test-kit/package.json @@ -24,7 +24,7 @@ "@roots/bud": "workspace:sources/@roots/bud", "@roots/bud-support": "workspace:sources/@roots/bud-support", "@types/fs-extra": "9.0.13", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "chalk": "5.1.2", "execa": "6.1.0", "fs-extra": "10.1.0", @@ -32,7 +32,7 @@ "helpful-decorators": "2.1.0", "json5": "2.2.1", "tslib": "2.4.1", - "vitest": "0.24.5" + "vitest": "0.25.3" }, "volta": { "extends": "../../../package.json" diff --git a/sources/@repo/yarn-plugin-bud/package.json b/sources/@repo/yarn-plugin-bud/package.json index ebce6b5725..511d681c16 100644 --- a/sources/@repo/yarn-plugin-bud/package.json +++ b/sources/@repo/yarn-plugin-bud/package.json @@ -8,15 +8,15 @@ }, "devDependencies": { "@types/fs-extra": "9.0.13", - "@types/node": "16.18.3", - "@yarnpkg/builder": "3.2.5" + "@types/node": "16.18.4", + "@yarnpkg/builder": "3.2.6" }, "dependencies": { "@repo/constants": "workspace:sources/@repo/constants", - "@yarnpkg/cli": "3.2.4", - "@yarnpkg/core": "3.2.5", - "@yarnpkg/shell": "3.2.4", - "clipanion": "3.2.0-rc.13", + "@yarnpkg/cli": "3.3.0", + "@yarnpkg/core": "3.3.0", + "@yarnpkg/shell": "3.2.5", + "clipanion": "3.2.0-rc.14", "fs-extra": "10.1.0", "helpful-decorators": "2.1.0", "js-yaml": "4.1.0", @@ -24,8 +24,8 @@ "pm2": "5.2.2", "semver": "7.3.8", "tslib": "2.4.1", - "typescript": "4.8.4", - "verdaccio": "5.16.3" + "typescript": "4.9.3", + "verdaccio": "5.18.0" }, "volta": { "node": "16.18.0", diff --git a/sources/@repo/yarn-plugin-package/package.json b/sources/@repo/yarn-plugin-package/package.json index 619ba900ef..c03527dae1 100644 --- a/sources/@repo/yarn-plugin-package/package.json +++ b/sources/@repo/yarn-plugin-package/package.json @@ -8,18 +8,18 @@ }, "dependencies": { "@types/fs-extra": "9.0.13", - "@types/node": "16.18.3", - "@yarnpkg/builder": "3.2.5", - "@yarnpkg/cli": "3.2.4", - "@yarnpkg/core": "3.2.5", - "@yarnpkg/shell": "3.2.4", - "clipanion": "3.2.0-rc.13", + "@types/node": "16.18.4", + "@yarnpkg/builder": "3.2.6", + "@yarnpkg/cli": "3.3.0", + "@yarnpkg/core": "3.3.0", + "@yarnpkg/shell": "3.2.5", + "clipanion": "3.2.0-rc.14", "fs-extra": "10.1.0", "helpful-decorators": "2.1.0", "lodash-es": "4.17.21", "tslib": "2.4.1", - "typescript": "4.8.4", - "vitest": "0.24.5" + "typescript": "4.9.3", + "vitest": "0.25.3" }, "volta": { "extends": "../../../package.json" diff --git a/sources/@roots/browserslist-config/README.md b/sources/@roots/browserslist-config/README.md index 9b1072b54b..ce07e4d629 100644 --- a/sources/@roots/browserslist-config/README.md +++ b/sources/@roots/browserslist-config/README.md @@ -9,7 +9,7 @@

@roots/browserslist-config

- Roots standard browserslist-config + Browserslist configuration

--- diff --git a/sources/@roots/browserslist-config/package.json b/sources/@roots/browserslist-config/package.json index de5f090834..362fef0853 100644 --- a/sources/@roots/browserslist-config/package.json +++ b/sources/@roots/browserslist-config/package.json @@ -48,12 +48,12 @@ "fs-jetpack": "5.1.0" }, "dependencies": { - "browserslist": "latest", - "caniuse-lite": "latest" + "browserslist": "4.21.4", + "caniuse-lite": "1.0.30001435" }, "peerDependencies": { - "browserslist": "*", - "caniuse-lite": "*" + "browserslist": ">=4.21.4", + "caniuse-lite": ">=1.0.30001435" }, "peerDependenciesMeta": { "browserslist": { diff --git a/sources/@roots/bud-api/README.md b/sources/@roots/bud-api/README.md index 54a1dc23b8..69f480fec0 100644 --- a/sources/@roots/bud-api/README.md +++ b/sources/@roots/bud-api/README.md @@ -30,6 +30,182 @@ npm: npm install @roots/bud-api --save-dev ``` +For a better reading experience refer to [bud.js.org/docs](https://bud.js.org/docs). + +## bud.provide + +**bud.provide** makes a variable or module available throughout the entire application + +[💡 Documentation](https://bud.js.org/docs/bud.provide) + +## bud.proxy + +**bud.proxy** is a method that configures a proxy server for your development environment. This is useful when you need to proxy requests to a backend server, such as a WordPress site. + +[💡 Documentation](https://bud.js.org/docs/bud.proxy) + +### Options + +You can pass a function to **bud.proxy** to manipulate all options. You must return them or the options will not be set! + +```ts title='bud.config.ts' +bud.proxy((options = {}) => { + options.target = "https://example.test"; + return options; +}); +``` + +You can also pass an object to **bud.proxy** to set options. This will not overwrite unspecified defaults or options set elsewhere: + +```ts title='bud.config.ts' +bud.proxy({ + target: "https://example.test", + changeOrigin: false, +}); +``` + +Options can be specified as a second parameter (instead of the URL replacement array): + +```ts title='bud.config.ts' +bud.proxy("https://example.test", { + changeOrigin: false, +}); +``` + +### Usage + +The following specifies that `$` is the default `jquery` export: + +```js +bud.provide({ jquery: "$" }); +``` + +Now, in any module in our application, we can invoke `jquery` with `$`. There is no need to import it. + +```js +$(`#modal`); // it just works +``` + +If you have multiple references to resolve against a module, you can specify them with an array: + +```js +bud.provide({ + jquery: ["$", "jQuery"], +}); +``` + +### URL replacement + +Instances of the proxy URL's base URL with the dev server's base URL in responses. +Otherwise, absolute URLs would still point to the proxied server. + +This won't work for all setups. But, **bud.proxy** takes a second, optional parameter to customize this default behavior. + +Each search/replace is expressed with a `tuple`. The first item is the +search string, and the second is the replacement: + +```ts +const replacement = ["search string", "replace string"]; +``` + +These are stored by **bud.js** as an array: + +```ts +const replacements = [ + ["find", "replace"], + ["find2", "replace2"], +]; +``` + +You can add additional replacements using a callback: + +```ts title='bud.config.ts' +bud.proxy("https://example.test", (replacements = []) => { + replacements.push(["https://find.test", "https://replace.test"]); + return replacements; +}); +``` + +To fully ovewrite these search/replace tasks, you can pass the array +without a callback: + +```ts title='bud.config.ts' +bud.proxy("https://example.test", [ + ["https://find.test", "https://replace.test"], +]); +``` + +### Usage + +By default, **bud.proxy** will target `http://0.0.0.0`. + +```ts title='bud.config.ts' +bud.proxy(); +bud.proxy(true); // these are equivalent +``` + +The proxy can be disabled with `false`. + +```ts bud.config.ts +bud.proxy(false); +``` + +You may use a `String` to set the proxy target: + +```ts title='bud.config.ts' +bud.proxy("https://example.test"); +``` + +Or, a `URL` object: + +```ts title='bud.config.ts' +bud.proxy(new URL("https://example.test")); +``` + +### Available options + +See documentation of available options in [the proxy middleware's README](https://github.com/chimurai/http-proxy-middleware#http-proxy-middleware). + +Below are the available options and their default values: + +| Option | Type | Default | Description | +| --------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| agent | [Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | The agent used for proxying | +| auth | `string` | `undefined` | Basic authentication i.e. 'user:password' to compute an Authorization header | +| autoRewrite | `boolean` | `true` | Automatically rewrite the location host/port | +| buffer | `Stream` | `undefined` | A writable stream to serve as the response buffer | +| changeOrigin | `boolean` | `true` | Changes the origin of the host header to the target URL | +| cookieDomainRewrite | `Record` | key is host set by [bud.serve](https://bud.js.org/docs/bud.serve), value is the `target` host | Rewrite cookie domains | +| cookiePathRewrite | `Record` | `undefined` | Rewrite cookie paths | +| ejectPlugins | `boolean` | `undefined` | Ejects all plugins | +| followRedirects | `boolean` | `false` | Follow HTTP 3xx responses as redirects | +| forward | `URL` | `undefined` | The URL to forward to. | +| headers | `Record` | `undefined` | Additional headers | +| hostRewrite | `string` | Set by [bud.serve](https://bud.js.org/docs/bud.serve) | Rewrites the location hostname on (301 / 302 / 307 / 308) redirects | +| ignorePath | `boolean` | `undefined` | Ignore the proxy path of the incoming request | +| localAddress | `string` | `undefined` | Local interface string to bind for outgoing connections | +| logger | `Console` | bud.js implementation | A logger object. Needs to implement `warn`, `info`, and `error`. | +| on | [Proxy Events](https://github.com/chimurai/http-proxy-middleware#http-proxy-events) | bud.js implementation | Event listeners. Note that setting this option will unset `onProxyReq` and `onProxyRes` | +| onProxyReq | [ProxyReqCallback](https://github.com/chimurai/http-proxy-middleware#http-proxy-events) | bud.js implementation | Callback function to modify the proxy request | +| onProxyRes | [ProxyResCallback](https://github.com/chimurai/http-proxy-middleware#http-proxy-events) | bud.js implementation | Callback function to modify the proxy response | +| pathFilter | `Array` | `['!/bud/**']` | Filters the paths to proxy | +| pathRewrite | `Record` | `undefined` | Rewrites the location path on (301 / 302 / 307 / 308) redirects | +| plugins | `Array<(proxyServer: HttpProxy, options: ServerOptions) => void>` | `undefined` | Array of plugins to apply to the proxy server | +| prependPath | `boolean` | `undefined` | Prepend the target's path to the proxy path | +| preserveHeaderKeyCase | `boolean` | `undefined` | Preserve the case of response header keys | +| protocolRewrite | `http` \| `https` | `https` if the protocol of the URL set by [bud.serve](https://bud.js.org/docs/bud.serve) resolved to `https:` | Rewrites the location protocol on (301 / 302 / 307 / 308) redirects | +| proxyTimeout | `number` | `undefined` | Specifies the number of milliseconds before the proxy times out | +| replacements | `Array<[string, string]>` | A tuple with the `target` origin paired with the dev server origin | Replaces `dev server url` with `proxy url` in the response body. This will never be called if `on` or `onProxyRequest` is overridden | +| router | `Record` | `undefined` | A map of regular expressions (`string`) to proxy options | +| secure | `boolean` | `false` | Verify that connection is secure | +| selfHandleResponse | `boolean` | `true` | Self handle the response. If this is set to `true` (default) then the supplied `onProxyRes` must return a response | +| ssl | [HttpsServerOptions](https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener) | `undefined` | SSL certificate options | +| target | `URL` | `http://0.0.0.0` | The target URL | +| timeout | `number` | `undefined` | Specifies the number of milliseconds before the proxy response times out | +| toProxy | `boolean` | `true` | Proxy to another server | +| xfwd | `boolean` | `undefined` | Adds x-forward headers | +| ws | `boolean` | `undefined` | Proxy websockets | + ## Contributing Contributions are welcome from everyone. diff --git a/sources/@roots/bud-api/docs/00-intro.md b/sources/@roots/bud-api/docs/00-intro.md new file mode 100644 index 0000000000..a4895a4bf0 --- /dev/null +++ b/sources/@roots/bud-api/docs/00-intro.md @@ -0,0 +1 @@ +For a better reading experience refer to [bud.js.org/docs](https://bud.js.org/docs). diff --git a/sources/@roots/bud-api/docs/provide.md b/sources/@roots/bud-api/docs/provide.md new file mode 100644 index 0000000000..4fc27d80c0 --- /dev/null +++ b/sources/@roots/bud-api/docs/provide.md @@ -0,0 +1,9 @@ +--- +title: bud.provide +parts: + - provide/01-usage.md +--- + +**bud.provide** makes a variable or module available throughout the entire application + +[💡 Documentation](https://bud.js.org/docs/bud.provide) diff --git a/sources/@roots/bud-api/src/methods/provide/provide.docs.md b/sources/@roots/bud-api/docs/provide/01-usage.md similarity index 80% rename from sources/@roots/bud-api/src/methods/provide/provide.docs.md rename to sources/@roots/bud-api/docs/provide/01-usage.md index 560ee4dcdf..11c4461f73 100644 --- a/sources/@roots/bud-api/src/methods/provide/provide.docs.md +++ b/sources/@roots/bud-api/docs/provide/01-usage.md @@ -1,11 +1,7 @@ --- -title: bud.provide +title: Usage --- -Makes a variable/module available throughout the entire application. - -## Usage - The following specifies that `$` is the default `jquery` export: ```js diff --git a/sources/@roots/bud-api/docs/proxy.md b/sources/@roots/bud-api/docs/proxy.md new file mode 100644 index 0000000000..a7e4d7d985 --- /dev/null +++ b/sources/@roots/bud-api/docs/proxy.md @@ -0,0 +1,12 @@ +--- +title: bud.proxy +parts: + - proxy/01-proxy-usage.md + - proxy/02-proxy-url-replacement.md + - proxy/03-proxy-options.md + - proxy/04-proxy-available-options.md +--- + +**bud.proxy** is a method that configures a proxy server for your development environment. This is useful when you need to proxy requests to a backend server, such as a WordPress site. + +[💡 Documentation](https://bud.js.org/docs/bud.proxy) diff --git a/sources/@roots/bud-api/docs/proxy/01-proxy-usage.md b/sources/@roots/bud-api/docs/proxy/01-proxy-usage.md new file mode 100644 index 0000000000..9cdfd33de4 --- /dev/null +++ b/sources/@roots/bud-api/docs/proxy/01-proxy-usage.md @@ -0,0 +1,28 @@ +--- +title: Usage +--- + +By default, **bud.proxy** will target `http://0.0.0.0`. + +```ts title='bud.config.ts' +bud.proxy() +bud.proxy(true) // these are equivalent +``` + +The proxy can be disabled with `false`. + +```ts bud.config.ts +bud.proxy(false) +``` + +You may use a `String` to set the proxy target: + +```ts title='bud.config.ts' +bud.proxy('https://example.test') +``` + +Or, a `URL` object: + +```ts title='bud.config.ts' +bud.proxy(new URL('https://example.test')) +``` diff --git a/sources/@roots/bud-api/docs/proxy/02-proxy-url-replacement.md b/sources/@roots/bud-api/docs/proxy/02-proxy-url-replacement.md new file mode 100644 index 0000000000..4df7b05628 --- /dev/null +++ b/sources/@roots/bud-api/docs/proxy/02-proxy-url-replacement.md @@ -0,0 +1,42 @@ +--- +title: URL replacement +--- + +Instances of the proxy URL's base URL with the dev server's base URL in responses. +Otherwise, absolute URLs would still point to the proxied server. + +This won't work for all setups. But, **bud.proxy** takes a second, optional parameter to customize this default behavior. + +Each search/replace is expressed with a `tuple`. The first item is the +search string, and the second is the replacement: + +```ts +const replacement = ['search string', 'replace string'] +``` + +These are stored by **bud.js** as an array: + +```ts +const replacements = [ + ['find', 'replace'], + ['find2', 'replace2'], +] +``` + +You can add additional replacements using a callback: + +```ts title='bud.config.ts' +bud.proxy('https://example.test', (replacements = []) => { + replacements.push(['https://find.test', 'https://replace.test']) + return replacements +}) +``` + +To fully ovewrite these search/replace tasks, you can pass the array +without a callback: + +```ts title='bud.config.ts' +bud.proxy('https://example.test', [ + ['https://find.test', 'https://replace.test'], +]) +``` diff --git a/sources/@roots/bud-api/docs/proxy/03-proxy-options.md b/sources/@roots/bud-api/docs/proxy/03-proxy-options.md new file mode 100644 index 0000000000..663526db5f --- /dev/null +++ b/sources/@roots/bud-api/docs/proxy/03-proxy-options.md @@ -0,0 +1,29 @@ +--- +title: Options +--- + +You can pass a function to **bud.proxy** to manipulate all options. You must return them or the options will not be set! + +```ts title='bud.config.ts' +bud.proxy((options = {}) => { + options.target = 'https://example.test' + return options +}) +``` + +You can also pass an object to **bud.proxy** to set options. This will not overwrite unspecified defaults or options set elsewhere: + +```ts title='bud.config.ts' +bud.proxy({ + target: 'https://example.test', + changeOrigin: false, +}) +``` + +Options can be specified as a second parameter (instead of the URL replacement array): + +```ts title='bud.config.ts' +bud.proxy('https://example.test', { + changeOrigin: false, +}) +``` diff --git a/sources/@roots/bud-api/docs/proxy/04-proxy-available-options.md b/sources/@roots/bud-api/docs/proxy/04-proxy-available-options.md new file mode 100644 index 0000000000..93452cd0bc --- /dev/null +++ b/sources/@roots/bud-api/docs/proxy/04-proxy-available-options.md @@ -0,0 +1,46 @@ +--- +title: Available options +description: Proxy server options +--- + +See documentation of available options in [the proxy middleware's README](https://github.com/chimurai/http-proxy-middleware#http-proxy-middleware). + +Below are the available options and their default values: + +| Option | Type | Default | Description | +| --------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| agent | [Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | The agent used for proxying | +| auth | `string` | `undefined` | Basic authentication i.e. 'user:password' to compute an Authorization header | +| autoRewrite | `boolean` | `true` | Automatically rewrite the location host/port | +| buffer | `Stream` | `undefined` | A writable stream to serve as the response buffer | +| changeOrigin | `boolean` | `true` | Changes the origin of the host header to the target URL | +| cookieDomainRewrite | `Record` | key is host set by [bud.serve](https://bud.js.org/docs/bud.serve), value is the `target` host | Rewrite cookie domains | +| cookiePathRewrite | `Record` | `undefined` | Rewrite cookie paths | +| ejectPlugins | `boolean` | `undefined` | Ejects all plugins | +| followRedirects | `boolean` | `false` | Follow HTTP 3xx responses as redirects | +| forward | `URL` | `undefined` | The URL to forward to. | +| headers | `Record` | `undefined` | Additional headers | +| hostRewrite | `string` | Set by [bud.serve](https://bud.js.org/docs/bud.serve) | Rewrites the location hostname on (301 / 302 / 307 / 308) redirects | +| ignorePath | `boolean` | `undefined` | Ignore the proxy path of the incoming request | +| localAddress | `string` | `undefined` | Local interface string to bind for outgoing connections | +| logger | `Console` | bud.js implementation | A logger object. Needs to implement `warn`, `info`, and `error`. | +| on | [Proxy Events](https://github.com/chimurai/http-proxy-middleware#http-proxy-events) | bud.js implementation | Event listeners. Note that setting this option will unset `onProxyReq` and `onProxyRes` | +| onProxyReq | [ProxyReqCallback](https://github.com/chimurai/http-proxy-middleware#http-proxy-events) | bud.js implementation | Callback function to modify the proxy request | +| onProxyRes | [ProxyResCallback](https://github.com/chimurai/http-proxy-middleware#http-proxy-events) | bud.js implementation | Callback function to modify the proxy response | +| pathFilter | `Array` | `['!/bud/**']` | Filters the paths to proxy | +| pathRewrite | `Record` | `undefined` | Rewrites the location path on (301 / 302 / 307 / 308) redirects | +| plugins | `Array<(proxyServer: HttpProxy, options: ServerOptions) => void>` | `undefined` | Array of plugins to apply to the proxy server | +| prependPath | `boolean` | `undefined` | Prepend the target's path to the proxy path | +| preserveHeaderKeyCase | `boolean` | `undefined` | Preserve the case of response header keys | +| protocolRewrite | `http` \| `https` | `https` if the protocol of the URL set by [bud.serve](https://bud.js.org/docs/bud.serve) resolved to `https:` | Rewrites the location protocol on (301 / 302 / 307 / 308) redirects | +| proxyTimeout | `number` | `undefined` | Specifies the number of milliseconds before the proxy times out | +| replacements | `Array<[string, string]>` | A tuple with the `target` origin paired with the dev server origin | Replaces `dev server url` with `proxy url` in the response body. This will never be called if `on` or `onProxyRequest` is overridden | +| router | `Record` | `undefined` | A map of regular expressions (`string`) to proxy options | +| secure | `boolean` | `false` | Verify that connection is secure | +| selfHandleResponse | `boolean` | `true` | Self handle the response. If this is set to `true` (default) then the supplied `onProxyRes` must return a response | +| ssl | [HttpsServerOptions](https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener) | `undefined` | SSL certificate options | +| target | `URL` | `http://0.0.0.0` | The target URL | +| timeout | `number` | `undefined` | Specifies the number of milliseconds before the proxy response times out | +| toProxy | `boolean` | `true` | Proxy to another server | +| xfwd | `boolean` | `undefined` | Adds x-forward headers | +| ws | `boolean` | `undefined` | Proxy websockets | diff --git a/sources/@roots/bud-api/package.json b/sources/@roots/bud-api/package.json index b4853719d8..8cf9d8dc44 100644 --- a/sources/@roots/bud-api/package.json +++ b/sources/@roots/bud-api/package.json @@ -66,9 +66,12 @@ "@roots/bud-extensions": "workspace:sources/@roots/bud-extensions", "@roots/bud-terser": "workspace:sources/@roots/bud-terser", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/http-proxy": "1.17.9", + "@types/node": "16.18.4", "copy-webpack-plugin": "11.0.0", - "html-webpack-plugin": "5.5.0" + "html-webpack-plugin": "5.5.0", + "http-proxy": "1.18.1", + "http-proxy-middleware": "3.0.0-beta.0" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-api/src/methods/bundle/index.ts b/sources/@roots/bud-api/src/methods/bundle/index.ts index 88779826e3..e4d4acf86a 100644 --- a/sources/@roots/bud-api/src/methods/bundle/index.ts +++ b/sources/@roots/bud-api/src/methods/bundle/index.ts @@ -1,4 +1,4 @@ -import {join, sep} from 'node:path' +import {join} from 'node:path' import type {Bud} from '@roots/bud-framework' import {isRegExp, isString} from '@roots/bud-support/lodash-es' @@ -45,15 +45,19 @@ export const bundle: bundle = function (this: Bud, name, matcher) { const filename = join(`js`, `bundle`, name, template) - const existing = splitChunks ?? { - chunks: `all`, - automaticNameDelimiter: sep, - minSize: 0, - } - const cacheGroups = existing?.cacheGroups ?? {} + const cacheGroups = + splitChunks && + typeof splitChunks === `object` && + splitChunks?.cacheGroups + ? splitChunks.cacheGroups + : {} return { - ...existing, + ...(splitChunks ?? { + chunks: `all`, + automaticNameDelimiter: `/`, + minSize: 0, + }), cacheGroups: { ...cacheGroups, [name]: { diff --git a/sources/@roots/bud-api/src/methods/proxy/helpers.ts b/sources/@roots/bud-api/src/methods/proxy/helpers.ts new file mode 100644 index 0000000000..21be6dc2d0 --- /dev/null +++ b/sources/@roots/bud-api/src/methods/proxy/helpers.ts @@ -0,0 +1,156 @@ +import type {Bud} from '@roots/bud-framework/bud' +import type * as Server from '@roots/bud-framework/services/server' +import { + isArray, + isFunction, + isObject, + isUndefined, +} from '@roots/bud-support/lodash-es' + +import type {Options} from './proxy.types.js' + +export const fallbackUrl = new URL(`http://0.0.0.0/`) + +export const maybeEnable = (bud: Bud, input: unknown) => { + bud.hooks.on( + `dev.middleware.enabled`, + input === false ? disableMiddleware : enableMiddleware, + ) +} + +/** + * Assign port + * + * @param bud + * @param port + * + * @public + */ +export const assignPort = (bud: Bud, port: number) => { + bud.hooks.on( + `dev.middleware.proxy.options.target`, + (url = fallbackUrl) => { + url.port = `${port}` + return url + }, + ) +} + +/** + * Assign a URL or a string to `proxy.options.target` + * + * @param bud + * @param maybeURL + * + * @public + */ +export const assignUrl = (bud: Bud, maybeURL: string | URL) => { + bud.hooks.on( + `dev.middleware.proxy.options.target`, + maybeURL instanceof URL ? maybeURL : new URL(maybeURL), + ) +} + +/** + * Assign a callback function `proxy.options` + * + * @param bud - bud instance + * @param optionsFn - options callback + */ +export const assignOptionsFunction = ( + bud: Bud, + optionsFn: (options?: Options) => Options, +) => { + bud.hooks.on(`dev.middleware.proxy.options`, optionsFn) +} + +/** + * Assign replacements + * + * @param bud - bud instance + * @param replacements - replacement tuples + * + * @public + */ +export const assignReplacements = ( + bud: Bud, + replacements: Options['replacements'], +) => { + bud.hooks.on(`dev.middleware.proxy.replacements`, replacements) +} + +/** + * Enables proxy middleware + * + * @remarks + * Callback for the `dev.middleware.enabled` hook + * If proxy middleware is already enabled it will be removed before it is re-added + * + * @public + */ +export const enableMiddleware = ( + middleware: Array | undefined = [], +): Array => { + return [...disableMiddleware(middleware), `cookie`, `proxy`] +} + +/** + * Disable proxy middleware + * + * @remarks + * Callback for the `dev.middleware.enabled` hook + * If proxy middleware is already enabled it will be removed before it is re-added + * + * @public + */ +export const disableMiddleware = ( + middleware: Array | undefined = [], +): Array => { + return middleware?.filter( + middleware => middleware !== `proxy` && middleware !== `cookie`, + ) +} + +export const isUrl = (obj: unknown): obj is URL => obj instanceof URL +export const isFalse = (obj: unknown): obj is false => obj === false +export const isOptionsObject = ( + obj: + | Options + | string + | number + | URL + | Array<[string, string]> + | CallableFunction + | boolean + | undefined, +): obj is Options => + isObject(obj) && + !(obj instanceof URL) && + !isArray(obj) && + !isFunction(obj) && + !isUndefined(obj) + +/** + * Map options object + * + * @param bud + * @param options + * + * @public + */ +export const assignOptions = (bud: Bud, options: Options): void => { + Object.entries(options).map(([key, value]) => { + if (key === `replacements`) + return bud.hooks.on( + `dev.middleware.proxy.replacements`, + options[key], + ) + + bud.hooks.on( + `dev.middleware.proxy.options.${ + key as keyof Omit + }`, + value, + ) + }) +} diff --git a/sources/@roots/bud-api/src/methods/proxy/index.ts b/sources/@roots/bud-api/src/methods/proxy/index.ts index c0f5ba50d3..09f7eb879e 100644 --- a/sources/@roots/bud-api/src/methods/proxy/index.ts +++ b/sources/@roots/bud-api/src/methods/proxy/index.ts @@ -1,115 +1,3 @@ -import type {Bud} from '@roots/bud-framework/bud' -import type * as Server from '@roots/bud-framework/services/server' -import {isNumber, isString} from '@roots/bud-support/lodash-es' +export {proxy} from './proxy.method.js' -type ReplacementTuples = Array<[string, string]> -type ReplacementCallback = ( - replacements: ReplacementTuples | undefined, -) => ReplacementTuples - -export type Parameters = [ - (URL | string | boolean | number)?, - (ReplacementCallback | ReplacementTuples)?, -] - -/** - * Enables proxy middleware - * - * @remarks - * Callback for the `dev.middleware.enabled` hook - * If proxy middleware is already enabled it will be removed before it is re-added - * - * @public - */ -export const enableMiddlewareHookCallback = ( - middleware: Array | undefined = [], -): Array => { - return [...disableMiddlewareHookCallback(middleware), `cookie`, `proxy`] -} - -/** - * Disable proxy middleware - * - * @remarks - * Callback for the `dev.middleware.enabled` hook - * If proxy middleware is already enabled it will be removed before it is re-added - * - * @public - */ -export const disableMiddlewareHookCallback = ( - middleware: Array | undefined = [], -): Array => { - return middleware?.filter( - middleware => middleware !== `proxy` && middleware !== `cookie`, - ) -} - -/** - * bud.proxy interface - * - * @public - */ -export interface proxy { - (...params: Parameters): Promise -} - -/** - * bud.proxy method - * - * @public - */ -export const proxy: proxy = async function ( - this: Bud, - input, - replacements, -) { - /** - * Bail early in production - */ - if (!this.isDevelopment) return this - - /** - * User proxy request from a port # - */ - if (isNumber(input)) { - this.hooks.on( - `dev.middleware.proxy.target`, - (url = new URL(`http://0.0.0.0`)) => { - url.port = `${input}` - return url - }, - ) - } - - /** - * User proxy request from a string - */ - if (isString(input)) { - this.hooks.on(`dev.middleware.proxy.target`, new URL(input)) - } - - /** - * User proxy request from a URL - */ - if (input instanceof URL) { - this.hooks.on(`dev.middleware.proxy.target`, input) - } - - /** - * Enable or disable middleware (implicitly enabled unless supplied value is `false`) - */ - this.hooks.on( - `dev.middleware.enabled`, - input === false - ? disableMiddlewareHookCallback - : enableMiddlewareHookCallback, - ) - - /** - * Handle URL replacements - */ - if (replacements === undefined) return this - this.hooks.on(`dev.middleware.proxy.replacements`, replacements) - - return this -} +export type {Parameters} from './proxy.types.js' diff --git a/sources/@roots/bud-api/src/methods/proxy/proxy.method.ts b/sources/@roots/bud-api/src/methods/proxy/proxy.method.ts new file mode 100644 index 0000000000..54c509d25f --- /dev/null +++ b/sources/@roots/bud-api/src/methods/proxy/proxy.method.ts @@ -0,0 +1,55 @@ +import type {Bud} from '@roots/bud-framework/bud' +import { + isArray, + isFunction, + isNumber, + isString, + isUndefined, +} from '@roots/bud-support/lodash-es' + +import { + assignOptions, + assignOptionsFunction, + assignPort, + assignReplacements, + assignUrl, + isFalse, + isOptionsObject, + isUrl, + maybeEnable, +} from './helpers.js' +import type {Parameters} from './proxy.types.js' + +/** + * bud.proxy interface + * + * @public + */ +export interface proxy { + (...params: Parameters): Promise +} + +/** + * bud.proxy method + * + * @public + */ +export const proxy: proxy = async function (this: Bud, input, options) { + // Bail early in production + if (!this.isDevelopment) return this + + maybeEnable(this, input) + + if (isFalse(input) || isUndefined(input)) return this + + if (isString(input) || isUrl(input)) assignUrl(this, input) + if (isNumber(input)) assignPort(this, input) + if (isFunction(input)) assignOptionsFunction(this, input) + if (isOptionsObject(input)) assignOptions(this, input) + + if (isArray(options) || isFunction(options)) + assignReplacements(this, options) + if (isOptionsObject(options)) assignOptions(this, options) + + return this +} diff --git a/sources/@roots/bud-api/src/methods/proxy/proxy.test.ts b/sources/@roots/bud-api/src/methods/proxy/proxy.test.ts index fb920034c1..032a5a47a7 100644 --- a/sources/@roots/bud-api/src/methods/proxy/proxy.test.ts +++ b/sources/@roots/bud-api/src/methods/proxy/proxy.test.ts @@ -4,45 +4,47 @@ import {URL} from 'node:url' import {factory} from '@repo/test-kit/bud' import {beforeEach, describe, expect, it, vi} from 'vitest' -import { - disableMiddlewareHookCallback, - enableMiddlewareHookCallback, - proxy, -} from './index.js' +import {disableMiddleware, enableMiddleware} from './helpers.js' +import {proxy as proxyFn} from './index.js' describe(`bud.proxy`, () => { let bud - let subject + let proxy beforeEach(async () => { + vi.clearAllMocks() bud = await factory({mode: `development`}) - subject = proxy.bind(bud) + proxy = proxyFn.bind(bud) }) it(`should call bud.hooks.on with a fn when called with a number`, async () => { const onSpy = vi.spyOn(bud.hooks, `on`) - await subject(3005) + await proxy(3005) - expect(onSpy).toHaveBeenCalledWith( - `dev.middleware.proxy.target`, + expect(onSpy).toHaveBeenLastCalledWith( + `dev.middleware.proxy.options.target`, expect.any(Function), ) }) it(`should set port when called with a number`, async () => { - await subject(3005) - expect(bud.hooks.filter(`dev.middleware.proxy.target`).port).toBe( - `3005`, - ) + await proxy(3005) + expect( + bud.hooks.filter(`dev.middleware.proxy.options.target`).port, + ).toBe(`3005`) }) it(`should call bud.hooks.on with a URL when called with a URL`, async () => { const onSpy = vi.spyOn(bud.hooks, `on`) - await subject(new URL(`https://example.com`)) + await proxy(new URL(`https://example.com`)) expect(onSpy).toHaveBeenCalledWith( - `dev.middleware.proxy.target`, + `dev.middleware.enabled`, + expect.any(Function), + ) + expect(onSpy).toHaveBeenLastCalledWith( + `dev.middleware.proxy.options.target`, expect.any(URL), ) }) @@ -50,10 +52,10 @@ describe(`bud.proxy`, () => { it(`should call bud.hooks.on with a URL when called with a string`, async () => { const onSpy = vi.spyOn(bud.hooks, `on`) - await subject(`https://example.com`) + await proxy(`https://example.com`) expect(onSpy).toHaveBeenCalledWith( - `dev.middleware.proxy.target`, + `dev.middleware.proxy.options.target`, expect.any(URL), ) }) @@ -61,7 +63,7 @@ describe(`bud.proxy`, () => { it(`should enable middleware when called with true`, () => { const onSpy = vi.spyOn(bud.hooks, `on`) - subject(true) + proxy(true) expect(onSpy).toHaveBeenNthCalledWith( 1, @@ -73,7 +75,7 @@ describe(`bud.proxy`, () => { it(`should enable middleware when called with false`, () => { const onSpy = vi.spyOn(bud.hooks, `on`) - subject(true) + proxy(true) expect(onSpy).toHaveBeenNthCalledWith( 1, @@ -85,7 +87,7 @@ describe(`bud.proxy`, () => { it(`should run replacements when called without replacements`, async () => { let onSpy = vi.spyOn(bud.hooks, `on`) - await subject(true) + await proxy(true) expect(onSpy).not.toHaveBeenLastCalledWith( `dev.middleware.proxy.replacements`, @@ -96,7 +98,20 @@ describe(`bud.proxy`, () => { it(`should run replacements when called with replacements`, async () => { let onSpy = vi.spyOn(bud.hooks, `on`) - await subject(true, [[/foo/, `bar`]]) + await proxy(true, [[/foo/, `bar`]]) + + expect(onSpy).toHaveBeenLastCalledWith( + `dev.middleware.proxy.replacements`, + [[/foo/, `bar`]], + ) + }) + + it(`should run replacements when specified as Options prop`, async () => { + let onSpy = vi.spyOn(bud.hooks, `on`) + + await proxy({ + replacements: [[/foo/, `bar`]], + }) expect(onSpy).toHaveBeenLastCalledWith( `dev.middleware.proxy.replacements`, @@ -105,13 +120,13 @@ describe(`bud.proxy`, () => { }) it(`should return bud`, async () => { - expect(await subject({foo: [`bar`]})).toEqual(bud) + expect(await proxy({foo: [`bar`]})).toEqual(bud) }) }) describe(`enableMiddlewareHookCallback`, async () => { it(`should add middleware`, () => { - expect(enableMiddlewareHookCallback([`dev`])).toEqual( + expect(enableMiddleware([`dev`])).toEqual( expect.arrayContaining([`dev`, `proxy`, `cookie`]), ) }) @@ -119,8 +134,8 @@ describe(`enableMiddlewareHookCallback`, async () => { describe(`disableMiddlewareHookCallback`, () => { it(`should remove middleware`, () => { - expect( - disableMiddlewareHookCallback([`dev`, `proxy`, `cookie`]), - ).toEqual(expect.arrayContaining([`dev`])) + expect(disableMiddleware([`dev`, `proxy`, `cookie`])).toEqual( + expect.arrayContaining([`dev`]), + ) }) }) diff --git a/sources/@roots/bud-api/src/methods/proxy/proxy.types.ts b/sources/@roots/bud-api/src/methods/proxy/proxy.types.ts new file mode 100644 index 0000000000..9392c4ecaa --- /dev/null +++ b/sources/@roots/bud-api/src/methods/proxy/proxy.types.ts @@ -0,0 +1,70 @@ +import type {Agent} from 'node:http' +import type {ServerOptions as HttpsServerOptions} from 'node:https' +import type {Stream} from 'node:stream' + +import type { + ProxyReqCallback, + ProxyResCallback, + ProxyTarget, + ProxyTargetUrl, + ServerOptions, +} from 'http-proxy' +import type * as HttpProxy from 'http-proxy' +import type * as ProxyMiddleware from 'http-proxy-middleware' + +export interface Options extends ProxyMiddleware.Options { + agent?: Agent + auth?: string + autoRewrite?: boolean + buffer?: Stream + changeOrigin?: boolean + cookieDomainRewrite?: Record + cookiePathRewrite?: Record + ejectPlugins?: boolean + followRedirects?: boolean + forward?: ProxyTargetUrl + headers?: Record + hostRewrite?: string + ignorePath?: boolean + localAddress?: string + logger?: Pick + on?: ProxyMiddleware.Options[`on`] + onProxyReq?: ProxyReqCallback + onProxyRes?: ProxyResCallback + pathFilter?: Array + pathRewrite?: Record + plugins?: Array<(proxyServer: HttpProxy, options: ServerOptions) => void> + prependPath?: boolean + preserveHeaderKeyCase?: boolean + protocolRewrite?: `http` | `https` + proxyTimeout?: number + router?: Record + secure?: boolean + selfHandleResponse?: boolean + ssl?: HttpsServerOptions + target?: URL + timeout?: number + toProxy?: boolean + ws?: boolean + xfwd?: boolean + + /** + * Not a proxy-party option + * + * Used by default `onProxyRes` handler to rewrite the page body + */ + replacements?: ReplacementTuples | ReplacementCallback +} + +export type ReplacementTuples = Array<[string, string]> + +export type ReplacementCallback = ( + replacements: ReplacementTuples | undefined, +) => ReplacementTuples + +export type OptionsCallback = (options: Options | undefined) => Options + +export type Parameters = [ + (URL | string | boolean | number | Options | OptionsCallback)?, + (Options | ReplacementCallback | ReplacementTuples)?, +] diff --git a/sources/@roots/bud-api/src/methods/serve/childError.ts b/sources/@roots/bud-api/src/methods/serve/childError.ts new file mode 100644 index 0000000000..7643254179 --- /dev/null +++ b/sources/@roots/bud-api/src/methods/serve/childError.ts @@ -0,0 +1,36 @@ +import type {Bud} from '@roots/bud-framework' +import {highlight} from '@roots/bud-support/highlight' + +import type {Parameters} from './index.js' + +export const checkChildInstanceError = ( + {api, isChild, label}: Bud, + ...input: Parameters +) => { + if (!isChild) return + + api.logger.warn( + `server configuration is being moved to the root instance of bud: ${label}`, + ) + + api.logger.warn( + `\ +to silence this warning move the \`bud.serve\` call from ${label} to ${label}: + +${highlight(`export default async bud => { + await bud.make(\`${label}\`, async bud => { + bud.serve(${JSON.stringify(input)}) + }) +}`)} + +should become: + +${highlight(`export default async bud => { + bud.serve(${JSON.stringify(input)}) + + await bud.make(\`${label}\`, async bud => { + // ...config + }) +}`)}`, + ) +} diff --git a/sources/@roots/bud-api/src/methods/serve/index.ts b/sources/@roots/bud-api/src/methods/serve/index.ts index 8255159129..908bbcfb66 100644 --- a/sources/@roots/bud-api/src/methods/serve/index.ts +++ b/sources/@roots/bud-api/src/methods/serve/index.ts @@ -1,156 +1,65 @@ -import type Https from 'node:https' -import type Http from 'node:https' - import type {Bud} from '@roots/bud-framework' -import {highlight} from '@roots/bud-support/highlight' -import {isEmpty, isNumber, isString} from '@roots/bud-support/lodash-es' -import {externalNetworkInterface} from '@roots/bud-support/os' +import { + isArray, + isEqual, + isNumber, + isString, + isUndefined, +} from '@roots/bud-support/lodash-es' import getPort from 'get-port' -/** - * Specification object - * - * @public - */ -export interface Specification { - /** - * Use ssl connection - * @public - */ - ssl?: boolean - - /** - * Ports that should not be returned. - * @public - */ - exclude?: number | Array - - /** - * Server URL - * @public - */ - url?: string | URL - - /** - * Hostname - * @public - */ - host?: string - - /** - * port - * @public - */ - port?: number | Array - - /** - * SSL certificate (path) - * @public - */ - cert?: string - - /** - * SSL key (path) - * @public - */ - key?: string - - /** - * http & https server options - * @public - */ - options?: Https.ServerOptions | Http.ServerOptions -} - -export type Parameters = [ - Specification | URL | string | number | Array, -] +import {checkChildInstanceError} from './childError.js' +import type {Options, Parameters, ServerOptions} from './serve.types.js' /** * bud.serve + * * @public */ export interface serve { - (...input: Parameters): Promise + (...parameters: Parameters): Promise } +export type {Options, Parameters, ServerOptions} /** * bud.serve + * * @public */ -export const serve: serve = async function (this: Bud, input) { +export const serve: serve = async function (this: Bud, input, options) { if (!this.isDevelopment) return this - if (this.isChild) { - this.api.logger.warn( - `server configuration is being moved to the root instance of bud: ${this.label}`, - ) - this.api.logger.warn( - `\ -to silence this warning move the \`bud.serve\` call from ${ - this.label - } to ${this.label}: - -${highlight(`export default async bud => { - await bud.make(\`${this.label}\`, async bud => { - bud.serve(${JSON.stringify(input)}) - }) -}`)} - -should become: - -${highlight(`export default async bud => { - bud.serve(${JSON.stringify(input)}) - - await bud.make(\`${this.label}\`, async bud => { - // ...config - }) -}`)}`, - ) - } - - const current = this.hooks.filter( - `dev.url`, - new URL(`http://${externalNetworkInterface.ipv4}:3000`), - ) - - this.log(`current dev url:`, current) - - if (Array.isArray(input) || isNumber(input)) { - this.log(`serve input is an array or number`, input) - - const port = await requestPorts(this, portOrPortsToNumbers(input)) - this.log(`port`, port, `is available. assigning.`) + checkChildInstanceError(this, input) - current.port = port + let resolvedUrl = + input instanceof URL + ? input + : this.hooks.filter(`dev.url`, new URL(`http://0.0.0.0`)) - this.log(`dev url set to:`, current) - this.hooks.on(`dev.url`, current) + let resolvedOptions = options ?? this.hooks.filter(`dev.options`, {}) - return this + if (isString(input)) { + resolvedUrl = new URL(input) } - if (input instanceof URL || isString(input)) { - this.log(`input is a URL or a string`, input) - - const url = input instanceof URL ? input : new URL(input) - this.log(`parsed as url:`, url) - - const requestedPort = url.port ?? current.port ?? `3000` - - url.port = await requestPorts( + if (isArray(input) || isNumber(input)) { + resolvedUrl.port = await requestPorts( this, - portOrPortsToNumbers(requestedPort), + portOrPortsToNumbers(input), ) - this.log(`port`, url.port, `is available. assigning.`) - - this.hooks.on(`dev.url`, url) - this.log(`dev url set to`, url) + } - return this + if ( + !(input instanceof URL) && + !isArray(input) && + typeof input === `object` + ) { + resolvedUrl = await makeURLFromObject(this, input, resolvedUrl) + resolvedOptions = await makeHttpOptions(this, input, resolvedOptions) } - await assignSpec.bind(this)(input, current) + this.hooks.on(`dev.url`, resolvedUrl) + this.hooks.on(`dev.options`, resolvedOptions) return this } @@ -159,38 +68,50 @@ ${highlight(`export default async bud => { * Process specification object * @public */ -const assignSpec = async function ( - this: Bud, - spec: Specification, +const makeURLFromObject = async function ( + bud: Bud, + options: Options, url: URL, -) { - const options: Partial = {} - - if (spec.url) - url = spec.url instanceof URL ? spec.url : new URL(spec.url) - - if ([spec.ssl, spec.cert, spec.key].some(Boolean)) { - url.protocol = `https:` +): Promise { + if (options.url) { + return options.url instanceof URL ? options.url : new URL(options.url) } - if (spec.host) { - if ( - [spec.host.startsWith(`http:`), spec.host.startsWith(`https:`)].some( - Boolean, - ) - ) - url = new URL(spec.host) - else url.hostname = spec.host - } - - if (spec.port) - url.port = await requestPorts(this, portOrPortsToNumbers(spec.port)) + if (options.host) url.hostname = options.host + if (options.port) url.port = `${options.port}` + if ( + [ + !isUndefined(options.ssl), + !isUndefined(options.cert), + !isUndefined(options.key), + !isUndefined(options?.options?.cert), + !isUndefined(options?.options?.key), + isEqual(options.port, 443), + ].some(Boolean) + ) + url.protocol = `https:` - this.hooks.on(`dev.url`, url) + return url +} - if (spec.cert) options.cert = await this.fs.read(spec.cert) - if (spec.key) options.key = await this.fs.read(spec.key) - if (!isEmpty(options)) this.hooks.on(`dev.options`, options) +/** + * Make ServerOptions from object + * + * @param bud - {@link Bud} + * @param input - {@link Options} + * @param resolvedOptions - {@link Options} + * @returns promise - {@link ServerOptions} + */ +const makeHttpOptions = async function ( + bud: Bud, + input: Options, + resolvedOptions: ServerOptions = {}, +): Promise { + if (input.options) resolvedOptions = input.options + if (input.cert) resolvedOptions.cert = await bud.fs.read(input.cert) + if (input.key) resolvedOptions.key = await bud.fs.read(input.key) + + return resolvedOptions } /** @@ -199,20 +120,20 @@ const assignSpec = async function ( * @public */ const requestPorts = async ( - app: Bud, - port: Array, + bud: Bud, + include: Array, exclude: Array = [], ) => { - const request = {port, exclude} + const request = {port: include, exclude} - const freePort = await getPort(request).then(p => `${p}`) + const port = await getPort(request) - if (!request.port?.includes(Number(freePort))) { - app.warn(`None of the requested ports could be resolved.`) - app.warn(`A port was automatically selected: ${freePort}`) + if (!request.port?.includes(port)) { + bud.warn(`None of the requested ports could be resolved.`) + bud.warn(`A port was automatically selected: ${port}`) } - return freePort + return `${port}` } /** diff --git a/sources/@roots/bud-api/src/methods/serve/serve.test.ts b/sources/@roots/bud-api/src/methods/serve/serve.test.ts index f87b747a95..120fef1f99 100644 --- a/sources/@roots/bud-api/src/methods/serve/serve.test.ts +++ b/sources/@roots/bud-api/src/methods/serve/serve.test.ts @@ -1,11 +1,10 @@ import {factory} from '@repo/test-kit/bud' -import {Bud} from '@roots/bud-framework' import {beforeEach, describe, expect, it, vi} from 'vitest' import {serve as serveFn} from './index.js' describe(`bud.serve`, () => { - let bud: Bud + let bud let serve: serveFn beforeEach(async () => { @@ -37,15 +36,16 @@ describe(`bud.serve`, () => { it(`should set from from URL`, async () => { await serve(new URL(`http://example.org:9696`)) + expect((bud.hooks.filter(`dev.url`) as URL).origin).toBe( `http://example.org:9696`, ) }) it(`should set from options`, async () => { - // @ts-ignore bud.fs.read = vi.fn(() => `test`) await serve({cert: `foo`}) + expect(bud.hooks.filter(`dev.options`).cert).toBe(`test`) }) @@ -53,14 +53,52 @@ describe(`bud.serve`, () => { const options = {host: `example.com`} await serve(options) - expect(bud.hooks.filter(`dev.url`).hostname).toStrictEqual( - options.host, - ) + const value = bud.hooks.filter(`dev.url`) + + expect(value.hostname).toStrictEqual(options.host) + expect(value.port).toStrictEqual(``) + expect(value.protocol).toStrictEqual(`http:`) + }) + + it(`should set from input.options.url (string)`, async () => { + const options = {url: `http://example.com:3124`} + await serve(options) + + const value = bud.hooks.filter(`dev.url`) + + expect(value.hostname).toStrictEqual(`example.com`) + expect(value.port).toStrictEqual(`3124`) + expect(value.protocol).toStrictEqual(`http:`) + }) + + it(`should set from input.options.url (url)`, async () => { + const options = {url: new URL(`http://example.com:3124`)} + await serve(options) + + const value = bud.hooks.filter(`dev.url`) + + expect(value.hostname).toStrictEqual(`example.com`) + expect(value.port).toStrictEqual(`3124`) + expect(value.protocol).toStrictEqual(`http:`) }) it(`should set from options.port`, async () => { await serve({port: 1234}) - expect(bud.hooks.filter(`dev.url`).port).toBe(`1234`) }) + + it(`should assign options passed as second parameter`, async () => { + bud.fs.read = vi.fn(param => param) + await serve(`https://example.test:3000`, {cert: `foo`, key: `bar`}) + + expect(bud.hooks.filter(`dev.options`)).toEqual( + expect.objectContaining({ + cert: `foo`, + key: `bar`, + }), + ) + expect(bud.hooks.filter(`dev.url`).origin).toBe( + `https://example.test:3000`, + ) + }) }) diff --git a/sources/@roots/bud-api/src/methods/serve/serve.types.ts b/sources/@roots/bud-api/src/methods/serve/serve.types.ts new file mode 100644 index 0000000000..30b9d11f2b --- /dev/null +++ b/sources/@roots/bud-api/src/methods/serve/serve.types.ts @@ -0,0 +1,72 @@ +import type Https from 'node:https' +import type Http from 'node:https' + +export type ServerOptions = Https.ServerOptions | Http.ServerOptions + +/** + * Options object + * + * @public + */ +export interface Options { + /** + * Use ssl connection + * + * @public + */ + ssl?: boolean + + /** + * Ports that should not be returned + * + * @public + */ + exclude?: number | Array + + /** + * Server URL + * + * @public + */ + url?: string | URL + + /** + * Hostname + * + * @public + */ + host?: string + + /** + * Port + * + * @public + */ + port?: number + + /** + * SSL certificate (path) + * + * @public + */ + cert?: string + + /** + * SSL key (path) + * + * @public + */ + key?: string + + /** + * http & https server options + * + * @public + */ + options?: Https.ServerOptions | Http.ServerOptions +} + +export type Parameters = [ + Options | URL | string | number | Array, + Options?, +] diff --git a/sources/@roots/bud-api/src/methods/splitChunks/index.ts b/sources/@roots/bud-api/src/methods/splitChunks/index.ts index 5d679819ba..1a04d3a240 100644 --- a/sources/@roots/bud-api/src/methods/splitChunks/index.ts +++ b/sources/@roots/bud-api/src/methods/splitChunks/index.ts @@ -2,7 +2,7 @@ import type {Bud} from '@roots/bud-framework' import {isUndefined} from '@roots/bud-support/lodash-es' import type {Optimization} from '@roots/bud-support/webpack' -export type Parameters = [Optimization.SplitChunks?] +export type Parameters = [(Optimization.SplitChunks | boolean)?] export interface splitChunks { (...parameters: Parameters): Promise diff --git a/sources/@roots/bud-api/src/methods/watch/watch.test.ts b/sources/@roots/bud-api/src/methods/watch/watch.test.ts index c5b479b8e4..68a3c68f30 100644 --- a/sources/@roots/bud-api/src/methods/watch/watch.test.ts +++ b/sources/@roots/bud-api/src/methods/watch/watch.test.ts @@ -15,15 +15,6 @@ describe(`bud.watch`, () => { it(`is a function`, () => expect(watch).toBeInstanceOf(Function)) - it(`should have expected default values`, async () => { - const value = bud.hooks.filter(`dev.watch.files`) - - if (!(value instanceof Set)) - throw new Error(`watch files should be a set`) - - expect(Array.from(value)).toStrictEqual([]) - }) - it(`adds watch files`, () => { watch(`1/*.js`) diff --git a/sources/@roots/bud-babel/package.json b/sources/@roots/bud-babel/package.json index 6c0fd87fe2..ebb2db49e7 100644 --- a/sources/@roots/bud-babel/package.json +++ b/sources/@roots/bud-babel/package.json @@ -59,10 +59,10 @@ "devDependencies": { "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { - "@babel/core": "7.20.2", + "@babel/core": "7.20.5", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-proposal-object-rest-spread": "7.20.2", "@babel/plugin-syntax-dynamic-import": "7.8.3", diff --git a/sources/@roots/bud-build/package.json b/sources/@roots/bud-build/package.json index 105fea6744..af55f9f858 100644 --- a/sources/@roots/bud-build/package.json +++ b/sources/@roots/bud-build/package.json @@ -79,19 +79,19 @@ "@skypack/package-check": "0.2.2", "@types/fs-extra": "9.0.13", "@types/mini-css-extract-plugin": "2.5.1", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", "@roots/bud-support": "workspace:sources/@roots/bud-support", - "css-loader": "^6.7.1", + "css-loader": "^6.7.2", "csv-loader": "^3.0.5", "file-loader": "^6.2.0", "fs-extra": "10.1.0", "helpful-decorators": "2.1.0", "html-loader": "^4.2.0", "json5": "2.2.1", - "mini-css-extract-plugin": "2.6.1", + "mini-css-extract-plugin": "2.7.1", "remark": "14.0.2", "remark-html": "15.0.1", "remark-loader": "5.0.0", diff --git a/sources/@roots/bud-cache/docs/exports.md b/sources/@roots/bud-cache/docs/01-exports.md similarity index 100% rename from sources/@roots/bud-cache/docs/exports.md rename to sources/@roots/bud-cache/docs/01-exports.md diff --git a/sources/@roots/bud-client/package.json b/sources/@roots/bud-client/package.json index 4456b9e850..2dd8d00b3e 100644 --- a/sources/@roots/bud-client/package.json +++ b/sources/@roots/bud-client/package.json @@ -36,26 +36,24 @@ "files": [ "lib/" ], - "main": "./lib/index.js", + "main": "./lib/index.cjs", "module": "./lib/index.mjs", "types": "./lib/index.d.ts", "exports": { - ".": "./lib/index.js", - "./lib/*": "./lib/*" - }, - "typesVersions": { - "*": { - ".": [ - "./lib/index.d.ts" - ], - "./lib/*": [ - "./lib/*.d.ts" - ] + ".": { + "types": "./lib/index.d.mts", + "require": "./lib/index.cjs", + "default": "./lib/index.mjs" + }, + "./lib/*": { + "types": "./lib/*.d.mts", + "require": "./lib/*", + "default": "./lib/*" } }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/webpack-env": "1.18.0" }, "volta": { diff --git a/sources/@roots/bud-client/src/hot/client.test.ts b/sources/@roots/bud-client/src/hot/client.test.ts index ec8349507e..333ed579ba 100644 --- a/sources/@roots/bud-client/src/hot/client.test.ts +++ b/sources/@roots/bud-client/src/hot/client.test.ts @@ -2,11 +2,9 @@ /** * @vitest-environment jsdom */ -import '../types/index.js' - import {describe, expect, it, vi} from 'vitest' -import client from './client.js' +import {client} from './client.js' import {injectEvents} from './events.js' import * as options from './options.js' diff --git a/sources/@roots/bud-client/src/hot/client.ts b/sources/@roots/bud-client/src/hot/client.ts index 213fd10426..935255ccfb 100644 --- a/sources/@roots/bud-client/src/hot/client.ts +++ b/sources/@roots/bud-client/src/hot/client.ts @@ -12,7 +12,7 @@ import * as clientOptions from './options.js' * * @public */ -export default async ( +export const client = async ( queryString: string, webpackHot: __WebpackModuleApi.Hot, ) => { diff --git a/sources/@roots/bud-client/src/hot/components/index.ts b/sources/@roots/bud-client/src/hot/components/index.ts index 35652420a5..3603d54a0d 100644 --- a/sources/@roots/bud-client/src/hot/components/index.ts +++ b/sources/@roots/bud-client/src/hot/components/index.ts @@ -1,19 +1,33 @@ +interface ControllerModule { + make: () => Promise +} + export const make: ( options: Options, ) => Promise> = async options => { - if (window.bud.controllers.length > 0) return window.bud.controllers - if (options.indicator && !customElements.get(`bud-activity-indicator`)) { await import(`./indicator/index.js`) - .then(async controller => await controller.make()) - .then(controller => window.bud.controllers.push(controller)) + .then(makeController) + .then(maybePushController) } if (options.overlay && !customElements.get(`bud-error`)) { await import(`./overlay/index.js`) - .then(async controller => await controller.make()) - .then(controller => window.bud.controllers.push(controller)) + .then(makeController) + .then(maybePushController) } return window.bud.controllers } + +const makeController = async ( + module: ControllerModule, +): Promise => { + if (!module) return + return await module.make() +} + +const maybePushController = (controller: Controller | undefined) => { + if (!controller) return + window.bud.controllers.push(controller) +} diff --git a/sources/@roots/bud-client/src/hot/components/indicator/index.ts b/sources/@roots/bud-client/src/hot/components/indicator/index.ts index c88a13c216..a06802a994 100644 --- a/sources/@roots/bud-client/src/hot/components/indicator/index.ts +++ b/sources/@roots/bud-client/src/hot/components/indicator/index.ts @@ -5,7 +5,6 @@ export const make = async (): Promise<{ update: (data: Payload) => void }> => { if (customElements.get(`bud-activity-indicator`)) return - customElements.define(`bud-activity-indicator`, Component) return new Controller() diff --git a/sources/@roots/bud-client/src/hot/index.cts b/sources/@roots/bud-client/src/hot/index.cts new file mode 100644 index 0000000000..8537aadda0 --- /dev/null +++ b/sources/@roots/bud-client/src/hot/index.cts @@ -0,0 +1,7 @@ +/* eslint-disable no-console */ +/* global __resourceQuery */ +/* global module */ + +import {client} from './client.js' + +client(__resourceQuery, module.hot) diff --git a/sources/@roots/bud-client/src/hot/index.mts b/sources/@roots/bud-client/src/hot/index.mts new file mode 100644 index 0000000000..cadb9bb62a --- /dev/null +++ b/sources/@roots/bud-client/src/hot/index.mts @@ -0,0 +1,9 @@ +/* eslint-disable no-console */ +/* global __resourceQuery */ +/* global module */ + +;(async () => + await import(`./client.js`).then( + async module => + await module.client(__resourceQuery, import.meta.webpackHot), + ))() diff --git a/sources/@roots/bud-client/src/hot/index.ts b/sources/@roots/bud-client/src/hot/index.ts deleted file mode 100644 index 1d3d8791f2..0000000000 --- a/sources/@roots/bud-client/src/hot/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* eslint-disable no-console */ -/* global __resourceQuery */ - -import client from './client.js' - -// @ts-ignore -const webpackHot: __WebpackModuleApi.Hot = import.meta - ? // @ts-ignore - import.meta.webpackHot - : module.hot - -;(async () => await client(__resourceQuery, webpackHot))() diff --git a/sources/@roots/bud-client/src/index.ts b/sources/@roots/bud-client/src/index.cts similarity index 100% rename from sources/@roots/bud-client/src/index.ts rename to sources/@roots/bud-client/src/index.cts diff --git a/sources/@roots/bud-client/src/types/index.ts b/sources/@roots/bud-client/src/types/index.d.ts similarity index 100% rename from sources/@roots/bud-client/src/types/index.ts rename to sources/@roots/bud-client/src/types/index.d.ts diff --git a/sources/@roots/bud-client/tsconfig.json b/sources/@roots/bud-client/tsconfig.json index 40b398db3f..2d7a6372ee 100644 --- a/sources/@roots/bud-client/tsconfig.json +++ b/sources/@roots/bud-client/tsconfig.json @@ -2,17 +2,16 @@ "extends": "../../../config/tsconfig.json", "compilerOptions": { "importHelpers": false, - "module": "commonjs", - "moduleDetection": "auto", + "module": "es2020", "rootDir": "./src", "sourceMap": false, "outDir": "./lib", "target": "es6", }, "files": [ - "src/types/index.ts" + "src/types/index.d.ts" ], - "include": ["./src"], + "include": ["./src/**/*.ts", "./src/**/*.mts", "./src/**/*.cts"], "exclude": ["./lib", "./node_modules", "**/*.test.ts", "**/__fixtures__"], "references": [ {"path": "./../bud/tsconfig.json"}, diff --git a/sources/@roots/bud-compiler/package.json b/sources/@roots/bud-compiler/package.json index 517d805386..49d85df013 100644 --- a/sources/@roots/bud-compiler/package.json +++ b/sources/@roots/bud-compiler/package.json @@ -52,7 +52,7 @@ "devDependencies": { "@roots/bud-api": "workspace:sources/@roots/bud-api", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-compress/package.json b/sources/@roots/bud-compress/package.json index 00c91d6d51..d0789f3df5 100644 --- a/sources/@roots/bud-compress/package.json +++ b/sources/@roots/bud-compress/package.json @@ -68,7 +68,7 @@ "devDependencies": { "@roots/bud-api": "workspace:sources/@roots/bud-api", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-criticalcss/package.json b/sources/@roots/bud-criticalcss/package.json index 692e7bb048..8d13d84441 100644 --- a/sources/@roots/bud-criticalcss/package.json +++ b/sources/@roots/bud-criticalcss/package.json @@ -55,7 +55,7 @@ "devDependencies": { "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-dashboard/package.json b/sources/@roots/bud-dashboard/package.json index b20e16f802..ff009dc7c5 100644 --- a/sources/@roots/bud-dashboard/package.json +++ b/sources/@roots/bud-dashboard/package.json @@ -51,7 +51,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "ink-testing-library": "2.1.0" }, "dependencies": { diff --git a/sources/@roots/bud-dashboard/src/render/app.test.tsx b/sources/@roots/bud-dashboard/src/render/app.test.tsx index c5f0f4076f..27099e8c57 100644 --- a/sources/@roots/bud-dashboard/src/render/app.test.tsx +++ b/sources/@roots/bud-dashboard/src/render/app.test.tsx @@ -1,41 +1,19 @@ -import type {Bud} from '@roots/bud-framework' +import {Bud, factory} from '@repo/test-kit/bud' import React from '@roots/bud-support/react' import {render} from 'ink-testing-library' -import {describe, expect, it, vi} from 'vitest' +import {beforeEach, describe, expect, it, vi} from 'vitest' import App from './app' -const mockLogger = { - instance: { - scope: vi.fn(), - }, - scope: [], -} - -mockLogger.instance.scope = vi.fn(() => mockLogger) - const mockCompilations = [{}] -const bud = { - isDevelopment: true, - context: { - args: { - ci: false, - log: true, - }, - }, - hooks: { - filter: vi.fn(() => new URL(`http://localhost:8080`)), - }, - logger: mockLogger, - server: { - connection: { - url: new URL(`http://localhost:3000`), - }, - }, -} as unknown as Bud - describe(`@roots/bud-dashboard app component`, () => { + let bud + + beforeEach(async () => { + bud = await factory() + }) + it(`should render stats`, async () => { const {lastFrame} = render( { expect(lastFrame()).toContain(`external`) }) + it(`should render messages`, async () => { + const {lastFrame} = render( + // @ts-ignore + , + ) + + expect(lastFrame().split(`\n`)[1]).toContain(`stdout message`) + }) + it(`should render watch list`, async () => { const {lastFrame} = render( { return ( + {messages && ( + + {messages.stderr && ( + + )} + + {messages.stdout && ( + + )} + + )} + {compilations.map((compilation, id) => ( - - - {` `} - + - - {` `} - ))} diff --git a/sources/@roots/bud-dashboard/src/render/consoleBuffer/index.tsx b/sources/@roots/bud-dashboard/src/render/consoleBuffer/index.tsx new file mode 100644 index 0000000000..23f0e5aa4f --- /dev/null +++ b/sources/@roots/bud-dashboard/src/render/consoleBuffer/index.tsx @@ -0,0 +1,26 @@ +import {Box, Text} from '@roots/bud-support/ink' +import React from '@roots/bud-support/react' + +const ConsoleBuffer = ({ + color, + label, + messages, +}: { + color: string + label: string + messages: Array +}) => { + return ( + <> + {messages.map((message, id) => ( + + + [{label}] {message} + + + ))} + + ) +} + +export default ConsoleBuffer diff --git a/sources/@roots/bud-dashboard/src/render/renderer.tsx b/sources/@roots/bud-dashboard/src/render/renderer.tsx index ceb8a0db76..1bea3dfaad 100644 --- a/sources/@roots/bud-dashboard/src/render/renderer.tsx +++ b/sources/@roots/bud-dashboard/src/render/renderer.tsx @@ -1,4 +1,5 @@ import type {Bud} from '@roots/bud-framework' +import type ConsoleBuffer from '@roots/bud-framework/services/console' import {Box, render, Static} from '@roots/bud-support/ink' import React from '@roots/bud-support/react' import type {StatsCompilation} from '@roots/bud-support/webpack' @@ -7,20 +8,22 @@ import App from './app.js' import {TTYApp} from './input.js' interface Props { - stats: StatsCompilation - mode: Bud['mode'] context: Bud['context'] devUrl?: URL + messages: ConsoleBuffer['messages'] + mode: Bud['mode'] proxyUrl?: URL + stats: StatsCompilation watchFiles?: Set } export const renderDashboard = ({ - stats, - mode, context, devUrl, + messages, + mode, proxyUrl, + stats, watchFiles, }: Props) => { const compilations = stats?.children?.length @@ -45,6 +48,7 @@ export const renderDashboard = ({ displayAssets displayEntrypoints displayServerInfo={false} + messages={messages} /> )} @@ -58,6 +62,7 @@ export const renderDashboard = ({ proxyUrl={proxyUrl} watchFiles={watchFiles} context={context} + messages={messages} displayAssets displayEntrypoints displayServerInfo @@ -71,6 +76,7 @@ export const renderDashboard = ({ proxyUrl={proxyUrl} watchFiles={watchFiles} context={context} + messages={messages} displayAssets displayEntrypoints displayServerInfo diff --git a/sources/@roots/bud-dashboard/src/render/server/formatUrl.test.ts b/sources/@roots/bud-dashboard/src/render/server/formatUrl.test.ts index f889a2c3f1..457840c046 100644 --- a/sources/@roots/bud-dashboard/src/render/server/formatUrl.test.ts +++ b/sources/@roots/bud-dashboard/src/render/server/formatUrl.test.ts @@ -1,37 +1,24 @@ import {externalNetworkInterface} from '@roots/bud-support/os' import {describe, expect, it} from 'vitest' -import * as formatUrl from './formatUrl' +import {formatUrl} from './formatUrl' describe(`formatUrl`, () => { describe(`internal`, () => { it(`should return a formatted string`, () => { - expect(formatUrl.internal(`http:`, `example.com`, `:3000`)).toBe( - `http://example.com:3000`, - ) + const url = new URL(`http://example.com:3000`) + expect(formatUrl(url)).toBe(`http://example.com:3000`) }) it(`should return localhost instead of 0.0.0.0`, () => { - expect(formatUrl.internal(`http:`, `0.0.0.0`, `:3000`)).toBe( - `http://localhost:3000`, - ) - }) - - it(`should return localhost instead of external ipv4`, () => { - expect( - formatUrl.internal( - `http:`, - externalNetworkInterface.ipv4, - `:8080`, - ), - ).toBe(`http://localhost:8080`) + const url = new URL(`http://0.0.0.0:3000`) + expect(formatUrl(url)).toBe(`http://localhost:3000`) }) - }) - describe(`external`, () => { - it(`should return a formatted string`, () => { - expect(formatUrl.external(`http:`, `example.com`, `:3000`)).toBe( - `http://example.com:3000`, + it(`should return external address`, () => { + const url = new URL(`http://${externalNetworkInterface.ipv4}:3000`) + expect(formatUrl(url)).toBe( + `http://${externalNetworkInterface.ipv4}:3000`, ) }) }) diff --git a/sources/@roots/bud-dashboard/src/render/server/formatUrl.ts b/sources/@roots/bud-dashboard/src/render/server/formatUrl.ts index ce20bdbebc..1f27fa3b4c 100644 --- a/sources/@roots/bud-dashboard/src/render/server/formatUrl.ts +++ b/sources/@roots/bud-dashboard/src/render/server/formatUrl.ts @@ -1,14 +1,11 @@ -import {externalNetworkInterface} from '@roots/bud-support/os' +import parsePort from './parsePort.js' -export const external = (protocol: string, host: string, port: string) => { - return `${protocol}//${host}${port}` -} +export const formatUrl = (url: URL): URL['origin'] => { + if (url.hostname === `0.0.0.0`) { + url.hostname = `localhost` + } -export const internal = (protocol: string, host: string, port: string) => { - const hostname = - host === `0.0.0.0` || host === externalNetworkInterface.ipv4 - ? `localhost` - : host + url.port = parsePort(url.port) - return `${protocol}//${hostname}${port}` + return url.origin } diff --git a/sources/@roots/bud-dashboard/src/render/server/getProxy.test.ts b/sources/@roots/bud-dashboard/src/render/server/getProxy.test.ts index adfac1dd8c..1928cb061a 100644 --- a/sources/@roots/bud-dashboard/src/render/server/getProxy.test.ts +++ b/sources/@roots/bud-dashboard/src/render/server/getProxy.test.ts @@ -1,4 +1,4 @@ -import {describe, expect, it, vi} from 'vitest' +import {describe, expect, it} from 'vitest' import getProxy from './getProxy' @@ -7,22 +7,21 @@ describe(`getProxy`, () => { expect(getProxy(undefined)).toBe(false) }) + it(`should return joined hostname/protocol/port`, () => { + expect(getProxy(new URL(`http://localhost:3000`))).toBe( + `http://localhost:3000`, + ) + }) + it(`should return false for no hostname/protocol/port`, () => { - expect( - getProxy({ - // @ts-ignore - hostname: false, - // @ts-ignore - protocol: false, - // @ts-ignore - port: false, - }), - ).toBe(false) + expect(getProxy(new URL(`https://localhost:8080`))).toBe( + `https://localhost`, + ) }) it(`should return object matching url`, () => { expect(getProxy(new URL(`http://example.com:3000`))).toEqual( - expect.stringMatching(/^http:\/\/example\.com:.*/), + expect.stringMatching(/^http:\/\/example\.com:3000.*/), ) }) }) diff --git a/sources/@roots/bud-dashboard/src/render/server/getProxy.ts b/sources/@roots/bud-dashboard/src/render/server/getProxy.ts index 98282841f9..a0cda21e2b 100644 --- a/sources/@roots/bud-dashboard/src/render/server/getProxy.ts +++ b/sources/@roots/bud-dashboard/src/render/server/getProxy.ts @@ -1,5 +1,4 @@ -import * as formatUrl from './formatUrl.js' -import parsePort from './parsePort.js' +import {formatUrl} from './formatUrl.js' /** * Get formatted proxy url @@ -9,11 +8,7 @@ import parsePort from './parsePort.js' const getProxy = (url?: URL) => { if (!url) return false - const {protocol, port, hostname} = url - - if (!hostname || !port || !protocol) return false - - return formatUrl.external(protocol, hostname, parsePort(port)) + return formatUrl(url) } export default getProxy diff --git a/sources/@roots/bud-dashboard/src/render/server/getServer.ts b/sources/@roots/bud-dashboard/src/render/server/getServer.ts index 3c3afa9fc3..6d5d63ba47 100644 --- a/sources/@roots/bud-dashboard/src/render/server/getServer.ts +++ b/sources/@roots/bud-dashboard/src/render/server/getServer.ts @@ -1,7 +1,6 @@ import {externalNetworkInterface} from '@roots/bud-support/os' -import * as formatUrl from './formatUrl.js' -import parsePort from './parsePort.js' +import {formatUrl} from './formatUrl.js' /** * Get formatted server url @@ -13,17 +12,12 @@ const getServer = ( ): {internal: string; external: string} | false => { if (!url) return false - const {protocol, port, hostname: internal} = url - - if (!internal || !port || !protocol) return false + const external = externalNetworkInterface.ipv4Url(url.protocol) + external.port = url.port return { - internal: formatUrl.internal(protocol, internal, parsePort(port)), - external: formatUrl.external( - protocol, - externalNetworkInterface.ipv4, - parsePort(port), - ), + internal: formatUrl(url), + external: external.origin, } } diff --git a/sources/@roots/bud-dashboard/src/render/server/parsePort.ts b/sources/@roots/bud-dashboard/src/render/server/parsePort.ts index 16dbf5db10..db4151275c 100644 --- a/sources/@roots/bud-dashboard/src/render/server/parsePort.ts +++ b/sources/@roots/bud-dashboard/src/render/server/parsePort.ts @@ -5,10 +5,15 @@ import {isNumber, isString} from '@roots/bud-support/lodash-es' * * @public */ -const parsePort = (port: string | number): string => - (isString(port) && [``, `80`, `8080`].includes(port)) || - (isNumber(port) && [80, 8080].includes(port)) - ? `` - : `:${port}` +const parsePort = (port: string | number | undefined): string => { + if ( + !port || + (isString(port) && [``, `80`, `8080`].includes(port)) || + (isNumber(port) && [80, 8080].includes(port)) + ) + return `` + + return `:${port}` +} export default parsePort diff --git a/sources/@roots/bud-dashboard/src/service.ts b/sources/@roots/bud-dashboard/src/service.ts index aac5e5e16c..cbecb0ddba 100644 --- a/sources/@roots/bud-dashboard/src/service.ts +++ b/sources/@roots/bud-dashboard/src/service.ts @@ -117,17 +117,19 @@ export class Dashboard context: this.app.context, mode: this.app.mode, devUrl: this.app.hooks.filter(`dev.url`), - proxyUrl: this.app.hooks.filter(`dev.middleware.proxy.target`), + proxyUrl: this.app.hooks.filter( + `dev.middleware.proxy.options.target`, + ), watchFiles: this.app.server?.watcher?.files, + messages: { + stdout: this.app.consoleBuffer.fetchAndRemove(`stdout`), + stderr: this.app.consoleBuffer.fetchAndRemove(`stderr`), + }, }) } catch (e) {} if (hasErrors && this.app.isProduction) { - throw new Error( - compilations - .map(compilation => compilation.errors?.join(`\n`)) - .join(`\n`), - ) + throw new Error() } } diff --git a/sources/@roots/bud-emotion/package.json b/sources/@roots/bud-emotion/package.json index 456bbd84c5..5c80caa3ec 100644 --- a/sources/@roots/bud-emotion/package.json +++ b/sources/@roots/bud-emotion/package.json @@ -61,12 +61,12 @@ } }, "devDependencies": { - "@babel/core": "7.20.2", + "@babel/core": "7.20.5", "@roots/bud": "workspace:sources/@roots/bud", "@roots/bud-babel": "workspace:sources/@roots/bud-babel", "@roots/bud-swc": "workspace:sources/@roots/bud-swc", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/react": "17.0.52", "react": "17.0.2" }, @@ -77,7 +77,7 @@ "@emotion/styled": "^11.10.5", "@roots/bud-framework": "workspace:sources/@roots/bud-framework", "@roots/bud-support": "workspace:sources/@roots/bud-support", - "@swc/plugin-emotion": "2.5.21" + "@swc/plugin-emotion": "2.5.27" }, "peerDependencies": { "@emotion/babel-plugin": "*", diff --git a/sources/@roots/bud-entrypoints/package.json b/sources/@roots/bud-entrypoints/package.json index bec3f4fe32..c0348c832f 100644 --- a/sources/@roots/bud-entrypoints/package.json +++ b/sources/@roots/bud-entrypoints/package.json @@ -57,7 +57,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-esbuild/package.json b/sources/@roots/bud-esbuild/package.json index 0fab4fec24..6391e03c2d 100644 --- a/sources/@roots/bud-esbuild/package.json +++ b/sources/@roots/bud-esbuild/package.json @@ -60,7 +60,7 @@ "devDependencies": { "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-eslint/package.json b/sources/@roots/bud-eslint/package.json index 9b05c830e0..59c4d88743 100644 --- a/sources/@roots/bud-eslint/package.json +++ b/sources/@roots/bud-eslint/package.json @@ -55,12 +55,12 @@ "devDependencies": { "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", "@roots/bud-support": "workspace:sources/@roots/bud-support", - "eslint": "8.27.0", + "eslint": "8.28.0", "eslint-webpack-plugin": "^3.2.0" }, "peerDependencies": { diff --git a/sources/@roots/bud-extensions/package.json b/sources/@roots/bud-extensions/package.json index f456b02830..2499c1301c 100644 --- a/sources/@roots/bud-extensions/package.json +++ b/sources/@roots/bud-extensions/package.json @@ -55,7 +55,7 @@ "types": "./lib/index.d.ts", "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "palette-webpack-plugin": "1.0.5" }, "dependencies": { @@ -66,7 +66,7 @@ "clean-webpack-plugin": "4.0.0", "copy-webpack-plugin": "11.0.0", "html-webpack-plugin": "5.5.0", - "mini-css-extract-plugin": "2.6.1", + "mini-css-extract-plugin": "2.7.1", "webpack-manifest-plugin": "5.0.0" }, "peerDependencies": { diff --git a/sources/@roots/bud-framework/package.json b/sources/@roots/bud-framework/package.json index b29052c4de..72a28c949f 100644 --- a/sources/@roots/bud-framework/package.json +++ b/sources/@roots/bud-framework/package.json @@ -42,107 +42,89 @@ "types": "./lib/index.d.ts", "default": "./lib/index.js" }, - "./bud": "./lib/bud.js", - "./configuration": "./lib/configuration/index.js", - "./extension": "./lib/extension/index.js", - "./extension/decorators": "./lib/extension/decorators/index.js", - "./extension/decorators/*": "./lib/extension/decorators/*.js", + "./bud": { + "types": "./lib/bud.d.ts", + "default": "./lib/bud.js" + }, + "./config": { + "types": "./lib/types/config/index.d.ts", + "default": "./lib/types/config/index.js" + }, + "./configuration": { + "types": "./lib/configuration/index.d.ts", + "default": "./lib/configuration/index.js" + }, + "./extension": { + "types": "./lib/extension/index.d.ts", + "default": "./lib/extension/index.js" + }, + "./extension/decorators": { + "types": "./lib/extension/decorators/index.d.ts", + "default": "./lib/extension/decorators/index.js" + }, + "./extension/decorators/*": { + "types": "./lib/extension/decorators/*.d.ts", + "default": "./lib/extension/decorators/*.js" + }, "./logger": "./lib/logger/index.js", "./methods": "./lib/methods/index.js", "./methods/*": "./lib/methods/*.js", "./module": "./lib/module.js", + "./options": { + "types": "./lib/types/options/index.d.ts", + "default": "./lib/types/options/index.js" + }, + "./options/*": { + "types": "./lib/types/options/*.d.ts", + "default": "./lib/types/options/*.js" + }, "./parsers": "./lib/parsers/index.js", "./parsers/*": "./lib/parsers/*.js", - "./service": "./lib/service.js", - "./services/*": "./lib/services/*.js", + "./registry": { + "types": "./lib/types/registry/index.d.ts", + "default": "./lib/types/registry/index.js" + }, + "./registry/*": { + "types": "./lib/types/registry/*.d.ts", + "default": "./lib/types/registry/*.js" + }, + "./service": { + "types": "./lib/service.d.ts", + "default": "./lib/service.js" + }, + "./services": { + "types": "./lib/types/services/index.d.ts", + "default": "./lib/types/services/index.js" + }, + "./services/api": { + "types": "./lib/services/api.d.ts", + "default": "./lib/services/api.js" + }, + "./services/console": { + "types": "./lib/services/console.d.ts", + "default": "./lib/services/console.js" + }, + "./services/fs": { + "types": "./lib/services/fs.d.ts", + "default": "./lib/services/fs.js" + }, + "./services/build/*": { + "types": "./lib/types/services/build/*.d.ts", + "default": "./lib/types/services/build/*.js" + }, + "./services/*": { + "types": "./lib/types/services/*/index.d.ts", + "default": "./lib/types/services/*/index.js" + }, "./value": "./lib/value.js" }, "module": "./lib/index.js", "types": "./lib/index.d.ts", - "typesVersions": { - "*": { - ".": [ - "./lib/index.d.ts" - ], - "bud": [ - "./lib/bud.d.ts" - ], - "configuration": [ - "./lib/configuration/index.d.ts" - ], - "extension": [ - "./lib/extension/index.d.ts" - ], - "extension/decorators": [ - "./lib/extension/decorators/index.d.ts" - ], - "extension/decorators/*": [ - "./lib/extension/decorators/*.d.ts" - ], - "logger": [ - "./lib/logger/index.d.ts" - ], - "methods": [ - "./lib/methods/index.d.ts" - ], - "methods/*": [ - "./lib/methods/*.d.ts" - ], - "parsers": [ - "./lib/parsers/index.d.ts" - ], - "parsers/*": [ - "./lib/parsers/*.d.ts" - ], - "service": [ - "./lib/service.d.ts" - ], - "options": [ - "./lib/types/options/index.d.ts" - ], - "options/*": [ - "./lib/types/options/*.d.ts", - "./lib/types/options/*/index.d.ts" - ], - "services": [ - "./lib/types/services/index.d.ts" - ], - "services/api": [ - "./lib/services/api.d.ts" - ], - "services/extensions": [ - "./lib/services/extensions.d.ts" - ], - "services/console": [ - "./lib/services/console.d.ts" - ], - "services/*": [ - "./lib/types/services/*.d.ts", - "./lib/types/services/*/index.d.ts" - ], - "registry": [ - "./lib/types/registry/index.d.ts" - ], - "registry/*": [ - "./lib/types/registry/*.d.ts", - "./lib/types/registry/*/index.d.ts" - ], - "value": [ - "./lib/value.d.ts" - ], - "config": [ - "./lib/types/config/index.d.ts" - ], - "config/*": [ - "./lib/types/config/*.d.ts" - ] - } - }, "devDependencies": { "@skypack/package-check": "0.2.2", "@types/http-proxy": "1.17.9", "@types/js-yaml": "4.0.5", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "chokidar": "3.5.3", "http-proxy-middleware": "3.0.0-beta.0" }, diff --git a/sources/@roots/bud-framework/src/bud.ts b/sources/@roots/bud-framework/src/bud.ts index 19cfb2161c..005fabea06 100644 --- a/sources/@roots/bud-framework/src/bud.ts +++ b/sources/@roots/bud-framework/src/bud.ts @@ -18,7 +18,7 @@ import type ConsoleBuffer from './services/console.js' import type FS from './services/fs.js' import type * as Options from './types/options/index.js' import type * as Registry from './types/registry/index.js' -import type Hooks from './types/services/hooks.js' +import type Hooks from './types/services/hooks/index.js' import type * as Services from './types/services/index.js' import Value from './value.js' diff --git a/sources/@roots/bud-framework/src/index.ts b/sources/@roots/bud-framework/src/index.ts index 1de688b5be..50840118e4 100644 --- a/sources/@roots/bud-framework/src/index.ts +++ b/sources/@roots/bud-framework/src/index.ts @@ -19,7 +19,7 @@ import Service, {ServiceContainer} from './service.js' import type * as Config from './types/config/index.js' import type * as Options from './types/options/index.js' import type * as Services from './types/services/index.js' -import type Hooks from './types/services/hooks.js' +import type Hooks from './types/services/hooks/index.js' import type {Items} from './types/registry/items.js' import type {Loaders} from './types/registry/loaders.js' diff --git a/sources/@roots/bud-framework/src/lifecycle/init.ts b/sources/@roots/bud-framework/src/lifecycle/init.ts index b65f475b0b..6eada5a15a 100644 --- a/sources/@roots/bud-framework/src/lifecycle/init.ts +++ b/sources/@roots/bud-framework/src/lifecycle/init.ts @@ -1,8 +1,6 @@ import {cpus} from 'node:os' import {join} from 'node:path' -import {externalNetworkInterface} from '@roots/bud-support/os' - import type {Bud} from '../bud.js' /** @@ -119,22 +117,7 @@ export const initialize = (app: Bud): Bud => }) .when(app.isDevelopment, ({hooks}) => hooks.fromMap({ - 'dev.middleware.dev.options.writeToDisk': true, - 'dev.middleware.dev.options.publicPath': () => - app.hooks.filter(`build.output.publicPath`), - 'dev.middleware.dev.options.headers': { - 'Access-Control-Allow-Origin': `*`, - 'Access-Control-Allow-Headers': `*`, - 'x-powered-by': `@roots/bud`, - }, 'dev.middleware.enabled': [`dev`, `hot`], - 'dev.url': () => - new URL(`http://${externalNetworkInterface.ipv4}:3000`), - 'dev.watch.files': new Set([]), - 'dev.watch.options': () => ({ - ignoreInitial: true, - cwd: app.path(), - }), }), ) diff --git a/sources/@roots/bud-framework/src/services/console.test.ts b/sources/@roots/bud-framework/src/services/console.test.ts new file mode 100644 index 0000000000..b14468bfde --- /dev/null +++ b/sources/@roots/bud-framework/src/services/console.test.ts @@ -0,0 +1,43 @@ +import {factory} from '@repo/test-kit/bud' +import {beforeEach, describe, expect, it, vi} from 'vitest' + +import ConsoleBuffer from './console.js' + +describe(`ConsoleBuffer`, () => { + let bud + let consoleBuffer + + beforeEach(async () => { + bud = await factory() + consoleBuffer = new ConsoleBuffer(() => bud) + }) + + it(`should not patch the console in ci`, async () => { + bud.context.args.ci = true + + await consoleBuffer.init(bud) + + expect(consoleBuffer.restore).not.toBeDefined() + }) + + it(`should store console.log to consoleBuffer.message.stdout`, async () => { + await consoleBuffer.init(bud) + + console.log(`foo`) + console.info(`bar`) + + expect(consoleBuffer.messages.stdout).toEqual( + expect.arrayContaining([`foo`, `bar`]), + ) + }) + + it(`should store console.error to consoleBuffer.message.stderr`, async () => { + await consoleBuffer.init(bud) + + console.error(`foo`) + + expect(consoleBuffer.messages.stderr).toEqual( + expect.arrayContaining([`foo`]), + ) + }) +}) diff --git a/sources/@roots/bud-framework/src/services/console.ts b/sources/@roots/bud-framework/src/services/console.ts index b199938231..a17179d851 100644 --- a/sources/@roots/bud-framework/src/services/console.ts +++ b/sources/@roots/bud-framework/src/services/console.ts @@ -14,16 +14,6 @@ interface MessagesCache { stderr: string[] } -/** - * Map stream name to logging function name - * - * @public - */ -const streamDictionary = { - stdout: `log`, - stderr: `error`, -} - /** * ConsoleBuffer service class * @@ -55,50 +45,36 @@ export default class ConsoleBuffer extends Service { * * @public */ - public restore: () => any + public restore?: () => any + + public fetchAndRemove(type: keyof MessagesCache) { + const fetchedMessages = [...this.messages[type]] + this.messages[type] = [] + return fetchedMessages + } /** - * `boot` callback + * `init` callback * * @public * @decorator `@bind` */ @bind - public override async boot(bud: Bud) { + public override async init(bud: Bud) { if (bud.context?.args?.ci) return // Patch the console, and assign the restore function this.restore = patchConsole((stream, data) => { if (!data || data === ``) return - /** - * Clean up log message whitespace, etc. - */ - const message = data - .split(`\n`) - .map(line => line.trim()) - .filter(Boolean) - .join(`\n`) - .trim() - - // Ignore empty messages + const message = data.trim() + // Ignore empty if (!message) return - // Ignore messages that have been logged before if (this.messages[stream].some(stale => stale === message)) return // Add message to buffer this.messages[stream].push(message) - - // Log message to console - this.logger - .scope(...bud.logger.scope, stream) - [streamDictionary[stream]](message) }) - - /** - * On compiler close event, restore {@link console} methods - */ - bud.hooks.action(`compiler.close`, this.restore) } } diff --git a/sources/@roots/bud-framework/src/types/registry/build.ts b/sources/@roots/bud-framework/src/types/registry/build.ts index a934f23f9f..9c8caae7f7 100644 --- a/sources/@roots/bud-framework/src/types/registry/build.ts +++ b/sources/@roots/bud-framework/src/types/registry/build.ts @@ -46,7 +46,7 @@ export interface Sync { 'optimization.moduleIds': Configuration['optimization']['moduleIds'] 'optimization.removeEmptyChunks': Configuration['optimization']['removeEmptyChunks'] 'optimization.runtimeChunk': Configuration['optimization']['runtimeChunk'] - 'optimization.splitChunks': Optimization.SplitChunks + 'optimization.splitChunks': Optimization.SplitChunks | false output: Configuration['output'] 'output.assetModuleFilename': Configuration['output']['assetModuleFilename'] 'output.chunkFilename': Configuration['output']['chunkFilename'] diff --git a/sources/@roots/bud-framework/src/types/registry/dev.ts b/sources/@roots/bud-framework/src/types/registry/dev.ts index aa1f652cc3..8e2e7a5b84 100644 --- a/sources/@roots/bud-framework/src/types/registry/dev.ts +++ b/sources/@roots/bud-framework/src/types/registry/dev.ts @@ -1,9 +1,31 @@ +import type {ListenOptions} from 'node:net' + import type {WatchOptions} from 'chokidar' import type {Bud} from '../../bud.js' import type * as Server from '../services/server/index.js' export interface Sync { + listenOptions: ListenOptions + + /** + * On listening callback + * @public + */ + onListening: Server.Connection['onListening'] + + /** + * Request callback + * @public + */ + onRequest: Server.Connection['onRequest'] + + /** + * Error callback + * @public + */ + onError: Server.Connection['onError'] + /** * Dev server connection options * @public @@ -45,35 +67,47 @@ export interface Sync { 'middleware.dev.options': Server.Middleware.Available['dev']['options'] 'middleware.dev.options.headers': Server.Middleware.Available['dev']['options']['headers'] + 'middleware.dev.options.methods': Server.Middleware.Available['dev']['options']['methods'] 'middleware.dev.options.index': Server.Middleware.Available['dev']['options']['index'] 'middleware.dev.options.publicPath': Server.Middleware.Available['dev']['options']['publicPath'] 'middleware.dev.options.writeToDisk': Server.Middleware.Available['dev']['options']['writeToDisk'] - /** - * Proxy URL paths - * @public - */ - 'middleware.proxy.paths': Array - 'middleware.proxy.options': Server.Middleware.Available['proxy']['options'] + 'middleware.proxy.options.agent': Server.Middleware.Available['proxy']['options']['agent'] + 'middleware.proxy.options.auth': Server.Middleware.Available['proxy']['options']['auth'] 'middleware.proxy.options.autoRewrite': Server.Middleware.Available['proxy']['options']['autoRewrite'] + 'middleware.proxy.options.buffer': Server.Middleware.Available['proxy']['options']['buffer'] 'middleware.proxy.options.changeOrigin': Server.Middleware.Available['proxy']['options']['changeOrigin'] 'middleware.proxy.options.cookieDomainRewrite': Server.Middleware.Available['proxy']['options']['cookieDomainRewrite'] + 'middleware.proxy.options.cookiePathRewrite': Server.Middleware.Available['proxy']['options']['cookiePathRewrite'] + 'middleware.proxy.options.ejectPlugins': Server.Middleware.Available['proxy']['options']['ejectPlugins'] 'middleware.proxy.options.followRedirects': Server.Middleware.Available['proxy']['options']['followRedirects'] 'middleware.proxy.options.forward': Server.Middleware.Available['proxy']['options']['forward'] 'middleware.proxy.options.headers': Record 'middleware.proxy.options.hostRewrite': Server.Middleware.Available['proxy']['options']['hostRewrite'] + 'middleware.proxy.options.ignorePath': Server.Middleware.Available['proxy']['options']['ignorePath'] + 'middleware.proxy.options.localAddress': Server.Middleware.Available['proxy']['options']['localAddress'] + 'middleware.proxy.options.logger': Server.Middleware.Available['proxy']['options']['logger'] + 'middleware.proxy.options.on': Server.Middleware.Available['proxy']['options']['on'] 'middleware.proxy.options.onProxyReq': Server.Middleware.Available['proxy']['options']['on']['proxyReq'] 'middleware.proxy.options.onProxyRes': Server.Middleware.Available['proxy']['options']['on']['proxyRes'] + 'middleware.proxy.options.pathFilter': Server.Middleware.Available['proxy']['options']['pathFilter'] + 'middleware.proxy.options.pathRewrite': Server.Middleware.Available['proxy']['options']['pathRewrite'] + 'middleware.proxy.options.plugins': Server.Middleware.Available['proxy']['options']['plugins'] + 'middleware.proxy.options.prependPath': Server.Middleware.Available['proxy']['options']['prependPath'] + 'middleware.proxy.options.preserveHeaderKeyCase': Server.Middleware.Available['proxy']['options']['preserveHeaderKeyCase'] 'middleware.proxy.options.protocolRewrite': Server.Middleware.Available['proxy']['options']['protocolRewrite'] + 'middleware.proxy.options.proxyTimeout': Server.Middleware.Available['proxy']['options']['proxyTimeout'] + 'middleware.proxy.options.router': Server.Middleware.Available['proxy']['options']['router'] 'middleware.proxy.options.secure': Server.Middleware.Available['proxy']['options']['secure'] 'middleware.proxy.options.selfHandleResponse': Server.Middleware.Available['proxy']['options']['selfHandleResponse'] - - /** - * Proxy target URL - * @public - */ - 'middleware.proxy.target': URL + 'middleware.proxy.options.ssl': Server.Middleware.Available['proxy']['options']['ssl'] + 'middleware.proxy.options.target': Server.Middleware.Available['proxy']['options']['target'] & + URL + 'middleware.proxy.options.timeout': Server.Middleware.Available['proxy']['options']['timeout'] + 'middleware.proxy.options.toProxy': Server.Middleware.Available['proxy']['options']['toProxy'] + 'middleware.proxy.options.ws': Server.Middleware.Available['proxy']['options']['ws'] + 'middleware.proxy.options.xfwd': Server.Middleware.Available['proxy']['options']['xfwd'] /** * Proxy middleware replacements diff --git a/sources/@roots/bud-framework/src/types/services/cache.ts b/sources/@roots/bud-framework/src/types/services/cache/index.ts similarity index 93% rename from sources/@roots/bud-framework/src/types/services/cache.ts rename to sources/@roots/bud-framework/src/types/services/cache/index.ts index 3c152a32a3..a27547c17f 100644 --- a/sources/@roots/bud-framework/src/types/services/cache.ts +++ b/sources/@roots/bud-framework/src/types/services/cache/index.ts @@ -1,6 +1,6 @@ import type {Configuration} from '@roots/bud-support/webpack' -import type {Service as BaseService} from '../../service.js' +import type {Service as BaseService} from '../../../service.js' /** * Cache service Interface diff --git a/sources/@roots/bud-framework/src/types/services/compiler.ts b/sources/@roots/bud-framework/src/types/services/compiler/index.ts similarity index 95% rename from sources/@roots/bud-framework/src/types/services/compiler.ts rename to sources/@roots/bud-framework/src/types/services/compiler/index.ts index c52d20497f..097d4ee152 100644 --- a/sources/@roots/bud-framework/src/types/services/compiler.ts +++ b/sources/@roots/bud-framework/src/types/services/compiler/index.ts @@ -7,7 +7,7 @@ import type { StatsCompilation, } from '@roots/bud-support/webpack' -import type {Service as BaseService} from '../../service.js' +import type {Service as BaseService} from '../../../service.js' /** * Compiler service interface diff --git a/sources/@roots/bud-framework/src/types/services/dashboard.ts b/sources/@roots/bud-framework/src/types/services/dashboard/index.ts similarity index 84% rename from sources/@roots/bud-framework/src/types/services/dashboard.ts rename to sources/@roots/bud-framework/src/types/services/dashboard/index.ts index 31ede6fb3e..98f554b637 100644 --- a/sources/@roots/bud-framework/src/types/services/dashboard.ts +++ b/sources/@roots/bud-framework/src/types/services/dashboard/index.ts @@ -1,6 +1,6 @@ import type {StatsCompilation} from '@roots/bud-support/webpack' -import type {Service as Base} from '../../service.js' +import type {Service as Base} from '../../../service.js' /** * Dashboard service container diff --git a/sources/@roots/bud-framework/src/types/services/env.ts b/sources/@roots/bud-framework/src/types/services/env/index.ts similarity index 78% rename from sources/@roots/bud-framework/src/types/services/env.ts rename to sources/@roots/bud-framework/src/types/services/env/index.ts index dab88e16b8..e608e9ed98 100644 --- a/sources/@roots/bud-framework/src/types/services/env.ts +++ b/sources/@roots/bud-framework/src/types/services/env/index.ts @@ -1,4 +1,4 @@ -import type {ServiceContainer} from '../../service.js' +import type {ServiceContainer} from '../../../service.js' /** * Env container interface diff --git a/sources/@roots/bud-framework/src/types/services/extensions.ts b/sources/@roots/bud-framework/src/types/services/extensions/index.ts similarity index 92% rename from sources/@roots/bud-framework/src/types/services/extensions.ts rename to sources/@roots/bud-framework/src/types/services/extensions/index.ts index 0b1ecf5291..e986937284 100644 --- a/sources/@roots/bud-framework/src/types/services/extensions.ts +++ b/sources/@roots/bud-framework/src/types/services/extensions/index.ts @@ -1,14 +1,14 @@ import type Container from '@roots/container' -import type {Bud} from '../../bud.js' +import type {Bud} from '../../../bud.js' import type { ApplyPlugin, Constructor, Extension, ExtensionLiteral, -} from '../../extension/index.js' -import type {Service as BaseService} from '../../service.js' -import type {Modules} from '../registry/modules.js' +} from '../../../extension/index.js' +import type {Service as BaseService} from '../../../service.js' +import type {Modules} from '../../registry/modules.js' export type LifecycleMethods = | 'init' diff --git a/sources/@roots/bud-framework/src/types/services/hooks.ts b/sources/@roots/bud-framework/src/types/services/hooks/index.ts similarity index 95% rename from sources/@roots/bud-framework/src/types/services/hooks.ts rename to sources/@roots/bud-framework/src/types/services/hooks/index.ts index 5caaacecd8..befd530695 100644 --- a/sources/@roots/bud-framework/src/types/services/hooks.ts +++ b/sources/@roots/bud-framework/src/types/services/hooks/index.ts @@ -1,6 +1,6 @@ -import type {Bud} from '../../bud.js' -import type {Service as BaseService} from '../../service.js' -import type * as Registry from '../registry/index.js' +import type {Bud} from '../../../bud.js' +import type {Service as BaseService} from '../../../service.js' +import type * as Registry from '../../registry/index.js' /** * Assign and filter callback to values. diff --git a/sources/@roots/bud-framework/src/types/services/index.ts b/sources/@roots/bud-framework/src/types/services/index.ts index 34c4e72d02..80a0f0947d 100644 --- a/sources/@roots/bud-framework/src/types/services/index.ts +++ b/sources/@roots/bud-framework/src/types/services/index.ts @@ -2,13 +2,13 @@ import type * as Service from '../../service.js' import type * as Api from '../../services/api.js' import type FS from '../../services/fs.js' import type * as Build from './build/index.js' -import type * as Cache from './cache.js' -import type * as Compiler from './compiler.js' -import type * as Dashboard from './dashboard.js' -import type * as Env from './env.js' -import type * as Extensions from './extensions.js' -import type Hooks from './hooks.js' -import type * as Project from './project.js' +import type * as Cache from './cache/index.js' +import type * as Compiler from './compiler/index.js' +import type * as Dashboard from './dashboard/index.js' +import type * as Env from './env/index.js' +import type * as Extensions from './extensions/index.js' +import type Hooks from './hooks/index.js' +import type * as Project from './project/index.js' import type * as Server from './server/index.js' /** diff --git a/sources/@roots/bud-framework/src/types/services/project.ts b/sources/@roots/bud-framework/src/types/services/project/index.ts similarity index 61% rename from sources/@roots/bud-framework/src/types/services/project.ts rename to sources/@roots/bud-framework/src/types/services/project/index.ts index ededd2839f..c42d4b8fbc 100644 --- a/sources/@roots/bud-framework/src/types/services/project.ts +++ b/sources/@roots/bud-framework/src/types/services/project/index.ts @@ -1,4 +1,4 @@ -import type {Service as Base} from '../../service.js' +import type {Service as Base} from '../../../service.js' /** * Peer service interface diff --git a/sources/@roots/bud-framework/src/types/services/server/connection.ts b/sources/@roots/bud-framework/src/types/services/server/connection.ts index 7b481dbab7..133a3d51df 100644 --- a/sources/@roots/bud-framework/src/types/services/server/connection.ts +++ b/sources/@roots/bud-framework/src/types/services/server/connection.ts @@ -27,12 +27,6 @@ export interface Connection { */ instance: HttpServer | HttpsServer - /** - * Resolved port - * @public - */ - port: number - /** * Resolved URL * @public @@ -45,12 +39,6 @@ export interface Connection { */ createServer(app: any): Promise - /** - * Setup - * @public - */ - setup(): Promise - /** * Listen * diff --git a/sources/@roots/bud-framework/src/types/services/server/middleware.ts b/sources/@roots/bud-framework/src/types/services/server/middleware.ts index 3c704e4af7..335c700f22 100644 --- a/sources/@roots/bud-framework/src/types/services/server/middleware.ts +++ b/sources/@roots/bud-framework/src/types/services/server/middleware.ts @@ -5,9 +5,18 @@ import type {Bud} from '../../../bud.js' export interface ProxyOptions extends HttpProxy.Options {} export interface DevOptions { - headers?: Record + /** + * Allows to pass custom HTTP headers on each request. + */ + headers?: Array<{key: string; value: string}> + /** + * If false (but not undefined), the server will not respond to requests to the root URL. + */ index?: string | boolean - methods?: string + /** + * This is Array (mistyped upstream) + */ + methods?: any mimeTypes?: {[key: string]: string} publicPath?: string writeToDisk?: boolean | ((targetPath: string) => boolean) diff --git a/sources/@roots/bud-framework/tsconfig.json b/sources/@roots/bud-framework/tsconfig.json index db50eb7616..1a1350d422 100644 --- a/sources/@roots/bud-framework/tsconfig.json +++ b/sources/@roots/bud-framework/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../../config/tsconfig.json", "compilerOptions": { + "types": ["express"], "rootDir": "./src", "outDir": "./lib" }, diff --git a/sources/@roots/bud-hooks/package.json b/sources/@roots/bud-hooks/package.json index cf37620ec0..91807492aa 100644 --- a/sources/@roots/bud-hooks/package.json +++ b/sources/@roots/bud-hooks/package.json @@ -55,7 +55,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-imagemin/package.json b/sources/@roots/bud-imagemin/package.json index 18aaf038ac..fa6b3900bd 100644 --- a/sources/@roots/bud-imagemin/package.json +++ b/sources/@roots/bud-imagemin/package.json @@ -45,7 +45,7 @@ "devDependencies": { "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-mdx/package.json b/sources/@roots/bud-mdx/package.json index d4959a79e7..460a4e6397 100644 --- a/sources/@roots/bud-mdx/package.json +++ b/sources/@roots/bud-mdx/package.json @@ -59,7 +59,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "react": "17.0.2", "react-dom": "17.0.2" }, diff --git a/sources/@roots/bud-postcss/package.json b/sources/@roots/bud-postcss/package.json index c92f48ee2f..41eb8d5ece 100644 --- a/sources/@roots/bud-postcss/package.json +++ b/sources/@roots/bud-postcss/package.json @@ -60,17 +60,17 @@ "devDependencies": { "@roots/bud-build": "workspace:sources/@roots/bud-build", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/signale": "1.4.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", "@roots/bud-support": "workspace:sources/@roots/bud-support", "postcss": "8.4.19", - "postcss-import": "15.0.0", - "postcss-loader": "7.0.1", + "postcss-import": "15.0.1", + "postcss-loader": "7.0.2", "postcss-nested": "6.0.0", - "postcss-preset-env": "7.8.2" + "postcss-preset-env": "7.8.3" }, "peerDependencies": { "@roots/bud": "*", diff --git a/sources/@roots/bud-preset-recommend/package.json b/sources/@roots/bud-preset-recommend/package.json index 285a1030bd..f4acb32442 100644 --- a/sources/@roots/bud-preset-recommend/package.json +++ b/sources/@roots/bud-preset-recommend/package.json @@ -65,7 +65,7 @@ "@roots/bud-esbuild": "workspace:sources/@roots/bud-esbuild", "@roots/bud-swc": "workspace:sources/@roots/bud-swc", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-babel": "workspace:sources/@roots/bud-babel", diff --git a/sources/@roots/bud-preset-wordpress/package.json b/sources/@roots/bud-preset-wordpress/package.json index 72303481a1..72e4736783 100644 --- a/sources/@roots/bud-preset-wordpress/package.json +++ b/sources/@roots/bud-preset-wordpress/package.json @@ -39,9 +39,19 @@ "module": "./lib/index.js", "types": "./lib/index.d.ts", "exports": { - ".": "./lib/index.js", - "./extension": "./lib/extension.js", - "./stylelint-config": "./stylelint-config/index.cjs" + ".": { + "types": "./lib/index.d.ts", + "default": "./lib/index.js" + }, + "./extension": { + "types": "./lib/extension.d.ts", + "default": "./lib/extension.js" + }, + "./stylelint-config": "./stylelint-config/index.cjs", + "./theme": { + "types": "./lib/theme.d.ts", + "default": "./lib/theme.js" + } }, "typesVersions": { "*": { @@ -59,7 +69,7 @@ "devDependencies": { "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/browserslist-config": "workspace:sources/@roots/browserslist-config", diff --git a/sources/@roots/bud-preset-wordpress/src/extension.test.ts b/sources/@roots/bud-preset-wordpress/src/extension.test.ts index 16d9867152..4fcef820f7 100644 --- a/sources/@roots/bud-preset-wordpress/src/extension.test.ts +++ b/sources/@roots/bud-preset-wordpress/src/extension.test.ts @@ -1,123 +1,12 @@ import {factory} from '@repo/test-kit/bud' -import {describe, expect, it, vi} from 'vitest' +import {describe, expect, it} from 'vitest' import BudPresetWordPress from './index.js' describe(`@roots/bud-preset-wordpress`, () => { it(`should have label`, async () => { const bud = await factory({mode: `development`}) - bud.env.set(`WP_HOME`, `http://localhost:8080`) const extension = new BudPresetWordPress(bud) - expect(extension.label).toBe(`@roots/bud-preset-wordpress`) }) - - it(`should have configAfter method`, async () => { - const bud = await factory({mode: `development`}) - bud.env.set(`WP_HOME`, `http://localhost:8080`) - const extension = new BudPresetWordPress(bud) - - expect(extension.configAfter).toBeInstanceOf(Function) - }) - - it(`should call bud.proxy when conditions are met`, async () => { - const bud = await factory({mode: `development`}) - bud.env.set(`WP_HOME`, `http://localhost:8080`) - const extension = new BudPresetWordPress(bud) - - const proxySpy = vi.spyOn(bud, `proxy`) - await extension.configAfter(bud) - expect(proxySpy).toHaveBeenCalled() - }) - - it(`should not call bud.proxy when isProduction is true`, async () => { - const bud = await factory({mode: `production`}) - bud.env.set(`WP_HOME`, `http://localhost:8080`) - const extension = new BudPresetWordPress(bud) - - const proxySpy = vi.spyOn(bud, `proxy`) - - await extension.configAfter(bud) - - expect(bud.mode).toBe(`production`) - expect(extension.app.mode).toBe(`production`) - expect(proxySpy).not.toHaveBeenCalled() - }) - - it(`should not call bud.proxy when proxy already called`, async () => { - const bud = await factory({mode: `development`}) - bud.env.set(`WP_HOME`, `http://localhost:8080`) - const extension = new BudPresetWordPress(bud) - - bud.hooks.on( - `dev.middleware.proxy.target`, - new URL(`http://localhost:8080`), - ) - - const proxySpy = vi.spyOn(bud, `proxy`) - - await extension.configAfter(bud) - expect(proxySpy).not.toHaveBeenCalled() - }) - - it(`should not call bud.proxy when dev.middleware.proxy.target value is set`, async () => { - const bud = await factory({mode: `development`}) - bud.hooks.on( - `dev.middleware.proxy.target`, - new URL(`http://localhost:8080`), - ) - const extension = new BudPresetWordPress(bud) - - const filterSpy = vi.spyOn(bud.hooks, `filter`) - const proxySpy = vi.spyOn(bud, `proxy`) - - await extension.configAfter(bud) - - expect(filterSpy).toHaveBeenCalled() - expect(filterSpy).toHaveBeenCalledWith(`dev.middleware.proxy.target`) - expect(proxySpy).not.toHaveBeenCalled() - }) - - it(`should not call bud.proxy when WP_HOME is not set`, async () => { - const bud = await factory({mode: `development`}) - bud.env.set(`WP_HOME`, undefined) - const extension = new BudPresetWordPress(bud) - - const proxySpy = vi.spyOn(bud, `proxy`) - - await extension.configAfter(bud) - expect(proxySpy).not.toHaveBeenCalled() - }) - - it(`should not call bud.proxy when WP_HOME is not a string`, async () => { - const bud = await factory({mode: `development`}) - bud.env.set(`WP_HOME`, 0) - const extension = new BudPresetWordPress(bud) - - const proxySpy = vi.spyOn(bud, `proxy`) - const isStringSpy = vi.spyOn(bud.env, `isString`) - - await extension.configAfter(bud) - expect(isStringSpy).toHaveBeenCalled() - expect(isStringSpy).toHaveBeenCalledWith(`WP_HOME`) - expect(proxySpy).not.toHaveBeenCalled() - }) - - it(`should warn when proxy set call results in error`, async () => { - const bud = await factory({mode: `development`}) - bud.env.set(`WP_HOME`, `1234567890`) - const extension = new BudPresetWordPress(bud) - const warnSpy = vi.spyOn(bud, `warn`) - - await extension.configAfter(bud) - - expect(warnSpy).toHaveBeenCalled() - expect(warnSpy).toHaveBeenCalledWith( - `@roots/bud-preset-wordpress: tried to set proxy based on value of WP_HOME but failed\n`, - `WP_HOME is set as: 1234567890`, - `\n`, - `Please check your .env file and ensure that WP_HOME is a valid URL`, - `or call bud.proxy in your configuration file`, - ) - }) }) diff --git a/sources/@roots/bud-preset-wordpress/src/extension.ts b/sources/@roots/bud-preset-wordpress/src/extension.ts index 2bfe4504f4..4d7340c729 100644 --- a/sources/@roots/bud-preset-wordpress/src/extension.ts +++ b/sources/@roots/bud-preset-wordpress/src/extension.ts @@ -1,7 +1,5 @@ -import type {Bud} from '@roots/bud-framework' import {Extension} from '@roots/bud-framework/extension' import { - bind, dependsOn, expose, label, @@ -16,30 +14,4 @@ import { `@roots/bud-react`, ]) @expose(`wordpress`) -export default class BudPresetWordPress extends Extension { - /** - * `configAfter` callback - * - * @public - * @decorator `@bind` - */ - @bind - public override async configAfter(bud: Bud) { - if (bud.isProduction) return - if (bud.hooks.filter(`dev.middleware.proxy.target`)) return - if (!bud.env.has(`WP_HOME`) || !bud.env.isString(`WP_HOME`)) return - - try { - const url = new URL(bud.env.get(`WP_HOME`)) - bud.proxy(url) - } catch (e) { - bud.warn( - `@roots/bud-preset-wordpress: tried to set proxy based on value of WP_HOME but failed\n`, - `WP_HOME is set as: ${bud.env.get(`WP_HOME`)}`, - `\n`, - `Please check your .env file and ensure that WP_HOME is a valid URL`, - `or call bud.proxy in your configuration file`, - ) - } - } -} +export default class BudPresetWordPress extends Extension {} diff --git a/sources/@roots/bud-preset-wordpress/src/theme.types.ts b/sources/@roots/bud-preset-wordpress/src/theme.ts similarity index 100% rename from sources/@roots/bud-preset-wordpress/src/theme.types.ts rename to sources/@roots/bud-preset-wordpress/src/theme.ts diff --git a/sources/@roots/bud-prettier/package.json b/sources/@roots/bud-prettier/package.json index e2d3403c1e..10da7100dd 100644 --- a/sources/@roots/bud-prettier/package.json +++ b/sources/@roots/bud-prettier/package.json @@ -60,12 +60,12 @@ "devDependencies": { "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", "@roots/bud-support": "workspace:sources/@roots/bud-support", - "prettier": "2.7.1" + "prettier": "2.8.0" }, "peerDependencies": { "prettier": "*" diff --git a/sources/@roots/bud-purgecss/package.json b/sources/@roots/bud-purgecss/package.json index 27954e4a44..a37dc21e75 100644 --- a/sources/@roots/bud-purgecss/package.json +++ b/sources/@roots/bud-purgecss/package.json @@ -65,7 +65,7 @@ "@roots/bud": "workspace:sources/@roots/bud", "@roots/bud-postcss": "workspace:sources/@roots/bud-postcss", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "postcss": "8.4.19" }, "dependencies": { diff --git a/sources/@roots/bud-react/package.json b/sources/@roots/bud-react/package.json index dcf1868e77..c3db293e07 100644 --- a/sources/@roots/bud-react/package.json +++ b/sources/@roots/bud-react/package.json @@ -78,26 +78,26 @@ } }, "devDependencies": { - "@babel/core": "7.20.2", + "@babel/core": "7.20.5", "@roots/bud": "workspace:sources/@roots/bud", "@roots/bud-esbuild": "workspace:sources/@roots/bud-esbuild", "@roots/bud-swc": "workspace:sources/@roots/bud-swc", "@roots/bud-typescript": "workspace:sources/@roots/bud-typescript", "@skypack/package-check": "0.2.2", "@types/babel__core": "7.1.20", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/react": "17.0.52", "@types/react-dom": "17.0.18" }, "dependencies": { "@babel/preset-react": "^7.18.6", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.9", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10", "@roots/bud-babel": "workspace:sources/@roots/bud-babel", "@roots/bud-framework": "workspace:sources/@roots/bud-framework", "@roots/bud-support": "workspace:sources/@roots/bud-support", "react": "17.0.2", "react-dom": "17.0.2", - "react-hot-loader": "^4.13.0", + "react-hot-loader": "^4.13.1", "react-refresh": "^0.14.0" }, "peerDependencies": { diff --git a/sources/@roots/bud-react/src/react-refresh/extension.ts b/sources/@roots/bud-react/src/react-refresh/extension.ts index 9636b37f05..df924df282 100644 --- a/sources/@roots/bud-react/src/react-refresh/extension.ts +++ b/sources/@roots/bud-react/src/react-refresh/extension.ts @@ -4,7 +4,7 @@ import type {Bud} from '@roots/bud-framework' import {Extension} from '@roots/bud-framework/extension' import { bind, - development, + disabled, label, options, plugin, @@ -15,18 +15,18 @@ import {isBoolean, isUndefined} from '@roots/bud-support/lodash-es' * Wrapper for `@pmmmwh/react-refresh-webpack-plugin` * * @remarks - * Does not execute if `bud.mode` is not `development` + * Disabled by default * * @public * @decorator `@label` * @decorator `@plugin` * @decorator `@options` - * @decorator `@development` + * @decorator `@disabled` */ @label(`@roots/bud-react/react-refresh`) @plugin(RefreshPlugin) @options({overlay: false}) -@development +@disabled export default class BudReactRefresh extends Extension< Options, RefreshPlugin diff --git a/sources/@roots/bud-sass/package.json b/sources/@roots/bud-sass/package.json index b3e1b8b27f..641b3ce561 100644 --- a/sources/@roots/bud-sass/package.json +++ b/sources/@roots/bud-sass/package.json @@ -71,13 +71,13 @@ "@roots/bud-build": "workspace:sources/@roots/bud-build", "@roots/bud-postcss": "workspace:sources/@roots/bud-postcss", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "postcss": "8.4.19", - "stylelint": "14.14.1" + "stylelint": "14.15.0" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", - "postcss-scss": "^4.0.5", + "postcss-scss": "^4.0.6", "resolve-url-loader": "5.0.0", "sass": "^1.56.1", "sass-loader": "^13.2.0", diff --git a/sources/@roots/bud-server/package.json b/sources/@roots/bud-server/package.json index 571e564d7a..cfcf483d29 100644 --- a/sources/@roots/bud-server/package.json +++ b/sources/@roots/bud-server/package.json @@ -58,8 +58,7 @@ "@skypack/package-check": "0.2.2", "@types/cookie-parser": "1.4.3", "@types/express": "4.17.14", - "@types/node": "16.18.3", - "@types/webpack-dev-middleware": "5.3.0" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-client": "workspace:sources/@roots/bud-client", diff --git a/sources/@roots/bud-server/src/hooks/dev.client.scripts.ts b/sources/@roots/bud-server/src/hooks/dev.client.scripts.ts index 2f809f4b54..19117b6f55 100644 --- a/sources/@roots/bud-server/src/hooks/dev.client.scripts.ts +++ b/sources/@roots/bud-server/src/hooks/dev.client.scripts.ts @@ -8,7 +8,7 @@ import {isNull, isUndefined} from '@roots/bud-support/lodash-es' * * @public */ -export const callback = () => new Set([hmrClient, proxyClickInterceptor]) +export const callback = () => new Set([hmrClient]) /** * Proxy click interceptor @@ -19,14 +19,14 @@ export const callback = () => new Set([hmrClient, proxyClickInterceptor]) * @public */ export const proxyClickInterceptor = (app: Bud) => { - if ( - !app.hooks.filter(`dev.middleware.enabled`, []).includes(`proxy`) || - !app.hooks.filter(`dev.middleware.proxy.target`)?.href - ) + if (!app.hooks.filter(`dev.middleware.enabled`, []).includes(`proxy`)) return const params = new URLSearchParams({ - search: app.hooks.filter(`dev.middleware.proxy.target`)?.href, + search: app.hooks.filter( + `dev.middleware.proxy.options.target`, + new URL(`http://0.0.0.0`), + )?.href, replace: `/`, }) @@ -44,16 +44,19 @@ export const proxyClickInterceptor = (app: Bud) => { export const hmrClient = (app: Bud) => { const params = new URLSearchParams({ name: app.label, + indicator: isUndefined(app.context.args.indicator) || isNull(app.context.args.indicator) ? `true` : app.context.args.indicator.toString(), + overlay: isUndefined(app.context.args.overlay) || isNull(app.context.args.overlay) ? `true` : app.context.args.overlay.toString(), + reload: isUndefined(app.context.args.reload) || isNull(app.context.args.reload) @@ -61,5 +64,5 @@ export const hmrClient = (app: Bud) => { : app.context.args.reload.toString(), }) - return `@roots/bud-client/lib/hot/index.js?${params.toString()}` + return `@roots/bud-client/lib/hot/index.mjs?${params.toString()}` } diff --git a/sources/@roots/bud-server/src/middleware/dev/index.ts b/sources/@roots/bud-server/src/middleware/dev/index.ts index 7b55f82e24..fc25811a68 100644 --- a/sources/@roots/bud-server/src/middleware/dev/index.ts +++ b/sources/@roots/bud-server/src/middleware/dev/index.ts @@ -21,13 +21,22 @@ export const dev = (app: Bud) => WebpackDevMiddleware( app.compiler.instance as any, app.hooks.filter(`dev.middleware.dev.options`, { - headers: app.hooks.filter(`dev.middleware.dev.options.headers`), - index: app.hooks.filter(`dev.middleware.dev.options.index`), + headers: app.hooks.filter(`dev.middleware.dev.options.headers`, [ + {key: `Access-Control-Allow-Origin`, value: `*`}, + {key: `Access-Control-Allow-Headers`, value: `*`}, + {key: `x-powered-by`, value: `@roots/bud`}, + ]), + index: app.hooks.filter( + `dev.middleware.dev.options.index`, + undefined, + ), publicPath: app.hooks.filter( `dev.middleware.dev.options.publicPath`, + app.hooks.filter(`build.output.publicPath`, `auto`), ), writeToDisk: app.hooks.filter( `dev.middleware.dev.options.writeToDisk`, + true, ), }), ) diff --git a/sources/@roots/bud-server/src/middleware/proxy/handler/requestInterceptor.ts b/sources/@roots/bud-server/src/middleware/proxy/handler/requestInterceptor.ts new file mode 100644 index 0000000000..6cada75703 --- /dev/null +++ b/sources/@roots/bud-server/src/middleware/proxy/handler/requestInterceptor.ts @@ -0,0 +1,42 @@ +import type {ClientRequest, IncomingMessage} from 'node:http' + +import type {Bud} from '@roots/bud-framework' + +import type {ApplicationURL} from '../url.js' + +/** + * Request interceptor factory + * + * @public + */ +const factory = + (app: Bud, url: ApplicationURL) => + async (proxy: ClientRequest, request: IncomingMessage) => { + if (proxy.headersSent) return + + try { + /** + * Acorn compat + * Ideally, we use the headers included after this + */ + proxy + .setHeader( + `x-bud-dev-pathname`, + new URL(request.url, `http://${request.headers.host}`).pathname, + ) + .setHeader(`x-bud-dev-origin`, url.dev.origin) + .setHeader(`x-bud-dev-protocol`, url.dev.protocol) + .setHeader(`x-bud-dev-hostname`, url.dev.hostname) + .setHeader( + `x-bud-request`, + new URL( + request.url, + `${url.dev.protocol ?? `http:`}//${request.headers.host}`, + ).toJSON(), + ) + } catch (error) { + app.error(error) + } + } + +export {factory} diff --git a/sources/@roots/bud-server/src/middleware/proxy/handler/responseInterceptor.ts b/sources/@roots/bud-server/src/middleware/proxy/handler/responseInterceptor.ts new file mode 100644 index 0000000000..caa2a616fd --- /dev/null +++ b/sources/@roots/bud-server/src/middleware/proxy/handler/responseInterceptor.ts @@ -0,0 +1,87 @@ +import type {IncomingMessage, ServerResponse} from 'node:http' + +import type {Bud} from '@roots/bud-framework' +import {responseInterceptor} from 'http-proxy-middleware' + +import type {ApplicationURL} from '../url.js' + +declare module 'node:http' { + interface IncomingMessage { + cookies?: Record + } + interface ServerResponse { + cookie: CallableFunction + } +} + +const factory = (bud: Bud, url: ApplicationURL) => + responseInterceptor(async (buffer, proxy, request, response) => { + response + .setHeader(`x-proxy-by`, `@roots/bud`) + .setHeader(`x-bud-origin`, url.dev.origin) + .setHeader(`x-bud-dev-origin`, url.dev.origin) + .setHeader(`x-bud-dev-protocol`, url.dev.protocol) + .setHeader(`x-bud-dev-hostname`, url.dev.hostname) + .setHeader(`x-bud-proxy-origin`, url.proxy.origin) + + response.removeHeader(`content-security-policy`) + response.removeHeader(`x-http-method-override`) + + setResponseCookies(request, response) + + return transformResponseBuffer(bud, url, proxy, buffer) + }) + +const setResponseCookies = ( + request: IncomingMessage, + response: ServerResponse, +) => { + if (request.cookies) { + Object.entries(request.cookies).map(([k, v]) => { + response.cookie(k, v, {domain: undefined}) + }) + } + + const headers = response.getHeaders() + if (!headers[`set-cookie`]) return + + const cookies = Array.isArray(headers[`set-cookie`]) + ? headers[`set-cookie`] + : [headers[`set-cookie`]] + + response.setHeader( + `set-cookie`, + cookies.map(String).map(value => value.replace(`; secure`, ``).trim()), + ) +} + +const transformResponseBuffer = ( + bud: Bud, + url: ApplicationURL, + proxy: IncomingMessage, + buffer: Buffer, +) => { + if (!isTransformable(proxy)) return buffer + + return bud.hooks + .filter(`dev.middleware.proxy.replacements`, [ + [url.proxy.href, url.dev.href], + ]) + .reduce(transformBody, buffer.toString(`utf8`)) +} + +const isTransformable = (message?: IncomingMessage) => { + if (typeof message?.headers?.[`content-type`] !== `string`) return false + const type = message.headers[`content-type`] + return ( + type.startsWith(`text/css`) || + type.startsWith(`text/html`) || + type.startsWith(`application/javascript`) || + type.startsWith(`application/json`) + ) +} + +const transformBody = (value: string, [search, replace]) => + value.replaceAll(new RegExp(search, `g`), replace) + +export {factory} diff --git a/sources/@roots/bud-server/src/middleware/proxy/index.test.ts b/sources/@roots/bud-server/src/middleware/proxy/index.test.ts new file mode 100644 index 0000000000..7b7cae6e33 --- /dev/null +++ b/sources/@roots/bud-server/src/middleware/proxy/index.test.ts @@ -0,0 +1,56 @@ +import {factory} from '@repo/test-kit/bud' +import signale from '@roots/bud-support/signale' +import {beforeEach, describe, expect, it} from 'vitest' + +import {makeOptions} from './index.js' + +describe(`proxy middleware`, () => { + let bud + beforeEach(async () => { + bud = await factory({mode: `development`}) + }) + it(`should have expected default options`, async () => { + expect(makeOptions(bud)).toMatchInlineSnapshot(` + { + "autoRewrite": true, + "changeOrigin": true, + "cookieDomainRewrite": "0.0.0.0:3000", + "followRedirects": false, + "hostRewrite": "0.0.0.0:3000", + "on": { + "proxyReq": [Function], + "proxyRes": [Function], + }, + "pathFilter": [ + "!/bud/hot/**", + ], + "secure": false, + "selfHandleResponse": true, + "target": "http://0.0.0.0/", + } + `) + }) + + it(`should have logger when --log flag is used`, async () => { + bud.context.args.log = true + + expect(makeOptions(bud).logger).toBeInstanceOf(signale) + }) + + it(`should reflect changes made in bud.proxy`, async () => { + bud.proxy({changeOrigin: false}) + await bud.api.processQueue() + + expect(makeOptions(bud).changeOrigin).toBe(false) + }) + + it(`should reflect changes to URL made in bud.proxy`, async () => { + bud.proxy(`http://example.com`) + await bud.api.processQueue() + + // @ts-ignore + expect(makeOptions(bud).target.href).toBe( + new URL(`http://example.com`).href, + ) + }) +}) diff --git a/sources/@roots/bud-server/src/middleware/proxy/index.ts b/sources/@roots/bud-server/src/middleware/proxy/index.ts index 28e56c8ed8..abd791f9f4 100644 --- a/sources/@roots/bud-server/src/middleware/proxy/index.ts +++ b/sources/@roots/bud-server/src/middleware/proxy/index.ts @@ -1,8 +1,9 @@ import type {Bud} from '@roots/bud-framework' +import signale from '@roots/bud-support/signale' import {createProxyMiddleware, Options} from 'http-proxy-middleware' -import {RequestInterceptorFactory} from './req.interceptor.js' -import {ResponseInterceptorFactory} from './res.interceptor.js' +import * as requestInterceptor from './handler/requestInterceptor.js' +import * as responseInterceptor from './handler/responseInterceptor.js' import {ApplicationURL} from './url.js' /** @@ -10,63 +11,141 @@ import {ApplicationURL} from './url.js' * * @public */ -export const proxy = (app: Bud) => { - const url = new ApplicationURL(() => app) - const response = new ResponseInterceptorFactory(() => app, url) - const request = new RequestInterceptorFactory(() => app, url) +export const proxy = (app: Bud) => createProxyMiddleware(makeOptions(app)) - const options: Options = { - autoRewrite: app.hooks.filter( - `dev.middleware.proxy.options.autoRewrite`, - true, - ), - changeOrigin: app.hooks.filter( - `dev.middleware.proxy.options.changeOrigin`, - true, - ), - cookieDomainRewrite: app.hooks.filter( - `dev.middleware.proxy.options.cookieDomainRewrite`, - url.dev.host, - ), - followRedirects: app.hooks.filter( - `dev.middleware.proxy.options.followRedirects`, - false, - ), - hostRewrite: app.hooks.filter( - `dev.middleware.proxy.options.hostRewrite`, - url.dev.host, - ), - forward: app.hooks.filter( - `dev.middleware.proxy.options.forward`, - undefined, - ), - headers: app.hooks.filter( - `dev.middleware.proxy.options.headers`, - undefined, - ), - on: { - proxyReq: app.hooks.filter( - `dev.middleware.proxy.options.onProxyReq`, - request.make, - ), - proxyRes: app.hooks.filter( - `dev.middleware.proxy.options.onProxyRes`, - response.make, - ), - }, - protocolRewrite: app.hooks.filter( - `dev.middleware.proxy.options.protocolRewrite`, - url.dev.protocol === `https:` ? `https` : null, - ), - secure: app.hooks.filter(`dev.middleware.proxy.options.secure`, false), - selfHandleResponse: app.hooks.filter( - `dev.middleware.proxy.options.selfHandleResponse`, - true, - ), - target: app.hooks.filter(`dev.middleware.proxy.target`, url.proxy), - } +export const makeOptions = (app: Bud): Options => { + const url = new ApplicationURL(() => app) - return createProxyMiddleware( - app.hooks.filter(`dev.middleware.proxy.options`, options), + return filterUndefined( + app.hooks.filter(`dev.middleware.proxy.options`, { + agent: app.hooks.filter( + `dev.middleware.proxy.options.agent`, + undefined, + ), + autoRewrite: app.hooks.filter( + `dev.middleware.proxy.options.autoRewrite`, + true, + ), + buffer: app.hooks.filter( + `dev.middleware.proxy.options.buffer`, + undefined, + ), + changeOrigin: app.hooks.filter( + `dev.middleware.proxy.options.changeOrigin`, + true, + ), + cookieDomainRewrite: app.hooks.filter( + `dev.middleware.proxy.options.cookieDomainRewrite`, + url.dev.host, + ), + cookiePathRewrite: app.hooks.filter( + `dev.middleware.proxy.options.cookiePathRewrite`, + undefined, + ), + ejectPlugins: app.hooks.filter( + `dev.middleware.proxy.options.ejectPlugins`, + undefined, + ), + followRedirects: app.hooks.filter( + `dev.middleware.proxy.options.followRedirects`, + false, + ), + headers: app.hooks.filter( + `dev.middleware.proxy.options.headers`, + undefined, + ), + hostRewrite: app.hooks.filter( + `dev.middleware.proxy.options.hostRewrite`, + url.dev.host, + ), + ignorePath: app.hooks.filter( + `dev.middleware.proxy.options.ignorePath`, + undefined, + ), + localAddress: app.hooks.filter( + `dev.middleware.proxy.options.localAddress`, + undefined, + ), + logger: app.hooks.filter( + `dev.middleware.proxy.options.logger`, + app.context.args.log + ? new signale().scope(...app.logger.scope, `proxy`) + : undefined, + ), + on: filterUndefined( + app.hooks.filter(`dev.middleware.proxy.options.on`, { + proxyReq: app.hooks.filter( + `dev.middleware.proxy.options.onProxyReq`, + requestInterceptor.factory(app, url), + ), + proxyRes: app.hooks.filter( + `dev.middleware.proxy.options.onProxyRes`, + responseInterceptor.factory(app, url), + ), + }), + ), + pathFilter: app.hooks.filter( + `dev.middleware.proxy.options.pathFilter`, + [`!/bud/hot/**`], + ), + pathRewrite: app.hooks.filter( + `dev.middleware.proxy.options.pathRewrite`, + undefined, + ), + plugins: app.hooks.filter( + `dev.middleware.proxy.options.plugins`, + undefined, + ), + prependPath: app.hooks.filter( + `dev.middleware.proxy.options.prependPath`, + undefined, + ), + preserveHeaderKeyCase: app.hooks.filter( + `dev.middleware.proxy.options.preserveHeaderKeyCase`, + undefined, + ), + protocolRewrite: app.hooks.filter( + `dev.middleware.proxy.options.protocolRewrite`, + url.dev.protocol.startsWith(`https`) ? `https` : undefined, + ), + proxyTimeout: app.hooks.filter( + `dev.middleware.proxy.options.proxyTimeout`, + undefined, + ), + router: app.hooks.filter( + `dev.middleware.proxy.options.router`, + undefined, + ), + secure: app.hooks.filter( + `dev.middleware.proxy.options.secure`, + false, + ), + selfHandleResponse: app.hooks.filter( + `dev.middleware.proxy.options.selfHandleResponse`, + true, + ), + ssl: app.hooks.filter(`dev.middleware.proxy.options.ssl`, undefined), + target: url.proxy, + timeout: app.hooks.filter( + `dev.middleware.proxy.options.timeout`, + undefined, + ), + toProxy: app.hooks.filter( + `dev.middleware.proxy.options.toProxy`, + undefined, + ), + ws: app.hooks.filter(`dev.middleware.proxy.options.ws`, undefined), + xfwd: app.hooks.filter( + `dev.middleware.proxy.options.xfwd`, + undefined, + ), + }), ) } + +export const filterUndefined = (obj: Record) => { + return Object.entries(obj).reduce((a, [k, v]) => { + if (v === undefined) return a + return {...a, [k]: v} + }, {}) +} diff --git a/sources/@roots/bud-server/src/middleware/proxy/req.interceptor.ts b/sources/@roots/bud-server/src/middleware/proxy/req.interceptor.ts deleted file mode 100644 index d65983c162..0000000000 --- a/sources/@roots/bud-server/src/middleware/proxy/req.interceptor.ts +++ /dev/null @@ -1,82 +0,0 @@ -import type {Bud} from '@roots/bud-framework' -import {bind} from '@roots/bud-support/decorators' -import type {ClientRequest, IncomingMessage, ServerResponse} from 'http' - -import type {ApplicationURL} from './url.js' - -/** - * Proxy request interceptor - * - * @public - */ -export class RequestInterceptorFactory { - /** - * Bud instance - * - * @public - */ - public get app() { - return this._app() - } - - /** - * Class constructor - * - * @public - */ - public constructor(public _app: () => Bud, public url: ApplicationURL) {} - - /** - * Callback for `http-proxy-middleware` `onProxyReq` - * - * @param proxy - proxy client request - * @param request - incoming message - * @param response - server response - * @returns void - * - * @public - * @decorator `@bind` - */ - @bind - public interceptor( - proxy: ClientRequest, - request: IncomingMessage, - _response: ServerResponse, - ) { - try { - proxy - .setHeader( - `x-bud-request`, - new URL( - request.url, - `${this.url.dev.protocol}//${request.headers.host}`, - ).toJSON(), - ) - .setHeader( - `x-bud-dev-pathname`, - new URL(request.url, `http://${request.headers.host}`).pathname, - ) - .setHeader(`x-bud-origin`, this.url.dev.origin) - .setHeader(`x-bud-protocol`, this.url.dev.protocol) - .setHeader(`x-bud-hostname`, this.url.dev.hostname) - - if (proxy.hasHeader(`location`)) { - proxy.setHeader( - `location`, - (proxy.getHeader(`location`) as string).replace( - this.url.proxy.origin, - this.url.dev.origin, - ), - ) - } - } catch (error) {} - } - - /** - * Returns the onProxyReq callback - */ - @bind - public make() { - return this.interceptor - } -} diff --git a/sources/@roots/bud-server/src/middleware/proxy/res.interceptor.ts b/sources/@roots/bud-server/src/middleware/proxy/res.interceptor.ts deleted file mode 100644 index c5c76abb16..0000000000 --- a/sources/@roots/bud-server/src/middleware/proxy/res.interceptor.ts +++ /dev/null @@ -1,171 +0,0 @@ -import type * as http from 'node:http' - -import type {Bud} from '@roots/bud-framework' -import {bind} from '@roots/bud-support/decorators' -import {responseInterceptor} from 'http-proxy-middleware' - -import type {ApplicationURL} from './url.js' - -interface IncomingMessage extends http.IncomingMessage { - cookies: any -} - -interface ServerResponse extends http.ServerResponse { - cookie: any -} - -export interface InterceptorFactory { - interceptor( - buffer: Buffer, - proxy: IncomingMessage, - request: IncomingMessage, - response: ServerResponse, - ): Promise -} - -/** - * Proxy response interceptor - * - * @public - */ -export class ResponseInterceptorFactory implements InterceptorFactory { - /** - * The bud instance - * - * @public - */ - public get app() { - return this._app() - } - - /** - * Class constructor - * - * @public - */ - public constructor(public _app: () => Bud, public url: ApplicationURL) {} - - /** - * Returns the `onProxyRes` callback for `http-proxy-middleware` - * - * @public - * @decorator `@bind` - */ - @bind - public make() { - return responseInterceptor(this.interceptor) - } - - /** - * Response interceptor - * - * @remarks - * This is the callback for `http-proxy-middleware`s `responseInterceptor`. - * It is called after the response has been received from the target server. - * It is passed the response body, and the req and res objects. - * It can be used to modify the response body or the response object. - * - * @param buffer - Buffered response - * @param proxy - Response from the proxy - * @param request - Request from the client - * @param response - Response from the server - * - * @public - * @decorator `@bind` - */ - @bind - public async interceptor( - buffer: Buffer, - proxy: IncomingMessage, - request: IncomingMessage, - response: ServerResponse, - ): Promise { - this.mapProxyCookies(request, response) - - response.setHeader(`x-bud-origin`, this.url.dev.origin) - - if (request.headers?.location) { - response.setHeader( - `location`, - request.headers.location - .toString() - .replace(this.url.proxy.origin, this.url.dev.origin), - ) - } - - return this.isTransformable(proxy) ? this.transform(buffer) : buffer - } - - /** - * Modify a target string with search/replace tuples - * - * @public - * @decorator `@bind` - */ - @bind - public transform(buffer: Buffer): string { - return this.app.hooks - .filter(`dev.middleware.proxy.replacements`, [ - [this.url.proxy.origin, this.url.dev.origin], - [this.url.proxy.host, this.url.dev.host], - ]) - .reduce( - (value, [search, replace]) => - value.replaceAll(new RegExp(search, `g`), replace), - buffer.toString(), - ) - } - - /** - * Is body transformable? - * - * @public - */ - public isTransformable(message?: IncomingMessage) { - if (typeof message?.headers?.[`content-type`] !== `string`) - return false - - const type = message.headers[`content-type`] - - return ( - type.startsWith(`text/css`) || - type.startsWith(`text/html`) || - type.startsWith(`application/javascript`) || - type.startsWith(`application/json`) - ) - } - - /** - * Map proxy cookies - * - * Unset the domain attached to cookies and remove the `secure` flag. - * - * @remarks - * For the cookie domain: - * - `null` domain will work for any domain, but will not be sent for IPs. - * - `undefined` will be sent for IPs. - */ - @bind - public mapProxyCookies( - request: IncomingMessage, - response: ServerResponse, - ) { - if (request.cookies) { - Object.entries(request.cookies).map(([k, v]) => { - response.cookie(k, v, {domain: undefined}) - }) - } - - const raw = response?.getHeaders()?.[`set-cookie`] - if (!raw) return - - const cookies = Array.isArray(raw) ? raw : [raw] - - response.setHeader( - `set-cookie`, - cookies - .map(String) - .map(value => value.replace(`; secure`, ``).trim()), - ) - } -} diff --git a/sources/@roots/bud-server/src/middleware/proxy/url.ts b/sources/@roots/bud-server/src/middleware/proxy/url.ts index ee7f4a4ed7..7fc48ff6c9 100644 --- a/sources/@roots/bud-server/src/middleware/proxy/url.ts +++ b/sources/@roots/bud-server/src/middleware/proxy/url.ts @@ -21,7 +21,7 @@ export class ApplicationURL { * @public */ public get dev(): URL { - return this.app.server.connection.url + return this.app.hooks.filter(`dev.url`, new URL(`http://0.0.0.0:3000`)) } /** @@ -30,7 +30,10 @@ export class ApplicationURL { * @public */ public get proxy(): URL { - return this.app.hooks.filter(`dev.middleware.proxy.target`) + return this.app.hooks.filter( + `dev.middleware.proxy.options.target`, + new URL(`http://0.0.0.0`), + ) } /** diff --git a/sources/@roots/bud-server/src/server/server.base.ts b/sources/@roots/bud-server/src/server/server.base.ts index 2626ff6bef..063d64fc82 100644 --- a/sources/@roots/bud-server/src/server/server.base.ts +++ b/sources/@roots/bud-server/src/server/server.base.ts @@ -19,14 +19,6 @@ import {bind} from '@roots/bud-support/decorators' * @public */ export abstract class BaseServer implements Connection { - /** - * Protocol - * - * @virtual - * @public - */ - public abstract protocol: 'http:' | 'https:' - /** * Create server * @@ -47,14 +39,11 @@ export abstract class BaseServer implements Connection { * * @public */ - public logger: Bud['logger']['instance'] - - /** - * Port - * - * @public - */ - public port: number + public get logger(): Bud['logger']['instance'] { + return this.app.logger.instance.scope( + this.constructor.name.toLowerCase(), + ) + } /** * Final URL @@ -64,7 +53,9 @@ export abstract class BaseServer implements Connection { * * @public */ - public url: URL + public get url(): URL { + return this.app.hooks.filter(`dev.url`) + } /** * Options @@ -72,7 +63,7 @@ export abstract class BaseServer implements Connection { * @public */ public get options(): Server.Options { - return this.app.hooks.filter(`dev.options`) + return this.app.hooks.filter(`dev.options`, {}) } /** @@ -81,22 +72,7 @@ export abstract class BaseServer implements Connection { * @param app - Bud * @public */ - public constructor(public app: Bud) { - this.logger = this.app.logger.instance.scope( - this.constructor.name.toLowerCase(), - ) - } - - /** - * Setup - * - * @public - * @decorator `@bind` - */ - @bind - public async setup() { - this.url = this.app.hooks.filter(`dev.url`) - } + public constructor(public app: Bud) {} /** * Listen @@ -107,12 +83,20 @@ export abstract class BaseServer implements Connection { @bind public async listen() { this.instance - .listen({ - port: Number(this.url.port), - }) - .on(`listening`, this.onListening) - .on(`request`, this.onRequest) - .on(`error`, this.onError) + .listen( + this.app.hooks.filter(`dev.listenOptions`, { + port: Number(this.url.port), + }), + ) + .on( + `listening`, + this.app.hooks.filter(`dev.onListening`, this.onListening), + ) + .on( + `request`, + this.app.hooks.filter(`dev.onRequest`, this.onRequest), + ) + .on(`error`, this.app.hooks.filter(`dev.onError`, this.onError)) } /** diff --git a/sources/@roots/bud-server/src/server/server.http.ts b/sources/@roots/bud-server/src/server/server.http.ts index 4e9cd9fa41..b1659cf85e 100644 --- a/sources/@roots/bud-server/src/server/server.http.ts +++ b/sources/@roots/bud-server/src/server/server.http.ts @@ -6,6 +6,7 @@ import {BaseServer} from './server.base.js' /** * HTTP Server + * * @public */ export class Http extends BaseServer implements Server.Connection { @@ -16,18 +17,12 @@ export class Http extends BaseServer implements Server.Connection { */ public override instance: HttpServer - /** - * Protocol - * - * @public - */ - public protocol: 'http:' = `http:` - /** * createServer * * @param express - Express application - * @returns http.Server + * @returns server - {@link HttpServer} + * * @public * @decorator `@bind` */ diff --git a/sources/@roots/bud-server/src/server/server.https.ts b/sources/@roots/bud-server/src/server/server.https.ts index ce04e387a0..c21333696a 100644 --- a/sources/@roots/bud-server/src/server/server.https.ts +++ b/sources/@roots/bud-server/src/server/server.https.ts @@ -7,34 +7,23 @@ import {BaseServer} from './server.base.js' /** * HTTPS Server + * * @public */ export class Https extends BaseServer implements Server.Connection { /** * Server instance + * * @public */ public override instance: HttpsServer /** - * Https protocol - * @public - */ - public protocol: 'https:' = `https:` - - /** - * Has options - * @returns boolean - * @public - * @decorator `@bind` - */ - @bind - public hasOptions(): boolean { - return this.options && Object.keys(this.options).length > 0 - } - - /** - * Create HTTPS server + * createServer + * + * @param express - Express application + * @returns server - {@link HttpsServer} + * * @public * @decorator `@bind` */ @@ -42,11 +31,6 @@ export class Https extends BaseServer implements Server.Connection { public async createServer( express: RequestListener & Express.Application, ): Promise { - if (!this.hasOptions()) { - this.instance = createServer(express) - return this.instance - } - this.instance = createServer(this.options, express) return this.instance } diff --git a/sources/@roots/bud-server/src/server/server.watcher.ts b/sources/@roots/bud-server/src/server/server.watcher.ts index c8ea811534..99920378e1 100644 --- a/sources/@roots/bud-server/src/server/server.watcher.ts +++ b/sources/@roots/bud-server/src/server/server.watcher.ts @@ -82,8 +82,11 @@ export class Watcher implements Server.Watcher { public async watch(): Promise { if (this.app.context.args.dry) return - this.files = this.app.hooks.filter(`dev.watch.files`, new Set()) - this.options = this.app.hooks.filter(`dev.watch.options`, {}) + this.files = this.app.hooks.filter(`dev.watch.files`, new Set([])) + this.options = this.app.hooks.filter(`dev.watch.options`, { + ignoreInitial: true, + cwd: this.app.path(), + }) if (this.files.size < 1) return @@ -93,7 +96,7 @@ export class Watcher implements Server.Watcher { .on(`add`, this.watcherCallback) .on(`unlink`, this.watcherCallback) - this.logger.log(`watching ${this.files.size} files for changes`) + this.logger.log(`watching`) return this.instance } diff --git a/sources/@roots/bud-server/src/service/service.ts b/sources/@roots/bud-server/src/service/service.ts index 3c5116ed3f..de3182ed0f 100644 --- a/sources/@roots/bud-server/src/service/service.ts +++ b/sources/@roots/bud-server/src/service/service.ts @@ -114,10 +114,7 @@ export class Server extends Service implements BaseService { @bind public async setConnection() { const isHttps = this.app.hooks.filter(`dev.url`).protocol === `https:` - this.connection = isHttps ? new Https(this.app) : new Http(this.app) - - await this.connection.setup() } /** diff --git a/sources/@roots/bud-solid/package.json b/sources/@roots/bud-solid/package.json index fcde87e803..67cf3fdd75 100644 --- a/sources/@roots/bud-solid/package.json +++ b/sources/@roots/bud-solid/package.json @@ -51,11 +51,11 @@ } }, "devDependencies": { - "@babel/core": "7.20.2", + "@babel/core": "7.20.5", "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", "@types/babel__core": "7.1.20", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@babel/plugin-syntax-jsx": "7.18.6", diff --git a/sources/@roots/bud-stylelint/package.json b/sources/@roots/bud-stylelint/package.json index e4f38f04fd..37cb3a0fb3 100644 --- a/sources/@roots/bud-stylelint/package.json +++ b/sources/@roots/bud-stylelint/package.json @@ -61,12 +61,12 @@ "devDependencies": { "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", "@roots/bud-support": "workspace:sources/@roots/bud-support", - "stylelint": "14.14.1", + "stylelint": "14.15.0", "stylelint-config-standard": "29.0.0", "stylelint-webpack-plugin": "3.3.0" }, diff --git a/sources/@roots/bud-support/package.json b/sources/@roots/bud-support/package.json index 4140d6a3c7..cac61c5b5f 100644 --- a/sources/@roots/bud-support/package.json +++ b/sources/@roots/bud-support/package.json @@ -55,7 +55,7 @@ "@roots/filesystem": "workspace:sources/@roots/filesystem", "chalk": "5.1.2", "clean-stack": "5.0.1", - "clipanion": "3.2.0-rc.13", + "clipanion": "3.2.0-rc.14", "common-path": "1.0.1", "execa": "6.1.0", "figures": "5.0.0", @@ -63,20 +63,20 @@ "fs-jetpack": "5.1.0", "globby": "13.1.2", "helpful-decorators": "2.1.0", - "highlight.js": "11.6.0", - "import-meta-resolve": "2.1.0", + "highlight.js": "11.7.0", + "import-meta-resolve": "2.2.0", "ink": "3.2.0", "ink-link": "2.0.0", "ink-text-input": "4.0.3", "lodash-es": "4.17.21", - "parse5": "7.1.1", + "parse5": "7.1.2", "parse5-htmlparser2-tree-adapter": "7.0.0", "patch-console": "1.0.0", "pretty-format": "29.3.1", "react": "17.0.2", "signale": "1.4.0", "typanion": "3.12.1", - "type-fest": "3.2.0", + "type-fest": "3.3.0", "webpack": "5.75.0", "zod": "3.19.1", "zod-validation-error": "0.2.1" diff --git a/sources/@roots/bud-support/src/os/externalNetworkInterface.ts b/sources/@roots/bud-support/src/os/externalNetworkInterface.ts index f1e71f0f8b..15a26c0678 100644 --- a/sources/@roots/bud-support/src/os/externalNetworkInterface.ts +++ b/sources/@roots/bud-support/src/os/externalNetworkInterface.ts @@ -5,4 +5,5 @@ export const ipv4 = .flat() .find(i => i?.family === `IPv4` && !i?.internal)?.address || `0.0.0.0` -export const ipv4Url = new URL(`http://${ipv4}`) +export const ipv4Url = (protocol: URL['protocol']): URL => + new URL(`${protocol}//${ipv4}`) diff --git a/sources/@roots/bud-swc/package.json b/sources/@roots/bud-swc/package.json index ea7775bc07..57556beac3 100644 --- a/sources/@roots/bud-swc/package.json +++ b/sources/@roots/bud-swc/package.json @@ -54,12 +54,12 @@ "devDependencies": { "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", "@roots/bud-support": "workspace:sources/@roots/bud-support", - "@swc/core": "1.3.14", + "@swc/core": "1.3.21", "swc-loader": "0.2.3" }, "peerDependencies": { diff --git a/sources/@roots/bud-tailwindcss/package.json b/sources/@roots/bud-tailwindcss/package.json index f9efb28b8c..c195cfbde2 100644 --- a/sources/@roots/bud-tailwindcss/package.json +++ b/sources/@roots/bud-tailwindcss/package.json @@ -68,7 +68,7 @@ "devDependencies": { "@roots/bud-api": "workspace:sources/@roots/bud-api", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/tailwindcss": "3.1.0", "@types/webpack-virtual-modules": "0.1.1" }, diff --git a/sources/@roots/bud-terser/package.json b/sources/@roots/bud-terser/package.json index 14e0485527..a3bc214d45 100644 --- a/sources/@roots/bud-terser/package.json +++ b/sources/@roots/bud-terser/package.json @@ -59,7 +59,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-typescript/package.json b/sources/@roots/bud-typescript/package.json index f451e3ffe0..88c7e4b1ec 100644 --- a/sources/@roots/bud-typescript/package.json +++ b/sources/@roots/bud-typescript/package.json @@ -67,7 +67,7 @@ "@roots/bud": "workspace:sources/@roots/bud", "@skypack/package-check": "0.2.2", "@types/fork-ts-checker-webpack-plugin": "0.4.5", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-babel": "workspace:sources/@roots/bud-babel", @@ -77,9 +77,9 @@ "chalk": "5.1.2", "fork-ts-checker-webpack-plugin": "^7.2.13", "react-refresh-typescript": "2.0.7", - "ts-loader": "^9.4.1", + "ts-loader": "^9.4.2", "ts-node": "10.9.1", - "typescript": "4.8.4" + "typescript": "4.9.3" }, "peerDependencies": { "@roots/bud": "*", diff --git a/sources/@roots/bud-vue/package.json b/sources/@roots/bud-vue/package.json index dc4ca557dd..d5759a34f7 100644 --- a/sources/@roots/bud-vue/package.json +++ b/sources/@roots/bud-vue/package.json @@ -60,7 +60,7 @@ "@roots/bud-postcss": "workspace:sources/@roots/bud-postcss", "@roots/bud-sass": "workspace:sources/@roots/bud-sass", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-wordpress-dependencies/package.json b/sources/@roots/bud-wordpress-dependencies/package.json index 3ccfdbbd7d..686bc88797 100644 --- a/sources/@roots/bud-wordpress-dependencies/package.json +++ b/sources/@roots/bud-wordpress-dependencies/package.json @@ -57,7 +57,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-wordpress-externals/package.json b/sources/@roots/bud-wordpress-externals/package.json index d064129a86..d6887d1b3d 100644 --- a/sources/@roots/bud-wordpress-externals/package.json +++ b/sources/@roots/bud-wordpress-externals/package.json @@ -53,7 +53,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", diff --git a/sources/@roots/bud-wordpress-manifests/package.json b/sources/@roots/bud-wordpress-manifests/package.json index 20f45b3352..a8ee91f973 100644 --- a/sources/@roots/bud-wordpress-manifests/package.json +++ b/sources/@roots/bud-wordpress-manifests/package.json @@ -54,7 +54,7 @@ "devDependencies": { "@roots/bud-framework": "workspace:sources/@roots/bud-framework", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "@roots/merged-manifest-webpack-plugin": "workspace:sources/@roots/merged-manifest-webpack-plugin" diff --git a/sources/@roots/bud/package.json b/sources/@roots/bud/package.json index 106063b27e..14d36d58b2 100644 --- a/sources/@roots/bud/package.json +++ b/sources/@roots/bud/package.json @@ -104,7 +104,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/node-notifier": "8.0.2" }, "dependencies": { @@ -126,7 +126,8 @@ "dotenv-expand": "9.0.0", "node-notifier": "10.0.1", "open": "8.4.0", - "open-editor": "4.0.0" + "open-editor": "4.0.0", + "tslib": "2.4.1" }, "peerDependencies": { "@roots/browserslist-config": "*" @@ -135,10 +136,7 @@ "@roots/browserslist-config": { "optional": true }, - "browserslist": { - "optional": true - }, - "caniuse-lite": { + "tslib": { "optional": true } }, diff --git a/sources/@roots/bud/src/bud/bud.test.ts b/sources/@roots/bud/src/bud/bud.test.ts index faca00cf2c..fe9fa0e831 100644 --- a/sources/@roots/bud/src/bud/bud.test.ts +++ b/sources/@roots/bud/src/bud/bud.test.ts @@ -1,5 +1,4 @@ -import {Bud} from '@roots/bud' -import {Bud as Core} from '@roots/bud-framework/bud' +import Bud from './bud' import {beforeEach, describe, expect, it, vi} from 'vitest' describe(`@roots/bud/bud`, function () { @@ -11,6 +10,6 @@ describe(`@roots/bud/bud`, function () { }) it(`should be instance of Framework`, () => { - expect(bud).toBeInstanceOf(Core) + expect(bud).toBeInstanceOf(Bud) }) }) diff --git a/sources/@roots/container/package.json b/sources/@roots/container/package.json index 2b4c330fee..77e46378cc 100644 --- a/sources/@roots/container/package.json +++ b/sources/@roots/container/package.json @@ -63,8 +63,8 @@ "devDependencies": { "@skypack/package-check": "0.2.2", "@types/lodash-es": "4.17.6", - "@types/node": "16.18.3", - "type-fest": "3.2.0" + "@types/node": "16.18.4", + "type-fest": "3.3.0" }, "dependencies": { "@roots/bud-support": "workspace:sources/@roots/bud-support", diff --git a/sources/@roots/critical-css-webpack-plugin/package.json b/sources/@roots/critical-css-webpack-plugin/package.json index 291537becf..a403d76265 100644 --- a/sources/@roots/critical-css-webpack-plugin/package.json +++ b/sources/@roots/critical-css-webpack-plugin/package.json @@ -54,7 +54,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/vinyl": "2.0.7" }, "dependencies": { diff --git a/sources/@roots/dependencies/README.md b/sources/@roots/dependencies/README.md index 3388bce3c2..575e20dc7c 100644 --- a/sources/@roots/dependencies/README.md +++ b/sources/@roots/dependencies/README.md @@ -30,6 +30,53 @@ npm: npm install @roots/dependencies --save-dev ``` +## Usage + +Import the `Dependencies` manager and instantiate. + +The base path is required. + +```typescript +import { Dependencies } from "@roots/dependencies"; + +const manager = new Dependencies(process.cwd()); +``` + +Optionally, you may also provide handlers for messages and errors: + +```typescript +import { Dependencies } from "@roots/dependencies"; +const manager = new Dependencies(process.cwd(), console.log, console.error); +``` + +Create and use a new client: + +```typescript +const client = await manager.getClient(); + +await this.client.install(`lodash`); +await this.client.uninstall(`lodash`); +``` + +Get the latest version of a package: + +```typescript +const version = await this.client.getLatestVersion(`lodash`); +``` + +install a specific version with an array or a formatted string (`{signifier}@{version}`): + +```typescript +await this.client.install([`lodash`, `latest`]); +await this.client.install(`lodash@latest`); +``` + +Supports flags: + +```typescript +await this.client.install([`lodash`, `latest`], `--dev`); +``` + ## Contributing Contributions are welcome from everyone. diff --git a/sources/@roots/dependencies/docs/01-usage.md b/sources/@roots/dependencies/docs/01-usage.md new file mode 100644 index 0000000000..05bf7d56ce --- /dev/null +++ b/sources/@roots/dependencies/docs/01-usage.md @@ -0,0 +1,48 @@ +--- +title: Usage +--- + +Import the `Dependencies` manager and instantiate. + +The base path is required. + +```typescript +import {Dependencies} from '@roots/dependencies' + +const manager = new Dependencies(process.cwd()) +``` + +Optionally, you may also provide handlers for messages and errors: + +```typescript +import {Dependencies} from '@roots/dependencies' +const manager = new Dependencies(process.cwd(), console.log, console.error) +``` + +Create and use a new client: + +```typescript +const client = await manager.getClient() + +await this.client.install(`lodash`) +await this.client.uninstall(`lodash`) +``` + +Get the latest version of a package: + +```typescript +const version = await this.client.getLatestVersion(`lodash`) +``` + +install a specific version with an array or a formatted string (`{signifier}@{version}`): + +```typescript +await this.client.install([`lodash`, `latest`]) +await this.client.install(`lodash@latest`) +``` + +Supports flags: + +```typescript +await this.client.install([`lodash`, `latest`], `--dev`) +``` diff --git a/sources/@roots/dependencies/package.json b/sources/@roots/dependencies/package.json index cf215abefd..e372aa90aa 100644 --- a/sources/@roots/dependencies/package.json +++ b/sources/@roots/dependencies/package.json @@ -51,7 +51,7 @@ }, "devDependencies": { "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "helpful-decorators": "2.1.0" diff --git a/sources/@roots/dependencies/src/command/base.command.ts b/sources/@roots/dependencies/src/command/base.command.ts index 05adac6cdc..b9f703f17a 100644 --- a/sources/@roots/dependencies/src/command/base.command.ts +++ b/sources/@roots/dependencies/src/command/base.command.ts @@ -6,13 +6,6 @@ import {spawn} from 'child_process' * @public */ export abstract class Command { - /** - * @public - */ - public onMessage(message: string): void { - return null - } - public abstract getLatestVersion(signifier: string): Promise /** @@ -20,30 +13,28 @@ export abstract class Command { */ public constructor( public path: string, - onMessage?: (message: string) => void, - ) { - if (onMessage) this.onMessage = onMessage - } + public onMessage?: (message: string) => void, + public onError?: (...message: unknown[]) => void, + ) {} /** * @public */ - public static execute( - commandArgs: Array, - onMessage?: (message: string) => void, - onError?: (message: string) => void, - ): Promise { + public async execute(commandArgs: Array): Promise { + const [bin, ...args] = commandArgs return new Promise((resolve, reject) => { - const command = spawn(commandArgs.shift(), commandArgs) const message = [] + const command = spawn(bin, args) + command.stdout.on(`data`, incoming => { message.push(incoming.toString()) - onMessage && onMessage(incoming.toString()) + this.onMessage && this.onMessage(incoming.toString()) }) + command.stderr.on(`data`, incoming => { message.push(incoming.toString()) - onError && onError(incoming.toString()) + this.onError && this.onError(incoming.toString()) }) command.on(`close`, () => resolve(message)) @@ -54,7 +45,7 @@ export abstract class Command { /** * @public */ - public static normalizeDependencies( + public normalizeDependencies( dependencies: Array, ): Array { return dependencies @@ -64,6 +55,7 @@ export abstract class Command { } else { acc.push(dependency) } + return acc }, []) .filter(Boolean) diff --git a/sources/@roots/dependencies/src/command/npm.command.ts b/sources/@roots/dependencies/src/command/npm.command.ts index 598fbfa9a0..d0dfc7adb8 100644 --- a/sources/@roots/dependencies/src/command/npm.command.ts +++ b/sources/@roots/dependencies/src/command/npm.command.ts @@ -16,20 +16,15 @@ export class Npm extends Command implements IDependencyManager { public install( dependencies: Array, args: Array = [], - onMessage?: (message: string) => void, - onError?: (message: string) => void, ): Promise { - return Npm.execute( - [ - `npm`, - `install`, - ...Npm.normalizeDependencies(dependencies), - `--prefix`, - this.path, - ], - onMessage, - onError, - ) + return this.execute([ + `npm`, + `install`, + ...this.normalizeDependencies(dependencies), + `--prefix`, + this.path, + ...args, + ]) } /** @@ -38,20 +33,16 @@ export class Npm extends Command implements IDependencyManager { @bind public uninstall( dependencies: Array, - onMessage?: (message: string) => void, - onError?: (message: string) => void, + args: Array = [], ): Promise { - return Npm.execute( - [ - `npm`, - `uninstall`, - ...Npm.normalizeDependencies(dependencies), - `--prefix`, - this.path, - ], - onMessage, - onError, - ) + return this.execute([ + `npm`, + `uninstall`, + ...this.normalizeDependencies(dependencies), + `--prefix`, + this.path, + ...args, + ]) } /** @@ -61,7 +52,12 @@ export class Npm extends Command implements IDependencyManager { */ @bind public async getLatestVersion(signifier: string): Promise { - const result = await Npm.execute([`npm`, `view`, signifier, `version`]) + const result = await this.execute([ + `npm`, + `view`, + signifier, + `version`, + ]) if (result?.shift) return result.shift().trim() } } diff --git a/sources/@roots/dependencies/src/command/yarn.command.ts b/sources/@roots/dependencies/src/command/yarn.command.ts index 07cb6af6e9..dca6ced441 100644 --- a/sources/@roots/dependencies/src/command/yarn.command.ts +++ b/sources/@roots/dependencies/src/command/yarn.command.ts @@ -14,22 +14,15 @@ export class Yarn extends Command implements IDependencyManager { */ @bind public async install( - dependencies: Array<[string, string]>, + dependencies: Array, args: Array = [], - onMessage?: (message: string) => void, - onError?: (message: string) => void, ): Promise { - await Yarn.execute( - [ - `yarn`, - `add`, - ...Yarn.normalizeDependencies(dependencies), - ...args, - ], - onMessage, - onError, - ) - await Yarn.execute([`yarn`, `install`]) + await this.execute([ + `yarn`, + `add`, + ...this.normalizeDependencies(dependencies), + ...args, + ]) } /** @@ -37,25 +30,25 @@ export class Yarn extends Command implements IDependencyManager { */ @bind public async uninstall( - dependencies: Array<[string, string]>, - onMessage?: (message: string) => void, - onError?: (message: string) => void, + dependencies: Array, + args: Array = [], ): Promise { - return await Yarn.execute( - [`yarn`, `remove`, ...Yarn.normalizeDependencies(dependencies)], - onMessage, - onError, - ) + return await this.execute([ + `yarn`, + `remove`, + ...this.normalizeDependencies(dependencies), + ...args, + ]) } /** - * Get the latest version of a package from the npm registry + * Get the latest version of a package from the registry * * @public */ @bind public async getLatestVersion(signifier: string): Promise { - const result = await Yarn.execute([ + const result = await this.execute([ `yarn`, `info`, signifier, diff --git a/sources/@roots/dependencies/src/dependencies.ts b/sources/@roots/dependencies/src/dependencies.ts index 0ba49db335..cc1ebc6b5f 100644 --- a/sources/@roots/dependencies/src/dependencies.ts +++ b/sources/@roots/dependencies/src/dependencies.ts @@ -10,14 +10,20 @@ export class Dependencies { /** * @public */ - public constructor(public path: string) {} + public constructor( + public path: string, + public onMessage?: (...args: any[]) => void, + public onError?: (...args: any[]) => void, + ) {} /** * @public */ public async getClient(): Promise { return await this.isYarn().then(isYarn => { - return isYarn ? new Yarn(this.path) : new Npm(this.path) + return isYarn + ? new Yarn(this.path, this.onMessage, this.onError) + : new Npm(this.path, this.onMessage, this.onError) }) } @@ -40,7 +46,7 @@ export class Dependencies { * @returns - Package version * @public */ - public async getLatestVersion(signifier): Promise { + public async getLatestVersion(signifier: string): Promise { return await this.getClient().then( async client => await client.getLatestVersion(signifier), ) diff --git a/sources/@roots/dependencies/src/index.ts b/sources/@roots/dependencies/src/index.ts index 49e0e16f3f..5509388cda 100644 --- a/sources/@roots/dependencies/src/index.ts +++ b/sources/@roots/dependencies/src/index.ts @@ -17,16 +17,11 @@ interface Install { ( dependencies: Array<[string, string]>, args?: Array, - onMessage?: (message: string) => void, - onError?: (message: string) => void, ): Promise } interface Uninstall { - ( - dependencies: Array<[string, string]>, - onMessage?: (message: string) => void, - ): Promise + (dependencies: Array<[string, string]>): Promise } export interface IDependencyManager { diff --git a/sources/@roots/entrypoints-webpack-plugin/package.json b/sources/@roots/entrypoints-webpack-plugin/package.json index 84953bbc44..fc2d101b93 100644 --- a/sources/@roots/entrypoints-webpack-plugin/package.json +++ b/sources/@roots/entrypoints-webpack-plugin/package.json @@ -51,7 +51,7 @@ "devDependencies": { "@skypack/package-check": "0.2.2", "@types/lodash-es": "4.17.6", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "webpack": "5.75.0" }, "dependencies": { diff --git a/sources/@roots/eslint-config/package.json b/sources/@roots/eslint-config/package.json index 57c2ac5ad3..fc74d7aff4 100644 --- a/sources/@roots/eslint-config/package.json +++ b/sources/@roots/eslint-config/package.json @@ -55,23 +55,23 @@ "./sage": "./sage.cjs" }, "devDependencies": { - "@babel/core": "7.20.2", + "@babel/core": "7.20.5", "@skypack/package-check": "0.2.2", "@types/babel__core": "7.1.20", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/prettier": "2.7.1", - "eslint": "8.27.0", - "prettier": "2.7.1" + "eslint": "8.28.0", + "prettier": "2.8.0" }, "dependencies": { "@babel/eslint-parser": "7.19.1", - "@typescript-eslint/eslint-plugin": "5.42.1", - "@typescript-eslint/parser": "5.42.1", + "@typescript-eslint/eslint-plugin": "5.45.0", + "@typescript-eslint/parser": "5.45.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-import": "2.26.0", "eslint-plugin-jsx-a11y": "^6.6.1", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "7.31.10", + "eslint-plugin-react": "7.31.11", "eslint-plugin-react-hooks": "4.6.0" }, "volta": { diff --git a/sources/@roots/filesystem/package.json b/sources/@roots/filesystem/package.json index f6b72f7376..bf65dd60d7 100644 --- a/sources/@roots/filesystem/package.json +++ b/sources/@roots/filesystem/package.json @@ -68,13 +68,13 @@ "@skypack/package-check": "0.2.2", "@types/js-yaml": "4.0.5", "@types/mime-types": "2.1.1", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/safe-json-stringify": "1.1.2" }, "dependencies": { - "@aws-sdk/abort-controller": "3.208.0", - "@aws-sdk/client-s3": "3.209.0", - "@aws-sdk/lib-storage": "3.209.0", + "@aws-sdk/abort-controller": "3.222.0", + "@aws-sdk/client-s3": "3.222.0", + "@aws-sdk/lib-storage": "3.222.0", "@types/lodash-es": "4.17.6", "fs-jetpack": "5.1.0", "globby": "13.1.2", diff --git a/sources/@roots/merged-manifest-webpack-plugin/package.json b/sources/@roots/merged-manifest-webpack-plugin/package.json index 4909e2cad0..0a3da6ce8b 100644 --- a/sources/@roots/merged-manifest-webpack-plugin/package.json +++ b/sources/@roots/merged-manifest-webpack-plugin/package.json @@ -44,7 +44,7 @@ "devDependencies": { "@skypack/package-check": "0.2.2", "@types/fs-extra": "9.0.13", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "webpack": "5.75.0" }, "dependencies": { diff --git a/sources/@roots/sage/docs/03-using-with-eslint.mdx b/sources/@roots/sage/docs/03-using-with-eslint.md similarity index 100% rename from sources/@roots/sage/docs/03-using-with-eslint.mdx rename to sources/@roots/sage/docs/03-using-with-eslint.md diff --git a/sources/@roots/sage/docs/04-using-with-stylelint.mdx b/sources/@roots/sage/docs/04-using-with-stylelint.md similarity index 100% rename from sources/@roots/sage/docs/04-using-with-stylelint.mdx rename to sources/@roots/sage/docs/04-using-with-stylelint.md diff --git a/sources/@roots/sage/docs/05-managing-theme.json.mdx b/sources/@roots/sage/docs/05-managing-theme.json.md similarity index 100% rename from sources/@roots/sage/docs/05-managing-theme.json.mdx rename to sources/@roots/sage/docs/05-managing-theme.json.md diff --git a/sources/@roots/sage/docs/06-using-with-sass.mdx b/sources/@roots/sage/docs/06-using-with-sass.md similarity index 100% rename from sources/@roots/sage/docs/06-using-with-sass.mdx rename to sources/@roots/sage/docs/06-using-with-sass.md diff --git a/sources/@roots/sage/package.json b/sources/@roots/sage/package.json index 6f3765faa0..2dab498932 100644 --- a/sources/@roots/sage/package.json +++ b/sources/@roots/sage/package.json @@ -87,7 +87,7 @@ "@roots/bud": "workspace:sources/@roots/bud", "@roots/bud-tailwindcss": "workspace:sources/@roots/bud-tailwindcss", "@skypack/package-check": "0.2.2", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "tailwindcss": "3.2.4" }, "dependencies": { diff --git a/sources/@roots/sage/src/acorn/extension.ts b/sources/@roots/sage/src/acorn/extension.ts index 2cf6e981aa..30b0a43e4b 100644 --- a/sources/@roots/sage/src/acorn/extension.ts +++ b/sources/@roots/sage/src/acorn/extension.ts @@ -31,13 +31,11 @@ export default class Acorn extends Extension { bud.extensions .get(`@roots/bud-entrypoints`) .setOption(`publicPath`, ``) - this.logger.success(`unset entrypoints publicPath`) bud.extensions .get(`@roots/bud-extensions/webpack-manifest-plugin`) .setOption(`publicPath`, ``) - this.logger.success(`unset manifest publicPath`) /** diff --git a/sources/@roots/sage/src/acorn/hooks/event.compiler.done.ts b/sources/@roots/sage/src/acorn/hooks/event.compiler.done.ts index 20e5c2f100..f5672a665b 100644 --- a/sources/@roots/sage/src/acorn/hooks/event.compiler.done.ts +++ b/sources/@roots/sage/src/acorn/hooks/event.compiler.done.ts @@ -39,7 +39,9 @@ const writeIfEnabled = async (bud: Bud) => { const writeJson = async function (bud: Bud) { const devUrl = bud.root.hooks.filter(`dev.url`) - const proxyUrl = bud.root.hooks.filter(`dev.middleware.proxy.target`) + const proxyUrl = bud.root.hooks.filter( + `dev.middleware.proxy.options.target`, + ) const publicPath = bud.root.hooks.filter(`build.output.publicPath`) const writePath = bud.path(`@dist`, `hmr.json`) diff --git a/sources/@roots/sage/tsconfig/tsconfig.json b/sources/@roots/sage/tsconfig/tsconfig.json index b59e7a14a9..8bdea0f05a 100644 --- a/sources/@roots/sage/tsconfig/tsconfig.json +++ b/sources/@roots/sage/tsconfig/tsconfig.json @@ -1,46 +1,6 @@ { - "$schema": "https://json.schemastore.org/tsconfig", - "display": "Sage", + "extends": "@roots/bud/config/tsconfig.json", "compilerOptions": { - "allowJs": true, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "isolatedModules": true, - "jsx": "preserve", - "lib": [ - "DOM", - "DOM.Iterable", - "ESNext" - ], - "module": "esnext", - "moduleResolution": "node", - "noEmit": true, - "noFallthroughCasesInSwitch": true, - "paths": { - "@resources/*": [ - "resources/*" - ], - "@scripts/*": [ - "resources/scripts/*" - ], - "@src/*": [ - "resources/*" - ], - "@styles/*": [ - "resources/styles/*" - ] - }, - "resolveJsonModule": true, - "skipLibCheck": true, - "target": "esnext", - "types": [ - "@roots/bud", - "@roots/bud-api", - "@roots/bud-preset-wordpress", - "@roots/sage", - "@roots/bud-typescript", - "webpack-env" - ] + "types": ["@roots/bud", "@roots/sage"] } } diff --git a/sources/@roots/wordpress-dependencies-webpack-plugin/package.json b/sources/@roots/wordpress-dependencies-webpack-plugin/package.json index 22b2abbb4b..8c59ebcca2 100644 --- a/sources/@roots/wordpress-dependencies-webpack-plugin/package.json +++ b/sources/@roots/wordpress-dependencies-webpack-plugin/package.json @@ -44,7 +44,7 @@ "devDependencies": { "@skypack/package-check": "0.2.2", "@types/lodash-es": "4.17.6", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "webpack": "5.75.0" }, "dependencies": { diff --git a/sources/@roots/wordpress-externals-webpack-plugin/package.json b/sources/@roots/wordpress-externals-webpack-plugin/package.json index 1838e397c9..29af0ee9b0 100644 --- a/sources/@roots/wordpress-externals-webpack-plugin/package.json +++ b/sources/@roots/wordpress-externals-webpack-plugin/package.json @@ -51,7 +51,7 @@ "devDependencies": { "@skypack/package-check": "0.2.2", "@types/lodash-es": "4.17.6", - "@types/node": "16.18.3" + "@types/node": "16.18.4" }, "dependencies": { "lodash-es": "4.17.21", diff --git a/sources/@roots/wordpress-hmr/package.json b/sources/@roots/wordpress-hmr/package.json index 9920981ed6..ac24c9a81f 100644 --- a/sources/@roots/wordpress-hmr/package.json +++ b/sources/@roots/wordpress-hmr/package.json @@ -67,14 +67,14 @@ "devDependencies": { "@skypack/package-check": "0.2.2", "@types/lodash-es": "4.17.6", - "@types/node": "16.18.3", + "@types/node": "16.18.4", "@types/react": "17.0.52", - "@types/wordpress__blocks": "11.0.7", + "@types/wordpress__blocks": "11.0.9", "@types/wordpress__data": "6.0.1", - "@wordpress/blocks": "11.20.0", - "@wordpress/data": "7.5.0", - "@wordpress/hooks": "3.21.0", - "@wordpress/plugins": "4.19.0", + "@wordpress/blocks": "11.21.0", + "@wordpress/data": "7.6.0", + "@wordpress/hooks": "3.22.0", + "@wordpress/plugins": "4.20.0", "@wordpress/rich-text": "5.20.0" }, "dependencies": { diff --git a/tests/util/project/bud.config.mjs b/tests/util/project/bud.config.mjs index 81e22384dd..5bb25d46af 100644 --- a/tests/util/project/bud.config.mjs +++ b/tests/util/project/bud.config.mjs @@ -1,29 +1,20 @@ // @ts-check -import Bud from '@roots/bud' - /** * @param {import('@roots/bud').Bud} bud */ export default async bud => { await bud.extensions.add([`@roots/bud-swc`, `@roots/bud-tailwindcss`]) - await bud.extensions.add([`@roots/bud-emotion`]) bud .setPath(`@src`, `src`) .alias(`@src`, bud.path(`@src`)) .entry(`app`, [`@src/scripts/app`, `@src/styles/app`]) .copy([[`images`, `images`]]) - .template({ - replace: { - APP_TITLE: `Bud`, - replaceTest: `replaced`, - }, - template: `src/index.html`, - }) .devtool(false) .watch([`src/*.html`, `src/images`]) .serve(3015) + .proxy(`https://roots2022.test`, {}) .minimize() .provide({jquery: [`jQuery`, `$`]}) } diff --git a/yarn.lock b/yarn.lock index 235c96295e..0689b507dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -293,13 +293,13 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/abort-controller@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/abort-controller@npm:3.208.0" +"@aws-sdk/abort-controller@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/abort-controller@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: ce30192f88cb5d2d00c52952e7179df8c6e507603e21e35f24f0c01758f5d16a24f2931be84d6d2787d3428fdec26aa99581ce494200bc4065018c74a487f87e + checksum: 06528afdab15ed4f088b313e3e42c4ed9b46f4887a2f6f75aabe98830027510e5541965cefa3af1a9f0315ae4b37bdc16b6a9c80b7fca65719b47c8909aad260 languageName: node linkType: hard @@ -322,408 +322,412 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-s3@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/client-s3@npm:3.209.0" +"@aws-sdk/client-s3@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/client-s3@npm:3.222.0" dependencies: "@aws-crypto/sha1-browser": 2.0.0 "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/client-sts": 3.209.0 - "@aws-sdk/config-resolver": 3.209.0 - "@aws-sdk/credential-provider-node": 3.209.0 - "@aws-sdk/eventstream-serde-browser": 3.208.0 - "@aws-sdk/eventstream-serde-config-resolver": 3.208.0 - "@aws-sdk/eventstream-serde-node": 3.208.0 - "@aws-sdk/fetch-http-handler": 3.208.0 - "@aws-sdk/hash-blob-browser": 3.208.0 - "@aws-sdk/hash-node": 3.208.0 - "@aws-sdk/hash-stream-node": 3.208.0 - "@aws-sdk/invalid-dependency": 3.208.0 - "@aws-sdk/md5-js": 3.208.0 - "@aws-sdk/middleware-bucket-endpoint": 3.209.0 - "@aws-sdk/middleware-content-length": 3.208.0 - "@aws-sdk/middleware-endpoint": 3.208.0 - "@aws-sdk/middleware-expect-continue": 3.208.0 - "@aws-sdk/middleware-flexible-checksums": 3.208.0 - "@aws-sdk/middleware-host-header": 3.208.0 - "@aws-sdk/middleware-location-constraint": 3.208.0 - "@aws-sdk/middleware-logger": 3.208.0 - "@aws-sdk/middleware-recursion-detection": 3.208.0 - "@aws-sdk/middleware-retry": 3.209.0 - "@aws-sdk/middleware-sdk-s3": 3.209.0 - "@aws-sdk/middleware-serde": 3.208.0 - "@aws-sdk/middleware-signing": 3.208.0 - "@aws-sdk/middleware-ssec": 3.208.0 - "@aws-sdk/middleware-stack": 3.208.0 - "@aws-sdk/middleware-user-agent": 3.208.0 - "@aws-sdk/node-config-provider": 3.209.0 - "@aws-sdk/node-http-handler": 3.208.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/signature-v4-multi-region": 3.208.0 - "@aws-sdk/smithy-client": 3.209.0 - "@aws-sdk/types": 3.208.0 - "@aws-sdk/url-parser": 3.208.0 + "@aws-sdk/client-sts": 3.222.0 + "@aws-sdk/config-resolver": 3.222.0 + "@aws-sdk/credential-provider-node": 3.222.0 + "@aws-sdk/eventstream-serde-browser": 3.222.0 + "@aws-sdk/eventstream-serde-config-resolver": 3.222.0 + "@aws-sdk/eventstream-serde-node": 3.222.0 + "@aws-sdk/fetch-http-handler": 3.222.0 + "@aws-sdk/hash-blob-browser": 3.222.0 + "@aws-sdk/hash-node": 3.222.0 + "@aws-sdk/hash-stream-node": 3.222.0 + "@aws-sdk/invalid-dependency": 3.222.0 + "@aws-sdk/md5-js": 3.222.0 + "@aws-sdk/middleware-bucket-endpoint": 3.222.0 + "@aws-sdk/middleware-content-length": 3.222.0 + "@aws-sdk/middleware-endpoint": 3.222.0 + "@aws-sdk/middleware-expect-continue": 3.222.0 + "@aws-sdk/middleware-flexible-checksums": 3.222.0 + "@aws-sdk/middleware-host-header": 3.222.0 + "@aws-sdk/middleware-location-constraint": 3.222.0 + "@aws-sdk/middleware-logger": 3.222.0 + "@aws-sdk/middleware-recursion-detection": 3.222.0 + "@aws-sdk/middleware-retry": 3.222.0 + "@aws-sdk/middleware-sdk-s3": 3.222.0 + "@aws-sdk/middleware-serde": 3.222.0 + "@aws-sdk/middleware-signing": 3.222.0 + "@aws-sdk/middleware-ssec": 3.222.0 + "@aws-sdk/middleware-stack": 3.222.0 + "@aws-sdk/middleware-user-agent": 3.222.0 + "@aws-sdk/node-config-provider": 3.222.0 + "@aws-sdk/node-http-handler": 3.222.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/signature-v4-multi-region": 3.222.0 + "@aws-sdk/smithy-client": 3.222.0 + "@aws-sdk/types": 3.222.0 + "@aws-sdk/url-parser": 3.222.0 "@aws-sdk/util-base64": 3.208.0 "@aws-sdk/util-body-length-browser": 3.188.0 "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.209.0 - "@aws-sdk/util-defaults-mode-node": 3.209.0 - "@aws-sdk/util-endpoints": 3.209.0 - "@aws-sdk/util-stream-browser": 3.208.0 - "@aws-sdk/util-stream-node": 3.208.0 - "@aws-sdk/util-user-agent-browser": 3.208.0 - "@aws-sdk/util-user-agent-node": 3.209.0 + "@aws-sdk/util-defaults-mode-browser": 3.222.0 + "@aws-sdk/util-defaults-mode-node": 3.222.0 + "@aws-sdk/util-endpoints": 3.222.0 + "@aws-sdk/util-retry": 3.222.0 + "@aws-sdk/util-stream-browser": 3.222.0 + "@aws-sdk/util-stream-node": 3.222.0 + "@aws-sdk/util-user-agent-browser": 3.222.0 + "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 - "@aws-sdk/util-waiter": 3.208.0 + "@aws-sdk/util-waiter": 3.222.0 "@aws-sdk/xml-builder": 3.201.0 fast-xml-parser: 4.0.11 tslib: ^2.3.1 - checksum: 8991722a5ba832ec59abbc84e3fe47f5815fead55f712a632197db903ae2c7a729dd668ce4a1873ac3c20015498d0dc805b7857d9e4eafab4a9a735fec2b3a3e + checksum: 844b0ac62f37d8db28d462bc1ee4cc9bef97529fd9716db9693dd7c6423ec5d12b81a0a107457aa9feb2e7ca2e26c12aa979fe51ce4b3090229fcfa784778e83 languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.209.0" +"@aws-sdk/client-sso-oidc@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.222.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/config-resolver": 3.209.0 - "@aws-sdk/fetch-http-handler": 3.208.0 - "@aws-sdk/hash-node": 3.208.0 - "@aws-sdk/invalid-dependency": 3.208.0 - "@aws-sdk/middleware-content-length": 3.208.0 - "@aws-sdk/middleware-endpoint": 3.208.0 - "@aws-sdk/middleware-host-header": 3.208.0 - "@aws-sdk/middleware-logger": 3.208.0 - "@aws-sdk/middleware-recursion-detection": 3.208.0 - "@aws-sdk/middleware-retry": 3.209.0 - "@aws-sdk/middleware-serde": 3.208.0 - "@aws-sdk/middleware-stack": 3.208.0 - "@aws-sdk/middleware-user-agent": 3.208.0 - "@aws-sdk/node-config-provider": 3.209.0 - "@aws-sdk/node-http-handler": 3.208.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/smithy-client": 3.209.0 - "@aws-sdk/types": 3.208.0 - "@aws-sdk/url-parser": 3.208.0 + "@aws-sdk/config-resolver": 3.222.0 + "@aws-sdk/fetch-http-handler": 3.222.0 + "@aws-sdk/hash-node": 3.222.0 + "@aws-sdk/invalid-dependency": 3.222.0 + "@aws-sdk/middleware-content-length": 3.222.0 + "@aws-sdk/middleware-endpoint": 3.222.0 + "@aws-sdk/middleware-host-header": 3.222.0 + "@aws-sdk/middleware-logger": 3.222.0 + "@aws-sdk/middleware-recursion-detection": 3.222.0 + "@aws-sdk/middleware-retry": 3.222.0 + "@aws-sdk/middleware-serde": 3.222.0 + "@aws-sdk/middleware-stack": 3.222.0 + "@aws-sdk/middleware-user-agent": 3.222.0 + "@aws-sdk/node-config-provider": 3.222.0 + "@aws-sdk/node-http-handler": 3.222.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/smithy-client": 3.222.0 + "@aws-sdk/types": 3.222.0 + "@aws-sdk/url-parser": 3.222.0 "@aws-sdk/util-base64": 3.208.0 "@aws-sdk/util-body-length-browser": 3.188.0 "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.209.0 - "@aws-sdk/util-defaults-mode-node": 3.209.0 - "@aws-sdk/util-endpoints": 3.209.0 - "@aws-sdk/util-user-agent-browser": 3.208.0 - "@aws-sdk/util-user-agent-node": 3.209.0 + "@aws-sdk/util-defaults-mode-browser": 3.222.0 + "@aws-sdk/util-defaults-mode-node": 3.222.0 + "@aws-sdk/util-endpoints": 3.222.0 + "@aws-sdk/util-retry": 3.222.0 + "@aws-sdk/util-user-agent-browser": 3.222.0 + "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: a81fb2308c9754a34dc7ad2df91cbd22a54135b64a58a34f59ce064d1d385bd0732802cd8e11153a48a82294c5f16d496973cd89e4a75f8e1b925904676fde6f + checksum: 40674d89438b689480bdfa10bfb044d90341d87096ae6b0803e6ecc1695d48b1f7a8c513109e92001c380e2b2f5b18aa3e8af1c8ecd3d2f04f63f160cb039611 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/client-sso@npm:3.209.0" +"@aws-sdk/client-sso@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/client-sso@npm:3.222.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/config-resolver": 3.209.0 - "@aws-sdk/fetch-http-handler": 3.208.0 - "@aws-sdk/hash-node": 3.208.0 - "@aws-sdk/invalid-dependency": 3.208.0 - "@aws-sdk/middleware-content-length": 3.208.0 - "@aws-sdk/middleware-endpoint": 3.208.0 - "@aws-sdk/middleware-host-header": 3.208.0 - "@aws-sdk/middleware-logger": 3.208.0 - "@aws-sdk/middleware-recursion-detection": 3.208.0 - "@aws-sdk/middleware-retry": 3.209.0 - "@aws-sdk/middleware-serde": 3.208.0 - "@aws-sdk/middleware-stack": 3.208.0 - "@aws-sdk/middleware-user-agent": 3.208.0 - "@aws-sdk/node-config-provider": 3.209.0 - "@aws-sdk/node-http-handler": 3.208.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/smithy-client": 3.209.0 - "@aws-sdk/types": 3.208.0 - "@aws-sdk/url-parser": 3.208.0 + "@aws-sdk/config-resolver": 3.222.0 + "@aws-sdk/fetch-http-handler": 3.222.0 + "@aws-sdk/hash-node": 3.222.0 + "@aws-sdk/invalid-dependency": 3.222.0 + "@aws-sdk/middleware-content-length": 3.222.0 + "@aws-sdk/middleware-endpoint": 3.222.0 + "@aws-sdk/middleware-host-header": 3.222.0 + "@aws-sdk/middleware-logger": 3.222.0 + "@aws-sdk/middleware-recursion-detection": 3.222.0 + "@aws-sdk/middleware-retry": 3.222.0 + "@aws-sdk/middleware-serde": 3.222.0 + "@aws-sdk/middleware-stack": 3.222.0 + "@aws-sdk/middleware-user-agent": 3.222.0 + "@aws-sdk/node-config-provider": 3.222.0 + "@aws-sdk/node-http-handler": 3.222.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/smithy-client": 3.222.0 + "@aws-sdk/types": 3.222.0 + "@aws-sdk/url-parser": 3.222.0 "@aws-sdk/util-base64": 3.208.0 "@aws-sdk/util-body-length-browser": 3.188.0 "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.209.0 - "@aws-sdk/util-defaults-mode-node": 3.209.0 - "@aws-sdk/util-endpoints": 3.209.0 - "@aws-sdk/util-user-agent-browser": 3.208.0 - "@aws-sdk/util-user-agent-node": 3.209.0 + "@aws-sdk/util-defaults-mode-browser": 3.222.0 + "@aws-sdk/util-defaults-mode-node": 3.222.0 + "@aws-sdk/util-endpoints": 3.222.0 + "@aws-sdk/util-retry": 3.222.0 + "@aws-sdk/util-user-agent-browser": 3.222.0 + "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: 5f875c16278ffda043dc8218201aa29dadb20decf7f7b2927a8786756dc5efb82626e8dc08712817d0ce3e32c258efb7b56f22f95b2bf171416014526303a76d + checksum: bc0cd1125bc5aa94b3fdec15167ce9539acf4a187da060d51fa8ad7c30d0bf6cfee9e3a0175d65e204aba92efee4087c99d1190e1b43927c01cd7a8b1bbbb93e languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/client-sts@npm:3.209.0" +"@aws-sdk/client-sts@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/client-sts@npm:3.222.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/config-resolver": 3.209.0 - "@aws-sdk/credential-provider-node": 3.209.0 - "@aws-sdk/fetch-http-handler": 3.208.0 - "@aws-sdk/hash-node": 3.208.0 - "@aws-sdk/invalid-dependency": 3.208.0 - "@aws-sdk/middleware-content-length": 3.208.0 - "@aws-sdk/middleware-endpoint": 3.208.0 - "@aws-sdk/middleware-host-header": 3.208.0 - "@aws-sdk/middleware-logger": 3.208.0 - "@aws-sdk/middleware-recursion-detection": 3.208.0 - "@aws-sdk/middleware-retry": 3.209.0 - "@aws-sdk/middleware-sdk-sts": 3.208.0 - "@aws-sdk/middleware-serde": 3.208.0 - "@aws-sdk/middleware-signing": 3.208.0 - "@aws-sdk/middleware-stack": 3.208.0 - "@aws-sdk/middleware-user-agent": 3.208.0 - "@aws-sdk/node-config-provider": 3.209.0 - "@aws-sdk/node-http-handler": 3.208.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/smithy-client": 3.209.0 - "@aws-sdk/types": 3.208.0 - "@aws-sdk/url-parser": 3.208.0 + "@aws-sdk/config-resolver": 3.222.0 + "@aws-sdk/credential-provider-node": 3.222.0 + "@aws-sdk/fetch-http-handler": 3.222.0 + "@aws-sdk/hash-node": 3.222.0 + "@aws-sdk/invalid-dependency": 3.222.0 + "@aws-sdk/middleware-content-length": 3.222.0 + "@aws-sdk/middleware-endpoint": 3.222.0 + "@aws-sdk/middleware-host-header": 3.222.0 + "@aws-sdk/middleware-logger": 3.222.0 + "@aws-sdk/middleware-recursion-detection": 3.222.0 + "@aws-sdk/middleware-retry": 3.222.0 + "@aws-sdk/middleware-sdk-sts": 3.222.0 + "@aws-sdk/middleware-serde": 3.222.0 + "@aws-sdk/middleware-signing": 3.222.0 + "@aws-sdk/middleware-stack": 3.222.0 + "@aws-sdk/middleware-user-agent": 3.222.0 + "@aws-sdk/node-config-provider": 3.222.0 + "@aws-sdk/node-http-handler": 3.222.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/smithy-client": 3.222.0 + "@aws-sdk/types": 3.222.0 + "@aws-sdk/url-parser": 3.222.0 "@aws-sdk/util-base64": 3.208.0 "@aws-sdk/util-body-length-browser": 3.188.0 "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.209.0 - "@aws-sdk/util-defaults-mode-node": 3.209.0 - "@aws-sdk/util-endpoints": 3.209.0 - "@aws-sdk/util-user-agent-browser": 3.208.0 - "@aws-sdk/util-user-agent-node": 3.209.0 + "@aws-sdk/util-defaults-mode-browser": 3.222.0 + "@aws-sdk/util-defaults-mode-node": 3.222.0 + "@aws-sdk/util-endpoints": 3.222.0 + "@aws-sdk/util-retry": 3.222.0 + "@aws-sdk/util-user-agent-browser": 3.222.0 + "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 fast-xml-parser: 4.0.11 tslib: ^2.3.1 - checksum: b30b9601c67a81f8e32b26f7974f2ac5a831a6a32d80a1231930a2b10303bfcb213c07254f559d55f8fef3d8e1d99a2893ae0e62464b94eac40d80ad1ef1f2c6 + checksum: 79f18e5b44541673213715e3465a8b000716c03120ea087e6920abba3542683dbd4b881ecb091ef90df34947eec00c82daf70089ea0e5e92cffbb4e57e2d76d7 languageName: node linkType: hard -"@aws-sdk/config-resolver@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/config-resolver@npm:3.209.0" +"@aws-sdk/config-resolver@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/config-resolver@npm:3.222.0" dependencies: - "@aws-sdk/signature-v4": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/signature-v4": 3.222.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-config-provider": 3.208.0 - "@aws-sdk/util-middleware": 3.208.0 + "@aws-sdk/util-middleware": 3.222.0 tslib: ^2.3.1 - checksum: 6d3098f62c04d86e193dfc9ab0342ba7156f0b60d8a23911d40e8f3e81340c3fc45a7cd1e355538e41482f9713b4c6b1272269a7281f58c47baafc1102ac231c + checksum: 8a2524cf1e8bd9d7acf82a039a1da7de9a7f9017d7a0dd913024e74d126509bdaa0e2b2bfc0b9ba5a9aee83af4022e2573f59d675997cc81b726d8300afd22d5 languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/credential-provider-env@npm:3.208.0" +"@aws-sdk/credential-provider-env@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.222.0" dependencies: - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 4090c8f4eaba869d77a16f9a7791ff8a8a3a9284f498fae28da6de50882277716389e12f87410cc4dc66952552b328f73099b4e7c255916c822bd3e6b9cc10cf + checksum: ae524102f47c8ac471231d990b63d3a3272826f94efd9a37d6a5ccc1c42db1edc86a69c67743eeba16fbead5b6800578de1a43831b99005e6d5b974acdc553d0 languageName: node linkType: hard -"@aws-sdk/credential-provider-imds@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/credential-provider-imds@npm:3.209.0" +"@aws-sdk/credential-provider-imds@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/credential-provider-imds@npm:3.222.0" dependencies: - "@aws-sdk/node-config-provider": 3.209.0 - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/types": 3.208.0 - "@aws-sdk/url-parser": 3.208.0 + "@aws-sdk/node-config-provider": 3.222.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/types": 3.222.0 + "@aws-sdk/url-parser": 3.222.0 tslib: ^2.3.1 - checksum: fdc216b8492401c2e3f647edf1be136591dc4a60c919b93ffbc45b4652b53dda4d998ca4a878ad0dbe0c18be531b04f2f8f516830e2aebc82904d2d40ed412cb + checksum: 41e5ee3819896063fdd3054d9a21d954b6904eaf66b4fc1385407de18dab7417704f2c2ebfad27330692fda629cc8878a0d7291a67f84ab4880a1c1a4a4d3c22 languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.209.0" +"@aws-sdk/credential-provider-ini@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.222.0" dependencies: - "@aws-sdk/credential-provider-env": 3.208.0 - "@aws-sdk/credential-provider-imds": 3.209.0 - "@aws-sdk/credential-provider-sso": 3.209.0 - "@aws-sdk/credential-provider-web-identity": 3.208.0 - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/shared-ini-file-loader": 3.209.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/credential-provider-env": 3.222.0 + "@aws-sdk/credential-provider-imds": 3.222.0 + "@aws-sdk/credential-provider-sso": 3.222.0 + "@aws-sdk/credential-provider-web-identity": 3.222.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/shared-ini-file-loader": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: d138ad3c5e833e9d6fcdb4d4d4fc1fd583e676c2403dd5f8df92c1d4cba917f65908d01d0fa04eb3c7ed6469df2cff3bb3ad4747437bd92e18d1e5820198a353 + checksum: eac19a9b52066f76cf23bee102369df7d50097dfee3be14b12c2e178c16868acd1a79b13c00d3e3ac40d2fbc14b4e2b06119d0c51c5d875c6be3606c33514d62 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.209.0" +"@aws-sdk/credential-provider-node@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.222.0" dependencies: - "@aws-sdk/credential-provider-env": 3.208.0 - "@aws-sdk/credential-provider-imds": 3.209.0 - "@aws-sdk/credential-provider-ini": 3.209.0 - "@aws-sdk/credential-provider-process": 3.209.0 - "@aws-sdk/credential-provider-sso": 3.209.0 - "@aws-sdk/credential-provider-web-identity": 3.208.0 - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/shared-ini-file-loader": 3.209.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/credential-provider-env": 3.222.0 + "@aws-sdk/credential-provider-imds": 3.222.0 + "@aws-sdk/credential-provider-ini": 3.222.0 + "@aws-sdk/credential-provider-process": 3.222.0 + "@aws-sdk/credential-provider-sso": 3.222.0 + "@aws-sdk/credential-provider-web-identity": 3.222.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/shared-ini-file-loader": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: b1f0b44d8f09e22772aa37a9647f2afefa4fd02862a3bb84f5ae8494851b4f72e1e6e5e93baa25911acf7c37bb2d5c63ff69c819086c96a15681cdefd128af3b + checksum: f17ce6c9b45d48d9bebd63766b5d85e45f6a1d50b02bea4784d0055269a0f5c05e5ba343c6b138cd29086b94c6bb4511568e9fb59f340f3988526b2d7950cb4c languageName: node linkType: hard -"@aws-sdk/credential-provider-process@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/credential-provider-process@npm:3.209.0" +"@aws-sdk/credential-provider-process@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.222.0" dependencies: - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/shared-ini-file-loader": 3.209.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/shared-ini-file-loader": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 228b1e1f11dec9716e8e6972fba62b67e180c6828e4c23613d40a44bbbb19e715e9da9d388f86cf9b78f0f06d8ccb3a2dbade8b0249f505a84b6fc72db694e1b + checksum: 9f51373b68be65f4ec1a1412796070c4c8570729ad1b2e6882c802b152d6ac54c2877df8049e7e483fe85af94fdd19bda6145ebe9130e7a6502f851ae8db1855 languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.209.0" +"@aws-sdk/credential-provider-sso@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.222.0" dependencies: - "@aws-sdk/client-sso": 3.209.0 - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/shared-ini-file-loader": 3.209.0 - "@aws-sdk/token-providers": 3.209.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/client-sso": 3.222.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/shared-ini-file-loader": 3.222.0 + "@aws-sdk/token-providers": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: a359a2ddcac6b1b6b45bb6a8d0ea467a841bfeab9aaf4ae05883511d3aa86afe36784493dd0479ac937d775f7307b2ec924cf3cc0290ad2388440c83109c5d95 + checksum: 8e0a39a722fd6548b9758ab4c711eac9128a64bae1fa9bfce5f0b92c2df34883fdcd544c9a48f501d3a7b695e6d0b51a9b5e1be1b7eac626a1818860cfc86072 languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.208.0" +"@aws-sdk/credential-provider-web-identity@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.222.0" dependencies: - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 2a832494723039baa6c2352d2e6139546fbe5cbd7ec027e98742dd81acadb4ee95724baedd965c8cfb0e405abeff110e88db54d6ac4eeac57d6c11327a3a9931 + checksum: 4cae5d24b048decc17e44cef846635d7dfc3e2941b26391b144677a355f2ed4b3b798e87e14cc04959283c4f4914267edaaf8d92e58cd61a4a529551e61459ae languageName: node linkType: hard -"@aws-sdk/eventstream-codec@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/eventstream-codec@npm:3.208.0" +"@aws-sdk/eventstream-codec@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/eventstream-codec@npm:3.222.0" dependencies: "@aws-crypto/crc32": 2.0.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-hex-encoding": 3.201.0 tslib: ^2.3.1 - checksum: a26ad554c5f4bb2f8ccdd3dc9af666e27f6138f972b871bb87c1e3cd6b47fe4eda13dd127383f79f0dbabf75963a10d50b52b75f76535e912c169f9eb4e1b9f4 + checksum: e41eebf3117623b26a825de7faebe3ce7e0f8aeaf01044902393581d36887879bdd5e73f20a708ef4031a6cdf0de2b845442cd83ac1b0f02ae9c056778c93113 languageName: node linkType: hard -"@aws-sdk/eventstream-serde-browser@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/eventstream-serde-browser@npm:3.208.0" +"@aws-sdk/eventstream-serde-browser@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/eventstream-serde-browser@npm:3.222.0" dependencies: - "@aws-sdk/eventstream-serde-universal": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/eventstream-serde-universal": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 16b09dd9974af629e38a843e4dca3cddeba32b94013fd79b0de8024d61f2cd70f45e64fa5d994c76e4abf58378e09d014b4294b70e350b0d8e18d4e137c4c677 + checksum: 7bddf8d48b99615e3e03f051eee4dbb92cd84a23e688c83a7a2d4b8383ece4b59864c2d337d581d3eeaa62f692f912be20091c6b0bb82631d4681fb83d3898b9 languageName: node linkType: hard -"@aws-sdk/eventstream-serde-config-resolver@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/eventstream-serde-config-resolver@npm:3.208.0" +"@aws-sdk/eventstream-serde-config-resolver@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/eventstream-serde-config-resolver@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 4061dea1b7ee8244518eb19ecaa7af64aeaa083cf168c785f835cb2b2da5c4d90624e73f378c8c8693b21b950266cd6085164b5167974adcfe09ace20e18b8fa + checksum: 77f133dea7ae542cdcd8c2e4533ab862ddf7167a328c19d61ed360733ed3f9f3b4dfd66a52431300dfd87babafc0db8241e27f66178cb90973778b4ac06c2e0a languageName: node linkType: hard -"@aws-sdk/eventstream-serde-node@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/eventstream-serde-node@npm:3.208.0" +"@aws-sdk/eventstream-serde-node@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/eventstream-serde-node@npm:3.222.0" dependencies: - "@aws-sdk/eventstream-serde-universal": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/eventstream-serde-universal": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: dfebbe8a1f08ec8e7c13ac9c14e2e1969a771228c104ac6e7db4917a9afbb9f17ae8a9d4dd9d89d8cb33c14acc970ef52b437c8b862c6002a1f8bc40166b24bd + checksum: f18b1254ffffaee8acd7f5f1104969ca29248f797e8a9b018aaf4945e5a6b3bd1d6f46078a878232b1e99133e963e9ad8d840389d3fc9e8b0edc00e767c69d9f languageName: node linkType: hard -"@aws-sdk/eventstream-serde-universal@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/eventstream-serde-universal@npm:3.208.0" +"@aws-sdk/eventstream-serde-universal@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/eventstream-serde-universal@npm:3.222.0" dependencies: - "@aws-sdk/eventstream-codec": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/eventstream-codec": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 9285205a1fbb2471f0a62cb6dc5df52ebd03e0140a79ff8491d4006d79d32f37b0704c5ea55ca01d3add412600f6688a4cebe04f54da0d8b7999407cdcb0b711 + checksum: e3a02b2edc0245fce5137adfaf945c969a2285e5f681752ef257c837f578ece4872af3d7ce3ea2b6776761d70d77151034e843d98f9bbed9523cf3e533f49994 languageName: node linkType: hard -"@aws-sdk/fetch-http-handler@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/fetch-http-handler@npm:3.208.0" +"@aws-sdk/fetch-http-handler@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/fetch-http-handler@npm:3.222.0" dependencies: - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/querystring-builder": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/querystring-builder": 3.222.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-base64": 3.208.0 tslib: ^2.3.1 - checksum: a0016ec854d247e28ba7a86e72d6915854b33d489e88e5d26c8e3843704a3978129b4b52619c9810acd19c47dbf9b4359be17ad939e0be676b4af9cb21952abf + checksum: b6fa1a03e8e7fa4aea13f9aa154968b93ce1c6eca8f2f3fd58961bad167a720dc999cc62270bdf707d21e2136d22171f1099b4b326ccbcff52bea59a5a278630 languageName: node linkType: hard -"@aws-sdk/hash-blob-browser@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/hash-blob-browser@npm:3.208.0" +"@aws-sdk/hash-blob-browser@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/hash-blob-browser@npm:3.222.0" dependencies: "@aws-sdk/chunked-blob-reader": 3.188.0 "@aws-sdk/chunked-blob-reader-native": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: ad88c10aef821dea3513c2a8d0192dbccdb72ae23b009f074247a6cbd80885468bcdf5d9e85537fa52aa71967420e78a0cd8315a4029299b915c044aa760865b + checksum: c70be9c57ebfb3c549be807af61a77242952f39696eca2c38c77b6cde9afe8f83f92c8467cde9224f4da97e97635a3987759cd3996fd07ee23a1cf67dafc0d92 languageName: node linkType: hard -"@aws-sdk/hash-node@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/hash-node@npm:3.208.0" +"@aws-sdk/hash-node@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/hash-node@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-buffer-from": 3.208.0 tslib: ^2.3.1 - checksum: 03b8cdb69389d005c7a9f5d653a0d400f7b77060b502e6c8367dd8c60231c53c1e7757cbd7e2953b8041a9ca860e5b7501ee7e88a7897ce23ed8557c8892b2a3 + checksum: 25ad5a33eb74d7a6a43f1d9d668a268e1ac9d1e5f394395784fc6011d10448630f79ea1f5c5dfbed249556cd4dec2f091d0913eca82700bdea1f64564c6512ae languageName: node linkType: hard -"@aws-sdk/hash-stream-node@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/hash-stream-node@npm:3.208.0" +"@aws-sdk/hash-stream-node@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/hash-stream-node@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 387a12de374dd0c33140749d428fb2cb9d561a6482c79229b4e55a0b5919f0d1c19549885e5593f0e1ff3fba585d73a3d945a3e6fc416d3a791b6e0f935828e7 + checksum: 6c58512030bb6e10601dda4de1efa0b61b2d6d9828018682c751a5a10a2d52e7931181818b51d8bf9cdf8ec0ef3fc2d93f0ef71ede51e91abc3b4f04a777ac4f languageName: node linkType: hard -"@aws-sdk/invalid-dependency@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/invalid-dependency@npm:3.208.0" +"@aws-sdk/invalid-dependency@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/invalid-dependency@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: edd4455ebe2ef84d6d6819d818989148377e83ac0f4d78c3108d6ccbf88254fbd661305a109e917e5b58f50426c4f89c4980f753e0f0f59a45c9c3faa6483236 + checksum: 1b6f3c2330f57506d8431cd7d295ab483e739a8be21556b5495cf3b0501776e0b286ddb5f049acd8814f46d44380a3c4ec0790c3226cbe8dcea03998c4bc1fd7 languageName: node linkType: hard @@ -736,12 +740,12 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/lib-storage@npm:3.209.0" +"@aws-sdk/lib-storage@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/lib-storage@npm:3.222.0" dependencies: - "@aws-sdk/middleware-endpoint": 3.208.0 - "@aws-sdk/smithy-client": 3.209.0 + "@aws-sdk/middleware-endpoint": 3.222.0 + "@aws-sdk/smithy-client": 3.222.0 buffer: 5.6.0 events: 3.3.0 stream-browserify: 3.0.0 @@ -749,314 +753,314 @@ __metadata: peerDependencies: "@aws-sdk/abort-controller": ^3.0.0 "@aws-sdk/client-s3": ^3.0.0 - checksum: 0b618df466ab9325cf0278eab6fd54e7227c310e559d01ca8d64a792d08e988cfc83126a7049cf899f2f4874e5157e07f47c8210e1beeedb19f7b6ccb358f989 + checksum: c247247e72a2c8a8210054dc84789ec10ce65bc631b253e65a21f407f5c9881c2eaa3fb982ce47f8e8979074b4d96e10ff9dc9f5245e76e40030809fa5ecaf06 languageName: node linkType: hard -"@aws-sdk/md5-js@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/md5-js@npm:3.208.0" +"@aws-sdk/md5-js@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/md5-js@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: 9b298c919175b51ddc2ecfbba3210dd1ceea64168b6b2bed0715d0f15bffbfee9586cc0d186ca1c88456521fae4a0f293faadeec6dd346f1ef234ef0bdc664d8 + checksum: 1fce491eef05bbf11242472e65a8ac379fd8061c3afc23e1e320fe86ddcb2babaa4696e1ebb452e69fcacf4f812d92490e25b7c928edb44d667db6718e1310cd languageName: node linkType: hard -"@aws-sdk/middleware-bucket-endpoint@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.209.0" +"@aws-sdk/middleware-bucket-endpoint@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.222.0" dependencies: - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-arn-parser": 3.208.0 "@aws-sdk/util-config-provider": 3.208.0 tslib: ^2.3.1 - checksum: e0c450473bf546c827347e4d55d3daa815c5fad84ac56b87e14c4b6e123e4c8ffd2f4505707f445981d5329d75040c536b8bbfbad8b3e9cde0712efcd0ef1ea2 + checksum: 2f1d0da868788b8716a39e79e885cad3fa481701f6965eade6acd9d60c39fa95a257ca3c3d70b84936cead854232c17ddd6d2d4ce414735959af567e518aeb6e languageName: node linkType: hard -"@aws-sdk/middleware-content-length@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-content-length@npm:3.208.0" +"@aws-sdk/middleware-content-length@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-content-length@npm:3.222.0" dependencies: - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 285d89554e60864052058562967dd0ce8233c2b3ec714f84ba57d4db54430db21b98ac4fff84380cb290a76cc8eeaca8c98e1ff30e2e18c0c9c23d6ef61cb108 + checksum: c21d04fa94ad3b20f507ad41f65cd010e84ce6ef9a4b9ae9c8d66ea8ca60b8b4c1436a9a1c19805de79b95b6f885f18dfda50ba19f6546023a71f36577797f66 languageName: node linkType: hard -"@aws-sdk/middleware-endpoint@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-endpoint@npm:3.208.0" +"@aws-sdk/middleware-endpoint@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-endpoint@npm:3.222.0" dependencies: - "@aws-sdk/middleware-serde": 3.208.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/signature-v4": 3.208.0 - "@aws-sdk/types": 3.208.0 - "@aws-sdk/url-parser": 3.208.0 + "@aws-sdk/middleware-serde": 3.222.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/signature-v4": 3.222.0 + "@aws-sdk/types": 3.222.0 + "@aws-sdk/url-parser": 3.222.0 "@aws-sdk/util-config-provider": 3.208.0 - "@aws-sdk/util-middleware": 3.208.0 + "@aws-sdk/util-middleware": 3.222.0 tslib: ^2.3.1 - checksum: 2a5eaa29d0c241052d4f5f4242e5fbb432d619092b747924465ab2d85140ba50bd46080fa9a3ddda8602e8c5b11c5a5f86ce193b0c9998bf0f260a5dcbda288c + checksum: 3a1240f66457d1de73a9c9f5f8baaf628f307d46840ef323492ac68ede5504dee6b1a9299195212e2b12e039ac7d6eafefa72cc1502799bcae6fd77c5d84da93 languageName: node linkType: hard -"@aws-sdk/middleware-expect-continue@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-expect-continue@npm:3.208.0" +"@aws-sdk/middleware-expect-continue@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-expect-continue@npm:3.222.0" dependencies: - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: c17ffc942bce74e5028e2cdd8ef6ff077f937a147dc7c047663a05b99caa2ce6b34156474f78583c69aae301ca63d14fc823b341b9650060dd2f0fdfb3ce7422 + checksum: 285ed55ab00f9a46af98003a34af9398e2ab044f0892f51b4f498ec1bfc7b83065bf4d6680da9bc2a581fcab438eac76a385b1038e3683aec8c9056285ef9a2f languageName: node linkType: hard -"@aws-sdk/middleware-flexible-checksums@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.208.0" +"@aws-sdk/middleware-flexible-checksums@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.222.0" dependencies: "@aws-crypto/crc32": 2.0.0 "@aws-crypto/crc32c": 2.0.0 "@aws-sdk/is-array-buffer": 3.201.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 27e1a3b5633052704bb95459d574f60265ff9b6e117e7da79e97be33b06570de0ce92d05256829a765497d366a24e1568c64e1462a0909edb6dab033d90a577d + checksum: b55f9f45b4fd3c9aeed2f80c030b19fb1e2602e1062c692b4f7c5c9d87e7b7c036e7ebdac066dbfe6a3cde275a9091235ff2793a657630a330aaa652c6e53b50 languageName: node linkType: hard -"@aws-sdk/middleware-host-header@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.208.0" +"@aws-sdk/middleware-host-header@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.222.0" dependencies: - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 3fd2a548dcfaacb098fecc8d92c4914b95bb3e572c89548144b3d484c1669b6e326b327d2841c1d657d4675edf0d9d01840fd07030ede4542af730233784abb4 + checksum: 0806ce2b235d8ec6328caa1cacdbdbee82196f82b7dc96e1ce6d8413390a35c73475df3a102391a99cd5996ef806054969ea00338064889997bd15428a064c73 languageName: node linkType: hard -"@aws-sdk/middleware-location-constraint@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-location-constraint@npm:3.208.0" +"@aws-sdk/middleware-location-constraint@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-location-constraint@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 025f32ad5bdf4d3a15a118038b42b74a7e6037f5538fa6495580768e17ce6dd7635b8363f329d3642e16fbabe1c935e58057b153ef92f13256a6fd8982d959d6 + checksum: 54d77c68746e836ec9317f4062152beb09fccee15266f52b7e4ee6a19d5d40b8c4bb720a867170acdf8c77d8ef7b08701cf1a76b202dc3c191488a10507c1bdc languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-logger@npm:3.208.0" +"@aws-sdk/middleware-logger@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-logger@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 474d19748f03e0f1be159b8704e84a9e0640dafa5b4a58c8fea20bf7ab310c210c1368d39a07d5c303ea85ef2b856e45b1cf0388416a823395b207e3a753a84e + checksum: c0fef1f56ba710a2e5784515f96d8c8408b3e882288d1bc8e6201bf8128d921de4b2dbaaeca1fee48334539587bf514cb77796cc0fab989173c4d785fc220db5 languageName: node linkType: hard -"@aws-sdk/middleware-recursion-detection@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.208.0" +"@aws-sdk/middleware-recursion-detection@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.222.0" dependencies: - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 7a99cae97f7dbcb3041750c6bd68e481391dcfe5fdf8c6b4c2b3214e2fbc245cd1b1c120df6d016d195ef71f452a0bfc2d1e62c28ac6330d80cf99b8ed12bafb + checksum: 6a3b31de18a32585a86948f312aefd98ec7a9a9ff5b8044f7f11dc8d7737e5fdb5d867f2971ffcf645db118892a28518fdb9689cc8fb64e947717281cca32031 languageName: node linkType: hard -"@aws-sdk/middleware-retry@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/middleware-retry@npm:3.209.0" +"@aws-sdk/middleware-retry@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-retry@npm:3.222.0" dependencies: - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/service-error-classification": 3.208.0 - "@aws-sdk/types": 3.208.0 - "@aws-sdk/util-middleware": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/service-error-classification": 3.222.0 + "@aws-sdk/types": 3.222.0 + "@aws-sdk/util-middleware": 3.222.0 tslib: ^2.3.1 uuid: ^8.3.2 - checksum: b6bb6deaf5be91db6e59bfacf471581d2a36edcc1760b9173a3b3271608183cedde1d482995932cc26cea4ad79ef4fe25a3c162a61205cac4483355ddedb21c8 + checksum: 764a56b92ba0178166cb188db20e521360a625d763a94e9470eeda83ad1d6d240186b5eeec41592896aa09f7c1370e604513419bf30683cbcbd5e5ae625b3a98 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.209.0" +"@aws-sdk/middleware-sdk-s3@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.222.0" dependencies: - "@aws-sdk/middleware-bucket-endpoint": 3.209.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/middleware-bucket-endpoint": 3.222.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-arn-parser": 3.208.0 tslib: ^2.3.1 - checksum: 26fef9f90e1646ca0817a8f73f2a65221de79ca6225b79183ac39be892c4dc748e254b9fac76809c606861b2e5a94f65cad1affa708e7fa2f789dd492d6a5861 + checksum: a09aead012e6aae12467ba45b1740255b60da4f5cd816043abc8af0fd4905133063454c755d08ab3dcbf11096d42d0f92ab20b51d08c7d4daaa55f0586e99558 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sts@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-sdk-sts@npm:3.208.0" +"@aws-sdk/middleware-sdk-sts@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-sdk-sts@npm:3.222.0" dependencies: - "@aws-sdk/middleware-signing": 3.208.0 - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/signature-v4": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/middleware-signing": 3.222.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/signature-v4": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: a599a86a8add55a4d42a457c5c1dfbdc54652c830fff23ba9ba65af1aa1142e2b959212945418d020d32bf542b4c9900dedaddf93f84ff063bfc7bb1ebfec792 + checksum: 0ad309d6490586686643602199b8a4389818568b6a7f6c41c97ff0b85e91651c9bed05da31c3eddf1ad329af926ac7efa5b8ee353c52a540ef1a529d6346350f languageName: node linkType: hard -"@aws-sdk/middleware-serde@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-serde@npm:3.208.0" +"@aws-sdk/middleware-serde@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-serde@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 4d08677052023047232bac6ce2c76537f1b9aa6947ecb78d08f6aa11dc562dc4b133a5857e33617c31ef34192a30cbe88170695945ca0af2086de4fd85d07942 + checksum: 28dfe6d9c8d662d449ec4df9c30aa0eb18103f8cff8f3fa5325fc41a4e94b16e054d97d1325fe68b2ef497abfeabfc96b4ad63e485fb71693a488869fe732c33 languageName: node linkType: hard -"@aws-sdk/middleware-signing@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-signing@npm:3.208.0" +"@aws-sdk/middleware-signing@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-signing@npm:3.222.0" dependencies: - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/signature-v4": 3.208.0 - "@aws-sdk/types": 3.208.0 - "@aws-sdk/util-middleware": 3.208.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/signature-v4": 3.222.0 + "@aws-sdk/types": 3.222.0 + "@aws-sdk/util-middleware": 3.222.0 tslib: ^2.3.1 - checksum: b42845744dc72b37a1ec48f8bd94ce4b1dc14509ccbe0fccf40922fc7e7d04f7dd33a6e67deaca0d4509174c38ed7f4cb936fe5e421f6d4d528637b3187b9a45 + checksum: 0e43183ba97d40162d2be2d8f0965c532691ebbb9bcb6216cb9b43f6fa2ed81118f3c06f991e5d01b3dc5b8d3cc692344b53996a8e13085fb9c658683da5e791 languageName: node linkType: hard -"@aws-sdk/middleware-ssec@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-ssec@npm:3.208.0" +"@aws-sdk/middleware-ssec@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-ssec@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: a7c41c446f5d7ece9018f21c1f37cd475659741688a7e47cf73f145dbaa99d96750c8ea00f0f6368acd9b01e68288f5bc4bd976a0a7a5ba4749f48067a754ff5 + checksum: fec3cf9a4495c1d2bdcd1ca3d577a077df9427a8fb1afbf53eede63347e1d0181b031e7c4625736079a726bf9c90ae5140aed2655c2282b8dcfc2957ca2641af languageName: node linkType: hard -"@aws-sdk/middleware-stack@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-stack@npm:3.208.0" +"@aws-sdk/middleware-stack@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-stack@npm:3.222.0" dependencies: tslib: ^2.3.1 - checksum: 0fc26ff7bccec67ba85be4092ae30e6de34802335d6bef15c10c9f43106f50b184b479d0c2585eaf591c939130c9646b1b616937eba891f2c56e1678e77e417f + checksum: 5f143c1a964016a7296798e8ca457b7a364bc8e816eb1829be5c3b5c0f7430dbad2df3725d96bee4f4ad9ac4937083e7b2bf7c72093775c5b9fa85f697304361 languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.208.0" +"@aws-sdk/middleware-user-agent@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.222.0" dependencies: - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: e9877237e329eecde91288ef57dc36581d7ac4c1f2b1f80a4586f2c1d2b74313a0aa01ebd165930479f400d5f052bf5d6d972722a179b9f0a962ed489cd969a2 + checksum: 3521fc61597faa8e53ee2290a4e1342ad0a22591362757c57985add5e3a85978f9e8fc83e993670740eae532937886c61ca85a8c534327ff4ef1ed721883e7a9 languageName: node linkType: hard -"@aws-sdk/node-config-provider@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/node-config-provider@npm:3.209.0" +"@aws-sdk/node-config-provider@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/node-config-provider@npm:3.222.0" dependencies: - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/shared-ini-file-loader": 3.209.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/shared-ini-file-loader": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 14541a9e9c1fcdf79d1bde12dae3f1ba6161217848cdc1a1c55cb442412c050a5aadcb34c230839a741b1e44e70d00f341c7647594ae9aa9ca4bad05d18299e7 + checksum: 53c2e7d7c1ac5c54a0fbf5b5fdf963c89cc659f51189a6086f939d5adc0d9c3500e3205b159285f447df3bbf39ac32e67e1c313bbc368ad1c1ae8d26f771a3f4 languageName: node linkType: hard -"@aws-sdk/node-http-handler@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/node-http-handler@npm:3.208.0" +"@aws-sdk/node-http-handler@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/node-http-handler@npm:3.222.0" dependencies: - "@aws-sdk/abort-controller": 3.208.0 - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/querystring-builder": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/abort-controller": 3.222.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/querystring-builder": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 9a45e06c874325cd91f89948cc6cd08541bbeea46f06f8f9f6e721fd411109b2a9c3385efd69f8fc8b02e09da53e559769dfa044e3f9caec53abd4be16388ce1 + checksum: 06a66d1e54e0fd856c6172f2cfd97daefab8d5b996eecfb83b05cb29f4830ff00af1a5deb2726ec88b306a585be214e3fc7b3ead3ea9b70776a70a768424a70d languageName: node linkType: hard -"@aws-sdk/property-provider@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/property-provider@npm:3.208.0" +"@aws-sdk/property-provider@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/property-provider@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 0943741b1f358a8b94bc232849742fba267811fef2ba9dc3fdf39fd9e406b92547efa676235a500989e0edbdb9c47906971644a26cf92f8a9309bdce499814fa + checksum: 924965232eeef1870c7ed108b7ab1b6d23da3032f0741b129a883eab472c17c9811b95f79e3e84299cd0a44512b3aedfafa05ab0b232a0b17782ed327a4a1965 languageName: node linkType: hard -"@aws-sdk/protocol-http@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/protocol-http@npm:3.208.0" +"@aws-sdk/protocol-http@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/protocol-http@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 6cf57f264a4ef393fbe5fac71f22eaba47bc421646063dac004919ec7185979ed91a3e03c71373749150249f6be4ae41294a4c068d7c22a5990dcd2f5cf8347c + checksum: 11650667a4072246e6a12269c95e2c5a746d32032d0a54e3c8d062c711fef07b0c6fc2ad2a23c9ef82a97d305bf9a9222ccbcc3adb2835355b8b0199d3839f75 languageName: node linkType: hard -"@aws-sdk/querystring-builder@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/querystring-builder@npm:3.208.0" +"@aws-sdk/querystring-builder@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/querystring-builder@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-uri-escape": 3.201.0 tslib: ^2.3.1 - checksum: 69ff07e2a05ae0979da4e5b12ffb223f0eb037fab079f1f4c245101fdb2d9244454a543dcc829120b882a99a63ecfc950f209ba5a1aaacf94432a35a214c2521 + checksum: 418bc648f3597e1b96765784acb6964dc3aaca6853582d7e91aaaaf793d9ee1fe8170da31cddff72b36b95456fc5566589120c94988711726dc80ddf345e9839 languageName: node linkType: hard -"@aws-sdk/querystring-parser@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/querystring-parser@npm:3.208.0" +"@aws-sdk/querystring-parser@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/querystring-parser@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 136e7f1c7cdac0d5087b369e3ba69625ee6e0e634d6a1b543d0a3da3602fe9d8981145b683f2847c31972f08e5cdd317feb11c7b49d1fc65b0d14e6ddfdb358f + checksum: d209807dc727c6eebf885d1e7a440e0fdb9c68e27f7f6e48a326f97eab8da9172dba91a35015656dffd10d7a2b484237e49705d332948cfed747ae04f08de9ab languageName: node linkType: hard -"@aws-sdk/service-error-classification@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/service-error-classification@npm:3.208.0" - checksum: ce8da4b3b13147465430bf595cddfd55a29960d4f80193d546e49a5e823105cac26e414fafa11a4ad77549524ab784e1facbf29bf0da1c70449848493acf8d31 +"@aws-sdk/service-error-classification@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/service-error-classification@npm:3.222.0" + checksum: 7277ef3831a91821ce3306eda993d4d646ae15de9c638a4a8804d8db330a267cb6e3a20e3eb886d9cac634a77b0e1f3eb0706ce7c38bc42f4b67a1fac6f6d76a languageName: node linkType: hard -"@aws-sdk/shared-ini-file-loader@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/shared-ini-file-loader@npm:3.209.0" +"@aws-sdk/shared-ini-file-loader@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/shared-ini-file-loader@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 46c33a3d0155395689e100701918a76ed1b89ad4526342a89e7d38a46812903f631950388223aee9c22db852196b234d6906d99494dbcaa4182679d3fa001cca + checksum: 2efc2618e65058bd549a6acd2cd68c1e8d2a5079a5447328908eb952651714d616fdb1a95622c63b4718f03ac251eb6d5598a666e1c01f1ea223b2071ee74371 languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.208.0" +"@aws-sdk/signature-v4-multi-region@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.222.0" dependencies: - "@aws-sdk/protocol-http": 3.208.0 - "@aws-sdk/signature-v4": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/protocol-http": 3.222.0 + "@aws-sdk/signature-v4": 3.222.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-arn-parser": 3.208.0 tslib: ^2.3.1 peerDependencies: @@ -1064,52 +1068,52 @@ __metadata: peerDependenciesMeta: "@aws-sdk/signature-v4-crt": optional: true - checksum: fd5d9511b76347cedb42cee8fcfe30a474a709070217826704cef769c6e88db188f492c90bb773fa7299a57d63adb3dc00e300f8c7dc4c64dbfcb16880dd5834 + checksum: 6ab68c8001c85c79974f5bd272e6caeebe486d40665be1658aba4bce11e518873fc3bc72c9731fbfa399fa5d09b980f878aaa1c01330ebc0b026520c8d3f3fed languageName: node linkType: hard -"@aws-sdk/signature-v4@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/signature-v4@npm:3.208.0" +"@aws-sdk/signature-v4@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/signature-v4@npm:3.222.0" dependencies: "@aws-sdk/is-array-buffer": 3.201.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-hex-encoding": 3.201.0 - "@aws-sdk/util-middleware": 3.208.0 + "@aws-sdk/util-middleware": 3.222.0 "@aws-sdk/util-uri-escape": 3.201.0 tslib: ^2.3.1 - checksum: 3030c09d4952f3b75ce6a7f8486f71cffa074c868ba5e18827387b07cbfa27504d77d02d9b44644e57efff2fbfaba2cffd53f1d1b8529a353e6f85977b789bb7 + checksum: 66f9f0f8170cdede19d4194a5bb56fc914c9013bf9dbc60d84aa4340d15d4f5ed73a477484fac943de08f57d924423eaa01f913bd3055ee0b7b3c5b119f9e348 languageName: node linkType: hard -"@aws-sdk/smithy-client@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/smithy-client@npm:3.209.0" +"@aws-sdk/smithy-client@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/smithy-client@npm:3.222.0" dependencies: - "@aws-sdk/middleware-stack": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/middleware-stack": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 9d2429bb4ba876ae4896380e6c4b2ee02138ad461e694f6797460353acdd50d110fad5a036aec3082a8c635342ac9700d5cf132a7f8a30cde146cd1a24e75938 + checksum: 0bfbd061a001054a99234a819e9313a2bfd9131e013cdd46674f3dc06faa3e416245d8e3a86e05fad942da5ec6ef34988e686e29d5940ad738452116a4e70173 languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/token-providers@npm:3.209.0" +"@aws-sdk/token-providers@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/token-providers@npm:3.222.0" dependencies: - "@aws-sdk/client-sso-oidc": 3.209.0 - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/shared-ini-file-loader": 3.209.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/client-sso-oidc": 3.222.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/shared-ini-file-loader": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 9e1796a883274aa135fc586e42ade42cb9b08209000adf9df2723bf6f19483e6f3f1616990c4ed41b207bd3b50129ba7fae70273dfe299d3aa26aa1586bb62c0 + checksum: e0d2d9af50570ca1e9ae4cfe32889a9146a0e49ce3004dfc4d5305ba0f64b7561da95d09ccaf18927638417d3bd1eb9772cb58256aef242beab03a56e4e68883 languageName: node linkType: hard -"@aws-sdk/types@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/types@npm:3.208.0" - checksum: 3d4eb51720bd20b6811dece5e096ba3b59da842d1c8b2a8e2785e9931d916f41197651da689aa415083e1259e03507b7703ecbbac001b4cdbe68dde2ed94b5cf +"@aws-sdk/types@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/types@npm:3.222.0" + checksum: 41d70038c69b1e9b9dbf0489a8aa416da1c96c4ff84e8d5db01ea4877efceb4c0fdd0ce27bdeea8c67afc4d168151dc63938302a3f945922143f37472c4fd9da languageName: node linkType: hard @@ -1120,14 +1124,14 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/url-parser@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/url-parser@npm:3.208.0" +"@aws-sdk/url-parser@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/url-parser@npm:3.222.0" dependencies: - "@aws-sdk/querystring-parser": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/querystring-parser": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 09c20067d12609172906d9c37d77609db6deb82dd981fc06ce9404e3537b95f96311d30933d7724af8aecc8661a357a33ba59c42ba68f8ec91ef187e045cd9e0 + checksum: ef878c49c61efc2bd6a94ffebfbacade2bdd19e390785e48a8c5c151db86d099c391c30304ba6ade1cdd94c1c41d87ce160d6570cd4f76058e1cbbe0063829f4 languageName: node linkType: hard @@ -1187,39 +1191,39 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-defaults-mode-browser@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.209.0" +"@aws-sdk/util-defaults-mode-browser@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.222.0" dependencies: - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/types": 3.222.0 bowser: ^2.11.0 tslib: ^2.3.1 - checksum: b4ce4586f6d6cf4a72f94cc0df2b3775100ca471f9a69ba5f2ce8aeb48e8b8aabd481acf0ea14f3e8ae22499d18b620236851a3787ab962f21f8210f2b26f61c + checksum: 3e936e38976a9edac22ff32990c55ca01a9f3bb058ebf1f933a1f5240bb6c26394224284db521b9011e88bdb6d567b7aa7584e0a594ae962ad9f0e3740801712 languageName: node linkType: hard -"@aws-sdk/util-defaults-mode-node@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/util-defaults-mode-node@npm:3.209.0" +"@aws-sdk/util-defaults-mode-node@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-defaults-mode-node@npm:3.222.0" dependencies: - "@aws-sdk/config-resolver": 3.209.0 - "@aws-sdk/credential-provider-imds": 3.209.0 - "@aws-sdk/node-config-provider": 3.209.0 - "@aws-sdk/property-provider": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/config-resolver": 3.222.0 + "@aws-sdk/credential-provider-imds": 3.222.0 + "@aws-sdk/node-config-provider": 3.222.0 + "@aws-sdk/property-provider": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: c13e62cf30b1a93d63974f582226537cbd5bcce2bf8aa98e0a797a8a4153464582cc6ccac26f8f83046d2a64933c2af185128e275401adfdc4580f1c5c537066 + checksum: 37718633f793e9880f4a93e6d56cb72b1cfc4e45d3177d2065e5179788941cf0f43fb45c740763debbe33fc8a62d1d09c3fe87809c71c039a5dd071cec3a0306 languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/util-endpoints@npm:3.209.0" +"@aws-sdk/util-endpoints@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-endpoints@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 9b555c8a2c8634623a0e4d40c31130e3230c6f6d6da2a48ccbb3a04ccb15b3850199a9b3e694af63fd7586cde76fee77924291105a80575679ba6ce9f5206066 + checksum: 3e71a50994363b978ab35bc1fee7ab21c157731e0c7364f064d40244058c96188c238b27d2f9097becc548b86e0abaca886cea03e89b8b219fb0d0a7fea6a249 languageName: node linkType: hard @@ -1241,38 +1245,48 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-middleware@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/util-middleware@npm:3.208.0" +"@aws-sdk/util-middleware@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-middleware@npm:3.222.0" dependencies: tslib: ^2.3.1 - checksum: 5ab692dfcddc08016a7ef569a85cf0caee5cb3c8c3f6c329b5c31a28167aca500afab9ac62c4ba544643183556885b214b27b08a597a6594a9bb75d31eede5a0 + checksum: 807dd36731c7aa59658e4eea5747d6d363b5e5715d0d2c5554c265df6729735f31e790e8e6130d5d56b4923e29080a656e19978631a7ff667f969bfdae8c6320 languageName: node linkType: hard -"@aws-sdk/util-stream-browser@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/util-stream-browser@npm:3.208.0" +"@aws-sdk/util-retry@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-retry@npm:3.222.0" + dependencies: + "@aws-sdk/service-error-classification": 3.222.0 + tslib: ^2.3.1 + checksum: d4b38a23a310d44d211db2cfb2ae53ef41cf805308d08e56d9ca786fc69fd6b244f331d40ea35023bbc53625c7b2c1f4fab9fabd32d0a10396d4359ac50eff09 + languageName: node + linkType: hard + +"@aws-sdk/util-stream-browser@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-stream-browser@npm:3.222.0" dependencies: - "@aws-sdk/fetch-http-handler": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/fetch-http-handler": 3.222.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-base64": 3.208.0 "@aws-sdk/util-hex-encoding": 3.201.0 "@aws-sdk/util-utf8-browser": 3.188.0 tslib: ^2.3.1 - checksum: 266970e3c56f1f1e8a64c290eef11ea934ce86bc5117dd7be848aa44e076aa41fada8c089cf02157c2607b4d2a61c63806082f4b948dbfba7e2f62d9bc5fc435 + checksum: 08428921f9a49824ea5b335c4bdacb6216346b8c0fd2e6914a45982c96d440eabc4a05a91e217ff7a5696d802c2fb1ab458546c34ef66edf5e52f41e3ee98dda languageName: node linkType: hard -"@aws-sdk/util-stream-node@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/util-stream-node@npm:3.208.0" +"@aws-sdk/util-stream-node@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-stream-node@npm:3.222.0" dependencies: - "@aws-sdk/node-http-handler": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/node-http-handler": 3.222.0 + "@aws-sdk/types": 3.222.0 "@aws-sdk/util-buffer-from": 3.208.0 tslib: ^2.3.1 - checksum: ed4dbe145df0b660fb5db3a822deac6ebfc265dc02ac084168da17fb6f8d4167676cc649ac5a8cc5cddee48e74ffbf6d39ffa03faa03d8e791e558bc1f4eab89 + checksum: 04d875a572d45604dc71c1e20b90136f5b8a20820f53ad5ab4e76ee86fa3e043e015c40d041d81822703305c9530baccc595534f6674903b7f830ea9649c050b languageName: node linkType: hard @@ -1285,30 +1299,30 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.208.0" +"@aws-sdk/util-user-agent-browser@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.222.0" dependencies: - "@aws-sdk/types": 3.208.0 + "@aws-sdk/types": 3.222.0 bowser: ^2.11.0 tslib: ^2.3.1 - checksum: 843b1894e9388936f929edaa717835a058a1626bf09ac44e64b0bf1a6147b885a051bab9d411d5065205400ac5f4237252f6474e752d49b90f3fc381388397b1 + checksum: 14a878c88948fed8c6e19324a6f28088cbb964580e74c97ec319c8afb426f17b35cfbcbc40bb43b977b3a5a9b05aaa254dfc23a028d29802058148f28507f7f1 languageName: node linkType: hard -"@aws-sdk/util-user-agent-node@npm:3.209.0": - version: 3.209.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.209.0" +"@aws-sdk/util-user-agent-node@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.222.0" dependencies: - "@aws-sdk/node-config-provider": 3.209.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/node-config-provider": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 peerDependencies: aws-crt: ">=1.0.0" peerDependenciesMeta: aws-crt: optional: true - checksum: e916ba98e16df32c5602815ddc0b5ed1742c490c57435ea8c7c8afd89e949d3a1077540b983481df36a4067bcdc0fb4aae08c443360537d213f93cd6e6b9109f + checksum: 36a9cf397196ef6c188d307f6202b10d98629dfe7583dc903e22870b553cca7624e2732f16e9511e690433665966e5adce7472299081eda1acf8d33b4c977ea4 languageName: node linkType: hard @@ -1331,14 +1345,14 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-waiter@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/util-waiter@npm:3.208.0" +"@aws-sdk/util-waiter@npm:3.222.0": + version: 3.222.0 + resolution: "@aws-sdk/util-waiter@npm:3.222.0" dependencies: - "@aws-sdk/abort-controller": 3.208.0 - "@aws-sdk/types": 3.208.0 + "@aws-sdk/abort-controller": 3.222.0 + "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: e2c7c7204b7a65e2740485c8fb85c91bb31ad78598007c9562bf5e29c78d8b7e565b44a856a7a53aeebdb2777fd1f61cab3c9bd7789471614d9625216c799d26 + checksum: 840d57ff2250d6a9fd917ed80db5d8ecea38b056453aaab78c7b19c9858f6e837ffd06f430e5682d0fbd4f3d47ac1a79fcf9f1ed9af7da2e446e3a19239777ec languageName: node linkType: hard @@ -1398,26 +1412,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.20.2": - version: 7.20.2 - resolution: "@babel/core@npm:7.20.2" +"@babel/core@npm:7.20.5": + version: 7.20.5 + resolution: "@babel/core@npm:7.20.5" dependencies: "@ampproject/remapping": ^2.1.0 "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.20.2 + "@babel/generator": ^7.20.5 "@babel/helper-compilation-targets": ^7.20.0 "@babel/helper-module-transforms": ^7.20.2 - "@babel/helpers": ^7.20.1 - "@babel/parser": ^7.20.2 + "@babel/helpers": ^7.20.5 + "@babel/parser": ^7.20.5 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.20.1 - "@babel/types": ^7.20.2 + "@babel/traverse": ^7.20.5 + "@babel/types": ^7.20.5 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.1 semver: ^6.3.0 - checksum: 98faaaef26103a276a30a141b951a93bc8418d100d1f668bf7a69d12f3e25df57958e8b6b9100d95663f720db62da85ade736f6629a5ebb1e640251a1b43c0e4 + checksum: 9547f1e6364bc58c3621e3b17ec17f0d034ff159e5a520091d9381608d40af3be4042dd27c20ad7d3e938422d75850ac56a3758d6801d65df701557af4bd244b languageName: node linkType: hard @@ -1469,7 +1483,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.20.1, @babel/generator@npm:^7.20.2": +"@babel/generator@npm:^7.20.1": version: 7.20.4 resolution: "@babel/generator@npm:7.20.4" dependencies: @@ -1480,6 +1494,17 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.20.5": + version: 7.20.5 + resolution: "@babel/generator@npm:7.20.5" + dependencies: + "@babel/types": ^7.20.5 + "@jridgewell/gen-mapping": ^0.3.2 + jsesc: ^2.5.1 + checksum: 31c10d1e122f08cf755a24bd6f5d197f47eceba03f1133759687d00ab72d210e60ba4011da42f368b6e9fa85cbfda7dc4adb9889c2c20cc5c34bb2d57c1deab7 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-annotate-as-pure@npm:7.18.6" @@ -1816,14 +1841,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.20.1": - version: 7.20.1 - resolution: "@babel/helpers@npm:7.20.1" +"@babel/helpers@npm:^7.20.5": + version: 7.20.6 + resolution: "@babel/helpers@npm:7.20.6" dependencies: "@babel/template": ^7.18.10 - "@babel/traverse": ^7.20.1 - "@babel/types": ^7.20.0 - checksum: be35f78666bdab895775ed94dbeb098f7b4fa08ce4cfb0c3a9e69b7220cce56960dcdc2b14f5df9d3b80388d4bf7df155c97f6cf6768c0138f4e6931d0f44955 + "@babel/traverse": ^7.20.5 + "@babel/types": ^7.20.5 + checksum: f03ec6eb2bf8dc7cdfe2569ee421fd9ba6c7bac6c862d90b608ccdd80281ebe858bc56ca175fc92b3ac50f63126b66bbd5ec86f9f361729289a20054518f1ac5 languageName: node linkType: hard @@ -1865,7 +1890,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.20.1, @babel/parser@npm:^7.20.2": +"@babel/parser@npm:^7.20.1": version: 7.20.3 resolution: "@babel/parser@npm:7.20.3" bin: @@ -1874,6 +1899,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.20.5": + version: 7.20.5 + resolution: "@babel/parser@npm:7.20.5" + bin: + parser: ./bin/babel-parser.js + checksum: e8d514ce0aa74d56725bd102919a49fa367afef9cd8208cf52f670f54b061c4672f51b4b7980058ab1f5fe73615fe4dc90720ab47bbcebae07ad08d667eda318 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6" @@ -3188,6 +3222,24 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.20.5": + version: 7.20.5 + resolution: "@babel/traverse@npm:7.20.5" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.20.5 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 + "@babel/helper-hoist-variables": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/parser": ^7.20.5 + "@babel/types": ^7.20.5 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: c7fed468614aab1cf762dda5df26e2cfcd2b1b448c9d3321ac44786c4ee773fb0e10357e6593c3c6a648ae2e0be6d90462d855998dc10e3abae84de99291e008 + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.7, @babel/types@npm:^7.16.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.19.4, @babel/types@npm:^7.20.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.20.0 resolution: "@babel/types@npm:7.20.0" @@ -3210,6 +3262,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.20.5": + version: 7.20.5 + resolution: "@babel/types@npm:7.20.5" + dependencies: + "@babel/helper-string-parser": ^7.19.4 + "@babel/helper-validator-identifier": ^7.19.1 + to-fast-properties: ^2.0.0 + checksum: 773f0a1ad9f6ca5c5beaf751d1d8d81b9130de87689d1321fc911d73c3b1167326d66f0ae086a27fb5bfc8b4ee3ffebf1339be50d3b4d8015719692468c31f2d + languageName: node + linkType: hard + "@bugsnag/browser@npm:^7.17.0": version: 7.17.0 resolution: "@bugsnag/browser@npm:7.17.0" @@ -3300,7 +3363,7 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-cascade-layers@npm:^1.1.0": +"@csstools/postcss-cascade-layers@npm:^1.1.1": version: 1.1.1 resolution: "@csstools/postcss-cascade-layers@npm:1.1.1" dependencies: @@ -4567,19 +4630,19 @@ __metadata: languageName: node linkType: hard -"@netlify/build@npm:^28.3.1": - version: 28.4.2 - resolution: "@netlify/build@npm:28.4.2" +"@netlify/build@npm:^28.4.5": + version: 28.4.5 + resolution: "@netlify/build@npm:28.4.5" dependencies: "@bugsnag/js": ^7.0.0 "@netlify/cache-utils": ^5.0.2 "@netlify/config": ^20.0.2 - "@netlify/edge-bundler": 4.4.2 - "@netlify/functions-utils": ^5.0.4 + "@netlify/edge-bundler": 5.0.0 + "@netlify/functions-utils": ^5.0.5 "@netlify/git-utils": ^5.0.2 "@netlify/plugins-list": ^6.54.0 "@netlify/run-utils": ^5.0.2 - "@netlify/zip-it-and-ship-it": ^7.1.2 + "@netlify/zip-it-and-ship-it": ^7.1.3 "@sindresorhus/slugify": ^2.0.0 ansi-escapes: ^5.0.0 chalk: ^5.0.0 @@ -4626,7 +4689,7 @@ __metadata: yargs: ^17.6.0 bin: netlify-build: bin.js - checksum: 59dee4954f2dc295cd7e7ceb54c46452f93e45a185a23816e2dfd8123ac83803abd5131490000456a822e171824141af62a41ab6793d19752bd4fd0d115bd358 + checksum: 215e3a02a10a775c57ed13708ff769b2fdeeaf66ef4e11ffffc704a24590d14433dba72aaf7916fd327e88de0eca75b2772cadcfae89817f3707cdce969a8298 languageName: node linkType: hard @@ -4681,36 +4744,9 @@ __metadata: languageName: node linkType: hard -"@netlify/edge-bundler@npm:4.4.2": - version: 4.4.2 - resolution: "@netlify/edge-bundler@npm:4.4.2" - dependencies: - "@import-maps/resolve": ^1.0.1 - ajv: ^8.11.2 - ajv-errors: ^3.0.0 - better-ajv-errors: ^1.2.0 - common-path-prefix: ^3.0.0 - del: ^7.0.0 - env-paths: ^3.0.0 - execa: ^6.0.0 - find-up: ^6.3.0 - get-port: ^6.1.2 - glob-to-regexp: ^0.4.1 - node-fetch: ^3.1.1 - node-stream-zip: ^1.15.0 - p-retry: ^5.1.1 - p-wait-for: ^4.1.0 - path-key: ^4.0.0 - semver: ^7.3.5 - tmp-promise: ^3.0.3 - uuid: ^9.0.0 - checksum: 28ab2a6f2f3ab2e40442c01723a42a927f7061533b6486a462f69623e3348dda635194c3be4bb9f6461722d491bdf731644dddcfc3a82a6012c680abd4b9e30c - languageName: node - linkType: hard - -"@netlify/edge-bundler@npm:^4.4.1": - version: 4.4.3 - resolution: "@netlify/edge-bundler@npm:4.4.3" +"@netlify/edge-bundler@npm:5.0.0, @netlify/edge-bundler@npm:^5.0.0": + version: 5.0.0 + resolution: "@netlify/edge-bundler@npm:5.0.0" dependencies: "@import-maps/resolve": ^1.0.1 ajv: ^8.11.2 @@ -4731,7 +4767,7 @@ __metadata: semver: ^7.3.5 tmp-promise: ^3.0.3 uuid: ^9.0.0 - checksum: 3038fe571fe93e12eeee97876d67c718a295af9c363bf4fac5ac8c033e3ca161ca84d21a4c153464bcfc2ac008ffd650efa8786cffd696c46d55a1cfb9f655e4 + checksum: b22134386f0a143b7f5bde47bad873ebf63c403dcb756ce560b07dd690decd32e85d3c6cd13eb86195f8581e86a00f61b1b38bbe74c9be44ea800d01011a045f languageName: node linkType: hard @@ -4966,14 +5002,14 @@ __metadata: languageName: node linkType: hard -"@netlify/functions-utils@npm:^5.0.4": - version: 5.0.4 - resolution: "@netlify/functions-utils@npm:5.0.4" +"@netlify/functions-utils@npm:^5.0.5": + version: 5.0.5 + resolution: "@netlify/functions-utils@npm:5.0.5" dependencies: - "@netlify/zip-it-and-ship-it": ^7.1.2 + "@netlify/zip-it-and-ship-it": ^7.1.3 cpy: ^8.1.0 path-exists: ^5.0.0 - checksum: 9f205f803bd18bd36c9c1f647d8d2e8db54273bf4503a6c3ba7ad3e1521d6e5d4fc815291e56de1dfe8b55f2d85eed2baca666f2c50d6eb732ec454d8b4ba44b + checksum: 41e93db45ffa59fb3f826f30e3a8e2188a9de9576ce6640b47b19e9337c4ee0c9568a7f57006d9712fb36244d9fbc230daf3065521a836976e32c1b8860faf69 languageName: node linkType: hard @@ -5166,9 +5202,9 @@ __metadata: languageName: node linkType: hard -"@netlify/zip-it-and-ship-it@npm:^7.1.2": - version: 7.1.2 - resolution: "@netlify/zip-it-and-ship-it@npm:7.1.2" +"@netlify/zip-it-and-ship-it@npm:^7.1.3": + version: 7.1.3 + resolution: "@netlify/zip-it-and-ship-it@npm:7.1.3" dependencies: "@babel/parser": 7.16.8 "@netlify/binary-info": ^1.0.0 @@ -5204,7 +5240,7 @@ __metadata: yargs: ^17.0.0 bin: zip-it-and-ship-it: dist/bin.js - checksum: 8bbf839d1aaad077c5e97c5f030792f15360c2da6da1745b6675eb3884e36b10bf2c52ec96b15f7dd223a5c945e6ec84127310837307970f0c82b79845961041 + checksum: 42ec0d7658cf6e93c3f5bab95e4b57eb6671bfea507254e4f51b90f0b62783fbff8a5f62d1bc0fe07b858a183dffd8c443a5f0070af9f0ac1eff4b3f03df9ad7 languageName: node linkType: hard @@ -5711,9 +5747,9 @@ __metadata: languageName: node linkType: hard -"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.9": - version: 0.5.9 - resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.9" +"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.10": + version: 0.5.10 + resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.10" dependencies: ansi-html-community: ^0.0.8 common-path-prefix: ^3.0.0 @@ -5721,7 +5757,7 @@ __metadata: error-stack-parser: ^2.0.6 find-up: ^5.0.0 html-entities: ^2.1.0 - loader-utils: ^2.0.3 + loader-utils: ^2.0.4 schema-utils: ^3.0.0 source-map: ^0.7.3 peerDependencies: @@ -5746,7 +5782,7 @@ __metadata: optional: true webpack-plugin-serve: optional: true - checksum: 446c0add9ecf17ed9911bf310bf22ab64f4b3d0ce334e68a3fcac5efee782ef4d7b6260997efaf720c7a2ea39086db89629e4aa07fb18558387d8dc8f0f31da2 + checksum: c45beded9c56fbbdc7213a2c36131ace5db360ed704d462cc39d6678f980173a91c9a3f691e6bd3a026f25486644cd0027e8a12a0a4eced8e8b886a0472e7d34 languageName: node linkType: hard @@ -5784,15 +5820,15 @@ __metadata: "@repo/logger": "workspace:sources/@repo/logger" "@types/fs-extra": 9.0.13 "@types/lodash-es": 4.17.6 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@vercel/ncc": 0.34.0 download-package-tarball: 1.0.7 fs-extra: 10.1.0 get-package-json-from-registry: 2.2.2 lodash-es: 4.17.21 - npm-package-arg: 10.0.0 + npm-package-arg: 10.1.0 registry-info: 1.0.0 - vitest: 0.24.5 + vitest: 0.25.3 languageName: unknown linkType: soft @@ -5800,8 +5836,8 @@ __metadata: version: 0.0.0-use.local resolution: "@repo/constants@workspace:sources/@repo/constants" dependencies: - "@types/node": 16.18.3 - vitest: 0.24.5 + "@types/node": 16.18.4 + vitest: 0.25.3 languageName: unknown linkType: soft @@ -5818,23 +5854,23 @@ __metadata: "@repo/constants": "workspace:sources/@repo/constants" "@svgr/webpack": 6.5.1 "@tsconfig/docusaurus": 1.0.6 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/react": 17.0.52 "@types/react-dom": 17.0.18 - "@types/react-helmet": 6.1.5 + "@types/react-helmet": 6.1.6 "@types/react-reconciler": 0.28.0 "@types/react-router-dom": 5.3.3 - axios: 1.1.3 + axios: 1.2.0 clsx: 1.2.1 - docusaurus-lunr-search: 2.3.1 + docusaurus-lunr-search: 2.3.2 file-loader: 6.2.0 - netlify-cli: 12.2.6 + netlify-cli: 12.2.8 raw-loader: 4.0.2 react: 17.0.2 react-dom: 17.0.2 ts-node: 10.9.1 tslib: 2.4.1 - typescript: 4.8.4 + typescript: 4.9.3 url-loader: 4.1.1 webpack: 5.75.0 languageName: unknown @@ -5845,9 +5881,9 @@ __metadata: resolution: "@repo/logger@workspace:sources/@repo/logger" dependencies: "@repo/constants": "workspace:sources/@repo/constants" - "@types/node": 16.18.3 + "@types/node": 16.18.4 signale: 1.4.0 - vitest: 0.24.5 + vitest: 0.25.3 languageName: unknown linkType: soft @@ -5859,7 +5895,7 @@ __metadata: "@repo/logger": "workspace:sources/@repo/logger" "@roots/bud": "workspace:sources/@roots/bud" "@roots/bud-support": "workspace:sources/@roots/bud-support" - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/prettier": 2.7.1 dotenv: 16.0.3 execa: 6.1.0 @@ -5871,10 +5907,10 @@ __metadata: json5: 2.2.1 lodash-es: 4.17.21 octokit: 2.0.10 - prettier: 2.7.1 + prettier: 2.8.0 strip-ansi: 7.0.1 - typescript: 4.8.4 - vitest: 0.24.5 + typescript: 4.9.3 + vitest: 0.25.3 languageName: unknown linkType: soft @@ -5882,8 +5918,8 @@ __metadata: version: 0.0.0-use.local resolution: "@repo/notifier@workspace:sources/@repo/notifier" dependencies: - "@types/node": 16.18.3 - vitest: 0.24.5 + "@types/node": 16.18.4 + vitest: 0.25.3 languageName: unknown linkType: soft @@ -5896,7 +5932,7 @@ __metadata: "@roots/bud": "workspace:sources/@roots/bud" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@types/fs-extra": 9.0.13 - "@types/node": 16.18.3 + "@types/node": 16.18.4 chalk: 5.1.2 execa: 6.1.0 fs-extra: 10.1.0 @@ -5904,7 +5940,7 @@ __metadata: helpful-decorators: 2.1.0 json5: 2.2.1 tslib: 2.4.1 - vitest: 0.24.5 + vitest: 0.25.3 languageName: unknown linkType: soft @@ -5914,12 +5950,12 @@ __metadata: dependencies: "@repo/constants": "workspace:sources/@repo/constants" "@types/fs-extra": 9.0.13 - "@types/node": 16.18.3 - "@yarnpkg/builder": 3.2.5 - "@yarnpkg/cli": 3.2.4 - "@yarnpkg/core": 3.2.5 - "@yarnpkg/shell": 3.2.4 - clipanion: 3.2.0-rc.13 + "@types/node": 16.18.4 + "@yarnpkg/builder": 3.2.6 + "@yarnpkg/cli": 3.3.0 + "@yarnpkg/core": 3.3.0 + "@yarnpkg/shell": 3.2.5 + clipanion: 3.2.0-rc.14 fs-extra: 10.1.0 helpful-decorators: 2.1.0 js-yaml: 4.1.0 @@ -5927,8 +5963,8 @@ __metadata: pm2: 5.2.2 semver: 7.3.8 tslib: 2.4.1 - typescript: 4.8.4 - verdaccio: 5.16.3 + typescript: 4.9.3 + verdaccio: 5.18.0 languageName: unknown linkType: soft @@ -5937,18 +5973,18 @@ __metadata: resolution: "@repo/yarn-plugin-package@workspace:sources/@repo/yarn-plugin-package" dependencies: "@types/fs-extra": 9.0.13 - "@types/node": 16.18.3 - "@yarnpkg/builder": 3.2.5 - "@yarnpkg/cli": 3.2.4 - "@yarnpkg/core": 3.2.5 - "@yarnpkg/shell": 3.2.4 - clipanion: 3.2.0-rc.13 + "@types/node": 16.18.4 + "@yarnpkg/builder": 3.2.6 + "@yarnpkg/cli": 3.3.0 + "@yarnpkg/core": 3.3.0 + "@yarnpkg/shell": 3.2.5 + clipanion: 3.2.0-rc.14 fs-extra: 10.1.0 helpful-decorators: 2.1.0 lodash-es: 4.17.21 tslib: 2.4.1 - typescript: 4.8.4 - vitest: 0.24.5 + typescript: 4.9.3 + vitest: 0.25.3 languageName: unknown linkType: soft @@ -5958,13 +5994,13 @@ __metadata: dependencies: "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - browserslist: latest - caniuse-lite: latest + browserslist: 4.21.4 + caniuse-lite: 1.0.30001435 execa: 6.1.0 fs-jetpack: 5.1.0 peerDependencies: - browserslist: "*" - caniuse-lite: "*" + browserslist: ">=4.21.4" + caniuse-lite: ">=1.0.30001435" peerDependenciesMeta: browserslist: optional: true @@ -5983,11 +6019,14 @@ __metadata: "@roots/bud-terser": "workspace:sources/@roots/bud-terser" "@roots/container": "workspace:sources/@roots/container" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/http-proxy": 1.17.9 + "@types/node": 16.18.4 chalk: 5.1.2 copy-webpack-plugin: 11.0.0 get-port: 6.1.2 html-webpack-plugin: 5.5.0 + http-proxy: 1.18.1 + http-proxy-middleware: 3.0.0-beta.0 languageName: unknown linkType: soft @@ -5995,7 +6034,7 @@ __metadata: version: 0.0.0-use.local resolution: "@roots/bud-babel@workspace:sources/@roots/bud-babel" dependencies: - "@babel/core": 7.20.2 + "@babel/core": 7.20.5 "@babel/plugin-proposal-class-properties": 7.18.6 "@babel/plugin-proposal-object-rest-spread": 7.20.2 "@babel/plugin-syntax-dynamic-import": 7.8.3 @@ -6005,7 +6044,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 babel-loader: 9.1.0 peerDependencies: "@babel/core": "*" @@ -6045,15 +6084,15 @@ __metadata: "@skypack/package-check": 0.2.2 "@types/fs-extra": 9.0.13 "@types/mini-css-extract-plugin": 2.5.1 - "@types/node": 16.18.3 - css-loader: ^6.7.1 + "@types/node": 16.18.4 + css-loader: ^6.7.2 csv-loader: ^3.0.5 file-loader: ^6.2.0 fs-extra: 10.1.0 helpful-decorators: 2.1.0 html-loader: ^4.2.0 json5: 2.2.1 - mini-css-extract-plugin: 2.6.1 + mini-css-extract-plugin: 2.7.1 remark: 14.0.2 remark-html: 15.0.1 remark-loader: 5.0.0 @@ -6080,7 +6119,7 @@ __metadata: resolution: "@roots/bud-client@workspace:sources/@roots/bud-client" dependencies: "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/webpack-env": 1.18.0 languageName: unknown linkType: soft @@ -6093,7 +6132,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 languageName: unknown linkType: soft @@ -6104,7 +6143,7 @@ __metadata: "@roots/bud-api": "workspace:sources/@roots/bud-api" "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 compression-webpack-plugin: ^10.0.0 languageName: unknown linkType: soft @@ -6117,7 +6156,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/critical-css-webpack-plugin": "workspace:sources/@roots/critical-css-webpack-plugin" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 critical: 5.0.3 vinyl: 3.0.0 peerDependencies: @@ -6132,7 +6171,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 chalk: 5.1.2 figures: 5.0.0 human-readable: 0.2.1 @@ -6144,7 +6183,7 @@ __metadata: version: 0.0.0-use.local resolution: "@roots/bud-emotion@workspace:sources/@roots/bud-emotion" dependencies: - "@babel/core": 7.20.2 + "@babel/core": 7.20.5 "@emotion/babel-plugin": ^11.10.5 "@emotion/css": ^11.10.5 "@emotion/react": ^11.10.5 @@ -6155,8 +6194,8 @@ __metadata: "@roots/bud-support": "workspace:sources/@roots/bud-support" "@roots/bud-swc": "workspace:sources/@roots/bud-swc" "@skypack/package-check": 0.2.2 - "@swc/plugin-emotion": 2.5.21 - "@types/node": 16.18.3 + "@swc/plugin-emotion": 2.5.27 + "@types/node": 16.18.4 "@types/react": 17.0.52 react: 17.0.2 peerDependencies: @@ -6191,7 +6230,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/entrypoints-webpack-plugin": "workspace:sources/@roots/entrypoints-webpack-plugin" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 languageName: unknown linkType: soft @@ -6203,7 +6242,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 esbuild-loader: 2.20.0 peerDependencies: esbuild-loader: "*" @@ -6224,8 +6263,8 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 - eslint: 8.27.0 + "@types/node": 16.18.4 + eslint: 8.28.0 eslint-webpack-plugin: ^3.2.0 peerDependencies: "@roots/bud": "*" @@ -6245,11 +6284,11 @@ __metadata: "@roots/bud-terser": "workspace:sources/@roots/bud-terser" "@roots/container": "workspace:sources/@roots/container" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 clean-webpack-plugin: 4.0.0 copy-webpack-plugin: 11.0.0 html-webpack-plugin: 5.5.0 - mini-css-extract-plugin: 2.6.1 + mini-css-extract-plugin: 2.7.1 palette-webpack-plugin: 1.0.5 webpack-manifest-plugin: 5.0.0 peerDependencies: @@ -6281,7 +6320,7 @@ __metadata: "@skypack/package-check": 0.2.2 "@types/http-proxy": 1.17.9 "@types/js-yaml": 4.0.5 - "@types/node": 16.18.3 + "@types/node": 16.18.4 chokidar: 3.5.3 http-proxy-middleware: 3.0.0-beta.0 tslib: 2.4.1 @@ -6295,7 +6334,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 languageName: unknown linkType: soft @@ -6308,7 +6347,7 @@ __metadata: "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 "@squoosh/lib": ^0.4.0 - "@types/node": 16.18.3 + "@types/node": 16.18.4 image-minimizer-webpack-plugin: ^3.8.1 peerDependencies: "@roots/bud": "*" @@ -6332,7 +6371,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-react": "workspace:sources/@roots/bud-react" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 react: 17.0.2 react-dom: 17.0.2 peerDependencies: @@ -6363,13 +6402,13 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/signale": 1.4.4 postcss: 8.4.19 - postcss-import: 15.0.0 - postcss-loader: 7.0.1 + postcss-import: 15.0.1 + postcss-loader: 7.0.2 postcss-nested: 6.0.0 - postcss-preset-env: 7.8.2 + postcss-preset-env: 7.8.3 peerDependencies: "@roots/bud": "*" postcss: "*" @@ -6403,7 +6442,7 @@ __metadata: "@roots/bud-postcss": "workspace:sources/@roots/bud-postcss" "@roots/bud-swc": "workspace:sources/@roots/bud-swc" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 peerDependencies: "@roots/bud": "*" "@roots/bud-babel": "*" @@ -6437,7 +6476,7 @@ __metadata: "@roots/bud-wordpress-externals": "workspace:sources/@roots/bud-wordpress-externals" "@roots/bud-wordpress-manifests": "workspace:sources/@roots/bud-wordpress-manifests" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 peerDependencies: "@roots/browserslist-config": "*" "@roots/bud": "*" @@ -6472,8 +6511,8 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 - prettier: 2.7.1 + "@types/node": 16.18.4 + prettier: 2.8.0 peerDependencies: prettier: "*" peerDependenciesMeta: @@ -6491,7 +6530,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-postcss": "workspace:sources/@roots/bud-postcss" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 postcss: 8.4.19 peerDependencies: "@fullhuman/postcss-purgecss": "*" @@ -6507,9 +6546,9 @@ __metadata: version: 0.0.0-use.local resolution: "@roots/bud-react@workspace:sources/@roots/bud-react" dependencies: - "@babel/core": 7.20.2 + "@babel/core": 7.20.5 "@babel/preset-react": ^7.18.6 - "@pmmmwh/react-refresh-webpack-plugin": ^0.5.9 + "@pmmmwh/react-refresh-webpack-plugin": ^0.5.10 "@roots/bud": "workspace:sources/@roots/bud" "@roots/bud-babel": "workspace:sources/@roots/bud-babel" "@roots/bud-esbuild": "workspace:sources/@roots/bud-esbuild" @@ -6519,12 +6558,12 @@ __metadata: "@roots/bud-typescript": "workspace:sources/@roots/bud-typescript" "@skypack/package-check": 0.2.2 "@types/babel__core": 7.1.20 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/react": 17.0.52 "@types/react-dom": 17.0.18 react: 17.0.2 react-dom: 17.0.2 - react-hot-loader: ^4.13.0 + react-hot-loader: ^4.13.1 react-refresh: ^0.14.0 peerDependencies: "@pmmmwh/react-refresh-webpack-plugin": "*" @@ -6553,13 +6592,13 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-postcss": "workspace:sources/@roots/bud-postcss" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 postcss: 8.4.19 - postcss-scss: ^4.0.5 + postcss-scss: ^4.0.6 resolve-url-loader: 5.0.0 sass: ^1.56.1 sass-loader: ^13.2.0 - stylelint: 14.14.1 + stylelint: 14.15.0 stylelint-config-recommended-scss: ^8.0.0 stylelint-scss: ^4.3.0 peerDependencies: @@ -6597,8 +6636,7 @@ __metadata: "@skypack/package-check": 0.2.2 "@types/cookie-parser": 1.4.3 "@types/express": 4.17.14 - "@types/node": 16.18.3 - "@types/webpack-dev-middleware": 5.3.0 + "@types/node": 16.18.4 ansi-html-community: 0.0.8 chokidar: 3.5.3 cookie-parser: 1.4.6 @@ -6617,14 +6655,14 @@ __metadata: version: 0.0.0-use.local resolution: "@roots/bud-solid@workspace:sources/@roots/bud-solid" dependencies: - "@babel/core": 7.20.2 + "@babel/core": 7.20.5 "@babel/plugin-syntax-jsx": 7.18.6 "@roots/bud": "workspace:sources/@roots/bud" "@roots/bud-babel": "workspace:sources/@roots/bud-babel" "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@skypack/package-check": 0.2.2 "@types/babel__core": 7.1.20 - "@types/node": 16.18.3 + "@types/node": 16.18.4 babel-preset-solid: 1.6.2 solid-js: 1.6.2 peerDependencies: @@ -6650,8 +6688,8 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 - stylelint: 14.14.1 + "@types/node": 16.18.4 + stylelint: 14.15.0 stylelint-config-standard: 29.0.0 stylelint-webpack-plugin: 3.3.0 peerDependencies: @@ -6679,7 +6717,7 @@ __metadata: "@skypack/package-check": 0.2.2 chalk: 5.1.2 clean-stack: 5.0.1 - clipanion: 3.2.0-rc.13 + clipanion: 3.2.0-rc.14 common-path: 1.0.1 execa: 6.1.0 figures: 5.0.0 @@ -6687,20 +6725,20 @@ __metadata: fs-jetpack: 5.1.0 globby: 13.1.2 helpful-decorators: 2.1.0 - highlight.js: 11.6.0 - import-meta-resolve: 2.1.0 + highlight.js: 11.7.0 + import-meta-resolve: 2.2.0 ink: 3.2.0 ink-link: 2.0.0 ink-text-input: 4.0.3 lodash-es: 4.17.21 - parse5: 7.1.1 + parse5: 7.1.2 parse5-htmlparser2-tree-adapter: 7.0.0 patch-console: 1.0.0 pretty-format: 29.3.1 react: 17.0.2 signale: 1.4.0 typanion: 3.12.1 - type-fest: 3.2.0 + type-fest: 3.3.0 webpack: 5.75.0 zod: 3.19.1 zod-validation-error: 0.2.1 @@ -6720,8 +6758,8 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@swc/core": 1.3.14 - "@types/node": 16.18.3 + "@swc/core": 1.3.21 + "@types/node": 16.18.4 swc-loader: 0.2.3 peerDependencies: "@swc/core": "*" @@ -6748,7 +6786,7 @@ __metadata: "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 "@types/fs-extra": 9.0.13 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/tailwindcss": 3.1.0 "@types/webpack-virtual-modules": 0.1.1 autoprefixer: ^10.4.13 @@ -6772,7 +6810,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 css-minimizer-webpack-plugin: 4.2.2 terser-webpack-plugin: ^5.3.6 languageName: unknown @@ -6788,14 +6826,14 @@ __metadata: "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 "@types/fork-ts-checker-webpack-plugin": 0.4.5 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/webpack-env": 1.18.0 chalk: 5.1.2 fork-ts-checker-webpack-plugin: ^7.2.13 react-refresh-typescript: 2.0.7 - ts-loader: ^9.4.1 + ts-loader: ^9.4.2 ts-node: 10.9.1 - typescript: 4.8.4 + typescript: 4.9.3 peerDependencies: "@roots/bud": "*" fork-ts-checker-webpack-plugin: "*" @@ -6827,7 +6865,7 @@ __metadata: "@roots/bud-sass": "workspace:sources/@roots/bud-sass" "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@vue/compiler-sfc": ^3.2.45 parse-semver: 1.1.1 vue: ^3.2.45 @@ -6868,7 +6906,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/wordpress-dependencies-webpack-plugin": "workspace:sources/@roots/wordpress-dependencies-webpack-plugin" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 peerDependencies: "@roots/wordpress-dependencies-webpack-plugin": "*" peerDependenciesMeta: @@ -6884,7 +6922,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/wordpress-externals-webpack-plugin": "workspace:sources/@roots/wordpress-externals-webpack-plugin" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 peerDependencies: "@roots/wordpress-externals-webpack-plugin": "*" peerDependenciesMeta: @@ -6900,7 +6938,7 @@ __metadata: "@roots/bud-framework": "workspace:sources/@roots/bud-framework" "@roots/merged-manifest-webpack-plugin": "workspace:sources/@roots/merged-manifest-webpack-plugin" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 peerDependencies: "@roots/merged-manifest-webpack-plugin": "*" peerDependenciesMeta: @@ -6928,21 +6966,20 @@ __metadata: "@roots/container": "workspace:sources/@roots/container" "@roots/dependencies": "workspace:sources/@roots/dependencies" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/node-notifier": 8.0.2 dotenv: 16.0.3 dotenv-expand: 9.0.0 node-notifier: 10.0.1 open: 8.4.0 open-editor: 4.0.0 + tslib: 2.4.1 peerDependencies: "@roots/browserslist-config": "*" peerDependenciesMeta: "@roots/browserslist-config": optional: true - browserslist: - optional: true - caniuse-lite: + tslib: optional: true bin: bud: ./bin/bud.mjs @@ -6957,10 +6994,10 @@ __metadata: "@roots/bud-support": "workspace:sources/@roots/bud-support" "@skypack/package-check": 0.2.2 "@types/lodash-es": 4.17.6 - "@types/node": 16.18.3 + "@types/node": 16.18.4 helpful-decorators: 2.1.0 lodash-es: 4.17.21 - type-fest: 3.2.0 + type-fest: 3.3.0 languageName: unknown linkType: soft @@ -6969,7 +7006,7 @@ __metadata: resolution: "@roots/critical-css-webpack-plugin@workspace:sources/@roots/critical-css-webpack-plugin" dependencies: "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/vinyl": 2.0.7 critical: 5.0.3 helpful-decorators: 2.1.0 @@ -6985,7 +7022,7 @@ __metadata: resolution: "@roots/dependencies@workspace:sources/@roots/dependencies" dependencies: "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 helpful-decorators: 2.1.0 languageName: unknown linkType: soft @@ -6996,7 +7033,7 @@ __metadata: dependencies: "@skypack/package-check": 0.2.2 "@types/lodash-es": 4.17.6 - "@types/node": 16.18.3 + "@types/node": 16.18.4 helpful-decorators: 2.1.0 lodash-es: 4.17.21 tslib: 2.4.1 @@ -7010,22 +7047,22 @@ __metadata: version: 0.0.0-use.local resolution: "@roots/eslint-config@workspace:sources/@roots/eslint-config" dependencies: - "@babel/core": 7.20.2 + "@babel/core": 7.20.5 "@babel/eslint-parser": 7.19.1 "@skypack/package-check": 0.2.2 "@types/babel__core": 7.1.20 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/prettier": 2.7.1 - "@typescript-eslint/eslint-plugin": 5.42.1 - "@typescript-eslint/parser": 5.42.1 - eslint: 8.27.0 + "@typescript-eslint/eslint-plugin": 5.45.0 + "@typescript-eslint/parser": 5.45.0 + eslint: 8.28.0 eslint-config-prettier: 8.5.0 eslint-plugin-import: 2.26.0 eslint-plugin-jsx-a11y: ^6.6.1 eslint-plugin-prettier: ^4.2.1 - eslint-plugin-react: 7.31.10 + eslint-plugin-react: 7.31.11 eslint-plugin-react-hooks: 4.6.0 - prettier: 2.7.1 + prettier: 2.8.0 languageName: unknown linkType: soft @@ -7033,14 +7070,14 @@ __metadata: version: 0.0.0-use.local resolution: "@roots/filesystem@workspace:sources/@roots/filesystem" dependencies: - "@aws-sdk/abort-controller": 3.208.0 - "@aws-sdk/client-s3": 3.209.0 - "@aws-sdk/lib-storage": 3.209.0 + "@aws-sdk/abort-controller": 3.222.0 + "@aws-sdk/client-s3": 3.222.0 + "@aws-sdk/lib-storage": 3.222.0 "@skypack/package-check": 0.2.2 "@types/js-yaml": 4.0.5 "@types/lodash-es": 4.17.6 "@types/mime-types": 2.1.1 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/safe-json-stringify": 1.1.2 fs-jetpack: 5.1.0 globby: 13.1.2 @@ -7059,7 +7096,7 @@ __metadata: dependencies: "@skypack/package-check": 0.2.2 "@types/fs-extra": 9.0.13 - "@types/node": 16.18.3 + "@types/node": 16.18.4 fs-extra: 10.1.0 helpful-decorators: 2.1.0 webpack: 5.75.0 @@ -7077,7 +7114,7 @@ __metadata: "@roots/bud-tailwindcss": "workspace:sources/@roots/bud-tailwindcss" "@roots/container": "workspace:sources/@roots/container" "@skypack/package-check": 0.2.2 - "@types/node": 16.18.3 + "@types/node": 16.18.4 tailwindcss: 3.2.4 peerDependencies: "@roots/bud": "*" @@ -7097,7 +7134,7 @@ __metadata: dependencies: "@skypack/package-check": 0.2.2 "@types/lodash-es": 4.17.6 - "@types/node": 16.18.3 + "@types/node": 16.18.4 helpful-decorators: 2.1.0 lodash-es: 4.17.21 webpack: 5.75.0 @@ -7110,7 +7147,7 @@ __metadata: dependencies: "@skypack/package-check": 0.2.2 "@types/lodash-es": 4.17.6 - "@types/node": 16.18.3 + "@types/node": 16.18.4 lodash-es: 4.17.21 webpack: 5.75.0 languageName: unknown @@ -7122,14 +7159,14 @@ __metadata: dependencies: "@skypack/package-check": 0.2.2 "@types/lodash-es": 4.17.6 - "@types/node": 16.18.3 + "@types/node": 16.18.4 "@types/react": 17.0.52 - "@types/wordpress__blocks": 11.0.7 + "@types/wordpress__blocks": 11.0.9 "@types/wordpress__data": 6.0.1 - "@wordpress/blocks": 11.20.0 - "@wordpress/data": 7.5.0 - "@wordpress/hooks": 3.21.0 - "@wordpress/plugins": 4.19.0 + "@wordpress/blocks": 11.21.0 + "@wordpress/data": 7.6.0 + "@wordpress/hooks": 3.22.0 + "@wordpress/plugins": 4.20.0 "@wordpress/rich-text": 5.20.0 lodash-es: 4.17.21 react: 17.0.2 @@ -7424,90 +7461,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-darwin-arm64@npm:1.3.14" +"@swc/core-darwin-arm64@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-darwin-arm64@npm:1.3.21" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-darwin-x64@npm:1.3.14" +"@swc/core-darwin-x64@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-darwin-x64@npm:1.3.21" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.14" +"@swc/core-linux-arm-gnueabihf@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.21" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.14" +"@swc/core-linux-arm64-gnu@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.21" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.14" +"@swc/core-linux-arm64-musl@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.21" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.14" +"@swc/core-linux-x64-gnu@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.21" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-linux-x64-musl@npm:1.3.14" +"@swc/core-linux-x64-musl@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-linux-x64-musl@npm:1.3.21" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.14" +"@swc/core-win32-arm64-msvc@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.21" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.14" +"@swc/core-win32-ia32-msvc@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.21" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.14" +"@swc/core-win32-x64-msvc@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.21" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:1.3.14": - version: 1.3.14 - resolution: "@swc/core@npm:1.3.14" +"@swc/core@npm:1.3.21": + version: 1.3.21 + resolution: "@swc/core@npm:1.3.21" dependencies: - "@swc/core-darwin-arm64": 1.3.14 - "@swc/core-darwin-x64": 1.3.14 - "@swc/core-linux-arm-gnueabihf": 1.3.14 - "@swc/core-linux-arm64-gnu": 1.3.14 - "@swc/core-linux-arm64-musl": 1.3.14 - "@swc/core-linux-x64-gnu": 1.3.14 - "@swc/core-linux-x64-musl": 1.3.14 - "@swc/core-win32-arm64-msvc": 1.3.14 - "@swc/core-win32-ia32-msvc": 1.3.14 - "@swc/core-win32-x64-msvc": 1.3.14 + "@swc/core-darwin-arm64": 1.3.21 + "@swc/core-darwin-x64": 1.3.21 + "@swc/core-linux-arm-gnueabihf": 1.3.21 + "@swc/core-linux-arm64-gnu": 1.3.21 + "@swc/core-linux-arm64-musl": 1.3.21 + "@swc/core-linux-x64-gnu": 1.3.21 + "@swc/core-linux-x64-musl": 1.3.21 + "@swc/core-win32-arm64-msvc": 1.3.21 + "@swc/core-win32-ia32-msvc": 1.3.21 + "@swc/core-win32-x64-msvc": 1.3.21 dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -7531,7 +7568,7 @@ __metadata: optional: true bin: swcx: run_swcx.js - checksum: 79e9857ee3d5af22d9a6e644d7608594fa8ccd9102dbc088addc0f6ee9e1e8e3fc8835545730707395aa47197ab119fa323aedf4184cf51892379b307aedddc0 + checksum: c66cd9320c595c68b87c8d90dc9a978099dd25a84c5e9795a8c7fec95fecdd8481da82076a828880a226ad2c0e57155c0a2b97768e99dee042a74182056bda46 languageName: node linkType: hard @@ -7544,10 +7581,10 @@ __metadata: languageName: node linkType: hard -"@swc/plugin-emotion@npm:2.5.21": - version: 2.5.21 - resolution: "@swc/plugin-emotion@npm:2.5.21" - checksum: 3c0bf085b1aee20eb00456540e8d6b753d33f29f47f8424ed890b600033cca18ed81c3e32b3a1726c750afdefff9cba77ba00b0e00453dfebaa5ea0144f2043e +"@swc/plugin-emotion@npm:2.5.27": + version: 2.5.27 + resolution: "@swc/plugin-emotion@npm:2.5.27" + checksum: feaf9360e6877d84144f4415c0e905f6c8ba7ed705cb0dd2500fda8670345861d8067310d2e93c2b89e650c8e7c20bd7b22edb536a2d698d942fe5d2a9972603 languageName: node linkType: hard @@ -8153,10 +8190,10 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4": - version: 4.14.190 - resolution: "@types/lodash@npm:4.14.190" - checksum: 353a55a1222a57224ead8bd3379fabb2e3e3f6685f599c48b1b66f099d8e9e015e6c6352c6e2275954004c3bb510377804c63117233c6f187700b6ab78adfa02 +"@types/lodash@npm:^4.14.191": + version: 4.14.191 + resolution: "@types/lodash@npm:4.14.191" + checksum: ba0d5434e10690869f32d5ea49095250157cae502f10d57de0a723fd72229ce6c6a4979576f0f13e0aa9fbe3ce2457bfb9fa7d4ec3d6daba56730a51906d1491 languageName: node linkType: hard @@ -8267,10 +8304,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:16.18.3": - version: 16.18.3 - resolution: "@types/node@npm:16.18.3" - checksum: 6b8ba2ea5d842f7986e366cb9184c54d273d492784dc62e08fd5afeae938d9b61aec6e4222d2541cd18f9b1412ba361bbcb3f4204fb003608af80a2a6af959f9 +"@types/node@npm:16.18.4": + version: 16.18.4 + resolution: "@types/node@npm:16.18.4" + checksum: c2da162df295d81eed199d2b12f1edf9618d9f4099ba84a8553859b40e1dac2d44131c75b57803bd35cf9da881434d0abebe46994a2936b6b9c16d8e52db9146 languageName: node linkType: hard @@ -8339,12 +8376,12 @@ __metadata: languageName: node linkType: hard -"@types/react-helmet@npm:6.1.5": - version: 6.1.5 - resolution: "@types/react-helmet@npm:6.1.5" +"@types/react-helmet@npm:6.1.6": + version: 6.1.6 + resolution: "@types/react-helmet@npm:6.1.6" dependencies: "@types/react": "*" - checksum: d059cc084d3b3071cce3421bb1170dd42819cf39b81afe60d4fbd66c5ef9ffeaadf1802df80efd9553258f621678f69ceb5a21d73df0d8539d40ae9a0f995485 + checksum: 81560c56bfe854b6a43aee31360862588ac875d1177b975da5ce049ac9aa2f7c98dcde65d4397bfaa04e468f40cf3ab2975a2ef966a69d64a60493422898698d languageName: node linkType: hard @@ -8564,15 +8601,6 @@ __metadata: languageName: node linkType: hard -"@types/webpack-dev-middleware@npm:5.3.0": - version: 5.3.0 - resolution: "@types/webpack-dev-middleware@npm:5.3.0" - dependencies: - webpack-dev-middleware: "*" - checksum: 58609c1c34ead0552fe18576c0d6f411b7988030ec3517c07ca9938b4f37f962756b75bb9a694d1315b39134d05e2092b2e3c59ab76ff0715c5484e38602d0c4 - languageName: node - linkType: hard - "@types/webpack-env@npm:1.18.0": version: 1.18.0 resolution: "@types/webpack-env@npm:1.18.0" @@ -8614,14 +8642,14 @@ __metadata: languageName: node linkType: hard -"@types/wordpress__blocks@npm:11.0.7": - version: 11.0.7 - resolution: "@types/wordpress__blocks@npm:11.0.7" +"@types/wordpress__blocks@npm:11.0.9": + version: 11.0.9 + resolution: "@types/wordpress__blocks@npm:11.0.9" dependencies: "@types/react": "*" "@types/wordpress__components": "*" "@wordpress/element": ^4.0.0 - checksum: ec6a5b8cc438cb01680ab68cd5bf24fe9e2978630db3bb05651b3d31627ecab6f86a72f639fb16c8a2a568170b5dfdab7615b7e11a4fe255c18350c63d7a7baf + checksum: 53c5fd6d4cfca556046ded7f7b89dfa330ca700d0f8587165cb38814c786f47b11445175878c2f059c6c4dba187d3eb0dfc6625f44eddd98805265c468259182 languageName: node linkType: hard @@ -8721,13 +8749,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:5.42.1": - version: 5.42.1 - resolution: "@typescript-eslint/eslint-plugin@npm:5.42.1" +"@typescript-eslint/eslint-plugin@npm:5.45.0": + version: 5.45.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.45.0" dependencies: - "@typescript-eslint/scope-manager": 5.42.1 - "@typescript-eslint/type-utils": 5.42.1 - "@typescript-eslint/utils": 5.42.1 + "@typescript-eslint/scope-manager": 5.45.0 + "@typescript-eslint/type-utils": 5.45.0 + "@typescript-eslint/utils": 5.45.0 debug: ^4.3.4 ignore: ^5.2.0 natural-compare-lite: ^1.4.0 @@ -8740,43 +8768,43 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 6e80b15df7e655964ddd3041d5f7c0bf564e9901f9e3a9cdaf8d056301841fad8d40cd253d83669f01e0ddc62521af9286a27f098df43e304cf932d768995e98 + checksum: 7cff671a9ba33afa86f0ece6d0ebaeb5fc16596fc659ef230f6f65bfddfef2ffb6434310e3a4444fb852e79e40c85c5e62c559df6ddc9312aac235a18afdd269 languageName: node linkType: hard -"@typescript-eslint/parser@npm:5.42.1": - version: 5.42.1 - resolution: "@typescript-eslint/parser@npm:5.42.1" +"@typescript-eslint/parser@npm:5.45.0": + version: 5.45.0 + resolution: "@typescript-eslint/parser@npm:5.45.0" dependencies: - "@typescript-eslint/scope-manager": 5.42.1 - "@typescript-eslint/types": 5.42.1 - "@typescript-eslint/typescript-estree": 5.42.1 + "@typescript-eslint/scope-manager": 5.45.0 + "@typescript-eslint/types": 5.45.0 + "@typescript-eslint/typescript-estree": 5.45.0 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 7208a085102be5c569ac2be5799d05e080a9c0b9157ed3efa5d7eadb675185bddfa05f2f27e20c235910193a2bd835e5375fb9fc13561a6e20d110e444f37caa + checksum: b8ce3af72de3ff22bb206c3299e728d37a836dbe1f75bcb66ad3bb7962204174b7fff834992b84f0e661de507729c01c7ad71ad2707c217cccc3c0f798a9dc23 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.42.1": - version: 5.42.1 - resolution: "@typescript-eslint/scope-manager@npm:5.42.1" +"@typescript-eslint/scope-manager@npm:5.45.0": + version: 5.45.0 + resolution: "@typescript-eslint/scope-manager@npm:5.45.0" dependencies: - "@typescript-eslint/types": 5.42.1 - "@typescript-eslint/visitor-keys": 5.42.1 - checksum: cfad5f04328fae4bb6d965a94c980ac2f6fa0eee6183e9bed6d7ebdb067f01a0a9a3b5500fc3638d5e287f46f4412aa462e238c610c1fb96b794b83c575c7fb4 + "@typescript-eslint/types": 5.45.0 + "@typescript-eslint/visitor-keys": 5.45.0 + checksum: 8f686be8ee0c7ac49ee2a313570cddf86a1364b1ec129f50f8a531038a3bb241429734dc5e2c4e5dd76cc3ed149628aa3e8425cc092f37ca6885b1995c99c2d1 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.42.1": - version: 5.42.1 - resolution: "@typescript-eslint/type-utils@npm:5.42.1" +"@typescript-eslint/type-utils@npm:5.45.0": + version: 5.45.0 + resolution: "@typescript-eslint/type-utils@npm:5.45.0" dependencies: - "@typescript-eslint/typescript-estree": 5.42.1 - "@typescript-eslint/utils": 5.42.1 + "@typescript-eslint/typescript-estree": 5.45.0 + "@typescript-eslint/utils": 5.45.0 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -8784,7 +8812,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 7ac3180aeb966351e54055440f42b723aa864fd39c74be5a41aae97401e6424df94d9f96ae945f1c3a6023860ffd7ba424ff6506c21bd373a6cd878466d9ba62 + checksum: be96c89b91116b8fbed160631f3cdd345d47e34248a38e8a730fa9e09a4aa21184259414547d3c7a741b83fa68d4a14f77e9fc93b84aba4752f67bd5a772bf27 languageName: node linkType: hard @@ -8795,19 +8823,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.42.1": - version: 5.42.1 - resolution: "@typescript-eslint/types@npm:5.42.1" - checksum: b0eb3df3792dd0e447abcf2b4fd79b2eaa6f944242d00afa8ef2d9f892ea63e52f200e7cb1758ddbc46154aa6764cec8bc796ed96f7554457a20db976f9f2089 +"@typescript-eslint/types@npm:5.45.0": + version: 5.45.0 + resolution: "@typescript-eslint/types@npm:5.45.0" + checksum: 43d533622995f002221e439ea517aa07dbce2067cc880a6eb9d26307c505b746975f334d76b35501a2f4dd06d7aaf79964d86ce5a95e76a4f309d6e54faf5213 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.42.1": - version: 5.42.1 - resolution: "@typescript-eslint/typescript-estree@npm:5.42.1" +"@typescript-eslint/typescript-estree@npm:5.45.0": + version: 5.45.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.45.0" dependencies: - "@typescript-eslint/types": 5.42.1 - "@typescript-eslint/visitor-keys": 5.42.1 + "@typescript-eslint/types": 5.45.0 + "@typescript-eslint/visitor-keys": 5.45.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -8816,7 +8844,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: dfd3e20d41ba4b574a52d82cc40b38708b8c2c4277d6304a8d914fe2a4a9ce8779f4d79fdac140e77a3afd3c6a2a7e3f31620dc427cabd04e4e906bb0ca3a468 + checksum: 8f48b3c75c155491ee49436c470e491f9fe48e6e7c95190c4d0c0ab64ce24e8bc6715de86996baf57fc9f0c6dae986ce9ae075e656664489bfa1dc706eaafcd7 languageName: node linkType: hard @@ -8838,21 +8866,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.42.1": - version: 5.42.1 - resolution: "@typescript-eslint/utils@npm:5.42.1" +"@typescript-eslint/utils@npm:5.45.0": + version: 5.45.0 + resolution: "@typescript-eslint/utils@npm:5.45.0" dependencies: "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.42.1 - "@typescript-eslint/types": 5.42.1 - "@typescript-eslint/typescript-estree": 5.42.1 + "@typescript-eslint/scope-manager": 5.45.0 + "@typescript-eslint/types": 5.45.0 + "@typescript-eslint/typescript-estree": 5.45.0 eslint-scope: ^5.1.1 eslint-utils: ^3.0.0 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 9f1c429a602dad4ba7a52df00924aab6033854234a1e1bf699a3e5b48455b5fdc1a41de459a7f11a3ccfed1528831ecb95fc7e54d30be7d8cccbb689f885fdac + checksum: 33a383881efb6c6e0ecd32f74810ca18bb5e85d4839f607409047d6e3d64a98b3cd1e811d027638d051b3741981de50a652c3abe0fcbb70fac80d7d93cd3e36f languageName: node linkType: hard @@ -8866,13 +8894,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.42.1": - version: 5.42.1 - resolution: "@typescript-eslint/visitor-keys@npm:5.42.1" +"@typescript-eslint/visitor-keys@npm:5.45.0": + version: 5.45.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.45.0" dependencies: - "@typescript-eslint/types": 5.42.1 + "@typescript-eslint/types": 5.45.0 eslint-visitor-keys: ^3.3.0 - checksum: d36c59da7bf3b3c150c12cbe4b0331edc15253f59599ec3d8b873b2a3d9fc7a4fea11490c1b20d972afcdc9c842deb5ada527ea9c538aa7e87555699d9a59f24 + checksum: 050cc4275d8a3638a106c2915410710e775382996130a6b2af732269e55cbbc4ed438c8662ddf409635d2d8bd0d8a4389b3980bc2cb38c6105c77c6835222af0 languageName: node linkType: hard @@ -8943,17 +8971,6 @@ __metadata: languageName: node linkType: hard -"@verdaccio/readme@npm:10.4.2": - version: 10.4.2 - resolution: "@verdaccio/readme@npm:10.4.2" - dependencies: - dompurify: 2.4.0 - jsdom: 16.7.0 - marked: 4.2.2 - checksum: 73492f11378cb2d4047caa693bde9e322b730b1d79c84ecea92098b4fda104b644d6098b016819069c5a7482bff993e28c35fbbc69f98f23ce0a042cc30dbfc4 - languageName: node - linkType: hard - "@verdaccio/streams@npm:10.2.0": version: 10.2.0 resolution: "@verdaccio/streams@npm:10.2.0" @@ -8961,16 +8978,16 @@ __metadata: languageName: node linkType: hard -"@verdaccio/ui-theme@npm:6.0.0-6-next.50": - version: 6.0.0-6-next.50 - resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.50" - checksum: 1e7ac1608f89cacb058c6b822928ef5828d8797419a5bf8470502f17d4b3af9e48037ed22d19d5efa8d12612131d4fc4eef4bf7aa1b281b5b685cafc30b5583c +"@verdaccio/ui-theme@npm:6.0.0-6-next.51": + version: 6.0.0-6-next.51 + resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.51" + checksum: b478cb7cd8bef2b6dfe924728d9869765b5f540536df84dfdb2318406c595cef39ab80d5f4a2296795ad476ea427f477830212170f9c10cd01f74dc728fe0481 languageName: node linkType: hard -"@vitest/coverage-istanbul@npm:0.25.2": - version: 0.25.2 - resolution: "@vitest/coverage-istanbul@npm:0.25.2" +"@vitest/coverage-istanbul@npm:0.25.3": + version: 0.25.3 + resolution: "@vitest/coverage-istanbul@npm:0.25.3" dependencies: istanbul-lib-coverage: ^3.2.0 istanbul-lib-instrument: ^5.2.1 @@ -8978,17 +8995,17 @@ __metadata: istanbul-lib-source-maps: ^4.0.1 istanbul-reports: ^3.1.5 test-exclude: ^6.0.0 - vitest: 0.25.2 - checksum: d392b54d4bf5095feebbfbd19ce77bc5fe4dcff0919a8774bb5de1c1283c12db48eece264f7e92388a93212e45b1b35e793be0a37ed45908db2ac2a2e3fab07d + vitest: 0.25.3 + checksum: 5bf14711b4155eb25a144fb18b7ac26b849f74160979ffc35e1277616212102f6f69534dc52d3a2b79821ff6a6da498a83ae2ccecf0f600ad25d073a54c5995e languageName: node linkType: hard -"@vitest/ui@npm:0.24.5": - version: 0.24.5 - resolution: "@vitest/ui@npm:0.24.5" +"@vitest/ui@npm:0.25.3": + version: 0.25.3 + resolution: "@vitest/ui@npm:0.25.3" dependencies: sirv: ^2.0.2 - checksum: f249815fa4f63e035e0f179a06efa1b68deba69c5659713236de24a50fa92df7f2d186ac37dba27c33639fe8e74fd0bebcf5c03c227c2d8f8b3b201ebb524579 + checksum: 496d6ede6a242ede23cc4e77db4b659872a8d63ae2dc9e58da64b8caf406c3509717c858a97877b7d77bca71b68aa46516c2ea1d9e85ba902f242955bb062b35 languageName: node linkType: hard @@ -9266,51 +9283,51 @@ __metadata: languageName: node linkType: hard -"@wordpress/autop@npm:^3.21.0": - version: 3.21.0 - resolution: "@wordpress/autop@npm:3.21.0" +"@wordpress/autop@npm:^3.22.0": + version: 3.22.0 + resolution: "@wordpress/autop@npm:3.22.0" dependencies: "@babel/runtime": ^7.16.0 - checksum: bd579931c6f0e25c5467d3689800ba864561d45444418f4c245a159b3e812de4e751e4d089d2ba941aecc1a636b085e00897ddb93d68946ac9ade71404c0a1ae + checksum: 59ba82473e6719b8dea4454bf13c83d5c934f383f69057312bbead0dc43457f93423a39fc4ca893490966e0b85a91a9c3a563367e52079dedf100a83ec89a2d9 languageName: node linkType: hard -"@wordpress/blob@npm:^3.21.0": - version: 3.21.0 - resolution: "@wordpress/blob@npm:3.21.0" +"@wordpress/blob@npm:^3.22.0": + version: 3.22.0 + resolution: "@wordpress/blob@npm:3.22.0" dependencies: "@babel/runtime": ^7.16.0 - checksum: 05d6a1760938420684607a393ffd0a8c06f49bbe391b15525c1509727acee0904e3ece9ca7147efb1869bd18dbae499d9e10c0cbadf9b98560dcf6bdf7dbddfa + checksum: f8787a17e6dc903a223e6e81737bd8f918896b45ce0c7804b54b5485dc3a258224d96f7564c30360f6c66e82613ea1eed5e92c4feb79b7e306eb94b0fba3f375 languageName: node linkType: hard -"@wordpress/block-serialization-default-parser@npm:^4.21.0": - version: 4.21.0 - resolution: "@wordpress/block-serialization-default-parser@npm:4.21.0" +"@wordpress/block-serialization-default-parser@npm:^4.22.0": + version: 4.22.0 + resolution: "@wordpress/block-serialization-default-parser@npm:4.22.0" dependencies: "@babel/runtime": ^7.16.0 - checksum: 51683ba673b0adf90566a46604929093170517ba8719c2570ac5043b10df99c28d0dab60ff096c3fad22361c6e07072c08f82437e56bb1f33e63554a2ec3ecb8 + checksum: 2090995681cc43e283ac453e6e473ab16a97a0574d4c5f795957cc9d40a307b265ad063209bfb20320a06caaa311aa52e7df2055f66b4b29fa94982a384114f7 languageName: node linkType: hard -"@wordpress/blocks@npm:11.20.0": - version: 11.20.0 - resolution: "@wordpress/blocks@npm:11.20.0" +"@wordpress/blocks@npm:11.21.0": + version: 11.21.0 + resolution: "@wordpress/blocks@npm:11.21.0" dependencies: "@babel/runtime": ^7.16.0 - "@wordpress/autop": ^3.21.0 - "@wordpress/blob": ^3.21.0 - "@wordpress/block-serialization-default-parser": ^4.21.0 - "@wordpress/compose": ^5.19.0 - "@wordpress/data": ^7.5.0 - "@wordpress/deprecated": ^3.21.0 - "@wordpress/dom": ^3.21.0 - "@wordpress/element": ^4.19.0 - "@wordpress/hooks": ^3.21.0 - "@wordpress/html-entities": ^3.21.0 - "@wordpress/i18n": ^4.21.0 - "@wordpress/is-shallow-equal": ^4.21.0 - "@wordpress/shortcode": ^3.21.0 + "@wordpress/autop": ^3.22.0 + "@wordpress/blob": ^3.22.0 + "@wordpress/block-serialization-default-parser": ^4.22.0 + "@wordpress/compose": ^5.20.0 + "@wordpress/data": ^7.6.0 + "@wordpress/deprecated": ^3.22.0 + "@wordpress/dom": ^3.22.0 + "@wordpress/element": ^4.20.0 + "@wordpress/hooks": ^3.22.0 + "@wordpress/html-entities": ^3.22.0 + "@wordpress/i18n": ^4.22.0 + "@wordpress/is-shallow-equal": ^4.22.0 + "@wordpress/shortcode": ^3.22.0 change-case: ^4.1.2 colord: ^2.7.0 hpq: ^1.3.0 @@ -9324,29 +9341,7 @@ __metadata: uuid: ^8.3.0 peerDependencies: react: ^17.0.0 - checksum: 822563b97a89ea0d6fce7a4def80a97aa9fbd52a566333f3c7d00bd56d2a8c9ff5e98a839a252e1b8ac2409673ca3d49167e7403b969f79e0e137b06f0c7f24e - languageName: node - linkType: hard - -"@wordpress/compose@npm:^5.19.0": - version: 5.19.0 - resolution: "@wordpress/compose@npm:5.19.0" - dependencies: - "@babel/runtime": ^7.16.0 - "@types/mousetrap": ^1.6.8 - "@wordpress/deprecated": ^3.21.0 - "@wordpress/dom": ^3.21.0 - "@wordpress/element": ^4.19.0 - "@wordpress/is-shallow-equal": ^4.21.0 - "@wordpress/keycodes": ^3.21.0 - "@wordpress/priority-queue": ^2.21.0 - change-case: ^4.1.2 - clipboard: ^2.0.8 - mousetrap: ^1.6.5 - use-memo-one: ^1.1.1 - peerDependencies: - react: ^17.0.0 - checksum: d845351b02a5e480dab7174779e12c8978c9f59a0ba8f3db9c063e96999aa51d1c2243080b75e9cb33354ba4478758767a2eb264cdd008f3a38e68e70caf3ccf + checksum: a84bd36b2b0a8a37013826a5355974b2c18116f7bf4e9cc8edbfa8d54e489884b6c378f1c4cad8fc9587a20a52fd5119b9048c93b8b60b01c32724fa404dd1d5 languageName: node linkType: hard @@ -9372,31 +9367,7 @@ __metadata: languageName: node linkType: hard -"@wordpress/data@npm:7.5.0, @wordpress/data@npm:^7.5.0": - version: 7.5.0 - resolution: "@wordpress/data@npm:7.5.0" - dependencies: - "@babel/runtime": ^7.16.0 - "@wordpress/compose": ^5.19.0 - "@wordpress/deprecated": ^3.21.0 - "@wordpress/element": ^4.19.0 - "@wordpress/is-shallow-equal": ^4.21.0 - "@wordpress/priority-queue": ^2.21.0 - "@wordpress/redux-routine": ^4.21.0 - equivalent-key-map: ^0.2.2 - is-plain-object: ^5.0.0 - is-promise: ^4.0.0 - lodash: ^4.17.21 - redux: ^4.1.2 - turbo-combine-reducers: ^1.0.2 - use-memo-one: ^1.1.1 - peerDependencies: - react: ^17.0.0 - checksum: e2ea99169f38a5c05d8814bf4dd34455a88e3b0afa1a10fbef3666bdb344b82b7e543ff215936eb9a59cef204ace063398b41657eee5058b7ba4641f32623e1d - languageName: node - linkType: hard - -"@wordpress/data@npm:^7.6.0": +"@wordpress/data@npm:7.6.0, @wordpress/data@npm:^7.6.0": version: 7.6.0 resolution: "@wordpress/data@npm:7.6.0" dependencies: @@ -9420,16 +9391,6 @@ __metadata: languageName: node linkType: hard -"@wordpress/deprecated@npm:^3.21.0": - version: 3.21.0 - resolution: "@wordpress/deprecated@npm:3.21.0" - dependencies: - "@babel/runtime": ^7.16.0 - "@wordpress/hooks": ^3.21.0 - checksum: f33f32103ec44610695c46081d5f297ac71cb82710787edd4dc9bdf52653a3b3a1c5cfe7a790b8053f75104f9de3027ef8c13e5814f9933d406c8ebdaed8b5ef - languageName: node - linkType: hard - "@wordpress/deprecated@npm:^3.22.0": version: 3.22.0 resolution: "@wordpress/deprecated@npm:3.22.0" @@ -9449,16 +9410,6 @@ __metadata: languageName: node linkType: hard -"@wordpress/dom@npm:^3.21.0": - version: 3.21.0 - resolution: "@wordpress/dom@npm:3.21.0" - dependencies: - "@babel/runtime": ^7.16.0 - "@wordpress/deprecated": ^3.21.0 - checksum: 008e694e5d730359014f16bb4ef756575bfac495f13c1010c40620586049d37d5e8e5eda53b5e1cdcbc96ae3cc936c6d073abdce7bd798dc9013d4ef0770271a - languageName: node - linkType: hard - "@wordpress/dom@npm:^3.22.0": version: 3.22.0 resolution: "@wordpress/dom@npm:3.22.0" @@ -9485,22 +9436,6 @@ __metadata: languageName: node linkType: hard -"@wordpress/element@npm:^4.19.0": - version: 4.19.0 - resolution: "@wordpress/element@npm:4.19.0" - dependencies: - "@babel/runtime": ^7.16.0 - "@types/react": ^17.0.37 - "@types/react-dom": ^17.0.11 - "@wordpress/escape-html": ^2.21.0 - change-case: ^4.1.2 - is-plain-object: ^5.0.0 - react: ^17.0.2 - react-dom: ^17.0.2 - checksum: e71154672c721cba1e548feebdfe0217c74a65f6c901a3a6e4d85cca472673489cb2d19f186f92a104f4d73250cfc7390697d7cb07b7e93b18ad4ad9f4f2e412 - languageName: node - linkType: hard - "@wordpress/element@npm:^4.20.0": version: 4.20.0 resolution: "@wordpress/element@npm:4.20.0" @@ -9526,15 +9461,6 @@ __metadata: languageName: node linkType: hard -"@wordpress/escape-html@npm:^2.21.0": - version: 2.21.0 - resolution: "@wordpress/escape-html@npm:2.21.0" - dependencies: - "@babel/runtime": ^7.16.0 - checksum: 3d54a745855f1776039c534eeea0a3fc4946adc6ff0b12f4e5ae19d0b06c00b74eb17726f144bea026fe66afbc602e465a830317ee35f34ea7a7e1e808535404 - languageName: node - linkType: hard - "@wordpress/escape-html@npm:^2.22.0": version: 2.22.0 resolution: "@wordpress/escape-html@npm:2.22.0" @@ -9544,16 +9470,7 @@ __metadata: languageName: node linkType: hard -"@wordpress/hooks@npm:3.21.0, @wordpress/hooks@npm:^3.21.0": - version: 3.21.0 - resolution: "@wordpress/hooks@npm:3.21.0" - dependencies: - "@babel/runtime": ^7.16.0 - checksum: 3dce8beb9ea9545c4db1bd279af08a3a4d8f51985799e5facf2216ef0add468c6b0c74ebb776d38782420d7fced91526d0015833c0ed3887c99fc58e1403bc4b - languageName: node - linkType: hard - -"@wordpress/hooks@npm:^3.22.0": +"@wordpress/hooks@npm:3.22.0, @wordpress/hooks@npm:^3.22.0": version: 3.22.0 resolution: "@wordpress/hooks@npm:3.22.0" dependencies: @@ -9562,28 +9479,12 @@ __metadata: languageName: node linkType: hard -"@wordpress/html-entities@npm:^3.21.0": - version: 3.21.0 - resolution: "@wordpress/html-entities@npm:3.21.0" - dependencies: - "@babel/runtime": ^7.16.0 - checksum: c82b22826485b80a182a3e7f4c1a685afef217af00b9d3b9ce460ef1fa1f6cc6bda80f75783c2a1ab75695aac9f63284a83989e585a3b84c5a4ad0f942ced3d1 - languageName: node - linkType: hard - -"@wordpress/i18n@npm:^4.21.0": - version: 4.21.0 - resolution: "@wordpress/i18n@npm:4.21.0" +"@wordpress/html-entities@npm:^3.22.0": + version: 3.22.0 + resolution: "@wordpress/html-entities@npm:3.22.0" dependencies: "@babel/runtime": ^7.16.0 - "@wordpress/hooks": ^3.21.0 - gettext-parser: ^1.3.1 - memize: ^1.1.0 - sprintf-js: ^1.1.1 - tannin: ^1.2.0 - bin: - pot-to-php: tools/pot-to-php.js - checksum: 0958b5278f4ef0b4585b502941e9ece7f6a0517d32336e6352643286183e573a46dad690faf5ebee8cedaed7e6d9afcc3bd0f2ad8712ce1999b67f5ef567f344 + checksum: b2a8bc1109435516804b0e3512dc2e4331ed0c71096692ca3f6ad8e09485382028f2657abdc4d4dd971e02435dfe67cbed8c8d788a32b3bfab7cac133a0bd84d languageName: node linkType: hard @@ -9603,23 +9504,14 @@ __metadata: languageName: node linkType: hard -"@wordpress/icons@npm:^9.12.0": - version: 9.12.0 - resolution: "@wordpress/icons@npm:9.12.0" - dependencies: - "@babel/runtime": ^7.16.0 - "@wordpress/element": ^4.19.0 - "@wordpress/primitives": ^3.19.0 - checksum: a60f3c3c6bf94d3fcd7707cfa95ade87964be4c78dd88d3d2ff620580737cb77c29c4782f561cd0010c9c4d56212514d47355c3c55f9a4e3e22b11c20a866c59 - languageName: node - linkType: hard - -"@wordpress/is-shallow-equal@npm:^4.21.0": - version: 4.21.0 - resolution: "@wordpress/is-shallow-equal@npm:4.21.0" +"@wordpress/icons@npm:^9.13.0": + version: 9.13.0 + resolution: "@wordpress/icons@npm:9.13.0" dependencies: "@babel/runtime": ^7.16.0 - checksum: 7ab633bf3e70b086f75b3de4024bfb683a4d7aea449feef5609a926e6fde899ea5a5f60f5c683d7ddf734d84d53259fd5bbd5ee11b01f2b0c93b16332e5f5f19 + "@wordpress/element": ^4.20.0 + "@wordpress/primitives": ^3.20.0 + checksum: 50e93e7bdc2b128deb2217ae371d97514e20ea1c336d7fb30687d6e3fded31061f0ec9ed2180333f1b97c7d09130af156389cc73acbad208ed02e83dcc60e335 languageName: node linkType: hard @@ -9632,18 +9524,6 @@ __metadata: languageName: node linkType: hard -"@wordpress/keycodes@npm:^3.21.0": - version: 3.21.0 - resolution: "@wordpress/keycodes@npm:3.21.0" - dependencies: - "@babel/runtime": ^7.16.0 - "@wordpress/i18n": ^4.21.0 - change-case: ^4.1.2 - lodash: ^4.17.21 - checksum: a169db644fc75191c7c7a04222af9d6002598f8b8ebb97a7b66056dfff967e4226df92cebb521663f1aabad054deb822a1fad2699073d1e86d47ae24b95b572e - languageName: node - linkType: hard - "@wordpress/keycodes@npm:^3.22.0": version: 3.22.0 resolution: "@wordpress/keycodes@npm:3.22.0" @@ -9656,40 +9536,30 @@ __metadata: languageName: node linkType: hard -"@wordpress/plugins@npm:4.19.0": - version: 4.19.0 - resolution: "@wordpress/plugins@npm:4.19.0" +"@wordpress/plugins@npm:4.20.0": + version: 4.20.0 + resolution: "@wordpress/plugins@npm:4.20.0" dependencies: "@babel/runtime": ^7.16.0 - "@wordpress/compose": ^5.19.0 - "@wordpress/element": ^4.19.0 - "@wordpress/hooks": ^3.21.0 - "@wordpress/icons": ^9.12.0 + "@wordpress/compose": ^5.20.0 + "@wordpress/element": ^4.20.0 + "@wordpress/hooks": ^3.22.0 + "@wordpress/icons": ^9.13.0 memize: ^1.1.0 peerDependencies: react: ^17.0.0 - checksum: b30f4dfae5037276079ffdc03b9a79b947955c6adb9f48509f093555dc99d216193865f3a7be6c62aad2461ebc21e589b94fb786faa9d372143a9713e0ee8ec4 + checksum: 7677ade307870a18aaeb87a2df1e5c7b9f2300876142e99bbfd97d2effc4dd5eeea1f46de5c7d15c6e2346c5341096c03548bc92ff38dc7dc618baf2f873ac89 languageName: node linkType: hard -"@wordpress/primitives@npm:^3.19.0": - version: 3.19.0 - resolution: "@wordpress/primitives@npm:3.19.0" +"@wordpress/primitives@npm:^3.20.0": + version: 3.20.0 + resolution: "@wordpress/primitives@npm:3.20.0" dependencies: "@babel/runtime": ^7.16.0 - "@wordpress/element": ^4.19.0 + "@wordpress/element": ^4.20.0 classnames: ^2.3.1 - checksum: add936e648bde65dc3e2653dc7158f6babc5de824183f4ee0512d3449502b14bb959be04a3ea80281f0acf778adff8bfa2d20ea3169fe3541b4f7caefa33b264 - languageName: node - linkType: hard - -"@wordpress/priority-queue@npm:^2.21.0": - version: 2.21.0 - resolution: "@wordpress/priority-queue@npm:2.21.0" - dependencies: - "@babel/runtime": ^7.16.0 - requestidlecallback: ^0.3.0 - checksum: 24dac6b0a009c6b5df6c0dcfddd1d277b84349edd3675c0b3fcbf19d52cb8cc6df80ffc7118967d93eab9564807ac25034796e84f9705e1d3df0ca3fab1edef2 + checksum: 05aa7be8b4728e4c38ab6018e4aacf17e81c1f4c3d1fcad1a91e5e341c19a076b240dc7cf0ad04a8e68feb8a32951a60a1985c76ea0f87afa229169953111a5a languageName: node linkType: hard @@ -9703,20 +9573,6 @@ __metadata: languageName: node linkType: hard -"@wordpress/redux-routine@npm:^4.21.0": - version: 4.21.0 - resolution: "@wordpress/redux-routine@npm:4.21.0" - dependencies: - "@babel/runtime": ^7.16.0 - is-plain-object: ^5.0.0 - is-promise: ^4.0.0 - rungen: ^0.3.2 - peerDependencies: - redux: ">=4" - checksum: 4435415bc069760dd8f7b1305118145c02ef0713989c6dc5fa0be2b95b8c50f1a49f670c9c88cc682b23ca4156c0f9e44ecc976203d5f6f91579122e2779e8ee - languageName: node - linkType: hard - "@wordpress/redux-routine@npm:^4.22.0": version: 4.22.0 resolution: "@wordpress/redux-routine@npm:4.22.0" @@ -9752,13 +9608,13 @@ __metadata: languageName: node linkType: hard -"@wordpress/shortcode@npm:^3.21.0": - version: 3.21.0 - resolution: "@wordpress/shortcode@npm:3.21.0" +"@wordpress/shortcode@npm:^3.22.0": + version: 3.22.0 + resolution: "@wordpress/shortcode@npm:3.22.0" dependencies: "@babel/runtime": ^7.16.0 memize: ^1.1.0 - checksum: 4d6a6c34c581714dc87847eaad700e9ebf84a2e5920e88c156e334c960a2b8e4fc316cec077c6bad07cda56962e4c936121c3a6d36b65e9202d2f615df50eb45 + checksum: 20d3fe52493a230bbf0679a7ec2fe6f6b0fe2585735471f5d19c3e7f7b8d777c8c67f551073cda53c9334c2e5f0461ef87c97c2d1adad9699919885ff5c6f037 languageName: node linkType: hard @@ -9776,13 +9632,13 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/builder@npm:3.2.5": - version: 3.2.5 - resolution: "@yarnpkg/builder@npm:3.2.5" +"@yarnpkg/builder@npm:3.2.6": + version: 3.2.6 + resolution: "@yarnpkg/builder@npm:3.2.6" dependencies: - "@yarnpkg/cli": ^3.2.4 - "@yarnpkg/core": ^3.2.5 - "@yarnpkg/fslib": ^2.8.0 + "@yarnpkg/cli": ^3.3.0 + "@yarnpkg/core": ^3.3.0 + "@yarnpkg/fslib": ^2.9.0 chalk: ^3.0.0 clipanion: 3.2.0-rc.4 esbuild: "npm:esbuild-wasm@^0.15.5" @@ -9790,35 +9646,35 @@ __metadata: tslib: ^1.13.0 bin: builder: ./lib/cli.js - checksum: 5926c1d70719bb365068cfcc7a0d2ebdb44c0701413d1b1593c81c84f9bd0efd3438bbb108d8377c72bc3c777710340095f93dcf6fe1ec15507bfffb7b34187b + checksum: 0ad18fc383450f63cf17a8aac93961e4916d345644f125b6d49d2f925462fbccf83947614b8dbf532664bc300a6ab514ad1915b9d305e0c4db1a73945fefa869 languageName: node linkType: hard -"@yarnpkg/cli@npm:3.2.4, @yarnpkg/cli@npm:^3.2.4": - version: 3.2.4 - resolution: "@yarnpkg/cli@npm:3.2.4" +"@yarnpkg/cli@npm:3.3.0, @yarnpkg/cli@npm:^3.3.0": + version: 3.3.0 + resolution: "@yarnpkg/cli@npm:3.3.0" dependencies: - "@yarnpkg/core": ^3.2.5 - "@yarnpkg/fslib": ^2.8.0 + "@yarnpkg/core": ^3.3.0 + "@yarnpkg/fslib": ^2.9.0 "@yarnpkg/libzip": ^2.2.4 "@yarnpkg/parsers": ^2.5.1 - "@yarnpkg/plugin-compat": ^3.1.6 + "@yarnpkg/plugin-compat": ^3.1.7 "@yarnpkg/plugin-dlx": ^3.1.4 - "@yarnpkg/plugin-essentials": ^3.2.3 + "@yarnpkg/plugin-essentials": ^3.3.0 "@yarnpkg/plugin-file": ^2.3.1 - "@yarnpkg/plugin-git": ^2.6.2 + "@yarnpkg/plugin-git": ^2.6.3 "@yarnpkg/plugin-github": ^2.3.1 "@yarnpkg/plugin-http": ^2.2.1 "@yarnpkg/plugin-init": ^3.1.4 "@yarnpkg/plugin-link": ^2.2.1 - "@yarnpkg/plugin-nm": ^3.1.4 - "@yarnpkg/plugin-npm": ^2.7.2 - "@yarnpkg/plugin-npm-cli": ^3.2.2 - "@yarnpkg/plugin-pack": ^3.1.3 - "@yarnpkg/plugin-patch": ^3.2.3 - "@yarnpkg/plugin-pnp": ^3.2.4 + "@yarnpkg/plugin-nm": ^3.1.5 + "@yarnpkg/plugin-npm": ^2.7.3 + "@yarnpkg/plugin-npm-cli": ^3.3.0 + "@yarnpkg/plugin-pack": ^3.1.4 + "@yarnpkg/plugin-patch": ^3.2.4 + "@yarnpkg/plugin-pnp": ^3.2.5 "@yarnpkg/plugin-pnpm": ^1.1.2 - "@yarnpkg/shell": ^3.2.4 + "@yarnpkg/shell": ^3.2.5 chalk: ^3.0.0 ci-info: ^3.2.0 clipanion: 3.2.0-rc.4 @@ -9827,24 +9683,24 @@ __metadata: typanion: ^3.3.0 yup: ^0.32.9 peerDependencies: - "@yarnpkg/core": ^3.2.5 - checksum: 3740f6f523d29c45851d829d188a77e07383437dd0074f02d35adef98c0e29c5860bc95e31d877b282d18a0b582b3798283f100b63e2f63c8214f4ebcda15688 + "@yarnpkg/core": ^3.3.0 + checksum: 8032b87355c7907cd427c15afe1449e13152baacf2c19b65e267b1f32eefb5cf1a61c8583821c503b650ebbd7a67da15fb8a3adfa7fd57136b254378e9055280 languageName: node linkType: hard -"@yarnpkg/core@npm:3.2.5, @yarnpkg/core@npm:^3.2.2, @yarnpkg/core@npm:^3.2.5": - version: 3.2.5 - resolution: "@yarnpkg/core@npm:3.2.5" +"@yarnpkg/core@npm:3.3.0, @yarnpkg/core@npm:^3.3.0": + version: 3.3.0 + resolution: "@yarnpkg/core@npm:3.3.0" dependencies: "@arcanis/slice-ansi": ^1.1.1 "@types/semver": ^7.1.0 "@types/treeify": ^1.0.0 - "@yarnpkg/fslib": ^2.8.0 + "@yarnpkg/fslib": ^2.9.0 "@yarnpkg/json-proxy": ^2.1.1 "@yarnpkg/libzip": ^2.2.4 "@yarnpkg/parsers": ^2.5.1 - "@yarnpkg/pnp": ^3.2.4 - "@yarnpkg/shell": ^3.2.4 + "@yarnpkg/pnp": ^3.2.5 + "@yarnpkg/shell": ^3.2.5 camelcase: ^5.3.1 chalk: ^3.0.0 ci-info: ^3.2.0 @@ -9868,7 +9724,7 @@ __metadata: treeify: ^1.1.0 tslib: ^1.13.0 tunnel: ^0.0.6 - checksum: 0fa78ff373b4f6f6819f87a75b0687b81357b7c5751b720e412044155a26d32ee0f8f8ee1086d37322ecb2e50d287e2446f9ec7be402abb1b436ec09f10e5882 + checksum: d43b7aa706fc8e532d1efb89cf5595a15fe22b8c524b42878e2ebaaf5d07f5e9b0f740da35c01056db6a20c769ac3c31092c3b05442c1f34df2198a33e20ba08 languageName: node linkType: hard @@ -9891,6 +9747,16 @@ __metadata: languageName: node linkType: hard +"@yarnpkg/fslib@npm:^2.9.0": + version: 2.9.0 + resolution: "@yarnpkg/fslib@npm:2.9.0" + dependencies: + "@yarnpkg/libzip": ^2.2.4 + tslib: ^1.13.0 + checksum: a121d801c764408e4d290a343b7c811eb33d15f6c6a82c8b00c84aaa0b7bed610ca858047e8fb5e4c8b28cc29493ec19437fe43529dccf518215e5b38723fdc2 + languageName: node + linkType: hard + "@yarnpkg/json-proxy@npm:^2.1.1": version: 2.1.1 resolution: "@yarnpkg/json-proxy@npm:2.1.1" @@ -9911,13 +9777,14 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/nm@npm:^3.0.3": - version: 3.0.3 - resolution: "@yarnpkg/nm@npm:3.0.3" +"@yarnpkg/nm@npm:^3.1.0": + version: 3.1.0 + resolution: "@yarnpkg/nm@npm:3.1.0" dependencies: - "@yarnpkg/core": ^3.2.2 - "@yarnpkg/fslib": ^2.6.2 - checksum: d146a8b8b01d6994c8320098094349aa811b9558a4495fc7f5832ff027d31866cf0be6939f0e84aa28b3e3271fc4f554d509dff1211c48f618a81c67e2f790d2 + "@yarnpkg/core": ^3.3.0 + "@yarnpkg/fslib": ^2.9.0 + "@yarnpkg/pnp": ^3.2.5 + checksum: 771be0f0e6c785bc1f3b8750d3abed64a051ab4aa4a1602e4076ae5a34d8dd0f5cf6067a237bd2e0c9b29b37539bb2cb7e72a50dfa71f582990204347b4db55b languageName: node linkType: hard @@ -9931,15 +9798,15 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/plugin-compat@npm:^3.1.6": - version: 3.1.6 - resolution: "@yarnpkg/plugin-compat@npm:3.1.6" +"@yarnpkg/plugin-compat@npm:^3.1.7": + version: 3.1.7 + resolution: "@yarnpkg/plugin-compat@npm:3.1.7" dependencies: "@yarnpkg/extensions": ^1.1.1 peerDependencies: - "@yarnpkg/core": ^3.2.5 - "@yarnpkg/plugin-patch": ^3.2.3 - checksum: 5d5c81a624705a2381e9e106a86384978f1ccff150f3f2ac35b0a9b5e4b91a6f720ac37fe5a99c34a3fe4145846e1a3308aadca873173a199fa416876b397068 + "@yarnpkg/core": ^3.3.0 + "@yarnpkg/plugin-patch": ^3.2.4 + checksum: 4cd81b206daff7a79a7671342d27eaaa74b0ea55db1e1954d5f0eec445a06fc6993cf0cd392fdf523fd90a7b7d08bf842516285783f10acc9873b6b02f4963a9 languageName: node linkType: hard @@ -9958,11 +9825,11 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/plugin-essentials@npm:^3.2.3": - version: 3.2.3 - resolution: "@yarnpkg/plugin-essentials@npm:3.2.3" +"@yarnpkg/plugin-essentials@npm:^3.3.0": + version: 3.3.0 + resolution: "@yarnpkg/plugin-essentials@npm:3.3.0" dependencies: - "@yarnpkg/fslib": ^2.8.0 + "@yarnpkg/fslib": ^2.9.0 "@yarnpkg/json-proxy": ^2.1.1 "@yarnpkg/parsers": ^2.5.1 ci-info: ^3.2.0 @@ -9974,10 +9841,10 @@ __metadata: tslib: ^1.13.0 typanion: ^3.3.0 peerDependencies: - "@yarnpkg/cli": ^3.2.4 - "@yarnpkg/core": ^3.2.5 - "@yarnpkg/plugin-git": ^2.6.2 - checksum: ce4b1ea0fbfd6b99ebacdb43cd96aac03614fb053b0c69c87d0fef17ec64728dd4dd8b7abe0ccc4ae407114fdf05167a8975642d1418edfd06031d227800b463 + "@yarnpkg/cli": ^3.3.0 + "@yarnpkg/core": ^3.3.0 + "@yarnpkg/plugin-git": ^2.6.3 + checksum: babe8afdbafa8d28e2bf2339eb58b2cbed463795ed4319018ea1dfea9b8c6eeb89481484f13dfcbcf5d9fa4930c1ec3edcd37bb692c0b4071486a22c836f5cfe languageName: node linkType: hard @@ -9993,20 +9860,20 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/plugin-git@npm:^2.6.2": - version: 2.6.2 - resolution: "@yarnpkg/plugin-git@npm:2.6.2" +"@yarnpkg/plugin-git@npm:^2.6.3": + version: 2.6.3 + resolution: "@yarnpkg/plugin-git@npm:2.6.3" dependencies: "@types/semver": ^7.1.0 - "@yarnpkg/fslib": ^2.7.1 + "@yarnpkg/fslib": ^2.9.0 clipanion: 3.2.0-rc.4 - git-url-parse: 11.1.2 + git-url-parse: ^13.1.0 lodash: ^4.17.15 semver: ^7.1.2 tslib: ^1.13.0 peerDependencies: - "@yarnpkg/core": ^3.2.4 - checksum: 0ac3ed039d8c8ac1824494c2b9d104180a6dc8597c0285ec6bfe9e4e5184b078bef8ad5ef8c63e28f83d4f3f0ad5b290e654a30db90977e1bf01e79e68e370a5 + "@yarnpkg/core": ^3.3.0 + checksum: e936c1ff3a0e43e6e2a2b4309e3858be28c0e7c59d3791076a62d4ecaa785a0f9a77e0dc85fa3f13bbcc692c058012741d62314682d1c7c0bfbc70b871196f13 languageName: node linkType: hard @@ -10062,94 +9929,95 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/plugin-nm@npm:^3.1.4": - version: 3.1.4 - resolution: "@yarnpkg/plugin-nm@npm:3.1.4" +"@yarnpkg/plugin-nm@npm:^3.1.5": + version: 3.1.5 + resolution: "@yarnpkg/plugin-nm@npm:3.1.5" dependencies: - "@yarnpkg/fslib": ^2.7.1 + "@yarnpkg/fslib": ^2.9.0 "@yarnpkg/libzip": ^2.2.4 - "@yarnpkg/nm": ^3.0.3 + "@yarnpkg/nm": ^3.1.0 "@yarnpkg/parsers": ^2.5.1 - "@yarnpkg/plugin-pnp": ^3.2.3 - "@yarnpkg/pnp": ^3.2.3 + "@yarnpkg/plugin-pnp": ^3.2.5 + "@yarnpkg/pnp": ^3.2.5 "@zkochan/cmd-shim": ^5.1.0 clipanion: 3.2.0-rc.4 micromatch: ^4.0.2 tslib: ^1.13.0 peerDependencies: - "@yarnpkg/cli": ^3.2.3 - "@yarnpkg/core": ^3.2.4 - checksum: 53cbffd10554c302b78a2dbdc623fe8acb807dbff341e88b71ee11dc668312170c5a139ecd0be912f47cd19cb0962399a6cbdcd76f69347e555891d52b1ce33c + "@yarnpkg/cli": ^3.3.0 + "@yarnpkg/core": ^3.3.0 + checksum: 65e90cca541f5feae152e483f2b0da8bfa57514bd2d25b9b40e608dd4cf5b6e325e586b2ace398581ef4a6d4a3a05c64ad4273f0c6b47354e3544404e63f6d95 languageName: node linkType: hard -"@yarnpkg/plugin-npm-cli@npm:^3.2.2": - version: 3.2.2 - resolution: "@yarnpkg/plugin-npm-cli@npm:3.2.2" +"@yarnpkg/plugin-npm-cli@npm:^3.3.0": + version: 3.3.0 + resolution: "@yarnpkg/plugin-npm-cli@npm:3.3.0" dependencies: - "@yarnpkg/fslib": ^2.7.1 + "@yarnpkg/fslib": ^2.9.0 clipanion: 3.2.0-rc.4 enquirer: ^2.3.6 + micromatch: ^4.0.2 semver: ^7.1.2 tslib: ^1.13.0 typanion: ^3.3.0 peerDependencies: - "@yarnpkg/cli": ^3.2.3 - "@yarnpkg/core": ^3.2.4 - "@yarnpkg/plugin-npm": ^2.7.1 - "@yarnpkg/plugin-pack": ^3.1.3 - checksum: 1e7e20be466e7c6e6d3f802c185a47ca8f9bea4bd1d8dba6b24033b89301597ed81e7a7f705f4ff42ed534ee23a39fbcbd491c03863bf616e2efd2339f996fca + "@yarnpkg/cli": ^3.3.0 + "@yarnpkg/core": ^3.3.0 + "@yarnpkg/plugin-npm": ^2.7.3 + "@yarnpkg/plugin-pack": ^3.1.4 + checksum: 97ba497fcbf30eb646d10a4b04aac606524e6c2f65e8450e028773f1be27ebd5c4637824cbb0a4c42953e0f924b9f6514631119b54ac01dba5258a336e829b76 languageName: node linkType: hard -"@yarnpkg/plugin-npm@npm:^2.7.2": - version: 2.7.2 - resolution: "@yarnpkg/plugin-npm@npm:2.7.2" +"@yarnpkg/plugin-npm@npm:^2.7.3": + version: 2.7.3 + resolution: "@yarnpkg/plugin-npm@npm:2.7.3" dependencies: - "@yarnpkg/fslib": ^2.8.0 + "@yarnpkg/fslib": ^2.9.0 enquirer: ^2.3.6 semver: ^7.1.2 ssri: ^6.0.1 tslib: ^1.13.0 peerDependencies: - "@yarnpkg/core": ^3.2.5 - "@yarnpkg/plugin-pack": ^3.1.3 - checksum: 56a3d5e6b2d25baff924e4383a0bb19fc02cda66bd2f7fbba207270ed975146796256d647736789ccc05208cf8cf5f72b6e4eba6a6b00009bea698be5c78e832 + "@yarnpkg/core": ^3.3.0 + "@yarnpkg/plugin-pack": ^3.1.4 + checksum: b33b5a666e3c298536aa2d00c23479b135853ad5329a76a68b403ca1725c34d0b571a69b1199c567332cc0faeccdb5dec23e1a125ff5e2285d9682573705b8bd languageName: node linkType: hard -"@yarnpkg/plugin-pack@npm:^3.1.3": - version: 3.1.3 - resolution: "@yarnpkg/plugin-pack@npm:3.1.3" +"@yarnpkg/plugin-pack@npm:^3.1.4": + version: 3.1.4 + resolution: "@yarnpkg/plugin-pack@npm:3.1.4" dependencies: - "@yarnpkg/fslib": ^2.7.1 + "@yarnpkg/fslib": ^2.9.0 clipanion: 3.2.0-rc.4 micromatch: ^4.0.2 tar-stream: ^2.0.1 tslib: ^1.13.0 peerDependencies: - "@yarnpkg/cli": ^3.2.3 - "@yarnpkg/core": ^3.2.4 - checksum: c0150e8b36280e2370c13839d606e7dce8f030bdf746d9ad2d8694e25d95d2a91a5cad1a76090e2923fa6bcc11f1fac2615b305e4e4fd885edcc4d9d25f0e4b9 + "@yarnpkg/cli": ^3.3.0 + "@yarnpkg/core": ^3.3.0 + checksum: aa26e13e06388969b3942aec63e39a6c40bde2457046a3cfaccc381656779ea1e88d41fe99bffa0dc6ec29b5df8b5c1aaab80f8cb199362d07ab61cf25427bd7 languageName: node linkType: hard -"@yarnpkg/plugin-patch@npm:^3.2.3": - version: 3.2.3 - resolution: "@yarnpkg/plugin-patch@npm:3.2.3" +"@yarnpkg/plugin-patch@npm:^3.2.4": + version: 3.2.4 + resolution: "@yarnpkg/plugin-patch@npm:3.2.4" dependencies: - "@yarnpkg/fslib": ^2.7.1 + "@yarnpkg/fslib": ^2.9.0 "@yarnpkg/libzip": ^2.2.4 clipanion: 3.2.0-rc.4 tslib: ^1.13.0 peerDependencies: - "@yarnpkg/cli": ^3.2.3 - "@yarnpkg/core": ^3.2.4 - checksum: 4c96d4bead6c02b1d58782690dcc01cb51c4f36706f8a0ae8bb485cb1cfaf0328400e8cb951601cc7c025fedce497cbd9e264331399b8f11a0fea89857a3129f + "@yarnpkg/cli": ^3.3.0 + "@yarnpkg/core": ^3.3.0 + checksum: 77cf0644e1215ab553b50c2ad9cebe852716692a53cf226cf19cdde2caa05220faee5a56d1bf30006117eef8f0954dac771016acc94cc2f95af8cd83e5a18acc languageName: node linkType: hard -"@yarnpkg/plugin-pnp@npm:^3.2.3, @yarnpkg/plugin-pnp@npm:^3.2.4": +"@yarnpkg/plugin-pnp@npm:^3.2.3": version: 3.2.4 resolution: "@yarnpkg/plugin-pnp@npm:3.2.4" dependencies: @@ -10168,6 +10036,25 @@ __metadata: languageName: node linkType: hard +"@yarnpkg/plugin-pnp@npm:^3.2.5": + version: 3.2.5 + resolution: "@yarnpkg/plugin-pnp@npm:3.2.5" + dependencies: + "@types/semver": ^7.1.0 + "@yarnpkg/fslib": ^2.9.0 + "@yarnpkg/plugin-stage": ^3.1.3 + "@yarnpkg/pnp": ^3.2.5 + clipanion: 3.2.0-rc.4 + micromatch: ^4.0.2 + semver: ^7.1.2 + tslib: ^1.13.0 + peerDependencies: + "@yarnpkg/cli": ^3.3.0 + "@yarnpkg/core": ^3.3.0 + checksum: 105edd2eb5721a01fa61663e62bad9fa2cd32ff202612bf5b6de5462e24caebf7105ea502f3516cb9ed9dfc971b2f4c57c40ce2d77238c98b6cfa4736be2a138 + languageName: node + linkType: hard + "@yarnpkg/plugin-pnpm@npm:^1.1.2": version: 1.1.2 resolution: "@yarnpkg/plugin-pnpm@npm:1.1.2" @@ -10199,7 +10086,7 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/pnp@npm:^3.2.3, @yarnpkg/pnp@npm:^3.2.4": +"@yarnpkg/pnp@npm:^3.2.4": version: 3.2.4 resolution: "@yarnpkg/pnp@npm:3.2.4" dependencies: @@ -10209,11 +10096,21 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/shell@npm:3.2.4, @yarnpkg/shell@npm:^3.2.4": - version: 3.2.4 - resolution: "@yarnpkg/shell@npm:3.2.4" +"@yarnpkg/pnp@npm:^3.2.5": + version: 3.2.5 + resolution: "@yarnpkg/pnp@npm:3.2.5" dependencies: - "@yarnpkg/fslib": ^2.7.1 + "@types/node": ^13.7.0 + "@yarnpkg/fslib": ^2.9.0 + checksum: d2dd7410383ad1d59ddabc4cdb532b1bbb109bb87a1aad0414b13d46c9f66cdbbfa6008f01132345c05f445d5388b829060340bf74c14d3e7f3a212fac8dac33 + languageName: node + linkType: hard + +"@yarnpkg/shell@npm:3.2.5, @yarnpkg/shell@npm:^3.2.5": + version: 3.2.5 + resolution: "@yarnpkg/shell@npm:3.2.5" + dependencies: + "@yarnpkg/fslib": ^2.9.0 "@yarnpkg/parsers": ^2.5.1 chalk: ^3.0.0 clipanion: 3.2.0-rc.4 @@ -10224,7 +10121,7 @@ __metadata: tslib: ^1.13.0 bin: shell: ./lib/cli.js - checksum: 78eb96d5a5d9af093b50d9727cee33f2edfb5a552b5750f237c3324c89763f965738cc7827dd7d2c1092b54e10b6a16e6390faa2880bfa984f7b29be1de925ba + checksum: 89fe80fec6ccd5a1a713ea11285bce17fe1f3cc42507b4e63565818c4afb41e588d368cf7c198fe2b3eeb900cae87233c2d52c27da288a57f82f85a07cf9b221 languageName: node linkType: hard @@ -10250,7 +10147,7 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.3, abab@npm:^2.0.5, abab@npm:^2.0.6": +"abab@npm:^2.0.6": version: 2.0.6 resolution: "abab@npm:2.0.6" checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e @@ -10274,16 +10171,6 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" - dependencies: - acorn: ^7.1.1 - acorn-walk: ^7.1.1 - checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 - languageName: node - linkType: hard - "acorn-globals@npm:^7.0.0": version: 7.0.1 resolution: "acorn-globals@npm:7.0.1" @@ -10323,7 +10210,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.0.0, acorn-walk@npm:^7.1.1": +"acorn-walk@npm:^7.0.0": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f @@ -10337,7 +10224,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.0.0, acorn@npm:^7.1.1": +"acorn@npm:^7.0.0": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -10346,7 +10233,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.6.0, acorn@npm:^8.7.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0": +"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.6.0, acorn@npm:^8.7.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0": version: 8.8.1 resolution: "acorn@npm:8.8.1" bin: @@ -10923,6 +10810,19 @@ __metadata: languageName: node linkType: hard +"array-includes@npm:^3.1.6": + version: 3.1.6 + resolution: "array-includes@npm:3.1.6" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + get-intrinsic: ^1.1.3 + is-string: ^1.0.7 + checksum: f22f8cd8ba8a6448d91eebdc69f04e4e55085d09232b5216ee2d476dab3ef59984e8d1889e662c6a0ed939dcb1b57fd05b2c0209c3370942fc41b752c82a2ca5 + languageName: node + linkType: hard + "array-union@npm:^1.0.1, array-union@npm:^1.0.2": version: 1.0.2 resolution: "array-union@npm:1.0.2" @@ -10964,15 +10864,28 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.0": - version: 1.3.0 - resolution: "array.prototype.flatmap@npm:1.3.0" +"array.prototype.flatmap@npm:^1.3.1": + version: 1.3.1 + resolution: "array.prototype.flatmap@npm:1.3.1" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 es-shim-unscopables: ^1.0.0 - checksum: 818538f39409c4045d874be85df0dbd195e1446b14d22f95bdcfefea44ae77db44e42dcd89a559254ec5a7c8b338cfc986cc6d641e3472f9a5326b21eb2976a2 + checksum: 8c1c43a4995f12cf12523436da28515184c753807b3f0bc2ca6c075f71c470b099e2090cc67dba8e5280958fea401c1d0c59e1db0143272aef6cd1103921a987 + languageName: node + linkType: hard + +"array.prototype.tosorted@npm:^1.1.1": + version: 1.1.1 + resolution: "array.prototype.tosorted@npm:1.1.1" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + es-shim-unscopables: ^1.0.0 + get-intrinsic: ^1.1.3 + checksum: 7923324a67e70a2fc0a6e40237405d92395e45ebd76f5cb89c2a5cf1e66b47aca6baacd0cd628ffd88830b90d47fff268071493d09c9ae123645613dac2c2ca3 languageName: node linkType: hard @@ -11182,7 +11095,7 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^10.3.7, autoprefixer@npm:^10.4.11, autoprefixer@npm:^10.4.7": +"autoprefixer@npm:^10.3.7, autoprefixer@npm:^10.4.7": version: 10.4.12 resolution: "autoprefixer@npm:10.4.12" dependencies: @@ -11239,14 +11152,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:1.1.3": - version: 1.1.3 - resolution: "axios@npm:1.1.3" +"axios@npm:1.2.0": + version: 1.2.0 + resolution: "axios@npm:1.2.0" dependencies: follow-redirects: ^1.15.0 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: cab3b17bf6092c9387f7023d699db093cfa23650b56c4422cd474d124b78b2e3b5a520f932c330664a58ab85b867b1c25a95cace475ef72d236888c852b84e6d + checksum: f08ce214e957dfde45b837f8d3c7861424608fb7df32faa638835e338782a9f4c0b05074e92e0e8dcca3a1e6250112fbbe1b15a6b21104da633d84745bbb79cc languageName: node linkType: hard @@ -11746,13 +11659,6 @@ __metadata: languageName: node linkType: hard -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f - languageName: node - linkType: hard - "browserify-zlib@npm:^0.1.4": version: 0.1.4 resolution: "browserify-zlib@npm:0.1.4" @@ -11762,7 +11668,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.16.6, browserslist@npm:^4.18.1, browserslist@npm:^4.20.3, browserslist@npm:^4.21.3, browserslist@npm:^4.21.4, browserslist@npm:latest": +"browserslist@npm:4.21.4, browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.16.6, browserslist@npm:^4.18.1, browserslist@npm:^4.20.3, browserslist@npm:^4.21.3, browserslist@npm:^4.21.4": version: 4.21.4 resolution: "browserslist@npm:4.21.4" dependencies: @@ -11793,29 +11699,29 @@ __metadata: "@skypack/package-check": 0.2.2 "@types/express": 4.17.14 "@types/fs-extra": 9.0.13 - "@types/lodash": ^4 - "@types/node": 16.18.3 - "@typescript-eslint/eslint-plugin": 5.42.1 - "@typescript-eslint/parser": 5.42.1 - "@vitest/coverage-istanbul": 0.25.2 - "@vitest/ui": 0.24.5 - eslint: 8.27.0 + "@types/lodash": ^4.14.191 + "@types/node": 16.18.4 + "@typescript-eslint/eslint-plugin": 5.45.0 + "@typescript-eslint/parser": 5.45.0 + "@vitest/coverage-istanbul": 0.25.3 + "@vitest/ui": 0.25.3 + eslint: 8.28.0 eslint-plugin-import: 2.26.0 eslint-plugin-n: 15.5.1 - eslint-plugin-react: 7.31.10 + eslint-plugin-react: 7.31.11 eslint-plugin-react-hooks: 4.6.0 eslint-plugin-simple-import-sort: 8.0.0 execa: 6.1.0 fs-extra: 10.1.0 - import-meta-resolve: 2.1.0 + import-meta-resolve: 2.2.0 lodash: 4.17.21 - playwright: 1.28.0 - prettier: 2.7.1 - syncpack: 8.3.9 + playwright: 1.28.1 + prettier: 2.8.0 + syncpack: 8.4.11 ts-node: 10.9.1 tslib: 2.4.1 - typescript: 4.8.4 - vitest: 0.24.5 + typescript: 4.9.3 + vitest: 0.25.3 webpack: 5.75.0 languageName: unknown linkType: soft @@ -12160,6 +12066,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:1.0.30001435": + version: 1.0.30001435 + resolution: "caniuse-lite@npm:1.0.30001435" + checksum: ec88b9c37f66095e26ddb8b43110e9564ebccb6de77e495b8e8b9d64fdbfe37f7762be8fd2578c3ecc181a183a159578c9bd8e9b90eb15b44b78e8a6d0e92530 + languageName: node + linkType: hard + "caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001400, caniuse-lite@npm:^1.0.30001407": version: 1.0.30001427 resolution: "caniuse-lite@npm:1.0.30001427" @@ -12174,13 +12087,6 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:latest": - version: 1.0.30001434 - resolution: "caniuse-lite@npm:1.0.30001434" - checksum: 7c9d2641e8e8f3ddf9af14c4ce47266a9d8fd1fc0243626049ff1b2eca4bf02938ff440813cc3feae3fa8d851ec8d1b9718044340c8d09bb4372d92d4f6b519c - languageName: node - linkType: hard - "capital-case@npm:^1.0.4": version: 1.0.4 resolution: "capital-case@npm:1.0.4" @@ -12684,14 +12590,14 @@ __metadata: languageName: node linkType: hard -"clipanion@npm:3.2.0-rc.13": - version: 3.2.0-rc.13 - resolution: "clipanion@npm:3.2.0-rc.13" +"clipanion@npm:3.2.0-rc.14": + version: 3.2.0-rc.14 + resolution: "clipanion@npm:3.2.0-rc.14" dependencies: typanion: ^3.8.0 peerDependencies: typanion: "*" - checksum: 354fee2b12dd356a76949a0ea651e32ea26a12026dd6f27d045c7e00c07a2f2a129dddc84eadc855c960b7d842378064d84fe21641c1d8a943b6364343162b4e + checksum: 0bedf6c70d8f3f986fe105ba4a2182cf8d398201ed639095927ceef5d50f370ee2bb7e14239be2b5ddcf3dc8f3b72a1666d67e903ee405fcddf1f378a4704c54 languageName: node linkType: hard @@ -13421,6 +13327,19 @@ __metadata: languageName: node linkType: hard +"cosmiconfig@npm:^7.1.0": + version: 7.1.0 + resolution: "cosmiconfig@npm:7.1.0" + dependencies: + "@types/parse-json": ^4.0.0 + import-fresh: ^3.2.1 + parse-json: ^5.0.0 + path-type: ^4.0.0 + yaml: ^1.10.0 + checksum: c53bf7befc1591b2651a22414a5e786cd5f2eeaa87f3678a3d49d6069835a9d8d1aef223728e98aa8fec9a95bf831120d245096db12abe019fecb51f5696c96f + languageName: node + linkType: hard + "cp-file@npm:^10.0.0": version: 10.0.0 resolution: "cp-file@npm:10.0.0" @@ -13662,6 +13581,24 @@ __metadata: languageName: node linkType: hard +"css-loader@npm:^6.7.2": + version: 6.7.2 + resolution: "css-loader@npm:6.7.2" + dependencies: + icss-utils: ^5.1.0 + postcss: ^8.4.18 + postcss-modules-extract-imports: ^3.0.0 + postcss-modules-local-by-default: ^4.0.0 + postcss-modules-scope: ^3.0.0 + postcss-modules-values: ^4.0.0 + postcss-value-parser: ^4.2.0 + semver: ^7.3.8 + peerDependencies: + webpack: ^5.0.0 + checksum: f3c980cc9c033a02e60df7e5a2f33a1e8c2c3dd552f017485d2d81b383be623ae8c4189404e7a4a7403b52744683ae4b516def0f7ccf125c2b198cb647e46543 + languageName: node + linkType: hard + "css-mediaquery@npm:^0.1.2": version: 0.1.2 resolution: "css-mediaquery@npm:0.1.2" @@ -13794,10 +13731,10 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^7.0.1": - version: 7.0.1 - resolution: "cssdb@npm:7.0.1" - checksum: 4b4de59864c8d3adb5f90fad2b97d527714bb7702f317275b43e2d4e91cb68408130e9c8bdef932027feec86bd74beb847509ee931a3338f7a5be7d01c81eac8 +"cssdb@npm:^7.1.0": + version: 7.2.0 + resolution: "cssdb@npm:7.2.0" + checksum: a571955eac16772071358671cf748c077a95a8acfb8812ecbcb84217d00360edaeb31994a2ddf10e75b9693f1e846f121ad3d6e149eeb7625625ea24184754fd languageName: node linkType: hard @@ -13896,13 +13833,6 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.4.4": - version: 0.4.4 - resolution: "cssom@npm:0.4.4" - checksum: e3bc1076e7ee4213d4fef05e7ae03bfa83dc05f32611d8edc341f4ecc3d9647b89c8245474c7dd2cdcdb797a27c462e99da7ad00a34399694559f763478ff53f - languageName: node - linkType: hard - "cssom@npm:^0.5.0": version: 0.5.0 resolution: "cssom@npm:0.5.0" @@ -14034,17 +13964,6 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^2.0.0": - version: 2.0.0 - resolution: "data-urls@npm:2.0.0" - dependencies: - abab: ^2.0.3 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.0.0 - checksum: 97caf828aac25e25e04ba6869db0f99c75e6859bb5b424ada28d3e7841941ebf08ddff3c1b1bb4585986bd507a5d54c2a716853ea6cb98af877400e637393e71 - languageName: node - linkType: hard - "data-urls@npm:^3.0.2": version: 3.0.2 resolution: "data-urls@npm:3.0.2" @@ -14163,7 +14082,7 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.2.1, decimal.js@npm:^10.4.1": +"decimal.js@npm:^10.4.1": version: 10.4.2 resolution: "decimal.js@npm:10.4.2" checksum: 536cd6816a3197f2e1aa3da4860856cb5a2db73f6fafe8cb3b924ccc63f9b7d78296acc13dccbd419bd958ccc6357921fb15467f883b37cab04bfba7044cada2 @@ -14757,9 +14676,9 @@ __metadata: languageName: node linkType: hard -"docusaurus-lunr-search@npm:2.3.1": - version: 2.3.1 - resolution: "docusaurus-lunr-search@npm:2.3.1" +"docusaurus-lunr-search@npm:2.3.2": + version: 2.3.2 + resolution: "docusaurus-lunr-search@npm:2.3.2" dependencies: autocomplete.js: ^0.37.0 classnames: ^2.2.6 @@ -14779,7 +14698,7 @@ __metadata: "@docusaurus/core": ^2.0.0-alpha.60 || ^2.0.0 react: ^16.8.4 || ^17 react-dom: ^16.8.4 || ^17 - checksum: 83c7aa3b51f8feb1e2e975145e8c43e064187896dd93f64f0b7b9cdf42a0c4626c22d537f3d7fd13cba84e291118b9289411d03e5dadd0ca6f996cea55aa2a75 + checksum: 2cfbe510215849f59c22843fe827d388d0f91f60a7eccce8bb289aca794ddf401ce05e4fd17008016926e6f787d617c590b469fd9dc000fa766a9a7a2bbb42aa languageName: node linkType: hard @@ -14828,15 +14747,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^2.0.1": - version: 2.0.1 - resolution: "domexception@npm:2.0.1" - dependencies: - webidl-conversions: ^5.0.0 - checksum: d638e9cb05c52999f1b2eb87c374b03311ea5b1d69c2f875bc92da73e17db60c12142b45c950228642ff7f845c536b65305483350d080df59003a653da80b691 - languageName: node - linkType: hard - "domexception@npm:^4.0.0": version: 4.0.0 resolution: "domexception@npm:4.0.0" @@ -14864,13 +14774,6 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:2.4.0": - version: 2.4.0 - resolution: "dompurify@npm:2.4.0" - checksum: c93ea73cf8e3ba044588450198563e56ce6902e36d0e16e3699df2fa59e82c4fdd11d4ad04ef5024569ce96a35b46f29d0bbea522516add33cd39a7f56a8a675 - languageName: node - linkType: hard - "domutils@npm:^2.5.2, domutils@npm:^2.6.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -15261,7 +15164,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5": +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.5": version: 1.20.1 resolution: "es-abstract@npm:1.20.1" dependencies: @@ -15292,6 +15195,38 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.20.4": + version: 1.20.4 + resolution: "es-abstract@npm:1.20.4" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + function.prototype.name: ^1.1.5 + get-intrinsic: ^1.1.3 + get-symbol-description: ^1.0.0 + has: ^1.0.3 + has-property-descriptors: ^1.0.0 + has-symbols: ^1.0.3 + internal-slot: ^1.0.3 + is-callable: ^1.2.7 + is-negative-zero: ^2.0.2 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.2 + is-string: ^1.0.7 + is-weakref: ^1.0.2 + object-inspect: ^1.12.2 + object-keys: ^1.1.1 + object.assign: ^4.1.4 + regexp.prototype.flags: ^1.4.3 + safe-regex-test: ^1.0.0 + string.prototype.trimend: ^1.0.5 + string.prototype.trimstart: ^1.0.5 + unbox-primitive: ^1.0.2 + checksum: 89297cc785c31aedf961a603d5a07ed16471e435d3a1b6d070b54f157cf48454b95cda2ac55e4b86ff4fe3276e835fcffd2771578e6fa634337da49b26826141 + languageName: node + linkType: hard + "es-module-lexer@npm:^0.9.0": version: 0.9.3 resolution: "es-module-lexer@npm:0.9.3" @@ -16061,27 +15996,28 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:7.31.10": - version: 7.31.10 - resolution: "eslint-plugin-react@npm:7.31.10" +"eslint-plugin-react@npm:7.31.11": + version: 7.31.11 + resolution: "eslint-plugin-react@npm:7.31.11" dependencies: - array-includes: ^3.1.5 - array.prototype.flatmap: ^1.3.0 + array-includes: ^3.1.6 + array.prototype.flatmap: ^1.3.1 + array.prototype.tosorted: ^1.1.1 doctrine: ^2.1.0 estraverse: ^5.3.0 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.1.2 - object.entries: ^1.1.5 - object.fromentries: ^2.0.5 - object.hasown: ^1.1.1 - object.values: ^1.1.5 + object.entries: ^1.1.6 + object.fromentries: ^2.0.6 + object.hasown: ^1.1.2 + object.values: ^1.1.6 prop-types: ^15.8.1 resolve: ^2.0.0-next.3 semver: ^6.3.0 - string.prototype.matchall: ^4.0.7 + string.prototype.matchall: ^4.0.8 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: f013669c296483559a760648fa06425f161b1aff93c668f14c4561c933d22a7836b745b88a795c53cab929c71513d5fd1f2ffdddff915709f01b77ac25f5b71b + checksum: a3d612f6647bef33cf2a67c81a6b37b42c075300ed079cffecf5fb475c0d6ab855c1de340d1cbf361a0126429fb906dda597527235d2d12c4404453dbc712fc6 languageName: node linkType: hard @@ -16171,9 +16107,9 @@ __metadata: languageName: node linkType: hard -"eslint@npm:8.27.0": - version: 8.27.0 - resolution: "eslint@npm:8.27.0" +"eslint@npm:8.28.0": + version: 8.28.0 + resolution: "eslint@npm:8.28.0" dependencies: "@eslint/eslintrc": ^1.3.3 "@humanwhocodes/config-array": ^0.11.6 @@ -16216,7 +16152,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 153b022d309e1b647a73b1bb0fa98912add699b06e279084155f23c6f2b5fc5abd05411fc1ba81608a24bbfaf044ca079544c16fffa6fc987b8f676c9960a2c4 + checksum: 1b793486b2ec80f0602d75fff7116f7c39a3286f523608a999eead9bec4154a06841785d2b4fb87f8292a94cf85778c1dbfaec727772a09c4d604fdb9ff0809a languageName: node linkType: hard @@ -17048,13 +16984,6 @@ __metadata: languageName: node linkType: hard -"filter-obj@npm:^1.1.0": - version: 1.1.0 - resolution: "filter-obj@npm:1.1.0" - checksum: cf2104a7c45ff48e7f505b78a3991c8f7f30f28bd8106ef582721f321f1c6277f7751aacd5d83026cb079d9d5091082f588d14a72e7c5d720ece79118fa61e10 - languageName: node - linkType: hard - "filter-obj@npm:^2.0.1": version: 2.0.2 resolution: "filter-obj@npm:2.0.2" @@ -17658,14 +17587,25 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": - version: 1.1.1 - resolution: "get-intrinsic@npm:1.1.1" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": + version: 1.1.1 + resolution: "get-intrinsic@npm:1.1.1" + dependencies: + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.1 + checksum: a9fe2ca8fa3f07f9b0d30fb202bcd01f3d9b9b6b732452e79c48e79f7d6d8d003af3f9e38514250e3553fdc83c61650851cb6870832ac89deaaceb08e3721a17 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.1.3": + version: 1.1.3 + resolution: "get-intrinsic@npm:1.1.3" dependencies: function-bind: ^1.1.1 has: ^1.0.3 - has-symbols: ^1.0.1 - checksum: a9fe2ca8fa3f07f9b0d30fb202bcd01f3d9b9b6b732452e79c48e79f7d6d8d003af3f9e38514250e3553fdc83c61650851cb6870832ac89deaaceb08e3721a17 + has-symbols: ^1.0.3 + checksum: 152d79e87251d536cf880ba75cfc3d6c6c50e12b3a64e1ea960e73a3752b47c69f46034456eae1b0894359ce3bc64c55c186f2811f8a788b75b638b06fab228a languageName: node linkType: hard @@ -17853,22 +17793,22 @@ __metadata: languageName: node linkType: hard -"git-up@npm:^4.0.0": - version: 4.0.5 - resolution: "git-up@npm:4.0.5" +"git-up@npm:^7.0.0": + version: 7.0.0 + resolution: "git-up@npm:7.0.0" dependencies: - is-ssh: ^1.3.0 - parse-url: ^6.0.0 - checksum: dd8f39a115ec0523b7da369cd4c6dc94a9b11fcc652e6fc9d011a93c287e27cc34e1d1c89cff8864f9ab11a1b2bea49786951d8eb3f1e5babd351afcc63f6135 + is-ssh: ^1.4.0 + parse-url: ^8.1.0 + checksum: 2faadbab51e94d2ffb220e426e950087cc02c15d664e673bd5d1f734cfa8196fed8b19493f7bf28fe216d087d10e22a7fd9b63687e0ba7d24f0ddcfb0a266d6e languageName: node linkType: hard -"git-url-parse@npm:11.1.2": - version: 11.1.2 - resolution: "git-url-parse@npm:11.1.2" +"git-url-parse@npm:^13.1.0": + version: 13.1.0 + resolution: "git-url-parse@npm:13.1.0" dependencies: - git-up: ^4.0.0 - checksum: 68890ec7493a207463bdc8fcb168a63e96874832a5368c7dad0b5cecd729c52ea6bde730bdb14ea88e9ffb6e638dbfc30053bc9d4e984ab18ca3cebf77e2472d + git-up: ^7.0.0 + checksum: 212a9b0343e9199998b6a532efe2014476a7a1283af393663ca49ac28d4768929aad16d3322e2685236065ee394dbc93e7aa63a48956531e984c56d8b5edb54d languageName: node linkType: hard @@ -18798,10 +18738,10 @@ __metadata: languageName: node linkType: hard -"highlight.js@npm:11.6.0": - version: 11.6.0 - resolution: "highlight.js@npm:11.6.0" - checksum: 3908eb34a4b442ca1e20c1ae6415ea935fbbcdb2b532a89948d82b0fa4ad41fc5de3802a0de4e88a0bcb7d97d4445579048cd2aab1d105ac47f59dd58a9a98ae +"highlight.js@npm:11.7.0": + version: 11.7.0 + resolution: "highlight.js@npm:11.7.0" + checksum: 19e3fb8b56f4b361b057a8523b989dfeb6479bbd1e29cec3fac6fa5c78d09927d5fa61b7dba6631fdb57cfdca9b3084aa4da49405ceaf4a67f67beae2ed5b77d languageName: node linkType: hard @@ -18884,15 +18824,6 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^2.0.1": - version: 2.0.1 - resolution: "html-encoding-sniffer@npm:2.0.1" - dependencies: - whatwg-encoding: ^1.0.5 - checksum: bf30cce461015ed7e365736fcd6a3063c7bc016a91f74398ef6158886970a96333938f7c02417ab3c12aa82e3e53b40822145facccb9ddfbcdc15a879ae4d7ba - languageName: node - linkType: hard - "html-encoding-sniffer@npm:^3.0.0": version: 3.0.0 resolution: "html-encoding-sniffer@npm:3.0.0" @@ -19156,7 +19087,7 @@ __metadata: languageName: node linkType: hard -"http-proxy@npm:^1.18.0, http-proxy@npm:^1.18.1": +"http-proxy@npm:1.18.1, http-proxy@npm:^1.18.0, http-proxy@npm:^1.18.1": version: 1.18.1 resolution: "http-proxy@npm:1.18.1" dependencies: @@ -19389,10 +19320,10 @@ __metadata: languageName: node linkType: hard -"import-meta-resolve@npm:2.1.0": - version: 2.1.0 - resolution: "import-meta-resolve@npm:2.1.0" - checksum: 4554ea5e2daecbdeb7ebe4df23ced97e6a64ad41ed26889b3c86ed896830dbbe63889c8fad49b7dea76c0f9aad46f7d32412fa727c335e11f3cc79f63a91f8e1 +"import-meta-resolve@npm:2.2.0": + version: 2.2.0 + resolution: "import-meta-resolve@npm:2.2.0" + checksum: 35a012c07bdaaed907ad150021b47a4bd8b2c77c88f02a2c5a15a5cb5c146072a94b6633cc528eaccf187bca12196c0fb2ff44a54b3b2a03bcf200511b3f1e50 languageName: node linkType: hard @@ -19805,6 +19736,13 @@ __metadata: languageName: node linkType: hard +"is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac + languageName: node + linkType: hard + "is-ci@npm:^2.0.0": version: 2.0.0 resolution: "is-ci@npm:2.0.0" @@ -20290,12 +20228,12 @@ __metadata: languageName: node linkType: hard -"is-ssh@npm:^1.3.0": - version: 1.3.3 - resolution: "is-ssh@npm:1.3.3" +"is-ssh@npm:^1.4.0": + version: 1.4.0 + resolution: "is-ssh@npm:1.4.0" dependencies: - protocols: ^1.1.0 - checksum: 7a751facad3c61abf080eefe4f5df488d37f690ac2b130a8012001ecee4d7991306561bcb25896894d19268ea0512b20497f243e74d21c5901187a8f55f1c08c + protocols: ^2.0.1 + checksum: 75eaa17b538bee24b661fbeb0f140226ac77e904a6039f787bea418431e2162f1f9c4c4ccad3bd169e036cd701cc631406e8c505d9fa7e20164e74b47f86f40f languageName: node linkType: hard @@ -20734,46 +20672,6 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:16.7.0": - version: 16.7.0 - resolution: "jsdom@npm:16.7.0" - dependencies: - abab: ^2.0.5 - acorn: ^8.2.4 - acorn-globals: ^6.0.0 - cssom: ^0.4.4 - cssstyle: ^2.3.0 - data-urls: ^2.0.0 - decimal.js: ^10.2.1 - domexception: ^2.0.1 - escodegen: ^2.0.0 - form-data: ^3.0.0 - html-encoding-sniffer: ^2.0.1 - http-proxy-agent: ^4.0.1 - https-proxy-agent: ^5.0.0 - is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.0 - parse5: 6.0.1 - saxes: ^5.0.1 - symbol-tree: ^3.2.4 - tough-cookie: ^4.0.0 - w3c-hr-time: ^1.0.2 - w3c-xmlserializer: ^2.0.0 - webidl-conversions: ^6.1.0 - whatwg-encoding: ^1.0.5 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.5.0 - ws: ^7.4.6 - xml-name-validator: ^3.0.0 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 - languageName: node - linkType: hard - "jsdom@npm:^20.0.0": version: 20.0.1 resolution: "jsdom@npm:20.0.1" @@ -21390,7 +21288,7 @@ __metadata: languageName: node linkType: hard -"loader-utils@npm:^2.0.3": +"loader-utils@npm:^2.0.3, loader-utils@npm:^2.0.4": version: 2.0.4 resolution: "loader-utils@npm:2.0.4" dependencies: @@ -21667,7 +21565,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4, lodash@npm:4.17.21, lodash@npm:^4.11.1, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0": +"lodash@npm:4, lodash@npm:4.17.21, lodash@npm:^4.11.1, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -22933,7 +22831,7 @@ __metadata: languageName: node linkType: hard -"mini-css-extract-plugin@npm:*, mini-css-extract-plugin@npm:2.6.1, mini-css-extract-plugin@npm:^2.6.1": +"mini-css-extract-plugin@npm:*, mini-css-extract-plugin@npm:^2.6.1": version: 2.6.1 resolution: "mini-css-extract-plugin@npm:2.6.1" dependencies: @@ -22944,6 +22842,17 @@ __metadata: languageName: node linkType: hard +"mini-css-extract-plugin@npm:2.7.1": + version: 2.7.1 + resolution: "mini-css-extract-plugin@npm:2.7.1" + dependencies: + schema-utils: ^4.0.0 + peerDependencies: + webpack: ^5.0.0 + checksum: 0da0db7befa4da5df2293440e540d9414b23b99768bbec4b8dab40c1c961ad31532239635be06c6ca9a6d4cfcb0caeb6dbd19d5e31d3271d734e0a39c3245c23 + languageName: node + linkType: hard + "minimalistic-assert@npm:^1.0.0": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" @@ -23344,13 +23253,13 @@ __metadata: languageName: node linkType: hard -"netlify-cli@npm:12.2.6": - version: 12.2.6 - resolution: "netlify-cli@npm:12.2.6" +"netlify-cli@npm:12.2.8": + version: 12.2.8 + resolution: "netlify-cli@npm:12.2.8" dependencies: - "@netlify/build": ^28.3.1 + "@netlify/build": ^28.4.5 "@netlify/config": ^20.0.2 - "@netlify/edge-bundler": ^4.4.1 + "@netlify/edge-bundler": ^5.0.0 "@netlify/framework-info": ^9.5.2 "@netlify/local-functions-proxy": ^1.1.1 "@netlify/zip-it-and-ship-it": ^8.1.0 @@ -23456,7 +23365,7 @@ __metadata: bin: netlify: bin/run.mjs ntl: bin/run.mjs - checksum: 4984dd34d95d881ed7599cfd07506726ce750b80675cd6cac7aa64bee018d53a73fdcbbb970556b0ec14f9923a0aad6eb4c061fb1c6894d6a27f3a5903f626e9 + checksum: 6c728ce9e0823f8197dc9c3a3edcba44ae879df323716a94c3b473b4848a02fedce20ca73afed71851d385bd2ebaa36e2ce8e6f29d6538e78ad045f47fd81c59 languageName: node linkType: hard @@ -23816,7 +23725,7 @@ __metadata: languageName: node linkType: hard -"normalize-url@npm:^6.0.1, normalize-url@npm:^6.1.0": +"normalize-url@npm:^6.0.1": version: 6.1.0 resolution: "normalize-url@npm:6.1.0" checksum: 4a4944631173e7d521d6b80e4c85ccaeceb2870f315584fa30121f505a6dfd86439c5e3fdd8cd9e0e291290c41d0c3599f0cb12ab356722ed242584c30348e50 @@ -23844,15 +23753,15 @@ __metadata: languageName: node linkType: hard -"npm-package-arg@npm:10.0.0": - version: 10.0.0 - resolution: "npm-package-arg@npm:10.0.0" +"npm-package-arg@npm:10.1.0": + version: 10.1.0 + resolution: "npm-package-arg@npm:10.1.0" dependencies: hosted-git-info: ^6.0.0 proc-log: ^3.0.0 semver: ^7.3.5 validate-npm-package-name: ^5.0.0 - checksum: 5f35870b4786e27358c672820ab6abb9b87e214dc1795aef96f6993ea74b789b27318017650dc4da965c249ee3e66ab9dc1ac12c68e7209dd9afae1ad7e3f0b8 + checksum: 8fe4b6a742502345e4836ed42fdf26c544c9f75563c476c67044a481ada6e81f71b55462489c7e1899d516e4347150e58028036a90fa11d47e320bcc9365fd30 languageName: node linkType: hard @@ -23948,7 +23857,7 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.0, nwsapi@npm:^2.2.2": +"nwsapi@npm:^2.2.2": version: 2.2.2 resolution: "nwsapi@npm:2.2.2" checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205 @@ -23987,7 +23896,7 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0": +"object-inspect@npm:^1.12.0, object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": version: 1.12.2 resolution: "object-inspect@npm:1.12.2" checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 @@ -24022,7 +23931,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.3": +"object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": version: 4.1.4 resolution: "object.assign@npm:4.1.4" dependencies: @@ -24034,35 +23943,35 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.5": - version: 1.1.5 - resolution: "object.entries@npm:1.1.5" +"object.entries@npm:^1.1.6": + version: 1.1.6 + resolution: "object.entries@npm:1.1.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: d658696f74fd222060d8428d2a9fda2ce736b700cb06f6bdf4a16a1892d145afb746f453502b2fa55d1dca8ead6f14ddbcf66c545df45adadea757a6c4cd86c7 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: 0f8c47517e6a9a980241eafe3b73de11e59511883173c2b93d67424a008e47e11b77c80e431ad1d8a806f6108b225a1cab9223e53e555776c612a24297117d28 languageName: node linkType: hard -"object.fromentries@npm:^2.0.5": - version: 2.0.5 - resolution: "object.fromentries@npm:2.0.5" +"object.fromentries@npm:^2.0.6": + version: 2.0.6 + resolution: "object.fromentries@npm:2.0.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 61a0b565ded97b76df9e30b569729866e1824cce902f98e90bb106e84f378aea20163366f66dc75c9000e2aad2ed0caf65c6f530cb2abc4c0c0f6c982102db4b + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: 453c6d694180c0c30df451b60eaf27a5b9bca3fb43c37908fd2b78af895803dc631242bcf05582173afa40d8d0e9c96e16e8874b39471aa53f3ac1f98a085d85 languageName: node linkType: hard -"object.hasown@npm:^1.1.1": - version: 1.1.1 - resolution: "object.hasown@npm:1.1.1" +"object.hasown@npm:^1.1.2": + version: 1.1.2 + resolution: "object.hasown@npm:1.1.2" dependencies: define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: d8ed4907ce57f48b93e3b53c418fd6787bf226a51e8d698c91e39b78e80fe5b124cb6282f6a9d5be21cf9e2c7829ab10206dcc6112b7748860eefe641880c793 + es-abstract: ^1.20.4 + checksum: b936572536db0cdf38eb30afd2f1026a8b6f2cc5d2c4497c9d9bbb01eaf3e980dead4fd07580cfdd098e6383e5a9db8212d3ea0c6bdd2b5e68c60aa7e3b45566 languageName: node linkType: hard @@ -24086,6 +23995,17 @@ __metadata: languageName: node linkType: hard +"object.values@npm:^1.1.6": + version: 1.1.6 + resolution: "object.values@npm:1.1.6" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: f6fff9fd817c24cfd8107f50fb33061d81cd11bacc4e3dbb3852e9ff7692fde4dbce823d4333ea27cd9637ef1b6690df5fbb61f1ed314fa2959598dc3ae23d8e + languageName: node + linkType: hard + "obuf@npm:^1.0.0, obuf@npm:^1.1.2": version: 1.1.2 resolution: "obuf@npm:1.1.2" @@ -24821,15 +24741,12 @@ __metadata: languageName: node linkType: hard -"parse-path@npm:^4.0.0": - version: 4.0.3 - resolution: "parse-path@npm:4.0.3" +"parse-path@npm:^7.0.0": + version: 7.0.0 + resolution: "parse-path@npm:7.0.0" dependencies: - is-ssh: ^1.3.0 - protocols: ^1.4.0 - qs: ^6.9.4 - query-string: ^6.13.8 - checksum: d1704c0027489b64838c608c3f075fe3599c18a7413fa92e7074a0157e5bcc1a4ef73e7ae9bd9dbf5fad1809137437310cc69a57e5f5130ea17226165f3e942a + protocols: ^2.0.0 + checksum: 244b46523a58181d251dda9b888efde35d8afb957436598d948852f416d8c76ddb4f2010f9fc94218b4be3e5c0f716aa0d2026194a781e3b8981924142009302 languageName: node linkType: hard @@ -24842,15 +24759,12 @@ __metadata: languageName: node linkType: hard -"parse-url@npm:^6.0.0": - version: 6.0.0 - resolution: "parse-url@npm:6.0.0" +"parse-url@npm:^8.1.0": + version: 8.1.0 + resolution: "parse-url@npm:8.1.0" dependencies: - is-ssh: ^1.3.0 - normalize-url: ^6.1.0 - parse-path: ^4.0.0 - protocols: ^1.4.0 - checksum: 6b680d1fdfba15fc54106c1130540bf61a415bc3085351b8609a213b2fdf551c53ec8d32703d8ea9b6c5fbf2da92ee1593c99f682032512b15ce87f9013d2a39 + parse-path: ^7.0.0 + checksum: b93e21ab4c93c7d7317df23507b41be7697694d4c94f49ed5c8d6288b01cba328fcef5ba388e147948eac20453dee0df9a67ab2012415189fff85973bdffe8d9 languageName: node linkType: hard @@ -24864,14 +24778,23 @@ __metadata: languageName: node linkType: hard -"parse5@npm:6.0.1, parse5@npm:^6.0.0": +"parse5@npm:7.1.2": + version: 7.1.2 + resolution: "parse5@npm:7.1.2" + dependencies: + entities: ^4.4.0 + checksum: 59465dd05eb4c5ec87b76173d1c596e152a10e290b7abcda1aecf0f33be49646ea74840c69af975d7887543ea45564801736356c568d6b5e71792fd0f4055713 + languageName: node + linkType: hard + +"parse5@npm:^6.0.0": version: 6.0.1 resolution: "parse5@npm:6.0.1" checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd languageName: node linkType: hard -"parse5@npm:7.1.1, parse5@npm:^7.0.0, parse5@npm:^7.1.1": +"parse5@npm:^7.0.0, parse5@npm:^7.1.1": version: 7.1.1 resolution: "parse5@npm:7.1.1" dependencies: @@ -25222,23 +25145,23 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.28.0": - version: 1.28.0 - resolution: "playwright-core@npm:1.28.0" +"playwright-core@npm:1.28.1": + version: 1.28.1 + resolution: "playwright-core@npm:1.28.1" bin: playwright: cli.js - checksum: 4bd13bf83bca37f239f1573fcad7f3b559b3b5e28925f57fa66055446b2aef90c4403f9dbb4a9c34f6bd03a2461e61c97eb7fe5faed6b88f027c0bc3727cd096 + checksum: 8899e0d65de43ee10fadc171e0d48cd514bb574f3505478700094afa8a6e0dcd888a5c87af22acf31ebad455ada1327028909c42e20b8e25908b6255dc143bf0 languageName: node linkType: hard -"playwright@npm:1.28.0": - version: 1.28.0 - resolution: "playwright@npm:1.28.0" +"playwright@npm:1.28.1": + version: 1.28.1 + resolution: "playwright@npm:1.28.1" dependencies: - playwright-core: 1.28.0 + playwright-core: 1.28.1 bin: playwright: cli.js - checksum: c6a50efe0ed3ea92a2b6fe579ef8dcf0ad3dec753e7dbc0dc3c6b3bf4638e7aebb98c3c6046ac97ee851e23d411a15915354528ef90a586296a2f0ad6ad7f780 + checksum: 97c6fff2835878da856bf1f587ec4cdcbcc9aa61c0efcf592633f6df37eabbb9e59d7a2ef994ec9283338e43ef80e278d6d52fed5f7c29abd0408fac0f69b3ca languageName: node linkType: hard @@ -25468,14 +25391,14 @@ __metadata: languageName: node linkType: hard -"postcss-custom-properties@npm:^12.1.9": - version: 12.1.9 - resolution: "postcss-custom-properties@npm:12.1.9" +"postcss-custom-properties@npm:^12.1.10": + version: 12.1.11 + resolution: "postcss-custom-properties@npm:12.1.11" dependencies: postcss-value-parser: ^4.2.0 peerDependencies: postcss: ^8.2 - checksum: db4194665bc104fd05608dd282caa6298870ffe5ca9a6733a9b48f4191fcc1225c8ce08e4c883a0e5eaa7a68daa18f3d7d71690ab74854b37bf0305976256cdf + checksum: 421f9d8d6b9c9066919f39251859232efc4dc5dd406c01e62e08734319a6ccda6d03dd6b46063ba0971053ac6ad3f7abade56d67650b3e370851b2291e8e45e6 languageName: node linkType: hard @@ -25648,16 +25571,16 @@ __metadata: languageName: node linkType: hard -"postcss-import@npm:15.0.0": - version: 15.0.0 - resolution: "postcss-import@npm:15.0.0" +"postcss-import@npm:15.0.1": + version: 15.0.1 + resolution: "postcss-import@npm:15.0.1" dependencies: postcss-value-parser: ^4.0.0 read-cache: ^1.0.0 resolve: ^1.1.7 peerDependencies: postcss: ^8.0.0 - checksum: e5048072514f33520348c0c5aaedb5db92da72188e72a7367c26a8d851b9cf92e56aeda30d9c7b4ed1a34f84a58959da1b4b27b4aa23d41fc0ce36efe00bf1d1 + checksum: c673a0247525b3ad9f29d40605866968f2d2525cd107f287171c3baad496385618419d0e0565a792eefb7192311d54d40b2837409cfe2451371a7ef1d0da5125 languageName: node linkType: hard @@ -25724,7 +25647,21 @@ __metadata: languageName: node linkType: hard -"postcss-loader@npm:7.0.1, postcss-loader@npm:^7.0.0": +"postcss-loader@npm:7.0.2": + version: 7.0.2 + resolution: "postcss-loader@npm:7.0.2" + dependencies: + cosmiconfig: ^7.0.0 + klona: ^2.0.5 + semver: ^7.3.8 + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + checksum: 2d251537d482eb751f812c96c8b515f46d7c9905cad7afab33f0f34872670619b7440cefc9e2babbf89fb11b4708850d522d79fa5ff788227587645e78f16638 + languageName: node + linkType: hard + +"postcss-loader@npm:^7.0.0": version: 7.0.1 resolution: "postcss-loader@npm:7.0.1" dependencies: @@ -26065,11 +26002,11 @@ __metadata: languageName: node linkType: hard -"postcss-preset-env@npm:7.8.2": - version: 7.8.2 - resolution: "postcss-preset-env@npm:7.8.2" +"postcss-preset-env@npm:7.8.3": + version: 7.8.3 + resolution: "postcss-preset-env@npm:7.8.3" dependencies: - "@csstools/postcss-cascade-layers": ^1.1.0 + "@csstools/postcss-cascade-layers": ^1.1.1 "@csstools/postcss-color-function": ^1.1.1 "@csstools/postcss-font-format-keywords": ^1.0.1 "@csstools/postcss-hwb-function": ^1.0.2 @@ -26083,19 +26020,19 @@ __metadata: "@csstools/postcss-text-decoration-shorthand": ^1.0.0 "@csstools/postcss-trigonometric-functions": ^1.0.2 "@csstools/postcss-unset-value": ^1.0.2 - autoprefixer: ^10.4.11 - browserslist: ^4.21.3 + autoprefixer: ^10.4.13 + browserslist: ^4.21.4 css-blank-pseudo: ^3.0.3 css-has-pseudo: ^3.0.4 css-prefers-color-scheme: ^6.0.3 - cssdb: ^7.0.1 + cssdb: ^7.1.0 postcss-attribute-case-insensitive: ^5.0.2 postcss-clamp: ^4.1.0 postcss-color-functional-notation: ^4.2.4 postcss-color-hex-alpha: ^8.0.4 postcss-color-rebeccapurple: ^7.1.1 postcss-custom-media: ^8.0.2 - postcss-custom-properties: ^12.1.9 + postcss-custom-properties: ^12.1.10 postcss-custom-selectors: ^6.0.3 postcss-dir-pseudo-class: ^6.0.5 postcss-double-position-gradients: ^3.1.2 @@ -26120,7 +26057,7 @@ __metadata: postcss-value-parser: ^4.2.0 peerDependencies: postcss: ^8.2 - checksum: ffe86bef475f57cdacb93de79a3ebe372f2d1904a33b715dcb9e9f27980091afb750a7935dcc65ce9bbaa28f9ca34d17a650a3e82f4b8f9d197a694a1a958959 + checksum: 71bfb697ffc55e27895b2bf3a579dd9b4c1321872816091935e33d6f659cab60795a03bb022dc8a4cab48fd5680a419fe9ae5d61a3a3d8c785ec9308f323e787 languageName: node linkType: hard @@ -26203,12 +26140,12 @@ __metadata: languageName: node linkType: hard -"postcss-scss@npm:^4.0.5": - version: 4.0.5 - resolution: "postcss-scss@npm:4.0.5" +"postcss-scss@npm:^4.0.6": + version: 4.0.6 + resolution: "postcss-scss@npm:4.0.6" peerDependencies: - postcss: ^8.3.3 - checksum: 5cba2044db3a57ecec9ac64db28be42e145bae0e1c2e4322ef38674e4302b0854f5e16f91658b2bcff3d0f1dbbfb186a9871f988b16895c51993f431a74ed4db + postcss: ^8.4.19 + checksum: 133a1cba31e2e167f4e841e66ec6a798eaf44c7911f9182ade0b5b1e71a8198814aa390b8c9d5db6b01358115232e5b15b1a4f8c5198acfccfb1f3fdbd328cdf languageName: node linkType: hard @@ -26310,7 +26247,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.19": +"postcss@npm:8.4.19, postcss@npm:^8.4.19": version: 8.4.19 resolution: "postcss@npm:8.4.19" dependencies: @@ -26405,12 +26342,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:2.7.1": - version: 2.7.1 - resolution: "prettier@npm:2.7.1" +"prettier@npm:2.8.0": + version: 2.8.0 + resolution: "prettier@npm:2.8.0" bin: prettier: bin-prettier.js - checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b + checksum: 72004ce0cc9bb097daf3e3833f62495768724392c1d5b178dd47372337616e9e50ecbb0804f236596223f7b5eb1bbe69cefc8957dca21112c5777e77ef73a564 languageName: node linkType: hard @@ -26656,10 +26593,10 @@ __metadata: languageName: node linkType: hard -"protocols@npm:^1.1.0, protocols@npm:^1.4.0": - version: 1.4.8 - resolution: "protocols@npm:1.4.8" - checksum: 2d555c013df0b05402970f67f7207c9955a92b1d13ffa503c814b5fe2f6dde7ac6a03320e0975c1f5832b0113327865e0b3b28bfcad023c25ddb54b53fab8684 +"protocols@npm:^2.0.0, protocols@npm:^2.0.1": + version: 2.0.1 + resolution: "protocols@npm:2.0.1" + checksum: 4a9bef6aa0449a0245ded319ac3cbfd032c3e76ebb562777037a3a832c99253d0e8bc2847f7be350236df620a11f7d4fe683ea7f59a2cc14c69f746b6259eda4 languageName: node linkType: hard @@ -26829,7 +26766,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.11.0, qs@npm:^6.9.4, qs@npm:^6.9.6": +"qs@npm:6.11.0, qs@npm:^6.9.6": version: 6.11.0 resolution: "qs@npm:6.11.0" dependencies: @@ -26856,18 +26793,6 @@ __metadata: languageName: node linkType: hard -"query-string@npm:^6.13.8": - version: 6.14.1 - resolution: "query-string@npm:6.14.1" - dependencies: - decode-uri-component: ^0.2.0 - filter-obj: ^1.1.0 - split-on-first: ^1.0.0 - strict-uri-encode: ^2.0.0 - checksum: f2c7347578fa0f3fd4eaace506470cb4e9dc52d409a7ddbd613f614b9a594d750877e193b5d5e843c7477b3b295b857ec328903c943957adc41a3efb6c929449 - languageName: node - linkType: hard - "querystring@npm:0.2.0": version: 0.2.0 resolution: "querystring@npm:0.2.0" @@ -27108,26 +27033,26 @@ __metadata: languageName: node linkType: hard -"react-hot-loader@npm:^4.13.0": - version: 4.13.0 - resolution: "react-hot-loader@npm:4.13.0" +"react-hot-loader@npm:^4.13.1": + version: 4.13.1 + resolution: "react-hot-loader@npm:4.13.1" dependencies: fast-levenshtein: ^2.0.6 global: ^4.3.0 hoist-non-react-statics: ^3.3.0 - loader-utils: ^1.1.0 + loader-utils: ^2.0.3 prop-types: ^15.6.1 react-lifecycles-compat: ^3.0.4 shallowequal: ^1.1.0 source-map: ^0.7.3 peerDependencies: - "@types/react": "^15.0.0 || ^16.0.0 || ^17.0.0 " - react: "^15.0.0 || ^16.0.0 || ^17.0.0 " - react-dom: "^15.0.0 || ^16.0.0 || ^17.0.0 " + "@types/react": ^15.0.0 || ^16.0.0 || ^17.0.0 + react: ^15.0.0 || ^16.0.0 || ^17.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: effdbf4644ce912ae20ad94be62083970c74b26a59fe24ed0024cf73190a5b3edf59650cb693bdd7b70791df8ab8530de273d73b895c4831a91da8a76683e3a3 + checksum: f90890d5160dcb2bfae4022cba065d8e5c26b86f34c4604cbbdd39f5e4dfd82c05c317bb05ef3d4da2aa0be7e8e205c905daea1af40d3a7ef0d07c3d289da11c languageName: node linkType: hard @@ -27590,7 +27515,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.1, regexp.prototype.flags@npm:^1.4.3": +"regexp.prototype.flags@npm:^1.4.3": version: 1.4.3 resolution: "regexp.prototype.flags@npm:1.4.3" dependencies: @@ -28396,6 +28321,17 @@ __metadata: languageName: node linkType: hard +"safe-regex-test@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-regex-test@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.3 + is-regex: ^1.1.4 + checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 + languageName: node + linkType: hard + "safe-regex@npm:^1.1.0": version: 1.1.0 resolution: "safe-regex@npm:1.1.0" @@ -28477,15 +28413,6 @@ __metadata: languageName: node linkType: hard -"saxes@npm:^5.0.1": - version: 5.0.1 - resolution: "saxes@npm:5.0.1" - dependencies: - xmlchars: ^2.2.0 - checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 - languageName: node - linkType: hard - "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -29324,13 +29251,6 @@ __metadata: languageName: node linkType: hard -"split-on-first@npm:^1.0.0": - version: 1.1.0 - resolution: "split-on-first@npm:1.1.0" - checksum: 16ff85b54ddcf17f9147210a4022529b343edbcbea4ce977c8f30e38408b8d6e0f25f92cd35b86a524d4797f455e29ab89eb8db787f3c10708e0b47ebf528d30 - languageName: node - linkType: hard - "split-string@npm:^3.0.1, split-string@npm:^3.0.2": version: 3.1.0 resolution: "split-string@npm:3.1.0" @@ -29571,13 +29491,6 @@ __metadata: languageName: node linkType: hard -"strict-uri-encode@npm:^2.0.0": - version: 2.0.0 - resolution: "strict-uri-encode@npm:2.0.0" - checksum: eaac4cf978b6fbd480f1092cab8b233c9b949bcabfc9b598dd79a758f7243c28765ef7639c876fa72940dac687181b35486ea01ff7df3e65ce3848c64822c581 - languageName: node - linkType: hard - "string-similarity@npm:^4.0.4": version: 4.0.4 resolution: "string-similarity@npm:4.0.4" @@ -29639,19 +29552,19 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.7": - version: 4.0.7 - resolution: "string.prototype.matchall@npm:4.0.7" +"string.prototype.matchall@npm:^4.0.8": + version: 4.0.8 + resolution: "string.prototype.matchall@npm:4.0.8" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - get-intrinsic: ^1.1.1 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + get-intrinsic: ^1.1.3 has-symbols: ^1.0.3 internal-slot: ^1.0.3 - regexp.prototype.flags: ^1.4.1 + regexp.prototype.flags: ^1.4.3 side-channel: ^1.0.4 - checksum: fc09f3ccbfb325de0472bcc87a6be0598a7499e0b4a31db5789676155b15754a4cc4bb83924f15fc9ed48934dac7366ee52c8b9bd160bed6fd072c93b489e75c + checksum: 952da3a818de42ad1c10b576140a5e05b4de7b34b8d9dbf00c3ac8c1293e9c0f533613a39c5cda53e0a8221f2e710bc2150e730b1c2278d60004a8a35726efb6 languageName: node linkType: hard @@ -30007,14 +29920,14 @@ __metadata: languageName: node linkType: hard -"stylelint@npm:14.14.1": - version: 14.14.1 - resolution: "stylelint@npm:14.14.1" +"stylelint@npm:14.15.0": + version: 14.15.0 + resolution: "stylelint@npm:14.15.0" dependencies: "@csstools/selector-specificity": ^2.0.2 balanced-match: ^2.0.0 colord: ^2.9.3 - cosmiconfig: ^7.0.1 + cosmiconfig: ^7.1.0 css-functions-list: ^3.1.0 debug: ^4.3.4 fast-glob: ^3.2.12 @@ -30034,7 +29947,7 @@ __metadata: micromatch: ^4.0.5 normalize-path: ^3.0.0 picocolors: ^1.0.0 - postcss: ^8.4.18 + postcss: ^8.4.19 postcss-media-query-parser: ^0.2.3 postcss-resolve-nested-selector: ^0.1.1 postcss-safe-parser: ^6.0.0 @@ -30051,7 +29964,7 @@ __metadata: write-file-atomic: ^4.0.2 bin: stylelint: bin/stylelint.js - checksum: be35a419e181ccf31410091d3a92766ffd17c71e8b6dda481343e2c589cbde96be539472783477f7f2907802bd9d79cc8322c3d22fb62c0fbd42fefd4ba66435 + checksum: a3b4593a35a2303987305ca5147ea31e92a47e1994d393be8d1a07a6dc8720b9eee1fed62aafaca618cd8f06e0b3ca601af4fa6618967f1f359ea36ade4c2550 languageName: node linkType: hard @@ -30184,9 +30097,9 @@ __metadata: languageName: node linkType: hard -"syncpack@npm:8.3.9": - version: 8.3.9 - resolution: "syncpack@npm:8.3.9" +"syncpack@npm:8.4.11": + version: 8.4.11 + resolution: "syncpack@npm:8.4.11" dependencies: chalk: 4.1.2 commander: 9.4.1 @@ -30206,7 +30119,7 @@ __metadata: syncpack-list: dist/bin-list/index.js syncpack-list-mismatches: dist/bin-list-mismatches/index.js syncpack-set-semver-ranges: dist/bin-set-semver-ranges/index.js - checksum: 3885f804d444c54d94686425096238db70ea09c4cc17cacd4be5a682f5d3a065be8d3af7b3272e56055be94019024c0fe462a7a2b20d79e571f3c50aab7bf977 + checksum: 13935ce2d594a4b247aa48ecce60c39c01bdf8ceb70d14bc479131428a1e322c1390578b8b14adf52336c06591617cc482dc92de294bca7dffc32442bc90e4ae languageName: node linkType: hard @@ -30882,7 +30795,7 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0, tough-cookie@npm:^4.1.2": +"tough-cookie@npm:^4.1.2": version: 4.1.2 resolution: "tough-cookie@npm:4.1.2" dependencies: @@ -30904,15 +30817,6 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^2.1.0": - version: 2.1.0 - resolution: "tr46@npm:2.1.0" - dependencies: - punycode: ^2.1.1 - checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 - languageName: node - linkType: hard - "tr46@npm:^3.0.0": version: 3.0.0 resolution: "tr46@npm:3.0.0" @@ -30994,9 +30898,9 @@ __metadata: languageName: node linkType: hard -"ts-loader@npm:^9.4.1": - version: 9.4.1 - resolution: "ts-loader@npm:9.4.1" +"ts-loader@npm:^9.4.2": + version: 9.4.2 + resolution: "ts-loader@npm:9.4.2" dependencies: chalk: ^4.1.0 enhanced-resolve: ^5.0.0 @@ -31005,7 +30909,7 @@ __metadata: peerDependencies: typescript: "*" webpack: ^5.0.0 - checksum: b8947f6d396621cc3f6ba8d4c14fa09eba03c4b7eeabbc429481e923a973c244fb80feb44e900f03fc1010755a6bf14fc561c574fb79e324f39b5b6ef1dcca6c + checksum: 6f306ee4c615c2a159fb177561e3fb86ca2cbd6c641e710d408a64b4978e1ff3f2c9733df07bff27d3f82efbfa7c287523d4306049510c7485ac2669a9c37eb0 languageName: node linkType: hard @@ -31183,10 +31087,10 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:3.2.0": - version: 3.2.0 - resolution: "type-fest@npm:3.2.0" - checksum: 2668b62e8df6ae39074c93cb1e2c267c5f8a16d0d1bb693e71f2ea0b80da14eca5442edbcc5609d1099c49a4aaecda960d7fede3d3253b4126d2c6dfeb41b8c3 +"type-fest@npm:3.3.0": + version: 3.3.0 + resolution: "type-fest@npm:3.3.0" + checksum: 6f260466dd1847048bca4481412f39c32fbb69abbe6daf1ead67e682529adfe8ab8f150a9937eddd065fa544eaf92c15e35ebad0f45f46feadcfbd3a87ae5a2d languageName: node linkType: hard @@ -31314,7 +31218,17 @@ __metadata: languageName: node linkType: hard -"typescript@npm:4.8.4, typescript@npm:^4.5.5, typescript@npm:^4.8.4": +"typescript@npm:4.9.3": + version: 4.9.3 + resolution: "typescript@npm:4.9.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 17b8f816050b412403e38d48eef0e893deb6be522d6dc7caf105e54a72e34daf6835c447735fd2b28b66784e72bfbf87f627abb4818a8e43d1fa8106396128dc + languageName: node + linkType: hard + +"typescript@npm:^4.5.5, typescript@npm:^4.8.4": version: 4.8.4 resolution: "typescript@npm:4.8.4" bin: @@ -31324,7 +31238,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@4.8.4#~builtin, typescript@patch:typescript@^4.5.5#~builtin, typescript@patch:typescript@^4.8.4#~builtin": +"typescript@patch:typescript@4.9.3#~builtin": + version: 4.9.3 + resolution: "typescript@patch:typescript@npm%3A4.9.3#~builtin::version=4.9.3&hash=701156" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: ef65c22622d864497d0a0c5db693523329b3284c15fe632e93ad9aa059e8dc38ef3bd767d6f26b1e5ecf9446f49bd0f6c4e5714a2eeaf352805dc002479843d1 + languageName: node + linkType: hard + +"typescript@patch:typescript@^4.5.5#~builtin, typescript@patch:typescript@^4.8.4#~builtin": version: 4.8.4 resolution: "typescript@patch:typescript@npm%3A4.8.4#~builtin::version=4.8.4&hash=701156" bin: @@ -32153,15 +32077,14 @@ __metadata: languageName: node linkType: hard -"verdaccio@npm:5.16.3": - version: 5.16.3 - resolution: "verdaccio@npm:5.16.3" +"verdaccio@npm:5.18.0": + version: 5.18.0 + resolution: "verdaccio@npm:5.18.0" dependencies: "@verdaccio/commons-api": 10.2.0 "@verdaccio/local-storage": 10.3.1 - "@verdaccio/readme": 10.4.2 "@verdaccio/streams": 10.2.0 - "@verdaccio/ui-theme": 6.0.0-6-next.50 + "@verdaccio/ui-theme": 6.0.0-6-next.51 JSONStream: 1.3.5 async: 3.2.4 body-parser: 1.20.1 @@ -32201,7 +32124,7 @@ __metadata: verdaccio-htpasswd: 10.5.1 bin: verdaccio: bin/verdaccio - checksum: a6955f787daf12a2319ab8f7c8d61fd20ec56b43fb4c2f3de1533b45ee17c20f691f20457c6f2fe05b5b8f6d902d42279bfa3447e15425ea972bf994f725e502 + checksum: f54fc545bb0e39ccc5e10b600ede60bacc9f7076b684f5f026b606efd8f2546cd5c093a1e15a21cc79bdde0f4a94c218fb8b8c09668cb2705f6b5fc70bee1880 languageName: node linkType: hard @@ -32347,47 +32270,9 @@ __metadata: languageName: node linkType: hard -"vitest@npm:0.24.5": - version: 0.24.5 - resolution: "vitest@npm:0.24.5" - dependencies: - "@types/chai": ^4.3.3 - "@types/chai-subset": ^1.3.3 - "@types/node": "*" - chai: ^4.3.6 - debug: ^4.3.4 - local-pkg: ^0.4.2 - strip-literal: ^0.4.2 - tinybench: ^2.3.1 - tinypool: ^0.3.0 - tinyspy: ^1.0.2 - vite: ^3.0.0 - peerDependencies: - "@edge-runtime/vm": "*" - "@vitest/browser": "*" - "@vitest/ui": "*" - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - bin: - vitest: vitest.mjs - checksum: 801d153082ec9d237d8720783dc939aa8c8a4cdd71625ddac997f99a98664b055a0e3efbcb3af648d44f0b8b80c014d48150b2c281870023628c1bdffa336d08 - languageName: node - linkType: hard - -"vitest@npm:0.25.2": - version: 0.25.2 - resolution: "vitest@npm:0.25.2" +"vitest@npm:0.25.3": + version: 0.25.3 + resolution: "vitest@npm:0.25.3" dependencies: "@types/chai": ^4.3.3 "@types/chai-subset": ^1.3.3 @@ -32422,7 +32307,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: f41fe7c2c1fe8142ceb90f4d4bebca90c62615c168ff82ea5e797affb8cfd78a49c8900f6d9c552e0da1208961750b6cc705113ad99315e69afba5cd3fdef794 + checksum: cd54de758f41295ef8a5304318b0de37f3182ec9b179d983cb0199dac89d51b80ee30124754703ef77ce4a1b675f3b02094ef96790889d5c9212dbab7490b4d0 languageName: node linkType: hard @@ -32501,24 +32386,6 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" - dependencies: - browser-process-hrtime: ^1.0.0 - checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^2.0.0": - version: 2.0.0 - resolution: "w3c-xmlserializer@npm:2.0.0" - dependencies: - xml-name-validator: ^3.0.0 - checksum: ae25c51cf71f1fb2516df1ab33a481f83461a117565b95e3d0927432522323f93b1b2846cbb60196d337970c421adb604fc2d0d180c6a47a839da01db5b9973b - languageName: node - linkType: hard - "w3c-xmlserializer@npm:^3.0.0": version: 3.0.0 resolution: "w3c-xmlserializer@npm:3.0.0" @@ -32612,20 +32479,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^5.0.0": - version: 5.0.0 - resolution: "webidl-conversions@npm:5.0.0" - checksum: ccf1ec2ca7c0b5671e5440ace4a66806ae09c49016ab821481bec0c05b1b82695082dc0a27d1fe9d804d475a408ba0c691e6803fd21be608e710955d4589cd69 - languageName: node - linkType: hard - -"webidl-conversions@npm:^6.1.0": - version: 6.1.0 - resolution: "webidl-conversions@npm:6.1.0" - checksum: 1f526507aa491f972a0c1409d07f8444e1d28778dfa269a9971f2e157182f3d496dc33296e4ed45b157fdb3bf535bb90c90bf10c50dcf1dd6caacb2a34cc84fb - languageName: node - linkType: hard - "webidl-conversions@npm:^7.0.0": version: 7.0.0 resolution: "webidl-conversions@npm:7.0.0" @@ -32652,33 +32505,33 @@ __metadata: languageName: node linkType: hard -"webpack-dev-middleware@npm:*, webpack-dev-middleware@npm:^5.3.1": - version: 5.3.3 - resolution: "webpack-dev-middleware@npm:5.3.3" +"webpack-dev-middleware@npm:6.0.1": + version: 6.0.1 + resolution: "webpack-dev-middleware@npm:6.0.1" dependencies: colorette: ^2.0.10 - memfs: ^3.4.3 + memfs: ^3.4.12 mime-types: ^2.1.31 range-parser: ^1.2.1 schema-utils: ^4.0.0 peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: dd332cc6da61222c43d25e5a2155e23147b777ff32fdf1f1a0a8777020c072fbcef7756360ce2a13939c3f534c06b4992a4d659318c4a7fe2c0530b52a8a6621 + webpack: ^5.0.0 + checksum: eeda09cf4a1fdb09ee95f96ab657b0fb8d32c56f4d20c7f4499457a015c703f243711fda0b5bc0d103ff9e7c7b9b60568210a4c0fbd6d02361d09d2387cd723a languageName: node linkType: hard -"webpack-dev-middleware@npm:6.0.1": - version: 6.0.1 - resolution: "webpack-dev-middleware@npm:6.0.1" +"webpack-dev-middleware@npm:^5.3.1": + version: 5.3.3 + resolution: "webpack-dev-middleware@npm:5.3.3" dependencies: colorette: ^2.0.10 - memfs: ^3.4.12 + memfs: ^3.4.3 mime-types: ^2.1.31 range-parser: ^1.2.1 schema-utils: ^4.0.0 peerDependencies: - webpack: ^5.0.0 - checksum: eeda09cf4a1fdb09ee95f96ab657b0fb8d32c56f4d20c7f4499457a015c703f243711fda0b5bc0d103ff9e7c7b9b60568210a4c0fbd6d02361d09d2387cd723a + webpack: ^4.0.0 || ^5.0.0 + checksum: dd332cc6da61222c43d25e5a2155e23147b777ff32fdf1f1a0a8777020c072fbcef7756360ce2a13939c3f534c06b4992a4d659318c4a7fe2c0530b52a8a6621 languageName: node linkType: hard @@ -32885,15 +32738,6 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^1.0.5": - version: 1.0.5 - resolution: "whatwg-encoding@npm:1.0.5" - dependencies: - iconv-lite: 0.4.24 - checksum: 5be4efe111dce29ddee3448d3915477fcc3b28f991d9cf1300b4e50d6d189010d47bca2f51140a844cf9b726e8f066f4aee72a04d687bfe4f2ee2767b2f5b1e6 - languageName: node - linkType: hard - "whatwg-encoding@npm:^2.0.0": version: 2.0.0 resolution: "whatwg-encoding@npm:2.0.0" @@ -32903,13 +32747,6 @@ __metadata: languageName: node linkType: hard -"whatwg-mimetype@npm:^2.3.0": - version: 2.3.0 - resolution: "whatwg-mimetype@npm:2.3.0" - checksum: 23eb885940bcbcca4ff841c40a78e9cbb893ec42743993a42bf7aed16085b048b44b06f3402018931687153550f9a32d259dfa524e4f03577ab898b6965e5383 - languageName: node - linkType: hard - "whatwg-mimetype@npm:^3.0.0": version: 3.0.0 resolution: "whatwg-mimetype@npm:3.0.0" @@ -32937,17 +32774,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": - version: 8.7.0 - resolution: "whatwg-url@npm:8.7.0" - dependencies: - lodash: ^4.7.0 - tr46: ^2.1.0 - webidl-conversions: ^6.1.0 - checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e - languageName: node - linkType: hard - "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -33168,7 +32994,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7, ws@npm:^7.0.0, ws@npm:^7.3.1, ws@npm:^7.4.6, ws@npm:^7.5.5": +"ws@npm:^7, ws@npm:^7.0.0, ws@npm:^7.3.1, ws@npm:^7.5.5": version: 7.5.9 resolution: "ws@npm:7.5.9" peerDependencies: @@ -33248,13 +33074,6 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^3.0.0": - version: 3.0.0 - resolution: "xml-name-validator@npm:3.0.0" - checksum: b3ac459afed783c285bb98e4960bd1f3ba12754fd4f2320efa0f9181ca28928c53cc75ca660d15d205e81f92304419afe94c531c7cfb3e0649aa6d140d53ecb0 - languageName: node - linkType: hard - "xml-name-validator@npm:^4.0.0": version: 4.0.0 resolution: "xml-name-validator@npm:4.0.0"