Skip to content

Add JavaScript hosting integration documentation - #125

Merged
David Pine (IEvangelist) merged 11 commits into
mainfrom
copilot/update-integrations-docs-json
Dec 10, 2025
Merged

David Pine (IEvangelist) merged 11 commits into
mainfrom
copilot/update-integrations-docs-json

Conversation

Copilot AI commented Dec 7, 2025 •

Copy link
Copy Markdown
Contributor
  • Create a new JavaScript hosting integration documentation file at /src/frontend/src/content/docs/integrations/frameworks/javascript.mdx
  • Update integration-docs.json to map Aspire.Hosting.JavaScript to the new JavaScript documentation page
  • Add JavaScript integration to sidebar configuration to fix build error
  • Verify the documentation follows the proper structure and format
  • Address code review feedback
  • Run security checks
  • Validate build succeeds
  • Address unresolved review feedback (terminology, examples, build steps)
  • Improve sentence structure for clarity

Summary

Successfully created comprehensive documentation for the Aspire.Hosting.JavaScript package and resolved the build error.

Changes Made

  1. Created /src/frontend/src/content/docs/integrations/frameworks/javascript.mdx

    • Comprehensive documentation for the Aspire.Hosting.JavaScript package
    • Covers AddJavaScriptApp method for orchestrating JavaScript applications
    • Documents package manager support (npm, yarn, pnpm) with intelligent defaults
    • Explains script customization and endpoint configuration
    • Includes AddNodeApp documentation for direct Node.js application execution
    • Provides production build workflow information
  2. Updated /src/frontend/src/data/integration-docs.json

    • Changed mapping for Aspire.Hosting.JavaScript from /integrations/frameworks/nodejs-extensions/ to /integrations/frameworks/javascript/
    • Maintains existing mapping for CommunityToolkit.Aspire.Hosting.JavaScript.Extensions to /integrations/frameworks/nodejs-extensions/
  3. Fixed Build Error

    • Added JavaScript entry to /src/frontend/config/sidebar/sidebar.topics.ts in the "Frameworks & runtimes" section
    • Placed alphabetically between "Java" and ".NET MAUI"
    • This resolves the AstroUserError: Failed to find the topic error
  4. Addressed Review Feedback

    • Changed "frameworks" to "runtimes and build tools" for more accurate terminology
    • Inverted code examples so frontend references API (not API references frontend)
    • Clarified "Development script" terminology
    • Removed reference to port 5173 (Vite default) as it's not in the code
    • Reordered production build steps so Dockerfile generation comes first
    • Improved sentence structure for better clarity

Resolution

The build now completes successfully. The JavaScript integration page is properly integrated into the site navigation and documentation structure with accurate examples and terminology.

Original prompt

Please update the integrations-docs.json and follow https://github.com/microsoft/aspire.dev/blob/main/.github/prompts/update-integrations.promt.md, be sure that the Aspire.Hosting.JavaScript package maps to a new framework doc you'll create for the JavaScript hosting intergation


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits December 7, 2025 03:14
…ation-docs.json

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Copilot AI changed the title [WIP] Update integrations-docs.json for JavaScript hosting Add JavaScript hosting integration documentation Dec 7, 2025
@IEvangelist

Copy link
Copy Markdown
Member

Hey Copilot, this is a bit busted, also what happened to screenshots?

05:20:39 ├─ /integrations/frameworks/java/index.html (+30ms)
[AstroUserError] Failed to find the topic for the integrations/frameworks/javascript page.
Hint:
Either include this page in the sidebar configuration of the desired topic using the items property, associate an unlisted page with a topic using the topic frontmatter property or the topics option, or exclude this page from any topic using the exclude option.

Learn more in the following guides:

- Unlisted pages https://starlight-sidebar-topics.netlify.app/docs/guides/unlisted-pages/
- Excluded pages https://starlight-sidebar-topics.netlify.app/docs/guides/excluded-pages/

Stack trace:
at throwPluginError (file:///home/runner/work/aspire.dev/aspire.dev/src/frontend/dist/chunks/common_Ctr6sbVV.mjs:1565:9)
at MiddlewareRunnerStep.run (file:///home/runner/work/aspire.dev/aspire.dev/src/frontend/dist/chunks/common_Ctr6sbVV.mjs:1756:27)
at MiddlewareRunner.run (file:///home/runner/work/aspire.dev/aspire.dev/src/frontend/dist/chunks/common_Ctr6sbVV.mjs:1776:28)
at file:///home/runner/work/aspire.dev/aspire.dev/src/frontend/dist/chunks/common_Ctr6sbVV.mjs:1786:9
05:20:39 ├─ /integrations/frameworks/javascript/index.html

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>

Copilot AI commented Dec 7, 2025 •

Copy link
Copy Markdown
Contributor Author

Hey Copilot, this is a bit busted, also what happened to screenshots?

05:20:39 ├─ /integrations/frameworks/java/index.html (+30ms)
...

Fixed in commit 0fe6f41. The JavaScript integration page was missing from the sidebar configuration (sidebar.topics.ts). Added it to the "Frameworks & runtimes" section between Java and .NET MAUI.

The build error is now resolved - the page successfully generates without the Failed to find the topic error.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CommunityToolkit/Aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js rgo/bin/git git log �� %aE ���� --follow it dx (http block)
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js ndor/bin/git git log �� %aE ���� --follow p/bin/git /content/docs/innode git /home/node_modulrun git log �� %aE ���� --follow (http block)
  • https://api.github.com/repos/dotnet/aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js rgo/bin/git git log �� %aE ���� --follow it dx (http block)
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js ndor/bin/git git log �� %aE ���� --follow p/bin/git /content/docs/innode git /home/node_modulrun git log �� %aE ���� --follow (http block)
  • https://api.github.com/repos/dotnet/aspire-samples
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js rgo/bin/git git log �� %aE ���� --follow it dx (http block)
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js ndor/bin/git git log �� %aE ���� --follow p/bin/git /content/docs/innode git /home/node_modulrun git log �� %aE ���� --follow (http block)
  • https://api.github.com/repos/microsoft/aspire.dev
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js rgo/bin/git git log �� %aE ���� --follow it dx (http block)
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js ndor/bin/git git log �� %aE ���� --follow p/bin/git /content/docs/innode git /home/node_modulrun git log �� %aE ���� --follow (http block)
  • telemetry.astro.build
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/astro build (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/astro build git log �� %aE ���� --follow ules/.bin/git tegrations/databsh (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/astro build git log �� %aE ���� --follow e_modules/.bin/git mdx git-env lib/node-gyp-binnpm run git-env &amp;&amp; npm run update:all &amp;&amp; astro build git log �� %aE ���� --follow mcli/run-script/lib/node-gyp-bin/git x git e_modules/.bin/grun git (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@IEvangelist
David Pine (IEvangelist) marked this pull request as ready for review December 9, 2025 00:55
Copilot AI review requested due to automatic review settings December 9, 2025 00:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds comprehensive documentation for the Aspire.Hosting.JavaScript package integration, which was renamed from Aspire.Hosting.NodeJs in Aspire 13.0. The changes establish proper documentation and navigation for JavaScript/TypeScript hosting capabilities in Aspire.

  • Creates detailed documentation for JavaScript application orchestration with support for npm, yarn, and pnpm package managers
  • Updates integration mapping to point to the new JavaScript-specific documentation page
  • Fixes build error by adding JavaScript entry to the sidebar navigation

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/frontend/src/data/integration-docs.json Updates mapping for Aspire.Hosting.JavaScript package to point to the new JavaScript documentation page
src/frontend/src/content/docs/integrations/frameworks/javascript.mdx Adds comprehensive documentation covering AddJavaScriptApp, AddNodeApp, and AddViteApp methods with package manager configuration, script customization, and production builds
src/frontend/config/sidebar/sidebar.topics.ts Adds JavaScript entry to the "Frameworks & runtimes" section in alphabetical order between Java and .NET MAUI

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…pt.mdx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
@IEvangelist

Copy link
Copy Markdown
Member

Hey Copilot, please address the unresolved review feedback.

…er build steps

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>

Copilot AI commented Dec 9, 2025

Copy link
Copy Markdown
Contributor Author

Hey Copilot, please address the unresolved review feedback.

Addressed in commit 42e7adb. Changes made:

  1. Line 21: Changed "frameworks (Node.js, Vite, and more)" to "runtimes (Node.js) and build tools (Vite, and more)" for more accurate terminology
  2. Lines 43-52, 70-79, 91-99: Inverted code examples so the JavaScript apps reference the API project instead of the API referencing frontend apps
  3. Lines 102-104: Clarified "Development script" terminology to make it clear these are npm scripts that run during local development
  4. Line 106: Removed the reference to port 5173 (Vite's default port) as it's not defined in the code
  5. Lines 252-256: Reordered production build steps so Dockerfile generation is listed first, followed by dependency installation and build script execution

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
@IEvangelist
David Pine (IEvangelist) merged commit 4234c46 into main Dec 10, 2025
7 checks passed
@IEvangelist
David Pine (IEvangelist) deleted the copilot/update-integrations-docs-json branch December 10, 2025 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants