Git Product home page Git Product logo

backstage-plugin-toolbox's Introduction

backstage-plugin-toolbox

CI

Backstage.io plugin for toolbox. This plugin provides frontend that allows developers to use development related tools easily within backstage.

Setup

Find installation instructions in our documentation.

Examples

Example 1

backstage-plugin-toolbox's People

Contributors

bforbis avatar brianphillips avatar brunopenso avatar cabreraction avatar clanghout avatar dependabot[bot] avatar dougamaral avatar dpfaffenbauer avatar drodil avatar dweber019 avatar efenner-cambia avatar jgoggers avatar ma11hewthomas avatar prasoon-pxc avatar tanoggy avatar tenst avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

backstage-plugin-toolbox's Issues

Question: Difference between this entity validator and @backstage/plugin-entity-validation?

I am looking to start using this plugin, however I'm a bit confused about what I should do with my existing use of @backstage/plugin-entity-validation.

I see the implementation here does not follow the same approach in @backstage/plugin-entity-validation.

The (official?) plugin seems to make a request to the catalog API for entity validation. I assume this allows for some sort of customization on entity validation by the backstage implementers?

Bug Report: JwtDecoder Incorrect issued and expiration date

Tool - JWT Decoder
Error - Incorrect issued and expiration date in output

Steps to reproduce:

Go to the JWT decode tool.
Click the "Sample" button.
Date shows as Sun Jan 18 1970 14:10:39 GMT+0100 (Greenwich Mean Time)

Expected outcome:
Thu Jan 18 2018 01:30:22 GMT+0000 (Greenwich Mean Time)

Cause:
The value of jwtPayload.iat seems to be in seconds, whereas the Date constructor expects the value to be in milliseconds.

image

feat: color converter

Tool that allows converting colors between the following formats: RGB, hex, HTML color name, HSV, HSL and CMYK.

chore: separate common types to react plugin

There's a need for new react plugin that exposes only the Tool type to be used for custom tools made by users of this plugin. Check also if there's other interfaces that might be needed for the common plugin.

Grok pattern generator

Have a suggestion on a tool that accepts log text as input and provide grok pattern as output. This is quite a common requirement at a lot of companies and would be quite a useful addition to this plugin. Not sure on the implementation, but since it is a quite common thing there is probably some open source examples on how it works.

feat: allow registering external tools

To allow organizations to also use their own tools in this plugin, it should be possible to pass an array of extra plugins to the page. Each plugin should have a name and component which renders the actual plugin and those would be appended to the list of tools.

backstage version bump is not possible - createCardExtension should be imported from @backstage/plugin-home-react

Hi @drodil.
It seems that now createCardExtension should be imported from @backstage/plugin-home-react instead of @backstage/plugin-home

This issue is this as it's impacting the ability to upgrade to the latest version of Backstage.

This line

import { createCardExtension } from '@backstage/plugin-home';

Should be changed to

 import { createCardExtension } from '@backstage/plugin-home-react'; 

Just like you did in the qeta plugin

You can see similar and related issues across other repositories

Ability to customize WelcomePage

The default welcome page is a nice start, but personally I find the sea of cards very distracting. I'd also like to customize the welcome text with instruction on how employees at my company can contribute more tools to the tool box.

It would be great if we could fully override the welcome page.

feat: allow selecting favorite tools

In the list it would be possible to "star" the tools that are used most and those would then be always first in the list. localStorage could be used to save the favorite tools selection.

Bug Report: Type 'Tool' is not exported

Type 'Tool' is not exported in backstage-plugin-toolbox plugin. Type can help a user add a new tool. (We can ignore the error with // @ts-ignore but thats not expected.

TS2459: Module '"@drodil/backstage-plugin-toolbox"' declares 'Tool' locally, but it is not exported.

feat: markdown preview

A new tool that would take markdown input and show the preview next to it. There Is MarkdownContent component in the @backstage/core-components so that would be easy to utilize here.

feat: allow opening tools in popup / new window

This would mean that there is actually a router behind each tool that would then render only that tool's component. In the list or in the tool itself should be a possibility to open it in a new window without any other stuff in the backstage instance but the tool itself.

Searching "JWT" should return the "JSON Web Token" tool

Description

I realize the search is very basic here, but it is very idiomatic to call "JSON Web Tokens" JWTs, so it would be good if this tool showed up when a user types in that search term.

Example: Search on "Token". Finds the tool.
image

Example: Search on "jwt". Does not find the tool.
image

feat: allow excluding tools

Each tool should have an unique id. This id can be used to exclude tools from the backstage app by passing a list of excluded tool ids to the Toolbox component.

Rich Text to Markdown converter doesn't work (anymore)

I recently submitted a PR that was merged (#58) but it appears that the contents of the change were almost entirely ripped out in a subsequent commit (see here). I'm wondering if this was inadvertant (probably?) or if I put things back together, if there's something I need to take into account to avoid breaking something else or from having someone undo the work I did.

Just wanted to check before I reverted what was done to that specific tool.

Thanks!

feat: timer alert

I would like to have some kind of chime or alert when the countdown timer reaches 0:00:00. Without an alert when it is done, the utility is significantly reduced.

Is this possible already? If so, it would be great to surface the relevant documentation

CSS issue in the container

Hi! I'm testing your plugin for Backstage and I have and issue with the container of the tools.

In theory should be on top of the page near the tools sidebar but I have it always at the very bottom after the sidebar of the tools.

image

Looks like some css property not working good. I played around with the flex-wrap property to non-wrap in the browser and It looks like the issue gones after that change but not really sure if that its the problem.

image

This only happens to me when full screen (1920x1080 right now) if you make smaller the browser the issue not appears

Can you please try to see if you can reproduce it? I will love to have your plugin showing correctly and use it , thank you so much!

Suggestion: Recommend CardTravel MUI4 icon in installation docs

The CardTravel icon from https://v4.mui.com/components/material-icons/ looks kind of like a toolbox (I think it's actually a credit card with a handle, which is kind of odd??).

image

I chose to use this in my installation because I'm already using the DevTools plugin which already makes use of the Build MUI4 icon and didn't want users to get confused.

import CardTravel from '@material-ui/icons/CardTravel';

As an aside note, I kind of wish the devtools plugin was just extra tabs under user settings to not overload the sidebar with another icon, but that's a separate issue entirely.

feature request: Image Converter Tool

As developers and designers image conversion tools with resizing support is more helpful

  1. SVG to PNG
  2. PNG to SVG
  3. PNG to JPG
  4. JPG to PNG
  5. SVG to JPG
  6. JPG to SVG

Question: plan for moving to mui v5?

Hello,

As I see it, the toolbox is on mui v4. Do you have any plans on moving to mui v5 or accomodating it?

I ask as we run into some styling issues as most of our application is on mui v5 and the necessary overrides we have in place affect the styling in the toolbox.

(Also open to creating a PR)

Thanks!

QR code generator fails for more than 23648 characters

Hey :)

by accident we found out, that the QR code generator throws an error for contents with more than 23648 characters.
Of course this is no valid usecase. But maybe a nice more user friendly error message could be shown instead of:

Error
Error

Message
code length overflow. (23780>23648)

Stack Trace
Error: code length overflow. (23780>23648)

feat: Barcode generator

Tool that generates barcodes from input. At least the most used formats should be implemented: Code-128, Code-11, Code-39, Code-93, ISBN 13, EAN-9, EAN-13, EAN-14. Other formats are a plus.

feat: QR code generator

Tool that generates QR code based on the input. QR code types that at least should be supported are URL, VCARD, Email, Event, Geo coordinate, Plain text, SMS, Telephone and WiFi. Additionally allow user to select the amount of error correction for the generated code.

json2csv package abandoned

The following warning emits when installing this plugin

warning @drodil/backstage-plugin-toolbox > [email protected]: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

Seems like this package is no longer supported and usage should be moved to

https://www.npmjs.com/package/@json2csv/plainjs

Alternatively you could use other packages such as papaparse which provide both stringify / parse all in one single package.

Question: Entity Describer vs Entity Inspector

Backstage already has the Entity Inspector tool built into the main entity page which is a much richer experience than what is provided by this plugin's entity describer tool.

Entity Inspector Screenshot

image

image

To me it feels like the entity describer tool should be replaced with the entity inspector tool, or removed entirely.

Entity describer shows wrong order in yaml format

I have noticed the entity describer shows the properties in the wrong order on users, groups, website and possibly other type of entities. I assume this is just a simple change in the way the data is displayed

bug: build fails in Backstage app

Build fails when adding the 1.9.1 version to backstage app:

ERROR: Big integer literals are not available in the configured target environment ("es2019")

This is due to dependency of ip-num using bit integers.

Bug Report: Encode/Decode URL - URI malformed error occurs when URI encoding or decoding wasn't successful.

Hello,

Thank you for creating a very useful plugin!!

Tool: Encode/Decode - URL
Error: URIError: URI malformed

Description:
I encountered an error while using the Encode/Decode - URL tool. When I try to encode or decode a URL by typing, if the encodeURI / decodeURI is unable encode or decode properly, it returns a URI malformed error that isn't handled.

Steps to reproduce:

  1. Go to the Encode/Decode - URL tool.
  2. Click on the "Decode" button.
  3. Click the "Sample" button.
  4. Add % character to the end of the sample URL
  5. URIError: URI malformed occurs

image

feat: allow extra tools on custom homepage card

Thanks a lot for this plugin! I like it a lot and am busy convincing my team we need this one in our backstage.

My feature request is that I added a custom tool to the toolbox and would like to be able to use it on the homepage via your plugin.

Happy to give this a try if you think this is feasible.

Re-Export "ReactTool" type from @drodil/backstage-plugin-toolbox

The @drodil/backstage-plugin-toolbox exports Tool which is marked as deprecated.

The instructions are to consume Tool from @drodil/backstage-plugin-toolbox-react directly instead, but this creates an awkward situation because that package is not accessible unless you install it manually and then you open yourself up to version drift ( I know package managers can usually handle this, but seems unnecessary). That also just prevents package.json bloat in general.

Proposal:

  • Delete exported deprecated "Tool" type
  • Re-Export ReactTool without re-aliasing, ie: just call it Tool

Favorites section should pin to the top of side bar

When you star a tool, it surfaces to the top of the card view of the main toolbox home, but the favorites category should also be pinned to the top of the sidebar for easy access. Currently it is alphabetical and shows up pretty far down.

image

CSP error loading File Diff tool

When accessing the File Diff tool, we are getting a CSP error trying to access monaco-editor js.

Refused to load the script 'https://cdn.jsdelivr.net/npm/[email protected]/min/vs/loader.js' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

Maybe monaco-editor could be hosted locally rather than going to cdn?

feat: WHOIS lookup

Tool that allows fetching WHOIS information of a domain. Should be under Networking category.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.