Skip to content
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

🙏 Help wanted: Support new frontend system #2458

Open
christoph-jerolimov opened this issue Jan 7, 2025 · 0 comments
Open

🙏 Help wanted: Support new frontend system #2458

christoph-jerolimov opened this issue Jan 7, 2025 · 0 comments
Labels
help wanted Extra attention is needed

Comments

@christoph-jerolimov
Copy link
Member

christoph-jerolimov commented Jan 7, 2025

TL;DR: We would like to encourage plugin authors and the community to add support for the new frontend system to plugins.

A list of plugins and their status could be seen here:

https://github.com/backstage/community-plugins/blob/main/docs/compatibility/new-frontend-system.md

Existing frontend plugins

Here are some plugins that supports the new frontend system, links goes to the alpha entry point to learn from them:

Work in process

Please let us know if you have time to add the new frontend system to a plugin so we can share the effort.

Check the comments below; but I try to summarize it here.

How do I help?

Add alpha support to a frontend-plugin

  1. Add to the frontend plugin package.json:

      "exports": {
        ".": "./src/index.ts",
        "./alpha": "./src/alpha.tsx",
        "./package.json": "./package.json"
      },
      "typesVersions": {
        "*": {
          "alpha": [
            "src/alpha.tsx"
          ],
          "package.json": [
            "package.json"
          ]
        }
      },
  2. Add the alpha export based on your needs to src/alpha.tsx, for example (many plugins splits this import up into multiple files):

    import { createFrontendPlugin } from '@backstage/frontend-plugin-api';
    
    /**
     * Backstage frontend plugin.
     *
     * @alpha
     */
    export default createFrontendPlugin({
      id: 'your-plugin-id',
      extensions: [
        // TODO
      ],
    });

    For more details, check out the migration guide for plugins

  3. If your plugin workspace has an packages/app you can add an packages/app-next to test your plugin within a backstage app.

Test new frontend system

See the testing plugins section in the new frontend system documentation.

@christoph-jerolimov christoph-jerolimov added the help wanted Extra attention is needed label Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant