{"_id":"@anakz/backstage-plugin-library-check-backend","_rev":"4-53ab14c8a3162e9a3e3ce35312df6e85","name":"@anakz/backstage-plugin-library-check-backend","dist-tags":{"latest":"0.2.0"},"versions":{"0.0.1":{"name":"@anakz/backstage-plugin-library-check-backend","description":"Backstage.io Library Check plugin backend","version":"0.0.1","main":"src/index.ts","types":"src/index.ts","license":"MIT","private":false,"publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"keywords":["backstage","plugin","backend","backstage.io"],"homepage":"https://github.com/anakz/backstage-plugin-library-check","bugs":{"url":"https://github.com/anakz/backstage-plugin-library-check/issues"},"repository":{"type":"git","url":"git+https://github.com/anakz/backstage-plugin-library-check.git"},"backstage":{"role":"backend-plugin"},"prepublishOnly":"yarn tsc && yarn build","scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack","clean:hard":"rm -rf node_modules","tsc":"tsc"},"dependencies":{"@backstage/backend-common":"^0.21.2","@backstage/backend-plugin-api":"^0.6.12","@backstage/backend-tasks":"^0.5.17","@backstage/catalog-model":"^1.4.4","@backstage/config":"^1.1.1","@backstage/integration":"^1.9.0","@backstage/plugin-catalog-common":"^1.0.21","@backstage/plugin-catalog-node":"^1.7.2","@octokit/rest":"^20.0.2","@types/express":"*","axios":"^1.6.1","child-process":"^1.0.2","express":"^4.18.1","express-promise-router":"^4.1.0","git-url-parse":"^11.4.4","knex":"^3.0.0","lodash":"^4.17.21","node-fetch":"^2.6.7","p-limit":"^3.0.2","uuid":"^9.0.1","winston":"^3.2.1","xml2js":"^0.6.2","yn":"^4.0.0"},"devDependencies":{"@backstage/cli":"^0.25.2","@types/supertest":"^2.0.12","@types/uuid":"^9.0.0","msw":"^0.49.0","supertest":"^6.2.4"},"_id":"@anakz/backstage-plugin-library-check-backend@0.0.1","gitHead":"16f821daf4981eed9f08ffee3566d9b2ecb93c76","_nodeVersion":"18.19.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-4QyShIxcNBrnbsiuRIB5aFnWjwOVMm4dsxomR+RcLMMtbAc7ftEjSxb7E/WrAYejbnW1umYJlFCRxQaiej3lTQ==","shasum":"29c9595b8557424a15a41c8f1ae6939aae538bc6","tarball":"https://registry.npmjs.org/@anakz/backstage-plugin-library-check-backend/-/backstage-plugin-library-check-backend-0.0.1.tgz","fileCount":7,"unpackedSize":165073,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCghhKWAEdBoefVq347yCtP1j8g+1rcLHXUD/soe8+emQIhAKwQLENYrRTqynOpvVC0ngNrrYot9ssAdthGLU4YSz15"}]},"_npmUser":{"name":"accezar","email":"carol.carizzo@gmail.com"},"directories":{},"maintainers":[{"name":"accezar","email":"carol.carizzo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-library-check-backend_0.0.1_1710098457369_0.4994366480880661"},"_hasShrinkwrap":false},"0.0.2":{"name":"@anakz/backstage-plugin-library-check-backend","description":"Backstage.io Library Check plugin backend","version":"0.0.2","main":"src/index.ts","types":"src/index.ts","license":"MIT","private":false,"publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"keywords":["backstage","plugin","backend","backstage.io"],"homepage":"https://github.com/anakz/backstage-plugin-library-check","bugs":{"url":"https://github.com/anakz/backstage-plugin-library-check/issues"},"repository":{"type":"git","url":"git+https://github.com/anakz/backstage-plugin-library-check.git"},"backstage":{"role":"backend-plugin"},"prepublishOnly":"yarn tsc && yarn build","scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack","clean:hard":"rm -rf node_modules","tsc":"tsc"},"dependencies":{"@backstage/backend-common":"^0.21.2","@backstage/backend-plugin-api":"^0.6.12","@backstage/backend-tasks":"^0.5.17","@backstage/catalog-model":"^1.4.4","@backstage/config":"^1.1.1","@backstage/integration":"^1.9.0","@backstage/plugin-catalog-common":"^1.0.21","@backstage/plugin-catalog-node":"^1.7.2","@octokit/rest":"^20.0.2","@types/express":"*","axios":"^1.6.1","child-process":"^1.0.2","express":"^4.18.1","express-promise-router":"^4.1.0","git-url-parse":"^11.4.4","knex":"^3.0.0","lodash":"^4.17.21","node-fetch":"^2.6.7","p-limit":"^3.0.2","uuid":"^9.0.1","winston":"^3.2.1","xml2js":"^0.6.2","yn":"^4.0.0"},"devDependencies":{"@backstage/cli":"^0.25.2","@types/supertest":"^2.0.12","@types/uuid":"^9.0.0","msw":"^0.49.0","supertest":"^6.2.4"},"_id":"@anakz/backstage-plugin-library-check-backend@0.0.2","gitHead":"ed21b0f2c3b06521b4b513785033223a35d3a525","_nodeVersion":"18.19.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-2MWK1I5nzfrFXTdFuRb90lPQuwEO3VzYGN7qXFXj4F9yvHqCQnfUFLboYANF1FVSk62NC9ygClLbbnPjiFscjA==","shasum":"ef30207ce41b49b2ed38ef51c834112a4eac28b1","tarball":"https://registry.npmjs.org/@anakz/backstage-plugin-library-check-backend/-/backstage-plugin-library-check-backend-0.0.2.tgz","fileCount":7,"unpackedSize":167168,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFbJPNkcEBGh+NYIkBMso1d91aAS7cxXjWxXg2uH981fAiEAs80A0vUUrgF0F2unNfoFx30kHopdOiAiYayvxaEbZVU="}]},"_npmUser":{"name":"accezar","email":"carol.carizzo@gmail.com"},"directories":{},"maintainers":[{"name":"accezar","email":"carol.carizzo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-library-check-backend_0.0.2_1710101663633_0.11884346100121923"},"_hasShrinkwrap":false},"0.0.3":{"name":"@anakz/backstage-plugin-library-check-backend","description":"Backstage.io Library Check plugin backend","version":"0.0.3","main":"src/index.ts","types":"src/index.ts","license":"MIT","private":false,"publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"keywords":["backstage","plugin","backend","backstage.io"],"homepage":"https://github.com/anakzr/backstage-plugin-library-check","bugs":{"url":"https://github.com/anakzr/backstage-plugin-library-check/issues"},"repository":{"type":"git","url":"git+https://github.com/anakzr/backstage-plugin-library-check.git"},"backstage":{"role":"backend-plugin"},"prepublishOnly":"yarn tsc && yarn build","scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack","clean:hard":"rm -rf node_modules","tsc":"tsc"},"dependencies":{"@backstage/backend-common":"^0.21.2","@backstage/backend-plugin-api":"^0.6.12","@backstage/backend-tasks":"^0.5.17","@backstage/backend-test-utils":"^0.3.3","@backstage/catalog-model":"^1.4.4","@backstage/config":"^1.1.1","@backstage/integration":"^1.9.0","@backstage/plugin-catalog-common":"^1.0.21","@backstage/plugin-catalog-node":"^1.7.2","@octokit/rest":"^20.0.2","@types/express":"*","axios":"^1.6.1","child-process":"^1.0.2","express":"^4.18.1","express-promise-router":"^4.1.0","git-url-parse":"^11.4.4","knex":"^3.0.0","lodash":"^4.17.21","node-fetch":"^2.6.7","p-limit":"^3.0.2","uuid":"^9.0.1","winston":"^3.2.1","xml2js":"^0.6.2","yn":"^4.0.0"},"devDependencies":{"@backstage/cli":"^0.25.2","@types/supertest":"^2.0.12","@types/uuid":"^9.0.0","msw":"^0.49.0","supertest":"^6.2.4"},"_id":"@anakz/backstage-plugin-library-check-backend@0.0.3","gitHead":"9d208299f6250884de9670e2ec09eb7be37db8ad","_nodeVersion":"18.19.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-4PY1UygrLzvYa/OWVexbAxMtwxp3lzBbPTc0pw7J5WRUn2fPvQY1MpK73VNTWE0oVSxREXIGA/jMqlCLh/DdRg==","shasum":"a5279c44b0f6ef30dc00e5bb44be077ffa269ede","tarball":"https://registry.npmjs.org/@anakz/backstage-plugin-library-check-backend/-/backstage-plugin-library-check-backend-0.0.3.tgz","fileCount":8,"unpackedSize":165336,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/gKqAfu/sSBKJIc+A5IdgLZPnuw639xCCcohscni0PAIhAKyKEiA6cvVm2aDgKSUctd2si8oXI2opSk92Ls8O8kZV"}]},"_npmUser":{"name":"accezar","email":"carol.carizzo@gmail.com"},"directories":{},"maintainers":[{"name":"accezar","email":"carol.carizzo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-library-check-backend_0.0.3_1710946500935_0.04479536580735033"},"_hasShrinkwrap":false},"0.1.0":{"name":"@anakz/backstage-plugin-library-check-backend","description":"Backstage.io Library Check plugin backend","version":"0.1.0","main":"src/index.ts","types":"src/index.ts","license":"MIT","private":false,"publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"keywords":["backstage","plugin","backend","backstage.io"],"homepage":"https://github.com/anakzr/backstage-plugin-library-check","bugs":{"url":"https://github.com/anakzr/backstage-plugin-library-check/issues"},"repository":{"type":"git","url":"git+https://github.com/anakzr/backstage-plugin-library-check.git"},"backstage":{"role":"backend-plugin"},"prepublishOnly":"yarn tsc && yarn build","scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack","clean:hard":"rm -rf node_modules","tsc":"tsc"},"dependencies":{"@backstage/backend-common":"^0.21.2","@backstage/backend-plugin-api":"^0.6.12","@backstage/backend-tasks":"^0.5.17","@backstage/backend-test-utils":"^0.3.3","@backstage/catalog-model":"^1.4.4","@backstage/config":"^1.1.1","@backstage/errors":"^1.2.4","@backstage/integration":"^1.9.0","@backstage/plugin-catalog-common":"^1.0.21","@backstage/plugin-catalog-node":"^1.7.2","@octokit/rest":"^20.0.2","@types/express":"*","axios":"^1.6.1","child-process":"^1.0.2","express":"^4.18.1","express-promise-router":"^4.1.0","git-url-parse":"^11.4.4","knex":"^3.0.0","lodash":"^4.17.21","node-fetch":"^2.6.7","p-limit":"^3.0.2","uuid":"^9.0.1","winston":"^3.2.1","xml2js":"^0.6.2","yn":"^4.0.0"},"devDependencies":{"@backstage/cli":"^0.25.2","@types/supertest":"^2.0.12","@types/uuid":"^9.0.0","msw":"^0.49.0","supertest":"^6.2.4"},"_id":"@anakz/backstage-plugin-library-check-backend@0.1.0","gitHead":"0e875a16910a069b2888e2ee4facfeaa23cbf2e2","_nodeVersion":"18.19.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-wRzJrvPRgDR3/u9FZWfiP9BWptbzddZERz4+1QixStoj9pyN3xMDVJgQ8NV97wHcJGjy77fllID840212U8WDA==","shasum":"80fb2255ddcdfb8cd560d358b501a23bca3e20b7","tarball":"https://registry.npmjs.org/@anakz/backstage-plugin-library-check-backend/-/backstage-plugin-library-check-backend-0.1.0.tgz","fileCount":8,"unpackedSize":167427,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICtjqt4J/+Pe6epr84a2KRy6ybBVfqYFq42wjyZ5CaRzAiB9eerJN+S0bvea3qy5FE7MTqDM0RwmIEGii9Bsj1TXXg=="}]},"_npmUser":{"name":"accezar","email":"carol.carizzo@gmail.com"},"directories":{},"maintainers":[{"name":"accezar","email":"carol.carizzo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-library-check-backend_0.1.0_1712062058378_0.5791505927333498"},"_hasShrinkwrap":false},"0.2.0":{"name":"@anakz/backstage-plugin-library-check-backend","description":"Backstage.io Library Check plugin backend","version":"0.2.0","main":"src/index.ts","types":"src/index.ts","license":"MIT","private":false,"publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"keywords":["backstage","plugin","backend","backstage.io"],"homepage":"https://github.com/anakzr/backstage-plugin-library-check","bugs":{"url":"https://github.com/anakzr/backstage-plugin-library-check/issues"},"repository":{"type":"git","url":"git+https://github.com/anakzr/backstage-plugin-library-check.git"},"backstage":{"role":"backend-plugin"},"prepublishOnly":"yarn tsc && yarn build","scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack","clean:hard":"rm -rf node_modules","tsc":"tsc"},"dependencies":{"@backstage/backend-common":"^0.21.2","@backstage/backend-plugin-api":"^0.6.12","@backstage/backend-tasks":"^0.5.17","@backstage/backend-test-utils":"^0.3.3","@backstage/catalog-model":"^1.4.4","@backstage/config":"^1.1.1","@backstage/errors":"^1.2.4","@backstage/integration":"^1.9.0","@backstage/plugin-catalog-common":"^1.0.21","@backstage/plugin-catalog-node":"^1.7.2","@octokit/rest":"^20.0.2","@types/express":"*","axios":"^1.6.1","child-process":"^1.0.2","express":"^4.18.1","express-promise-router":"^4.1.0","git-url-parse":"^11.4.4","gradle-to-js":"^2.0.1","knex":"^3.0.0","lodash":"^4.17.21","node-fetch":"^2.6.7","p-limit":"^3.0.2","pip-requirements-js":"^0.2.1","semver":"^7.6.0","uuid":"^9.0.1","winston":"^3.2.1","xml2js":"^0.6.2","yn":"^4.0.0"},"devDependencies":{"@backstage/cli":"^0.25.2","@types/lodash":"^4.17.0","@types/supertest":"^2.0.12","@types/uuid":"^9.0.0","msw":"^0.49.0","supertest":"^6.2.4"},"_id":"@anakz/backstage-plugin-library-check-backend@0.2.0","gitHead":"db46e870a1b7e3c476a19506f687a60c416d5aa0","_nodeVersion":"18.20.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-H9+n/18+ekX2K+zl2CQbw4b3nbLWYXuTazMUePnLJpO09ZBD03e3A4Y3akTeXHwk8ziD9gj5tOLtkTvfrqOGjQ==","shasum":"30ab2b4c8ed1c58876265591f28959cc6ec56c30","tarball":"https://registry.npmjs.org/@anakz/backstage-plugin-library-check-backend/-/backstage-plugin-library-check-backend-0.2.0.tgz","fileCount":9,"unpackedSize":185704,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEbg5eCPN/LVHJBS5XCLPWvgrMDcw2sPSezTYAaWvGRwIgf4gNrb+cTpaVZsaOkaY0alj5gEtCVr0JMs2E8yWItAE="}]},"_npmUser":{"name":"accezar","email":"carol.carizzo@gmail.com"},"directories":{},"maintainers":[{"name":"accezar","email":"carol.carizzo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-library-check-backend_0.2.0_1714508244940_0.3570978901434314"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-10T19:20:57.259Z","0.0.1":"2024-03-10T19:20:57.550Z","modified":"2024-04-30T20:17:25.337Z","0.0.2":"2024-03-10T20:14:23.861Z","0.0.3":"2024-03-20T14:55:01.087Z","0.1.0":"2024-04-02T12:47:38.527Z","0.2.0":"2024-04-30T20:17:25.121Z"},"maintainers":[{"name":"accezar","email":"carol.carizzo@gmail.com"}],"description":"Backstage.io Library Check plugin backend","homepage":"https://github.com/anakzr/backstage-plugin-library-check","keywords":["backstage","plugin","backend","backstage.io"],"repository":{"type":"git","url":"git+https://github.com/anakzr/backstage-plugin-library-check.git"},"bugs":{"url":"https://github.com/anakzr/backstage-plugin-library-check/issues"},"license":"MIT","readme":"# Library Check Backend\n\nWelcome to the library-check-backend backend plugin!\n\n_This plugin was created through the Backstage CLI_\n\n\n### Setup instructions:\n\nAdd the plugin to your backend app:\n\n```bash\ncd packages/backend && yarn add @anakz/backstage-plugin-library-check-backend\n```\n\nCreate new file at packages/backend/src/plugins/libraryCheck.ts:\n\n```ts\n\n// packages/backend/src/plugins/libraryCheck.ts\n\nimport { PluginEnvironment } from '../types';\nimport { Router } from 'express';\nimport {\n  DatabaseLibraryCheckStore,\n  createRouter,\n} from '@anakz/backstage-plugin-library-check-backend';\n\nexport default async function createPlugin({\n  logger,\n  database,\n  config,\n}: PluginEnvironment): Promise<Router> {\n  const db = await DatabaseLibraryCheckStore.create({\n    database: database,\n  });\n  return await createRouter({\n    logger,\n    database: db,\n    config,\n  });\n}\n```\n\nDefine the schedules for the plugin processor and provider on packages/backend/src/plugins/catalog.ts\n\n```ts\n\n// packages/backend/src/plugins/catalog.ts\n\n// ...\nbuilder.addEntityProvider(\n\n    // add a new provider entry, configure the schedule frequency as you wish\n    // initialDelay must be up to 15s to avoid conflicts\n\n    LibraryCheckProvider.fromConfig({\n      config: env.config,\n      envId: 'production',\n      logger: env.logger,\n      discovery: env.discovery,\n      schedule: env.scheduler.createScheduledTaskRunner({\n        initialDelay: {\n          seconds: 15,\n        },\n        frequency: {\n          minutes: 60,\n        },\n        timeout: {\n          minutes: 1,\n        },\n      }),\n    }),\n\n    // ...\n)\n\n// Add the new processor entries, and try to declare the LibraryCheckUpdater as the last in order.\n\n  builder.addProcessor(\n    // ...\n\n    LibraryCheckProcessor.fromConfig(env.config, {\n      discoveryService: env.discovery,\n      reader: env.reader,\n      logger: env.logger,\n    }),\n\n    // Other processors...\n    \n    LibraryCheckUpdaterProcessor.fromConfig(env.config, {\n      discoveryService: env.discovery,\n      reader: env.reader,\n      logger: env.logger,\n    }),\n\n    // ...\n  );\n\n\n```\n\nNow add the plugin to your packages/backend/src/index.ts:\n\n```ts\nimport libraryCheck from './plugins/libraryCheck';\n\n// ...\nconst libraryCheckEnv = useHotMemoize(module, () => createEnv('libraryCheck'));\n\n// ...\n  apiRouter.use('/library-check', await libraryCheck(libraryCheckEnv));\n```","readmeFilename":"README.md"}