From 6ca808bfae8848f29d3188b77c1bad6c0cebbda7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=ADcholas=20Oliveira?= Date: Mon, 6 May 2024 12:12:53 -0300 Subject: [PATCH 01/16] update lock file --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index f91886d8..4991d755 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26827,7 +26827,7 @@ }, "packages/toolkit": { "name": "10up-toolkit", - "version": "6.1.0-next.0", + "version": "6.1.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/eslint-parser": "^7.23.3", @@ -28297,7 +28297,7 @@ "@linaria/babel-preset": "^5.0.3", "@linaria/webpack-loader": "^5.0.3", "@wordpress/env": "^5.0.0", - "10up-toolkit": "^6.1.0-next.0" + "10up-toolkit": "^6.1.0" }, "engines": { "node": ">=12.0.0" @@ -28314,7 +28314,7 @@ "@testing-library/dom": "9.3.3", "@testing-library/jest-dom": "^6.2.0", "@testing-library/user-event": "^14.5.2", - "10up-toolkit": "^6.1.0-next.0", + "10up-toolkit": "^6.1.0", "jest-axe": "^8.0.0", "jest-environment-jsdom": "~29.7.0" } @@ -28327,7 +28327,7 @@ "xss": "^1.0.11" }, "devDependencies": { - "10up-toolkit": "^6.1.0-next.0" + "10up-toolkit": "^6.1.0" } }, "projects/library/node_modules/@jest/console": { From 5ddee2c8683471d9bba380e51b638ddac3c4b24d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=ADcholas=20Andr=C3=A9?= Date: Wed, 22 May 2024 08:33:19 -0300 Subject: [PATCH 02/16] =?UTF-8?q?feat:=20=20Update=20eslint=20rule=20for?= =?UTF-8?q?=20typescript=20to=20use=20default=20arguments=20for=E2=80=A6?= =?UTF-8?q?=20(#395)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/hip-toys-learn.md | 5 +++++ packages/eslint-config/config/react.js | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 .changeset/hip-toys-learn.md diff --git a/.changeset/hip-toys-learn.md b/.changeset/hip-toys-learn.md new file mode 100644 index 00000000..59492e4a --- /dev/null +++ b/.changeset/hip-toys-learn.md @@ -0,0 +1,5 @@ +--- +"@10up/eslint-config": minor +--- + +Update eslint rule for typescript to use default arguments for default props. diff --git a/packages/eslint-config/config/react.js b/packages/eslint-config/config/react.js index 68ec3ff4..5803ff6c 100644 --- a/packages/eslint-config/config/react.js +++ b/packages/eslint-config/config/react.js @@ -34,6 +34,8 @@ module.exports = { files: ['*.ts', '*.tsx'], rules: { 'react/prop-types': 0, + 'react/require-default-props': ['error', { functions: 'defaultArguments' }], + 'jsdoc/require-returns-type': 'off', }, }, ], From f84d12a5be476ccdd446eaea6818fa7a7299ff28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=ADcholas=20Oliveira?= Date: Thu, 23 May 2024 11:48:15 -0300 Subject: [PATCH 03/16] fix peers deps in toolkit --- packages/toolkit/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/toolkit/package.json b/packages/toolkit/package.json index f10528be..61e0a392 100644 --- a/packages/toolkit/package.json +++ b/packages/toolkit/package.json @@ -74,9 +74,9 @@ "@10up/stylelint-config": ">=3.0.0" }, "peerDependencies": { - "@10up/babel-preset-default": "^2.1.1", - "@10up/eslint-config": "^4.0.0", - "@10up/stylelint-config": "^3.0.0", + "@10up/babel-preset-default": ">=2.1.1", + "@10up/eslint-config": ">=4.0.0", + "@10up/stylelint-config": ">=3.0.0", "@linaria/babel-preset": ">=4.3.3", "@linaria/webpack-loader": ">=4.1.11", "typescript": ">=5.0.0" From dba15345bd4022a85c5e803cbe0de78e8db01cd9 Mon Sep 17 00:00:00 2001 From: Taylor Lovett Date: Thu, 23 May 2024 21:31:18 -0400 Subject: [PATCH 04/16] Project command (#387) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Nícholas André --- .changeset/fifty-ants-call.md | 5 + .editorconfig | 5 + package-lock.json | 763 +++++++++--------- packages/toolkit/.gitignore | 1 + packages/toolkit/PROJECTS.md | 100 +++ packages/toolkit/README.md | 30 +- packages/toolkit/package.json | 6 +- .../toolkit/project/default-variables.json | 10 + .../toolkit/project/deploy-file-excludes.txt | 70 ++ .../toolkit/project/gitlab/.gitlab-ci.tmpl | 47 ++ .../deploy-configs/pantheon-production.tmpl | 14 + .../deploy-configs/pantheon-staging.tmpl | 14 + .../deploy-configs/rsync-production.tmpl | 13 + .../gitlab/deploy-configs/rsync-staging.tmpl | 13 + .../gitlab/deploy-configs/wpe-production.tmpl | 16 + .../gitlab/deploy-configs/wpe-staging.tmpl | 12 + packages/toolkit/project/local/.tenup.yml | 18 + .../toolkit/project/local/scripts/build.sh | 6 + packages/toolkit/scripts/project.js | 1 + .../scripts/project/bash/build-setup.sh | 11 + .../scripts/project/bash/create-payload.sh | 20 + packages/toolkit/scripts/project/bash/init.sh | 93 +++ packages/toolkit/scripts/project/build.js | 40 + .../toolkit/scripts/project/create-payload.js | 62 ++ .../toolkit/scripts/project/generate-ci.js | 121 +++ packages/toolkit/scripts/project/index.js | 33 + packages/toolkit/scripts/project/init.js | 145 ++++ packages/toolkit/utils/index.js | 15 + packages/toolkit/utils/package.js | 9 +- packages/toolkit/utils/project.js | 165 ++++ 30 files changed, 1462 insertions(+), 396 deletions(-) create mode 100644 .changeset/fifty-ants-call.md create mode 100644 packages/toolkit/PROJECTS.md create mode 100644 packages/toolkit/project/default-variables.json create mode 100644 packages/toolkit/project/deploy-file-excludes.txt create mode 100644 packages/toolkit/project/gitlab/.gitlab-ci.tmpl create mode 100644 packages/toolkit/project/gitlab/deploy-configs/pantheon-production.tmpl create mode 100644 packages/toolkit/project/gitlab/deploy-configs/pantheon-staging.tmpl create mode 100644 packages/toolkit/project/gitlab/deploy-configs/rsync-production.tmpl create mode 100644 packages/toolkit/project/gitlab/deploy-configs/rsync-staging.tmpl create mode 100644 packages/toolkit/project/gitlab/deploy-configs/wpe-production.tmpl create mode 100644 packages/toolkit/project/gitlab/deploy-configs/wpe-staging.tmpl create mode 100644 packages/toolkit/project/local/.tenup.yml create mode 100644 packages/toolkit/project/local/scripts/build.sh create mode 100644 packages/toolkit/scripts/project.js create mode 100644 packages/toolkit/scripts/project/bash/build-setup.sh create mode 100644 packages/toolkit/scripts/project/bash/create-payload.sh create mode 100644 packages/toolkit/scripts/project/bash/init.sh create mode 100644 packages/toolkit/scripts/project/build.js create mode 100644 packages/toolkit/scripts/project/create-payload.js create mode 100644 packages/toolkit/scripts/project/generate-ci.js create mode 100644 packages/toolkit/scripts/project/index.js create mode 100644 packages/toolkit/scripts/project/init.js create mode 100644 packages/toolkit/utils/project.js diff --git a/.changeset/fifty-ants-call.md b/.changeset/fifty-ants-call.md new file mode 100644 index 00000000..33d41501 --- /dev/null +++ b/.changeset/fifty-ants-call.md @@ -0,0 +1,5 @@ +--- +"10up-toolkit": patch +--- + +Project Command (BETA) diff --git a/.editorconfig b/.editorconfig index 0329a0fb..b43df407 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,3 +6,8 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true end_of_line = lf + +[*.{yml}] +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true diff --git a/package-lock.json b/package-lock.json index 4991d755..c76e482f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,8 +26,7 @@ }, "node_modules/@10up/block-components": { "version": "1.18.0", - "resolved": "https://registry.npmjs.org/@10up/block-components/-/block-components-1.18.0.tgz", - "integrity": "sha512-pp+bDDJ1ewC8TwLGgM3aFaNA/X6/t03eRDiTLgAjVIp6j3f1cF5DnU98lK/xoTDPQJP+erQy6U0r+FoZm0O8GA==", + "license": "GPL-2.0-or-later", "workspaces": [ "./", "example/" @@ -103,8 +102,7 @@ }, "node_modules/@babel/core": { "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", - "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.23.5", @@ -466,8 +464,7 @@ }, "node_modules/@babel/helpers": { "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", - "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", + "license": "MIT", "dependencies": { "@babel/template": "^7.23.9", "@babel/traverse": "^7.23.9", @@ -491,8 +488,7 @@ }, "node_modules/@babel/parser": { "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -1737,8 +1733,7 @@ }, "node_modules/@babel/template": { "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", - "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.23.5", "@babel/parser": "^7.23.9", @@ -1750,8 +1745,7 @@ }, "node_modules/@babel/traverse": { "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", - "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.23.5", "@babel/generator": "^7.23.6", @@ -1770,8 +1764,7 @@ }, "node_modules/@babel/types": { "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", - "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -2026,8 +2019,6 @@ }, "node_modules/@csstools/cascade-layer-name-parser": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.7.tgz", - "integrity": "sha512-9J4aMRJ7A2WRjaRLvsMeWrL69FmEuijtiW1XlK/sG+V0UJiHVYUyvj9mY4WAXfU/hGIiGOgL8e0jJcRyaZTjDQ==", "funding": [ { "type": "github", @@ -2038,6 +2029,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2048,8 +2040,6 @@ }, "node_modules/@csstools/color-helpers": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.0.0.tgz", - "integrity": "sha512-wjyXB22/h2OvxAr3jldPB7R7kjTUEzopvjitS8jWtyd8fN6xJ8vy1HnHu0ZNfEkqpBJgQ76Q+sBDshWcMvTa/w==", "funding": [ { "type": "github", @@ -2060,14 +2050,13 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" } }, "node_modules/@csstools/css-calc": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.1.6.tgz", - "integrity": "sha512-YHPAuFg5iA4qZGzMzvrQwzkvJpesXXyIUyaONflQrjtHB+BcFFbgltJkIkb31dMGO4SE9iZFA4HYpdk7+hnYew==", "funding": [ { "type": "github", @@ -2078,6 +2067,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2088,8 +2078,6 @@ }, "node_modules/@csstools/css-color-parser": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.5.1.tgz", - "integrity": "sha512-x+SajGB2paGrTjPOUorGi8iCztF008YMKXTn+XzGVDBEIVJ/W1121pPerpneJYGOe1m6zWLPLnzOPaznmQxKFw==", "funding": [ { "type": "github", @@ -2100,6 +2088,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "dependencies": { "@csstools/color-helpers": "^4.0.0", "@csstools/css-calc": "^1.1.6" @@ -2172,8 +2161,6 @@ }, "node_modules/@csstools/postcss-cascade-layers": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.2.tgz", - "integrity": "sha512-PqM+jvg5T2tB4FHX+akrMGNWAygLupD4FNUjcv4PSvtVuWZ6ISxuo37m4jFGU7Jg3rCfloGzKd0+xfr5Ec3vZQ==", "funding": [ { "type": "github", @@ -2184,6 +2171,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/selector-specificity": "^3.0.1", "postcss-selector-parser": "^6.0.13" @@ -2197,8 +2185,6 @@ }, "node_modules/@csstools/postcss-color-function": { "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.9.tgz", - "integrity": "sha512-6Hbkw/4k73UH121l4LG+LNLKSvrfHqk3GHHH0A6/iFlD0xGmsWAr80Jd0VqXjfYbUTOGmJTOMMoxv3jvNxt1uw==", "funding": [ { "type": "github", @@ -2209,6 +2195,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-color-parser": "^1.5.1", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2224,8 +2211,6 @@ }, "node_modules/@csstools/postcss-color-mix-function": { "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.9.tgz", - "integrity": "sha512-fs1SOWJ/44DQSsDeJP+rxAkP2MYkCg6K4ZB8qJwFku2EjurgCAPiPZJvC6w94T1hBBinJwuMfT9qvvvniXyVgw==", "funding": [ { "type": "github", @@ -2236,6 +2221,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-color-parser": "^1.5.1", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2251,8 +2237,6 @@ }, "node_modules/@csstools/postcss-exponential-functions": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.3.tgz", - "integrity": "sha512-IfGtEg3eC4b8Nd/kPgO3SxgKb33YwhHVsL0eJ3UYihx6fzzAiZwNbWmVW9MZTQjZ5GacgKxa4iAHikGvpwuIjw==", "funding": [ { "type": "github", @@ -2263,6 +2247,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-calc": "^1.1.6", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2277,8 +2262,6 @@ }, "node_modules/@csstools/postcss-font-format-keywords": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.1.tgz", - "integrity": "sha512-D1lcG2sfotTq6yBEOMV3myFxJLT10F3DLYZJMbiny5YToqzHWodZen8WId3UTimm0mEHitXqAUNL5jdd6RzVdA==", "funding": [ { "type": "github", @@ -2289,6 +2272,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2301,8 +2285,6 @@ }, "node_modules/@csstools/postcss-gamut-mapping": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.2.tgz", - "integrity": "sha512-zf9KHGM2PTuJEm4ZYg4DTmzCir38EbZBzlMPMbA4jbhLDqXHkqwnQ+Z5+UNrU8y6seVu5B4vzZmZarTFQwe+Ig==", "funding": [ { "type": "github", @@ -2313,6 +2295,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-color-parser": "^1.5.1", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2327,8 +2310,6 @@ }, "node_modules/@csstools/postcss-global-data": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-global-data/-/postcss-global-data-2.1.1.tgz", - "integrity": "sha512-tihdBLogY2G5jgUSu2jKSEVeOcnWqsz6k7UmPM7+ezhuV9FP5MIyX35Hc/YvqipQLRNsfBj9wRkBvsE7k1GM8A==", "funding": [ { "type": "github", @@ -2339,6 +2320,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2348,8 +2330,6 @@ }, "node_modules/@csstools/postcss-gradients-interpolation-method": { "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.9.tgz", - "integrity": "sha512-PSqR6QH7h3ggOl8TsoH73kbwYTKVQjAJauGg6nDKwaGfi5IL5StV//ehrv1C7HuPsHixMTc9YoAuuv1ocT20EQ==", "funding": [ { "type": "github", @@ -2360,6 +2340,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-color-parser": "^1.5.1", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2375,8 +2356,6 @@ }, "node_modules/@csstools/postcss-hwb-function": { "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.8.tgz", - "integrity": "sha512-CRQEG372Hivmt17rm/Ho22hBQI9K/a6grzGQ21Zwc7dyspmyG0ibmPIW8hn15vJmXqWGeNq7S+L2b8/OrU7O5A==", "funding": [ { "type": "github", @@ -2387,6 +2366,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-color-parser": "^1.5.1", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2401,8 +2381,6 @@ }, "node_modules/@csstools/postcss-ic-unit": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.3.tgz", - "integrity": "sha512-MpcmIL0/uMm/cFWh5V/9nbKKJ7jRr2qTYW5Q6zoE6HZ6uzOBJr2KRERv5/x8xzEBQ1MthDT7iP1EBp9luSQy7g==", "funding": [ { "type": "github", @@ -2413,6 +2391,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^3.0.3", "postcss-value-parser": "^4.2.0" @@ -2426,8 +2405,6 @@ }, "node_modules/@csstools/postcss-initial": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.1.tgz", - "integrity": "sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg==", "funding": [ { "type": "github", @@ -2438,6 +2415,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2447,8 +2425,6 @@ }, "node_modules/@csstools/postcss-is-pseudo-class": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.4.tgz", - "integrity": "sha512-vTVO/uZixpTVAOQt3qZRUFJ/K1L03OfNkeJ8sFNDVNdVy/zW0h1L5WT7HIPMDUkvSrxQkFaCCybTZkUP7UESlQ==", "funding": [ { "type": "github", @@ -2459,6 +2435,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/selector-specificity": "^3.0.1", "postcss-selector-parser": "^6.0.13" @@ -2472,8 +2449,6 @@ }, "node_modules/@csstools/postcss-logical-float-and-clear": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.1.tgz", - "integrity": "sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA==", "funding": [ { "type": "github", @@ -2484,6 +2459,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2493,8 +2469,6 @@ }, "node_modules/@csstools/postcss-logical-overflow": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.1.tgz", - "integrity": "sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw==", "funding": [ { "type": "github", @@ -2505,6 +2479,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2514,8 +2489,6 @@ }, "node_modules/@csstools/postcss-logical-overscroll-behavior": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.1.tgz", - "integrity": "sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ==", "funding": [ { "type": "github", @@ -2526,6 +2499,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2535,8 +2509,6 @@ }, "node_modules/@csstools/postcss-logical-resize": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.1.tgz", - "integrity": "sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A==", "funding": [ { "type": "github", @@ -2547,6 +2519,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2559,8 +2532,6 @@ }, "node_modules/@csstools/postcss-logical-viewport-units": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.5.tgz", - "integrity": "sha512-2fjSamKN635DSW6fEoyNd2Bkpv3FVblUpgk5cpghIgPW1aDHZE2SYfZK5xQALvjMYZVjfqsD5EbXA7uDVBQVQA==", "funding": [ { "type": "github", @@ -2571,6 +2542,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-tokenizer": "^2.2.3" }, @@ -2583,8 +2555,6 @@ }, "node_modules/@csstools/postcss-media-minmax": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.2.tgz", - "integrity": "sha512-7qTRTJxW96u2yiEaTep1+8nto1O/rEDacewKqH+Riq5E6EsHTOmGHxkB4Se5Ic5xgDC4I05lLZxzzxnlnSypxA==", "funding": [ { "type": "github", @@ -2595,6 +2565,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "dependencies": { "@csstools/css-calc": "^1.1.6", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2610,8 +2581,6 @@ }, "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.5.tgz", - "integrity": "sha512-XHMPasWYPWa9XaUHXU6Iq0RLfoAI+nvGTPj51hOizNsHaAyFiq2SL4JvF1DU8lM6B70+HVzKM09Isbyrr755Bw==", "funding": [ { "type": "github", @@ -2622,6 +2591,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-parser-algorithms": "^2.5.0", "@csstools/css-tokenizer": "^2.2.3", @@ -2636,8 +2606,6 @@ }, "node_modules/@csstools/postcss-nested-calc": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.1.tgz", - "integrity": "sha512-bwwababZpWRm0ByHaWBxTsDGTMhZKmtUNl3Wt0Eom8AY7ORgXx5qF9SSk1vEFrCi+HOfJT6M6W5KPgzXuQNRwQ==", "funding": [ { "type": "github", @@ -2648,6 +2616,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2660,8 +2629,6 @@ }, "node_modules/@csstools/postcss-normalize-display-values": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.2.tgz", - "integrity": "sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw==", "funding": [ { "type": "github", @@ -2672,6 +2639,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2684,8 +2652,6 @@ }, "node_modules/@csstools/postcss-oklab-function": { "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.9.tgz", - "integrity": "sha512-l639gpcBfL3ogJe+og1M5FixQn8iGX8+29V7VtTSCUB37VzpzOC05URfde7INIdiJT65DkHzgdJ64/QeYggU8A==", "funding": [ { "type": "github", @@ -2696,6 +2662,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-color-parser": "^1.5.1", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2711,8 +2678,6 @@ }, "node_modules/@csstools/postcss-progressive-custom-properties": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.0.3.tgz", - "integrity": "sha512-WipTVh6JTMQfeIrzDV4wEPsV9NTzMK2jwXxyH6CGBktuWdivHnkioP/smp1x/0QDPQyx7NTS14RB+GV3zZZYEw==", "funding": [ { "type": "github", @@ -2723,6 +2688,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2735,8 +2701,6 @@ }, "node_modules/@csstools/postcss-relative-color-syntax": { "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.9.tgz", - "integrity": "sha512-2UoaRd2iIuzUGtYgteN5fJ0s+OfCiV7PvCnw8MCh3om8+SeVinfG8D5sqBOvImxFVfrp6k60XF5RFlH6oc//fg==", "funding": [ { "type": "github", @@ -2747,6 +2711,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-color-parser": "^1.5.1", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2762,8 +2727,6 @@ }, "node_modules/@csstools/postcss-scope-pseudo-class": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.1.tgz", - "integrity": "sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A==", "funding": [ { "type": "github", @@ -2774,6 +2737,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-selector-parser": "^6.0.13" }, @@ -2786,8 +2750,6 @@ }, "node_modules/@csstools/postcss-stepped-value-functions": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.4.tgz", - "integrity": "sha512-gyNQ2YaOVXPqLR737XtReRPVu7DGKBr9JBDLoiH1T+N1ggV3r4HotRCOC1l6rxVC0zOuU1KiOzUn9Z5W838/rg==", "funding": [ { "type": "github", @@ -2798,6 +2760,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-calc": "^1.1.6", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2812,8 +2775,6 @@ }, "node_modules/@csstools/postcss-text-decoration-shorthand": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.4.tgz", - "integrity": "sha512-yUZmbnUemgQmja7SpOZeU45+P49wNEgQguRdyTktFkZsHf7Gof+ZIYfvF6Cm+LsU1PwSupy4yUeEKKjX5+k6cQ==", "funding": [ { "type": "github", @@ -2824,6 +2785,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/color-helpers": "^4.0.0", "postcss-value-parser": "^4.2.0" @@ -2837,8 +2799,6 @@ }, "node_modules/@csstools/postcss-trigonometric-functions": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.4.tgz", - "integrity": "sha512-qj4Cxth6c38iNYzfJJWAxt8jsLrZaMVmbfGDDLOlI2YJeZoC3A5Su6/Kr7oXaPFRuspUu+4EQHngOktqVHWfVg==", "funding": [ { "type": "github", @@ -2849,6 +2809,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-calc": "^1.1.6", "@csstools/css-parser-algorithms": "^2.5.0", @@ -2863,8 +2824,6 @@ }, "node_modules/@csstools/postcss-unset-value": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.1.tgz", - "integrity": "sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg==", "funding": [ { "type": "github", @@ -2875,6 +2834,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2884,8 +2844,6 @@ }, "node_modules/@csstools/selector-specificity": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.1.tgz", - "integrity": "sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==", "funding": [ { "type": "github", @@ -2896,6 +2854,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2912,8 +2871,7 @@ }, "node_modules/@dnd-kit/accessibility": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz", - "integrity": "sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==", + "license": "MIT", "dependencies": { "tslib": "^2.0.0" }, @@ -2923,8 +2881,7 @@ }, "node_modules/@dnd-kit/core": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.1.0.tgz", - "integrity": "sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==", + "license": "MIT", "dependencies": { "@dnd-kit/accessibility": "^3.1.0", "@dnd-kit/utilities": "^3.2.2", @@ -2937,8 +2894,7 @@ }, "node_modules/@dnd-kit/modifiers": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@dnd-kit/modifiers/-/modifiers-6.0.1.tgz", - "integrity": "sha512-rbxcsg3HhzlcMHVHWDuh9LCjpOVAgqbV78wLGI8tziXY3+qcMQ61qVXIvNKQFuhj75dSfD+o+PYZQ/NUk2A23A==", + "license": "MIT", "dependencies": { "@dnd-kit/utilities": "^3.2.1", "tslib": "^2.0.0" @@ -2950,8 +2906,7 @@ }, "node_modules/@dnd-kit/sortable": { "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@dnd-kit/sortable/-/sortable-7.0.2.tgz", - "integrity": "sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==", + "license": "MIT", "dependencies": { "@dnd-kit/utilities": "^3.2.0", "tslib": "^2.0.0" @@ -2963,8 +2918,7 @@ }, "node_modules/@dnd-kit/utilities": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", - "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.0" }, @@ -3233,16 +3187,14 @@ }, "node_modules/@floating-ui/core": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", - "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "license": "MIT", "dependencies": { "@floating-ui/utils": "^0.2.1" } }, "node_modules/@floating-ui/dom": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", - "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "license": "MIT", "dependencies": { "@floating-ui/core": "^1.0.0", "@floating-ui/utils": "^0.2.0" @@ -3250,8 +3202,7 @@ }, "node_modules/@floating-ui/react-dom": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", - "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "license": "MIT", "dependencies": { "@floating-ui/dom": "^1.2.1" }, @@ -3262,8 +3213,7 @@ }, "node_modules/@floating-ui/utils": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", - "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + "license": "MIT" }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.13", @@ -4351,8 +4301,7 @@ }, "node_modules/@leeoniya/ufuzzy": { "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@leeoniya/ufuzzy/-/ufuzzy-1.0.14.tgz", - "integrity": "sha512-/xF4baYuCQMo+L/fMSUrZnibcu0BquEGnbxfVPiZhs/NbJeKj4c/UmFpQzW9Us0w45ui/yYW3vyaqawhNYsTzA==" + "license": "MIT" }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.4", @@ -6490,8 +6439,7 @@ }, "node_modules/@wordpress/babel-plugin-import-jsx-pragma": { "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-4.36.0.tgz", - "integrity": "sha512-xgBy9HnA0xL5e0Ipku7Ga3QimrfwTQ3njnN79mT8wNcim2APIlyiWSG3GndTdPoSGdrxGPv2ZrpqBdKsiGzoWQ==", + "license": "GPL-2.0-or-later", "engines": { "node": ">=14" }, @@ -6501,8 +6449,7 @@ }, "node_modules/@wordpress/babel-preset-default": { "version": "7.37.0", - "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-7.37.0.tgz", - "integrity": "sha512-XE9NUIoc428MHP3p6DMNjRV4Df97K9JHkzXwOwJjjHp00ce2ckh4wSkZh287Zi1X+uNcrROERtSp4jjWHUhvHA==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-transform-react-jsx": "^7.16.0", @@ -6523,16 +6470,14 @@ }, "node_modules/@wordpress/browserslist-config": { "version": "5.36.0", - "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-5.36.0.tgz", - "integrity": "sha512-D4Y+MhZHAW4mDNFxHGacVpZgOmkkL9k5+TuVchC8cVSdpAt0VSkzKsXAumoQuEYUXyio/NMkhnU153FO+ci3cQ==", + "license": "GPL-2.0-or-later", "engines": { "node": ">=14" } }, "node_modules/@wordpress/dependency-extraction-webpack-plugin": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-5.4.0.tgz", - "integrity": "sha512-6r1Nsq/yoJSqx35iqXeqjID8GGrN7mISZXWCjbuYLIRRY1FxU+wbenj2BsdUtyUuAv8tAUH79cpgO0poYEDMoQ==", + "license": "GPL-2.0-or-later", "dependencies": { "json2php": "^0.0.7" }, @@ -6683,8 +6628,7 @@ }, "node_modules/@wordpress/escape-html": { "version": "2.53.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.53.0.tgz", - "integrity": "sha512-K2c6jg7qTGZIFj7uTCFR4FTK8PqHM4El7zdPAuK2apnZqhbdJEfH1/ogK+QZtn1VctyOXl0Mc+vzWoLUncey3g==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" }, @@ -6694,8 +6638,7 @@ }, "node_modules/@wordpress/eslint-plugin": { "version": "17.10.0", - "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-17.10.0.tgz", - "integrity": "sha512-fMmMzBMR8z7p2yYTMtEEnzoYmdFdv0HdrM2b7s9693fYxtYQv/FaxUKdep6slMiVt/DBoPUmuDGgZsttzOTwng==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/eslint-parser": "^7.16.0", "@typescript-eslint/eslint-plugin": "^6.4.1", @@ -7013,8 +6956,7 @@ }, "node_modules/@wordpress/icons": { "version": "9.44.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-9.44.0.tgz", - "integrity": "sha512-8VxsFkcUYGCk6qfrriSOxOFSDSgl4tNRnJo7019ABj8mTr4pqdJC7tYz88rOvtBbx9tswWXLBJM49vaBG8mOpw==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/element": "^5.30.0", @@ -7026,8 +6968,7 @@ }, "node_modules/@wordpress/icons/node_modules/@types/react": { "version": "18.2.67", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.67.tgz", - "integrity": "sha512-vkIE2vTIMHQ/xL0rgmuoECBCkZFZeHr49HeWSc24AptMbNRo7pwSBvj73rlJJs9fGKj0koS+V7kQB1jHS0uCgw==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -7036,16 +6977,14 @@ }, "node_modules/@wordpress/icons/node_modules/@types/react-dom": { "version": "18.2.22", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.22.tgz", - "integrity": "sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==", + "license": "MIT", "dependencies": { "@types/react": "*" } }, "node_modules/@wordpress/icons/node_modules/@wordpress/element": { "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.30.0.tgz", - "integrity": "sha512-KH+KdZ1jzLRgA65Ez6Uy5dVbkS2az0uk1lDUpPRhApEY2J12SbsD/aVuznP/huO2Af+hyh4DDqbVS817Abcy2g==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", "@types/react": "^18.0.21", @@ -7062,8 +7001,7 @@ }, "node_modules/@wordpress/prettier-config": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-3.10.0.tgz", - "integrity": "sha512-0zA3K1zDyRjUhTY+zKfBvQMKqEbYK/hC3NOabEWZ++pvT5JYJrD7ZVXE+l5TDVd/d2rqxM0eLssh/yIyWyaeSQ==", + "license": "GPL-2.0-or-later", "engines": { "node": ">=14" }, @@ -7073,8 +7011,7 @@ }, "node_modules/@wordpress/primitives": { "version": "3.51.0", - "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-3.51.0.tgz", - "integrity": "sha512-UKz0h3BIU4hDMXnNlLZ6CZCe7eWuhDhzLj25+Ldfb71RuXMoqdH31ZN3gwIljVrLRWcBKVtgp9ULmuhdGvwzDA==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/element": "^5.30.0", @@ -7086,8 +7023,7 @@ }, "node_modules/@wordpress/primitives/node_modules/@types/react": { "version": "18.2.67", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.67.tgz", - "integrity": "sha512-vkIE2vTIMHQ/xL0rgmuoECBCkZFZeHr49HeWSc24AptMbNRo7pwSBvj73rlJJs9fGKj0koS+V7kQB1jHS0uCgw==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -7096,16 +7032,14 @@ }, "node_modules/@wordpress/primitives/node_modules/@types/react-dom": { "version": "18.2.22", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.22.tgz", - "integrity": "sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==", + "license": "MIT", "dependencies": { "@types/react": "*" } }, "node_modules/@wordpress/primitives/node_modules/@wordpress/element": { "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.30.0.tgz", - "integrity": "sha512-KH+KdZ1jzLRgA65Ez6Uy5dVbkS2az0uk1lDUpPRhApEY2J12SbsD/aVuznP/huO2Af+hyh4DDqbVS817Abcy2g==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", "@types/react": "^18.0.21", @@ -7122,8 +7056,7 @@ }, "node_modules/@wordpress/warning": { "version": "2.53.0", - "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-2.53.0.tgz", - "integrity": "sha512-53O09aUJgEuGcCVTHQcxvqjeU79rHF6fw9VSZwv6lYfZTwwtxwMHGPF6hUp12NeR+bqYGsUz2Ls6gzSHaAE2Zw==", + "license": "GPL-2.0-or-later", "engines": { "node": ">=12" } @@ -7702,8 +7635,7 @@ }, "node_modules/b4a": { "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + "license": "ISC" }, "node_modules/babel-jest": { "version": "27.5.1", @@ -8651,7 +8583,6 @@ }, "node_modules/chardet": { "version": "0.7.0", - "dev": true, "license": "MIT" }, "node_modules/chokidar": { @@ -8759,8 +8690,7 @@ }, "node_modules/classnames": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + "license": "MIT" }, "node_modules/clean-css": { "version": "5.3.3", @@ -8795,7 +8725,6 @@ }, "node_modules/cli-spinners": { "version": "2.9.2", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -8821,7 +8750,6 @@ }, "node_modules/cli-width": { "version": "3.0.0", - "dev": true, "license": "ISC", "engines": { "node": ">= 10" @@ -8906,7 +8834,6 @@ }, "node_modules/clone": { "version": "1.0.4", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8" @@ -10244,8 +10171,6 @@ }, "node_modules/css-blank-pseudo": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.1.tgz", - "integrity": "sha512-goSnEITByxTzU4Oh5oJZrEWudxTqk7L6IXj1UW69pO6Hv0UdX+Vsrt02FFu5DweRh2bLu6WpX/+zsQCu5O1gKw==", "funding": [ { "type": "github", @@ -10256,6 +10181,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-selector-parser": "^6.0.13" }, @@ -10293,8 +10219,6 @@ }, "node_modules/css-has-pseudo": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.1.tgz", - "integrity": "sha512-WwoVKqNxApfEI7dWFyaHoeFCcUPD+lPyjL6lNpRUNX7IyIUuVpawOTwwA5D0ZR6V2xQZonNPVj8kEcxzEaAQfQ==", "funding": [ { "type": "github", @@ -10305,6 +10229,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/selector-specificity": "^3.0.1", "postcss-selector-parser": "^6.0.13", @@ -10343,8 +10268,6 @@ }, "node_modules/css-prefers-color-scheme": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.1.tgz", - "integrity": "sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g==", "funding": [ { "type": "github", @@ -10355,6 +10278,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -10863,7 +10787,6 @@ }, "node_modules/defaults": { "version": "1.0.4", - "dev": true, "license": "MIT", "dependencies": { "clone": "^1.0.2" @@ -12523,7 +12446,6 @@ }, "node_modules/external-editor": { "version": "3.1.0", - "dev": true, "license": "MIT", "dependencies": { "chardet": "^0.7.0", @@ -12623,8 +12545,7 @@ }, "node_modules/fast-fifo": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.2", @@ -12913,14 +12834,13 @@ }, "node_modules/follow-redirects": { "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -14554,7 +14474,6 @@ }, "node_modules/is-interactive": { "version": "1.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -14720,6 +14639,17 @@ "devOptional": true, "license": "MIT" }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-weakmap": { "version": "2.0.1", "license": "MIT", @@ -17648,8 +17578,7 @@ }, "node_modules/memoize-one": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + "license": "MIT" }, "node_modules/memory-fs": { "version": "0.4.1", @@ -17967,7 +17896,6 @@ }, "node_modules/mute-stream": { "version": "0.0.8", - "dev": true, "license": "ISC" }, "node_modules/nan": { @@ -18061,6 +17989,44 @@ "version": "6.1.0", "license": "MIT" }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-forge": { "version": "1.3.1", "license": "(BSD-3-Clause OR GPL-2.0)", @@ -18618,7 +18584,6 @@ }, "node_modules/os-tmpdir": { "version": "1.0.2", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -18954,8 +18919,7 @@ }, "node_modules/postcss-attribute-case-insensitive": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz", - "integrity": "sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -18999,8 +18963,6 @@ }, "node_modules/postcss-color-functional-notation": { "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.4.tgz", - "integrity": "sha512-YBzfVvVUNR4U3N0imzU1NPKCuwxzfHJkEP6imJxzsJ8LozRKeej9mWmg9Ef1ovJdb0xrGTRVzUxgTrMun5iw/Q==", "funding": [ { "type": "github", @@ -19011,6 +18973,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-color-parser": "^1.5.1", "@csstools/css-parser-algorithms": "^2.5.0", @@ -19026,8 +18989,6 @@ }, "node_modules/postcss-color-hex-alpha": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.3.tgz", - "integrity": "sha512-7sEHU4tAS6htlxun8AB9LDrCXoljxaC34tFVRlYKcvO+18r5fvGiXgv5bQzN40+4gXLCyWSMRK5FK31244WcCA==", "funding": [ { "type": "github", @@ -19038,6 +18999,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19050,8 +19012,6 @@ }, "node_modules/postcss-color-rebeccapurple": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.2.tgz", - "integrity": "sha512-f+RDEAPW2m8UbJWkSpRfV+QxhSaQhDMihI75DVGJJh4oRIoegjheeRtINFJum9D8BqGJcvD4GLjggTvCwZ4zuA==", "funding": [ { "type": "github", @@ -19062,6 +19022,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19104,8 +19065,6 @@ }, "node_modules/postcss-custom-media": { "version": "10.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.2.tgz", - "integrity": "sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==", "funding": [ { "type": "github", @@ -19116,6 +19075,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "dependencies": { "@csstools/cascade-layer-name-parser": "^1.0.5", "@csstools/css-parser-algorithms": "^2.3.2", @@ -19131,8 +19091,6 @@ }, "node_modules/postcss-custom-properties": { "version": "13.3.4", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.4.tgz", - "integrity": "sha512-9YN0gg9sG3OH+Z9xBrp2PWRb+O4msw+5Sbp3ZgqrblrwKspXVQe5zr5sVqi43gJGwW/Rv1A483PRQUzQOEewvA==", "funding": [ { "type": "github", @@ -19143,6 +19101,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "dependencies": { "@csstools/cascade-layer-name-parser": "^1.0.7", "@csstools/css-parser-algorithms": "^2.5.0", @@ -19158,8 +19117,6 @@ }, "node_modules/postcss-custom-selectors": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.6.tgz", - "integrity": "sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==", "funding": [ { "type": "github", @@ -19170,6 +19127,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "dependencies": { "@csstools/cascade-layer-name-parser": "^1.0.5", "@csstools/css-parser-algorithms": "^2.3.2", @@ -19185,8 +19143,6 @@ }, "node_modules/postcss-dir-pseudo-class": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.1.tgz", - "integrity": "sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw==", "funding": [ { "type": "github", @@ -19197,6 +19153,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-selector-parser": "^6.0.13" }, @@ -19249,8 +19206,6 @@ }, "node_modules/postcss-double-position-gradients": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.3.tgz", - "integrity": "sha512-QKYpwmaSm6HcdS0ndAuWSNNMv78R1oSySoh3mYBmctHWr2KWcwPJVakdOyU4lvFVW0GRu9wfIQwGeM4p3xU9ow==", "funding": [ { "type": "github", @@ -19261,6 +19216,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^3.0.3", "postcss-value-parser": "^4.2.0" @@ -19274,8 +19230,7 @@ }, "node_modules/postcss-editor-styles-wrapper": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-editor-styles-wrapper/-/postcss-editor-styles-wrapper-1.0.1.tgz", - "integrity": "sha512-syeRRPBHx6R9UTszm3L4U9O2iQTJwyLE5Hk3/o+Jpov5xRSuTv96t/7ghkXq6lb6LFh6gXMxsiqepoFMZwrQ9g==", + "license": "MIT-0", "engines": { "node": "^18 || >= 20" }, @@ -19285,8 +19240,6 @@ }, "node_modules/postcss-focus-visible": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.1.tgz", - "integrity": "sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ==", "funding": [ { "type": "github", @@ -19297,6 +19250,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-selector-parser": "^6.0.13" }, @@ -19309,8 +19263,6 @@ }, "node_modules/postcss-focus-within": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.1.tgz", - "integrity": "sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA==", "funding": [ { "type": "github", @@ -19321,6 +19273,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-selector-parser": "^6.0.13" }, @@ -19340,8 +19293,6 @@ }, "node_modules/postcss-gap-properties": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.1.tgz", - "integrity": "sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw==", "funding": [ { "type": "github", @@ -19352,6 +19303,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -19361,8 +19313,6 @@ }, "node_modules/postcss-image-set-function": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.2.tgz", - "integrity": "sha512-/O1xwqpJiz/apxGQi7UUfv1xUcorvkHZfvCYHPpRxxZj2WvjD0rg0+/+c+u5/Do5CpUg3XvfYxMrhcnjW1ArDQ==", "funding": [ { "type": "github", @@ -19373,6 +19323,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19385,8 +19336,7 @@ }, "node_modules/postcss-import": { "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -19418,8 +19368,6 @@ }, "node_modules/postcss-lab-function": { "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.9.tgz", - "integrity": "sha512-PKFAVTBEWJYsoSTD7Kp/OzeiMsXaLX39Pv75XgUyF5VrbMfeTw+JqCGsvDP3dPhclh6BemdCFHcjXBG9gO4UCg==", "funding": [ { "type": "github", @@ -19430,6 +19378,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/css-color-parser": "^1.5.1", "@csstools/css-parser-algorithms": "^2.5.0", @@ -19465,8 +19414,6 @@ }, "node_modules/postcss-logical": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.1.tgz", - "integrity": "sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg==", "funding": [ { "type": "github", @@ -19477,6 +19424,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19650,8 +19598,6 @@ }, "node_modules/postcss-nesting": { "version": "12.0.2", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.0.2.tgz", - "integrity": "sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==", "funding": [ { "type": "github", @@ -19662,6 +19608,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/selector-specificity": "^3.0.1", "postcss-selector-parser": "^6.0.13" @@ -19790,8 +19737,6 @@ }, "node_modules/postcss-opacity-percentage": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-2.0.0.tgz", - "integrity": "sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ==", "funding": [ { "type": "kofi", @@ -19802,6 +19747,7 @@ "url": "https://liberapay.com/mrcgrtz" } ], + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" }, @@ -19825,8 +19771,6 @@ }, "node_modules/postcss-overflow-shorthand": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.1.tgz", - "integrity": "sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ==", "funding": [ { "type": "github", @@ -19837,6 +19781,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19856,8 +19801,6 @@ }, "node_modules/postcss-place": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.1.tgz", - "integrity": "sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q==", "funding": [ { "type": "github", @@ -19868,6 +19811,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19880,8 +19824,6 @@ }, "node_modules/postcss-preset-env": { "version": "9.3.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.3.0.tgz", - "integrity": "sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==", "funding": [ { "type": "github", @@ -19892,6 +19834,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "@csstools/postcss-cascade-layers": "^4.0.1", "@csstools/postcss-color-function": "^3.0.7", @@ -19963,8 +19906,6 @@ }, "node_modules/postcss-pseudo-class-any-link": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.1.tgz", - "integrity": "sha512-cKYGGZ9yzUZi+dZd7XT2M8iSDfo+T2Ctbpiizf89uBTBfIpZpjvTavzIJXpCReMVXSKROqzpxClNu6fz4DHM0Q==", "funding": [ { "type": "github", @@ -19975,6 +19916,7 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "dependencies": { "postcss-selector-parser": "^6.0.13" }, @@ -20064,8 +20006,7 @@ }, "node_modules/postcss-selector-not": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz", - "integrity": "sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -20507,8 +20448,7 @@ }, "node_modules/queue-tick": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + "license": "MIT" }, "node_modules/quick-lru": { "version": "4.0.1", @@ -20623,8 +20563,7 @@ }, "node_modules/react-window": { "version": "1.8.10", - "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.10.tgz", - "integrity": "sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.0.0", "memoize-one": ">=3.1.1 <6" @@ -21083,7 +21022,6 @@ }, "node_modules/run-async": { "version": "2.4.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -21552,9 +21490,8 @@ }, "node_modules/sharp": { "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.2", @@ -21574,8 +21511,7 @@ }, "node_modules/sharp/node_modules/tar-fs": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "license": "MIT", "dependencies": { "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", @@ -21584,8 +21520,7 @@ }, "node_modules/sharp/node_modules/tar-stream": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "license": "MIT", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -22370,8 +22305,7 @@ }, "node_modules/streamx": { "version": "2.15.6", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", - "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", + "license": "MIT", "dependencies": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" @@ -23623,7 +23557,6 @@ }, "node_modules/through": { "version": "2.3.8", - "dev": true, "license": "MIT" }, "node_modules/through2": { @@ -23654,7 +23587,6 @@ }, "node_modules/tmp": { "version": "0.0.33", - "dev": true, "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" @@ -24764,7 +24696,6 @@ }, "node_modules/wcwidth": { "version": "1.0.1", - "dev": true, "license": "MIT", "dependencies": { "defaults": "^1.0.3" @@ -24874,8 +24805,7 @@ }, "node_modules/webpack-dev-middleware": { "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -25617,9 +25547,8 @@ }, "packages/stylelint-config/node_modules/@jest/console": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -25634,9 +25563,8 @@ }, "packages/stylelint-config/node_modules/@jest/core": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -25681,9 +25609,8 @@ }, "packages/stylelint-config/node_modules/@jest/environment": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -25696,9 +25623,8 @@ }, "packages/stylelint-config/node_modules/@jest/fake-timers": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -25713,9 +25639,8 @@ }, "packages/stylelint-config/node_modules/@jest/globals": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -25728,9 +25653,8 @@ }, "packages/stylelint-config/node_modules/@jest/reporters": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -25771,9 +25695,8 @@ }, "packages/stylelint-config/node_modules/@jest/source-map": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -25785,9 +25708,8 @@ }, "packages/stylelint-config/node_modules/@jest/test-result": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -25800,9 +25722,8 @@ }, "packages/stylelint-config/node_modules/@jest/test-sequencer": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -25815,9 +25736,8 @@ }, "packages/stylelint-config/node_modules/@jest/transform": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -25841,9 +25761,8 @@ }, "packages/stylelint-config/node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -25858,36 +25777,32 @@ }, "packages/stylelint-config/node_modules/@sinonjs/commons": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "packages/stylelint-config/node_modules/@sinonjs/fake-timers": { "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "packages/stylelint-config/node_modules/@types/yargs": { "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "packages/stylelint-config/node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -25900,9 +25815,8 @@ }, "packages/stylelint-config/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -25915,9 +25829,8 @@ }, "packages/stylelint-config/node_modules/babel-jest": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -25936,9 +25849,8 @@ }, "packages/stylelint-config/node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -25951,9 +25863,8 @@ }, "packages/stylelint-config/node_modules/babel-preset-jest": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -25967,9 +25878,8 @@ }, "packages/stylelint-config/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -25979,9 +25889,8 @@ }, "packages/stylelint-config/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -25995,9 +25904,8 @@ }, "packages/stylelint-config/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -26007,15 +25915,13 @@ }, "packages/stylelint-config/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/stylelint-config/node_modules/dedent": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -26027,18 +25933,16 @@ }, "packages/stylelint-config/node_modules/diff-sequences": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "packages/stylelint-config/node_modules/emittery": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -26048,9 +25952,8 @@ }, "packages/stylelint-config/node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -26071,9 +25974,8 @@ }, "packages/stylelint-config/node_modules/expect": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -26087,9 +25989,8 @@ }, "packages/stylelint-config/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -26099,27 +26000,24 @@ }, "packages/stylelint-config/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "packages/stylelint-config/node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "packages/stylelint-config/node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -26129,9 +26027,8 @@ }, "packages/stylelint-config/node_modules/istanbul-lib-instrument": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", @@ -26145,9 +26042,8 @@ }, "packages/stylelint-config/node_modules/jest": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -26171,9 +26067,8 @@ }, "packages/stylelint-config/node_modules/jest-changed-files": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -26185,9 +26080,8 @@ }, "packages/stylelint-config/node_modules/jest-circus": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -26216,9 +26110,8 @@ }, "packages/stylelint-config/node_modules/jest-cli": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -26249,9 +26142,8 @@ }, "packages/stylelint-config/node_modules/jest-config": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -26294,9 +26186,8 @@ }, "packages/stylelint-config/node_modules/jest-diff": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -26309,9 +26200,8 @@ }, "packages/stylelint-config/node_modules/jest-docblock": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -26321,9 +26211,8 @@ }, "packages/stylelint-config/node_modules/jest-each": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -26337,9 +26226,8 @@ }, "packages/stylelint-config/node_modules/jest-environment-node": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -26354,18 +26242,16 @@ }, "packages/stylelint-config/node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "packages/stylelint-config/node_modules/jest-haste-map": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -26388,9 +26274,8 @@ }, "packages/stylelint-config/node_modules/jest-leak-detector": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -26401,9 +26286,8 @@ }, "packages/stylelint-config/node_modules/jest-matcher-utils": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -26416,9 +26300,8 @@ }, "packages/stylelint-config/node_modules/jest-message-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -26436,9 +26319,8 @@ }, "packages/stylelint-config/node_modules/jest-mock": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -26450,18 +26332,16 @@ }, "packages/stylelint-config/node_modules/jest-regex-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "packages/stylelint-config/node_modules/jest-resolve": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -26479,9 +26359,8 @@ }, "packages/stylelint-config/node_modules/jest-resolve-dependencies": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, + "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -26492,9 +26371,8 @@ }, "packages/stylelint-config/node_modules/jest-runner": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -26524,9 +26402,8 @@ }, "packages/stylelint-config/node_modules/jest-runtime": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -26557,9 +26434,8 @@ }, "packages/stylelint-config/node_modules/jest-snapshot": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -26588,9 +26464,8 @@ }, "packages/stylelint-config/node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -26605,9 +26480,8 @@ }, "packages/stylelint-config/node_modules/jest-validate": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -26622,9 +26496,8 @@ }, "packages/stylelint-config/node_modules/jest-watcher": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -26641,18 +26514,16 @@ }, "packages/stylelint-config/node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "packages/stylelint-config/node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -26662,9 +26533,8 @@ }, "packages/stylelint-config/node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -26677,9 +26547,8 @@ }, "packages/stylelint-config/node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -26692,9 +26561,8 @@ }, "packages/stylelint-config/node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -26706,9 +26574,8 @@ }, "packages/stylelint-config/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -26718,39 +26585,34 @@ }, "packages/stylelint-config/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/stylelint-config/node_modules/resolve.exports": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "packages/stylelint-config/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "packages/stylelint-config/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "packages/stylelint-config/node_modules/source-map-support": { "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -26758,27 +26620,24 @@ }, "packages/stylelint-config/node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "packages/stylelint-config/node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "packages/stylelint-config/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -26788,9 +26647,8 @@ }, "packages/stylelint-config/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -26800,9 +26658,8 @@ }, "packages/stylelint-config/node_modules/v8-to-istanbul": { "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -26814,9 +26671,8 @@ }, "packages/stylelint-config/node_modules/write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -26842,6 +26698,7 @@ "babel-jest": "^29.7.0", "babel-loader": "^9.1.3", "camelcase": "^6.3.0", + "chalk": "^4.0.0", "copy-webpack-plugin": "^11.0.0", "core-js": "^3.35.0", "core-js-pure": "^3.35.0", @@ -26854,9 +26711,11 @@ "html-webpack-plugin": "^5.6.0", "ignore-emit-webpack-plugin": "^2.0.6", "image-minimizer-webpack-plugin": "^3.8.3", + "inquirer": "^8.2.6", "jest": "^29.7.0", "mini-css-extract-plugin": "^2.7.6", "minimist": "^1.2.8", + "node-fetch": "^2.7.0", "postcss": "^8.4.31", "postcss-editor-styles-wrapper": "^1.0.1", "postcss-import": "^15.1.0", @@ -26878,7 +26737,8 @@ "webpack-bundle-analyzer": "^4.10.1", "webpack-dev-server": "^4.15.1", "webpack-sources": "^3.2.3", - "webpackbar": "^6.0.0" + "webpackbar": "^6.0.0", + "yaml": "^2.4.1" }, "bin": { "10up-toolkit": "bin/10up-toolkit.js" @@ -26893,9 +26753,9 @@ "npm": ">=6.9" }, "peerDependencies": { - "@10up/babel-preset-default": "^2.1.1", - "@10up/eslint-config": "^4.0.0", - "@10up/stylelint-config": "^3.0.0", + "@10up/babel-preset-default": ">=2.1.1", + "@10up/eslint-config": ">=4.0.0", + "@10up/stylelint-config": ">=3.0.0", "@linaria/babel-preset": ">=4.3.3", "@linaria/webpack-loader": ">=4.1.11", "typescript": ">=5.0.0" @@ -27481,6 +27341,17 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "packages/toolkit/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, "packages/toolkit/node_modules/color-convert": { "version": "2.0.1", "license": "MIT", @@ -27524,6 +27395,11 @@ "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, + "packages/toolkit/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, "packages/toolkit/node_modules/eslint-visitor-keys": { "version": "3.4.3", "license": "Apache-2.0", @@ -27607,6 +27483,39 @@ "node": ">=10.17.0" } }, + "packages/toolkit/node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "packages/toolkit/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, "packages/toolkit/node_modules/is-stream": { "version": "2.0.1", "license": "MIT", @@ -28092,6 +28001,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "packages/toolkit/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "packages/toolkit/node_modules/mimic-fn": { "version": "2.1.0", "license": "MIT", @@ -28122,6 +28046,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "packages/toolkit/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "packages/toolkit/node_modules/p-limit": { "version": "3.1.0", "license": "MIT", @@ -28181,6 +28127,26 @@ "node": ">=10" } }, + "packages/toolkit/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "packages/toolkit/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, "packages/toolkit/node_modules/schema-utils": { "version": "3.3.0", "license": "MIT", @@ -28223,6 +28189,19 @@ "node": ">=0.10.0" } }, + "packages/toolkit/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "packages/toolkit/node_modules/strip-bom": { "version": "4.0.0", "license": "MIT", @@ -28269,6 +28248,19 @@ "node": ">=10.12.0" } }, + "packages/toolkit/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, "packages/toolkit/node_modules/write-file-atomic": { "version": "4.0.2", "license": "ISC", @@ -28280,6 +28272,17 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "packages/toolkit/node_modules/yaml": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", + "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, "projects/10up-theme": { "name": "tenup-theme", "version": "1.1.5-next.7", diff --git a/packages/toolkit/.gitignore b/packages/toolkit/.gitignore index 1677232b..bf604da0 100644 --- a/packages/toolkit/.gitignore +++ b/packages/toolkit/.gitignore @@ -3,3 +3,4 @@ examples dist .vscode package-lock.json +test-project diff --git a/packages/toolkit/PROJECTS.md b/packages/toolkit/PROJECTS.md new file mode 100644 index 00000000..a14d71c7 --- /dev/null +++ b/packages/toolkit/PROJECTS.md @@ -0,0 +1,100 @@ +# 10up Projects (BETA) + +**This subcommand is currently in BETA** + +10up Toolkit provides a number of utlities for creating, managing, and deploying 10up specific projects. + +## Anatomy of a Project + +A standard 10up GitLab project initialized with 10up Toolkit looks like the following: + +``` +.tenup.yml +.gitlab-ci.yml +/scripts + build.sh +``` + +`.tenup.yml` contains a number of variables the define the structure of the project e.g. the WordPress version and how to deploy the application. + +`.gitlab-ci.yml` is a standard GitLab CI file that is generated by 10up Toolkit. It usually doesn't need to be edited but occassionally may need customization for more advanced CI workflows. + +`build.sh` contains the commands for building a project. Engineers will need to edit this file to ensure it contains the proper build commands. + +### .tenup.yml + +`.tenup.yml` is automatically generated by the init command but you may want to create one yourself. Also, even after init, you will need to make sure it includes the proper values. Here is the anatomy of the file: + +```yaml +project_name: "10up Project" +environments: + production: + branch: "trunk" + wordpress_version: "6.4" + deploy_to: "gitlab@1.1.1.1:/var/www/my-project" + deploy_to_subdir: "wp-content/" + deploy_from: "./" + deploy_type: "rsync" + url: "https://environmenturl.com" + staging: + branch: "staging" + wordpress_version: "6.4" + deploy_to: "gitlab@1.1.1.1:/var/www/my-project" + deploy_to_subdir: "wp-content/" + deploy_from: "./" + deploy_type: "rsync" + url: "https://environmenturl.com" +``` + +`deploy_from` and `deploy_to_subdir` let you choose what directory of your application deploys to which part of WordPress. `deploy_to` is the full remote path to WordPress. `deploy_from` is relative to the root of your project. `deploy_to_subdir` is relative to `deploy_to`. By default, it's set up such that the root of your application deploys to `wp-content`. Another setup is where your application is one level above WordPress e.g. + +``` +.tenup.yml +/wp + /wp-content +``` + +In this scenario, `deploy_from` would be set to `wp` and `deploy_to_subdir` would be `./`. + +`deploy_type` currently supports `rsync`, `wpe` (WP Engine), and `pantheon`. It defaults to `rsync`. If WPE or Pantheon is choosen, `deploy_to` should contain a Git URL. More deploy types will be added in the future. + +The following are additional optional variables that allow you to use custom scripts different than the ones provided by 10up Toolkit. You shouldn't need to use these unless you are doing something super custom. All these paths are relative from the root of your project. + +```yaml +deploy_script_path: "" # Custom deploy script +build_script_path: "" # For using a build script in a different location +create_payload_script_path: "" # Custom create payload script +deploy_file_excludes: "" # Custom deploy file exclusions +``` + +## Commands + +The project subcommand provides a variety of utlities for creating, building, and deploying 10up-specific projects. + +List of commands: + +```bash +10up-toolkit project init [] [--template=] [--name=] [--confirm] +``` + +`init` creates a project. You can optionally provide it a number of parameters or answer the prompts. If no path is provided, it will initialize the project in the current directory. You will be prompted to choose a template e.g. [WP Scaffold](https://github.com/10up/wp-scaffold). Init will automatically search and replace prefixes using the project name you provide. + +```bash +10up-toolkit project build +``` + +`build` simply executes your `scripts/build.sh` file (or other path you specify). `build` will be executed before deploying files. + +```bash +10up-toolkit project create-payload +``` + +This command creates a payload directory of the built project (including WordPress) for deployment. Engineers likely won't need to run this command themselves as GitLab does it automatically. You must provide a branch that corresponds to an environment in `.tenup.yml`. + +```bash +10up-toolkit project generate-ci [--confirm] [--path=] +``` + +This command generates necessary CI files. For GitLab, this would be `.gitlab-ci.yml`. Right now this only supports GitLab but we will add support for GitHub in the future. + +**Note that generating CI files is currently in alpha and may require manual editing to fix issues.** diff --git a/packages/toolkit/README.md b/packages/toolkit/README.md index 54b566e1..4818224c 100644 --- a/packages/toolkit/README.md +++ b/packages/toolkit/README.md @@ -9,9 +9,10 @@ A collection of bundled scripts for 10up development. 5. [Authoring Libraries](#libraries) 6. [Customizations](#customizations) 7. [CLI Options](#cli) -8. [TypeScript Support](#typescript) -9. [React & WordPress](#react) -10. [Linaria (CSS-in-JS)](#linaria) +8. [10up Projects](PROJECTS.md) +9. [TypeScript Support](#typescript) +10. [React & WordPress](#react) +11. [Linaria (CSS-in-JS)](#linaria) ## Introduction @@ -321,19 +322,19 @@ In some setups (such as Laravel Valet), Websocket SSL connections will fail unle If you aren't already customizing webpack in your project, create a new `webpack.config.js` file in the root of your project/theme. You need to specify the cert, key, and ca properties for the config.devServer.https object. ```js -const config = require('10up-toolkit/config/webpack.config.js'); -const fs = require('fs'); +const config = require("10up-toolkit/config/webpack.config.js"); +const fs = require("fs"); // Customize this to the appropriate path to your certificate folder -const certPath = '/Users/youruser/.config/valet'; +const certPath = "/Users/youruser/.config/valet"; // Check if devServer is in use and if so, modify the cert files used -if( typeof config.devServer === 'object' ) { - config.devServer.https = { - key: fs.readFileSync(`${certPath}/Certificates/yoursite.test.key`), - cert: fs.readFileSync(`${certPath}/Certificates/yoursite.test.crt`), - ca: fs.readFileSync(`${certPath}/CA/LaravelValetCASelfSigned.pem`), - } +if (typeof config.devServer === "object") { + config.devServer.https = { + key: fs.readFileSync(`${certPath}/Certificates/yoursite.test.key`), + cert: fs.readFileSync(`${certPath}/Certificates/yoursite.test.crt`), + ca: fs.readFileSync(`${certPath}/CA/LaravelValetCASelfSigned.pem`), + }; } module.exports = config; @@ -592,7 +593,7 @@ const ProjectSpecificPlugin = require("project-specific-plugin"); config.plugins.push( // Append project specific plugin config. - new ProjectSpecificPlugin() + new ProjectSpecificPlugin(), ); module.exports = config; @@ -745,6 +746,7 @@ See [SVGO Configuration](https://github.com/svg/svgo#configuration) for more inf 10up-toolkit supports several CLI options that can be used to override settings. ### Production Sourcemaps + > This option was added in 10up-toolkit v6. All development builds ship source maps by default, if you wish to ship source maps to production builds you can use the `--sourcemap` cli flag to force the generation of source maps even in production builds. @@ -830,7 +832,7 @@ If you need to override the default html template, create a `index.html` file un ```html - + diff --git a/packages/toolkit/package.json b/packages/toolkit/package.json index 61e0a392..ca3330be 100644 --- a/packages/toolkit/package.json +++ b/packages/toolkit/package.json @@ -30,6 +30,7 @@ "babel-jest": "^29.7.0", "babel-loader": "^9.1.3", "camelcase": "^6.3.0", + "chalk": "^4.0.0", "copy-webpack-plugin": "^11.0.0", "core-js": "^3.35.0", "core-js-pure": "^3.35.0", @@ -42,9 +43,11 @@ "html-webpack-plugin": "^5.6.0", "ignore-emit-webpack-plugin": "^2.0.6", "image-minimizer-webpack-plugin": "^3.8.3", + "inquirer": "^8.2.6", "jest": "^29.7.0", "mini-css-extract-plugin": "^2.7.6", "minimist": "^1.2.8", + "node-fetch": "^2.7.0", "postcss": "^8.4.31", "postcss-editor-styles-wrapper": "^1.0.1", "postcss-import": "^15.1.0", @@ -66,7 +69,8 @@ "webpack-bundle-analyzer": "^4.10.1", "webpack-dev-server": "^4.15.1", "webpack-sources": "^3.2.3", - "webpackbar": "^6.0.0" + "webpackbar": "^6.0.0", + "yaml": "^2.4.1" }, "devDependencies": { "@10up/babel-preset-default": ">=2.1.1", diff --git a/packages/toolkit/project/default-variables.json b/packages/toolkit/project/default-variables.json new file mode 100644 index 00000000..7c0c1351 --- /dev/null +++ b/packages/toolkit/project/default-variables.json @@ -0,0 +1,10 @@ +{ + "project_name": "10up Project", + "php_version": "8.2", + "build_script_path": "", + "wordpress_version": "", + "deploy_script_path": "", + "deploy_file_excludes": "", + "create_payload_script_path": "", + "environments": [] +} diff --git a/packages/toolkit/project/deploy-file-excludes.txt b/packages/toolkit/project/deploy-file-excludes.txt new file mode 100644 index 00000000..e2b8355f --- /dev/null +++ b/packages/toolkit/project/deploy-file-excludes.txt @@ -0,0 +1,70 @@ +*node_modules* +node_modules_cache +*.gitignore +*.gitmodules +*.git +*.gitkeep +*.github +*/composer.json +composer.json +*/composer.lock +composer.lock +*/installed.json +installed.json +/tasks +/conf +/deploy-scripts +/scripts +.gitlab-ci.yml +*/package-lock.json +package-lock.json +*/Gruntfile.js +Gruntfile.js +*/bower.json +*/.bower.json +bower.json +*.bowerrc +*/package.json +package.json +*/readme* +*/README* +readme* +README* +*phpcs.xml +*.editorconfig +.composer-cache +*.eslintrc +*.eslintignore +*.jscsrc +*.jshintrc +*.browserslistrc +*.stylelintrc +*rsync-excludes.txt +.babelrc +*/.babelrc +*.dist +*/yarn.lock +yarn.lock +*Gemfile* +lerna.json +*/lerna.json + +# Don't deploy scss files. Remove these lines if these get build on the destination server and not in the CI pipe +*.scss +.scss-lint.yml +*/.scss-lint.yml + +# Specific to wp-content based delpoys +/uploads +/upgrade +/themes/index.php +/plugins/index.php +/mu-plugins/pagely* + +# By default, we ignore these dropins. Delete these to manage via git +/db.php +/sunrise.php +wp-config.php +uploads + +payload diff --git a/packages/toolkit/project/gitlab/.gitlab-ci.tmpl b/packages/toolkit/project/gitlab/.gitlab-ci.tmpl new file mode 100644 index 00000000..235d7e86 --- /dev/null +++ b/packages/toolkit/project/gitlab/.gitlab-ci.tmpl @@ -0,0 +1,47 @@ +# This file was autogenerated by 10up Toolkit. + +image: docker.10up.com/10up-build/deploy-container:latest + +include: + - project: 10up-build/ci-library + ref: trunk + file: /main.yml + +setup_10up_toolkit: + stage: .pre + script: | + if [ ! -d "toolkit" ] ; then + git clone --verbose -b project-command https://github.com/10up/10up-toolkit.git toolkit + fi + rm -rf 10up-toolkit + ln -s toolkit/packages/toolkit/bin/10up-toolkit.js 10up-toolkit + cd toolkit + npm install + artifacts: + paths: + - toolkit + - 10up-toolkit + +test_syntax: + stage: test + script: + - php-syntax + dependencies: [] + cache: {} + +test_virusscan: + stage: test + script: + - virus-scan + dependencies: [] + cache: {} + +build_plugins_and_themes: + stage: build + script: + - ./10up-toolkit project create-payload $CI_COMMIT_REF_NAME + artifacts: + paths: + - payload + expire_in: 1 day + cache: {} diff --git a/packages/toolkit/project/gitlab/deploy-configs/pantheon-production.tmpl b/packages/toolkit/project/gitlab/deploy-configs/pantheon-production.tmpl new file mode 100644 index 00000000..a3b01e80 --- /dev/null +++ b/packages/toolkit/project/gitlab/deploy-configs/pantheon-production.tmpl @@ -0,0 +1,14 @@ +deploy_production: + extends: .wordpress-deploy-pantheon-v2 + environment: + name: Production + url: {{url}} + variables: + MULTI_DEV_ENVIRONMENT: "{{branch}}" + WORDPRESS_VERSION: {{wordpress_version}} + GIT_URL: {{deploy_to}} + EXCLUDES: {{deploy_file_excludes}} + allow_failure: false + only: + refs: + - {{branch}} diff --git a/packages/toolkit/project/gitlab/deploy-configs/pantheon-staging.tmpl b/packages/toolkit/project/gitlab/deploy-configs/pantheon-staging.tmpl new file mode 100644 index 00000000..a4bc4a2f --- /dev/null +++ b/packages/toolkit/project/gitlab/deploy-configs/pantheon-staging.tmpl @@ -0,0 +1,14 @@ +deploy_{{branch}}: + extends: .wordpress-deploy-pantheon-v2 + environment: + name: {{branch}} + url: {{url}} + variables: + MULTI_DEV_ENVIRONMENT: "{{branch}}" + WORDPRESS_VERSION: {{wordpress_version}} + GIT_URL: {{deploy_to}} + EXCLUDES: {{deploy_file_excludes}} + allow_failure: false + only: + refs: + - {{branch}} diff --git a/packages/toolkit/project/gitlab/deploy-configs/rsync-production.tmpl b/packages/toolkit/project/gitlab/deploy-configs/rsync-production.tmpl new file mode 100644 index 00000000..36820df4 --- /dev/null +++ b/packages/toolkit/project/gitlab/deploy-configs/rsync-production.tmpl @@ -0,0 +1,13 @@ +deploy_production: + stage: deploy + extends: .wordpress-deploy-rsync + environment: + name: Production + url: {{url}} + variables: + DESTINATION: {{deploy_to}} + SUBDIR: {{deploy_to_subdir}} + EXCLUDES: {{deploy_file_excludes}} + only: + refs: + - {{branch}} diff --git a/packages/toolkit/project/gitlab/deploy-configs/rsync-staging.tmpl b/packages/toolkit/project/gitlab/deploy-configs/rsync-staging.tmpl new file mode 100644 index 00000000..5f47a7f5 --- /dev/null +++ b/packages/toolkit/project/gitlab/deploy-configs/rsync-staging.tmpl @@ -0,0 +1,13 @@ +deploy_{{branch}}: + stage: deploy + extends: .wordpress-deploy-rsync + environment: + name: {{branch}} + url: {{url}} + variables: + DESTINATION: {{deploy_to}} + SUBDIR: {{deploy_to_subdir}} + EXCLUDES: {{deploy_file_excludes}} + only: + refs: + - {{branch}} diff --git a/packages/toolkit/project/gitlab/deploy-configs/wpe-production.tmpl b/packages/toolkit/project/gitlab/deploy-configs/wpe-production.tmpl new file mode 100644 index 00000000..e85cd66a --- /dev/null +++ b/packages/toolkit/project/gitlab/deploy-configs/wpe-production.tmpl @@ -0,0 +1,16 @@ +deploy_production: + stage: deploy + extends: .wordpress-deploy-wpe + environment: + name: Production + url: {{url}} + variables: + GIT_URL: {{deploy_to}} + only: + refs: + - {{branch}} + when: manual + allow_failure: false + except: + variables: + - $IS_PLUGIN_UPGRADES diff --git a/packages/toolkit/project/gitlab/deploy-configs/wpe-staging.tmpl b/packages/toolkit/project/gitlab/deploy-configs/wpe-staging.tmpl new file mode 100644 index 00000000..7ddf6f4c --- /dev/null +++ b/packages/toolkit/project/gitlab/deploy-configs/wpe-staging.tmpl @@ -0,0 +1,12 @@ +deploy_{{branch}}: + stage: deploy + extends: .wordpress-deploy-wpe + environment: + name: {{branch}} + url: {{url}} + variables: + GIT_URL: {{deploy_to}} + only: + refs: + - {{branch}} + when: on_success diff --git a/packages/toolkit/project/local/.tenup.yml b/packages/toolkit/project/local/.tenup.yml new file mode 100644 index 00000000..22a0e784 --- /dev/null +++ b/packages/toolkit/project/local/.tenup.yml @@ -0,0 +1,18 @@ +project_name: "{{project_name}}" +environments: + production: + branch: "trunk" + deploy_type: "rsync" + deploy_from: "./" + url: "https://example.com" + deploy_to: "user@1.1.1.1/path/to/wordpress/" + deploy_to_subdir: "wp-content/" + wordpress_version: "{{wordpress_version}}" + staging: + branch: "staging" + deploy_type: "rsync" + deploy_from: "./" + url: "https://staging.example.com" + deploy_to: "user@1.1.1.1/path/to/wordpress/" + deploy_to_subdir: "wp-content/" + wordpress_version: "{{wordpress_version}}" diff --git a/packages/toolkit/project/local/scripts/build.sh b/packages/toolkit/project/local/scripts/build.sh new file mode 100644 index 00000000..060060f3 --- /dev/null +++ b/packages/toolkit/project/local/scripts/build.sh @@ -0,0 +1,6 @@ +# Add builds scripts here. This script will be run from the root of your project (same directory as .tenup.yml). + +composer install --no-dev +nvm install +node -v +npm install diff --git a/packages/toolkit/scripts/project.js b/packages/toolkit/scripts/project.js new file mode 100644 index 00000000..2c7f73f6 --- /dev/null +++ b/packages/toolkit/scripts/project.js @@ -0,0 +1 @@ +require('./project/index'); diff --git a/packages/toolkit/scripts/project/bash/build-setup.sh b/packages/toolkit/scripts/project/bash/build-setup.sh new file mode 100644 index 00000000..642fa0b6 --- /dev/null +++ b/packages/toolkit/scripts/project/bash/build-setup.sh @@ -0,0 +1,11 @@ +maybe_init_nvm() { + + if [ $(find . -name .nvmrc | wc -l) -gt 0 ] && [ ! -f $NVM_DIR/nvm.sh ]; then + echo "This project requires nvm. Please install nvm and try again" + exit 1 + fi + + . $NVM_DIR/nvm.sh +} + +maybe_init_nvm diff --git a/packages/toolkit/scripts/project/bash/create-payload.sh b/packages/toolkit/scripts/project/bash/create-payload.sh new file mode 100644 index 00000000..bab0e5bb --- /dev/null +++ b/packages/toolkit/scripts/project/bash/create-payload.sh @@ -0,0 +1,20 @@ +download() { + if [ `which curl` ]; then + curl -s "$1" > "$2"; + elif [ `which wget` ]; then + wget -nv -O "$2" "$1" + fi +} + +rm -rf payload +mkdir payload +cd payload + +echo "Downloading WordPress $WORDPRESS_VERSION..." +download https://wordpress.org/wordpress-${WORDPRESS_VERSION}.tar.gz wordpress.tar.gz +tar --strip-components=1 -zxmf wordpress.tar.gz -C . +rm wordpress.tar.gz + +echo "rsync -avz --exclude-from=$deploy_file_excludes $project_root/$deploy_from $deploy_to_subdir" + +rsync -avz --exclude-from=$deploy_file_excludes $project_root/$deploy_from $deploy_to_subdir diff --git a/packages/toolkit/scripts/project/bash/init.sh b/packages/toolkit/scripts/project/bash/init.sh new file mode 100644 index 00000000..5b6b1e70 --- /dev/null +++ b/packages/toolkit/scripts/project/bash/init.sh @@ -0,0 +1,93 @@ +# Create dir if it does not exist +if [ ! -d "$init_path" ]; then + mkdir -p "$init_path" +fi + +# Check if init_path direcfory is not empty +if [ $(ls -A "$init_path" | wc -l) -gt 0 ]; then + echo "Directory $init_path is not empty. Please provide an empty directory to initialize the project." + exit 1 +fi + + +# If template is not empty, git clone template to init_path +if [ ! -z "$template" ]; then + git clone "$template" "$init_path" + rm -rf "$init_path/.git" +fi + +# Fixes weird sed error +LANG=C + +# Replace TenUpTheme in all files inside init_path with $name_camel_case recursively +find "$init_path" -type f -exec sed -i -e "s/TenUpTheme/${project_name_camel_case}Theme/g" {} \; +find "$init_path" -type f -exec sed -i -e "s/TenupTheme/${project_name_camel_case}Theme/g" {} \; +find "$init_path" -type f -exec sed -i -e "s/TenUpPlugin/${project_name_camel_case}Plugin/g" {} \; +find "$init_path" -type f -exec sed -i -e "s/TenupPlugin/${project_name_camel_case}Plugin/g" {} \; + +# Replace TENUP_ +find "$init_path" -type f -exec sed -i -e "s/TENUP_/${project_name_uppercase_underscore}_/g" {} \; + +# Replace tenup_ +find "$init_path" -type f -exec sed -i -e "s/tenup_/${project_name_lowercase_underscore}_/g" {} \; + +theme_path="$init_path/themes/${project_name_lowercase_hypen}-theme" +plugin_path="$init_path/plugins/${project_name_lowercase_hypen}-plugin" +mu_plugin_path="$init_path/mu-plugins/${project_name_lowercase_hypen}-plugin" + +# Rename directory themes/tenup-theme to themes/$project_name_lowercase_hypen-theme +if [ -d "$init_path/themes/tenup-theme" ]; then + mv "$init_path/themes/tenup-theme" "$theme_path" +fi + +# Rename directory plugins/tenup-plugin to plugins/$project_name_lowercase_hypen-plugin +if [ -d "$init_path/plugins/tenup-plugin" ]; then + mv "$init_path/plugins/tenup-plugin" "$plugin_path" +fi + +# Rename directory themes/tenup-theme to themes/$project_name_lowercase_hypen-theme +if [ -d "$init_path/themes/10up-theme" ]; then + mv "$init_path/themes/10up-theme" "$theme_path" +fi + +# Rename directory plugins/tenup-plugin to plugins/$project_name_lowercase_hypen-plugin +if [ -d "$init_path/plugins/10up-plugin" ]; then + mv "$init_path/plugins/10up-plugin" "$plugin_path" +fi + +if [ -d "$init_path/mu-plugins/10up-plugin" ]; then + mv "$init_path/mu-plugins/10up-plugin" "$mu_plugin_path" +fi + +find "$init_path" -type f -exec sed -i -e "s/tenup-theme/${project_name_lowercase_hypen}-theme/g" {} \; + +find "$init_path" -type f -exec sed -i -e "s/tenup-plugin/${project_name_lowercase_hypen}-plugin/g" {} \; + +find "$init_path" -type f -exec sed -i -e "s/10up-plugin/${project_name_lowercase_hypen}-plugin/g" {} \; + +find "$init_path" -type f -exec sed -i -e "s/tenup-wp-scaffold/${project_name_lowercase_hypen}/g" {} \; + +find "$init_path" -type f -exec sed -i -e "s/10up\/wp-theme/10up\/${project_name_lowercase_hypen}-theme/g" {} \; + +find "$init_path" -type f -exec sed -i -e "s/10up\/wp-plugin/10up\/${project_name_lowercase_hypen}-plugin/g" {} \; + +find "$init_path" -type f -exec sed -i -e "s/10up Plugin/${project_name} Plugin/g" {} \; +find "$init_path" -type f -exec sed -i -e "s/Tenup Plugin/Project Plugin/g" {} \; +find "$init_path" -type f -exec sed -i -e "s/10up Theme/${project_name} Theme/g" {} \; +find "$init_path" -type f -exec sed -i -e "s/Tenup Theme/${project_name} Theme/g" {} \; + +rsync -rc "$toolkit_path/project/local/" "$init_path" + +composer update --no-interaction --working-dir="$init_path" + +if [ -d "$theme_path" ]; then + composer update --no-interaction --working-dir="$theme_path" +fi + +if [ -d "$plugin_path" ]; then + composer update --no-interaction --working-dir="$plugin_path" +fi + +if [ -d "$mu_plugin_path" ]; then + composer update --no-interaction --working-dir="$mu_plugin_path" +fi diff --git a/packages/toolkit/scripts/project/build.js b/packages/toolkit/scripts/project/build.js new file mode 100644 index 00000000..92e789af --- /dev/null +++ b/packages/toolkit/scripts/project/build.js @@ -0,0 +1,40 @@ +const { execSync } = require('child_process'); +const chalk = require('chalk'); + +const { log } = console; + +const fs = require('fs'); +const { getProjectRoot, getProjectVariables, setEnvVariables } = require('../../utils'); + +const description = '10up-toolkit project build'; + +const run = async () => { + const root = getProjectRoot(); + + if (!root) { + log(chalk.red('This is not a project.')); + process.exit(1); + } + + const variables = getProjectVariables(); + + if (!variables) { + log(chalk.red('No .tenup.yml found.')); + process.exit(1); + } + + setEnvVariables(variables); + + if (fs.existsSync(variables.build_script_path)) { + execSync(`. ${__dirname}/bash/build-setup.sh; . ${variables.build_script_path}`, { + stdio: 'inherit', + }); + } else { + log(chalk.red('No build script found.')); + process.exit(1); + } + + log(chalk.green('Build complete.')); +}; + +module.exports = { run, description }; diff --git a/packages/toolkit/scripts/project/create-payload.js b/packages/toolkit/scripts/project/create-payload.js new file mode 100644 index 00000000..ddd840fd --- /dev/null +++ b/packages/toolkit/scripts/project/create-payload.js @@ -0,0 +1,62 @@ +const { execSync } = require('child_process'); +const chalk = require('chalk'); + +const { log } = console; + +const fs = require('fs'); +const { + getProjectRoot, + getProjectVariables, + setEnvVariables, + getEnvironmentFromBranch, +} = require('../../utils'); + +const description = '10up-toolkit project create-payload '; + +const run = async () => { + const branch = process.argv.slice(3)[0]; + + if (!branch || branch.match(/--/)) { + log(description); + log(chalk.red('No branch specified.')); + process.exit(1); + } + + const root = getProjectRoot(); + + if (!root) { + log(chalk.red('This is not a project.')); + process.exit(1); + } + + let variables = getProjectVariables(); + + if (!variables) { + log(chalk.red('No .tenup.yml found.')); + process.exit(1); + } + + const matchedEnvironment = getEnvironmentFromBranch(branch, variables.environments); + + if (!matchedEnvironment) { + log(chalk.red(`No environment found matching branch \`${branch}\`.`)); + process.exit(0); + } + + variables = { ...variables, ...matchedEnvironment }; + + log(`Creating payload for environment ${matchedEnvironment.environment}.`); + + setEnvVariables(variables); + + // First run build + await require('./build').run(); + + if (fs.existsSync(variables.create_payload_script_path)) { + execSync(`sh ${variables.create_payload_script_path}`, { stdio: 'inherit' }); + } + + log(chalk.green('Payload created.')); +}; + +module.exports = { run, description }; diff --git a/packages/toolkit/scripts/project/generate-ci.js b/packages/toolkit/scripts/project/generate-ci.js new file mode 100644 index 00000000..c6043f56 --- /dev/null +++ b/packages/toolkit/scripts/project/generate-ci.js @@ -0,0 +1,121 @@ +const inquirer = require('inquirer'); +const { resolve } = require('path'); +const chalk = require('chalk'); + +const { log } = console; +const fs = require('fs'); + +const { getProjectVariables, getProjectRoot, replaceVariables } = require('../../utils'); + +const { getArgFromCLI, hasArgInCLI } = require('../../utils'); + +const confirm = !!hasArgInCLI('--confirm'); + +let path = hasArgInCLI('--path') ? getArgFromCLI('--path') : '.'; + +let type = hasArgInCLI('--type') ? getArgFromCLI('--type') : ''; + +const description = '10up-toolkit project generate-ci [--type=] [--path=]'; + +const run = async (cnf = false, pth = null) => { + if (pth) { + path = pth; + } + + const variables = getProjectVariables(path); + const root = getProjectRoot(path); + + const questions = []; + let results = {}; + + if (!variables) { + log(chalk.red('No .tenup.yml found.')); + process.exit(1); + } + + if (!confirm && !cnf) { + const confirmResults = await inquirer.prompt([ + { + type: 'confirm', + name: 'confirm', + message: 'Are you sure you want do this? It will overwrite any existing CI files.', + default: 'y', + }, + ]); + + if (!confirmResults.confirm) { + process.exit(1); + } + } + + if (!type) { + questions.push({ + type: 'list', + name: 'type', + choices: [ + { + name: 'GitLab', + value: 'gitlab', + }, + { + name: 'None', + value: 'none', + }, + /* { + name: 'GitHub', + value: 'github', + }, */ + ], + message: 'Choose a CI type:', + }); + } + + if (questions.length) { + results = await inquirer.prompt(questions); + } + + type = results.type || type; + + if (type === 'none') { + return; + } + + if (type === 'gitlab') { + // Load template file into a string + const template = fs.readFileSync( + resolve(__dirname, '../../project/gitlab/.gitlab-ci.tmpl'), + 'utf8', + ); + + let preparedTemplate = replaceVariables(template, variables); + + Object.keys(variables.environments).forEach((env) => { + const environment = variables.environments[env]; + + const fileEnv = env === 'production' ? 'production' : 'staging'; + + let filePath = `../../project/gitlab/deploy-configs/rsync-${fileEnv}.tmpl`; + + if (environment.deploy_type === 'wpe' || environment.deploy_type === 'wpengine') { + filePath = `../../project/gitlab/deploy-configs/wpe-${fileEnv}.tmpl`; + } else if (environment.deploy_type === 'pantheon') { + filePath = `../../project/gitlab/deploy-configs/pantheon-${fileEnv}.tmpl`; + } + + const deployTemplate = fs.readFileSync(resolve(__dirname, filePath), 'utf8'); + + const preparedDeployTemplate = replaceVariables(deployTemplate, { + ...variables, + ...environment, + }); + + preparedTemplate += `\n${preparedDeployTemplate}`; + }); + + fs.writeFileSync(`${root}/.gitlab-ci.yml`, preparedTemplate); + } + + log(chalk.green('CI generated.')); +}; + +module.exports = { run, description }; diff --git a/packages/toolkit/scripts/project/index.js b/packages/toolkit/scripts/project/index.js new file mode 100644 index 00000000..66a5f69d --- /dev/null +++ b/packages/toolkit/scripts/project/index.js @@ -0,0 +1,33 @@ +const chalk = require('chalk'); +const { getArgsFromCLI } = require('../../utils'); + +const { log } = console; +const args = getArgsFromCLI(); + +(async () => { + if (args && args.length) { + const subcommand = args[0]; + + const command = require(`./${subcommand}`); + + if (!command || !command.run) { + log(chalk.red('Command not found.')); + process.exit(1); + } + + await command.run(); + } else { + // Read all files in current directory except index.js + const files = require('fs') + .readdirSync(__dirname) + .filter((file) => file !== 'index.js' && file.match(/\.js$/)); + + files.forEach((file) => { + const command = require(`./${file}`); + + log(command.description); + }); + } + + process.exit(0); +})(); diff --git a/packages/toolkit/scripts/project/init.js b/packages/toolkit/scripts/project/init.js new file mode 100644 index 00000000..054f6504 --- /dev/null +++ b/packages/toolkit/scripts/project/init.js @@ -0,0 +1,145 @@ +const inquirer = require('inquirer'); +const { resolve } = require('path'); +const chalk = require('chalk'); + +const { log } = console; +const fs = require('fs'); + +const { execSync } = require('child_process'); + +const { + getWordPressLatestVersion, + replaceVariables, + setEnvVariables, +} = require('../../utils/project'); + +const { getArgFromCLI, hasArgInCLI } = require('../../utils'); + +const path = hasArgInCLI('--path') ? getArgFromCLI('--path') : '.'; + +const name = hasArgInCLI('--name') ? getArgFromCLI('--name') : ''; + +const confirm = !!hasArgInCLI('--confirm'); + +const template = hasArgInCLI('--template') ? getArgFromCLI('--template') : ''; + +const variables = require(`../../project/default-variables.json`); + +const description = + '10up-toolkit project init [--path=] [--name=] [--template=