reflex-dev / reflex-examples

A repository full of Reflex example apps.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nba example failed after first released version v0.1.14 and v0.1.27 on PyPI

milochen0418 opened this issue · comments

  • My developing environment
python: 3.11.3
bun: 0.5.4 
node:12.22.12
OS: Mac OS X 13.3.1 (Intel CPU)
Browser:Chrome 
frontend run on localhost:3000
backend run on localhost:8000
  • My way to setup and run nba from clean python environment
$ cd nba
$ rm -rf .web/ && for i in $(find ./ | grep "__pycache__"$ );do rm -rf  $i; done 
$ pip install pynecone==0.1.14
$ pip install plotly-express plotly pandas
$ curl -fsSL https://bun.sh/install | bash -s -- bun-v0.5.4
$ pc init
$ pc run --loglevel=debug
  • Error message is the following
  194 | <VStack><VStack alignItems="left"
  195 | sx={{"width": "100%"}}><HStack><Badge>{`Min Age: `}
> 196 | {state.age.at(0)}</Badge>
      |           ^
  197 | <Spacer/>
  198 | <Badge>{`Max Age: `}
  199 | {state.age.at(1)}</Badge></HStack>
warn  - Fast Refresh had to perform a full reload. Read more: https://nextjs.org/docs/basic-features/fast-refresh#how-it-works
error - pages/index.js (196:11) @ Component
error - TypeError: state.age.at is not a function
    at Component (webpack-internal:///./pages/index.js:10398:75)
  • More description
    When I test 'nba', I need to open browser to reload again and again. Then the pc app will open to run well.

By the way,
I also test
v0.1.21 with bun 0.5.4
v0.1.24 with bun 0.5.4
v0.1.27 with bun 0.5.9
All of their errors are the same.

You may have to update Node to 14+ or 16+ - we will update the requirements on Pynecone

testing on node 14.0.0

In my side, when I run Node 14.0.0, there will be the following error

nba/.web/node_modules/engine.io-client/build/esm-debug/transport.js:2
import { Emitter } from "@socket.io/component-emitter";
         ^^^^^^^
SyntaxError: The requested module '@socket.io/component-emitter' does not provide an export named 'Emitter'
    at ModuleJob._instantiate (internal/modules/esm/module_job.js:92:21)
    at async ModuleJob.run (internal/modules/esm/module_job.js:107:20)
    at async Loader.import (internal/modules/esm/loader.js:179:24) {
  page: '/'
}
wait  - compiling /_error (client and server)...
event - compiled client and server successfully in 399 ms (921 modules)

testing on node 16.10.0

nba code is work.

After testing all node js version of 14.*.*, That's mean no one can passed for 14.*.*
NBA could not work on these node js version.
14.21.3
14.21.2
14.21.1
14.21.0
14.20.1
14.20.0
14.19.3
14.19.2
14.19.1
14.19.0
14.18.3
14.18.2
14.18.1
14.18.0
14.17.6
14.17.5
14.17.4
14.17.3
14.17.2
14.17.1
14.17.0
14.16.1
14.16.0
14.15.5
14.15.4
14.15.3
14.15.2
14.15.1
14.15.0
14.14.0
14.13.1
14.13.0
14.12.0
14.11.0
14.10.1
14.10.0
14.9.0
14.8.0
14.7.0
14.6.0
14.5.0
14.4.0
14.3.0
14.2.0
14.1.0
14.0.0

After testing all 15.*.* version. That's mean no one can passed for 15.*.*
NBA could not work on these node js version.
15.14.0
15.13.0
15.12.0
15.11.0
15.10.0
15.9.0
15.8.0
15.7.0
15.6.0
15.5.1
15.5.0
15.4.0
15.3.0
15.2.1
15.2.0
15.1.0
15.0.1
15.0.0

After testing all Node js version of 16.*.*
The following node js will get failed for nba.

16.5.0
16.4.2
16.4.1
16.4.0
16.3.0
16.2.0
16.1.0
16.0.0

@picklelo
After testing,
node 16.6.0 is the minimum version that can support for nba
node 20.0.0 can also support for nba too.

Because 16.6.0 is the minimum version to run NBA example,
So we README to guide the user to install NodeJS with version >= 16.6.0
So the user can use pynecone >= 0.1.27 in their environment.
Commit code is here.
03c3edd