Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Implement @wordpress/scripts analyze script #5589

Merged
merged 4 commits into from
Jan 28, 2022
Merged

Conversation

mikejolley
Copy link
Member

Replaces source-map-explorer and the npm run explore command with the @wordpress/scripts equivilent. This can be ran with npm run analyze-bundles generating output like this:

Screenshot 2022-01-18 at 13 33 29

This was based on the work in Gutenberg here.

Fixes #5028

Testing

How to test the changes in this Pull Request:

  1. Run npm install
  2. Run npm run analyze-bundles
  3. Confirm the map is shown once build has completed.
  4. Confirm no major build size increases (there will be a comment on the PR). This is because I modified the webpack config.

@mikejolley mikejolley added tools Used for work on build or release tools. skip-changelog PRs that you don't want to appear in the changelog. type: cooldown Things that are queued for a cooldown period (assists with planning). labels Jan 18, 2022
@mikejolley mikejolley self-assigned this Jan 18, 2022
@rubikuserbot rubikuserbot requested review from a team and opr and removed request for a team January 18, 2022 13:38
@github-actions
Copy link
Contributor

github-actions bot commented Jan 18, 2022

Size Change: 0 B

Total Size: 816 kB

ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 6.24 kB
build/active-filters.js 7.08 kB
build/all-products-frontend.js 18.7 kB
build/all-products.js 35.2 kB
build/all-reviews.js 8.39 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button--atomic-block-components/image---8f355022.js 238 B
build/atomic-block-components/add-to-cart--atomic-block-components/button--atomic-block-components/image---a7e2bb9b.js 2.67 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button.js 1.48 kB
build/atomic-block-components/add-to-cart-frontend.js 7.05 kB
build/atomic-block-components/add-to-cart.js 6.61 kB
build/atomic-block-components/button-frontend.js 1.48 kB
build/atomic-block-components/button.js 851 B
build/atomic-block-components/category-list-frontend.js 458 B
build/atomic-block-components/category-list.js 460 B
build/atomic-block-components/image-frontend.js 1.37 kB
build/atomic-block-components/image.js 1.05 kB
build/atomic-block-components/price-frontend.js 1.74 kB
build/atomic-block-components/price.js 1.7 kB
build/atomic-block-components/rating-frontend.js 699 B
build/atomic-block-components/rating.js 700 B
build/atomic-block-components/sale-badge-frontend.js 624 B
build/atomic-block-components/sale-badge.js 622 B
build/atomic-block-components/sku-frontend.js 386 B
build/atomic-block-components/sku.js 386 B
build/atomic-block-components/stock-indicator--atomic-block-components/summary--atomic-block-components/title.js 452 B
build/atomic-block-components/stock-indicator-frontend.js 924 B
build/atomic-block-components/stock-indicator.js 626 B
build/atomic-block-components/summary-frontend.js 1.22 kB
build/atomic-block-components/summary.js 925 B
build/atomic-block-components/tag-list-frontend.js 460 B
build/atomic-block-components/tag-list.js 459 B
build/atomic-block-components/title-frontend.js 1.2 kB
build/atomic-block-components/title.js 931 B
build/attribute-filter-frontend.js 16.4 kB
build/attribute-filter.js 12.6 kB
build/blocks-checkout.js 17.6 kB
build/cart-blocks/accepted-payment-methods-frontend.js 1.14 kB
build/cart-blocks/checkout-button-frontend.js 1.14 kB
build/cart-blocks/empty-cart-frontend.js 345 B
build/cart-blocks/express-payment-frontend.js 4.86 kB
build/cart-blocks/filled-cart-frontend.js 767 B
build/cart-blocks/items-frontend.js 299 B
build/cart-blocks/line-items-frontend.js 5.49 kB
build/cart-blocks/order-summary-frontend.js 8.97 kB
build/cart-blocks/totals-frontend.js 321 B
build/cart-frontend.js 45.5 kB
build/cart.js 44.6 kB
build/checkout-blocks/actions-frontend.js 1.44 kB
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 4.22 kB
build/checkout-blocks/billing-address-frontend.js 887 B
build/checkout-blocks/contact-information-frontend.js 2.94 kB
build/checkout-blocks/express-payment-frontend.js 5.15 kB
build/checkout-blocks/fields-frontend.js 344 B
build/checkout-blocks/order-note-frontend.js 1.13 kB
build/checkout-blocks/order-summary-frontend.js 11.4 kB
build/checkout-blocks/payment-frontend.js 7.39 kB
build/checkout-blocks/shipping-address-frontend.js 973 B
build/checkout-blocks/shipping-methods-frontend.js 4.81 kB
build/checkout-blocks/terms-frontend.js 1.22 kB
build/checkout-blocks/totals-frontend.js 324 B
build/checkout-frontend.js 47.6 kB
build/checkout.js 47.1 kB
build/featured-category.js 8.66 kB
build/featured-product.js 9.9 kB
build/handpicked-products.js 7.33 kB
build/legacy-template.js 2.18 kB
build/mini-cart-component-frontend.js 14.3 kB
build/mini-cart-contents.js 3.59 kB
build/mini-cart-frontend.js 1.76 kB
build/mini-cart.js 6.46 kB
build/price-filter-frontend.js 12.6 kB
build/price-filter.js 8.91 kB
build/price-format.js 1.18 kB
build/product-best-sellers.js 7.54 kB
build/product-categories.js 3.46 kB
build/product-category.js 8.69 kB
build/product-new.js 7.99 kB
build/product-on-sale.js 8.36 kB
build/product-search.js 2.47 kB
build/product-tag.js 8.08 kB
build/product-top-rated.js 7.96 kB
build/products-by-attribute.js 8.79 kB
build/reviews-by-category.js 11.9 kB
build/reviews-by-product.js 12.9 kB
build/reviews-frontend.js 7.32 kB
build/single-product-frontend.js 22.2 kB
build/single-product.js 10.5 kB
build/stock-filter-frontend.js 6.82 kB
build/stock-filter.js 6.82 kB
build/vendors--atomic-block-components/add-to-cart--cart-blocks/order-summary--checkout-blocks/billing-ad--c5eb4dcd-frontend.js 19 kB
build/vendors--atomic-block-components/add-to-cart-frontend.js 7.44 kB
build/vendors--atomic-block-components/price--cart-blocks/line-items--cart-blocks/order-summary--checkout--8a3571de-frontend.js 5.71 kB
build/vendors--cart-blocks/line-items--checkout-blocks/order-summary-frontend.js 3.14 kB
build/vendors--cart-blocks/order-summary--checkout-blocks/billing-address--checkout-blocks/order-summary---eb4d2cec-frontend.js 4.74 kB
build/wc-blocks-data.js 8.84 kB
build/wc-blocks-editor-style-rtl.css 4.68 kB
build/wc-blocks-editor-style.css 4.68 kB
build/wc-blocks-google-analytics.js 1.56 kB
build/wc-blocks-middleware.js 949 B
build/wc-blocks-registry.js 2.7 kB
build/wc-blocks-shared-context.js 1.52 kB
build/wc-blocks-shared-hocs.js 1.14 kB
build/wc-blocks-style-rtl.css 21.8 kB
build/wc-blocks-style.css 21.8 kB
build/wc-blocks-vendors-style-rtl.css 1.28 kB
build/wc-blocks-vendors-style.css 1.28 kB
build/wc-blocks-vendors.js 65.5 kB
build/wc-blocks.js 2.96 kB
build/wc-payment-method-bacs.js 816 B
build/wc-payment-method-cheque.js 811 B
build/wc-payment-method-cod.js 909 B
build/wc-payment-method-paypal.js 837 B
build/wc-settings.js 2.61 kB

compressed-size-action

Copy link
Contributor

@opr opr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool! Changes to webpack look fine and the analyzer runs well thanks Mike! Can you commit a new package-lock to solve the conflicts? I think this one wasn't generated with node v16 because I got a load of npm WARN old lockfile warnings when testing this.

@mikejolley
Copy link
Member Author

e2e fails are unrelated.

@mikejolley mikejolley merged commit 6cf9c4c into trunk Jan 28, 2022
@mikejolley mikejolley deleted the add/bundle-analyzer branch January 28, 2022 11:40
@dinhtungdu
Copy link
Member

@mikejolley with this PR, I got the following error when I tried to build the assets. Both my current workspace and fresh clone have the same issue. Checking out the former commit (9d4ab23), I could build the plugin as normal. Do you have the same issue? I'm using a M1 Mac Mini, not sure if it plays any role here.

image

mikejolley added a commit that referenced this pull request Jan 28, 2022
@mikejolley
Copy link
Member Author

@dinhtungdu thanks for heads up, unit tests wound't have caught the dev build. It was a deleted line - fixed in 7579601

opr pushed a commit that referenced this pull request Jan 31, 2022
opr pushed a commit that referenced this pull request Jan 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
skip-changelog PRs that you don't want to appear in the changelog. tools Used for work on build or release tools. type: cooldown Things that are queued for a cooldown period (assists with planning).
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement @wordpress/scripts analyze script.
3 participants