npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

tech-radar-editor

v1.0.1

Published

![NPM Version](https://img.shields.io/npm/v/tech-radar-editor) ![NPM Downloads](https://img.shields.io/npm/dy/tech-radar-editor)

Downloads

8

Readme

Tech Radar Editor

NPM Version NPM Downloads

A web component providing an easy-to-use UI that allows users to easily create and edit a Tech Radar without having to directly modify a JSON file. It also adds validation to ensure that your Tech Radar is always in a valid state.

Screenshot

Who created the Tech Radar?

ThoughtWorks created the Tech Radar concept, and Zalando created the visualization that is popular today.

Purpose

Zalando has a fantastic description on their website:

The Tech Radar is a tool to inspire and support engineering teams at Zalando to pick the best technologies for new projects; it provides a platform to share knowledge and experience in technologies, to reflect on technology decisions and continuously evolve our technology landscape. Based on the pioneering work of ThoughtWorks, our Tech Radar sets out the changes in technologies that are interesting in software development — changes that we think our engineering teams should pay attention to and consider using in their projects.

It serves and scales well for teams and companies of all sizes that want to have alignment across dozens of technologies and visualize it in a simple way.

Include the Component in Spotify Backstage

Install

For either simple or advanced installations, you'll need to add the dependency using Yarn:

From your Backstage root directory:

yarn --cwd packages/app add tech-radar-editor

Configuration

Modify your app routes to include the Router component exported from the tech radar, for example:

// In packages/app/src/App.tsx
import 'tech-radar-editor';

const routes = (
  <FlatRoutes>
    {/* ...other routes */}
    <Route
      path="/tech-radar-editor"
      element={<tech-radar-editor></tech-radar-editor>}
    />

Consume the Component in Plain JavaScript

Include the component in an HTML file:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Tech Radar Editor</title>
    <script type="module" src="./tech-radar-editor.es.js"></script>
  </head>
  <body>
    <tech-radar-editor></tech-radar-editor>
  </body>
</html>

Consume the Component in React

In a React project, you can use the web component as you would use any custom HTML element.

First, ensure that the component is imported or included:

// index.js
import React from "react";
import ReactDOM from "react-dom";
import "./index.css";

// Import the component
import "tech-radar-editor";

function App() {
  return (
    <div className="App">
      <tech-radar-editor></tech-radar-editor>
    </div>
  );
}

ReactDOM.render(<App />, document.getElementById("root"));

Note: In React, you might need to instruct TypeScript about the custom element. Create a react-app-env.d.ts or a global.d.ts file:

// react-app-env.d.ts
declare namespace JSX {
  interface IntrinsicElements {
    "tech-radar-editor": any;
  }
}

Building the Component

To build the component, you need to have Node.js installed. Clone the repository and run the following commands:

pnpm install
pnpm build

To get it ready to add to NPM or a CDN, run:

pnpm build
pnpm pack

You can then test the package locally.

To publish the component to NPM, run:

npm login
npm publish