open-index/open-npm huggingface dataset:
npm package: @jikjoo/moonstone
Description: from @enact/moonstone, Large-screen/TV support library for Enact, containing a variety of UI components.
Author: jikjoo
Latest version: 3.2.53

# @enact/moonstone [![npm (scoped)](https://img.shields.io/npm/v/@enact/moonstone.svg?style=flat-square)](https://www.npmjs.com/package/@enact/moonstone)

> The set of components for an Enact-based application targeting smart TVs.
## How to publish
```
# change version in package.json
npm run transpile
npm publish build --access public
```

## Usage

```
import kind from '@enact/core/kind';
import Button from '@enact/moonstone/Button';
import MoonstoneDecorator from '@enact/moonstone/MoonstoneDecorator';
import React from 'react';

const MyApp = kind({
	name: 'MyApp',
	render: () => (<Button>Hello, Enact!</Button>)
});

const MyMoonstoneApp = MoonstoneDecorator(MyApp);

export default MyMoonstoneApp;
```

> Note: The moonstone decorator must be applied to the base component. This decorator also applies
`@enact/i18n/I18nDecorator`, `@enact/spotlight` and `@enact/ui/resolution` decorators.

## Install

```
npm install --save @enact/moonstone
```

## Test

Tests are implemented in mocha and are run with the Karma runner.

```
npm test
```

## Copyright and License Information

Unless otherwise specified, all content, including all source code files and documentation files in this repository are:

Copyright (c) 2012-2019 LG Electronics

Unless otherwise specified or set forth in the NOTICE file, all content, including all source code files and documentation files in this repository are: Licensed under the Apache License, Version 2.0 (the "License"); you may not use this content except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
npm package: @jikwan/backstage-plugin-dora-scorecard
Description: Backstage plugin for tracking DORA (DevOps Research and Assessment) metrics with scorecard visualization
Author: jikwan
Latest version: 1.0.3

# DORA Scorecard Plugin (Frontend)

Frontend plugin for rendering DORA metrics in Backstage service pages.

## Install

```bash
yarn add --cwd packages/app @jikwan/backstage-plugin-dora-scorecard
```

## Required Setup

### 1) Register the plugin in `App.tsx`

```tsx
// packages/app/src/App.tsx
import { createApp } from '@backstage/app-defaults';
import { doraMetricsPlugin } from '@jikwan/backstage-plugin-dora-scorecard';

const app = createApp({
  // ...other options
  plugins: [doraMetricsPlugin],
});
```

If this is missing, `DoraScorecard` can fail with:
`No implementation available for apiRef{plugin.dora-metrics.service}`.

### 2) Add `DoraScorecard` to an entity page

```tsx
// packages/app/src/components/catalog/EntityPage.tsx
import { DoraScorecard } from '@jikwan/backstage-plugin-dora-scorecard';

const serviceEntityPage = (
  <EntityLayout>
    <EntityLayout.Route path="/dora" title="DORA Metrics">
      <Grid container spacing={3}>
        <Grid item xs={12}>
          <DoraScorecard />
        </Grid>
      </Grid>
    </EntityLayout.Route>
  </EntityLayout>
);
```

## Backend Dependency

This frontend plugin requires `@jikwan/backstage-plugin-dora-scorecard-backend` to be installed and configured.

## Exports

- `DoraScorecard`
- `doraMetricsPlugin`
- `doraMetricsApiRef`
- `DoraMetricsApi` (type)

## License

Apache-2.0
npm package: @jikwan/backstage-plugin-dora-scorecard-backend
Description: Backend for Backstage DORA Scorecard plugin - collects and serves DORA metrics data
Author: jikwan
Latest version: 1.0.3

# DORA Scorecard Plugin (Backend)

Backend plugin that collects DORA metrics from GitHub and serves them to the frontend.

## Install

```bash
yarn add --cwd packages/backend @jikwan/backstage-plugin-dora-scorecard-backend
```

## Register in Backend

```ts
// packages/backend/src/index.ts
import { createBackend } from '@backstage/backend-defaults';

const backend = createBackend();

backend.add(import('@jikwan/backstage-plugin-dora-scorecard-backend'));

backend.start();
```

## Configuration

Add to `app-config.yaml`.

### Option 1: Personal Access Token

```yaml
doraMetrics:
  github:
    organizations:
      - your-org-name
    token: ${GITHUB_TOKEN}

  environments:
    production:
      - prd
      - prod
      - production

  labels:
    failureIssue: bug

  collection:
    intervalMinutes: 30
    initialDays: 30
    includeServices: []
    excludeServices: []
```

### Option 2: GitHub App

```yaml
integrations:
  github:
    - host: github.com
      apps:
        - appId: ${GITHUB_APP_ID}
          clientId: ${GITHUB_APP_CLIENT_ID}
          clientSecret: ${GITHUB_APP_CLIENT_SECRET}
          privateKey: |
            ${GITHUB_APP_PRIVATE_KEY}

doraMetrics:
  github:
    organizations:
      - your-org-name

  environments:
    production:
      - prd
      - prod
      - production

  labels:
    failureIssue: bug

  collection:
    intervalMinutes: 30
    initialDays: 30
    includeServices: []
    excludeServices: []
```

## Service Requirements

Catalog entities must include one of these annotations:

```yaml
metadata:
  annotations:
    github.com/project-slug: your-org/your-repo
```

or

```yaml
metadata:
  annotations:
    backstage.io/source-location: url:https://github.com/your-org/your-repo
```

## API

The plugin ID is `dora-metrics`, so clients should use Backstage discovery:

- `GET {baseUrl}/scorecard/:service?days=30`
- `POST {baseUrl}/targets/:service`

Example `baseUrl` in default Backstage setup is typically `/api/dora-metrics`.

## Notes

- Database migrations run automatically on startup.
- Data sync runs on startup and then at `collection.intervalMinutes`.

## License

Apache-2.0