Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@seatgeek/backstage-plugin-entity-scaffolder-content

Package Overview
Dependencies
Maintainers
0
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@seatgeek/backstage-plugin-entity-scaffolder-content

This plugin offers the ability to run Software Templates from within an entity's EntityPage. Templates, once selected, can be autopopulated with data from the Entity. For example, if I am on the EntityPage for `system:default/tickets` and I select a templ

  • 1.2.0
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
100
increased by5.26%
Maintainers
0
Weekly downloads
 
Created
Source

@seatgeek/backstage-plugin-entity-scaffolder-content

This plugin offers the ability to run Software Templates from within an entity's EntityPage. Templates, once selected, can be autopopulated with data from the Entity. For example, if I am on the EntityPage for system:default/tickets and I select a template for creating a new Postgres database, I can autopopulate that template's system: field to system:default/tickets.

npm latest version

Template groups visible on an EntityPage

Selected template with entity's information filled in

This plugin addresses https://github.com/backstage/backstage/issues/16053 and builds on top of @frontside/backstage-plugin-scaffolder-workflow.

Installation

Install the package

Install the @seatgeek/backstage-plugin-entity-scaffolder-content package in your frontend app package:

# From your Backstage root directory
yarn add --cwd packages/app @seatgeek/backstage-plugin-entity-scaffolder-content

Add the plugin to your EntityPage

import { EntityScaffolderContent } from '@seatgeek/backstage-plugin-entity-scaffolder-content';

const systemPage = (
  <EntityLayout>
    {/** ... */}
    <EntityLayout.Route path="/scaffolder" title="Scaffolder">
      <EntityScaffolderContent
        templateGroupFilters={[
          // We show all resource templates that have the label `forEntity:system``
          // on our system EntityPage
          {
            title: 'Resources',
            filter: (_, template) =>
              template.metadata?.labels?.forEntity === 'system' &&
              template.spec.type === 'Resource',
          },
          // If our system defines its language as python, we show all templates
          // that are intended to be applied to pythom systems.
          {
            title: 'Python',
            filter: (entity, template) =>
              template.metadata?.labels?.forEntity === 'system' &&
              entity.metadata?.labels?.language === 'python' &&
              template.metadata?.labels?.language === 'python',
          },
        ]}
        buildInitialState={entity => ({ system: stringifyEntityRef(entity) })}
        // optional
        ScaffolderFieldExtensions={
          <ScaffolderFieldExtensions>
            {/* Any field extensions you need */}
          </ScaffolderFieldExtensions>
        }
        // optional
        components={{
          TemplateCard: CustomTemplateCard,
        }}
      />
    </EntityLayout.Route>
  </EntityLayout>
);

FAQs

Package last updated on 24 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc