Zaid-Ajaj / Feliz

A fresh retake of the React API in Fable and a collection of high-quality components to build React applications in F#, optimized for happiness
https://zaid-ajaj.github.io/Feliz/
MIT License
534 stars 78 forks source link

Using Femto to install Feliz doesn't actually install React #549

Closed mrakgr closed 1 year ago

mrakgr commented 1 year ago

It is no problem to install it manually using npm install react@17.0.1 react-dom@17.0.1 like it says in the documentation. This is my first time using Femto, but I do not think this should be the intended behavior. I am trying it out on the Fable template.

If you try it, you'll see that it does not modify the package,json file.

Zaid-Ajaj commented 1 year ago

Hi @mrakgr how did you invoke femto exactly? because just femto tells you what needs to be done and femto --resolve does it automatically

mrakgr commented 1 year ago

It's suddenly working for me. Could it be that I have simply been mistyping install as intall?

PS E:\Webdev\Fable\fable-elmish-example2> dotnet new fable
The template "Simple Fable App" was created successfully.

PS E:\Webdev\Fable\fable-elmish-example2> dotnet femto intall feliz src
[15:27:12 INF] Analyzing project E:/Webdev/Fable/fable-elmish-example2/src/App.fsproj
[15:27:12 INF] Running dotnet restore against the project
[15:27:14 INF] Using npm for package management
[15:27:14 INF] Found package.json in E:\Webdev\Fable\fable-elmish-example2
[15:27:14 INF] Npm packages need to be restored first for project analysis
[15:27:14 INF] Restoring npm packages using 'npm install' inside E:\Webdev\Fable\fable-elmish-example2
PS E:\Webdev\Fable\fable-elmish-example2> dotnet femto install feliz src
[15:27:40 INF] Analyzing project E:/Webdev/Fable/fable-elmish-example2/src/App.fsproj
[15:27:40 INF] Running dotnet restore against the project
[15:27:41 INF] Using nuget to install feliz
[15:27:42 INF] ✔ Nuget package feliz installed successfully
[15:27:42 INF] Resolving potentially required npm packages with femto --resolve
[15:27:44 INF] Using npm for package management
[15:27:47 INF] Found package.json in E:\Webdev\Fable\fable-elmish-example2
[15:27:47 INF] Executing required actions for package resolution
[15:27:47 INF] Installing dependencies [react@18.2.0, react-dom@18.2.0]
[15:27:52 INF] ✔ Package resolution complete

Yeah, when I use install it works. Sorry about that. Since Femto didn't give me an error message on intall I thought I had typed it correctly.

Before I close this here, should this be a Femto bug?

mrakgr commented 1 year ago

Actually, I see that that I pasted it in my journal, where I didn't mistype install. The mistype was from another attempt.

PS E:\Webdev\Fable\fable-elmish-example> dotnet femto install Feliz src
[15:08:49 INF] Analyzing project E:/Webdev/Fable/fable-elmish-example/src/App.fsproj
[15:08:49 INF] Running dotnet restore against the project
[15:08:50 INF] Detected paket.references file -> use paket
[15:08:50 INF] Installing Feliz within dependency group Main
[15:08:51 INF] Using globally installed paket
[15:08:52 INF] ✔ Package Feliz installed successfully
[15:08:52 INF] Resolving potentially required npm packages with femto --resolve
[15:08:56 INF] Using npm for package management
[15:08:56 INF] Found package.json in E:\Webdev\Fable\fable-elmish-example
[15:08:56 INF] ✔ Required packages are already resolved

It confirmed to me that the packages are resolved even though they weren't...

I am aware that I am getting lost here, who knows which particular step caused to happen. I've been messing with updating tools and Paket. At any rate, this should be a Femto bug, rather than a Feliz specific one so I'll close the issue here. Sorry for bothering you.

Zaid-Ajaj commented 1 year ago

Before I close this here, should this be a Femto bug?

@mrakgr Yeah probably

I am aware that I am getting lost here, who knows which particular step caused to happen

That's alright, happy to look into things again if they are not working. Also important to check which version of Feliz you are using because v2.0 ... v2.3 didn't have proper Feliz npm dependency metadata. Use latest v2.4 to resolve that issue