nxext / nx-extensions

Nx Extensions for Stencil, Svelte, SolidJS, Preact, Ionic, and Capacitor
MIT License
465 stars 102 forks source link

Angular: "add:ios" doesn't work when Angular app is created as "esbuild" #1150

Open AndriiNeverov opened 3 days ago

AndriiNeverov commented 3 days ago

Describe the bug

nx g @nx/angular:application --directory=apps/my-app suggested by the updated doc (btw, the doc is incorrect by requiring to provide additional app name arg) asks to select between "webpack" and "esbuild". The "webpack" choice works just fine.

However, the "esbuild" one results into an error while trying to add the iOS platform.

To Reproduce

nx g @nx/angular:application --directory=apps/my-app

Choose "esbuild" Choose no SSR

nx g @nxext/ionic-angular:configuration my-app

nx build my-app

nx run my-app:add:ios

pnpm install --no-frozen-lockfile

dependencies:
+ @capacitor/android 6.1.2 <- ../../node_modules/@capacitor/android
+ @capacitor/ios 6.1.2 <- ../../node_modules/@capacitor/ios

devDependencies:
+ @capacitor/cli 6.1.2

Done in 1.2s
[warn] The bundledWebRuntime configuration option has been deprecated. Can be safely deleted.
✔ Adding native Xcode project in ios in 26.41ms
✔ add in 27.18ms
✖ copy ios - failed!
[error] The web assets directory (../../dist/apps/ibp-mobile) must contain an index.html file.
        It will be the entry point for the web portion of the Capacitor app.
✔ Updating iOS plugins in 1.81ms
✖ copy ios - failed!
✖ update ios - failed!
[error] The web assets directory (../../dist/apps/ibp-mobile) must contain an index.html file.
        It will be the entry point for the web portion of the Capacitor app.

In the "esbuild" case, the index.html file is located in the ../../dist/apps/ibp-mobile/browser folder.

Expected behavior

Should work for both "webpack" and "esbuild".

Additional context

Nx 20.0.6

pawel-twardziak commented 1 day ago

Hi @AndriiNeverov thanks for reporting that. Will check it.