Open mischnic opened 3 years ago
Any workaround or is this going to be fixed soon?
Current "workaround" is to provide this info yourself in the .yarnrc.yml
:
packageExtensions:
"@parcel/bundler-default@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/compressor-raw@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/config-default@*":
peerDependencies:
assert: "*"
browserify-zlib: "*"
buffer: "*"
console-browserify: "*"
constants-browserify: "*"
crypto-browserify: "*"
domain-browser: "*"
events: "*"
https-browserify: "*"
os-browserify: "*"
path-browserify: "*"
process: "*"
punycode: "*"
querystring-es3: "*"
stream-browserify: "*"
stream-http: "*"
string_decoder: "*"
timers-browserify: "*"
tty-browserify: "*"
url: "*"
util: "*"
vm-browserify: "*"
"@parcel/namer-default@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-cssnano@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-htmlnano@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-image@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-svgo@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-terser@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-css@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-html@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-js@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-raw@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-svg@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/plugin@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/reporter-cli@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/reporter-dev-server@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/resolver-default@*":
peerDependencies:
"@parcel/core": "*"
assert: "*"
browserify-zlib: "*"
buffer: "*"
console-browserify: "*"
constants-browserify: "*"
crypto-browserify: "*"
domain-browser: "*"
events: "*"
https-browserify: "*"
os-browserify: "*"
path-browserify: "*"
process: "*"
punycode: "*"
querystring-es3: "*"
stream-browserify: "*"
stream-http: "*"
string_decoder: "*"
timers-browserify: "*"
tty-browserify: "*"
url: "*"
util: "*"
vm-browserify: "*"
"@parcel/resolver-glob@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/runtime-browser-hmr@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/runtime-js@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/runtime-react-refresh@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/runtime-service-worker@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-babel@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-css@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-html@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-image@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-js@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-json@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-postcss@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-posthtml@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-raw@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-react-refresh-wrap@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-sass@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-svg@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/types@*":
peerDependencies:
"@parcel/core": "*"
parcel@*:
peerDependencies:
assert: "*"
browserify-zlib: "*"
buffer: "*"
console-browserify: "*"
constants-browserify: "*"
crypto-browserify: "*"
domain-browser: "*"
events: "*"
https-browserify: "*"
os-browserify: "*"
path-browserify: "*"
process: "*"
punycode: "*"
querystring-es3: "*"
stream-browserify: "*"
stream-http: "*"
string_decoder: "*"
timers-browserify: "*"
tty-browserify: "*"
url: "*"
util: "*"
vm-browserify: "*"
@mischnic Updated the comment above - my CI machine now builds on a Yarn 3, No-Install setup. I believe the fix would be to move all the dependencies to be peer dependencies for each of the parcel packages listed above. With my current project, I don't have time to properly create such a PR.
The extensions related to builtin Node modules look a lot like Webpack fallbacks that aren't pre-resolved
Yep, which webpack just got rid of - probably best to not shim in 2021...
Any news on this? It would be nice if this could be solved within parcel so that us users don't have to add a lot of parcel related configuration to our environment (parcel was once sold as "no configuration required" tool 😄 ).
Thanks a lot @JaredSartin for the tip. The exact block you provided created more warnings for me - probably parcel's internal dependencies have changed since you wrote that. But it gave me enough of a clue to come up with my own version which silenced all the warnings - pasted below. However it's a real pain that this doesn't work out of the box. This was reported in August 2021.
packageExtensions:
parcel@*:
peerDependencies:
assert: "*"
browserify-zlib: "*"
buffer: "*"
console-browserify: "*"
constants-browserify: "*"
crypto-browserify: "*"
domain-browser: "*"
events: "*"
https-browserify: "*"
os-browserify: "*"
path-browserify: "*"
process: "*"
punycode: "*"
querystring-es3: "*"
stream-browserify: "*"
stream-http: "*"
string_decoder: "*"
timers-browserify: "*"
tty-browserify: "*"
url: "*"
util: "*"
vm-browserify: "*"
"@parcel/bundler-default@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/compressor-raw@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/config-default@*":
peerDependencies:
"assert": "*"
"browserify-zlib": "*"
"buffer": "*"
"console-browserify": "*"
"constants-browserify": "*"
"crypto-browserify": "*"
"domain-browser": "*"
"events": "*"
"https-browserify": "*"
"os-browserify": "*"
"path-browserify": "*"
"process": "*"
"punycode": "*"
"querystring-es3": "*"
"stream-browserify": "*"
"stream-http": "*"
"string_decoder": "*"
"timers-browserify": "*"
"tty-browserify": "*"
"url": "*"
"util": "*"
"vm-browserify": "*"
"@parcel/config-webextension@*":
peerDependencies:
"assert": "*"
"browserify-zlib": "*"
"buffer": "*"
"console-browserify": "*"
"constants-browserify": "*"
"crypto-browserify": "*"
"domain-browser": "*"
"events": "*"
"https-browserify": "*"
"os-browserify": "*"
"path-browserify": "*"
"process": "*"
"punycode": "*"
"querystring-es3": "*"
"stream-browserify": "*"
"stream-http": "*"
"string_decoder": "*"
"timers-browserify": "*"
"tty-browserify": "*"
"url": "*"
"util": "*"
"vm-browserify": "*"
"@parcel/namer-default@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-css@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-htmlnano@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-image@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-svgo@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/optimizer-terser@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-css@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-html@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-js@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-raw@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-svg@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/packager-webextension@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/plugin@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/reporter-cli@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/reporter-dev-server@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/resolver-default@*":
peerDependencies:
"@parcel/core": "*"
assert: "*"
browserify-zlib: "*"
buffer: "*"
console-browserify: "*"
constants-browserify: "*"
crypto-browserify: "*"
domain-browser: "*"
events: "*"
https-browserify: "*"
os-browserify: "*"
path-browserify: "*"
process: "*"
punycode: "*"
querystring-es3: "*"
stream-browserify: "*"
stream-http: "*"
string_decoder: "*"
timers-browserify: "*"
tty-browserify: "*"
url: "*"
util: "*"
vm-browserify: "*"
"@parcel/runtime-browser-hmr@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/runtime-js@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/runtime-react-refresh@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/runtime-service-worker@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/runtime-webextension@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-babel@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-css@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-html@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-json@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-postcss@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-posthtml@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-raw@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-react-refresh-wrap@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-svg@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/transformer-webextension@*":
peerDependencies:
"@parcel/core": "*"
"@parcel/types@*":
peerDependencies:
"@parcel/core": "*"
The node polyfills issue from above should be fixed already.
@parcel/types
is never loaded at runtime, it's only used by TypeScript or Flow.
Does anyone know how type-only TypeScript packages (like @types/*
) handle the case where they reexport types from another package that has a peerDependency? Maybe we should just remove these dependencies completely
🐛 bug report
😯 Current Behavior
These four packages have a peer dependency on core (to register with the serializer) and are direct dependencies of
@parcel/types
, which has neither a normal nor peer dependency on@parcel/core
.💻 Code Sample
🌍 Your Environment