* Initial table component with storybook example * Moved dependencies to package/core * Removed dependency to @backstage/core from base package.json * Clean up some examples and remove type from columns, replacing with property align instead * Removed more unused stuff and added toggle for filter input * Fixed some lint issues * Added example with material-table * Convert column array passed into MaterialTable Backstage component into MT column array. Allow multiple values in one cell * Removed subheader from MT * Nicer double value cell * Added custom sorting to example * Cleaned up stories a bit * Setting field instead of customSort * Improve styling. Still needs better theme integration * Using more colors from theme * Fixed typing issue * Removed react-table implementation and cleaned up material-table implementation * Fixed some type issues * Fixed lint issues
@backstage/plugin-lighthouse
A frontend for lighthouse-audit-service, this plugin allows you to trigger Lighthouse audits on websites and track them over time.
Getting Started
Use cases
Google's Lighthouse auditing tool for websites is a great open-source resource for benchmarking and improving the accessibility, performance, SEO, and best practices of your site. At Spotify, we keep track of Lighthouse audit scores over time to look at trends and overall areas for investment.
This plugin allows you to generate on-demand Lighthouse audits for websites, and to track the trends for the top-level categories of Lighthouse at a glance.
In the future, we hope to add support for scheduling audits (which we do internally), as well as allowing custom runs of Lighthouse to be ingested (for auditing sites that require authentication or some session state).
Installation
To get started, you will need a running instance of lighthouse-audit-service.
It's likely you will need to enable CORS when running lighthouse-audit-service. Initialize the app
with the environment variable LAS_CORS set to true.
When you have an instance running that Backstage can hook into, make sure to export the plugin in
your app's plugins.ts
to enable the plugin:
import { default as LighthousePlugin } from '@backstage/plugin-lighthouse';
export LighthousePlugin;
Then, you need to use the lighthouseApiRef exported from the plugin to initialize the Rest API in
your apis.ts.
import { ApiHolder, ApiRegistry } from '@backstage/core';
import {
lighthouseApiRef,
LighthouseRestApi,
} from '@backstage/plugin-lighthouse';
const builder = ApiRegistry.builder();
export const lighthouseApi =
new LighthouseRestApi(/* your service url here! */);
builder.add(lighthouseApiRef, lighthouseApi);
export default builder.build() as ApiHolder;