Repository navigation
🤓 Content for release: 13.5
#1233
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
Merged
Merged
Changes from 64 commits
Commits
Show all changes
190 commits
Select commit
Hold shift + click to select a range
a2d5b95
[docs] Document timestamp search qualifier for telemetry filtering (#…
aspire-repo-bot[bot] 27cf1ce
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 70fc7aa
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] a3fb06a
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 05a46fd
[docs] Fix persistent container endpoint proxy default docs (#1227)
IEvangelist 935ad64
Add Aspire 13.5 release scaffold
IEvangelist 69c9cb7
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] add6be9
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 956a98e
[docs] Update Foundry Local docs to reflect CLI-based lifecycle (aspi…
aspire-repo-bot[bot] b2af95a
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] df5f07b
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 9b28ec6
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 627f68f
docs: document coding agent telemetry detection (aspire#18065)
aspire-repo-bot[bot] 81d4938
Merge pull request #1242 from microsoft/docs/coding-agent-telemetry-1…
DamianEdwards 7aa48a8
[docs] Add WithTerminal() interactive terminal sessions page (#1244)
mitchdenny 88769ea
docs: update 13.5 banners and release notes
IEvangelist 52a4a0d
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 1619d44
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 643504f
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 43f1d24
Document OS information check in aspire doctor command
aspire-repo-bot[bot] ff5fe72
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 1dddc9a
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 612131f
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 2e4e93f
Fix broken WithTerminal link in 13.5 whats-new (#1281)
sebastienros 76def87
Add dashboard troubleshooting page (#1255)
JamesNK becb334
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 5edf0f4
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 131768e
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 378ca1f
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 2550c15
[docs] Add deprecation notices to GitHub Models integration docs (#1279)
aspire-repo-bot[bot] 32ccc5c
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] bc8c313
Fix forbidden phrases flagged by CI (#1301)
IEvangelist f0be337
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 1064f2b
docs: mention Cohere and MistralAI model families in Foundry host doc…
aspire-repo-bot[bot] 8811d57
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 40baf73
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 0a92774
[docs] Clarify C# file-based AppHost launch profile location (#1176)
aspire-repo-bot[bot] ce8929c
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 0eb6148
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 93d0681
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 840be81
[docs] Document icon fallback behavior for resource commands (#1277)
aspire-repo-bot[bot] 3892cf0
[docs] Add Nix installation path for Aspire CLI (#1286)
aspire-repo-bot[bot] bc33b3d
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 58647e1
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 2ec60a3
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] ba2ab8b
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] f4d564a
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 9a1db57
Address aspire doctor doc feedback
danegsta 5951a0c
Merge pull request #1267 from microsoft/docs-aspire-18252-os-doctor-6…
danegsta 70d4cdf
[docs] Document proxyless endpoint port pre-allocation (Aspire 13.5) …
aspire-repo-bot[bot] 0b1f791
Add Aspire version placeholders to release docs (#1314)
danegsta 9047b16
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 9d2a467
Fix OOM in aspire-version-placeholders build hook (#1318)
IEvangelist 7389910
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 38d323b
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 17c8373
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 66a17d3
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] cec3703
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 64afd5e
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 2dbdea3
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] a969c9e
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] ce0566a
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 7ddc2cd
Add Kubernetes persistent volume documentation (#1328)
mitchdenny ec461ab
Add WithTerminal docs and aspire terminal CLI reference (#1329)
mitchdenny 55c420e
Document AI agent skill-usage telemetry (#1229)
IEvangelist b7a0b74
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] c47764e
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 6844503
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] e6536d5
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 200a19a
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 38b76fa
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] cffc5a5
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] e09a070
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 2a666e1
Document --skills and --skill-locations flags for init and new comman…
JamesNK e3f3ed0
Document PromptProgressAsync API and add TypeScript examples to inter…
JamesNK e5b150c
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 8df6da7
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 554797d
[docs] CLI: mention 'Stopping Aspire...' feedback message on Ctrl+C (…
IEvangelist 9aa8cdd
docs: note graceful backchannel stream cancellation during aspire run…
IEvangelist b9b32d3
docs: document command return values for custom resource commands (#1…
Copilot 06b2cad
[docs] Update Bun integration docs for first-party Aspire.Hosting.Jav…
IEvangelist 106eb9d
Address PR review feedback for release 13.5 docs
IEvangelist fc1d295
[docs] Document automatic HTTPS certificate generation for non-.NET A…
IEvangelist c5d7298
Document Go polyglot options flattening breaking change (#1360)
ellahathaway 3024fb9
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 2a3ab06
[docs] Obsolete PublishAsConnectionString migration guidance (#1237)
aspire-repo-bot[bot] 809d73c
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 7acb5a4
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 648831c
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 0379e95
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 6b14466
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] f07fc8d
Document Aspire VS Code AppHost polling (#1382)
ellahathaway e66ef30
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 05b58da
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 828de15
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] a574a66
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 36ae005
Merge main into release/13.5
IEvangelist c2ec25e
Document aspire stop --force resource cleanup (#1387)
danegsta 3aeca89
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 02fa5ff
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 2f91aad
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] f045e99
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 288327a
[docs] Update aspire run/stop graceful shutdown documentation (#1291)
aspire-repo-bot[bot] 0638b3f
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] f985c3a
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] f7108fa
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 903d99a
Merge remote-tracking branch 'origin/main' into release/13.5
github-actions[bot] 6f3e085
[docs] Update 13.4 what's new: aspire.config.json template profiles r…
aspire-repo-bot[bot] 793d9e0
[docs] Document aspire stop socket cleanup for detached AppHosts (#1283)
aspire-repo-bot[bot] 6826de8
[docs] Document WithExplicitStart() callback deferral behavior (#1194)
aspire-repo-bot[bot] dcbfe0f
Merge main into release/13.5 (#1427)
IEvangelist 6dcacf8
docs: clarify aspire ls --all excludes agent-skill AppHost snippets (…
aspire-repo-bot[bot] 55cf7aa
docs: fix outdated VS Code CLI install command name (#1434)
aspire-repo-bot[bot] 446aefb
docs: note that resource logs are flushed before terminal notificatio…
aspire-repo-bot[bot] c49acf3
docs: document certutil-missing warning in aspire doctor and certs cl…
aspire-repo-bot[bot] b78d22b
Document Console/Terminal view toggle for WithTerminal resources (#1438)
aspire-repo-bot[bot] 0e51c97
docs: mention orphaned AppHost cleanup in aspire ps and aspire stop (…
aspire-repo-bot[bot] 5476ba6
[docs] Add docs for Aspire.Hosting.Dotnet integration (#1437)
aspire-repo-bot[bot] ebc1481
Document aspire doctor VS Code extension check (#1440)
aspire-repo-bot[bot] 142642c
docs: document App Service delegated subnet support (#1441)
aspire-repo-bot[bot] db38be7
[docs] Remove stale Dashboard:AI:Disabled config entry, document AI A…
aspire-repo-bot[bot] 00b7567
Document removing empty resources in Manage logs and telemetry dialog…
aspire-repo-bot[bot] 70e59c9
[docs] Document WithUniqueResourceNaming for Azure Container App envi…
aspire-repo-bot[bot] bce69de
Document dashboard run stop behavior and single shutdown message (#1445)
aspire-repo-bot[bot] 84ca36b
[docs] Document Linux dev certificate trust improvements (#1446)
aspire-repo-bot[bot] c52c4e3
Update WithTerminal docs: default to Terminal view for live resources…
aspire-repo-bot[bot] 672882f
docs: update Go Delve server headless debugging docs for new API shap…
aspire-repo-bot[bot] 75b6e80
docs: update Kubernetes persistent volume parameterized method names …
aspire-repo-bot[bot] 0bcb9c4
Document features.polyglotIntegrationFilterEnabled config flag (#1457)
aspire-repo-bot[bot] 9331ed6
Fix TypeScript withEndpointsInEnvironment docs on project-resources p…
IEvangelist 04b2599
Fix Dev Tunnels "Configure dev tunnel options" docs (#1468)
IEvangelist 26a2450
docs: document asHostedAgentWithProtocol for polyglot hosted agents
aspire-repo-bot[bot] 834ff1f
Fix AppHost terminology in hosted agent docs
IEvangelist bdd4ff4
[docs] Document WithLaunchToolArgs in ASPIREEXTENSION001 diagnostic p…
aspire-repo-bot[bot] a05775c
Apply suggestion from @sebastienros
sebastienros c7375b6
[docs] Document aspire doctor check timeouts (#1472)
aspire-repo-bot[bot] 32f826f
docs: SHA-512 for Aspire Skills bundle integrity, hide remote-fetch t…
aspire-repo-bot[bot] 9bcdd79
docs: remove hidden skills fetch flag (#1486)
IEvangelist 8bd3837
docs: correct custom resource command CLI arguments to named options …
IEvangelist bf9d577
Merge main into release/13.5 (#1488)
IEvangelist a7cca9d
docs: rewrite What's new in Aspire 13.5 with verified detail (#1489)
IEvangelist e8d025b
Recapture dashboard screenshots for Aspire 13.5 UX (#1497)
IEvangelist 07792a1
docs: document change-location delete confirmation for Azure resource…
aspire-repo-bot[bot] 27fb4c7
docs: remove misleading WithTerminal Shell option (#1478)
aspire-repo-bot[bot] 6141cfe
[docs] Document WithTerminal Columns/Rows validation (#1479)
aspire-repo-bot[bot] 5316c7f
Apply suggestion from @alistairmatthews
sebastienros 5fbf4ee
[docs] Document DotnetProjectResource namespace move to Aspire.Hostin…
aspire-repo-bot[bot] 9db879a
[docs] Pin AKS credential command to the deployment subscription (#1476)
aspire-repo-bot[bot] cff2fd6
[docs] Document TypeScript AppHost dev-cert trust for outbound TLS co…
aspire-repo-bot[bot] 5db4f1d
[docs] Document ASPIREWATCH001 run mode configuration diagnostic (#1471)
aspire-repo-bot[bot] d680255
Clarify hosted agent protocol APIs
IEvangelist 14b753c
Correct hosted agent protocol guidance
IEvangelist 4f4ef53
Fix WithTerminal columns default (#1506)
IEvangelist 8bf18e1
docs: update ConfigureCustomDomain and CompletionState experimental s…
aspire-repo-bot[bot] 0adc054
Restore CI-validated hosted agent protocol docs
IEvangelist b84fdfe
docs: remove stale ConfigureCustomDomain guidance
IEvangelist 94da660
Clarify custom domain diagnostic history
IEvangelist 27aa805
Use current Aspire terminology
IEvangelist 37d3a8c
Clarify pipeline API graduation scope
IEvangelist 62a0395
Merge pull request #1507 from microsoft/docs/pr-19007-32045148035-1-a…
IEvangelist df60b90
Merge release/13.5 into docs branch
IEvangelist 0dae430
Merge pull request #1475 from microsoft/docs/pr-18980-31557036901-1-9…
IEvangelist cd2f532
Revise "What's new in Aspire 13.5" for DX impact
IEvangelist 12606c1
Potential fix for pull request finding
IEvangelist 1ea5cc2
Address PR review feedback on What's new in 13.5
IEvangelist aa27778
Merge pull request #1509 from microsoft/dapine/whats-new-13-5-dx
IEvangelist 4d6e6d7
[docs] Document HTTP command timeout behavior (#1515)
aspire-repo-bot[bot] 255920e
Document dashboard time format behavior (#1521)
IEvangelist ffab9b1
Update generated API data to Aspire 13.5 (#1514)
IEvangelist 9a4b0b9
[docs] Document AzureBicepResourceScope.CreateForSubscription/CreateF…
aspire-repo-bot[bot] 44c76a5
[docs] Document project serverReadyAction override in VS Code extensi…
aspire-repo-bot[bot] 7bc6a13
docs: troubleshoot skipped Gateways/Ingresses in TLS deploys (#1470)
aspire-repo-bot[bot] 5dbcb52
[docs] Document AddPersistentVolume on AKS environments (#1474)
aspire-repo-bot[bot] 2c9919e
[docs] Document AspireCliInvocationMode for dotnet run DNX invocation…
aspire-repo-bot[bot] f749954
docs: describe automatic CLI bundle setup recovery at build time (#1496)
aspire-repo-bot[bot] 0e09ba4
docs: document DotnetProjectResource publish limitation (#1501)
aspire-repo-bot[bot] 1d662a0
[docs] Document WithServiceDelegation and AzureSubnetServiceDelegatio…
aspire-repo-bot[bot] 6c85d38
[docs] Document ASPIRE009/010/011 and restored CLI bundle default (#1…
aspire-repo-bot[bot] 503a344
[docs] Document ITokenCredentialProvider for reusing Aspire's Azure c…
aspire-repo-bot[bot] 1a698c3
[docs] Document partial Linux certificate trust behavior for `aspire …
aspire-repo-bot[bot] 93a1ae0
[docs] Document new experimental APIs from Aspire.Hosting.Dotnet deco…
aspire-repo-bot[bot] 76e53cf
docs: document ASPIRE_CLI_START_TIMEOUT env var (#1529)
aspire-repo-bot[bot] b8ae5b7
[docs] Document mixed-quality staging package discovery in aspire add…
aspire-repo-bot[bot] 4d58bbf
Remove duplicate DNX guidance (#1530)
IEvangelist 71b43f7
docs: troubleshoot Azure Artifacts package search (#1523)
IEvangelist 8de608f
Document ATS support in custom integration guides (#1498)
IEvangelist d9621bc
[docs] Document dashboard bundle preparation status message (#1508)
aspire-repo-bot[bot] e3c843d
Document staging channel refusal on daily/local/pr CLI builds (#1522)
IEvangelist 7ba2ebb
[docs] Document default fsGroup for Kubernetes persistent volumes (#1…
aspire-repo-bot[bot] 9775981
Merge main into release/13.5
IEvangelist File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
91 changes: 91 additions & 0 deletions
91
src/frontend/config/aspire-version-placeholders-integration.mjs
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,91 @@ | ||
| import { readdir, readFile, writeFile } from 'node:fs/promises'; | ||
| import path from 'node:path'; | ||
| import { fileURLToPath } from 'node:url'; | ||
| import { replaceAspireVersionPlaceholders } from './remark-aspire-version-placeholders.mjs'; | ||
|
|
||
| // Per-page Markdown copies emitted by `starlight-page-actions` are the only | ||
| // generated artifacts that still contain raw `%ASPIRE_VERSION%` placeholders: | ||
| // that plugin `viteStaticCopy`s `src/content/docs/**/*.{md,mdx}` straight to | ||
| // `dist/**/*.md` through a regex-only transform, so it never runs through the | ||
| // `remarkAspireVersionPlaceholders` remark plugin. | ||
| // | ||
| // Everything else is already handled before it reaches `dist`: | ||
| // - `.html` pages -> rendered via the remark pipeline (placeholders replaced | ||
| // in the mdast before expressive-code renders code blocks) | ||
| // - `llms*.txt` -> `starlight-llms-txt` sources rendered HTML (`render(entry)`) | ||
| // - `reference/**.md` -> generated from API/sample data, not docs content | ||
| // | ||
| // So this post-build pass only needs to touch `.md` files. Scoping it this way | ||
| // (instead of walking every `.html`/`.txt` in `dist`) avoids re-reading the bulk | ||
| // of the output — including the large `llms-full.txt` assets — which is what | ||
| // previously exhausted the Node heap. | ||
| const placeholderCopyExtensions = new Set(['.md']); | ||
|
|
||
| // Process the Markdown copies through a small worker pool rather than a single | ||
| // recursive `Promise.all` over the whole tree, so peak memory stays proportional | ||
| // to the concurrency limit instead of the number of files held open at once. | ||
| const DEFAULT_CONCURRENCY = 16; | ||
|
|
||
| export function aspireVersionPlaceholdersIntegration() { | ||
| return { | ||
| name: 'aspire-version-placeholders', | ||
| hooks: { | ||
| 'astro:build:done': async ({ dir }) => { | ||
| await replaceAspireVersionPlaceholdersInDirectory(fileURLToPath(dir)); | ||
| }, | ||
| }, | ||
| }; | ||
| } | ||
|
|
||
| export async function replaceAspireVersionPlaceholdersInDirectory( | ||
| directory, | ||
| concurrency = DEFAULT_CONCURRENCY | ||
| ) { | ||
| const files = []; | ||
| await collectMarkdownCopies(directory, files); | ||
|
|
||
| if (files.length === 0) { | ||
| return; | ||
| } | ||
|
|
||
| // Normalize to a finite positive integer so a stray NaN/0/negative value can't | ||
| // collapse the worker pool to an empty array and silently skip every file. | ||
| const limit = Number.isFinite(concurrency) ? Math.floor(concurrency) : DEFAULT_CONCURRENCY; | ||
| const workerCount = Math.min(Math.max(1, limit), files.length); | ||
| let cursor = 0; | ||
|
|
||
| const runWorker = async () => { | ||
| while (cursor < files.length) { | ||
| const filePath = files[cursor++]; | ||
| await replaceAspireVersionPlaceholdersInFile(filePath); | ||
| } | ||
| }; | ||
|
|
||
| await Promise.all(Array.from({ length: workerCount }, runWorker)); | ||
| } | ||
|
|
||
| async function collectMarkdownCopies(directory, files) { | ||
| const entries = await readdir(directory, { withFileTypes: true }); | ||
|
|
||
| for (const entry of entries) { | ||
| const resolvedPath = path.join(directory, entry.name); | ||
|
|
||
| if (entry.isDirectory()) { | ||
| await collectMarkdownCopies(resolvedPath, files); | ||
| continue; | ||
| } | ||
|
|
||
| if (entry.isFile() && placeholderCopyExtensions.has(path.extname(entry.name))) { | ||
| files.push(resolvedPath); | ||
| } | ||
| } | ||
| } | ||
|
|
||
| async function replaceAspireVersionPlaceholdersInFile(filePath) { | ||
| const content = await readFile(filePath, 'utf8'); | ||
| const updated = replaceAspireVersionPlaceholders(content); | ||
|
|
||
| if (updated !== content) { | ||
| await writeFile(filePath, updated); | ||
| } | ||
| } |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| export const currentAspireMajorMinorVersion = '13.5'; | ||
| export const currentAspireVersion = '13.5.0'; | ||
|
|
||
| export const aspireVersionPlaceholders = Object.freeze({ | ||
| '%ASPIRE_VERSION_MAJOR_MINOR%': currentAspireMajorMinorVersion, | ||
| '%ASPIRE_VERSION%': currentAspireVersion, | ||
| }); |
40 changes: 40 additions & 0 deletions
40
src/frontend/config/remark-aspire-version-placeholders.mjs
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| import { aspireVersionPlaceholders } from './aspire-versions.mjs'; | ||
|
|
||
| const placeholderEntries = Object.entries(aspireVersionPlaceholders); | ||
|
|
||
| export function replaceAspireVersionPlaceholders(value) { | ||
| return placeholderEntries.reduce( | ||
| (current, [placeholder, version]) => current.replaceAll(placeholder, version), | ||
| value | ||
| ); | ||
| } | ||
|
|
||
| export function remarkAspireVersionPlaceholders() { | ||
| return (tree) => { | ||
| replaceNodeValues(tree); | ||
| }; | ||
| } | ||
|
|
||
| function replaceNodeValues(node) { | ||
| if (!node || typeof node !== 'object') { | ||
| return; | ||
| } | ||
|
|
||
| if (typeof node.value === 'string') { | ||
| node.value = replaceAspireVersionPlaceholders(node.value); | ||
| } | ||
|
|
||
| if (Array.isArray(node.attributes)) { | ||
| for (const attribute of node.attributes) { | ||
| if (attribute && typeof attribute.value === 'string') { | ||
| attribute.value = replaceAspireVersionPlaceholders(attribute.value); | ||
| } | ||
| } | ||
| } | ||
|
|
||
| if (Array.isArray(node.children)) { | ||
| for (const child of node.children) { | ||
| replaceNodeValues(child); | ||
| } | ||
| } | ||
| } |
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.