Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Eject Create React App dependency from Feast UI #4681

Merged
merged 8 commits into from
Oct 30, 2024

Conversation

peruukki
Copy link
Contributor

@peruukki peruukki commented Oct 24, 2024

What this PR does / why we need it:

Create React App (CRA) hasn't really been updated in recent years. I couldn't find anything official on it being deprecated, but at least there's this discussion from Jan 2023 on not recommending it anymore, Vite being a popular replacement.

Replacing the current CRA-based setup with something else would be a big task, and it's not something we necessarily have to do, but ejecting would be the first step. It removes the dependency on react-scripts and copies all configuration files to our project, so we can modify them as we please. It also allows us to upgrade a couple dependencies that have vulnerabilities, so it's immediately useful.

This PR does the ejecting in the first commit, then cleans up things in the following commits. Most of the new files and changes in existing ones were automatically generated by the yarn eject command, and I didn't touch them, so there should be no change in behavior.

Which issue(s) this PR fixes:

I would say this resolves #4451 since after these changes, there is only one cookie vulnerability left, and to resolve that we'll have to wait for an update in msw like mentioned in #4654.

Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
The presets are set in .babelrc.js.

Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
These two dependencies can now be upgraded after ejecting.

Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
This keeps package.json cleaner.

Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
Strict mode is implicit in modules, so ESLint gave warnings about using
them in the scripts. However, the scripts are run directly with `node`, so
they are not used as modules. But setting their sourceType to "script"
results in ESLint errors saying "Strict mode is not permitted." I couldn't
figure out why, so let's just disable the rule for the scripts.

Later I noticed the same warning in the config directory, so let's include
that too.

Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
@peruukki peruukki requested a review from a team as a code owner October 24, 2024 06:22
Copy link
Collaborator

@HaoXuAI HaoXuAI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@HaoXuAI HaoXuAI merged commit 53730ef into feast-dev:master Oct 30, 2024
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update dependencies in sdk/python/feast/ui
2 participants