Merged
Conversation
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 15072Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 15072" |
…eps, improve UX - Sort templates alphabetically in selection prompt, keeping Empty at bottom - Fix double-colon in output path prompt - Show 'cd' instruction in post-creation message when output differs from cwd - Fix tsconfig.json casing to lowercase and share root config via extends - Update package.json dependency versions (nodemon, tsx, @types/express) - Add semicolons consistently across all frontend template files - Add JSDoc comments with aspire.dev links to apphost.ts and API files - Apply semicolon fixes to py-starter and ts-cs-starter frontend templates - Update E2E test helpers for new template ordering and prompt text
18dbc4d to
e9e4085
Compare
Contributor
🎬 CLI E2E Test RecordingsThe following terminal recordings are available for commit
📹 Recordings uploaded automatically from CI run #22906913749 |
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the TypeScript starter (Express/React) template and aligns the aspire new interactive experience (prompt text + template ordering) for better consistency with other starters.
Changes:
- Sort
aspire newtemplate choices alphabetically (with “Empty” templates intended to remain last) and update E2E navigation accordingly. - Normalize the “Enter the output path” prompt text (remove embedded colon) and update docs/tests/localization artifacts.
- Refresh TS starter template config/dependencies and apply consistent formatting across TS/JS template files; add inline documentation and OTEL bootstrap import.
Reviewed changes
Copilot reviewed 40 out of 40 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/Shared/Hex1bTestHelpers.cs | Updates prompt matching and template selection navigation for reordered template list. |
| tests/Aspire.Deployment.EndToEnd.Tests/TypeScriptExpressDeploymentTests.cs | Adjusts interactive selection key presses/commentary due to new template ordering and prompt text. |
| src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/frontend/vite.config.ts | Formatting consistency (semicolons). |
| src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/frontend/src/main.tsx | Formatting consistency (semicolons). |
| src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/frontend/src/App.tsx | Formatting consistency (semicolons). |
| src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/frontend/eslint.config.js | Formatting consistency (semicolons). |
| src/Aspire.ProjectTemplates/templates/aspire-py-starter/frontend/vite.config.ts | Formatting consistency (semicolons). |
| src/Aspire.ProjectTemplates/templates/aspire-py-starter/frontend/src/main.tsx | Formatting consistency (semicolons). |
| src/Aspire.ProjectTemplates/templates/aspire-py-starter/frontend/src/App.tsx | Formatting consistency (semicolons). |
| src/Aspire.ProjectTemplates/templates/aspire-py-starter/frontend/eslint.config.js | Formatting consistency (semicolons). |
| src/Aspire.Cli/Templating/Templates/ts-starter/tsconfig.json | Normalizes TS compiler option casing. |
| src/Aspire.Cli/Templating/Templates/ts-starter/package.json | Updates devDependency versions for the TS starter root. |
| src/Aspire.Cli/Templating/Templates/ts-starter/frontend/vite.config.ts | Formatting consistency (semicolons). |
| src/Aspire.Cli/Templating/Templates/ts-starter/frontend/src/main.tsx | Formatting consistency (semicolons). |
| src/Aspire.Cli/Templating/Templates/ts-starter/frontend/src/App.tsx | Formatting consistency (semicolons). |
| src/Aspire.Cli/Templating/Templates/ts-starter/frontend/eslint.config.js | Formatting consistency (semicolons). |
| src/Aspire.Cli/Templating/Templates/ts-starter/apphost.ts | Adds explanatory JSDoc and clarifies resource wiring/publish behavior. |
| src/Aspire.Cli/Templating/Templates/ts-starter/api/tsconfig.json | Inherits root tsconfig and keeps API-specific outDir. |
| src/Aspire.Cli/Templating/Templates/ts-starter/api/src/instrumentation.ts | Adds documentation header for OTEL instrumentation module. |
| src/Aspire.Cli/Templating/Templates/ts-starter/api/src/index.ts | Ensures instrumentation is imported first; adds brief endpoint doc. |
| src/Aspire.Cli/Templating/Templates/ts-starter/api/package.json | Updates Express type defs and tsx version. |
| src/Aspire.Cli/Templating/CliTemplateFactory.cs | Adds post-creation guidance (cd + aspire run) helper. |
| src/Aspire.Cli/Templating/CliTemplateFactory.TypeScriptStarterTemplate.cs | Uses shared post-creation guidance helper. |
| src/Aspire.Cli/Templating/CliTemplateFactory.EmptyTemplate.cs | Uses shared post-creation guidance helper. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.zh-Hant.xlf | Updates EnterTheOutputPath source string (colon removed) and marks translations for review. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.zh-Hans.xlf | Same as above for zh-Hans. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.tr.xlf | Same as above for tr. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.ru.xlf | Same as above for ru. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.pt-BR.xlf | Same as above for pt-BR. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.pl.xlf | Same as above for pl. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.ko.xlf | Same as above for ko. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.ja.xlf | Same as above for ja. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.it.xlf | Same as above for it. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.fr.xlf | Same as above for fr. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.es.xlf | Same as above for es. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.de.xlf | Same as above for de. |
| src/Aspire.Cli/Resources/xlf/NewCommandStrings.cs.xlf | Same as above for cs. |
| src/Aspire.Cli/Resources/NewCommandStrings.resx | Updates the base resource string for the output path prompt (colon removed). |
| src/Aspire.Cli/Commands/NewCommand.cs | Sorts template choices for the interactive prompt. |
| docs/using-latest-daily.md | Updates the documented wizard prompt output path line to the new format. |
You can also share your feedback on Copilot code review. Take the survey.
adamint
approved these changes
Mar 9, 2026
JamesNK
reviewed
Mar 10, 2026
src/Aspire.Cli/Templating/Templates/ts-starter/api/src/instrumentation.ts
Outdated
Show resolved
Hide resolved
src/Aspire.ProjectTemplates/templates/aspire-py-starter/frontend/src/App.tsx
Show resolved
Hide resolved
tests/Aspire.Deployment.EndToEnd.Tests/TypeScriptExpressDeploymentTests.cs
Outdated
Show resolved
Hide resolved
JamesNK
requested changes
Mar 10, 2026
…gs and update CliTemplateFactory to use them
JamesNK
approved these changes
Mar 10, 2026
…tency across TypeScript and Vue files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Upgrade dated packages in templates, attempt to improve CLI UX for
aspire new, make;consistent across all TS/JS bits, use a sharedtsconfig.jsonapproach and correct casing of values, finally sort order templates. Updates tests accordingly.Fixes #14804
Checklist
<remarks />and<code />elements on your triple slash comments?aspire.devissue: