Commit graph

111 commits

Author SHA1 Message Date
natemoo-re
79ef8c97a2 [ci] format 2023-02-21 16:50:11 +00:00
Miles Pernicious
7f61e8fe36
[create-astro] Execute the 'git' step as the final interaction (#6314)
* [create-astro] Execute the 'git' step as the final interaction

This ensures the initialized repository has all configuration
changes commited in the first commit

* Add changeset
2023-02-21 10:48:06 -06:00
李瑞丰
d0dbee872f
create-astro help info add --typescript flag (#6294)
* create-astro help info add --typescript flag

* changeset

* changeset
2023-02-21 10:33:52 -06:00
natemoo-re
c7dee0ada3 [ci] format 2023-02-16 20:30:05 +00:00
Nate Moore
066b4b4efc
Improve create-astro error handling (#6266)
* fix(create-astro): improve error handling for tasks that use spinner display

* refactor: timeout after 60s

* chore: remove unused file
2023-02-16 14:28:15 -06:00
natemoo-re
6a59531ff9 [ci] format 2023-02-06 16:21:48 +00:00
Nate Moore
8d2187d8b8
Refactor create-astro (#6082)
* refactor: new version of create-astro

* chore: update README

* fix(create-astro): update project name logic

* test(create-astro): fix test on windows

* test(create-astro): fix test on windows

* test(create-astro): remove unused import

* chore: remove log

* chore: increase test timeout

* fix: message when skipping

* fix: message for env.d.ts file

* fix: always hard exit

* fix: return from next-steps

* chore: add message

* refactor dependencies, bundle create-astro

* chore: disable create-astro typings

* chore: switch to arg

* chore: update message

* fix: split typescript into two steps, fix context test

* chore: update wording

* chore: update wording

* Update packages/create-astro/src/actions/dependencies.ts

Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>

* refactor: move tests back to mocha/chai

* chore: update cli-kit

* update test script

* chore: add comment about setStdout

* chore: update cli-kit

* Update packages/create-astro/src/messages.ts

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update packages/create-astro/src/messages.ts

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* chore: update lockfile

* fix(create-astro): support scoped package names, improve project-name tests

* better git initialization

* update cli-kit

---------

Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-02-06 10:19:37 -06:00
matthewp
5e3d538812 [ci] format 2023-01-26 20:36:29 +00:00
Chris Banford
5c64324c0a
Add a check for existing .git directory (and skip if one is found). (#5953)
* Add a check for existing .git directory (and skip if one is found).

* Changeset attempt :-)

* Update .changeset/try-button-rumor.md

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-01-26 15:34:49 -05:00
Nate Moore
d0d7f61182
fix(create-astro): typescript prompt handling (#5958)
* fix(create-astro): typescript prompt handling

* fallback

* fix(create-astro): additional case

Co-authored-by: Nate Moore <nate@astro.build>
2023-01-24 11:01:26 -06:00
Chris Swithinbank
f27bb3d79f
Improve error message for third-party template 404s (#5920) 2023-01-21 00:04:39 +01:00
natemoo-re
ad13467a84 [ci] format 2023-01-20 14:54:53 +00:00
Reuben Tier
d8919b1a21
Add headless support to create-astro (#5898)
* Add headless support to create-astro

* Document new flags for create-astro
2023-01-20 08:53:12 -06:00
Nate Moore
61302ab7a0
fix(create-astro): skip Houston on windows until prompts are fixed (#5616)
Co-authored-by: Nate Moore <nate@astro.build>
2022-12-16 15:48:03 -05:00
bluwy
095de72a17 [ci] format 2022-11-15 07:29:00 +00:00
李瑞丰
505abfd643
fix(create-astro): fix error when don't have template input (#5404) 2022-11-15 15:27:16 +08:00
Nate Moore
b211eadeff
create-astro bug fixes (#5319)
* fix(create-astro): upgrade cli-kit

* fix(create-astro): avoid setRawMode error

* chore(lint): disable create-astro linting

Co-authored-by: Nate Moore <nate@astro.build>
2022-11-08 10:33:36 -06:00
Andy
77e20d54c7
Fix typo in create-astro messages (#5312) 2022-11-07 10:07:21 -05:00
natemoo-re
daa062cc3d [ci] format 2022-10-28 19:07:40 +00:00
Nate Moore
d9be7e36b8
fix(create-astro): improve error messages when create-astro fails (#5240)
Co-authored-by: Nate Moore <nate@astro.build>
2022-10-28 14:05:46 -05:00
natemoo-re
e35bc26186 [ci] format 2022-10-28 17:26:22 +00:00
Nate Moore
641b6d7d58
feat(create-astro): add --fancy flag (#5226)
Co-authored-by: Nate Moore <nate@astro.build>
2022-10-28 12:24:14 -05:00
natemoo-re
814327f409 [ci] format 2022-10-26 15:16:54 +00:00
Nate Moore
0408376281
[Create Astro] Improved prompts, template handling, Houston (#5088)
* feat(create-astro): add houston, improve prompts

* refactor(create-astro): move to giget

* chore: add changeset

* chore: update lockfile

* test(create-astro): update tests to match new output

* chore: prefer named functions

* fix: update template prompt

* fix: update typescript message

* chore: add explicit --skip-houston flag

* test(create-astro): skip flaky typescript test

Co-authored-by: Nate Moore <nate@astro.build>
2022-10-26 10:13:56 -05:00
Michael Rienstra
7481ffda02
create-astro: always create tsconfig.json (#4810)
* `create-astro`: always create `tsconfig.json`

Currently, we only make sure `tsconfig.json` exists when `strict` or `strictest` is selected. Both `default` & `optout` are intended to correspond to `base` -- and will do so for all [23 official templates](https://github.com/withastro/astro/tree/main/examples), but not necessarily for third-party templates.

The [example command for installing a third-party template](https://github.com/withastro/astro/blob/a800bf7/packages/create-astro/README.md?plain=1#L31-L35) is (rather conveniently for the sake of this PR!) an example of a template without a `tsconfig.json` file, and installing it with the `default` ("Relaxed") Typescript option results in no `tsconfig.json` file, rather than a `tsconfig.json` file containing `{ "extends": "astro/tsconfigs/base" }` as would be expected.

This PR addresses this scenario. 

It also explicitly sets the `tsconfig.json` file to `{ "extends": "astro/tsconfigs/base" }` when `default` (which I renamed to `base`, still presented to the user as "Relaxed") or `optout` is selected (`optout` has always printed a warning about the importance of `tsconfig.json` & `src/env.d.ts` but otherwise behaved identically to `default`). This is necessary in two scenarios:

1. When the `tsconfig.json` file was created by this script.
2. When it either didn't already include `"extends"`, or it extended a different config by default. For example, some third-party templates might default to `strict`, in which case I'm guessing we'd want to respect the user's choice and change that to `base`.

* update `del` 6.1.1 --> 7.0.0

* test: prevent excess writes
(without this it triggers many times)

* test: create-astro typescript prompt

* changeset

* fix: recursive `mkdirSync`

* test: longer timeout for `windows-latest` OS
(see if this fixes failing tests)

* better glob path creation, don't hardcode `/`

* test: longer timeout for windows-latest OS
(since I'm about to trigger another CI run by pushing a commit, might as well try this too)

* create-astro test: show last CLI output on timeout

* drop variable timeout
Typescript tests are slower than directory tests, but they are all usually less than 5000 ms. Less complexity, easier to maintain.

* DRY new error output

* Update lockfile

* Sync lockfile with main

* Update lockfile

Co-authored-by: Princesseuh <princssdev@gmail.com>
2022-09-22 14:37:01 -04:00
HiDeoo
c84d85ba4d
Add support for running create-astro in cloned empty git repository (#4805) 2022-09-20 08:30:13 -04:00
Dan Jutan
e6c80843f8
use unused self-documenting variable (#4605) 2022-09-06 08:41:36 -04:00
Erika
77ce6be30c
Add template tsconfigs for users to extend from (#4439)
* Add tsconfig templates to extend from

* Add changeset

* Right order for assign parameters

* Add tsconfigs to export map
2022-08-25 15:15:27 -04:00
Erika
77c018e515
Fix relaxed and default TypeScript settings not working (#4183)
* Fix relaxed and default TypeScript settings not working

* Create itchy-hats-exist.md
2022-08-06 07:04:39 -07:00
Erika
d344f9e3ec
Add a TypeScript step to create-astro (#4179)
* Add a TypeScript step to create-astro

* Add changeset

* fred pass

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2022-08-05 21:06:18 -07:00
Princesseuh
c2512230ee [ci] format 2022-07-28 16:07:57 +00:00
Erika
cc10a5c8e0
Fix misc create-astro issues (#4075)
* Add prompt to automatically fix cache issue

* Throw an error when an invalid template is used

* Use already existing util

* Add changeset
2022-07-28 12:05:39 -04:00
Tony Sullivan
e6e2160614
Adds back create-astro support for GitHub repos (#3971)
* adding create-astro support for GitHub repos

* chore: add changeset

* nit: adding a comment to document what the fix is doing
2022-07-19 14:24:19 +00:00
FredKSchott
c191098b97 [ci] format 2022-07-07 18:14:25 +00:00
Fred K. Schott
eedb32c797
detect package manager and improve types (#3847) 2022-07-07 11:12:31 -07:00
Fred K. Schott
4fb08502a9
small create-astro wording changes (#3831) 2022-07-07 11:05:59 -07:00
Fred K. Schott
dd176ca58d
add error event to telemetry (#3750) 2022-06-29 14:54:33 -07:00
Sarah Rainsberger
aaf0cd8bfc
Added: reminder to also update docs if create-astro flow or wording is changed (#3760) 2022-06-29 11:10:20 -03:00
Nate Moore
53bf0be280
chore(lint): fix lint issues (#3743)
Co-authored-by: Nate Moore <nate@astro.build>
2022-06-28 08:39:10 -05:00
FredKSchott
701799c6d6 [ci] format 2022-06-27 21:17:40 +00:00
Fred K. Schott
4d6d8644e6
SImplify "astro add" by removing confusing multi-select (#3715)
* wip

* update create-astro for new astro add

* update copy

* update git prompt

* Update packages/astro/src/core/logger/node.ts

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

* Update packages/create-astro/test/install-step.test.js

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

* update git prompt

* update test

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2022-06-27 14:15:51 -07:00
Tony Sullivan
b8c6dabfb7
Enables eslint on the full repo and adds a rule for no only() tests (#3659)
* enabling eslint on the all packages and tests

* enabling for all packages

* TEMP: adding an only() test to verify it fails CI

* using our eslint config and ignore in CI

* removing the temporary .only() test

* update lock file

* lint: fixing new test with a no-shadow warning

* chore: update lock file
2022-06-22 15:59:49 +00:00
FredKSchott
f0f6a3332f [ci] format 2022-06-06 16:49:53 +00:00
bholmesdev
54aba7231d [ci] format 2022-05-18 15:46:22 +00:00
Nate Moore
cf8015eaa2
fix: locale handling for logger (#3391)
* fix(#3309): use system default locale

* fix(#3309): use system default locale in create-astro

* test: add locale regression tests

* test: add i18n regression test
2022-05-18 10:45:09 -05:00
Ben Holmes
1a5335ed9a
[create-astro] Finalize developer experience... with gradients 🚀 (#3313)
* wip: port gradient helpers from sandbox ideas

* feat: wire up rocket gradient 🚀

* feat: wire up rocket gradient on install step

* refactor: update "next steps" wording

* deps: add chalk (for rendering gradient)

* chore: changeset

* chore: clean up sstray template string
2022-05-11 10:38:42 -06:00
Ben Holmes
c8f5fa35c4
Feat: [create astro] git step (#3227)
* feat: add git init step

* fix: update unit tests

* feat: simplify next steps for copy pasteability

* docs: add clarifying comment on test stdin spoofing

* docs: remove "empty" from git repo message

* fix: update git step text for test

* fix: remove redundant --dryrun flag

* refactor: simplify next steps with &&

* chore: changeset
2022-04-29 11:45:43 -04:00
Ben Holmes
b7cd695884
Feat: [create astro] replace component selector with "astro add" (#3223)
* feat: remove component framework selector

* feat: update templates to use "basics"

* feat: add "astro add" cli step

* tests: astro add step

* fix: reset env for pnpm tests

* fix: update install step test

* chore: remove "frameworks" step from tests

* deps: remove node-fetch from create-astro

* chore: changeset

* fix: use "preferLocal" for astro add command

* refactor: remove POSTPROCESS_FILES

* feat: add --yes flag to simplify astro add

* feat: bring back minimal option as "completely empty"
2022-04-27 20:58:18 -04:00
Ben Holmes
00fc1326ed
Refactor/clean create astro logs (#3212)
* refactor: simplify dir error log to avoid wrapped text

* refactor: remove redundant "issue" callout

* chore: changeset

* chore: update tests for new dir log
2022-04-26 20:38:31 -04:00
Ben Holmes
38e5e9e982
Feat: create astro add install step (#3190)
* feat: add instlal step with pkg manager detection

* feat: add package emoji for style points

* feat: update next steps to match pkg manager

* refactor: extract some create-astro test utils

* refactor: extract promp msgs to utils

* chore: add install step tests

* chore: changeset

* fix: remove directory test skip

* fix: unset env variables after install step test

* deps: add execa to create-astro

* refactor: use execa for install step

* chore: remove old comment

* fix: rework install step test for node 14?

* chore: remove "politely stolen" footnote

* temp: show stdout dialog

* feat: remove debugging logs, add dryrun flag for testing

* chore: more stray logs

* fix: remove rmdir
2022-04-26 11:24:24 -04:00