118 Commits

Author SHA1 Message Date
Patrik Oldsberg 59d62d3019 docs: use Remix icon in building plugins tutorial
Update the PageBlueprint example to use RiPuzzleLine and drop stale
nav item references from later snippets.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 11:29:12 +02:00
Patrik Oldsberg 10e5d6f8aa Remove NavItemBlueprint in favor of page-based nav discovery
Drop the deprecated NavItemBlueprint from the public API and migrate core
plugins to set title and icon on PageBlueprint instead. AppNav keeps
backward compatibility for legacy nav-item extensions via an internal
core.nav-item.target data ref.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 11:00:46 +02:00
Eric Peterson 2f6d3ed2f9 Address review feedback
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2026-04-24 15:13:58 +02:00
Eric Peterson 774c29f12d Backport new hints from agent skill to human documentation
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2026-04-24 14:53:45 +02:00
Fredrik Adelöw 8c8199cdf9 Update docs/frontend-system/building-plugins/06-swappable-components.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-04-21 16:29:15 +02:00
Fredrik Adelöw ffb749e4b6 docs(swappable-components): fix missing backticks and small typos
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-04-21 16:21:03 +02:00
Eoin Shaughnessy 8b997d07c4 docs: address review feedback on i18n available languages section
Signed-off-by: Eoin Shaughnessy <eoinsh@gmail.com>
2026-04-05 23:56:19 +01:00
Eoin Shaughnessy 6aed2dcab1 docs: document availableLanguages and defaultLanguage for i18n in new frontend system
Signed-off-by: Eoin Shaughnessy <eoinsh@gmail.com>
2026-04-05 23:42:19 +01:00
Patrik Oldsberg 8f9c1d64b8 verify-links: catch broken anchors, directory links, and invisible characters (#33713)
* verify-links: catch broken anchors, directory links, and invisible characters

Enhances the link verification script to catch several categories of
broken links that were previously missed:

- Broken anchors (cross-file and same-file) by extracting heading slugs
  from target documents and verifying anchors resolve
- Directory links missing index.md suffix within docs/
- Invisible/zero-width characters in URLs
- Case-sensitive anchor mismatches

Also strips fenced code blocks before scanning for links to avoid false
positives, and handles duplicate heading slug deduplication (GitHub and
Docusaurus append -1, -2, etc.).

Fixes a few newly-caught broken links in existing docs.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor

* Fix CodeQL incomplete multi-character sanitization alert

Apply HTML tag stripping in a loop so that nested fragments
like <scr<script>ipt> are fully removed.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor

---------

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-04-03 17:48:40 +02:00
Fredrik Adelöw bb7768ba06 docs: fix broken links and anchors across documentation
Fix ~30 broken links and anchors across the documentation site, including
incorrect relative paths, mismatched anchor names, zero-width characters
in URLs, and references to renamed or removed headings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-31 18:43:40 +02:00
Patrik Oldsberg 208442d755 docs: fix broken API reference links
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-18 13:31:46 +01:00
Patrik Oldsberg b02ed6ee79 docs: replace core-plugin-api and core-app-api references with frontend-plugin-api
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 15:39:42 +01:00
Patrik Oldsberg f8161a67fa docs: address review feedback on migrated plugin docs
- Update internationalization page to use new frontend system patterns
  (TranslationBlueprint from @backstage/plugin-app-react instead of
  createApp __experimentalTranslations)
- Fix AnalyticsImplementationBlueprint import to use @backstage/plugin-app-react
- Remove search integration page from frontend-system section as it
  belongs in the core feature search docs

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 11:26:12 +01:00
Patrik Oldsberg aac778ba8c docs: adapt cross-cutting plugin docs into the frontend system section
Instead of just referencing the legacy docs/plugins documentation, adapt
and add them as new pages under frontend-system/building-plugins/ with
updated imports and examples for the new frontend system.

Also moves the OpenAPI sidebar entry under Framework instead of top-level.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 11:05:09 +01:00
Patrik Oldsberg 35e130c601 docs: sunset the docs/plugins section as legacy documentation
Mark all pages in docs/plugins/ with legacy admonition banners pointing
to the appropriate new frontend system and backend system documentation.
Rename the sidebar section to "Plugins (Legacy)" and move it lower in
the navigation hierarchy. Add cross-references from the new frontend
system building-plugins guide to relevant cross-cutting topics (i18n,
analytics, feature flags, search) that still live in the legacy section.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 10:49:54 +01:00
Patrik Oldsberg 989a1dcc9b Restrict createDevApp options
Limit createDevApp to features and bindRoutes so advanced createApp configuration stays out of the dev-app helper API.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-16 16:10:28 +01:00
Patrik Oldsberg 1594749d8e Simplify createDevApp options
Accept createApp options at the top level in createDevApp and update the tests, docs, API report, and changeset to match the new shape.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-16 16:10:28 +01:00
Patrik Oldsberg 0b4ed8550d Document createDevApp pattern for frontend plugin development
Add documentation for the new `@backstage/frontend-dev-utils` package
across three docs pages: the frontend system building plugins guide,
the CLI build system reference, and the project structure overview.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-16 16:10:27 +01:00
Patrik Oldsberg 92d77a98ff rename header action to plugin header action
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-17 11:55:37 +01:00
Patrik Oldsberg cc3c035267 frontend-plugin-api: document that icons should be 24x24
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-17 11:55:32 +01:00
Patrik Oldsberg 1ec7e80635 docs/frontend-system: document SubPage and HeaderAction blueprints
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-17 11:55:32 +01:00
Patrik Oldsberg a2133bebd4 docs: document new nav content extensibility
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-17 11:55:31 +01:00
Patrik Oldsberg 6d3c8065a6 docs/frontend-system: update to use icon element
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-17 11:55:25 +01:00
Patrik Oldsberg e1f22f2d15 plugin icons and titles
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-17 11:55:22 +01:00
Patrik Oldsberg 0a1faaa076 docs/frontend-system: add utility API testing docs
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-07 00:06:58 +01:00
Andreas Berger d6ff861d1c rename showIcons config to showNavItemIcons
Signed-off-by: Andreas Berger <andreas@berger-ecommerce.com>
2026-02-05 11:15:57 +01:00
Andreas Berger c3a5f972f6 Adjustments after review
Signed-off-by: Andreas Berger <andreas@berger-ecommerce.com>
2026-02-05 11:15:56 +01:00
Andreas Berger d04264404e update doc
Signed-off-by: Andreas Berger <andreas@berger-ecommerce.com>
2026-02-05 11:15:56 +01:00
Andreas Berger 491a06cbf1 Add the ability to show icons for the tabs on the entity page (new frontend)
Signed-off-by: Andreas Berger <andreas@berger-ecommerce.com>
2026-02-05 11:15:56 +01:00
Patrik Oldsberg ac9bead0dc Add createTestEntityPage utility for testing entity extensions
This adds a test utility that simplifies testing entity cards and content
extensions in the new frontend system. The utility creates a test page
that provides EntityProvider context and accepts entity extensions through
input redirects.

Also adds the `apis` option to `renderTestApp` for API overrides, and
includes tests for entity cards in catalog, org, and api-docs plugins.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-04 11:29:47 +01:00
Patrik Oldsberg 15ed3f9ccb Add extension snapshot testing support to frontend-test-utils
Adds the snapshot() method to ExtensionTester, enabling snapshot
testing of extension tree structures. The snapshots use a tree-shaped
format that mirrors the extension hierarchy, with empty fields and
default values omitted for clarity.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-04 10:37:33 +01:00
Patrik Oldsberg 013ec22eab frontend-test-utils: add mountedRoutes option for renderTestApp + document
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-03 23:05:57 +01:00
Patrik Oldsberg 68d2c57d94 docs: update to prefer new apis option and use mockApis
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-03 00:11:48 +01:00
Patrik Oldsberg 22864b75a9 feat(frontend-test-utils): add API override support to test utilities
Added support for API overrides in `createExtensionTester` and
`renderInTestApp` to allow tests to override specific APIs without
requiring wrapper components. This provides app-level API overrides
that are available throughout the entire extension tree.

The `apis` option follows the same typing pattern as `TestApiProvider`
from `@backstage/test-utils` for consistency and type safety.

Example usage:

```typescript
const tester = createExtensionTester(MyExtension, {
  apis: [
    [errorApiRef, mockErrorApi],
    [analyticsApiRef, mockAnalyticsApi],
  ],
});

renderInTestApp(<MyComponent />, {
  apis: [
    [errorApiRef, mockErrorApi],
    [analyticsApiRef, mockAnalyticsApi],
  ],
});
```

This enables cleaner tests with app-level API overrides, eliminating
the need to wrap components with TestApiProvider in many cases.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-03 00:11:48 +01:00
Patrik Oldsberg 3799135578 Update docs/frontend-system/building-plugins/03-common-extension-blueprints.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-01-17 01:09:55 +01:00
Patrik Oldsberg 872cecb902 docs: updates for app and plugin wrapper blueprint changes
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-01-16 17:08:55 +01:00
Patrik Oldsberg c4e03c31ac Merge pull request #32345 from backstage/rugvip/restrict
frontend-app-api: restrict the ability for plugins to override APIs
2026-01-16 16:48:58 +01:00
Patrik Oldsberg 9ccf84e219 frontend-plugin-api: move app blueprints to new app-react package
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-01-16 11:59:49 +01:00
Patrik Oldsberg 3bd2a1a5bf frontend-app-api: restrict the ability for plugins to override APIs
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-01-16 01:18:58 +01:00
aramissennyeydd 3904a1ac1c chore: point to new api reference site
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
2025-12-18 10:27:56 -07:00
Patrik Oldsberg e5a1b33b0b docs/frontend-system: remove use of compatWrapper
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-11-23 13:04:53 +01:00
Patrik Oldsberg 83439b1539 core-plugin-api: add forwards compatibility for route refs
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-11-18 10:26:20 +01:00
Patrik Oldsberg 8279f30933 Merge pull request #31154 from backstage/rugvip/title
frontend-plugin-api: add coreExtensionData.title
2025-10-07 16:31:51 +02:00
Patrik Oldsberg 8ed53eb466 frontend-plugin-api: add coreExtensionData.title
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-09-16 01:02:26 +02:00
Aditya Kumar 7bd14534b8 Made the chages to the software catalog Link
Signed-off-by: Aditya Kumar <aditya.kumar60@infosys.com>
2025-09-10 11:10:39 +05:30
Aditya Kumar 4071458967 Update 02-testing.md
Signed-off-by: Aditya Kumar <136452216+AdityaK60@users.noreply.github.com>
2025-09-08 15:34:48 +05:30
Aditya Kumar 676b704db2 Fixed a broken link
Signed-off-by: Aditya Kumar <aditya.kumar60@infosys.com>
2025-09-03 13:37:26 +05:30
Aditya Kumar ba9e598c64 Fixed a broken link
Signed-off-by: Aditya Kumar <aditya.kumar60@infosys.com>
2025-09-03 11:46:21 +05:30
Aditya Kumar 10b54cb671 Minor doc changes
Signed-off-by: Aditya Kumar <aditya.kumar60@infosys.com>
2025-09-03 10:08:23 +05:30
Camila Belo 7ecdb62400 docs: update nfs status
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2025-08-21 14:48:31 +02:00