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

Support node: prefix for CJS dependencies #9244

Merged
merged 1 commit into from Sep 14, 2023
Merged

Support node: prefix for CJS dependencies #9244

merged 1 commit into from Sep 14, 2023

Conversation

mischnic
Copy link
Member

Closes #8984

At least in current Node versions, require("node:path") works fine, so I guess we should support it for CJS dependencies as well.

This broke as part of the resolver usage for dev deps (see linked issue).

@parcel-benchmark
Copy link

Benchmark Results

Kitchen Sink ✅

Timings

Description Time Difference
Cold 2.19s +295.00ms ⚠️
Cached 341.00ms -32.00ms 🚀

Cold Bundles

Bundle Size Difference Time Difference
dist/legacy/parcel.7cdb0fad.webp 102.94kb +0.00b 401.00ms +94.00ms ⚠️
dist/legacy/parcel.7cdb0fad.webp 102.94kb +0.00b 403.00ms +86.00ms ⚠️
dist/modern/parcel.7cdb0fad.webp 102.94kb +0.00b 402.00ms +84.00ms ⚠️
dist/legacy/index.8692583b.js 1.48kb +0.00b 593.00ms +105.00ms ⚠️
dist/legacy/index.a2819fc3.js 1.06kb +0.00b 593.00ms +105.00ms ⚠️
dist/modern/index.d90ef1a6.js 917.00b +0.00b 592.00ms +104.00ms ⚠️
dist/legacy/index.html 826.00b +0.00b 636.00ms +116.00ms ⚠️
dist/modern/index.html 749.00b +0.00b 635.00ms +116.00ms ⚠️
dist/legacy/index.b8ae99ba.css 94.00b +0.00b 415.00ms +96.00ms ⚠️
dist/modern/index.31cedca9.css 94.00b +0.00b 415.00ms +96.00ms ⚠️

Cached Bundles

Bundle Size Difference Time Difference
dist/legacy/parcel.7cdb0fad.webp 102.94kb +0.00b 309.00ms -31.00ms 🚀
dist/legacy/parcel.7cdb0fad.webp 102.94kb +0.00b 311.00ms -39.00ms 🚀
dist/modern/parcel.7cdb0fad.webp 102.94kb +0.00b 310.00ms -40.00ms 🚀
dist/legacy/index.8692583b.js 1.48kb +0.00b 466.00ms -38.00ms 🚀
dist/legacy/index.a2819fc3.js 1.06kb +0.00b 465.00ms -39.00ms 🚀
dist/modern/index.d90ef1a6.js 917.00b +0.00b 465.00ms -39.00ms 🚀
dist/legacy/index.html 826.00b +0.00b 499.00ms -40.00ms 🚀
dist/modern/index.html 749.00b +0.00b 498.00ms -40.00ms 🚀
dist/legacy/index.b8ae99ba.css 94.00b +0.00b 325.00ms -26.00ms 🚀
dist/modern/index.31cedca9.css 94.00b +0.00b 324.00ms -27.00ms 🚀

React HackerNews ✅

Timings

Description Time Difference
Cold 5.28s -170.00ms
Cached 491.00ms -11.00ms

Cold Bundles

Bundle Size Difference Time Difference
dist/PermalinkedComment.3145598b.js 3.94kb +0.00b 448.00ms -30.00ms 🚀
dist/UserProfile.b37bbaff.js 1.38kb +0.00b 448.00ms -30.00ms 🚀
dist/NotFound.c08212ea.js 265.00b +0.00b 448.00ms -30.00ms 🚀
dist/logo.8dd07848.png 244.00b +0.00b 348.00ms +48.00ms ⚠️

Cached Bundles

No bundle changes detected.

AtlasKit Editor ✅

Timings

Description Time Difference
Cold 46.30s +1.71s
Cached 2.73s -343.00ms 🚀

Cold Bundles

Bundle Size Difference Time Difference
dist/pdfRenderer.4cf5cffc.js 1.11mb +0.00b 16.90s +1.05s ⚠️
dist/editorView.3f952334.js 619.77kb +0.00b 18.76s +943.00ms ⚠️
dist/media-viewer.bc1a2415.js 537.32kb +0.00b 15.84s +5.10s ⚠️
dist/ConfigPanelFieldsLoader.8648eeee.js 306.81kb +0.00b 11.55s +812.00ms ⚠️
dist/card.3521c96b.js 140.18kb +0.00b 11.54s +812.00ms ⚠️
dist/mobile-upload.0917d4f0.js 66.50kb +0.00b 7.20s +610.00ms ⚠️
dist/ElementBrowser.c496dd44.js 62.20kb +0.00b 11.55s +815.00ms ⚠️
dist/esm.ce3e12df.js 59.72kb +0.00b 11.54s +803.00ms ⚠️
dist/component-lazy.aeb22f50.js 59.50kb +0.00b 8.52s +692.00ms ⚠️
dist/component.508d12ab.js 57.88kb +0.00b 7.20s +610.00ms ⚠️
dist/DatePicker.f4cb448f.js 47.85kb +0.00b 8.58s +759.00ms ⚠️
dist/Modal.f90b31a7.js 28.20kb +0.00b 7.20s +610.00ms ⚠️
dist/DatePicker.412226fe.js 25.02kb +0.00b 8.58s +759.00ms ⚠️
dist/component.d038388b.js 18.68kb +0.00b 7.20s +610.00ms ⚠️
dist/js.9cb9c5be.js 17.21kb +0.00b 7.20s +611.00ms ⚠️
dist/ConfigPanelFieldsLoader.8efb299e.js 15.82kb +0.00b 11.55s +816.00ms ⚠️
dist/ui.8e1e1200.js 14.49kb +0.00b 11.55s +815.00ms ⚠️
dist/ConfigPanelFieldsLoader.f78f3b60.js 13.65kb +0.00b 11.55s +816.00ms ⚠️
dist/pdfRenderer.6335b9a2.js 12.08kb +0.00b 11.55s +819.00ms ⚠️
dist/mobile-upload.86840439.js 7.86kb +0.00b 7.19s +617.00ms ⚠️
dist/mobile-upload.c687ddb2.js 7.86kb +0.00b 11.55s +811.00ms ⚠️
dist/mobile-upload.e9eb996a.js 7.86kb +0.00b 11.55s +809.00ms ⚠️
dist/Modal.efe95f7f.js 3.87kb +0.00b 7.20s +611.00ms ⚠️
dist/component.342752e9.js 3.22kb +0.00b 7.19s +610.00ms ⚠️
dist/png-chunks-extract.01ed8f60.js 3.06kb +0.00b 7.19s +618.00ms ⚠️
dist/ru.aaea8ba6.js 2.81kb +0.00b 11.55s +813.00ms ⚠️
dist/uk.5d2e97bd.js 2.76kb +0.00b 11.55s +816.00ms ⚠️
dist/codeViewerRenderer.7d374cd5.js 2.61kb +0.00b 11.55s -3.63s 🚀
dist/th.df60823c.js 2.60kb +0.00b 11.55s +816.00ms ⚠️
dist/ResourcedEmojiComponent.184d62aa.js 2.47kb +0.00b 8.58s +759.00ms ⚠️
dist/pl.f089a702.js 2.25kb +0.00b 8.59s +759.00ms ⚠️
dist/cs.c0d356c1.js 2.23kb +0.00b 8.58s +758.00ms ⚠️
dist/de.1a167b65.js 2.17kb +0.00b 8.58s +757.00ms ⚠️
dist/fr.6cc5b166.js 2.12kb +0.00b 8.58s +758.00ms ⚠️
dist/es.38a88442.js 2.12kb +0.00b 8.58s +758.00ms ⚠️
dist/hu.026ff8dd.js 2.10kb +0.00b 8.58s +757.00ms ⚠️
dist/fi.84541eb7.js 2.09kb +0.00b 8.58s +758.00ms ⚠️
dist/ja.a9cd0bd6.js 2.09kb +0.00b 8.59s +759.00ms ⚠️
dist/vi.3e6d5bcb.js 2.09kb +0.00b 11.55s +817.00ms ⚠️
dist/pt_BR.1db6fd92.js 2.06kb +0.00b 8.59s +759.00ms ⚠️
dist/tr.4de346b9.js 2.03kb +0.00b 11.55s +816.00ms ⚠️
dist/ko.954590a1.js 1.97kb +0.00b 8.59s +759.00ms ⚠️
dist/sv.b893ead3.js 1.97kb +0.00b 11.55s +816.00ms ⚠️
dist/it.5c7edaaf.js 1.97kb +0.00b 8.58s +758.00ms ⚠️
dist/nb.7f52770f.js 1.96kb +0.00b 8.59s +759.00ms ⚠️
dist/date.6db71354.js 1.94kb +0.00b 7.61s +624.00ms ⚠️
dist/da.23f674ea.js 1.94kb +0.00b 8.58s +757.00ms ⚠️
dist/nl.fd54481e.js 1.94kb +0.00b 8.59s +759.00ms ⚠️
dist/images.21df3a8f.js 1.90kb +0.00b 7.61s +623.00ms ⚠️
dist/zh_TW.3d130b76.js 1.85kb +0.00b 11.55s +817.00ms ⚠️
dist/zh.fb21f066.js 1.83kb +0.00b 11.55s +816.00ms ⚠️
dist/feedback.647089cf.js 1.76kb +0.00b 8.58s +759.00ms ⚠️
dist/status.be4e3842.js 1.67kb +0.00b 7.61s +622.00ms ⚠️
dist/code.64a301f3.js 1.56kb +0.00b 7.61s +624.00ms ⚠️
dist/workerHasher.e01f8bcf.js 1.56kb +0.00b 7.19s +617.00ms ⚠️
dist/workerHasher.322762e4.js 1.56kb +0.00b 11.55s +811.00ms ⚠️
dist/workerHasher.8fdadeba.js 1.56kb +0.00b 11.55s +810.00ms ⚠️
dist/list-number.e454dc8e.js 1.47kb +0.00b 7.61s +624.00ms ⚠️
dist/heading6.eae34279.js 1.36kb +0.00b 8.58s +758.00ms ⚠️
dist/16.a4c7368c.js 1.35kb +0.00b 7.20s +610.00ms ⚠️
dist/heading3.82217cc7.js 1.35kb +0.00b 7.61s +623.00ms ⚠️
dist/16.347f2ad3.js 1.28kb +0.00b 7.20s +609.00ms ⚠️
dist/link.ef87b7d4.js 1.28kb +0.00b 7.61s +624.00ms ⚠️
dist/emoji.f9caa19f.js 1.25kb +0.00b 7.61s +624.00ms ⚠️
dist/heading5.20183aa6.js 1.23kb +0.00b 8.58s +758.00ms ⚠️
dist/expand.e7437f2e.js 1.18kb +0.00b 8.58s +759.00ms ⚠️
dist/heading2.a43a84af.js 1.17kb +0.00b 7.61s +623.00ms ⚠️
dist/heading4.bc1ea347.js 1.12kb +0.00b 7.61s +623.00ms ⚠️
dist/mention.12d040af.js 1.08kb +0.00b 7.61s +623.00ms ⚠️
dist/layout.467fc22b.js 1.04kb +0.00b 7.61s +624.00ms ⚠️
dist/divider.875eeb9b.js 1.04kb +0.00b 7.61s +624.00ms ⚠️
dist/action.4747cf93.js 1.02kb +0.00b 7.61s +624.00ms ⚠️
dist/heading1.a2a2d506.js 1.01kb +0.00b 7.61s +623.00ms ⚠️
dist/16.1d939d76.js 1.00kb +0.00b 7.20s +610.00ms ⚠️
dist/list.a024d070.js 1007.00b +0.00b 7.61s +623.00ms ⚠️
dist/quote.790784b0.js 1007.00b +0.00b 7.61s +622.00ms ⚠️
dist/decision.f09ec841.js 988.00b +0.00b 7.61s +624.00ms ⚠️
dist/16.92be0d97.js 976.00b +0.00b 7.20s +609.00ms ⚠️
dist/16.5befcdea.js 976.00b +0.00b 7.20s +608.00ms ⚠️
dist/panel-warning.b246d7d3.js 964.00b +0.00b 7.61s +621.00ms ⚠️
dist/16.ef2df2b6.js 956.00b +0.00b 7.20s +610.00ms ⚠️
dist/16.792a9556.js 951.00b +0.00b 7.61s +624.00ms ⚠️
dist/table.348d2eb0.js 942.00b +0.00b 7.61s +622.00ms ⚠️
dist/16.01cdc55d.js 916.00b +0.00b 7.20s +611.00ms ⚠️
dist/panel.bc621c8f.js 883.00b +0.00b 7.61s +621.00ms ⚠️
dist/panel-error.9152f129.js 860.00b +0.00b 7.61s +623.00ms ⚠️
dist/16.8fc349c9.js 858.00b +0.00b 7.20s +610.00ms ⚠️
dist/16.c5423dbe.js 830.00b +0.00b 7.20s +609.00ms ⚠️
dist/16.1be49b4b.js 823.00b +0.00b 7.19s +609.00ms ⚠️
dist/16.eb6f51c1.js 817.00b +0.00b 7.61s +624.00ms ⚠️
dist/panel-success.25629fed.js 801.00b +0.00b 7.61s +621.00ms ⚠️
dist/panel-note.f23dd251.js 791.00b +0.00b 7.61s +623.00ms ⚠️
dist/16.924dd2e3.js 778.00b +0.00b 7.20s +610.00ms ⚠️
dist/16.01e372d3.js 772.00b +0.00b 7.20s +609.00ms ⚠️
dist/16.0cd21a5f.js 772.00b +0.00b 7.20s +609.00ms ⚠️
dist/16.a0490963.js 771.00b +0.00b 7.20s +610.00ms ⚠️
dist/16.a5f45cdb.js 770.00b +0.00b 7.20s +609.00ms ⚠️
dist/16.bc1a05f3.js 769.00b +0.00b 7.19s +609.00ms ⚠️
dist/16.d9cd1f88.js 742.00b +0.00b 7.61s +625.00ms ⚠️
dist/16.e3d16653.js 721.00b +0.00b 7.20s +610.00ms ⚠️
dist/16.592b5fd3.js 693.00b +0.00b 7.20s +611.00ms ⚠️
dist/sk.1a0c584e.js 652.00b +0.00b 11.55s +816.00ms ⚠️
dist/pt_PT.16308ef8.js 631.00b +0.00b 8.59s +759.00ms ⚠️
dist/et.3d28125f.js 629.00b +0.00b 8.58s +757.00ms ⚠️
dist/simpleHasher.329400f6.js 585.00b +0.00b 7.19s +617.00ms ⚠️
dist/simpleHasher.0488d56a.js 585.00b +0.00b 11.55s +811.00ms ⚠️
dist/simpleHasher.180c1d91.js 585.00b +0.00b 11.55s +809.00ms ⚠️
dist/is.b5f0121f.js 491.00b +0.00b 8.58s +757.00ms ⚠️
dist/ro.ee42c980.js 478.00b +0.00b 8.59s -2.15s 🚀
dist/en_GB.f6c48dd5.js 468.00b +0.00b 8.58s +758.00ms ⚠️
dist/en.b8f14ffb.js 465.00b +0.00b 8.58s +757.00ms ⚠️
dist/index.html 248.00b +0.00b 15.90s +5.14s ⚠️

Cached Bundles

Bundle Size Difference Time Difference
dist/ConfigPanelFieldsLoader.8648eeee.js 306.81kb +0.00b 13.65s +2.69s ⚠️
dist/card.3521c96b.js 140.18kb +0.00b 13.65s +2.70s ⚠️
dist/ConfigPanelFieldsLoader.1a016f33.js 82.96kb +0.00b 14.15s -864.00ms 🚀
dist/ElementBrowser.c496dd44.js 62.20kb +0.00b 10.26s -699.00ms 🚀
dist/esm.ce3e12df.js 59.72kb +0.00b 13.65s +2.70s ⚠️
dist/ConfigPanelFieldsLoader.8efb299e.js 15.82kb +0.00b 10.26s -700.00ms 🚀
dist/ui.8e1e1200.js 14.49kb +0.00b 10.26s -700.00ms 🚀
dist/ConfigPanelFieldsLoader.f78f3b60.js 13.65kb +0.00b 10.26s -700.00ms 🚀
dist/pdfRenderer.6335b9a2.js 12.08kb +0.00b 13.65s +2.70s ⚠️
dist/mobile-upload.c687ddb2.js 7.86kb +0.00b 13.65s +2.69s ⚠️
dist/mobile-upload.e9eb996a.js 7.86kb +0.00b 13.65s +2.69s ⚠️
dist/ru.aaea8ba6.js 2.81kb +0.00b 10.26s -700.00ms 🚀
dist/uk.5d2e97bd.js 2.76kb +0.00b 10.26s -699.00ms 🚀
dist/th.df60823c.js 2.60kb +0.00b 10.26s -698.00ms 🚀
dist/pl.f089a702.js 2.25kb +0.00b 8.50s +525.00ms ⚠️
dist/hu.026ff8dd.js 2.10kb +0.00b 8.50s +526.00ms ⚠️
dist/ja.a9cd0bd6.js 2.09kb +0.00b 8.50s +526.00ms ⚠️
dist/vi.3e6d5bcb.js 2.09kb +0.00b 10.26s -699.00ms 🚀
dist/pt_BR.1db6fd92.js 2.06kb +0.00b 8.50s +524.00ms ⚠️
dist/tr.4de346b9.js 2.03kb +0.00b 10.26s -698.00ms 🚀
dist/ko.954590a1.js 1.97kb +0.00b 8.50s +527.00ms ⚠️
dist/sv.b893ead3.js 1.97kb +0.00b 10.26s -699.00ms 🚀
dist/it.5c7edaaf.js 1.97kb +0.00b 8.50s +526.00ms ⚠️
dist/nb.7f52770f.js 1.96kb +0.00b 8.50s +527.00ms ⚠️
dist/nl.fd54481e.js 1.94kb +0.00b 8.50s +526.00ms ⚠️
dist/zh_TW.3d130b76.js 1.85kb +0.00b 10.26s -699.00ms 🚀
dist/zh.fb21f066.js 1.83kb +0.00b 10.26s -700.00ms 🚀
dist/workerHasher.322762e4.js 1.56kb +0.00b 10.26s -705.00ms 🚀
dist/workerHasher.8fdadeba.js 1.56kb +0.00b 13.65s +2.69s ⚠️
dist/sk.1a0c584e.js 652.00b +0.00b 10.26s -700.00ms 🚀
dist/pt_PT.16308ef8.js 631.00b +0.00b 8.50s +524.00ms ⚠️
dist/simpleHasher.0488d56a.js 585.00b +0.00b 13.65s +2.69s ⚠️
dist/simpleHasher.180c1d91.js 585.00b +0.00b 13.65s +2.69s ⚠️

Three.js ✅

Timings

Description Time Difference
Cold 4.12s +421.00ms ⚠️
Cached 458.00ms +27.00ms ⚠️

Cold Bundles

Bundle Size Difference Time Difference
dist/Three.js 572.22kb +0.00b 1.38s +147.00ms ⚠️

Cached Bundles

No bundle changes detected.

Click here to view a detailed benchmark overview.

@mischnic mischnic merged commit 3d7a353 into v2 Sep 14, 2023
15 of 16 checks passed
@mischnic mischnic deleted the node-prefix-cjs branch September 14, 2023 12:17
Comment on lines +139 to +141
let builtin = specifier.strip_prefix("node:").unwrap_or(specifier);
if BUILTINS.contains(&builtin) {
(Specifier::Builtin(Cow::Borrowed(builtin)), None)

Choose a reason for hiding this comment

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

If specifier starts with "node:" then it should always be treated as a builtin, that was why Node introduced it in the first place (and also parity with ESM):

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.

Couldn't resolve module "node:fs/promises"
4 participants