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 include and exclude globs for CSS modules #9301

Merged
merged 3 commits into from
Oct 11, 2023
Merged

Conversation

devongovett
Copy link
Member

This adds two new options to the config for @parcel/transformer-css: "include" and "exclude". These accept a list of globs indicating which files to include and exclude from CSS modules compilation. By default we include *.module.css, or you can set the "global" option to true to include all CSS files. These new options allow you to be more granular to either include a smaller set of files or compile everything except certain files.

I thought about also supporting *.global.css by default to exclude a CSS file from compilation, but I think that might be a breaking change? Maybe in v3. For now, these new options allow you to configure that yourself.

@parcel-benchmark
Copy link

parcel-benchmark commented Oct 9, 2023

Benchmark Results

Kitchen Sink ✅

Timings

Description Time Difference
Cold 1.63s -57.00ms
Cached 268.00ms -25.00ms 🚀

Cold Bundles

No bundle changes detected.

Cached Bundles

Bundle Size Difference Time Difference
dist/legacy/index.b8ae99ba.css 94.00b +0.00b 286.00ms -28.00ms 🚀
dist/modern/index.31cedca9.css 94.00b +0.00b 286.00ms -27.00ms 🚀

React HackerNews ✅

Timings

Description Time Difference
Cold 4.32s -1.00ms
Cached 425.00ms -0.00ms

Cold Bundles

Bundle Size Difference Time Difference
dist/PermalinkedComment.e9dc4a75.js 3.92kb +0.00b 387.00ms -20.00ms 🚀
dist/UserProfile.8945a243.js 1.38kb +0.00b 387.00ms -20.00ms 🚀

Cached Bundles

No bundle changes detected.

AtlasKit Editor ✅

Timings

Description Time Difference
Cold 38.74s -591.00ms
Cached 2.32s -7.00ms

Cold Bundles

Bundle Size Difference Time Difference
dist/media-viewer-analytics-error-boundary.60bdaa4c.js 3.18kb +0.00b 12.90s +3.10s ⚠️
dist/ru.0cf3f40e.js 2.81kb +0.00b 9.52s +2.86s ⚠️
dist/heading5.d2f94d9d.js 1.23kb +0.00b 6.75s +950.00ms ⚠️
dist/sk.4be9c93f.js 656.00b +0.00b 9.59s +2.92s ⚠️
dist/index.html 248.00b +0.00b 6.74s +1.21s ⚠️

Cached Bundles

Bundle Size Difference Time Difference
dist/ConfigPanelFieldsLoader.182d39bc.js 303.43kb +0.00b 9.51s +494.00ms ⚠️
dist/card.d06de810.js 138.91kb +0.00b 9.49s +482.00ms ⚠️
dist/mobile-upload.f21df36e.js 66.34kb +0.00b 6.14s +568.00ms ⚠️
dist/ElementBrowser.e8f01080.js 61.94kb +0.00b 9.49s +485.00ms ⚠️
dist/archive.c374f622.js 59.90kb +0.00b 12.97s +3.97s ⚠️
dist/esm.bfca2115.js 59.30kb +0.00b 9.49s +494.00ms ⚠️
dist/component-lazy.51d1dec9.js 58.94kb +0.00b 7.17s +715.00ms ⚠️
dist/component.a781cbb6.js 57.16kb +0.00b 6.14s +569.00ms ⚠️
dist/DatePicker.042aeb21.js 47.46kb +0.00b 7.19s +605.00ms ⚠️
dist/Modal.38d9f78c.js 27.83kb +0.00b 6.13s +566.00ms ⚠️
dist/DatePicker.dd4c3679.js 24.96kb +0.00b 7.19s +605.00ms ⚠️
dist/component.c2c7f470.js 18.68kb +0.00b 6.13s +562.00ms ⚠️
dist/js.e1035d4d.js 17.15kb +0.00b 6.13s +567.00ms ⚠️
dist/ConfigPanelFieldsLoader.2b7c03be.js 15.74kb +0.00b 9.49s +492.00ms ⚠️
dist/ui.8c117104.js 14.48kb +0.00b 9.49s +485.00ms ⚠️
dist/ConfigPanelFieldsLoader.5dfde67d.js 13.63kb +0.00b 9.49s +485.00ms ⚠️
dist/pdfRenderer.01deafa1.js 12.04kb +0.00b 12.82s +3.82s ⚠️
dist/mobile-upload.3747b689.js 7.79kb +0.00b 6.13s +566.00ms ⚠️
dist/mobile-upload.3baad8e4.js 7.79kb +0.00b 9.50s +492.00ms ⚠️
dist/mobile-upload.7a892a37.js 7.79kb +0.00b 9.50s +505.00ms ⚠️
dist/Modal.850345b4.js 3.86kb +0.00b 6.13s +566.00ms ⚠️
dist/component.360dba95.js 3.20kb +0.00b 6.13s +566.00ms ⚠️
dist/png-chunks-extract.92497b2d.js 3.06kb +0.00b 6.13s +566.00ms ⚠️
dist/ru.0cf3f40e.js 2.81kb +0.00b 9.49s +537.00ms ⚠️
dist/uk.282f23b1.js 2.76kb +0.00b 9.49s +493.00ms ⚠️
dist/codeViewerRenderer.51140ec8.js 2.61kb +0.00b 12.82s +3.82s ⚠️
dist/th.137e1013.js 2.60kb +0.00b 9.49s +493.00ms ⚠️
dist/ResourcedEmojiComponent.9a253c26.js 2.47kb +0.00b 7.19s +606.00ms ⚠️
dist/pl.bce591be.js 2.25kb +0.00b 7.19s -534.00ms 🚀
dist/cs.bf42283b.js 2.23kb +0.00b 7.19s +605.00ms ⚠️
dist/de.90d5c4fa.js 2.17kb +0.00b 7.19s +605.00ms ⚠️
dist/fr.ff5d335f.js 2.13kb +0.00b 7.19s +604.00ms ⚠️
dist/es.80bf0476.js 2.12kb +0.00b 7.19s +605.00ms ⚠️
dist/hu.223c2cde.js 2.10kb +0.00b 7.19s +604.00ms ⚠️
dist/fi.98bb8fa8.js 2.09kb +0.00b 7.19s +604.00ms ⚠️
dist/ja.7d4156df.js 2.09kb +0.00b 7.19s +606.00ms ⚠️
dist/vi.b46097db.js 2.09kb +0.00b 9.49s +493.00ms ⚠️
dist/pt_BR.b9e37d37.js 2.06kb +0.00b 7.19s -533.00ms 🚀
dist/tr.c85d90a9.js 2.03kb +0.00b 9.49s +493.00ms ⚠️
dist/ko.9c6bf469.js 1.98kb +0.00b 7.19s -533.00ms 🚀
dist/sv.1c06c95c.js 1.98kb +0.00b 9.49s +493.00ms ⚠️
dist/it.04edb54a.js 1.97kb +0.00b 7.19s +604.00ms ⚠️
dist/nb.9bd6db78.js 1.96kb +0.00b 7.19s +606.00ms ⚠️
dist/date.139a08b0.js 1.95kb +0.00b 6.43s +542.00ms ⚠️
dist/da.d2d8303e.js 1.95kb +0.00b 7.19s +605.00ms ⚠️
dist/nl.c4d12122.js 1.94kb +0.00b 7.19s -533.00ms 🚀
dist/images.774ef3be.js 1.90kb +0.00b 6.43s +542.00ms ⚠️
dist/zh_TW.b7c55aa6.js 1.86kb +0.00b 9.49s +493.00ms ⚠️
dist/zh.b01fe721.js 1.84kb +0.00b 9.49s +492.00ms ⚠️
dist/feedback.4b745631.js 1.76kb +0.00b 7.19s +606.00ms ⚠️
dist/status.20808f9b.js 1.67kb +0.00b 6.43s +542.00ms ⚠️
dist/code.3ce450f8.js 1.56kb +0.00b 6.43s +541.00ms ⚠️
dist/workerHasher.4f6584da.js 1.56kb +0.00b 6.13s +566.00ms ⚠️
dist/workerHasher.540c9790.js 1.56kb +0.00b 9.49s +484.00ms ⚠️
dist/workerHasher.c840c607.js 1.56kb +0.00b 9.50s +493.00ms ⚠️
dist/list-number.fdc97a50.js 1.47kb +0.00b 6.43s +541.00ms ⚠️
dist/heading6.e6e03f52.js 1.36kb +0.00b 7.19s +605.00ms ⚠️
dist/16.4998f52b.js 1.35kb +0.00b 6.13s +560.00ms ⚠️
dist/heading3.73972e33.js 1.35kb +0.00b 6.43s +543.00ms ⚠️
dist/16.330880f6.js 1.29kb +0.00b 6.13s +561.00ms ⚠️
dist/link.71e06c5e.js 1.28kb +0.00b 6.43s +541.00ms ⚠️
dist/emoji.8f9f45dc.js 1.25kb +0.00b 6.43s +543.00ms ⚠️
dist/heading5.d2f94d9d.js 1.23kb +0.00b 7.19s +605.00ms ⚠️
dist/expand.c983e90a.js 1.18kb +0.00b 7.19s +606.00ms ⚠️
dist/heading2.c27d912d.js 1.17kb +0.00b 6.43s +543.00ms ⚠️
dist/heading4.be08fc9e.js 1.12kb +0.00b 7.17s +715.00ms ⚠️
dist/mention.f4723418.js 1.09kb +0.00b 6.43s +541.00ms ⚠️
dist/layout.b5e3a7ef.js 1.05kb +0.00b 6.43s +542.00ms ⚠️
dist/divider.7bb33712.js 1.04kb +0.00b 6.43s +543.00ms ⚠️
dist/action.c407ac14.js 1.02kb +0.00b 6.43s +541.00ms ⚠️
dist/heading1.d7caae19.js 1.02kb +0.00b 6.43s +542.00ms ⚠️
dist/16.371e251f.js 1.00kb +0.00b 6.13s +561.00ms ⚠️
dist/list.bd698aa0.js 1011.00b +0.00b 6.43s +541.00ms ⚠️
dist/quote.d6bda47a.js 1011.00b +0.00b 6.43s +542.00ms ⚠️
dist/decision.a17a0d00.js 992.00b +0.00b 6.43s +542.00ms ⚠️
dist/16.8adad466.js 980.00b +0.00b 6.13s +560.00ms ⚠️
dist/16.71432140.js 980.00b +0.00b 6.13s +561.00ms ⚠️
dist/panel-warning.772e8569.js 968.00b +0.00b 6.43s +542.00ms ⚠️
dist/16.e5f05248.js 960.00b +0.00b 6.13s +566.00ms ⚠️
dist/16.549c63e3.js 955.00b +0.00b 6.43s +542.00ms ⚠️
dist/table.e0e68580.js 946.00b +0.00b 6.43s +542.00ms ⚠️
dist/16.79864de1.js 920.00b +0.00b 6.14s +568.00ms ⚠️
dist/panel.45c00b08.js 887.00b +0.00b 6.43s +542.00ms ⚠️
dist/panel-error.bfda44fb.js 864.00b +0.00b 6.43s +541.00ms ⚠️
dist/16.7d7d7930.js 862.00b +0.00b 6.14s +561.00ms ⚠️
dist/16.4556c00f.js 834.00b +0.00b 6.14s +566.00ms ⚠️
dist/16.a44bb474.js 827.00b +0.00b 6.13s +568.00ms ⚠️
dist/16.bf9fb66d.js 821.00b +0.00b 6.43s +541.00ms ⚠️
dist/panel-success.4afcba7a.js 805.00b +0.00b 6.43s +542.00ms ⚠️
dist/panel-note.58ef2b52.js 795.00b +0.00b 6.43s +542.00ms ⚠️
dist/16.dffb58fe.js 782.00b +0.00b 6.13s +560.00ms ⚠️
dist/16.0118b1f8.js 776.00b +0.00b 6.13s +561.00ms ⚠️
dist/16.9a311f76.js 776.00b +0.00b 6.13s +561.00ms ⚠️
dist/16.edf70d70.js 775.00b +0.00b 6.13s +560.00ms ⚠️
dist/16.4af9f37f.js 774.00b +0.00b 6.13s +562.00ms ⚠️
dist/16.aa70dcce.js 773.00b +0.00b 6.13s +568.00ms ⚠️
dist/16.c715b7e1.js 746.00b +0.00b 6.43s +541.00ms ⚠️
dist/16.54ffa2b2.js 725.00b +0.00b 6.13s +567.00ms ⚠️
dist/16.d7c3881b.js 697.00b +0.00b 6.14s +567.00ms ⚠️
dist/sk.4be9c93f.js 656.00b +0.00b 9.49s +494.00ms ⚠️
dist/pt_PT.e211e609.js 635.00b +0.00b 9.38s +1.65s ⚠️
dist/et.88ef7cb4.js 633.00b +0.00b 7.19s +605.00ms ⚠️
dist/simpleHasher.09765db3.js 589.00b +0.00b 6.13s +566.00ms ⚠️
dist/simpleHasher.c14e20b4.js 589.00b +0.00b 9.50s +492.00ms ⚠️
dist/simpleHasher.23db7a52.js 589.00b +0.00b 9.50s +494.00ms ⚠️
dist/is.5f045a22.js 495.00b +0.00b 7.19s +604.00ms ⚠️
dist/ro.8d5b380a.js 482.00b +0.00b 9.38s +1.65s ⚠️
dist/en_GB.4c40e6c6.js 472.00b +0.00b 7.19s +605.00ms ⚠️
dist/en.e1d21f6d.js 469.00b +0.00b 7.19s +605.00ms ⚠️
dist/index.html 248.00b +0.00b 13.02s +6.45s ⚠️

Three.js ✅

Timings

Description Time Difference
Cold 3.19s -41.00ms
Cached 326.00ms -11.00ms

Cold Bundles

No bundle changes detected.

Cached Bundles

No bundle changes detected.

Click here to view a detailed benchmark overview.

@devongovett devongovett merged commit 8e05ef2 into v2 Oct 11, 2023
16 checks passed
@devongovett devongovett deleted the css-module-include branch October 11, 2023 01:07
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.

None yet

2 participants