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

feat(metro-config): add postcss #22032

Merged
merged 19 commits into from
Apr 10, 2023
Merged

Conversation

EvanBacon
Copy link
Contributor

@EvanBacon EvanBacon commented Apr 6, 2023

Why

  • Required for modifying CSS and supporting Tailwind on web (but also universally).
  • Eventually we'll want to add some postcss transforms by default (standard in the web community).

How

Test Plan

  • Added minor tests for certain parts of the flow but nothing e2e.

Checklist

@expo-bot expo-bot added the bot: suggestions ExpoBot has some suggestions label Apr 6, 2023
EvanBacon and others added 2 commits April 6, 2023 17:33
Co-authored-by: Expo Bot <34669131+expo-bot@users.noreply.github.com>
@expo-bot expo-bot added bot: passed checks ExpoBot has nothing to complain about and removed bot: suggestions ExpoBot has some suggestions labels Apr 6, 2023
@EvanBacon EvanBacon marked this pull request as ready for review April 10, 2023 13:28
@expo-bot expo-bot added bot: suggestions ExpoBot has some suggestions and removed bot: passed checks ExpoBot has nothing to complain about labels Apr 10, 2023
EvanBacon and others added 3 commits April 10, 2023 14:56
@expo-bot expo-bot added bot: passed checks ExpoBot has nothing to complain about and removed bot: suggestions ExpoBot has some suggestions labels Apr 10, 2023
@EvanBacon EvanBacon merged commit e671e83 into main Apr 10, 2023
17 of 18 checks passed
@EvanBacon EvanBacon deleted the @evanbacon/metro-config/postcss-support branch April 10, 2023 21:30
@evelant
Copy link

evelant commented Jun 28, 2023

@EvanBacon This appears to be crashing builds when using EAS in a pnpm monorepo. I think this is relying on a phantom undeclared dependency on metro-cache so it crashes when it can't find the undeclared dep.

edit: on expo 49.0.0-beta.0

[RUN_GRADLEW] > Task :app:createBundleReleaseJsAndAssets FAILED
[RUN_GRADLEW] Error: Cannot find module 'metro-cache'
[RUN_GRADLEW] Require stack:
[RUN_GRADLEW] - /Users/imagio/Library/pnpm/global/5/.pnpm/@expo+metro-config@0.10.3/node_modules/@expo/metro-config/build/transform-worker/postcss.js
[RUN_GRADLEW] - /Users/imagio/Library/pnpm/global/5/.pnpm/@expo+metro-config@0.10.3/node_modules/@expo/metro-config/build/ExpoMetroConfig.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/start/server/metro/resolveFromProject.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/utils/analytics/getMetroProperties.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/start/server/metro/instantiateMetro.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/export/embed/exportEmbedAsync.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/export/embed/index.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/bin/cli
[RUN_GRADLEW] Error: Cannot find module 'metro-cache'
[RUN_GRADLEW] Require stack:
[RUN_GRADLEW] - /Users/imagio/Library/pnpm/global/5/.pnpm/@expo+metro-config@0.10.3/node_modules/@expo/metro-config/build/transform-worker/postcss.js
[RUN_GRADLEW] - /Users/imagio/Library/pnpm/global/5/.pnpm/@expo+metro-config@0.10.3/node_modules/@expo/metro-config/build/ExpoMetroConfig.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/start/server/metro/resolveFromProject.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/utils/analytics/getMetroProperties.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/start/server/metro/instantiateMetro.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/export/embed/exportEmbedAsync.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/export/embed/index.js
[RUN_GRADLEW] - /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/bin/cli
[RUN_GRADLEW]     at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
[RUN_GRADLEW]     at Module._load (node:internal/modules/cjs/loader:920:27)
[RUN_GRADLEW]     at Module.require (node:internal/modules/cjs/loader:1141:19)
[RUN_GRADLEW]     at require (node:internal/modules/cjs/helpers:110:18)
[RUN_GRADLEW]     at getPostcssConfigHash (/Users/imagio/Library/pnpm/global/5/.pnpm/@expo+metro-config@0.10.3/node_modules/@expo/metro-config/build/transform-worker/postcss.js:242:7)
[RUN_GRADLEW]     at getDefaultConfig (/Users/imagio/Library/pnpm/global/5/.pnpm/@expo+metro-config@0.10.3/node_modules/@expo/metro-config/build/ExpoMetroConfig.js:281:56)
[RUN_GRADLEW]     at Object.loadAsync (/Users/imagio/Library/pnpm/global/5/.pnpm/@expo+metro-config@0.10.3/node_modules/@expo/metro-config/build/ExpoMetroConfig.js:304:23)
[RUN_GRADLEW]     at Object.loadMetroConfigAsync (/private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/start/server/metro/instantiateMetro.js:47:40)
[RUN_GRADLEW]     at exportEmbedAsync (/private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/export/embed/exportEmbedAsync.js:12:54)
[RUN_GRADLEW]     at /private/var/folders/gx/fwg565ys3177ht4tnx40wqv80000gn/T/eas-build-local-nodejs/13cda27c-eab6-4f56-9ee8-025b975f0361/build/node_modules/.pnpm/@expo+cli@0.10.4_expo-modules-autolinking@1.5.0/node_modules/@expo/cli/build/src/export/embed/index.js:112:16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot: passed checks ExpoBot has nothing to complain about
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants