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

Add CLI eject command #14

Closed
arctic-hen7 opened this issue Sep 19, 2021 · 0 comments
Closed

Add CLI eject command #14

arctic-hen7 opened this issue Sep 19, 2021 · 0 comments
Assignees
Labels
C-enhancement Category: enhancement
Milestone

Comments

@arctic-hen7
Copy link
Member

Perseus' CLI is to Perseus as create-react-app is to React, but there are cases in which it is too restrictive. These should be few and far between, but, occasionally, it may be required to eject from the CLI and work with the engine of Perseus. To this end, the CLI should support an eject command that removes .perseus/ from the user's .gitignore and gives a brief summary of the powers the user now has.

For those unfamiliar with it, the CLI contains a directory of sub-crates that perform Perseus' internal logic, calling on the perseus and perseus-actix-web crates, as well as the plethora of functions generated by the define_app! macro. Thus, it should be fine to simply expose all this directly to the user, and it's all commented, so it should be reasonably intuitive (after it's been copiously documented).

Note also that the .perseus/ directory has its own .gitignore that ignores the dist/ directory, so the eject command would literally just have to remove .perseus/ from the user's .gitignore. That should be achievable with simple string manipulation, and niche cases can fall back to an error message asking the user to remove the line manually.

@arctic-hen7 arctic-hen7 added the C-enhancement Category: enhancement label Sep 19, 2021
@arctic-hen7 arctic-hen7 added this to the v0.2.0 milestone Sep 19, 2021
@arctic-hen7 arctic-hen7 self-assigned this Sep 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: enhancement
Projects
None yet
Development

No branches or pull requests

1 participant