Add support for running create-astro
in cloned empty git repository
#4805
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
When initializing a new Astro project, I realized that it is not currently possible to run
create-astro
in a cloned empty git repository. The current behavior is to check for truly empty directories. This could also be an issue for macOS users trying create a new Astro project in an existing directory containing a.DS_Store
file.I researched how other CLI tools handle this situation and found various solutions:
.git
directories.This pull request adds support for this feature by using the same approach as Create React App & Create Next App and adding a list of file / directory names (or patterns) that can be safely ignored when checking for a valid project directory.
Testing
I added a test to check if
create-astro
is proceeding in a non-empty safe directory using a newnonempty-safe-dir
fixture that contains an empty.gitignore
file andmodule.iml
file (both should be ignored respectively by an exact name match and a pattern match).Docs
I couldn't find any mention of this specific behavior in the documentation so I'm not sure if any changes are needed.