apache / streampipes

Apache StreamPipes - A self-service (Industrial) IoT toolbox to enable non-technical users to connect, analyze and explore IoT data streams.
https://streampipes.apache.org
Apache License 2.0
560 stars 172 forks source link

Remove deprecated UI dependencies #1196

Open bossenti opened 1 year ago

bossenti commented 1 year ago

Body

When installing our UI dependencies, some deprecation warnings occur, see https://github.com/apache/streampipes/actions/runs/4050714717/jobs/6968365235#step:4:7. This ticket is about removing/replacing them by their successors.

Mentoring

As this ticket is marked as good first issue: one of @dominikriemer, @tenthe, @bossenti or @smlabt are happy to provide help for getting started, just tag (one of) them if you want to start working on this issue and need some help.

StreamPipes Committer

I acknowledge that I am a maintainer/committer of the Apache StreamPipes project.

azher-alnabi commented 1 year ago

Hey there, are you still looking for someone to remove the deprecated UI dependencies? If so, I'm willing to give it a shot! Are you looking to replace all 11 depreciated dependencies?

azher-alnabi commented 1 year ago

@bossenti

bossenti commented 1 year ago

@azher-alnabi welcome to StreamPipes 🎉 Yes that would be ideal. But if a library cannot be replaced easily, we can also create a dedicated issue for that

azher-alnabi commented 1 year ago

Sounds wonderful, is there any low-hanging fruit with regards to where you would like me to start? Also, what would you like me to replace them with?

bossenti commented 1 year ago

I would guess that the easiest one might be Chokidar 2 where you just have to migrate to Chokidar 3. With respect to the others, I would suggest to screen the docs of the deprecated libraries where you probably can find hints for replacements.

azher-alnabi commented 1 year ago

Sounds good, I'll get started.

azher-alnabi commented 1 year ago

Sorry, I'm a little new at this. Would I just have to fork streampipes, swap out Chokidar2 with 3 then open a PR? @bossenti

bossenti commented 1 year ago

Yes, exactly 👍🏼 If you need any help, just let us know :)

azher-alnabi commented 1 year ago

I narrowed the Chokidar2 dependencies down to "node_modules/watchpack-chokidar2" in the UI folder. This is the biggest codebase I've opened, so I'm unsure if I'm looking at the correct file. This was under package-lock.json. Here is also what I'm looking at watchpack, and watchpack-chokidar2. Also, how would I do testing to make sure that if I changed something, it didn't break anything downstream.

azher-alnabi commented 1 year ago

@bossenti

azher-alnabi commented 1 year ago

is there an equivalent to "npm run dev" to check if I have broken anything for this problem? @dominikriemer

bossenti commented 1 year ago

I think the most basic test is to build the UI like described in the README. Ideally, you can run our cypress test suite which can be found here. In terms of the dependencies itself, @tenthe @dominikriemer or @smlabt are the best contact persons

tenthe commented 1 year ago

I don't know if there is a tool to check the dependencies. The best way I know is to run the test suite as @bossenti explained. You can also create a PR. We have a PR validation that builds the project and runs the Cypress tests.