Update script and initial run

Signed-off-by: Andre Wanlin <awanlin@spotify.com>
This commit is contained in:
Andre Wanlin
2026-02-16 17:43:09 -06:00
parent af4511c376
commit e0b8296067
61 changed files with 204 additions and 87 deletions
@@ -8,4 +8,5 @@ documentation: https://github.com/quantummetric/analytics-module-qm/blob/main/RE
iconUrl: /img/qm-icon.png
npmPackageName: '@quantum-metric/plugin-analytics-module-qm'
addedDate: '2024-03-15'
status: active
status: inactive
age: 683
@@ -6,6 +6,7 @@ category: Development
description: Generate SDKs for your REST API to accelerate integration
documentation: https://github.com/konfig-dev/backstage-plugin-konfig/tree/main/plugins/backstage-plugin-konfig
iconUrl: https://raw.githubusercontent.com/konfig-dev/backstage-plugin-konfig/main/plugins/backstage-plugin-konfig/docs/logo.png
npmPackageName: 'backstage-plugin-konfig'
npmPackageName: backstage-plugin-konfig
addedDate: '2023-08-07'
status: active
status: inactive
age: 928
+2 -1
View File
@@ -10,4 +10,5 @@ documentation: https://github.com/StageCentral/backstage-artifactory-plugin/tree
iconUrl: https://raw.githubusercontent.com/StageCentral/backstage-artifactory-plugin/main/logo/logo.png
npmPackageName: '@stagecentral/plugin-artifactory'
addedDate: '2023-08-23'
status: active
status: inactive
age: 661
@@ -6,6 +6,7 @@ category: Infrastructure
description: Load Backstage entities from AWS CloudFormation stacks
documentation: https://github.com/purple-technology/backstage-aws-cloudformation-plugin#readme
iconUrl: https://raw.githubusercontent.com/purple-technology/backstage-aws-cloudformation-plugin/master/docs/cloudformation-logo.png
npmPackageName: 'backstage-aws-cloudformation-plugin'
npmPackageName: backstage-aws-cloudformation-plugin
addedDate: '2021-08-30'
status: active
status: inactive
age: 953
+3 -2
View File
@@ -5,7 +5,8 @@ authorUrl: https://vipps.no
category: Infrastructure
description: A plugin showing Azure resource groups and security recommendations in relation to an entity in the catalog.
documentation: https://github.com/vippsas/backstage-azure-resource-frontend
iconUrl: '/img/logo-gradient-on-dark.svg'
iconUrl: /img/logo-gradient-on-dark.svg
npmPackageName: '@vippsno/plugin-azure-resources'
addedDate: '2022-09-05'
status: active
status: inactive
age: 697
@@ -1,5 +1,5 @@
---
title: 'Azure Spring Apps'
title: Azure Spring Apps
author: Enfuse
authorUrl: https://enfuse.io/
category: Discovery
@@ -8,4 +8,5 @@ documentation: https://github.com/enfuse/asae-backstage-plugin/blob/main/README.
iconUrl: /img/enfuse.png
npmPackageName: '@enfuse/plugin-azure-spring-apps'
addedDate: '2022-11-21'
status: active
status: inactive
age: 1039
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/benwilcock/backstage-plugin-backchat
iconUrl: /img/backchat-logo.png
npmPackageName: '@benbravo73/backstage-plugin-backchat'
addedDate: '2024-01-12'
status: active
status: inactive
age: 770
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://www.npmjs.com/package/@marcinguy/backstage-plugin-betters
iconUrl: https://uploads-ssl.webflow.com/6339e3b81867539b5fe2498d/633a1643dcb06d3029867161_g4.svg
npmPackageName: '@marcinguy/backstage-plugin-betterscan'
addedDate: '2022-12-08'
status: active
status: inactive
age: 1165
+3 -2
View File
@@ -6,6 +6,7 @@ category: Discovery
description: Share interesting ideas, news and links with your teammates within Backstage.
documentation: https://github.com/v-ngu/backstage-plugin-bulletin-board
iconUrl: /img/bulletin-board.png
npmPackageName: 'backstage-plugin-bulletin-board'
npmPackageName: backstage-plugin-bulletin-board
addedDate: '2023-04-01'
status: active
status: inactive
age: 1006
@@ -1,5 +1,5 @@
---
title: 'ChatGPT Playground'
title: ChatGPT Playground
author: Enfuse
authorUrl: https://enfuse.io/
category: Development
@@ -8,4 +8,5 @@ documentation: https://github.com/enfuse/backstage-chatgpt-plugin/blob/main/READ
iconUrl: /img/enfuse.png
npmPackageName: '@enfuse/chatgpt-plugin-frontend'
addedDate: '2023-05-23'
status: active
status: inactive
age: 929
@@ -8,4 +8,5 @@ documentation: https://github.com/cloud-carbon-footprint/ccf-backstage-plugin/bl
iconUrl: https://www.cloudcarbonfootprint.org/img/logo.png
npmPackageName: '@cloud-carbon-footprint/backstage-plugin-frontend'
addedDate: '2022-05-03'
status: active
status: inactive
age: 378
+3 -2
View File
@@ -6,6 +6,7 @@ category: Orchestration
description: Cloudify provides a remote execution and environment management backend for Kubernetes, Terraform, Ansible, etc.
documentation: https://github.com/cloudify-cosmo/backstage-cloudify-plugin#readme
iconUrl: https://avatars.githubusercontent.com/u/6260555?s=200&v=4
npmPackageName: 'plugin-cloudify'
npmPackageName: plugin-cloudify
addedDate: '2022-05-31'
status: active
status: inactive
age: 1363
@@ -8,4 +8,5 @@ documentation: https://github.com/codacy/backstage-plugin/blob/main/README.md
iconUrl: /img/codacy-icon.svg
npmPackageName: '@codacy/backstage-plugin'
addedDate: '2024-04-19'
status: active
status: inactive
age: 669
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/cyclops-ui/backstage-plugins#readme
iconUrl: /img/cyclops.svg
npmPackageName: '@cyclopsui/backstage-plugin-cyclops-modules'
addedDate: '2024-01-02'
status: active
status: inactive
age: 407
+3 -2
View File
@@ -5,7 +5,8 @@ authorUrl: https://github.com/IIBenII
category: Discovery
description: View dbt models and tests documentation.
documentation: https://github.com/IIBenII/backstage-plugin-dbt
iconUrl: '/img/logo-gradient-on-dark.svg'
iconUrl: /img/logo-gradient-on-dark.svg
npmPackageName: '@iiben_orgii/backstage-plugin-dbt'
addedDate: '2023-04-27'
status: active
status: inactive
age: 640
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/TRIMM/plugin-dependencytrack/blob/main/README.
iconUrl: https://avatars.githubusercontent.com/u/40258585?s=200&v=4
npmPackageName: '@trimm/plugin-dependencytrack'
addedDate: '2022-09-06'
status: active
status: inactive
age: 623
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/piatkiewicz/backstage-plugins/tree/main/dev-fr
iconUrl: /img/dev-friends-days.jpeg
npmPackageName: '@piatkiewicz/backstage-dev-friends-days'
addedDate: '2024-02-28'
status: active
status: inactive
age: 719
+6 -5
View File
@@ -1,11 +1,12 @@
---
title: Docker tags
author: Workm8
authorUrl: 'https://github.com/work-m8'
authorUrl: https://github.com/work-m8
category: Services
description: 'Creates a list of docker tags based on hub.docker.com'
documentation: 'https://github.com/Work-m8/backstage-docker-plugin/blob/main/README.md'
iconUrl: 'https://raw.githubusercontent.com/Work-m8/.github/main/profile/wm_logo.png'
description: Creates a list of docker tags based on hub.docker.com
documentation: https://github.com/Work-m8/backstage-docker-plugin/blob/main/README.md
iconUrl: https://raw.githubusercontent.com/Work-m8/.github/main/profile/wm_logo.png
npmPackageName: '@workm8/backstage-docker-tags'
addedDate: '2023-10-24'
status: active
status: inactive
age: 574
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/env0/env0-backstage-plugin
iconUrl: https://avatars.githubusercontent.com/u/46656519?s=200&v=4
npmPackageName: '@env0/backstage-plugin-env0'
addedDate: '2025-01-15'
status: active
status: inactive
age: 370
+3 -2
View File
@@ -6,6 +6,7 @@ category: Humor
description: Festive, seasonal, animations to spice up your instance of Backstage!
documentation: https://github.com/benjmac/backstage-plugin-festive-fun/
iconUrl: https://raw.githubusercontent.com/benjmac/backstage-plugin-festive-fun/main/docs/festive-fun-logo.png
npmPackageName: 'backstage-plugin-festive-fun'
npmPackageName: backstage-plugin-festive-fun
addedDate: '2023-11-20'
status: active
status: inactive
age: 801
@@ -8,4 +8,5 @@ documentation: https://roadie.io/backstage/plugins/firebase-functions/?utm_sourc
iconUrl: https://roadie.io/images/logos/firebase.png
npmPackageName: '@roadiehq/backstage-plugin-firebase-functions'
addedDate: '2021-04-20'
status: active
status: inactive
age: 598
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/weaveworks/weaveworks-backstage/tree/main/plug
iconUrl: https://raw.githubusercontent.com/fluxcd/website/main/assets/icons/logo.svg
npmPackageName: '@weaveworksoss/backstage-plugin-flux'
addedDate: '2023-08-23'
status: active
status: inactive
age: 808
@@ -8,4 +8,5 @@ documentation: https://github.com/adityasinghal26/backstage-plugins/tree/main/pl
iconUrl: https://avatars.githubusercontent.com/u/9919?s=200&v=4
npmPackageName: '@adityasinghal26/plugin-github-codespaces'
addedDate: '2023-12-30'
status: active
status: inactive
age: 702
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/beejiujitsu/wealthsimple-backstage-plugins/tre
iconUrl: /img/glean-logo-circular-white.png
npmPackageName: '@beejiujitsu/backstage-plugin-glean-backend'
addedDate: '2024-12-30'
status: active
status: inactive
age: 413
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/thefrontside/playhouse/blob/main/plugins/graph
iconUrl: https://raw.githubusercontent.com/thefrontside/frontside.com/production/legacy/src/img/frontside-logo.png
npmPackageName: '@frontside/backstage-plugin-graphql-backend'
addedDate: '2024-05-01'
status: active
status: inactive
age: 493
+3 -2
View File
@@ -6,6 +6,7 @@ category: Discovery
description: Easily view and test your gRPC API with a GUI Client, inspired from BloomRPC application.
documentation: https://github.com/zalopay-oss/backstage-grpc-playground
iconUrl: https://raw.githubusercontent.com/zalopay-oss/backstage-grpc-playground/main/images/gprc-logo.png
npmPackageName: 'backstage-grpc-playground'
npmPackageName: backstage-grpc-playground
addedDate: '2022-06-08'
status: active
status: inactive
age: 1268
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/BESTSELLER/backstage-plugin-harbor/blob/master
iconUrl: https://raw.githubusercontent.com/cncf/artwork/master/projects/harbor/icon/color/harbor-icon-color.svg
npmPackageName: '@bestsellerit/backstage-plugin-harbor'
addedDate: '2022-06-23'
status: active
status: inactive
age: 1134
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/hoophq/backstage-plugin
iconUrl: https://avatars.githubusercontent.com/u/113131551?s=200&v=4
npmPackageName: '@hoophq/backstage-plugin'
addedDate: '2022-12-20'
status: active
status: inactive
age: 1153
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/croz-ltd/apic-backend-plugin?utm_source=backst
iconUrl: https://croz.net/app/uploads/2024/05/apple-touch-icon.png
npmPackageName: '@croz/plugin-ibm-apic-backend'
addedDate: '2024-03-01'
status: active
status: inactive
age: 717
@@ -3,12 +3,10 @@ title: JFrog Artifactory Libs plugin
author: Vity
authorUrl: https://github.com/Vity01
category: Discovery
description:
frontend plugin provides a simple way to display generated artifact (library) details like
- group, artifact, repository, what is the latest version, and it simply
allows to copy library definition for the package managers.
description: frontend plugin provides a simple way to display generated artifact (library) details like - group, artifact, repository, what is the latest version, and it simply allows to copy library definition for the package managers.
documentation: https://github.com/Vity01/backstage-jfrog-artifactory-libs
iconUrl: https://raw.githubusercontent.com/Vity01/backstage-jfrog-artifactory-libs/main/doc/artifactory.svg
npmPackageName: 'backstage-plugin-jfrog-artifactory-libs'
npmPackageName: backstage-plugin-jfrog-artifactory-libs
addedDate: '2023-08-14'
status: active
status: inactive
age: 532
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/suxess-it/backstage-plugin-k8sgpt/blob/main/RE
iconUrl: https://raw.githubusercontent.com/k8sgpt-ai/k8sgpt/1a81227d6148be59b7b9ae4e9ae5e2d9a5b7a9ae/images/banner-white.png
npmPackageName: '@suxess-it/backstage-plugin-k8sgpt'
addedDate: '2023-06-05'
status: active
status: inactive
age: 865
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://janus-idp.io/plugins/kiali
iconUrl: /img/kiali.svg
npmPackageName: '@janus-idp/backstage-plugin-kiali'
addedDate: '2023-07-25'
status: active
status: inactive
age: 439
@@ -8,4 +8,5 @@ documentation: https://github.com/GoogleContainerTools/kpt-backstage-plugins/tre
iconUrl: https://github.com/GoogleContainerTools/kpt/blob/main/logo/KptLogoSmall.png?raw=true
npmPackageName: '@kpt/backstage-plugin-cad'
addedDate: '2022-05-13'
status: active
status: inactive
age: 1167
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/suxess-it/backstage-plugin-kubecost/blob/main/
iconUrl: https://avatars.githubusercontent.com/u/45108136?s=200&v=4
npmPackageName: '@suxess-it/backstage-plugin-kubecost'
addedDate: '2023-06-29'
status: active
status: inactive
age: 666
@@ -8,4 +8,5 @@ documentation: https://github.com/AntoineDao/backstage-provider-kubernetes#readm
iconUrl: https://avatars.githubusercontent.com/u/13629408
npmPackageName: '@antoinedao/backstage-provider-kubernetes'
addedDate: '2023-04-10'
status: active
status: inactive
age: 1043
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/kubevela-contrib/backstage-plugin-kubevela
iconUrl: https://kubevela.io/img/logo.svg
npmPackageName: '@oamdev/plugin-kubevela-backend'
addedDate: '2023-02-12'
status: active
status: inactive
age: 1107
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/immobiliare/backstage-plugin-ldap-auth/blob/ma
iconUrl: https://avatars.githubusercontent.com/u/10090828
npmPackageName: '@immobiliarelabs/backstage-plugin-ldap-auth'
addedDate: '2022-09-05'
status: active
status: inactive
age: 486
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/anakzr/backstage-plugin-library-check
iconUrl: /img/library-check-logo.png
npmPackageName: '@anakz/backstage-plugin-library-check'
addedDate: '2024-03-11'
status: active
status: inactive
age: 657
+3 -2
View File
@@ -6,6 +6,7 @@ category: Chaos Engineering
description: This plugin lets you view the status of Litmus resources and launch Chaos Experiments directly inside Backstage.
documentation: https://github.com/litmuschaos/backstage-plugin/blob/master/README.md
iconUrl: https://raw.githubusercontent.com/cncf/artwork/master/projects/litmus/icon/color/litmus-icon-color.svg
npmPackageName: 'backstage-plugin-litmus'
npmPackageName: backstage-plugin-litmus
addedDate: '2023-10-06'
status: active
status: inactive
age: 714
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/DevoteamNL/opendora/tree/main/backstage-plugin
iconUrl: /img/open-dora-icon.png
npmPackageName: '@devoteam-nl/open-dora-backstage-plugin'
addedDate: '2023-11-29'
status: active
status: inactive
age: 672
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/K-Phoen/backstage-plugin-opsgenie/
iconUrl: https://avatars.githubusercontent.com/u/1818843?s=200&v=4
npmPackageName: '@k-phoen/backstage-plugin-opsgenie'
addedDate: '2022-03-13'
status: active
status: inactive
age: 1083
@@ -8,4 +8,5 @@ documentation: https://github.com/OpsLevel/backstage-plugin
iconUrl: https://avatars.githubusercontent.com/u/44910550?s=200&v=4
npmPackageName: backstage-plugin-opslevel-maturity
addedDate: '2022-12-07'
status: active
status: inactive
age: 831
+2 -1
View File
@@ -9,4 +9,5 @@ documentation: https://docs.ozone.one/ozone-end-user-guide/~/changes/7YIrhOgqbpK
iconUrl: /img/ozone-logo.png
npmPackageName: '@ozonecloud/plugin-ozone'
addedDate: '2023-06-14'
status: active
status: inactive
age: 956
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://docs.rafay.co/backstage/setup/
iconUrl: https://avatars.githubusercontent.com/u/33210764?s=200&v=4
npmPackageName: '@rafaysystems/backstage-plugin-rafay'
addedDate: '2023-08-24'
status: active
status: inactive
age: 615
@@ -8,4 +8,5 @@ documentation: https://github.com/alefcarlos/plusultra-dotnet-backstage-plugins/
iconUrl: /img/scaffolder-backend-dotnet-icon.png
npmPackageName: '@plusultra/plugin-scaffolder-dotnet-backend'
addedDate: '2022-01-24'
status: active
status: inactive
age: 1059
@@ -8,4 +8,5 @@ documentation: https://github.com/arhill05/backstage-plugin-scaffolder-git-actio
iconUrl: https://git-scm.com/images/logos/downloads/Git-Logo-2Color.png
npmPackageName: '@mdude2314/backstage-plugin-scaffolder-git-actions'
addedDate: '2022-05-13'
status: active
status: inactive
age: 812
@@ -3,11 +3,10 @@ title: Cisco Webex Scaffolder Actions
author: Robert Lindley
authorUrl: https://github.com/Coderrob
category: Scaffolder
description: >-
A Backstage.io plugin that enables sending Webex messages via
Incoming Webhooks within scaffolder templates.
description: A Backstage.io plugin that enables sending Webex messages via Incoming Webhooks within scaffolder templates.
documentation: https://github.com/Coderrob/backstage-plugin-scaffolder-backend-module-webex
iconUrl: '/img/logo-gradient-on-dark.svg'
iconUrl: /img/logo-gradient-on-dark.svg
npmPackageName: '@coderrob/backstage-plugin-scaffolder-backend-module-webex'
addedDate: '2024-09-04'
status: active
status: inactive
age: 533
@@ -8,4 +8,5 @@ documentation: https://github.com/redhat-developer/backstage-odo-devfile-plugin/
iconUrl: https://odo.dev/img/logo.png
npmPackageName: '@redhat-developer/plugin-scaffolder-odo-actions'
addedDate: '2023-12-08'
status: active
status: inactive
age: 789
@@ -8,4 +8,5 @@ documentation: https://github.com/arhill05/backstage-plugin-scaffolder-backend-m
iconUrl: /img/Slack-mark-RGB.png
npmPackageName: '@mdude2314/backstage-plugin-scaffolder-backend-module-slack'
addedDate: '2023-08-04'
status: active
status: inactive
age: 538
@@ -8,4 +8,5 @@ documentation: https://github.com/redhat-developer/backstage-odo-devfile-plugin/
iconUrl: https://landscape.cncf.io/logos/devfile.svg
npmPackageName: '@redhat-developer/plugin-scaffolder-frontend-module-devfile-field'
addedDate: '2023-12-08'
status: active
status: inactive
age: 789
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/Oriflame/backstage-plugins/tree/main/plugins/s
iconUrl: /img/score-card-plugin-logo.png
npmPackageName: '@oriflame/backstage-plugin-score-card'
addedDate: '2022-10-06'
status: active
status: inactive
age: 501
@@ -8,4 +8,5 @@ documentation: https://github.com/arhill05/backstage-plugin-search-backend-modul
iconUrl: /img/ado-wiki-search-icon.png
npmPackageName: '@mdude2314/backstage-plugin-search-backend-module-azure-devops-wiki'
addedDate: '2023-06-13'
status: active
status: inactive
age: 634
+3 -2
View File
@@ -6,6 +6,7 @@ category: Humor
description: Can I deploy this plugin if it's Friday? Oh, hell no!!!
documentation: https://github.com/NandoRFS/backstage-plugin-should-i-deploy/
iconUrl: /img/should-i-deploy-logo.png
npmPackageName: 'backstage-plugin-should-i-deploy'
npmPackageName: backstage-plugin-should-i-deploy
addedDate: '2023-11-05'
status: active
status: inactive
age: 832
@@ -8,4 +8,5 @@ documentation: https://github.com/solo-io/backstage-plugins-overview#readme
iconUrl: /img/solo-io-glooy-circle.png.webp
npmPackageName: '@solo.io/dev-portal-backstage-plugin'
addedDate: '2023-05-19'
status: active
status: inactive
age: 935
@@ -1,3 +1,4 @@
---
title: Statusneo GitHub Plugin
author: Statusneo
authorUrl: https://statusneo.com/
@@ -7,4 +8,5 @@ documentation: https://github.com/StatusNeo/backstage-plugin-github
iconUrl: /img/github-statusneo.png
npmPackageName: '@statusneo/backstage-plugin-github'
addedDate: '2023-02-15'
status: active
status: inactive
age: 903
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/sysdiglabs/backstage-plugin-sysdig/blob/main/R
iconUrl: https://sysdig.com/wp-content/uploads/sysdig-logo-new-white.svg
npmPackageName: '@sysdig/backstage-plugin-sysdig'
addedDate: '2024-03-06'
status: active
status: inactive
age: 483
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/jquad-group/backstage-jquad#readme
iconUrl: https://raw.githubusercontent.com/jquad-group/backstage-jquad/main/img/tekton-horizontal-color.png
npmPackageName: '@jquad-group/plugin-tekton-pipelines'
addedDate: '2022-08-08'
status: active
status: inactive
age: 1016
+2 -1
View File
@@ -8,4 +8,5 @@ documentation: https://github.com/tduniec/backstage-timesaver-plugin/blob/main/R
iconUrl: https://raw.githubusercontent.com/tduniec/backstage-timesaver-plugin/main/img/tsLogo.png
npmPackageName: '@tduniec/backstage-plugin-time-saver'
addedDate: '2024-01-30'
status: active
status: inactive
age: 410
+3 -2
View File
@@ -1,7 +1,7 @@
---
title: Torque
author: Quali
authorUrl: 'https://www.qtorque.io/'
authorUrl: https://www.qtorque.io/
category: Orchestration
description: |
Deploy the environments you need to keep building, testing and delivering incredible code.
@@ -10,4 +10,5 @@ documentation: https://github.com/QualiTorque/torque-backstage-plugin/tree/main/
iconUrl: https://user-images.githubusercontent.com/8643801/214640977-751bc338-6b77-40a0-a897-cba41b6f006a.png
npmPackageName: '@qtorque/backstage-torque-plugin'
addedDate: '2023-01-25'
status: active
status: inactive
age: 1118
+63 -2
View File
@@ -34,15 +34,22 @@ function getAge(npmModified) {
return Math.round(ageDif / (1000 * 60 * 60 * 24));
}
async function main() {
async function main(args) {
const rootPath = resolve(__dirname, '..');
const pluginDataPath = resolve(rootPath, 'microsite/data/plugins');
const auditMode = args.includes('--audit');
console.log(__dirname, rootPath, pluginDataPath);
if (auditMode) {
console.log('Running in AUDIT mode - will update plugin YAML files');
}
const pluginDataFiles = fs.readdirSync(pluginDataPath);
const pluginsData = [];
const updatedPlugins = [];
for (const pluginDataFile of pluginDataFiles) {
const pluginDataFilePath = resolve(pluginDataPath, pluginDataFile);
const pluginDataYaml = yaml.load(
@@ -54,18 +61,72 @@ async function main() {
);
const npmPackage = await getNpmPackage(pluginDataYaml.npmPackageName);
const age = getAge(npmPackage.time?.modified);
const pluginData = {
npmPackageName: pluginDataYaml.npmPackageName,
npmCreated: npmPackage.time?.created,
npmModified: npmPackage.time?.modified,
age: getAge(npmPackage.time?.modified),
age: age,
currentStatus: pluginDataYaml.status,
};
// Update plugin YAML if in audit mode
if (auditMode) {
let newStatus = pluginDataYaml.status;
let statusChanged = false;
// If status is inactive, change to archived
if (pluginDataYaml.status === 'inactive') {
newStatus = 'archived';
statusChanged = true;
}
// If age > 365 and status is active, change to inactive
else if (age > 365 && pluginDataYaml.status === 'active') {
newStatus = 'inactive';
statusChanged = true;
}
if (statusChanged) {
pluginDataYaml.status = newStatus;
pluginDataYaml.age = age;
// Write updated YAML back to file
const yamlContent = yaml.dump(pluginDataYaml, {
lineWidth: -1,
quotingType: "'",
forceQuotes: false,
});
fs.writeFileSync(pluginDataFilePath, `---\n${yamlContent}`);
updatedPlugins.push({
file: pluginDataFile,
plugin: pluginDataYaml.title,
oldStatus: pluginData.currentStatus,
newStatus: newStatus,
age: age,
});
console.log(
` ✓ Updated ${pluginDataFile}: ${pluginData.currentStatus}${newStatus} (age: ${age} days)`,
);
}
pluginData.newStatus = newStatus;
}
pluginsData.push(pluginData);
}
console.table(pluginsData);
if (auditMode && updatedPlugins.length > 0) {
console.log('\n=== Summary of Updates ===');
console.table(updatedPlugins);
console.log(`\nTotal plugins updated: ${updatedPlugins.length}`);
} else if (auditMode) {
console.log('\nNo plugins required updates.');
}
}
main(process.argv.slice(2)).catch(error => {
+1
View File
@@ -32,6 +32,7 @@ const configSchema = z.object({
addedDate: z.coerce.date(),
order: z.number().optional(),
state: z.enum('active', 'inactive', 'archived'),
age: z.number().optional(),
});
async function main() {