Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for compressor plugins #6776

Merged
merged 7 commits into from Sep 2, 2021
Merged

Add support for compressor plugins #6776

merged 7 commits into from Sep 2, 2021

Conversation

devongovett
Copy link
Member

Closes #3731 #3732.

This adds a new plugin type: "compressors". These run after optimizers, while writing bundles to disk and create additional files next to the original bundles. They receive a stream, and return a new stream along with a file extension to add to the new file. Unlike optimizers, they do not affect the hash of the bundle. All files written by Parcel, including both bundles and source maps, are processed by compressors.

For example, a gzip compressor might create an additional file with the .gz extension. So far, I've written Gzip and Brotli compressor plugins.

These aren't enabled by default because many servers handle compression automatically, so doing this at build time is unnecessary. But for static sites hosted on sites like S3, compression is required before uploading.

To enable it, add something like this to your .parcelrc:

{
  "compressors": {
    "*.{html,css,js,svg,map}": [
      "@parcel/compressor-gzip",
      "@parcel/compressor-brotli"
    ]
  }
}

Tests to come. I'd like feedback on the API as well. In particular, one question: should it be possible to only output compressed bundles and not the original? i.e. should there be a @parcel/compressor-raw plugin that returns a passthrough stream that runs by default and you could disable it by not adding "..." to "compressors" in .parcelrc?

@height
Copy link

height bot commented Aug 27, 2021

Link Height tasks by mentioning a task ID in the pull request title or description, commit messages, or comments.

💡Tip: You can also use "Close T-X" to automatically close a task when the pull request is merged.

@lettertwo
Copy link
Member

should it be possible to only output compressed bundles and not the original?

This does sound like a useful deployment optimization; avoiding uploading all of the non-compressed bundles could speed deploys significantly for large enough projects, right?

@devongovett devongovett marked this pull request as ready for review August 28, 2021 18:45
@parcel-benchmark
Copy link

parcel-benchmark commented Aug 28, 2021

Benchmark Results

Kitchen Sink ✅

Timings

Description Time Difference
Cold 1.92s +19.00ms
Cached 328.00ms +50.00ms ⚠️

Cold Bundles

Bundle Size Difference Time Difference
dist/legacy/index.66850ffd.js 1.54kb +51.00b ⚠️ 836.00ms +13.00ms
dist/legacy/index.6581a6ba.js 1.15kb +51.00b ⚠️ 836.00ms +14.00ms
dist/modern/index.c6061158.js 1.08kb +51.00b ⚠️ 835.00ms +13.00ms
dist/legacy/index.html 775.00b +51.00b ⚠️ 956.00ms +18.00ms
dist/modern/index.html 715.00b +34.00b ⚠️ 957.00ms +20.00ms
dist/legacy/index.5ba75694.css 77.00b +17.00b ⚠️ 1.09s +9.00ms
dist/modern/index.14235cd8.css 77.00b +17.00b ⚠️ 1.09s +10.00ms

Cached Bundles

Bundle Size Difference Time Difference
dist/legacy/index.9c1188a7.js 1.54kb +51.00b ⚠️ 823.00ms -19.00ms
dist/legacy/index.9106df33.js 1.15kb +51.00b ⚠️ 823.00ms -19.00ms
dist/modern/index.eb89329d.js 1.08kb +51.00b ⚠️ 823.00ms -19.00ms
dist/legacy/index.html 775.00b +51.00b ⚠️ 947.00ms -11.00ms
dist/modern/index.html 715.00b +34.00b ⚠️ 946.00ms -12.00ms
dist/legacy/index.5ba75694.css 77.00b +17.00b ⚠️ 1.08s -3.00ms
dist/modern/index.14235cd8.css 77.00b +17.00b ⚠️ 1.08s -2.00ms

React HackerNews ✅

Timings

Description Time Difference
Cold 9.50s -227.00ms
Cached 475.00ms +42.00ms ⚠️

Cold Bundles

Bundle Size Difference Time Difference
dist/index.js 486.94kb +68.00b ⚠️ 5.20s -149.00ms
dist/PermalinkedComment.e846300d.js 4.18kb +17.00b ⚠️ 5.20s -148.00ms
dist/UserProfile.a136423a.js 1.56kb +17.00b ⚠️ 5.20s -148.00ms
dist/NotFound.a7537975.js 412.00b +17.00b ⚠️ 5.20s -148.00ms

Cached Bundles

Bundle Size Difference Time Difference
dist/index.js 486.94kb +68.00b ⚠️ 5.36s +34.00ms
dist/PermalinkedComment.e846300d.js 4.18kb +17.00b ⚠️ 5.36s +34.00ms
dist/UserProfile.a136423a.js 1.56kb +17.00b ⚠️ 5.36s +34.00ms
dist/NotFound.a7537975.js 412.00b +17.00b ⚠️ 5.36s +34.00ms

AtlasKit Editor ✅

Timings

Description Time Difference
Cold 1.07m +132.00ms
Cached 1.53s +19.00ms

Cold Bundles

Bundle Size Difference Time Difference
dist/index.7294fe49.js 1.77mb +1.38kb ⚠️ 18.59s -95.00ms
dist/pdfRenderer.e84232d5.js 1.11mb +17.00b ⚠️ 49.24s +13.00ms
dist/index.fce7ac98.js 694.61kb +115.00b ⚠️ 49.21s +21.00ms
dist/editorView.1458d86f.js 594.90kb +17.00b ⚠️ 48.67s +38.00ms
dist/popup.24233a8d.js 209.65kb +17.00b ⚠️ 48.67s +38.00ms
dist/EmojiPickerComponent.b06dfa04.js 146.66kb +17.00b ⚠️ 30.16s -171.00ms
dist/index.d77356da.js 145.42kb +340.00b ⚠️ 49.21s +21.00ms
dist/Toolbar.ef7b4f30.js 107.22kb +17.00b ⚠️ 48.67s +39.00ms
dist/media-viewer.1b6cab85.js 74.92kb +17.00b ⚠️ 49.24s +13.00ms
dist/card.8e73ffe1.js 62.65kb +17.00b ⚠️ 49.20s +18.00ms
dist/card.d441e41a.js 60.70kb +17.00b ⚠️ 49.24s +13.00ms
dist/Modal.faa15d38.js 45.31kb +17.00b ⚠️ 48.67s +37.00ms
dist/component.a72eddf9.js 37.33kb +17.00b ⚠️ 18.59s -95.00ms
dist/esm.a1015241.js 33.13kb +17.00b ⚠️ 30.16s -171.00ms
dist/component.3238b930.js 24.93kb +17.00b ⚠️ 18.59s -94.00ms
dist/DatePicker.cacd4e46.js 22.96kb +17.00b ⚠️ 30.16s -171.00ms
dist/js.0f0bb621.js 17.24kb +17.00b ⚠️ 48.67s +38.00ms
dist/ui.8bc97af0.js 14.93kb +17.00b ⚠️ 48.67s +39.00ms
dist/smartMediaEditor.7423e353.js 13.24kb +17.00b ⚠️ 48.67s +38.00ms
dist/dropzone.0d183115.js 12.13kb +17.00b ⚠️ 48.67s +38.00ms
dist/workerHasher.07001132.js 11.81kb +17.00b ⚠️ 36.28s -243.00ms
dist/component.2de9ac3a.js 6.81kb +17.00b ⚠️ 18.39s -109.00ms
dist/index.e3c46ec6.js 5.88kb +306.00b ⚠️ 49.24s +14.00ms
dist/card.45f850d6.js 5.75kb +17.00b ⚠️ 49.20s +19.00ms
dist/media-viewer.141c77cc.js 4.48kb +17.00b ⚠️ 36.28s -243.00ms
dist/media-viewer.22c1906b.js 3.92kb +17.00b ⚠️ 36.28s -243.00ms
dist/EmojiPickerComponent.55e0a64c.js 3.71kb +17.00b ⚠️ 48.67s +38.00ms
dist/png-chunks-extract.94b5b9fc.js 3.56kb +17.00b ⚠️ 48.67s +33.00ms
dist/index.57b81618.css 3.46kb +17.00b ⚠️ 49.46s +33.00ms
dist/dropzone.a10cce43.js 3.28kb +17.00b ⚠️ 48.67s +39.00ms
dist/Modal.7f4c60b3.js 3.13kb +17.00b ⚠️ 49.20s +18.00ms
dist/clipboard.e235bbd0.js 2.92kb +17.00b ⚠️ 48.67s +38.00ms
dist/16.7b42ca8a.js 2.33kb +17.00b ⚠️ 18.59s -95.00ms
dist/ResourcedEmojiComponent.78f6ddfc.js 2.10kb +17.00b ⚠️ 48.67s +38.00ms
dist/card.6492331a.js 2.02kb +17.00b ⚠️ 36.28s -243.00ms
dist/date.c0482a02.js 1.85kb +17.00b ⚠️ 18.58s -95.00ms
dist/images.c21e6480.js 1.79kb +17.00b ⚠️ 19.99s -202.00ms
dist/feedback.e18b45f0.js 1.75kb +17.00b ⚠️ 30.16s -171.00ms
dist/16.f3960d82.js 1.72kb +17.00b ⚠️ 18.39s -108.00ms
dist/browser.17513657.js 1.68kb +17.00b ⚠️ 48.67s +38.00ms
dist/16.3aec39cf.js 1.66kb +17.00b ⚠️ 18.39s -108.00ms
dist/workerHasher.567cfc57.js 1.62kb +17.00b ⚠️ 30.16s -170.00ms
dist/workerHasher.ca25f4e9.js 1.62kb +17.00b ⚠️ 49.24s +14.00ms
dist/list-number.e0420e0c.js 1.58kb +17.00b ⚠️ 19.99s -203.00ms
dist/status.f223f976.js 1.58kb +17.00b ⚠️ 19.99s -203.00ms
dist/code.cd95a955.js 1.50kb +17.00b ⚠️ 18.58s -95.00ms
dist/heading6.b3b946d1.js 1.49kb +17.00b ⚠️ 30.16s -171.00ms
dist/heading3.33ac6e42.js 1.48kb +17.00b ⚠️ 19.99s -202.00ms
dist/link.7487dc5e.js 1.42kb +17.00b ⚠️ 19.99s -202.00ms
dist/16.332fbe28.js 1.37kb +17.00b ⚠️ 18.39s -109.00ms
dist/heading5.e617db66.js 1.37kb +17.00b ⚠️ 30.16s -170.00ms
dist/emoji.03d3d99b.js 1.34kb +17.00b ⚠️ 19.99s -202.00ms
dist/16.79a0250b.js 1.33kb +17.00b ⚠️ 18.39s -108.00ms
dist/16.a877725f.js 1.33kb +17.00b ⚠️ 18.39s -108.00ms
dist/16.0eecfc6b.js 1.30kb +17.00b ⚠️ 18.39s -109.00ms
dist/heading2.d374048d.js 1.30kb +17.00b ⚠️ 19.99s -202.00ms
dist/16.01994bf0.js 1.30kb +17.00b ⚠️ 18.39s -109.00ms
dist/expand.1f17de7f.js 1.27kb +17.00b ⚠️ 30.16s -171.00ms
dist/16.00ba62db.js 1.27kb +17.00b ⚠️ 18.39s -110.00ms
dist/heading4.62b9719b.js 1.25kb +17.00b ⚠️ 19.99s -202.00ms
dist/16.8e758d30.js 1.22kb +17.00b ⚠️ 18.39s -109.00ms
dist/16.0555a5c0.js 1.19kb +17.00b ⚠️ 18.39s -108.00ms
dist/16.b114a692.js 1.18kb +17.00b ⚠️ 18.39s -109.00ms
dist/mention.37efe6c4.js 1.18kb +17.00b ⚠️ 19.99s -203.00ms
dist/16.e21a2218.js 1.18kb +17.00b ⚠️ 18.39s -108.00ms
dist/layout.01a386bd.js 1.16kb +17.00b ⚠️ 19.99s -202.00ms
dist/Modal.d35ab6da.js 1.15kb +17.00b ⚠️ 36.28s -243.00ms
dist/heading1.a1828016.js 1.15kb +17.00b ⚠️ 19.99s -204.00ms
dist/divider.601227e8.js 1.14kb +17.00b ⚠️ 19.99s -203.00ms
dist/quote.bb9e77b1.js 1.14kb +17.00b ⚠️ 19.99s -203.00ms
dist/16.922eddd1.js 1.13kb +17.00b ⚠️ 18.39s -108.00ms
dist/16.e92739d9.js 1.13kb +17.00b ⚠️ 18.39s -108.00ms
dist/16.92a42544.js 1.12kb +17.00b ⚠️ 18.39s -108.00ms
dist/16.e5c3bc4c.js 1.12kb +17.00b ⚠️ 18.39s -109.00ms
dist/16.0358f7c7.js 1.12kb +17.00b ⚠️ 18.39s -108.00ms
dist/action.9e337641.js 1.12kb +17.00b ⚠️ 18.58s -95.00ms
dist/16.455c97fa.js 1.12kb +17.00b ⚠️ 18.39s -108.00ms
dist/component.edb11b95.js 1.11kb +17.00b ⚠️ 18.58s -96.00ms
dist/media-card-analytics-error-boundary.75fac461.js 1.10kb +17.00b ⚠️ 48.67s +39.00ms
dist/decision.9b91a34d.js 1.10kb +17.00b ⚠️ 19.99s -202.00ms
dist/panel-warning.2ec3e2eb.js 1.10kb +17.00b ⚠️ 19.99s -202.00ms
dist/16.b221eda2.js 1.08kb +17.00b ⚠️ 18.39s -109.00ms
dist/list.13abafe4.js 1.07kb +17.00b ⚠️ 19.99s -203.00ms
dist/16.cc9a820b.js 1.04kb +17.00b ⚠️ 18.39s -110.00ms
dist/panel-error.9e60042f.js 1024.00b +17.00b ⚠️ 19.99s -203.00ms
dist/panel.d9a0dff6.js 1015.00b +17.00b ⚠️ 19.99s -202.00ms
dist/table.10221eb5.js 1007.00b +17.00b ⚠️ 19.99s -204.00ms
dist/panel-success.6b7c55df.js 963.00b +17.00b ⚠️ 19.99s -202.00ms
dist/panel-note.1f570859.js 959.00b +17.00b ⚠️ 19.99s -202.00ms
dist/media-picker-analytics-error-boundary.cfe02cc6.js 949.00b +17.00b ⚠️ 48.67s +39.00ms
dist/media-viewer-analytics-error-boundary.5e13c40c.js 949.00b +17.00b ⚠️ 49.24s +14.00ms
dist/media-card-analytics-error-boundary.596dbab3.js 945.00b +17.00b ⚠️ 49.20s +19.00ms
dist/media-card-analytics-error-boundary.6f876fa2.js 945.00b +17.00b ⚠️ 49.24s +14.00ms
dist/simpleHasher.2a6e12b6.js 626.00b +17.00b ⚠️ 48.67s +38.00ms
dist/simpleHasher.85f7361e.js 626.00b +17.00b ⚠️ 49.24s +15.00ms
dist/index.html 301.00b +85.00b ⚠️ 49.32s +7.00ms

Cached Bundles

Bundle Size Difference Time Difference
dist/index.7d3c8984.js 1.77mb +1.38kb ⚠️ 18.68s +43.00ms
dist/pdfRenderer.84ca975d.js 1.11mb +17.00b ⚠️ 49.20s -22.00ms
dist/index.5551c4a5.js 694.59kb +119.00b ⚠️ 49.16s -25.00ms
dist/editorView.1fb2bdc9.js 594.90kb +17.00b ⚠️ 48.65s -13.00ms
dist/popup.5e9272ab.js 209.65kb +17.00b ⚠️ 48.65s -13.00ms
dist/EmojiPickerComponent.ac2485ed.js 146.66kb +17.00b ⚠️ 30.25s -56.00ms
dist/index.9ba28104.js 145.42kb +340.00b ⚠️ 49.16s -26.00ms
dist/Toolbar.4ca346ce.js 107.22kb +17.00b ⚠️ 48.65s -12.00ms
dist/media-viewer.bbb74557.js 74.92kb +17.00b ⚠️ 49.20s -22.00ms
dist/card.35f13674.js 62.65kb +17.00b ⚠️ 49.16s -26.00ms
dist/card.18af3662.js 60.70kb +17.00b ⚠️ 49.20s -28.00ms
dist/Modal.c80dd3c8.js 45.30kb +17.00b ⚠️ 48.65s -25.00ms
dist/component.b1c9e217.js 37.33kb +17.00b ⚠️ 18.68s +43.00ms
dist/esm.af8e623a.js 33.13kb +17.00b ⚠️ 30.25s -56.00ms
dist/component.2a5be6e3.js 24.93kb +17.00b ⚠️ 18.68s +43.00ms
dist/DatePicker.470d0774.js 22.96kb +17.00b ⚠️ 30.25s -56.00ms
dist/js.0f0bb621.js 17.24kb +17.00b ⚠️ 48.65s -13.00ms
dist/ui.0e4e243a.js 14.93kb +17.00b ⚠️ 48.65s -24.00ms
dist/smartMediaEditor.f5e2e16c.js 13.24kb +17.00b ⚠️ 48.65s -13.00ms
dist/dropzone.0d183115.js 12.13kb +17.00b ⚠️ 48.65s -14.00ms
dist/workerHasher.07001132.js 11.81kb +17.00b ⚠️ 36.37s -50.00ms
dist/component.2de9ac3a.js 6.81kb +17.00b ⚠️ 18.50s +68.00ms
dist/index.8e178f48.js 5.88kb +306.00b ⚠️ 49.20s -28.00ms
dist/card.45f850d6.js 5.75kb +17.00b ⚠️ 49.16s -26.00ms
dist/media-viewer.141c77cc.js 4.48kb +17.00b ⚠️ 36.37s -41.00ms
dist/media-viewer.22c1906b.js 3.92kb +17.00b ⚠️ 36.37s -41.00ms
dist/EmojiPickerComponent.55e0a64c.js 3.71kb +17.00b ⚠️ 48.65s -24.00ms
dist/png-chunks-extract.94b5b9fc.js 3.56kb +17.00b ⚠️ 48.65s -13.00ms
dist/index.57b81618.css 3.46kb +17.00b ⚠️ 49.38s -37.00ms
dist/dropzone.cf53fd41.js 3.28kb +17.00b ⚠️ 48.65s -14.00ms
dist/Modal.7f4c60b3.js 3.13kb +17.00b ⚠️ 49.16s -26.00ms
dist/clipboard.969d5ad7.js 2.92kb +17.00b ⚠️ 48.65s -14.00ms
dist/16.7b42ca8a.js 2.33kb +17.00b ⚠️ 18.68s +43.00ms
dist/ResourcedEmojiComponent.78f6ddfc.js 2.10kb +17.00b ⚠️ 48.65s -24.00ms
dist/card.6492331a.js 2.02kb +17.00b ⚠️ 36.37s -41.00ms
dist/date.c0482a02.js 1.85kb +17.00b ⚠️ 18.68s +43.00ms
dist/images.c21e6480.js 1.79kb +17.00b ⚠️ 20.05s -127.00ms
dist/feedback.e18b45f0.js 1.75kb +17.00b ⚠️ 30.25s -58.00ms
dist/16.f3960d82.js 1.72kb +17.00b ⚠️ 18.50s +69.00ms
dist/browser.17513657.js 1.68kb +17.00b ⚠️ 48.65s -14.00ms
dist/16.3aec39cf.js 1.66kb +17.00b ⚠️ 18.50s +68.00ms
dist/workerHasher.567cfc57.js 1.62kb +17.00b ⚠️ 30.25s -56.00ms
dist/workerHasher.ca25f4e9.js 1.62kb +17.00b ⚠️ 49.20s -21.00ms
dist/list-number.e0420e0c.js 1.58kb +17.00b ⚠️ 20.06s -125.00ms
dist/status.f223f976.js 1.58kb +17.00b ⚠️ 20.06s -125.00ms
dist/code.cd95a955.js 1.50kb +17.00b ⚠️ 18.68s +43.00ms
dist/heading6.b3b946d1.js 1.49kb +17.00b ⚠️ 30.25s -57.00ms
dist/heading3.33ac6e42.js 1.48kb +17.00b ⚠️ 20.06s -126.00ms
dist/link.7487dc5e.js 1.42kb +17.00b ⚠️ 20.06s -125.00ms
dist/16.332fbe28.js 1.37kb +17.00b ⚠️ 18.50s +68.00ms
dist/heading5.e617db66.js 1.37kb +17.00b ⚠️ 30.25s -57.00ms
dist/emoji.03d3d99b.js 1.34kb +17.00b ⚠️ 20.05s -127.00ms
dist/16.79a0250b.js 1.33kb +17.00b ⚠️ 18.50s +67.00ms
dist/16.a877725f.js 1.33kb +17.00b ⚠️ 18.50s +69.00ms
dist/16.0eecfc6b.js 1.30kb +17.00b ⚠️ 18.50s +70.00ms
dist/heading2.d374048d.js 1.30kb +17.00b ⚠️ 20.06s -125.00ms
dist/16.01994bf0.js 1.30kb +17.00b ⚠️ 18.50s +69.00ms
dist/expand.1f17de7f.js 1.27kb +17.00b ⚠️ 30.25s -57.00ms
dist/16.00ba62db.js 1.27kb +17.00b ⚠️ 18.50s +69.00ms
dist/heading4.62b9719b.js 1.25kb +17.00b ⚠️ 20.06s -126.00ms
dist/16.8e758d30.js 1.22kb +17.00b ⚠️ 18.50s +70.00ms
dist/16.0555a5c0.js 1.19kb +17.00b ⚠️ 18.50s +68.00ms
dist/16.b114a692.js 1.18kb +17.00b ⚠️ 18.50s +70.00ms
dist/mention.37efe6c4.js 1.18kb +17.00b ⚠️ 20.05s -126.00ms
dist/16.e21a2218.js 1.18kb +17.00b ⚠️ 18.50s +70.00ms
dist/layout.01a386bd.js 1.16kb +17.00b ⚠️ 20.05s -126.00ms
dist/Modal.d35ab6da.js 1.15kb +17.00b ⚠️ 36.37s -51.00ms
dist/heading1.a1828016.js 1.15kb +17.00b ⚠️ 20.06s -125.00ms
dist/divider.601227e8.js 1.14kb +17.00b ⚠️ 20.05s -126.00ms
dist/quote.bb9e77b1.js 1.14kb +17.00b ⚠️ 20.06s -125.00ms
dist/16.922eddd1.js 1.13kb +17.00b ⚠️ 18.50s +69.00ms
dist/16.e92739d9.js 1.13kb +17.00b ⚠️ 18.50s +69.00ms
dist/16.92a42544.js 1.12kb +17.00b ⚠️ 18.50s +69.00ms
dist/16.e5c3bc4c.js 1.12kb +17.00b ⚠️ 18.50s +69.00ms
dist/16.0358f7c7.js 1.12kb +17.00b ⚠️ 18.50s +68.00ms
dist/action.9e337641.js 1.12kb +17.00b ⚠️ 18.68s +43.00ms
dist/16.455c97fa.js 1.12kb +17.00b ⚠️ 18.50s +68.00ms
dist/component.edb11b95.js 1.11kb +17.00b ⚠️ 18.68s +43.00ms
dist/media-card-analytics-error-boundary.75fac461.js 1.10kb +17.00b ⚠️ 48.65s -14.00ms
dist/decision.9b91a34d.js 1.10kb +17.00b ⚠️ 20.05s -126.00ms
dist/panel-warning.2ec3e2eb.js 1.10kb +17.00b ⚠️ 20.06s -126.00ms
dist/16.b221eda2.js 1.08kb +17.00b ⚠️ 18.50s +68.00ms
dist/list.13abafe4.js 1.07kb +17.00b ⚠️ 20.05s -126.00ms
dist/16.cc9a820b.js 1.04kb +17.00b ⚠️ 18.50s +70.00ms
dist/panel-error.9e60042f.js 1024.00b +17.00b ⚠️ 20.05s -126.00ms
dist/panel.d9a0dff6.js 1015.00b +17.00b ⚠️ 20.06s -126.00ms
dist/table.10221eb5.js 1007.00b +17.00b ⚠️ 20.06s -125.00ms
dist/panel-success.6b7c55df.js 963.00b +17.00b ⚠️ 20.06s -126.00ms
dist/panel-note.1f570859.js 959.00b +17.00b ⚠️ 20.06s -125.00ms
dist/media-picker-analytics-error-boundary.cfe02cc6.js 949.00b +17.00b ⚠️ 48.65s -14.00ms
dist/media-viewer-analytics-error-boundary.4095f546.js 949.00b +17.00b ⚠️ 49.20s -21.00ms
dist/media-card-analytics-error-boundary.b1a780f3.js 945.00b +17.00b ⚠️ 49.16s -27.00ms
dist/media-card-analytics-error-boundary.6f876fa2.js 945.00b +17.00b ⚠️ 49.20s -28.00ms
dist/simpleHasher.2a6e12b6.js 626.00b +17.00b ⚠️ 48.65s -24.00ms
dist/simpleHasher.85f7361e.js 626.00b +17.00b ⚠️ 49.20s -21.00ms
dist/index.html 301.00b +85.00b ⚠️ 49.27s -46.00ms

Three.js ✅

Timings

Description Time Difference
Cold 6.77s -124.00ms
Cached 366.00ms +3.00ms

Cold Bundles

No bundle changes detected.

Cached Bundles

Bundle Size Difference Time Difference
dist/Three.js 579.68kb +0.00b 5.40s +397.00ms ⚠️

Click here to view a detailed benchmark overview.

@devongovett devongovett merged commit e26dad7 into v2 Sep 2, 2021
@devongovett devongovett deleted the compressors branch September 2, 2021 04:02
lettertwo added a commit that referenced this pull request Sep 10, 2021
* v2: (69 commits)
  Use yarnpkg registry for all the things (#6908)
  Fix issue about loading configs from tsconfig.json (#6881)
  Add `@section` to Compressor type (#6885)
  Parcel API improvements (#6866)
  Use stream-browserify for polyfilling instead (#6863)
  Add support for compressor plugins (#6776)
  Support for inline style attributes and inline scripts in SVG (#6797)
  Bump less (#6852)
  Make sure (non-React) SVGs are in separate bundles (#6757)
  Add support for injecting manifest into service workers (#6798)
  Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
  Remaining cargo clippy fixes (#6829)
  Lazily install sharp only when needed (#6816)
  More cargo clippy suggestions (#6811)
  Don't emit runtime manifest for inline child bundles (#6807)
  Apply suggestions from rust-clippy (#6256)
  Fix add directoryExists function to matchFiles call. (#6784)
  Upgrade to Flow 158 (#6763)
  Revert "added cio headers (#6404)" (#6789)
  Process CSS in SVGs (#6743)
  ...
lettertwo added a commit that referenced this pull request Sep 10, 2021
* v2: (38 commits)
  Use yarnpkg registry for all the things (#6908)
  Fix issue about loading configs from tsconfig.json (#6881)
  Add `@section` to Compressor type (#6885)
  Parcel API improvements (#6866)
  Use stream-browserify for polyfilling instead (#6863)
  Add support for compressor plugins (#6776)
  Support for inline style attributes and inline scripts in SVG (#6797)
  Bump less (#6852)
  Make sure (non-React) SVGs are in separate bundles (#6757)
  Add support for injecting manifest into service workers (#6798)
  Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
  Remaining cargo clippy fixes (#6829)
  Lazily install sharp only when needed (#6816)
  More cargo clippy suggestions (#6811)
  Don't emit runtime manifest for inline child bundles (#6807)
  Apply suggestions from rust-clippy (#6256)
  Fix add directoryExists function to matchFiles call. (#6784)
  Upgrade to Flow 158 (#6763)
  Revert "added cio headers (#6404)" (#6789)
  Process CSS in SVGs (#6743)
  ...
lettertwo added a commit that referenced this pull request Sep 11, 2021
* bdo/number-edgetypes: (70 commits)
  Use yarnpkg registry for all the things (#6908)
  Fix issue about loading configs from tsconfig.json (#6881)
  Add `@section` to Compressor type (#6885)
  Parcel API improvements (#6866)
  Use stream-browserify for polyfilling instead (#6863)
  Add support for compressor plugins (#6776)
  Support for inline style attributes and inline scripts in SVG (#6797)
  Bump less (#6852)
  Make sure (non-React) SVGs are in separate bundles (#6757)
  Add support for injecting manifest into service workers (#6798)
  Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
  Remaining cargo clippy fixes (#6829)
  Lazily install sharp only when needed (#6816)
  More cargo clippy suggestions (#6811)
  Don't emit runtime manifest for inline child bundles (#6807)
  Apply suggestions from rust-clippy (#6256)
  Fix add directoryExists function to matchFiles call. (#6784)
  Upgrade to Flow 158 (#6763)
  Revert "added cio headers (#6404)" (#6789)
  Process CSS in SVGs (#6743)
  ...
lettertwo added a commit that referenced this pull request Sep 13, 2021
* v2: (38 commits)
  Use yarnpkg registry for all the things (#6908)
  Fix issue about loading configs from tsconfig.json (#6881)
  Add `@section` to Compressor type (#6885)
  Parcel API improvements (#6866)
  Use stream-browserify for polyfilling instead (#6863)
  Add support for compressor plugins (#6776)
  Support for inline style attributes and inline scripts in SVG (#6797)
  Bump less (#6852)
  Make sure (non-React) SVGs are in separate bundles (#6757)
  Add support for injecting manifest into service workers (#6798)
  Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
  Remaining cargo clippy fixes (#6829)
  Lazily install sharp only when needed (#6816)
  More cargo clippy suggestions (#6811)
  Don't emit runtime manifest for inline child bundles (#6807)
  Apply suggestions from rust-clippy (#6256)
  Fix add directoryExists function to matchFiles call. (#6784)
  Upgrade to Flow 158 (#6763)
  Revert "added cio headers (#6404)" (#6789)
  Process CSS in SVGs (#6743)
  ...
lettertwo added a commit that referenced this pull request Sep 13, 2021
* bdo/number-edgetypes: (70 commits)
  Use yarnpkg registry for all the things (#6908)
  Fix issue about loading configs from tsconfig.json (#6881)
  Add `@section` to Compressor type (#6885)
  Parcel API improvements (#6866)
  Use stream-browserify for polyfilling instead (#6863)
  Add support for compressor plugins (#6776)
  Support for inline style attributes and inline scripts in SVG (#6797)
  Bump less (#6852)
  Make sure (non-React) SVGs are in separate bundles (#6757)
  Add support for injecting manifest into service workers (#6798)
  Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
  Remaining cargo clippy fixes (#6829)
  Lazily install sharp only when needed (#6816)
  More cargo clippy suggestions (#6811)
  Don't emit runtime manifest for inline child bundles (#6807)
  Apply suggestions from rust-clippy (#6256)
  Fix add directoryExists function to matchFiles call. (#6784)
  Upgrade to Flow 158 (#6763)
  Revert "added cio headers (#6404)" (#6789)
  Process CSS in SVGs (#6743)
  ...
lettertwo added a commit that referenced this pull request Sep 13, 2021
* v2: (42 commits)
  Remove dead link to docs in diagnostic (#6913)
  Fix engines.parcel in SVG packager (#6911)
  Use imported Readable flow type instead of global (#6910)
  Use non-deprecated SVGO options in HTMLNanoOptimizer (#6785)
  Use yarnpkg registry for all the things (#6908)
  Fix issue about loading configs from tsconfig.json (#6881)
  Add `@section` to Compressor type (#6885)
  Parcel API improvements (#6866)
  Use stream-browserify for polyfilling instead (#6863)
  Add support for compressor plugins (#6776)
  Support for inline style attributes and inline scripts in SVG (#6797)
  Bump less (#6852)
  Make sure (non-React) SVGs are in separate bundles (#6757)
  Add support for injecting manifest into service workers (#6798)
  Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
  Remaining cargo clippy fixes (#6829)
  Lazily install sharp only when needed (#6816)
  More cargo clippy suggestions (#6811)
  Don't emit runtime manifest for inline child bundles (#6807)
  Apply suggestions from rust-clippy (#6256)
  ...
lettertwo added a commit that referenced this pull request Sep 13, 2021
* v2: (42 commits)
  Remove dead link to docs in diagnostic (#6913)
  Fix engines.parcel in SVG packager (#6911)
  Use imported Readable flow type instead of global (#6910)
  Use non-deprecated SVGO options in HTMLNanoOptimizer (#6785)
  Use yarnpkg registry for all the things (#6908)
  Fix issue about loading configs from tsconfig.json (#6881)
  Add `@section` to Compressor type (#6885)
  Parcel API improvements (#6866)
  Use stream-browserify for polyfilling instead (#6863)
  Add support for compressor plugins (#6776)
  Support for inline style attributes and inline scripts in SVG (#6797)
  Bump less (#6852)
  Make sure (non-React) SVGs are in separate bundles (#6757)
  Add support for injecting manifest into service workers (#6798)
  Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
  Remaining cargo clippy fixes (#6829)
  Lazily install sharp only when needed (#6816)
  More cargo clippy suggestions (#6811)
  Don't emit runtime manifest for inline child bundles (#6807)
  Apply suggestions from rust-clippy (#6256)
  ...
lettertwo added a commit that referenced this pull request Sep 13, 2021
* bdo/number-edgetypes: (74 commits)
  Remove dead link to docs in diagnostic (#6913)
  Fix engines.parcel in SVG packager (#6911)
  Use imported Readable flow type instead of global (#6910)
  Use non-deprecated SVGO options in HTMLNanoOptimizer (#6785)
  Use yarnpkg registry for all the things (#6908)
  Fix issue about loading configs from tsconfig.json (#6881)
  Add `@section` to Compressor type (#6885)
  Parcel API improvements (#6866)
  Use stream-browserify for polyfilling instead (#6863)
  Add support for compressor plugins (#6776)
  Support for inline style attributes and inline scripts in SVG (#6797)
  Bump less (#6852)
  Make sure (non-React) SVGs are in separate bundles (#6757)
  Add support for injecting manifest into service workers (#6798)
  Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
  Remaining cargo clippy fixes (#6829)
  Lazily install sharp only when needed (#6816)
  More cargo clippy suggestions (#6811)
  Don't emit runtime manifest for inline child bundles (#6807)
  Apply suggestions from rust-clippy (#6256)
  ...
@hsablonniere
Copy link

@devongovett thanks for this, I need to try it now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Parcel 2: gzip optimizer
4 participants