nxext / nx-extensions

Nx Extension for StencilJs, SvelteJS, SolidJS, Ionic and VueJs
MIT License
454 stars 99 forks source link

Ionic: What's going on. #951

Closed NoMoreTickets closed 1 year ago

NoMoreTickets commented 1 year ago

General environment:

Macbook Pro, M1, nodejs lts (v18.16.0)

Describe the bug

I create

To Reproduce Steps to reproduce the behavior:

  1. On mac, with node v18.16.0
  2. Create a nx workspace
npx create-nx-workspace --preset=angular 
  1. Choose "angular monorepo".
  2. Set repo name to "testws"
  3. Set app name to "testwsapp"
  4. Answer "Would you like to use Standalone Components in your application?" with "No"
  5. Answer "Would you like to add routing?" with "Yes"
  6. Select "SASS"
  7. Select "No" for enable caching
  8. cd to "testws" directory
  9. Run command
    npm install --save-dev --exact @nxext/ionic-angular

This generates the following error

Screenshot 2023-05-22 at 2 36 21 PM

Expected behavior A clear and concise description of what you expected to happen.

I'd expect the library would be able to be installed or there would be more detailed info in documentation about what addition requirements there are or more warning messages logged in the terminal as to why what I was trying to do is unfeasible.

Additional context

It would help if the ionic documentation section had a "stem-to-stern" set of instructions that walks through creating the nx workspace, doing every depedency install necessary, etc. Too many steps documented is far better than too little. Abbreviating redundant steps is bad.

NoMoreTickets commented 1 year ago

<soapbox> When pressed, I tell people that the most reliable, most effective way to deliver a mobile app is by using a two-codebase solution with Swift on iOS and Kotlin on Android, because any savings you get from using one-codebase is quickly eaten up by the time and money costs of maintaining the glue of a massive, brittle, complicated hybrid mobile development stack with many moving parts that's subject to the whims and ebbs of the JS ecosystem.

And that's before you try to add it to a monorepo, at which point you're adding an even more brittle, customized dialect of the already brittle hybrid stack, one that's now designed to sit in a monorepo. </soapbox>

But that being said, it would be helpful if @DominikPieper or someone would add something like a Solidarity config that would prevent installation/running of nxext installation if the right combination of node/nx/etc isn't installed on the machine. And maybe put a bigger warning label about this in docs.

nhhockeyplayer commented 1 year ago

Nx 16 looking fab from my lens as of today for influencing these frameworks

DominikPieper commented 1 year ago

V16.2 is pushed