
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@backstage-community/plugin-adr-backend
Advanced tools
This ADR backend plugin is primarily responsible for the following:
Provides a DefaultAdrCollatorFactory
, which can be used in the search backend to index ADR documents associated with entities to your Backstage Search.
Provides endpoints that use UrlReaders for getting ADR documents (used in the ADR frontend plugin).
integrations
configFirst off you'll need to setup your integrations
config inside your app-config.yaml
. You can skip this step if it's already setup previously, and if you need help configuring this you can read the integrations documentation
Here's how to get the backend up and running:
@backstage-community/plugin-adr-backend
package to your backend:# From your Backstage root directory
yarn --cwd packages/backend add @backstage-community/plugin-adr-backend
packages/backend/src/plugins/adr.ts
, and add the
following to it:import { createRouter } from '@backstage-community/plugin-adr-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
return await createRouter({
reader: env.reader,
cacheClient: env.cache.getClient(),
logger: env.logger,
});
}
packages/backend/src/index.ts
:import adr from './plugins/adr';
// ...
async function main() {
// ...
// Add this line under the other lines that follow the useHotMemoize pattern
const adrEnv = useHotMemoize(module, () => createEnv('adr'));
// ...
// Insert this line under the other lines that add their routers to apiRouter in the same way
apiRouter.use('/adr', await adr(adrEnv));
yarn start-backend
from the repo rootThe ADR backend plugin has support for the new backend system, here's how you can set that up:
In your packages/backend/src/index.ts
make the following changes:
const backend = createBackend();
+ backend.add(import('@backstage-community/plugin-adr-backend'));
// ... other feature additions
backend.start();
Refer to the search-backend-module-adr documentation to integrate the search collator.
By default, the plugin parses documents that follow the MADR v3.0.0
and MADR v2.x template formats. If you use a different ADR format, consider
writing a module that extends this plugin and provides
a custom parser via
the extension point adrExtensionPoint
. For
example, you can create a new module that provides a custom parser as follows:
import { createBackendModule } from '@backstage/backend-plugin-api';
import { adrExtensionPoint } from '@backstage-community/plugin-adr-backend';
import { createCustomAdrParser } from './parser';
export const adrModuleCustomAdrParser = createBackendModule({
pluginId: 'adr',
moduleId: 'custom-adr-parser',
register(reg) {
reg.registerInit({
deps: {
extensionPoint: adrExtensionPoint,
},
async init({ extensionPoint }) {
extensionPoint.setAdrInfoParser(createCustomAdrParser());
},
});
},
});
And in your parser.ts
:
import { AdrInfoParser } from '@backstage-community/plugin-adr-common';
export const createCustomAdrParser = (): AdrInfoParser => {
return (content: string, dateFormat?: string) => {
// Your custom parsing logic here
return {
title: adrTitle,
status: adrStatus,
date: adrDate,
};
};
};
FAQs
Unknown package
The npm package @backstage-community/plugin-adr-backend receives a total of 5,477 weekly downloads. As such, @backstage-community/plugin-adr-backend popularity was classified as popular.
We found that @backstage-community/plugin-adr-backend demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.