From 1c635cda6fdf84ffeb44d1f1386b8d35b3d0fd5c Mon Sep 17 00:00:00 2001 From: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com> Date: Mon, 11 Dec 2023 16:21:35 -0800 Subject: [PATCH] Optimized `wireit` Fingerprinting File Inputs (#42684) Having an explicit `"files"` definition will allow us to fingerprint dependencies in `wireit` more granularly. This avoids problems that can be caused by different source files and directories that trigger a rebuild in a dependee before a dependent finishes. --- .pnpmfile.cjs | 87 +++++----- packages/js/admin-e2e-tests/package.json | 14 +- packages/js/admin-layout/package.json | 24 +-- packages/js/ai/package.json | 22 +-- packages/js/api/package.json | 10 +- packages/js/block-templates/package.json | 30 ++-- packages/js/components/package.json | 62 +++---- packages/js/csv-export/package.json | 14 +- packages/js/currency/package.json | 22 +-- .../js/customer-effort-score/package.json | 55 +++--- packages/js/data/package.json | 38 ++--- packages/js/date/package.json | 14 +- .../package.json | 3 + packages/js/experimental/package.json | 31 ++-- packages/js/explat/package.json | 14 +- .../js/expression-evaluation/package.json | 14 +- packages/js/integrate-plugin/package.json | 9 +- packages/js/internal-e2e-builds/package.json | 4 + packages/js/internal-e2e-builds/project.json | 6 - packages/js/internal-js-tests/package.json | 5 + packages/js/internal-style-build/package.json | 4 + packages/js/navigation/package.json | 14 +- packages/js/notices/package.json | 5 + packages/js/number/package.json | 14 +- packages/js/onboarding/package.json | 56 +++--- packages/js/product-editor/package.json | 107 +++++------- packages/js/tracks/package.json | 5 + plugins/woocommerce-admin/package.json | 159 +++++++----------- plugins/woocommerce-blocks/package.json | 31 +--- plugins/woocommerce/package.json | 28 +-- 30 files changed, 410 insertions(+), 491 deletions(-) delete mode 100644 packages/js/internal-e2e-builds/project.json diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs index 6bafa1bc4f3..472d2811363 100644 --- a/.pnpmfile.cjs +++ b/.pnpmfile.cjs @@ -69,40 +69,33 @@ function getPackageOutputs( packageFile ) { exclude: [], }; - // Packages that explicitly declare their outputs have made this easy for us. - if ( packageFile.files ) { - // We're going to make the glob relative to the package directory instead of the dependency directory. - // To do this though, we need to transform the path a little bit. - for ( const fileGlob of packageFile.files ) { - let relativeGlob = fileGlob; + // Packages that don't explicitly define files should be excluded from the fingerprint entirely. + if ( ! packageFile.files ) { + return packageOutputs; + } - // Negation globs need to move the exclamation point to the beginning of the output glob. - let negation = relativeGlob.startsWith( '!' ) ? true : false; - if ( negation ) { - relativeGlob = relativeGlob.substring( 1 ); - } + // We're going to make the glob relative to the package directory instead of the dependency directory. + // To do this though, we need to transform the path a little bit. + for ( const fileGlob of packageFile.files ) { + let relativeGlob = fileGlob; - // Remove leading slashes. - if ( relativeGlob.startsWith( '/' ) ) { - relativeGlob = relativeGlob.substring( 1 ); - } - - // Now we can construct a glob relative to the package directory. - if ( negation ) { - packageOutputs.exclude.push( `!${ basePath }/${ relativeGlob }` ); - } else { - packageOutputs.include.push( `${ basePath }/${ relativeGlob }` ); - } + // Negation globs need to move the exclamation point to the beginning of the output glob. + let negation = relativeGlob.startsWith( '!' ) ? true : false; + if ( negation ) { + relativeGlob = relativeGlob.substring( 1 ); } - } else { - // This is a VERY heavy-handed approach and will simply include every file in the package directory. - packageOutputs.include.push( `${ basePath }/` ); - // We can make this a little bit smarter by ignoring some common directories. - 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. + // Remove leading slashes. + if ( relativeGlob.startsWith( '/' ) ) { + relativeGlob = relativeGlob.substring( 1 ); + } + + // Now we can construct a glob relative to the package directory. + if ( negation ) { + packageOutputs.exclude.push( `!${ basePath }/${ relativeGlob }` ); + } else { + packageOutputs.include.push( `${ basePath }/${ relativeGlob }` ); + } } return packageOutputs; @@ -120,7 +113,7 @@ function isLinkedPackage( packagePath, lockVersion ) { // We can parse the version that PNPM stores in order to get the relative path to the package. // file: dependencies use a relative path with dependencies listed in parentheses after it. // workspace: dependencies just store the relative path from the package itself. - const match = lockVersion.match( /^(?:file:|link:)((?:\.?\/|\.\.\/)[^\^<>:"|?*()]+)/i ); + const match = lockVersion.match( /^(?:file:|link:)([^\^<>:"|?*()]+)/i ); if ( ! match ) { return false; } @@ -132,6 +125,14 @@ function isLinkedPackage( packagePath, lockVersion ) { relativePath = path.join( packagePath, relativePath ); } + // Local relative paths won't always start with './' so we want to make sure that the path + // exists before we return it. We do this instead of checking for the existeince of the + // package.json file later because we want to be able to detect cases where the + // package file should exist but for some reason can't be loaded. + if ( ! match[ 1 ].startsWith( '.' ) && ! fs.existsSync( relativePath ) ) { + return false; + } + return relativePath; } @@ -174,8 +175,8 @@ function getLinkedPackages( packagePath, lockPackage ) { * Hooks up all of the dependency outputs as file dependencies for wireit to fingerprint them. * * @param {Object.} lockPackages The paths to all of the packages we're processing. - * @param {Object} context The hook context object. - * @param {Function.} context.log Logs a message to the console. + * @param {Object} context The hook context object. + * @param {Function.} context.log Logs a message to the console. */ function updateWireitDependencies( lockPackages, context ) { context.log( '[wireit] Updating Dependency Lists' ); @@ -216,7 +217,15 @@ function updateWireitDependencies( lockPackages, context ) { // their outputs to the list. We can then use these are file dependencies for // wireit and it will fingerprint them for us. for ( const linkedPackage of linkedPackages ) { - const packageOutputs = getPackageOutputs( linkedPackage ); + const packageOutputs = getPackageOutputs( linkedPackage, context ); + + if ( ! packageOutputs.include.length && ! packageOutputs.include.length ) { + context.log( + `[wireit][${ packageFile.name }] Missing '${ linkedPackage.name }' Output Definition` + ); + continue; + } + // 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 ); @@ -235,11 +244,11 @@ function updateWireitDependencies( lockPackages, context ) { /** * This hook allows for the mutation of the lockfile before it is serialized. * - * @param {Object} lockfile The lock file that was produced by PNPM. - * @param {string} lockfile.lockfileVersion The version of the lock file spec. - * @param {Object.} lockfile.importers The packages in the workspace that are included in the lock file, keyed by the relative path to the package. - * @param {Object} context The hook context object. - * @param {Function.} context.log Logs a message to the console. + * @param {Object} lockfile The lock file that was produced by PNPM. + * @param {string} lockfile.lockfileVersion The version of the lock file spec. + * @param {Object.} lockfile.importers The packages in the workspace that are included in the lock file, keyed by the relative path to the package. + * @param {Object} context The hook context object. + * @param {Function.} context.log Logs a message to the console. * * @return {Object} lockfile The updated lockfile. */ diff --git a/packages/js/admin-e2e-tests/package.json b/packages/js/admin-e2e-tests/package.json index 3de5697e2ae..59c1587bf79 100644 --- a/packages/js/admin-e2e-tests/package.json +++ b/packages/js/admin-e2e-tests/package.json @@ -20,7 +20,7 @@ "main": "build/index.js", "types": "build/index.d.ts", "files": [ - "/build/", + "build", "!*.ts.map", "!*.tsbuildinfo" ], @@ -94,17 +94,7 @@ "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" + "package.json" ] } } diff --git a/packages/js/admin-layout/package.json b/packages/js/admin-layout/package.json index 4d6d10cef59..320077f3e93 100644 --- a/packages/js/admin-layout/package.json +++ b/packages/js/admin-layout/package.json @@ -20,6 +20,12 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-style", + "build-types" + ], "sideEffects": [ "build-style/**", "src/**/*.scss" @@ -119,20 +125,16 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-style-build/", + "node_modules/@woocommerce/internal-style-build/index.js", + "node_modules/@woocommerce/internal-style-build/abstracts", "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-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/components/build", + "node_modules/@woocommerce/components/build-module", + "node_modules/@woocommerce/components/build-style", + "node_modules/@woocommerce/components/build-types", + "package.json" ] } } diff --git a/packages/js/ai/package.json b/packages/js/ai/package.json index 22fc4d77a17..3b51b5f3e62 100644 --- a/packages/js/ai/package.json +++ b/packages/js/ai/package.json @@ -20,6 +20,12 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-style", + "build-types" + ], "sideEffects": [ "build-style/**", "src/**/*.scss" @@ -147,20 +153,14 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-style-build/", - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-style-build/index.js", + "node_modules/@woocommerce/internal-style-build/abstracts", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "package.json" ] } } diff --git a/packages/js/api/package.json b/packages/js/api/package.json index 7ee0f805325..6e3587b0a89 100644 --- a/packages/js/api/package.json +++ b/packages/js/api/package.json @@ -20,13 +20,13 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ - "/dist/", + "dist/", "!*.ts.map", "!*.tsbuildinfo", - "!/dist/**/__tests__/", - "!/dist/**/__mocks__/", - "!/dist/**/__snapshops__/", - "!/dist/**/__test_data__/" + "!dist/**/__tests__/", + "!dist/**/__mocks__/", + "!dist/**/__snapshops__/", + "!dist/**/__test_data__/" ], "sideEffects": false, "scripts": { diff --git a/packages/js/block-templates/package.json b/packages/js/block-templates/package.json index 5c83c8c67b9..6848dab047b 100644 --- a/packages/js/block-templates/package.json +++ b/packages/js/block-templates/package.json @@ -20,6 +20,12 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-style", + "build-types" + ], "sideEffects": [ "build-style/**", "src/**/*.scss" @@ -137,25 +143,17 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-style-build/", - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-style-build/index.js", + "node_modules/@woocommerce/internal-style-build/abstracts", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "node_modules/@woocommerce/expression-evaluation/build", + "node_modules/@woocommerce/expression-evaluation/build-module", + "node_modules/@woocommerce/expression-evaluation/build-types", + "package.json" ] } } diff --git a/packages/js/components/package.json b/packages/js/components/package.json index 03264728a86..581541f60e9 100644 --- a/packages/js/components/package.json +++ b/packages/js/components/package.json @@ -24,6 +24,12 @@ "main": "build/index.js", "module": "build-module/index.js", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-style", + "build-types" + ], "sideEffects": [ "build-style/**", "src/**/*.scss" @@ -221,45 +227,29 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-style-build/", - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-style-build/index.js", + "node_modules/@woocommerce/internal-style-build/abstracts", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "node_modules/@woocommerce/navigation/build", + "node_modules/@woocommerce/navigation/build-module", + "node_modules/@woocommerce/navigation/build-types", + "node_modules/@woocommerce/date/build", + "node_modules/@woocommerce/date/build-module", + "node_modules/@woocommerce/date/build-types", + "node_modules/@woocommerce/data/build", + "node_modules/@woocommerce/data/build-module", + "node_modules/@woocommerce/data/build-types", + "node_modules/@woocommerce/currency/build", + "node_modules/@woocommerce/currency/build-module", + "node_modules/@woocommerce/currency/build-types", + "node_modules/@woocommerce/csv-export/build", + "node_modules/@woocommerce/csv-export/build-module", + "node_modules/@woocommerce/csv-export/build-types", + "package.json" ] } } diff --git a/packages/js/csv-export/package.json b/packages/js/csv-export/package.json index 984a5f4d37d..94504fbbf33 100644 --- a/packages/js/csv-export/package.json +++ b/packages/js/csv-export/package.json @@ -25,6 +25,11 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-types" + ], "scripts": { "build": "pnpm --if-present --filter=\"$npm_package_name...\" build:project", "build:project": "pnpm --if-present /^build:project:.*$/", @@ -106,15 +111,12 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "package.json" ] } } diff --git a/packages/js/currency/package.json b/packages/js/currency/package.json index c58e0b69335..546c0e4287a 100644 --- a/packages/js/currency/package.json +++ b/packages/js/currency/package.json @@ -25,6 +25,11 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-types" + ], "scripts": { "build": "pnpm --if-present --filter=\"$npm_package_name...\" build:project", "build:project": "pnpm --if-present /^build:project:.*$/", @@ -109,20 +114,15 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "node_modules/@woocommerce/number/build", + "node_modules/@woocommerce/number/build-module", + "node_modules/@woocommerce/number/build-types", + "package.json" ] } } diff --git a/packages/js/customer-effort-score/package.json b/packages/js/customer-effort-score/package.json index ecfeb0e75b3..5c85d597f86 100644 --- a/packages/js/customer-effort-score/package.json +++ b/packages/js/customer-effort-score/package.json @@ -24,6 +24,12 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-style", + "build-types" + ], "scripts": { "build": "pnpm --if-present --filter=\"$npm_package_name...\" build:project", "build:project": "pnpm --if-present /^build:project:.*$/", @@ -146,40 +152,27 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/tracks/", - "node_modules/@woocommerce/navigation/", - "node_modules/@woocommerce/internal-style-build/", - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/tracks/build", + "node_modules/@woocommerce/tracks/build-module", + "node_modules/@woocommerce/tracks/build-types", + "node_modules/@woocommerce/navigation/build", + "node_modules/@woocommerce/navigation/build-module", + "node_modules/@woocommerce/navigation/build-types", + "node_modules/@woocommerce/internal-style-build/index.js", + "node_modules/@woocommerce/internal-style-build/abstracts", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "node_modules/@woocommerce/data/build", + "node_modules/@woocommerce/data/build-module", + "node_modules/@woocommerce/data/build-types", + "node_modules/@woocommerce/experimental/build", + "node_modules/@woocommerce/experimental/build-module", + "node_modules/@woocommerce/experimental/build-style", + "node_modules/@woocommerce/experimental/build-types", + "package.json" ] } } diff --git a/packages/js/data/package.json b/packages/js/data/package.json index 1178fe16950..fe6cba9ea01 100644 --- a/packages/js/data/package.json +++ b/packages/js/data/package.json @@ -24,6 +24,11 @@ "main": "build/index.js", "module": "build-module/index.js", "types": "build-types", + "files": [ + "build", + "build-module", + "build-types" + ], "scripts": { "build": "pnpm --if-present --filter=\"$npm_package_name...\" build:project", "build:project": "pnpm --if-present /^build:project:.*$/", @@ -138,30 +143,21 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "node_modules/@woocommerce/tracks/build", + "node_modules/@woocommerce/tracks/build-module", + "node_modules/@woocommerce/tracks/build-types", + "node_modules/@woocommerce/navigation/build", + "node_modules/@woocommerce/navigation/build-module", + "node_modules/@woocommerce/navigation/build-types", + "node_modules/@woocommerce/date/build", + "node_modules/@woocommerce/date/build-module", + "node_modules/@woocommerce/date/build-types", + "package.json" ] } } diff --git a/packages/js/date/package.json b/packages/js/date/package.json index 0281cdb5987..d8819ea343d 100644 --- a/packages/js/date/package.json +++ b/packages/js/date/package.json @@ -25,6 +25,11 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-types" + ], "dependencies": { "@types/d3-time-format": "^2.3.4", "@wordpress/date": "wp-6.0", @@ -116,15 +121,12 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "package.json" ] } } diff --git a/packages/js/dependency-extraction-webpack-plugin/package.json b/packages/js/dependency-extraction-webpack-plugin/package.json index 3c72e63479b..576df5158b0 100644 --- a/packages/js/dependency-extraction-webpack-plugin/package.json +++ b/packages/js/dependency-extraction-webpack-plugin/package.json @@ -21,6 +21,9 @@ "url": "https://github.com/woocommerce/woocommerce/issues" }, "main": "src/index.js", + "files": [ + "src/" + ], "dependencies": { "@wordpress/dependency-extraction-webpack-plugin": "^3.7.0" }, diff --git a/packages/js/experimental/package.json b/packages/js/experimental/package.json index 78dcb982922..86fa1f4a6e3 100644 --- a/packages/js/experimental/package.json +++ b/packages/js/experimental/package.json @@ -25,6 +25,12 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-style", + "build-types" + ], "sideEffects": [ "build-style/**", "src/**/*.scss" @@ -156,25 +162,18 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-style-build/", - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-style-build/index.js", + "node_modules/@woocommerce/internal-style-build/abstracts", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "node_modules/@woocommerce/components/build", + "node_modules/@woocommerce/components/build-module", + "node_modules/@woocommerce/components/build-style", + "node_modules/@woocommerce/components/build-types", + "package.json" ] } } diff --git a/packages/js/explat/package.json b/packages/js/explat/package.json index 74cddbab243..8ac1f1b5ed8 100644 --- a/packages/js/explat/package.json +++ b/packages/js/explat/package.json @@ -25,6 +25,11 @@ "main": "build/index.js", "module": "build-module/index.js", "types": "build-types", + "files": [ + "build", + "build-module", + "build-types" + ], "scripts": { "build": "pnpm --if-present --filter=\"$npm_package_name...\" build:project", "build:project": "pnpm --if-present /^build:project:.*$/", @@ -113,15 +118,12 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "package.json" ] } } diff --git a/packages/js/expression-evaluation/package.json b/packages/js/expression-evaluation/package.json index 9d8b45509d2..9c4e80dccec 100644 --- a/packages/js/expression-evaluation/package.json +++ b/packages/js/expression-evaluation/package.json @@ -26,6 +26,11 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-types" + ], "dependencies": { "@wordpress/i18n": "wp-6.0", "peggy": "^3.0.2" @@ -99,15 +104,12 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "package.json" ] } } diff --git a/packages/js/integrate-plugin/package.json b/packages/js/integrate-plugin/package.json index 6fd26ac2c9d..f5376de1261 100644 --- a/packages/js/integrate-plugin/package.json +++ b/packages/js/integrate-plugin/package.json @@ -115,15 +115,12 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "package.json" ] } } diff --git a/packages/js/internal-e2e-builds/package.json b/packages/js/internal-e2e-builds/package.json index 43de408cb61..f36b0896bd9 100644 --- a/packages/js/internal-e2e-builds/package.json +++ b/packages/js/internal-e2e-builds/package.json @@ -4,6 +4,10 @@ "description": "Utility build files for e2e packages", "private": true, "main": "build.js", + "files": [ + "build.js", + "get-babel-config.js" + ], "engines": { "node": "^16.14.1", "pnpm": "^8.6.7" diff --git a/packages/js/internal-e2e-builds/project.json b/packages/js/internal-e2e-builds/project.json deleted file mode 100644 index 04e41231e7e..00000000000 --- a/packages/js/internal-e2e-builds/project.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "root": "packages/js/internal-e2e-builds", - "sourceRoot": "packages/js/internal-e2e-builds", - "projectType": "library", - "targets": {} -} diff --git a/packages/js/internal-js-tests/package.json b/packages/js/internal-js-tests/package.json index 8cc089c5641..7005ea83f36 100644 --- a/packages/js/internal-js-tests/package.json +++ b/packages/js/internal-js-tests/package.json @@ -20,6 +20,11 @@ "private": true, "main": "build/util/index.js", "module": "build-module/util/index.js", + "files": [ + "build", + "build-module", + "jest-preset.js" + ], "scripts": { "build": "pnpm --if-present --filter=\"$npm_package_name...\" build:project", "build:project": "pnpm --if-present /^build:project:.*$/", diff --git a/packages/js/internal-style-build/package.json b/packages/js/internal-style-build/package.json index 07bae1a9102..22f58f9f01a 100644 --- a/packages/js/internal-style-build/package.json +++ b/packages/js/internal-style-build/package.json @@ -21,6 +21,10 @@ "url": "https://github.com/woocommerce/woocommerce/issues" }, "main": "index.js", + "files": [ + "index.js", + "abstracts" + ], "scripts": { "lint": "pnpm --if-present '/^lint:lang:.*$/'", "lint:fix": "pnpm --if-present '/^lint:fix:lang:.*$/'", diff --git a/packages/js/navigation/package.json b/packages/js/navigation/package.json index 8d01d4968f6..eea28febd67 100644 --- a/packages/js/navigation/package.json +++ b/packages/js/navigation/package.json @@ -25,6 +25,11 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-types" + ], "scripts": { "build": "pnpm --if-present --filter=\"$npm_package_name...\" build:project", "build:project": "pnpm --if-present /^build:project:.*$/", @@ -119,15 +124,12 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "package.json" ] } } diff --git a/packages/js/notices/package.json b/packages/js/notices/package.json index e59e03d8294..6779de08ed8 100644 --- a/packages/js/notices/package.json +++ b/packages/js/notices/package.json @@ -26,6 +26,11 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-types" + ], "scripts": { "build": "pnpm --if-present --filter=\"$npm_package_name...\" build:project", "build:project": "pnpm --if-present /^build:project:.*$/", diff --git a/packages/js/number/package.json b/packages/js/number/package.json index aab4bbea9f4..2f4372d6b7e 100644 --- a/packages/js/number/package.json +++ b/packages/js/number/package.json @@ -24,6 +24,11 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-types" + ], "dependencies": { "locutus": "^2.0.16" }, @@ -105,15 +110,12 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "package.json" ] } } diff --git a/packages/js/onboarding/package.json b/packages/js/onboarding/package.json index 046db1982e5..053e133c3e2 100644 --- a/packages/js/onboarding/package.json +++ b/packages/js/onboarding/package.json @@ -25,6 +25,12 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-style", + "build-types" + ], "scripts": { "build": "pnpm --if-present --filter=\"$npm_package_name...\" build:project", "build:project": "pnpm --if-present /^build:project:.*$/", @@ -142,40 +148,28 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-style-build/", - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-style-build/index.js", + "node_modules/@woocommerce/internal-style-build/abstracts", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "node_modules/@woocommerce/tracks/build", + "node_modules/@woocommerce/tracks/build-module", + "node_modules/@woocommerce/tracks/build-types", + "node_modules/@woocommerce/explat/build", + "node_modules/@woocommerce/explat/build-module", + "node_modules/@woocommerce/explat/build-types", + "node_modules/@woocommerce/experimental/build", + "node_modules/@woocommerce/experimental/build-module", + "node_modules/@woocommerce/experimental/build-style", + "node_modules/@woocommerce/experimental/build-types", + "node_modules/@woocommerce/components/build", + "node_modules/@woocommerce/components/build-module", + "node_modules/@woocommerce/components/build-style", + "node_modules/@woocommerce/components/build-types", + "package.json" ] } } diff --git a/packages/js/product-editor/package.json b/packages/js/product-editor/package.json index 4b9e9b60b13..4d2e34aaa96 100644 --- a/packages/js/product-editor/package.json +++ b/packages/js/product-editor/package.json @@ -20,6 +20,12 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-style", + "build-types" + ], "sideEffects": [ "build-style/**", "src/**/*.scss" @@ -194,70 +200,49 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "node_modules/@woocommerce/internal-style-build/", - "node_modules/@woocommerce/internal-js-tests/", + "node_modules/@woocommerce/internal-style-build/index.js", + "node_modules/@woocommerce/internal-style-build/abstracts", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", "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" + "node_modules/@woocommerce/tracks/build", + "node_modules/@woocommerce/tracks/build-module", + "node_modules/@woocommerce/tracks/build-types", + "node_modules/@woocommerce/number/build", + "node_modules/@woocommerce/number/build-module", + "node_modules/@woocommerce/number/build-types", + "node_modules/@woocommerce/navigation/build", + "node_modules/@woocommerce/navigation/build-module", + "node_modules/@woocommerce/navigation/build-types", + "node_modules/@woocommerce/experimental/build", + "node_modules/@woocommerce/experimental/build-module", + "node_modules/@woocommerce/experimental/build-style", + "node_modules/@woocommerce/experimental/build-types", + "node_modules/@woocommerce/data/build", + "node_modules/@woocommerce/data/build-module", + "node_modules/@woocommerce/data/build-types", + "node_modules/@woocommerce/customer-effort-score/build", + "node_modules/@woocommerce/customer-effort-score/build-module", + "node_modules/@woocommerce/customer-effort-score/build-style", + "node_modules/@woocommerce/customer-effort-score/build-types", + "node_modules/@woocommerce/currency/build", + "node_modules/@woocommerce/currency/build-module", + "node_modules/@woocommerce/currency/build-types", + "node_modules/@woocommerce/components/build", + "node_modules/@woocommerce/components/build-module", + "node_modules/@woocommerce/components/build-style", + "node_modules/@woocommerce/components/build-types", + "node_modules/@woocommerce/block-templates/build", + "node_modules/@woocommerce/block-templates/build-module", + "node_modules/@woocommerce/block-templates/build-style", + "node_modules/@woocommerce/block-templates/build-types", + "node_modules/@woocommerce/admin-layout/build", + "node_modules/@woocommerce/admin-layout/build-module", + "node_modules/@woocommerce/admin-layout/build-style", + "node_modules/@woocommerce/admin-layout/build-types", + "package.json" ] } } diff --git a/packages/js/tracks/package.json b/packages/js/tracks/package.json index 5c674336623..acc126669b3 100644 --- a/packages/js/tracks/package.json +++ b/packages/js/tracks/package.json @@ -25,6 +25,11 @@ "module": "build-module/index.js", "types": "build-types", "react-native": "src/index", + "files": [ + "build", + "build-module", + "build-types" + ], "dependencies": { "debug": "^4.3.4" }, diff --git a/plugins/woocommerce-admin/package.json b/plugins/woocommerce-admin/package.json index 2165cbf5413..c6bbe7c4778 100644 --- a/plugins/woocommerce-admin/package.json +++ b/plugins/woocommerce-admin/package.json @@ -263,108 +263,73 @@ "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ - "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/tracks/build", + "node_modules/@woocommerce/tracks/build-module", + "node_modules/@woocommerce/tracks/build-types", + "node_modules/@woocommerce/product-editor/build", + "node_modules/@woocommerce/product-editor/build-module", + "node_modules/@woocommerce/product-editor/build-style", + "node_modules/@woocommerce/product-editor/build-types", + "node_modules/@woocommerce/onboarding/build", + "node_modules/@woocommerce/onboarding/build-module", + "node_modules/@woocommerce/onboarding/build-style", + "node_modules/@woocommerce/onboarding/build-types", + "node_modules/@woocommerce/number/build", + "node_modules/@woocommerce/number/build-module", + "node_modules/@woocommerce/number/build-types", + "node_modules/@woocommerce/notices/build", + "node_modules/@woocommerce/notices/build-module", + "node_modules/@woocommerce/notices/build-types", + "node_modules/@woocommerce/navigation/build", + "node_modules/@woocommerce/navigation/build-module", + "node_modules/@woocommerce/navigation/build-types", + "node_modules/@woocommerce/internal-style-build/index.js", + "node_modules/@woocommerce/internal-style-build/abstracts", + "node_modules/@woocommerce/internal-js-tests/build", + "node_modules/@woocommerce/internal-js-tests/build-module", + "node_modules/@woocommerce/explat/build", + "node_modules/@woocommerce/explat/build-module", + "node_modules/@woocommerce/explat/build-types", + "node_modules/@woocommerce/experimental/build", + "node_modules/@woocommerce/experimental/build-module", + "node_modules/@woocommerce/experimental/build-style", + "node_modules/@woocommerce/experimental/build-types", "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/", + "node_modules/@woocommerce/dependency-extraction-webpack-plugin/src/", + "node_modules/@woocommerce/date/build", + "node_modules/@woocommerce/date/build-module", + "node_modules/@woocommerce/date/build-types", + "node_modules/@woocommerce/data/build", + "node_modules/@woocommerce/data/build-module", + "node_modules/@woocommerce/data/build-types", + "node_modules/@woocommerce/customer-effort-score/build", + "node_modules/@woocommerce/customer-effort-score/build-module", + "node_modules/@woocommerce/customer-effort-score/build-style", + "node_modules/@woocommerce/customer-effort-score/build-types", + "node_modules/@woocommerce/currency/build", + "node_modules/@woocommerce/currency/build-module", + "node_modules/@woocommerce/currency/build-types", + "node_modules/@woocommerce/csv-export/build", + "node_modules/@woocommerce/csv-export/build-module", + "node_modules/@woocommerce/csv-export/build-types", + "node_modules/@woocommerce/components/build", + "node_modules/@woocommerce/components/build-module", + "node_modules/@woocommerce/components/build-style", + "node_modules/@woocommerce/components/build-types", + "node_modules/@woocommerce/ai/build", + "node_modules/@woocommerce/ai/build-module", + "node_modules/@woocommerce/ai/build-style", + "node_modules/@woocommerce/ai/build-types", + "node_modules/@woocommerce/admin-layout/build", + "node_modules/@woocommerce/admin-layout/build-module", + "node_modules/@woocommerce/admin-layout/build-style", + "node_modules/@woocommerce/admin-layout/build-types", + "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" + "!node_modules/@woocommerce/admin-e2e-tests/*.tsbuildinfo" ] } } diff --git a/plugins/woocommerce-blocks/package.json b/plugins/woocommerce-blocks/package.json index f1193abf741..5841e8eea8a 100644 --- a/plugins/woocommerce-blocks/package.json +++ b/plugins/woocommerce-blocks/package.json @@ -353,12 +353,8 @@ "repo": "woocommerce/woocommerce-gutenberg-products-block" }, "files": [ - "assets/**/*.{js,scss,php}", - "build/**/*.{js,json,css}", - "includes/**/*.php", - "languages/**/*.json", - "license.txt", - "woocommerce-gutenberg-products-block.php" + "build", + "blocks.ini" ], "wireit": { "build:project:bundle": { @@ -403,22 +399,13 @@ "node_modules/@woocommerce/eslint-plugin/configs", "node_modules/@woocommerce/eslint-plugin/rules", "node_modules/@woocommerce/eslint-plugin/index.js", - "node_modules/@woocommerce/e2e-utils/", - "node_modules/@woocommerce/data/", - "node_modules/@woocommerce/tracks/", - "package.json", - "!node_modules/@woocommerce/tracks/node_modules", - "!node_modules/@woocommerce/tracks/.git", - "!node_modules/@woocommerce/tracks/.svn", - "!node_modules/@woocommerce/tracks/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/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/data/build", + "node_modules/@woocommerce/data/build-module", + "node_modules/@woocommerce/data/build-types", + "node_modules/@woocommerce/tracks/build", + "node_modules/@woocommerce/tracks/build-module", + "node_modules/@woocommerce/tracks/build-types", + "package.json" ] } } diff --git a/plugins/woocommerce/package.json b/plugins/woocommerce/package.json index 809260d5022..84dc140a0d6 100644 --- a/plugins/woocommerce/package.json +++ b/plugins/woocommerce/package.json @@ -199,23 +199,17 @@ "node_modules/@woocommerce/eslint-plugin/configs", "node_modules/@woocommerce/eslint-plugin/rules", "node_modules/@woocommerce/eslint-plugin/index.js", - "node_modules/@woocommerce/e2e-utils/", - "node_modules/@woocommerce/e2e-environment/", "node_modules/@woocommerce/e2e-core-tests/build", "node_modules/@woocommerce/e2e-core-tests/build-module", "node_modules/@woocommerce/e2e-core-tests/test-data", "node_modules/@woocommerce/e2e-core-tests/core-tests-root.js", "node_modules/@woocommerce/e2e-core-tests/installFiles", "node_modules/@woocommerce/e2e-core-tests/CHANGELOG.md", - "node_modules/@woocommerce/api-core-tests/", "node_modules/@woocommerce/api/dist/", - "node_modules/@woocommerce/admin-e2e-tests/build/", - "node_modules/@woocommerce/block-library/assets/**/*.{js,scss,php}", - "node_modules/@woocommerce/block-library/build/**/*.{js,json,css}", - "node_modules/@woocommerce/block-library/includes/**/*.php", - "node_modules/@woocommerce/block-library/languages/**/*.json", - "node_modules/@woocommerce/block-library/license.txt", - "node_modules/@woocommerce/block-library/woocommerce-gutenberg-products-block.php", + "node_modules/@woocommerce/admin-e2e-tests/build", + "node_modules/@woocommerce/block-library/build", + "node_modules/@woocommerce/block-library/blocks.ini", + "node_modules/@woocommerce/classic-assets/build", "node_modules/@woocommerce/admin-library/build", "package.json", "!node_modules/@woocommerce/admin-e2e-tests/*.ts.map", @@ -225,19 +219,7 @@ "!node_modules/@woocommerce/api/dist/**/__tests__/", "!node_modules/@woocommerce/api/dist/**/__mocks__/", "!node_modules/@woocommerce/api/dist/**/__snapshops__/", - "!node_modules/@woocommerce/api/dist/**/__test_data__/", - "!node_modules/@woocommerce/api-core-tests/node_modules", - "!node_modules/@woocommerce/api-core-tests/.git", - "!node_modules/@woocommerce/api-core-tests/.svn", - "!node_modules/@woocommerce/api-core-tests/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", - "!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/api/dist/**/__test_data__/" ] } }