From d015950e8601ce728b4dee3d67a88fbe4d23768f Mon Sep 17 00:00:00 2001 From: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com> Date: Thu, 2 Nov 2023 16:56:22 -0700 Subject: [PATCH] Wireit Dependencies Set --- .pnpmfile.cjs | 33 ++++-- packages/js/admin-e2e-tests/package.json | 15 ++- packages/js/admin-layout/package.json | 10 +- packages/js/ai/package.json | 15 ++- packages/js/api/package.json | 5 +- packages/js/block-templates/package.json | 20 +++- packages/js/components/package.json | 40 ++++++- packages/js/csv-export/package.json | 10 +- packages/js/currency/package.json | 15 ++- .../js/customer-effort-score/package.json | 35 +++++- packages/js/data/package.json | 25 +++- packages/js/date/package.json | 10 +- packages/js/experimental/package.json | 20 +++- packages/js/explat/package.json | 10 +- .../js/expression-evaluation/package.json | 10 +- packages/js/integrate-plugin/package.json | 10 +- packages/js/internal-js-tests/package.json | 5 +- packages/js/navigation/package.json | 10 +- packages/js/notices/package.json | 5 +- packages/js/number/package.json | 10 +- packages/js/onboarding/package.json | 35 +++++- packages/js/product-editor/package.json | 65 ++++++++++- packages/js/tracks/package.json | 5 +- plugins/woocommerce-admin/package.json | 109 +++++++++++++++++- .../woocommerce/client/legacy/package.json | 9 +- plugins/woocommerce/package.json | 8 +- pnpm-lock.yaml | 25 ++-- 27 files changed, 504 insertions(+), 65 deletions(-) diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs index b3bb24ef3b5..4ab16df1e9c 100644 --- a/.pnpmfile.cjs +++ b/.pnpmfile.cjs @@ -48,7 +48,7 @@ function updatePackageFile( packagePath, packageFile ) { * * @param {string} packageFile The package file to read file outputs from. * - * @return {Array.} The globs describing the package's files. + * @return {Object.} The include and exclude globs describing the package's files. */ function getPackageOutputs( packageFile ) { // All of the outputs should be relative to the package's path instead of the monorepo root. @@ -56,7 +56,11 @@ function getPackageOutputs( packageFile ) { const basePath = path.join( 'node_modules', packageFile.name ); // We're going to construct the package outputs according to the same rules that NPM follows when packaging. - const packageOutputs = []; + // Note: In order to work with wireit optimally we need to put the excludes at the very end of the list. + const packageOutputs = { + include: [], + exclude: [], + }; // Packages that explicitly declare their outputs have made this easy for us. if ( packageFile.files ) { @@ -66,28 +70,32 @@ function getPackageOutputs( packageFile ) { let relativeGlob = fileGlob; // Negation globs need to move the exclamation point to the beginning of the output glob. - let negation = relativeGlob.startsWith( '!' ) ? '!' : ''; + let negation = relativeGlob.startsWith( '!' ) ? true : false; if ( negation ) { relativeGlob = relativeGlob.substring( 1 ); } - // Normalize leading slashes. + // Remove leading slashes. if ( relativeGlob.startsWith( '/' ) ) { relativeGlob = relativeGlob.substring( 1 ); } // Now we can construct a glob relative to the package directory. - packageOutputs.push( `${ negation }${ basePath }/${ relativeGlob }` ); + if ( negation ) { + packageOutputs.exclude.push( `!${ basePath }/${ relativeGlob }` ); + } else { + packageOutputs.include.push( `${ basePath }/${ relativeGlob }` ); + } } } else { // This is a VERY heavy-handed approach and will simply include every file in the package directory. - packageOutputs.push( `${ basePath }/**/*` ); + packageOutputs.include.push( `${ basePath }/` ); // We can make this a little bit smarter by ignoring some common directories. - packageOutputs.push( `!${ basePath }/node_modules` ); - packageOutputs.push( `!${ basePath }/.git` ); - packageOutputs.push( `!${ basePath }/.svn` ); - packageOutputs.push( `!${ basePath }/src` ); // We generally name our source directories "src" and don't need source files. + packageOutputs.exclude.push( `!${ basePath }/node_modules` ); + packageOutputs.exclude.push( `!${ basePath }/.git` ); + packageOutputs.exclude.push( `!${ basePath }/.svn` ); + packageOutputs.exclude.push( `!${ basePath }/src` ); // We generally name our source directories "src" and don't need source files. } return packageOutputs; @@ -204,7 +212,10 @@ function updateWireitDependencies( lockPackages, context ) { // wireit and it will fingerprint them for us. for ( const linkedPackage of linkedPackages ) { const packageOutputs = getPackageOutputs( linkedPackage ); - packageFile.wireit.dependencyOutputs.files.push( ...packageOutputs ); + // Put includes at the front and excludes at the end. This is important because otherwise + // wireit will blow the call stack due to the way it handles negation globs. + packageFile.wireit.dependencyOutputs.files.unshift( ...packageOutputs.include ); + packageFile.wireit.dependencyOutputs.files.push( ...packageOutputs.exclude ); context.log( `[wireit][${ packageFile.name }] Added '${ linkedPackage.name }' Outputs` diff --git a/packages/js/admin-e2e-tests/package.json b/packages/js/admin-e2e-tests/package.json index 62469ecc58b..96275d031b7 100644 --- a/packages/js/admin-e2e-tests/package.json +++ b/packages/js/admin-e2e-tests/package.json @@ -91,7 +91,20 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/e2e-environment/", + "node_modules/@woocommerce/e2e-utils/", + "package.json", + "!node_modules/@woocommerce/e2e-utils/node_modules", + "!node_modules/@woocommerce/e2e-utils/.git", + "!node_modules/@woocommerce/e2e-utils/.svn", + "!node_modules/@woocommerce/e2e-utils/src", + "!node_modules/@woocommerce/e2e-environment/node_modules", + "!node_modules/@woocommerce/e2e-environment/.git", + "!node_modules/@woocommerce/e2e-environment/.svn", + "!node_modules/@woocommerce/e2e-environment/src" ] } } diff --git a/packages/js/admin-layout/package.json b/packages/js/admin-layout/package.json index f5526401d77..60aaaeda682 100644 --- a/packages/js/admin-layout/package.json +++ b/packages/js/admin-layout/package.json @@ -114,7 +114,15 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json", + "!node_modules/@woocommerce/internal-style-build/node_modules", + "!node_modules/@woocommerce/internal-style-build/.git", + "!node_modules/@woocommerce/internal-style-build/.svn", + "!node_modules/@woocommerce/internal-style-build/src" ] } } diff --git a/packages/js/ai/package.json b/packages/js/ai/package.json index d6d09ab2e36..98508222266 100644 --- a/packages/js/ai/package.json +++ b/packages/js/ai/package.json @@ -147,7 +147,20 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src", + "!node_modules/@woocommerce/internal-style-build/node_modules", + "!node_modules/@woocommerce/internal-style-build/.git", + "!node_modules/@woocommerce/internal-style-build/.svn", + "!node_modules/@woocommerce/internal-style-build/src" ] } } diff --git a/packages/js/api/package.json b/packages/js/api/package.json index 24a752a9e80..2ada7f95f38 100644 --- a/packages/js/api/package.json +++ b/packages/js/api/package.json @@ -93,7 +93,10 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json" ] } } diff --git a/packages/js/block-templates/package.json b/packages/js/block-templates/package.json index 735da545687..509029855a7 100644 --- a/packages/js/block-templates/package.json +++ b/packages/js/block-templates/package.json @@ -137,7 +137,25 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/expression-evaluation/", + "package.json", + "!node_modules/@woocommerce/expression-evaluation/node_modules", + "!node_modules/@woocommerce/expression-evaluation/.git", + "!node_modules/@woocommerce/expression-evaluation/.svn", + "!node_modules/@woocommerce/expression-evaluation/src", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src", + "!node_modules/@woocommerce/internal-style-build/node_modules", + "!node_modules/@woocommerce/internal-style-build/.git", + "!node_modules/@woocommerce/internal-style-build/.svn", + "!node_modules/@woocommerce/internal-style-build/src" ] } } diff --git a/packages/js/components/package.json b/packages/js/components/package.json index 1017c534d5b..14b6e311162 100644 --- a/packages/js/components/package.json +++ b/packages/js/components/package.json @@ -221,7 +221,45 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/navigation/", + "node_modules/@woocommerce/date/", + "node_modules/@woocommerce/data/", + "node_modules/@woocommerce/currency/", + "node_modules/@woocommerce/csv-export/", + "package.json", + "!node_modules/@woocommerce/csv-export/node_modules", + "!node_modules/@woocommerce/csv-export/.git", + "!node_modules/@woocommerce/csv-export/.svn", + "!node_modules/@woocommerce/csv-export/src", + "!node_modules/@woocommerce/currency/node_modules", + "!node_modules/@woocommerce/currency/.git", + "!node_modules/@woocommerce/currency/.svn", + "!node_modules/@woocommerce/currency/src", + "!node_modules/@woocommerce/data/node_modules", + "!node_modules/@woocommerce/data/.git", + "!node_modules/@woocommerce/data/.svn", + "!node_modules/@woocommerce/data/src", + "!node_modules/@woocommerce/date/node_modules", + "!node_modules/@woocommerce/date/.git", + "!node_modules/@woocommerce/date/.svn", + "!node_modules/@woocommerce/date/src", + "!node_modules/@woocommerce/navigation/node_modules", + "!node_modules/@woocommerce/navigation/.git", + "!node_modules/@woocommerce/navigation/.svn", + "!node_modules/@woocommerce/navigation/src", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src", + "!node_modules/@woocommerce/internal-style-build/node_modules", + "!node_modules/@woocommerce/internal-style-build/.git", + "!node_modules/@woocommerce/internal-style-build/.svn", + "!node_modules/@woocommerce/internal-style-build/src" ] } } diff --git a/packages/js/csv-export/package.json b/packages/js/csv-export/package.json index 785b83cb3f6..30b90a922f4 100644 --- a/packages/js/csv-export/package.json +++ b/packages/js/csv-export/package.json @@ -106,7 +106,15 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src" ] } } diff --git a/packages/js/currency/package.json b/packages/js/currency/package.json index 420eacdd638..ecf17985544 100644 --- a/packages/js/currency/package.json +++ b/packages/js/currency/package.json @@ -109,7 +109,20 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/number/", + "package.json", + "!node_modules/@woocommerce/number/node_modules", + "!node_modules/@woocommerce/number/.git", + "!node_modules/@woocommerce/number/.svn", + "!node_modules/@woocommerce/number/src", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src" ] } } diff --git a/packages/js/customer-effort-score/package.json b/packages/js/customer-effort-score/package.json index 41b79401a89..d182dcb364d 100644 --- a/packages/js/customer-effort-score/package.json +++ b/packages/js/customer-effort-score/package.json @@ -146,7 +146,40 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/tracks/", + "node_modules/@woocommerce/navigation/", + "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/data/", + "node_modules/@woocommerce/experimental/", + "package.json", + "!node_modules/@woocommerce/experimental/node_modules", + "!node_modules/@woocommerce/experimental/.git", + "!node_modules/@woocommerce/experimental/.svn", + "!node_modules/@woocommerce/experimental/src", + "!node_modules/@woocommerce/data/node_modules", + "!node_modules/@woocommerce/data/.git", + "!node_modules/@woocommerce/data/.svn", + "!node_modules/@woocommerce/data/src", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src", + "!node_modules/@woocommerce/internal-style-build/node_modules", + "!node_modules/@woocommerce/internal-style-build/.git", + "!node_modules/@woocommerce/internal-style-build/.svn", + "!node_modules/@woocommerce/internal-style-build/src", + "!node_modules/@woocommerce/navigation/node_modules", + "!node_modules/@woocommerce/navigation/.git", + "!node_modules/@woocommerce/navigation/.svn", + "!node_modules/@woocommerce/navigation/src", + "!node_modules/@woocommerce/tracks/node_modules", + "!node_modules/@woocommerce/tracks/.git", + "!node_modules/@woocommerce/tracks/.svn", + "!node_modules/@woocommerce/tracks/src" ] } } diff --git a/packages/js/data/package.json b/packages/js/data/package.json index f84ff991002..adbd64c9744 100644 --- a/packages/js/data/package.json +++ b/packages/js/data/package.json @@ -138,7 +138,30 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/tracks/", + "node_modules/@woocommerce/navigation/", + "node_modules/@woocommerce/date/", + "package.json", + "!node_modules/@woocommerce/date/node_modules", + "!node_modules/@woocommerce/date/.git", + "!node_modules/@woocommerce/date/.svn", + "!node_modules/@woocommerce/date/src", + "!node_modules/@woocommerce/navigation/node_modules", + "!node_modules/@woocommerce/navigation/.git", + "!node_modules/@woocommerce/navigation/.svn", + "!node_modules/@woocommerce/navigation/src", + "!node_modules/@woocommerce/tracks/node_modules", + "!node_modules/@woocommerce/tracks/.git", + "!node_modules/@woocommerce/tracks/.svn", + "!node_modules/@woocommerce/tracks/src", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src" ] } } diff --git a/packages/js/date/package.json b/packages/js/date/package.json index 0a5c814412b..c0541a0d440 100644 --- a/packages/js/date/package.json +++ b/packages/js/date/package.json @@ -116,7 +116,15 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src" ] } } diff --git a/packages/js/experimental/package.json b/packages/js/experimental/package.json index ec1522ba745..72d8f55d2ea 100644 --- a/packages/js/experimental/package.json +++ b/packages/js/experimental/package.json @@ -156,7 +156,25 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/components/", + "package.json", + "!node_modules/@woocommerce/components/node_modules", + "!node_modules/@woocommerce/components/.git", + "!node_modules/@woocommerce/components/.svn", + "!node_modules/@woocommerce/components/src", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src", + "!node_modules/@woocommerce/internal-style-build/node_modules", + "!node_modules/@woocommerce/internal-style-build/.git", + "!node_modules/@woocommerce/internal-style-build/.svn", + "!node_modules/@woocommerce/internal-style-build/src" ] } } diff --git a/packages/js/explat/package.json b/packages/js/explat/package.json index 2393e4a6f6c..1f2eedab6ee 100644 --- a/packages/js/explat/package.json +++ b/packages/js/explat/package.json @@ -113,7 +113,15 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src" ] } } diff --git a/packages/js/expression-evaluation/package.json b/packages/js/expression-evaluation/package.json index e319e0dcbf1..eed0971e267 100644 --- a/packages/js/expression-evaluation/package.json +++ b/packages/js/expression-evaluation/package.json @@ -99,7 +99,15 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src" ] } } diff --git a/packages/js/integrate-plugin/package.json b/packages/js/integrate-plugin/package.json index 01a5d6a5363..5879a9e40c5 100644 --- a/packages/js/integrate-plugin/package.json +++ b/packages/js/integrate-plugin/package.json @@ -115,7 +115,15 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src" ] } } diff --git a/packages/js/internal-js-tests/package.json b/packages/js/internal-js-tests/package.json index ee845e3e59a..93f4bd05c75 100644 --- a/packages/js/internal-js-tests/package.json +++ b/packages/js/internal-js-tests/package.json @@ -91,7 +91,10 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json" ] } } diff --git a/packages/js/navigation/package.json b/packages/js/navigation/package.json index 299b09b19a0..cb8bf46395d 100644 --- a/packages/js/navigation/package.json +++ b/packages/js/navigation/package.json @@ -119,7 +119,15 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src" ] } } diff --git a/packages/js/notices/package.json b/packages/js/notices/package.json index 670912ff6ac..35ffdbe0b30 100644 --- a/packages/js/notices/package.json +++ b/packages/js/notices/package.json @@ -108,7 +108,10 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json" ] } } diff --git a/packages/js/number/package.json b/packages/js/number/package.json index 138d03ac2ba..e6aa9a34759 100644 --- a/packages/js/number/package.json +++ b/packages/js/number/package.json @@ -105,7 +105,15 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src" ] } } diff --git a/packages/js/onboarding/package.json b/packages/js/onboarding/package.json index 822250f8570..bb14e71fb1a 100644 --- a/packages/js/onboarding/package.json +++ b/packages/js/onboarding/package.json @@ -142,7 +142,40 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/tracks/", + "node_modules/@woocommerce/explat/", + "node_modules/@woocommerce/experimental/", + "node_modules/@woocommerce/components/", + "package.json", + "!node_modules/@woocommerce/components/node_modules", + "!node_modules/@woocommerce/components/.git", + "!node_modules/@woocommerce/components/.svn", + "!node_modules/@woocommerce/components/src", + "!node_modules/@woocommerce/experimental/node_modules", + "!node_modules/@woocommerce/experimental/.git", + "!node_modules/@woocommerce/experimental/.svn", + "!node_modules/@woocommerce/experimental/src", + "!node_modules/@woocommerce/explat/node_modules", + "!node_modules/@woocommerce/explat/.git", + "!node_modules/@woocommerce/explat/.svn", + "!node_modules/@woocommerce/explat/src", + "!node_modules/@woocommerce/tracks/node_modules", + "!node_modules/@woocommerce/tracks/.git", + "!node_modules/@woocommerce/tracks/.svn", + "!node_modules/@woocommerce/tracks/src", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src", + "!node_modules/@woocommerce/internal-style-build/node_modules", + "!node_modules/@woocommerce/internal-style-build/.git", + "!node_modules/@woocommerce/internal-style-build/.svn", + "!node_modules/@woocommerce/internal-style-build/src" ] } } diff --git a/packages/js/product-editor/package.json b/packages/js/product-editor/package.json index 20446518411..60398d57c77 100644 --- a/packages/js/product-editor/package.json +++ b/packages/js/product-editor/package.json @@ -194,7 +194,70 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/tracks/", + "node_modules/@woocommerce/number/", + "node_modules/@woocommerce/navigation/", + "node_modules/@woocommerce/experimental/", + "node_modules/@woocommerce/data/", + "node_modules/@woocommerce/customer-effort-score/", + "node_modules/@woocommerce/currency/", + "node_modules/@woocommerce/components/", + "node_modules/@woocommerce/block-templates/", + "node_modules/@woocommerce/admin-layout/", + "package.json", + "!node_modules/@woocommerce/admin-layout/node_modules", + "!node_modules/@woocommerce/admin-layout/.git", + "!node_modules/@woocommerce/admin-layout/.svn", + "!node_modules/@woocommerce/admin-layout/src", + "!node_modules/@woocommerce/block-templates/node_modules", + "!node_modules/@woocommerce/block-templates/.git", + "!node_modules/@woocommerce/block-templates/.svn", + "!node_modules/@woocommerce/block-templates/src", + "!node_modules/@woocommerce/components/node_modules", + "!node_modules/@woocommerce/components/.git", + "!node_modules/@woocommerce/components/.svn", + "!node_modules/@woocommerce/components/src", + "!node_modules/@woocommerce/currency/node_modules", + "!node_modules/@woocommerce/currency/.git", + "!node_modules/@woocommerce/currency/.svn", + "!node_modules/@woocommerce/currency/src", + "!node_modules/@woocommerce/customer-effort-score/node_modules", + "!node_modules/@woocommerce/customer-effort-score/.git", + "!node_modules/@woocommerce/customer-effort-score/.svn", + "!node_modules/@woocommerce/customer-effort-score/src", + "!node_modules/@woocommerce/data/node_modules", + "!node_modules/@woocommerce/data/.git", + "!node_modules/@woocommerce/data/.svn", + "!node_modules/@woocommerce/data/src", + "!node_modules/@woocommerce/experimental/node_modules", + "!node_modules/@woocommerce/experimental/.git", + "!node_modules/@woocommerce/experimental/.svn", + "!node_modules/@woocommerce/experimental/src", + "!node_modules/@woocommerce/navigation/node_modules", + "!node_modules/@woocommerce/navigation/.git", + "!node_modules/@woocommerce/navigation/.svn", + "!node_modules/@woocommerce/navigation/src", + "!node_modules/@woocommerce/number/node_modules", + "!node_modules/@woocommerce/number/.git", + "!node_modules/@woocommerce/number/.svn", + "!node_modules/@woocommerce/number/src", + "!node_modules/@woocommerce/tracks/node_modules", + "!node_modules/@woocommerce/tracks/.git", + "!node_modules/@woocommerce/tracks/.svn", + "!node_modules/@woocommerce/tracks/src", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src", + "!node_modules/@woocommerce/internal-style-build/node_modules", + "!node_modules/@woocommerce/internal-style-build/.git", + "!node_modules/@woocommerce/internal-style-build/.svn", + "!node_modules/@woocommerce/internal-style-build/src" ] } } diff --git a/packages/js/tracks/package.json b/packages/js/tracks/package.json index dc883d2404f..48e6bdf04a6 100644 --- a/packages/js/tracks/package.json +++ b/packages/js/tracks/package.json @@ -95,7 +95,10 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "package.json" ] } } diff --git a/plugins/woocommerce-admin/package.json b/plugins/woocommerce-admin/package.json index 01b2835e642..77b68110709 100644 --- a/plugins/woocommerce-admin/package.json +++ b/plugins/woocommerce-admin/package.json @@ -274,9 +274,7 @@ "client/**/*.{js,jsx,ts,tsx}", "client/**/*.scss" ], - "output": [ - "../woocommerce/assets/client" - ], + "output": [], "dependencies": [ "dependencyOutputs" ] @@ -290,8 +288,109 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "node_modules/@woocommerce/tracks/", + "node_modules/@woocommerce/product-editor/", + "node_modules/@woocommerce/onboarding/", + "node_modules/@woocommerce/number/", + "node_modules/@woocommerce/notices/", + "node_modules/@woocommerce/navigation/", + "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/explat/", + "node_modules/@woocommerce/experimental/", + "node_modules/@woocommerce/eslint-plugin/configs", + "node_modules/@woocommerce/eslint-plugin/rules", + "node_modules/@woocommerce/eslint-plugin/index.js", + "node_modules/@woocommerce/dependency-extraction-webpack-plugin/", + "node_modules/@woocommerce/date/", + "node_modules/@woocommerce/data/", + "node_modules/@woocommerce/customer-effort-score/", + "node_modules/@woocommerce/currency/", + "node_modules/@woocommerce/csv-export/", + "node_modules/@woocommerce/components/", + "node_modules/@woocommerce/ai/", + "node_modules/@woocommerce/admin-layout/", + "node_modules/@woocommerce/admin-e2e-tests/build/", + "package.json", + "!node_modules/@woocommerce/admin-e2e-tests/*.ts.map", + "!node_modules/@woocommerce/admin-e2e-tests/*.tsbuildinfo", + "!node_modules/@woocommerce/admin-layout/node_modules", + "!node_modules/@woocommerce/admin-layout/.git", + "!node_modules/@woocommerce/admin-layout/.svn", + "!node_modules/@woocommerce/admin-layout/src", + "!node_modules/@woocommerce/ai/node_modules", + "!node_modules/@woocommerce/ai/.git", + "!node_modules/@woocommerce/ai/.svn", + "!node_modules/@woocommerce/ai/src", + "!node_modules/@woocommerce/components/node_modules", + "!node_modules/@woocommerce/components/.git", + "!node_modules/@woocommerce/components/.svn", + "!node_modules/@woocommerce/components/src", + "!node_modules/@woocommerce/csv-export/node_modules", + "!node_modules/@woocommerce/csv-export/.git", + "!node_modules/@woocommerce/csv-export/.svn", + "!node_modules/@woocommerce/csv-export/src", + "!node_modules/@woocommerce/currency/node_modules", + "!node_modules/@woocommerce/currency/.git", + "!node_modules/@woocommerce/currency/.svn", + "!node_modules/@woocommerce/currency/src", + "!node_modules/@woocommerce/customer-effort-score/node_modules", + "!node_modules/@woocommerce/customer-effort-score/.git", + "!node_modules/@woocommerce/customer-effort-score/.svn", + "!node_modules/@woocommerce/customer-effort-score/src", + "!node_modules/@woocommerce/data/node_modules", + "!node_modules/@woocommerce/data/.git", + "!node_modules/@woocommerce/data/.svn", + "!node_modules/@woocommerce/data/src", + "!node_modules/@woocommerce/date/node_modules", + "!node_modules/@woocommerce/date/.git", + "!node_modules/@woocommerce/date/.svn", + "!node_modules/@woocommerce/date/src", + "!node_modules/@woocommerce/dependency-extraction-webpack-plugin/node_modules", + "!node_modules/@woocommerce/dependency-extraction-webpack-plugin/.git", + "!node_modules/@woocommerce/dependency-extraction-webpack-plugin/.svn", + "!node_modules/@woocommerce/dependency-extraction-webpack-plugin/src", + "!node_modules/@woocommerce/experimental/node_modules", + "!node_modules/@woocommerce/experimental/.git", + "!node_modules/@woocommerce/experimental/.svn", + "!node_modules/@woocommerce/experimental/src", + "!node_modules/@woocommerce/explat/node_modules", + "!node_modules/@woocommerce/explat/.git", + "!node_modules/@woocommerce/explat/.svn", + "!node_modules/@woocommerce/explat/src", + "!node_modules/@woocommerce/internal-js-tests/node_modules", + "!node_modules/@woocommerce/internal-js-tests/.git", + "!node_modules/@woocommerce/internal-js-tests/.svn", + "!node_modules/@woocommerce/internal-js-tests/src", + "!node_modules/@woocommerce/internal-style-build/node_modules", + "!node_modules/@woocommerce/internal-style-build/.git", + "!node_modules/@woocommerce/internal-style-build/.svn", + "!node_modules/@woocommerce/internal-style-build/src", + "!node_modules/@woocommerce/navigation/node_modules", + "!node_modules/@woocommerce/navigation/.git", + "!node_modules/@woocommerce/navigation/.svn", + "!node_modules/@woocommerce/navigation/src", + "!node_modules/@woocommerce/notices/node_modules", + "!node_modules/@woocommerce/notices/.git", + "!node_modules/@woocommerce/notices/.svn", + "!node_modules/@woocommerce/notices/src", + "!node_modules/@woocommerce/number/node_modules", + "!node_modules/@woocommerce/number/.git", + "!node_modules/@woocommerce/number/.svn", + "!node_modules/@woocommerce/number/src", + "!node_modules/@woocommerce/onboarding/node_modules", + "!node_modules/@woocommerce/onboarding/.git", + "!node_modules/@woocommerce/onboarding/.svn", + "!node_modules/@woocommerce/onboarding/src", + "!node_modules/@woocommerce/product-editor/node_modules", + "!node_modules/@woocommerce/product-editor/.git", + "!node_modules/@woocommerce/product-editor/.svn", + "!node_modules/@woocommerce/product-editor/src", + "!node_modules/@woocommerce/tracks/node_modules", + "!node_modules/@woocommerce/tracks/.git", + "!node_modules/@woocommerce/tracks/.svn", + "!node_modules/@woocommerce/tracks/src" ] } } -} +} \ No newline at end of file diff --git a/plugins/woocommerce/client/legacy/package.json b/plugins/woocommerce/client/legacy/package.json index b1fd21c588e..503b228c964 100644 --- a/plugins/woocommerce/client/legacy/package.json +++ b/plugins/woocommerce/client/legacy/package.json @@ -50,10 +50,7 @@ "js/**/*.js", "css/**/*.scss" ], - "output": [ - "../../assets/css", - "../../assets/js" - ], + "output": [], "dependencies": [ "dependencyOutputs" ] @@ -61,8 +58,8 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "required" + "package.json" ] } } -} +} \ No newline at end of file diff --git a/plugins/woocommerce/package.json b/plugins/woocommerce/package.json index 9690139c54d..8577ea13279 100644 --- a/plugins/woocommerce/package.json +++ b/plugins/woocommerce/package.json @@ -13,10 +13,6 @@ "build": "pnpm --if-present --filter=\"$npm_package_name...\" run build:project", "build:zip": "./bin/build-zip.sh", "changelog": "composer exec -- changelogger", - "lint": "pnpm --if-present run '/^lint:lang:.*$/'", - "lint:fix": "pnpm --if-present run '/^lint:fix:lang:.*$/'", - "lint:fix:lang:php": "composer run-script phpcbf", - "lint:lang:php": "composer run-script phpcs", "docker:down": "pnpm exec wc-e2e docker:down", "docker:ssh": "pnpm exec wc-e2e docker:ssh", "docker:up": "pnpm exec wc-e2e docker:up", @@ -34,6 +30,10 @@ "env:test:cot": "WP_ENV_LIFECYCLE_SCRIPT_AFTER_START='ENABLE_HPOS=1 ./tests/e2e-pw/bin/test-env-setup.sh' && ENABLE_HPOS=1 pnpm run env:dev", "preinstall": "npx only-allow pnpm", "postinstall": "composer install", + "lint": "pnpm --if-present run '/^lint:lang:.*$/'", + "lint:fix": "pnpm --if-present run '/^lint:fix:lang:.*$/'", + "lint:fix:lang:php": "composer run-script phpcbf", + "lint:lang:php": "composer run-script phpcs", "lint:php": "composer run-script phpcs", "lint:php:changes": "composer run-script lint", "lint:php:changes:branch": "composer run-script lint-branch", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2f9ac45872f..685e5b6e98c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -185,16 +185,6 @@ importers: version: 0.14.1 packages/js/admin-layout: - dependencies: - '@woocommerce/components': - specifier: workspace:* - version: link:../components - '@wordpress/components': - specifier: wp-6.0 - version: 19.8.5(@types/react@17.0.71)(react-dom@17.0.2)(react-with-direction@1.4.0)(react@17.0.2) - '@wordpress/element': - specifier: wp-6.0 - version: 4.4.1 devDependencies: '@types/react': specifier: ^17.0.71 @@ -17100,7 +17090,7 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@testing-library/dom': 8.11.3 - '@types/react-dom': 18.0.10 + '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -17897,7 +17887,7 @@ packages: dependencies: '@types/react': 17.0.71 '@types/wordpress__blocks': 11.0.9(react-dom@17.0.2)(react@17.0.2) - '@types/wordpress__components': 23.0.10(react-dom@17.0.2)(react@17.0.2) + '@types/wordpress__components': 19.10.5(react-dom@17.0.2)(react@17.0.2) '@types/wordpress__data': 6.0.2 '@types/wordpress__keycodes': 2.3.1 '@wordpress/element': 4.4.1 @@ -17913,7 +17903,7 @@ packages: resolution: {integrity: sha512-8BcT3CUxHt73CepaLtQHAhA7uBhDOK9x5HJOAxzV+Bl37W04u4jSNulXxwX/6tI7t7Knux5lnN9bvKf/1sg+Rw==} dependencies: '@types/react': 17.0.71 - '@types/wordpress__components': 23.0.10(react-dom@17.0.2)(react@17.0.2) + '@types/wordpress__components': 19.10.5(react-dom@17.0.2)(react@17.0.2) '@wordpress/element': 4.4.1 transitivePeerDependencies: - react @@ -17971,6 +17961,7 @@ packages: transitivePeerDependencies: - react - react-dom + dev: true /@types/wordpress__compose@4.0.1: resolution: {integrity: sha512-2Czdu9Nyhxn0R7lSl+LwVyzHF+xgP6nuikRDt26VJPLAZhmgE9c/lmB8v8xiby8UGVWj6oKGQDmKda8kvoBWBQ==} @@ -20777,12 +20768,12 @@ packages: '@wordpress/api-fetch': 6.3.1 '@wordpress/blocks': 11.21.0(react@17.0.2) '@wordpress/data': 6.6.1(react@17.0.2) - '@wordpress/deprecated': 3.41.0 + '@wordpress/deprecated': 3.6.1 '@wordpress/element': 4.4.1 - '@wordpress/html-entities': 3.24.0 - '@wordpress/i18n': 4.47.0 + '@wordpress/html-entities': 3.6.1 + '@wordpress/i18n': 4.6.1 '@wordpress/is-shallow-equal': 4.24.0 - '@wordpress/url': 3.13.0 + '@wordpress/url': 3.7.1 equivalent-key-map: 0.2.2 lodash: 4.17.21 memize: 1.1.0