open-index/open-npm huggingface dataset:
npm package: @janus-idp/cli
Description: CLI for developing Backstage plugins and apps
Latest version: 3.7.0
Deprecated: This package is deprecated and will no longer receive updates. Please migrate to @red-hat-developer-hub/cli. See https://github.com/redhat-developer/rhdh-cli for more information.

# @janus-idp/cli

<!-- prettier formatting breaks GitHub Markdown callouts, so this block is ignored -->
<!-- prettier-ignore-start -->
> [!WARNING] 
> **⚠️ DEPRECATION NOTICE**
>
> This CLI is **deprecated** and will no longer receive updates. Please migrate to the new **[@red-hat-developer-hub/cli](https://github.com/redhat-developer/rhdh-cli)**.
>
> **Command Migration:**
>
> - `npx @janus-idp/cli package export-dynamic-plugin` → `npx @red-hat-developer-hub/cli plugin export`
> - `npx @janus-idp/cli package package-dynamic-plugins` → `npx @red-hat-developer-hub/cli plugin package`
>
> For more information, visit: https://github.com/redhat-developer/rhdh-cli
>
> **📖 [View Migration Guide](./MIGRATION.md)** - Step-by-step instructions for migrating to the new CLI
<!-- prettier-ignore-end -->

This package provides a CLI for developing and exporting Backstage plugins as dynamic plugins. It implements a few new commands on top of the @backstage/cli codebase:

- `package export-dynamic plugin` - Exports a Backstage plugin to a dynamic plugin package
- `package package-dynamic-plugins` - Exports a monorepo of Backstage plugins to dynamic plugin packages in a container image
- `package schema` - Print configuration schema for a package
- `package metadata` - Add metadata to a package.json file

This package also has a modified version of the `package start` and `package build` commands that focus on building frontend plugins as well as the Developer Hub frontend app.

## Installation

Install the package via Yarn:

```sh
yarn add @janus-idp/cli
```

## Development

For local development the cli can be used directly, even from other packages in this repo. The `bin/janus-cli` entrypoint contains a switch that will load the implementation from the `src` directory when executed inside this repo.

To try out the command locally, you can execute the following from the parent directory of this repo:

```bash
./packages/cli/bin/janus-cli --help
```

## Documentation

- [Dynamic Plugins Documentation](https://github.com/janus-idp/backstage-showcase/blob/main/docs/dynamic-plugins.md#dynamic-plugins-support)
npm package: @janus-idp/plugin-notifications
Description: Frontend part of the notifications providing the Notifications API, Notifications page, left-side menu item and other REACT components.
Author: The Backstage Community
Latest version: 1.5.0

# Notifications

This Backstage front-end plugin provides:

- the `Notifications` page listing notifications from the logged-in user's perspective
- the NotificationsApi for accessing the notifications backend from front-end plugins
- an active item to the main left side menu to both notify the user about new messages and provide navigation to the Notifications page
- an alert about new system notifications

## Getting started

### Prerequisities

Have `@janus-idp/plugin-notifications-backend` installed and running.

## Installing as a dynamic plugin

The sections below are relevant for static plugins. If the plugin is expected to be installed as a dynamic one:

- follow https://github.com/janus-idp/backstage-showcase/blob/main/showcase-docs/dynamic-plugins.md#installing-a-dynamic-plugin-package-in-the-showcase
- add content of `app-config.janus-idp.yaml` into `app-config.local.yaml`.
- customize configuration configure as needed

### Configuration

There is polling used to check for new notifications. It can be tuned via `pollingIntervalMs` config property (see `app-config.janus-idp.yaml`). When set to 0, the polling is turned off.

## Installing as a static plugin

### Add NPM dependency

```
cd packages/app
yarn add @janus-idp/plugin-notifications
```

### Add left-side menu item

In the `packages/app/src/components/Root/Root.tsx`:

```
import { NotificationsActiveIcon } from '@janus-idp/plugin-notifications';

...
export const Root = ({ children }: PropsWithChildren<{}>) => (
    ...
      {/* New code: */}
      <SidebarDivider />
      <SidebarItem icon={NotificationsActiveIcon} to="notifications" text="Notifications" />

      {/* Existing code for reference: */}
      <SidebarSpace />
      <SidebarSpace />
      <SidebarDivider />
      <SidebarDivider />
      <SidebarGroup
        <SidebarGroup label="Settings"
```

### Add to router

In the `packages/app/src/App.tsx`:

```
import { NotificationsPage } from '@janus-idp/plugin-notifications';
...

export const AppBase = () => {
    ...
      {/* New code: */}
      <Route path="/notifications" element={<NotificationsPage />} />
```

## How to use the NotificationApi

Once installed as either static or dynamic plugin, a 3rd party frontend plugin can access the notifications via its frontend API:

```
import { notificationsApiRef, Notification } from '@janus-idp/plugin-notifications';

...

const notificationsApi = useApi(notificationsApiRef);
const notifications: Notification[] = await notificationsApi.getNotifications(params);

```

See `src/api/notificationsApi.ts` for more details.
npm package: @janus-idp/shared-react
Description: Shared code for utils, types, and React components for the Janus frontend plugins.
Author: Red Hat
Latest version: 2.18.0

# Janus React Common

Shared code for utils, types, and React components for the Janus frontend plugins.

## Version bump history

- Bumped to 2.5.5 to re-release changes meant for 2.5.4, which failed due to timeout - see https://github.com/janus-idp/backstage-plugins/issues/1467