GithubHelp home page GithubHelp logo

nx-labs's Introduction

Nx Labs

This repo contains experimental Nx plugins that are maintained by the Nx core team.

Adding a plugin

nx g @nx/plugin:plugin [new plugin]

Publishing a plugin

nx publish [plugin] -ver=[version] --tag=[tag]


# For example
nx publish nx-rspack --ver=1.0.0-alpha.2 --tag=next

nx-labs's People

Contributors

ahabhgk avatar alexjwayne avatar barbados-clemens avatar burakkgunduzz avatar charsleysa avatar coly010 avatar danilo-valente avatar dependabot[bot] avatar dgmachado avatar frozenpandaz avatar hardfist avatar jaysoo avatar juristr avatar mandarini avatar meeroslav avatar nartc avatar ndcunningham avatar philipjfulcher avatar pokey avatar psteinroe avatar sdjnes avatar stalkaltan avatar travtarr avatar vsavkin avatar xiongemi avatar zackarychapple avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nx-labs's Issues

Use EAS for 'nx build-<platform>'

Currently the nx build-ios and nx build-android commands are utilizing the expo-cli commands expo build:ios and expo build:android to build apps. These are deprecated and will be phased out in favor of using the EAS cli:

expo build:ios has been superseded by eas build. Learn more: https://blog.expo.dev/turtle-goes-out-to-sea-d334db2a6b60
expo build:ios will be discontinued on January 4, 2023.

It would be great to support EAS for builds as it is the new standard for Expo applications.

Expo React 18 support?

Seems nx expo depends on an old version of expo that doesnt support react 18:

React version 18.1.0 is incompatible with Expo version 44.0.6. Nx will downgrade the version to 17.0.1.

Invalid Podfile

I have a bare workflow Expo app and I keep getting an invalid Podfile error. I've deleted modules, reset caches, removed ios directory and re-ran expo prebuild. This app is my own source code that I have migrated but I ran into the exact same issue from a newly initialised nx-expo project.

Command `pod install` failed.
└─ Cause: Invalid `Podfile` file: cannot load such file -- /Users/user/Code/myapp/node_modules/expo-modules-autolinking/scripts/ios/xcode_env_generator.

 #  from /Users/sebsmith/Code/valeted/apps/business-app/ios/Podfile:1
 #  -------------------------------------------
 >  require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
 #  require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods")
 #  -------------------------------------------

generatePackageJson for remix

It would be nice if there was a remix builder that supported generatePackageJson to be able to containerize a remix app with the appropriate dependencies. Currently building a remix project runs remix build but does not generate a package.json with only the remix app's deps.

Curious about timeline to merge expo into Nx core repo?

I'm curious if there is a roadmap to get the expo plug-in moved into the core Nx repo? As it stands now it often lags behind the release cycle of Nx, and it's sometimes difficult to know what Nx version it is compatible with.

At the very least it would be good to have a table in the README that tells us what version of Nx the latest stable is tested against.

nx-ignore fails on vercel deployments

Hi, I've recently noticed that nx-ignore has started failing on vercel deployments, with the following message:

image

My ignored build step command is pnpm dlx nx-ignore <app>. Could this be related to #109 and #110?

nx-ignore support for providing a custom base as an arg

The Problem and Current Behavior

Hey, we are using nx-ignore in our monorepo hosted in vercel to determine which projects should build. However, since it considers the commit before head as a base commit, it does not always correctly decides which apps should build. For example, when the testing branch has several commits that touch different apps, and if these touches are individually in different commits (which is quite likely since we are merging PRs to testing branch that belong to different apps), the nx affected is trying to only check against HEAD^ and that behavior results with only re-build and deployment of the app that is affected in the commit one before HEAD when trying to merge testing into main.

Expected Behaviour

We should be able to provide a custom base for the nx-ignore command for our different use cases to correctly ignore/determine unaffected projects.


If you agree that this optional behavior would make sense, I can gladly make a contribution for it!

[expo] run-ios ejects the app?

When I run nx run-ios mobile where mobile was created with nx generate @nrwl/expo:app mobile I see this output, which shows it being fully ejected:

> nx run mobile:run-ios

(node:99218) [DEP0147] DeprecationWarning: In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. Use fs.rm(path, { recursive: true }) instead
(Use `node --trace-deprecation ...` to show where the warning was created)
info Dependencies for 'mobile' are up to date! No changes made.
┌─────────────────────────────────────────────────────────────────────────┐
│                                                                         │
│   There is a new version of expo-cli available (6.0.5).                 │
│   You are currently using expo-cli 6.0.1                                │
│   Install expo-cli globally using the package manager of your choice;   │
│   for example: `npm install -g expo-cli` to get the latest version      │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘
✔ Created native project | gitignore already synced
⚠️  Skipped Metro config updates:
› Existing Metro config found; not overwriting.
› You will need to extend the default @expo/metro-config in your Metro config.
  Learn more: https://docs.expo.dev/guides/customizing-metro

✔ Updated package.json and added index.js entry point for iOS and Android
🧶 Using Yarn to install packages. Pass --npm to use npm instead.
⠧ Installing JavaScript dependencies

Metro Bundler resolve undefined Error

Machine Info

OS: macOS Monterey 12.2.1
node version: v16.14.0
react native: 0.64.3
react: 17.0.1
@nrwl/expo: 13.9.0

env: Development

It appears everytime the apps fetch file from the server

execute script: nx serve myapp:run-android

To clear this warning, run:
watchman watch-del '/Users/x/Workspace/react/nx/react-x-native' ; watchman watch-project '/Users/x/Workspace/react/nx/react-x-native'

Unrecognized event: {"type":"transformer_load_started"}
Unrecognized event: {"type":"transformer_load_done"}
Started Metro Bundler
Error: Cannot resolve undefined
at tsconfigPathsResolver (/Users/someone/workfiles/react/nx/react-x-native/packages/expo/plugins/metro-resolver.ts:149:11)
at /Users/someone/workfiles/react/nx/react-x-native/packages/expo/plugins/metro-resolver.ts:47:12
at Object.resolve (/Users/someone/workfiles/react/nx/react-x-native/node_modules/metro-resolver/src/resolve.js:31:12)
at ModuleResolver.resolveDependency (/Users/someone/workfiles/react/nx/react-x-native/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:115:31)
at DependencyGraph.resolveDependency (/Users/someone/workfiles/react/nx/react-x-native/node_modules/metro/src/node-haste/DependencyGraph.js:231:43)
at /Users/someone/workfiles/react/nx/react-x-native/node_modules/metro/src/lib/transformHelpers.js:129:24
at Server._resolveRelativePath (/Users/someone/workfiles/react/nx/react-x-native/node_modules/metro/src/Server.js:1107:12)
at Server.requestProcessor [as _processBundleRequest] (/Users/someone/workfiles/react/nx/react-x-native/node_modules/metro/src/Server.js:450:37)
at Server._processRequest (/Users/someone/workfiles/react/nx/react-x-native/node_modules/metro/src/Server.js:406:9)

Incompatible version of @svgr/webpack

This change updated @svgr/webpack to v6 -- but it appears to be incompatible with expo's webpack config which still seems to be using webpack v4.

Here's a related issue comment from the expo repo
expo/expo#6660 (comment)

Confirmed the issue by running this

yarn create nx-workspace presettest --preset=@nrwl/expo
nx run presettest-presettest:web

And confirmed reverting to @svgr/webpack@v5 resolved.

No nx flavor of 'expo prebuild' command for custom dev clients

First, super pumped about Nx supporting Expo, thanks for the hard work on it!

One key @nrwl/expo command missing is expo prebuild to manage the building of the native code for use with a custom dev client. At the moment one has to navigate to the project and execute Expo directly on the project, potentially missing any of the Nx conventions used by other commands (if any).

Build and Dev commands fail in a Remix workspace without installing the node_modules in the application

The Problem

After creating an empty Remix workspace with

npx [email protected] --preset=@nrwl/remix

and installing the root packages

npm install

I cannot run any command targeting a Remix app.

nx build webapp

or

nx dev webapp

fails with the following error

command not found: remix
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! webapp@ build: `npx remix build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the webapp@ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

To make it work I need to run npm install inside the apps/webapp folder contrary to what the tutorial video and Readme shows.

Expected behavior

The commands should be able to use the root node_modules version of Remix to run the commands as shown in the video and Readme.

Additional Info

OS: MacOS 12.3.1
CPU: Chip M1 Pro
Node: 16.14.2

Release versions offsetted from rest of @nrwl/* packages

It seems this package is not releasing at the same sequence as the rest of the Nx packages, which makes it difficult for version and dependency management. It would be ideal if a release existed for each vaid nx@ version:

y info @nrwl/node versions
[
  ...
  '14.0.5',
  '14.1.0',
  '14.1.1',
  '14.1.2',
  '14.1.3',
  '14.1.4',
  '14.1.5',
  '14.1.6-beta.1',
  '14.1.6',
  '14.1.7-beta.1',
  '14.1.7-beta.2',
  '14.1.7-beta.3',
  '14.1.7-beta.4',
  '14.1.7',
  '14.1.8-beta.0',
  '14.1.8',
  '14.1.9-beta.1',
  '14.1.9',
  '14.1.10',
  '14.2.0-beta.0',
  '14.2.0-beta.1',
  '14.2.0',
  '14.2.1',
  '14.2.2',
  '14.2.3',
  '14.2.4',
  '14.3.0-beta.0',
  '14.3.0-beta.1',
  '14.3.0-beta.2',
  '14.3.0-beta.3',
  '14.3.0',
  '14.3.1',
  '14.3.2',
  '14.3.3',
  '14.3.4-beta.4',
  '14.3.4',
  '14.3.5',
  '14.3.6',
  '14.4.0-beta.0',
  '14.4.0-beta.1',
  '14.4.0',
  '14.4.1',
  '14.4.2',
  '14.5.0-beta.0',
  '999.9.9',
  '9999.0.0'
]
y info @nrwl/expo versions
[
  '13.7.0-beta.1',
  '13.8.0-beta.1',
  '13.8.5',
  '13.9.0',
  '14.0.0',
  '14.0.1',
  '14.1.0',
  '14.1.1',
  '14.2.0',
  '14.2.1',
  '14.2.2',
  '14.2.3',
  '14.3.0',
  '14.3.1',
  '14.3.2',
  '14.4.3'
]

environment variables not being set

In my nx expo project, the process.env object shows the following

{
"NODE_ENV": "development",
}

None of the variables in my .env file are being included.

Utilize nx React library in Remix app

I'm very intrigued by Remix and want to start building out an application with it. Currently our repo is set up with Nx and consists of a graphql api, react UI library, and a React front end. For the sake of this...let's say the name of our project is example-project and everything is scoped @example-project.
Currently in the React front end, I can pull in a component like
import {Checkbox} from '@example-projejct/ui';

However, after using the nrwl remix app generator...when I try to import the checkbox the same way I get Cannot find module '@example-project/ui' or its corresponding declarations.

I tried adding to my remix package.json:
"@example-project": "libs/ui"
but that doesn't seem to make a difference.

Is there a way to get this to work?

Unable to set any flags with expo build list

I'm having issues using the expo download command with a specific build profile and have tracked my problem to the expo build list executor. It seems like its building a list of flags using kebob case when the documentation for the command in eas-cli uses camelCase.

✗ npx eas-cli -v
★ [email protected] is now available, please upgrade.
Proceeding with outdated version

eas-cli/0.55.1 darwin-arm64 node-v16.15.1
✗ npx eas-cli build:list --help
★ [email protected] is now available, please upgrade.
Proceeding with outdated version

list all builds for your project

USAGE
  $ eas build:list [--platform all|android|ios] [--json] [--status new|in-queue|in-progress|errored|finished|canceled] [--distribution store|internal|simulator] [--channel <value>] [--appVersion <value>] [--appBuildVersion <value>] [--sdkVersion <value>] [--runtimeVersion
    <value>] [--appIdentifier <value>] [--buildProfile <value>] [--gitCommitHash <value>] [--limit <value>]

FLAGS
  --appBuildVersion=<value>
  --appIdentifier=<value>
  --appVersion=<value>
  --buildProfile=<value>
  --channel=<value>
  --distribution=(store|internal|simulator)
  --gitCommitHash=<value>
  --json                                                         Enable JSON output, non-JSON messages will be printed to stderr
  --limit=<value>
  --platform=(all|android|ios)
  --runtimeVersion=<value>
  --sdkVersion=<value>
  --status=(new|in-queue|in-progress|errored|finished|canceled)

DESCRIPTION
  list all builds for your project

Looks like these lines should be using .propertyName instead of .fileName

acc.push(`--${names(k).fileName}`);
...
acc.push(`--${names(k).fileName}`, v);

https://github.com/nrwl/nx-labs/blob/main/packages/expo/src/executors/build-list/build-list.impl.ts#L45-L48

Can you confirm a PR containing a fix for this would be accepted?

Migrate nx-labs

How migrate nx-labs packages? Because its not auto migrated when migrate by nx migrations

@nrwl/expo incompatibility with Nodejs v18 and deprecated reps

When I try to install @nrwl/expo, I give this warnings and error.

❯ yarn add @nrwl/expo -D
yarn add v1.22.10
info No lockfile found.
[1/4] 🔍  Resolving packages...
warning @nrwl/expo > expo-cli > xdl > webpack-dev-server > [email protected]: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
warning @nrwl/expo > expo-cli > xdl > webpack-dev-server > chokidar > [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
warning @nrwl/expo > expo-cli > xdl > webpack-dev-server > sockjs > [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning @nrwl/expo > expo-cli > xdl > webpack-dev-server > webpack-log > [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning @nrwl/expo > expo-cli > xdl > webpack > watchpack > watchpack-chokidar2 > [email protected]: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
warning @nrwl/expo > expo-cli > xdl > webpack > micromatch > snapdragon > [email protected]: See https://github.com/lydell/source-map-resolve#deprecated
warning @nrwl/expo > @nrwl/react > @nrwl/web > stylus > css > [email protected]: See https://github.com/lydell/source-map-resolve#deprecated
warning @nrwl/expo > expo-cli > xdl > webpack-dev-server > url > [email protected]: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
warning @nrwl/expo > @nrwl/react > @svgr/webpack > @svgr/plugin-svgo > svgo > [email protected]: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
warning @nrwl/expo > expo-cli > xdl > webpack > micromatch > snapdragon > source-map-resolve > [email protected]: https://github.com/lydell/resolve-url#deprecated
warning @nrwl/expo > expo-cli > xdl > webpack > micromatch > snapdragon > source-map-resolve > [email protected]: See https://github.com/lydell/source-map-url#deprecated
warning @nrwl/expo > expo-cli > xdl > webpack > micromatch > snapdragon > source-map-resolve > [email protected]: Please see https://github.com/lydell/urix#deprecated
warning @nrwl/expo > expo-cli > xdl > @expo/webpack-config > optimize-css-assets-webpack-plugin > cssnano > cssnano-preset-default > postcss-svgo > [email protected]: This SVGO version is no longer supported. Upgrade to v2.x.x.
warning @nrwl/expo > expo-cli > xdl > @expo/webpack-config > optimize-css-assets-webpack-plugin > cssnano > cssnano-preset-default > postcss-svgo > svgo > [email protected]: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
[2/4] 🚚  Fetching packages...
error [email protected]: The engine "node" is incompatible with this module. Expected version ">=12 <=16". Got "18.7.0"
error Found incompatible module.

Nx Expo - "path" argument must be of type string. Received undefined

I just tried adding a new expo app to an existing nx mono repo and I am getting the error

The "path" argument must be of type string. Received undefined

I decided to try creating a new project and followed this blog
https://blog.nrwl.io/introducing-expo-support-for-nx-3fffb1849a6f

However, this gives me a similar error

TypeError: Cannot read property 'endsWith' of undefined\n" +
    '    at createProjectRootMappings (nx-expo-poetry/node_modules/nx/src/project-graph/file-map-utils.js:12:38)\n' +

Anyone got any ideas on where I can put the path so that it is not undefined?

Mac OS 12.3.1
NX version: 13.10.6

Metro bundler cannot resolve fonts import

I decided to migrate from bunch of little repositories to one mono-repository.

And here comes the problem: in monorepo metro bundler resolves paths from expo-font in a strange way: it concats absolute path & server address. I wasn't meet that problem when projects were in separated repos

Here is example of strange path created by metro resolver:

image

Also intresting detail: that problem appears in only when app already fully loaded on device, not while bundling

All configs was created by @nrwl/expo, nothing is changed in them

I already tried to change metro.config, but meet a problem with the resolveRequest, which was null. Funny part is that, resolveRequest was described as a function at metro docs & interfaces

Here's how i import fonts:

image

Here's where fontConfig come to expo-font hook:

image

May you help me, please?

I can provide additional info, if u need it. I just don't know what can be useful

[@nrwl/expo] Update dependencies for Expo SDK 46

Expo SDK 46 has been officially released, and one of the changes it brings is the use of the [email protected]. The current NX expo package is using v5.x, which causes some incompatibilities when running automated commands:

┌─────────────────────────────────────────────────────────────────────────┐
│                                                                         │
│   There is a new version of expo-cli available (6.0.1).                 │
│   You are currently using expo-cli 5.6.0                                │
│   Install expo-cli globally using the package manager of your choice;   │
│   for example: `npm install -g expo-cli` to get the latest version      │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘
┌───────────────────────────────────────────────────────────────────────────┐
│                                                                           │
│   This version of expo-cli is not supported anymore.                      │
│   It's highly recommended to update to the newest version.                │
│                                                                           │
│   The API endpoints used in this version of expo-cli might not exist,     │
│   any interaction with Expo servers may result in unexpected behaviour.   │
│                                                                           │
└───────────────────────────────────────────────────────────────────────────┘

@nrwl/expo on start graphql error

Hey, I ran the following commands:

  • npx create-nx-workspace resell --preset=empty
  • selected yes on nx cloud
  • npm install @nrwl/expo --save-dev
    When running npx nx run resell I'm getting the following error:
    `> nx run resell-app:start

Packager is ready at http://localhost:8081
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ There is a new version of expo-cli available (5.4.12). │
│ You are currently using expo-cli 5.4.11 │
│ Install expo-cli globally using the package manager of your choice; │
│ for example: npm install -g expo-cli to get the latest version │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Starting project at /Users/alonbenhaim/Projects/resell/apps/resell-app
Body must be a string. Received: undefined.
Error: Body must be a string. Received: undefined.
at devAssert (/Users/alonbenhaim/Projects/resell/node_modules/graphql/jsutils/devAssert.js:12:11)
at new Source (/Users/alonbenhaim/Projects/resell/node_modules/graphql/language/source.js:37:56)
at new Parser (/Users/alonbenhaim/Projects/resell/node_modules/graphql/language/parser.js:86:62)
at Object.parse (/Users/alonbenhaim/Projects/resell/node_modules/graphql/language/parser.js:30:16)
at Object. (/Users/alonbenhaim/Projects/resell/node_modules/graphql-tools/src/stitching/introspectSchema.ts:7:48)
at Module._compile (internal/modules/cjs/loader.js:1072:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
at Module.load (internal/modules/cjs/loader.js:937:32)
at Function.Module._load (internal/modules/cjs/loader.js:778:12)
at Module.require (internal/modules/cjs/loader.js:961:19)
1`

Expo upgrade and EAS build + deploy

Hi - are there any plans to support the expo upgrade command for Expo projects, to facilitate upgrading an existing app to latest Expo version and library dependencies?

Similarly - any plans to support EAS build commands?

Not sure if you're accepting contributions, but I'm happy to help if that is possible.
Thanks!

Remix libs dist directory picked up by Yarn workspaces

After the initial setup/install of Remix with a Remix lib imported into the app, re-running yarn install results in Yarn error:

error There are more than one workspace with name "@company/mylib"

This is due to the Remix lib being compiled into "./dist" (relative to lib dir) and Yarn Workspaces picking it up.

Each time I want to add/remove a package, I need to manually go through and delete all the ./dist outputs.

At this stage I haven't found an appropriate fix. I did attempt to fix by negative globbing in the Yarn workspaces config: e.g. "workspaces": ["libs/**/!(dist)/*"] however sadly this did not work.

@nrwl/remix setup not working :: `Cannot find module 'nx/src/utils/app-root'`

Current Behavior

When trying to bootstrap a new workspace with Remix or adding Remix to an existing workspace, I get the following error:

shanejeffery@macbook-pro cvp-frontend-monorepo % npx nx g @nrwl/remix:setup

>  NX  Generating @nrwl/remix:setup


 >  NX   Cannot find module 'nx/src/utils/app-root'

   Require stack:
   - /Users/shanejeffery/Desktop/mckesson/cvp-frontend-monorepo/node_modules/@nrwl/devkit/index.js
   - /Users/shanejeffery/Desktop/mckesson/cvp-frontend-monorepo/node_modules/@nrwl/remix/src/generators/setup/setup.impl.js
   - /Users/shanejeffery/Desktop/mckesson/cvp-frontend-monorepo/node_modules/nx/src/config/workspaces.js
   - /Users/shanejeffery/Desktop/mckesson/cvp-frontend-monorepo/node_modules/nx/src/command-line/generate.js
   - /Users/shanejeffery/Desktop/mckesson/cvp-frontend-monorepo/node_modules/nx/src/command-line/nx-commands.js
   - /Users/shanejeffery/Desktop/mckesson/cvp-frontend-monorepo/node_modules/nx/bin/init-local.js
   - /Users/shanejeffery/Desktop/mckesson/cvp-frontend-monorepo/node_modules/nx/bin/nx.js
   Pass --verbose to see the stacktrace.

Expected Behavior

Should create a new workspace with the proper Remix setup similar to this: https://www.youtube.com/watch?v=yUuEA4V6DJ0&ab_channel=Nrwl-NarwhalTechnologiesInc.

Steps to Reproduce

Simply run the following command to create a new workspace:

npx create-nx-workspace demo-repo \
--preset=@nrwl/remix \
--project=demo

or running the following to add to an existing workspace:

npx nx g @nrwl/remix:setup

Failure Logs

See intro explanation.

Environment

 >  NX   Report complete - copy this into the issue template

   Node : 14.16.1
   OS   : darwin arm64
   yarn : 1.22.15
   
   nx : 14.4.0
   @nrwl/angular : Not Found
   @nrwl/cypress : 13.10.6
   @nrwl/detox : Not Found
   @nrwl/devkit : 13.10.6
   @nrwl/eslint-plugin-nx : Not Found
   @nrwl/express : Not Found
   @nrwl/jest : 13.10.6
   @nrwl/js : 14.4.0
   @nrwl/linter : 13.10.6
   @nrwl/nest : Not Found
   @nrwl/next : Not Found
   @nrwl/node : Not Found
   @nrwl/nx-cloud : Not Found
   @nrwl/nx-plugin : Not Found
   @nrwl/react : 13.10.6
   @nrwl/react-native : Not Found
   @nrwl/schematics : Not Found
   @nrwl/storybook : 13.10.6
   @nrwl/web : 13.10.6
   @nrwl/workspace : 14.4.0
   typescript : 4.7.4
   ---------------------------------------
   Community plugins:
         @nrwl/remix: 14.1.7

The latest version of create-nx-workspace doesn't support @nrwl/remix presets

The Problem

When attempting to create a new Nx workspace using a Remix preset using the command

npx create-nx-workspace@latest --preset=@nrwl/remix

we get the following error

Invalid values:
  Argument: preset, Given: "@nrwl/remix", Choices: "apps", "empty", "core", "npm", "ts", "web-components", "angular", "angular-nest", "react", "react-express", "react-native", "next", "nest", "express"

To make it work I had to use version 13.7.1 like this

npx [email protected] --preset=@nrwl/remix

Expected Behavior

The latest create-nx-workspace should support the Remix preset

Additional Info

OS: MacOS 12.3.1
CPU: Chip M1 Pro
Node: 16.14.2

Web

Whilst building for web (start or build app), no @workspace/[xxx] imports are found.

[expo] How to use eas build?

In my expo app apps/dashboard I have package.json:
{
"name": "dashboard",
"version": "0.0.1",
"private": true,
"dependencies": {
"expo": "",
"@expo/metro-config": "
",
"@nrwl/expo": "",
"@testing-library/react-native": "
",
"react": "",
"@react-native-async-storage/async-storage": "
",
"axios": "",
"axios-auth-refresh": "
",
"react-native-paper-dates": "",
"lodash": "
",
"moment": "",
"@emotion/cache": "
",
"@mobily/stacks": "",
"react-native-toast-notifications": "
",
"react-native-paper": "",
"react-native": "
",
"expo-clipboard": "",
"react-hook-form": "
",
"@react-navigation/native-stack": "",
"react-content-loader": "
",
"victory-native": "",
"@testing-library/jest-native": "
",
"@hookform/resolvers": "",
"yup": "
",
"expo-constants": "",
"file-saver": "
",
"react-native-safe-area-context": "",
"@testing-library/react": "
",
"@react-navigation/native": "",
"react-native-screens": "
",
"@react-navigation/material-top-tabs": "",
"tsconfig-paths-webpack-plugin": "
",
"@aws-sdk/client-s3": "",
"react-native-url-polyfill": "
",
"react-native-get-random-values": "",
"react-dom": "
",
"react-error-boundary": "",
"moti": "
",
"expo-blur": "",
"@react-navigation/drawer": "
",
"react-native-mask-text": "",
"expo-splash-screen": "
",
"expo-status-bar": "",
"react-native-web": "
",
"@formatjs/intl-getcanonicallocales": "",
"@formatjs/intl-locale": "
",
"@formatjs/intl-pluralrules": "",
"@formatjs/intl-displaynames": "
",
"@formatjs/intl-listformat": "",
"@formatjs/intl-numberformat": "
",
"@formatjs/intl-relativetimeformat": "",
"@formatjs/intl-datetimeformat": "
",
"expo-localization": "",
"expo-linking": "
",
"payment": "",
"@faker-js/faker": "
",
"@tanstack/react-query": "",
"@mui/material": "
",
"@mui/lab": "",
"classnames": "
",
"react-input-mask": "",
"@react-native-community/slider": "
",
"react-native-tab-view": "",
"@expo-google-fonts/roboto": "
",
"expo-app-loading": "",
"@mui/x-data-grid": "
",
"@react-navigation/bottom-tabs": "",
"credit-card-type": "
"
},
"scripts": {
"eas-build-pre-install": "cd ../../ && cp yarn.lock ./apps/dashboard/",
"postinstall": "rm -r node_modules && cd ../../ && yarn install && npx nx sync-deps dashboard && npx nx ensure-symlink dashboard"
},
"devDependencies": {
"@babel/core": "*"
}
}

When I yarn nx build dashboard --platform=all I have error:
Screen Shot 2022-08-17 at 17 55 37

I should set @mui/lab version or I can use another solution?

NX Expo not working with aws-amplify (Error: secure crypto unusable, insecure Math.random not allowed)

Current Behavior

I set up a new workspace and installed an Expo app using:

yarn add @nrwl/expo -D
nx generate @nrwl/expo:app mobile

Following the aws-amplify installation guideline for Expo https://docs.amplify.aws/start/getting-started/setup/q/integration/react-native/#create-a-new-react-native-app, I installed the followings:

yarn add aws-amplify aws-amplify-react-native amazon-cognito-identity-js @react-native-community/netinfo @react-native-async-storage/async-storage @react-native-picker/picker

In App.tsx, I imported aws-amplify and logged out something from the package just to see if anything came out.

import { Auth } from "aws-amplify"

console.log(Auth)

then, npx nx start mobile.

It'd crash the app and throw out an error saying Error: secure crypto unusable, insecure Math.random not allowed.

This happened to both Android and iOS.

However, when I removed those two lines from App.tsx, things worked fine.

Expected Behavior

In a normal Expo project, that'll print out the Auth class with userPool, user, and other properties as null.

I tested by creating another project using npx create-expo-app expo-mobile and followed the installation guideline for aws-amplify.

expo: not working with pnpm isolated deps

Hey!

Thanks for your work, highly appreciated!

Unfortunately, we are using pnpm in our mono repo and it seems like the expo plugin does not work with that. We continue to get errors like

Unable to resolve module uuid/v5 from /Users/steinroe/Developer/monorepo/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/expo/build/environment/getInstallationIdAsync.js: uuid/v5 could not be found within the project or in these directories:
  ../../node_modules/.pnpm/[email protected]_@[email protected]/node_modules/expo/node_modules
  ../../node_modules/.pnpm/[email protected]_@[email protected]/node_modules
  ../../node_modules/.pnpm/node_modules
  ../../node_modules

and

Unable to resolve module @babel/runtime/helpers/interopRequireDefault from /Users/steinroe/Developer/monorepo/apps/mobile-app/index.js: @babel/runtime/helpers/interopRequireDefault could not be found within the project or in these directories:
  ../../node_modules

I also tried is by cloning the example https://github.com/xiongemi/nx-expo-poetry. Using it with npm works fine, but after deleting package-lock.json and installing dependencies with pnpm, it is again unable to start. The only way it works with pnpm if I use pnpm import to import the lock file. Is there something I can do to make it work with a fresh pnpm install?

nx-ignore fails with cryptic message

Hey! For context, I am working with Vercel, Doppler, and Nx and I am trying to deploy a project from monorepo. After adding npx nx-ignore project to the ignore command, my previews stop working. Removing this command fixes the issue, but obviously removes the benefit of skipping building certain projects.

The problem is that it's not obvious why my build doesn't complete when using npx nx-ignore project? Is anyone able to offer any pointers based on the logs I receive? My best guesses are I need to upgrade Nx to v14 (nx-ignore is v14.2.0), move TypeScript from devDependencies to dependencies (unlikely?), or something else. Any hints?

[14:54:48.500] Cloning github.com/<org>/<project> (Branch: feature, Commit: 0000000)
[14:54:49.362] Cloning completed: 862.112ms
[14:54:49.362] Running "npx nx-ignore project"
[14:54:58.113] ≫ Using Nx to determine if this project (project) is affected by the commit...
[14:55:00.112] ✅ - Build can proceed since project is affected
[14:55:00.988] Installing build runtime...
[14:55:02.904] Build runtime installed: 1.916s
[14:55:03.535] Looking up build cache...
[14:55:03.983] Build Cache not found
[14:55:04.114] Installing dependencies...
[14:55:04.443] yarn install v1.22.17
[14:55:04.563] [1/4] Resolving packages...
[14:55:05.412] [2/4] Fetching packages...
[14:55:05.433] warning Pattern ["@storybook/react-docgen-typescript-plugin@canary"] is trying to unpack in the same destination "/vercel/.cache/yarn/v6/npm-@storybook-react-docgen-typescript-plugin-1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0-3103532ff494fb7dc3cf835f10740ecf6a26c0f9-integrity/node_modules/@storybook/react-docgen-typescript-plugin" as pattern ["@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0"]. This could result in non-deterministic behavior, skipping.
[14:55:54.358] [3/4] Linking dependencies...
[14:55:54.364] warning " > @craco/[email protected]" has incorrect peer dependency "react-scripts@^4.0.0".
[14:55:54.367] warning " > @storybook/[email protected]" has unmet peer dependency "@storybook/api@^6.4.0".
[14:55:54.367] warning " > @storybook/[email protected]" has unmet peer dependency "@storybook/components@^6.4.0".
[14:55:54.367] warning " > @storybook/[email protected]" has unmet peer dependency "@storybook/core-events@^6.4.0".
[14:55:54.367] warning " > @storybook/[email protected]" has unmet peer dependency "@storybook/theming@^6.4.0".
[14:55:54.369] warning " > @storybook/[email protected]" has unmet peer dependency "require-from-string@^2.0.2".
[14:55:54.378] warning "craco-less > [email protected]" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
[14:55:54.380] warning "theme-ui > @theme-ui/[email protected]" has unmet peer dependency "@mdx-js/react@^1 || ^2".
[14:55:54.385] warning "@nrwl/cypress > @cypress/[email protected]" has unmet peer dependency "babel-loader@^8.0.2".
[14:55:54.385] warning "@nrwl/cypress > @cypress/[email protected]" has unmet peer dependency "webpack@^4 || ^5".
[14:55:54.385] warning "@nrwl/cypress > @nrwl/[email protected]" has unmet peer dependency "nx@>= 13.10 <= 15".
[14:55:54.385] warning "@nrwl/cypress > [email protected]" has unmet peer dependency "webpack@^5.0.0".
[14:55:54.386] warning " > @nrwl/[email protected]" has incorrect peer dependency "@typescript-eslint/parser@~5.18.0".
[14:55:54.392] warning " > @storybook/[email protected]" has unmet peer dependency "@storybook/node-logger@*".
[14:55:54.393] warning " > @testing-library/[email protected]" has unmet peer dependency "@testing-library/dom@>=7.21.4".
[14:55:54.395] warning "react-scripts > [email protected]" has unmet peer dependency "autoprefixer@^10.0.2".
[14:55:54.396] warning "react-scripts > eslint-config-react-app > [email protected]" has unmet peer dependency "@babel/plugin-syntax-flow@^7.14.5".
[14:55:54.396] warning "react-scripts > eslint-config-react-app > [email protected]" has unmet peer dependency "@babel/plugin-transform-react-jsx@^7.14.9".
[14:55:54.504] warning Workspaces can only be enabled in private projects.
[14:58:10.040] [4/4] Building fresh packages...
[14:58:39.771] $ husky install
[14:58:39.843] husky - Git hooks installed
[14:58:39.846] Done in 215.41s.
[14:58:40.829] nx run [project][:target][:configuration] [_..]
[14:58:40.830] 
[14:58:40.830] Run a target for a project
[14:58:40.830]     (e.g., nx run myapp:serve:production).
[14:58:40.830] 
[14:58:40.830]     You can also use the infix notation to run a target:
[14:58:40.830]     (e.g., nx serve myapp --configuration=production)
[14:58:40.830] 
[14:58:40.830]     You can skip the use of Nx cache by using the --skip-nx-cache option.
[14:58:40.830] 
[14:58:40.831] Options:
[14:58:40.831]       --version        Show version number  [boolean]
[14:58:40.831]       --prod           Use the production configuration  [boolean] [default: false]
[14:58:40.831]   -c, --configuration  Target configuration  [string]
[14:58:40.831]       --project        Target project  [string]
[14:58:40.831] 
[14:58:40.833] {
[14:58:40.833]   stack: "Error: Cannot find module 'typescript'\n" +
[14:58:40.833]     'Require stack:\n' +
[14:58:40.833]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/typescript-import-locator.js\n' +
[14:58:40.833]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/explicit-project-dependencies.js\n' +
[14:58:40.833]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/index.js\n' +
[14:58:40.833]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-project-graph.js\n' +
[14:58:40.833]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/daemon/server/project-graph-incremental-recomputation.js\n' +
[14:58:40.834]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/daemon/server/server.js\n' +
[14:58:40.834]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/daemon/server/start.js\n' +
[14:58:40.834]     '    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)\n' +
[14:58:40.834]     '    at Function.Module._load (internal/modules/cjs/loader.js:746:27)\n' +
[14:58:40.834]     '    at Module.require (internal/modules/cjs/loader.js:974:19)\n' +
[14:58:40.834]     '    at require (internal/modules/cjs/helpers.js:101:18)\n' +
[14:58:40.834]     '    at new TypeScriptImportLocator (/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/typescript-import-locator.js:11:20)\n' +
[14:58:40.835]     '    at buildExplicitTypeScriptDependencies (/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/explicit-project-dependencies.js:7:27)\n' +
[14:58:40.835]     '    at buildExplicitTypescriptAndPackageJsonDependencies (/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/build-explicit-typescript-and-package-json-dependencies.js:10:98)\n' +
[14:58:40.835]     '    at buildExplicitDependenciesWithoutWorkers (/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-project-graph.js:149:117)\n' +
[14:58:40.835]     '    at buildExplicitDependencies (/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-project-graph.js:106:16)\n' +
[14:58:40.835]     '    at /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-project-graph.js:85:15',
[14:58:40.835]   message: "Cannot find module 'typescript'\n" +
[14:58:40.835]     'Require stack:\n' +
[14:58:40.835]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/typescript-import-locator.js\n' +
[14:58:40.835]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/explicit-project-dependencies.js\n' +
[14:58:40.835]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/index.js\n' +
[14:58:40.835]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-project-graph.js\n' +
[14:58:40.835]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/daemon/server/project-graph-incremental-recomputation.js\n' +
[14:58:40.835]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/daemon/server/server.js\n' +
[14:58:40.836]     '- /vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/daemon/server/start.js\n' +
[14:58:40.836]     '\n' +
[14:58:40.836]     'Because of the error the Nx daemon process has exited. The next Nx command is going to restart the daemon process.\n' +
[14:58:40.836]     'If the error persists, please run "nx reset".',
[14:58:40.836]   code: 'MODULE_NOT_FOUND',
[14:58:40.836]   requireStack: [
[14:58:40.836]     '/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/typescript-import-locator.js',
[14:58:40.836]     '/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/explicit-project-dependencies.js',
[14:58:40.836]     '/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-dependencies/index.js',
[14:58:40.836]     '/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/project-graph/build-project-graph.js',
[14:58:40.836]     '/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/daemon/server/project-graph-incremental-recomputation.js',
[14:58:40.836]     '/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/daemon/server/server.js',
[14:58:40.836]     '/vercel/.npm/_npx/237/lib/node_modules/nx-ignore/node_modules/nx/src/daemon/server/start.js'
[14:58:40.836]   ]
[14:58:40.836] }
[14:58:40.849] Error: Command "npx nx build project" exited with 1

Usage of react native debugger

Currently, React Native Debugger is unable to detect the application when it's running with @nrwl/expo, while working fine when I run a test project using expo cli.

Is there something that I'm missing?

I tested with both ports: 19000 and 19001.
Tested on Linux Mint.

Can't resolve nx libraries

I add a new nx library like so nx generate @nrwl/workspace:library utils, then when I try to import it import {sleep} from "@nx-workspace/utils";, I get an error Module not found: Can't resolve '@nx-workspace/utils'.

I'm able to import the same library in other apps, but not the expo. What could be the problem here? It seems that the project generated by expo can't resolve the path....

warning with @nrwl/expo

So to reproduce I made a new project with nest as the preset then run this command "nx g @nrwl/expo:app frontend"
Now I'm getting a warning in ./frontend/tsconfig.json as such
Screenshot from 2022-04-06 22-29-22

On hover vscode says this:
"Referenced project '/home/trash/Javascript/React/bestappname/apps/frontend/tsconfig.app.json' must have setting "composite": true.ts"

Seems to do nothing though?

Unable to resolve modules with path starting with ./

Hi all,

When building expo app for ios/android with the following command:

eas build --platform all --non-interactive --auto-submit --clear-cache --no-wait

I get the following error:

image

Obviously, this component exists at the correct location:
image
image
image

There's no error for ErrorFallbackScreenwhich is imported the same way.

env

eas-cli/0.53.1 darwin-x64 node-v16.15.0
expo 44.0.6
nx 13.10.3

tsconfig.jsonand tsconfig.app.json files are the one created by the generatecommand.

Would you have any idea how to solve this ?

Thanks !

Remix app not able to resolve library

The Problem

Importing a @nrwl/remix library from a @nrwl/remix application fails during the build phase with an error

✘ [ERROR] Could not resolve "@remix-with-nx/mylib"

    app/root.tsx:13:22:
      13 │ import { Mylib } from '@remix-with-nx/mylib';~~~~~~~~~~~~~~~~~~~~~~

  You can mark the path "@remix-with-nx/mylib" as external to exclude it from the bundle, which will remove this error.

Steps to reproduce

  1. Create nx workspace running
npx [email protected] --preset=@nrwl/remix
  1. Create Remix library
npx nx g @nrwl/remix:lib mylib
  1. Build the Remix library
npx nx build mylib
  1. Declare the library as a dependency in the Remix application package.json
{
  "private": true,
  "name": "webapp",
  "description": "",
  "license": "",
  "scripts": {
    "build": "npx remix build",
    "dev": "npx remix dev",
    "postinstall": "npx remix setup node",
    "start": "npx remix-serve build"
  },
  "dependencies": {
    "@remix-run/react": "^1.0.6",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "remix": "^1.0.6",
    "@remix-run/serve": "^1.0.6",
    "@remix-with-nx/mylib": "libs/mylib/dist"
  },
  "devDependencies": {
    "@remix-run/dev": "^1.0.6",
    "@types/react": "^17.0.24",
    "@types/react-dom": "^17.0.9",
    "typescript": "^4.1.2"
  },
  "engines": {
    "node": ">=14"
  },
  "sideEffects": false
}
  1. Import the library on the root.tsx component.
import { Mylib } from '@remix-with-nx/mylib';
  1. Build the application
npx nx build webapp

Expected Behavior

Remix applications should allow importing libraries as shown in the tutorial video

Addtional Info

OS: MacOS 12.3.1
CPU: Chip M1 Pro
Node: 16.14.2

Can't get expo to launch at all

Does not launch on my machine in iOS Emulator at all

No files changed from using default nx plugin generator

Stays stuck on splash screen, no errors

expo run-ios command fails - no such module 'EXStructuredHeaders'

I'm seeing a problem after running the run-ios command. I created a basic project and did not change anything. Logs are below. Any advice is appreciated. Thank you.

error logs:

> nx run mobile:run-ios

(node:14423) [DEP0147] DeprecationWarning: In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. Use fs.rm(path, { recursive: true }) instead
(Use `node --trace-deprecation ...` to show where the warning was created)
info Dependencies for 'mobile' are up to date! No changes made.
› Planning build
› Executing expo-updates Pods/EXUpdates » [CP-User] Generate app.manifest for expo-updates
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuWindow.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » EXDevMenuDevSettings.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuExtensionDefaultSettings.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuExtensions.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuGestureRecognizer.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuInternalModule.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuKeyCommandsInterceptor.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuManager.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuAppInstance.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuDevOptionsDelegate.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuExpoApiClient.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuPreferences.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuTestInterceptor.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuTouchInterceptor.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuModule.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuMotionInterceptor.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuPackagerConnectionHandler.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuUtils.swift
› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuViewController.swift
› Executing expo-constants Pods/EXConstants » [CP-User] Generate app.config for prebuilt Constants.manifest

❌  (../../node_modules/expo-updates/ios/EXUpdates/CodeSigning/EXUpdatesSignatureHeaderInfo.swift:4:8)

  2 | 
  3 | import Foundation
> 4 | import EXStructuredHeaders
    |        ^ no such module 'EXStructuredHeaders'
  5 | 
  6 | struct EXUpdatesSignatureHeaderFields {
  7 |   static let SignatureFieldKey = "sig"


› 1 error(s), and 0 warning(s)

Failed to build iOS project. "xcodebuild" exited with error code 65.
1

nx report:

>  NX   Report complete - copy this into the issue template

   Node : 16.13.1
   OS   : darwin arm64
   pnpm : 6.32.6
   
   nx : 14.1.4
   @nrwl/angular : Not Found
   @nrwl/cypress : 14.1.4
   @nrwl/detox : 14.1.4
   @nrwl/devkit : 14.1.4
   @nrwl/eslint-plugin-nx : 14.1.4
   @nrwl/express : 14.1.4
   @nrwl/jest : 14.1.4
   @nrwl/js : 14.1.4
   @nrwl/linter : 14.1.4
   @nrwl/nest : Not Found
   @nrwl/next : Not Found
   @nrwl/node : 14.1.4
   @nrwl/nx-cloud : 14.0.3
   @nrwl/nx-plugin : Not Found
   @nrwl/react : 14.1.4
   @nrwl/react-native : Not Found
   @nrwl/schematics : Not Found
   @nrwl/storybook : 14.1.4
   @nrwl/web : 14.1.4
   @nrwl/workspace : 14.1.4
   typescript : 4.6.4
   rxjs : 6.6.7
   ---------------------------------------
   Community plugins:
         @nrwl/expo: 14.1.0
         @wanews/nx-pulumi: 0.22.2

devDependencies `@types/react` version 17.0.2 not existed, but have no way to update in the workspace

I have a mobile project using Expo, using this @nrwl/expo to generate it

Inside apps/my-project-folder/package.json

"devDependencies": {
    "@types/react": "~17.0.21"
  }

then in my root folder, I run nx serve mobile, I will get his prompt in terminal:

It looks like you're trying to use TypeScript but don't have the required

I choose like 18.0.1 in the choice. Then I get this:

image

After a while, I get this error:

Require stack:
- D:\Desktop\MyProject\node_modules\expo-cli\build\exp.js
- D:\Desktop\MyProject\frontend\node_modules\expo-cli\bin\expo.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:93:18)
    at _handleErrors (D:\Desktop\MyProjectt\frontend\node_modules\expo-cli\build\exp.js:232:16)
    at Command.<anonymous> (D:\Desktop\MyProject\frontend\node_modules\expo-cli\build\exp.js:563:17)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:19216) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
(node:19216) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

What I tried
I tried to go in apps/my-project-folder/

  • run yarn
  • prompt this again: > It looks like you're trying to use TypeScript but don't have the required
  • choose 1 of the version
  • successfully install the package

Then

  • go back to root folder
  • run nx serve mobile

Right now I get this error:

NX ERROR Could not find Nx modules in this workspace.

Looks like the 17.0.2 not exists, but I have no way to update it or modify it in the workspace folder

Please point me to right direction

npx nx-ignore <app> not working on Vercel Build

Current Behavior

I make a change to a shared library our nx environment. The app with name connector uses that shared library. Locally npx nx-ignore connector returns that the build can proceed.

I commit my code to Gitlab and then Vercel starts to automatically build. I added in npx nx-ignore connector in the Vercel settings. However, when this script is triggered in the Vercel build it skips over it and says "The Deployment has been canceled as a result of running the command defined in the "Ignored Build Step" setting

Expected Behavior

I expect it to build because that app was affected as I could see that it was affected locally.

Environment

nx : 14.3.6
@nrwl/angular : Not Found
@nrwl/cypress : 14.3.6
@nrwl/detox : Not Found
@nrwl/devkit : 14.3.6
@nrwl/eslint-plugin-nx : 14.3.6
@nrwl/express : Not Found
@nrwl/jest : 14.3.6
@nrwl/js : 14.3.6
@nrwl/linter : 14.3.6
@nrwl/nest : Not Found
@nrwl/next : 14.3.6
@nrwl/node : 14.3.6
@nrwl/nx-cloud : Not Found
@nrwl/nx-plugin : Not Found
@nrwl/react : 14.3.6
@nrwl/react-native : Not Found
@nrwl/schematics : Not Found
@nrwl/storybook : 14.3.6
@nrwl/web : 14.3.6
@nrwl/workspace : 14.3.6
typescript : 4.7.4

Community plugins:
@jscutlery/semver: 2.23.4

Installing Expo CLI locally conflicts with GraphQL version of NestJS

Love this package, I've been waiting forever for a cleaner integration of expo into my nx project.

One issue I've run into is that this package installs expo-cli locally, and expo-cli has a dependency on graphql 0.13.
This causes a problem if you want to use graphql>0.13 elsewhere in your project, (e.g. if your backend nestjs application makes use of the @nestjs/graphql package which requires >^15.8.0 || ^16.0.0).

In this case you run into an issue where you cannot get expo and the nestjs app to run at the same time.

Expo's documentation states that expo is intended to be installed globally.

As a workaround I removed "expo-cli" from the dependencies list in package.json and instead added:

"scripts": {
  ...
  "postinstall": "npm link expo-cli"
}

This allows me to install my desired version of the graphql package without impacting the functioning of expo-cli.

While I like the simplicity of having this package install expo-cli locally, I think for broader compatibility it may be preferable to require users to have it installed globally.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.