{"_id":"@api-buddy/plugin-core","_rev":"10-bfaaa972604b0503819b586d2c3d17e6","name":"@api-buddy/plugin-core","dist-tags":{"latest":"3.0.0"},"versions":{"0.4.61":{"name":"@api-buddy/plugin-core","version":"0.4.61","keywords":["api","plugin","extensibility","typescript"],"_id":"@api-buddy/plugin-core@0.4.61","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"homepage":"https://github.com/api-buddy/api-buddy#readme","bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"dist":{"shasum":"9e26d1113497d23117fe9341c7fb36586b0204bc","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-0.4.61.tgz","fileCount":5,"integrity":"sha512-VSjmJNTglfunUHR5H4gCIgyVh9CoRtgOUug8t5wZ0GkGJbmJfxq1fxtl3oK/0qfv2G2E+2P56nNYnmhNJBFeSQ==","signatures":[{"sig":"MEUCIAQi+5H8ruhY+xHB/hJdxCtI19U8k8s7BT2HweQIaRoNAiEAyJeGybL9WyCAqX33tB10ak8aNXhr8vr7fcovqYTuVHc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18104},"main":"dist/simple-plugin-manager.mjs","type":"module","_from":"file:api-buddy-plugin-core-0.4.61.tgz","types":"dist/simple-plugin-manager.d.ts","exports":{".":{"types":"./dist/simple-plugin-manager.d.ts","import":"./dist/simple-plugin-manager.js"}},"scripts":{"dev":"tsup src/simple-plugin-manager.ts --format esm --sourcemap --watch","lint":"eslint src --ext .ts","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","build":"npm run clean && npm run build:types && npm run build:js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","build:js":"tsup src/simple-plugin-manager.ts --format esm --sourcemap --target node16 --out-dir dist --clean","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --watch","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --outDir dist","test:coverage":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --coverage"},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com"},"_resolved":"/private/var/folders/w3/00m0j5k95zjfx4vwz3csj_vc0000gn/T/67c22e93970effde03e3ee9e27b9f01c/api-buddy-plugin-core-0.4.61.tgz","_integrity":"sha512-VSjmJNTglfunUHR5H4gCIgyVh9CoRtgOUug8t5wZ0GkGJbmJfxq1fxtl3oK/0qfv2G2E+2P56nNYnmhNJBFeSQ==","repository":{"url":"git+https://github.com/api-buddy/api-buddy.git#main","type":"git"},"_npmVersion":"9.8.1","description":"Core plugin system for API Buddy","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.22.4","@api-buddy/types":"0.4.59"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","eslint":"^8.55.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.1","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.14.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-core_0.4.61_1749587374109_0.40521806138070215","host":"s3://npm-registry-packages-npm-production"}},"0.4.106":{"name":"@api-buddy/plugin-core","version":"0.4.106","keywords":["api","plugin","extensibility","typescript"],"_id":"@api-buddy/plugin-core@0.4.106","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"homepage":"https://github.com/api-buddy/api-buddy#readme","bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"dist":{"shasum":"5843933c5c88ca3f2a802506f1e30f9780f5d993","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-0.4.106.tgz","fileCount":5,"integrity":"sha512-2UTtQWL9Lqc9hAVLG73h569MTv7OMIUXePBzvLLZqND77wqd4FuuonwccEgBQia4Qn2bTz+yOdHbe73Fi//jOQ==","signatures":[{"sig":"MEQCIDdeQGVIfQJ7sTs6xvsPtRWAJQYaFX1Ow2R0+7S7FHEJAiBD6QCrpc2eOiF24ajxrcdWxO+GxQZbShRqPcTkRJ/7Og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13652},"main":"dist/plugin-manager.mjs","type":"module","types":"dist/plugin-manager.d.ts","exports":{".":{"types":"./dist/plugin-manager.d.ts","import":"./dist/plugin-manager.js"}},"gitHead":"ce0089122abaa9fcfc04053fc31cd6afd64b01f7","scripts":{"dev":"tsup src/plugin-manager.ts --format esm --sourcemap --watch","lint":"eslint src --ext .ts","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","build":"npm run clean && npm run build:types && npm run build:js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","build:js":"tsup src/plugin-manager.ts --format esm --sourcemap --target node16 --out-dir dist --clean","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --watch","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --outDir dist","test:coverage":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --coverage"},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com"},"repository":{"url":"git+https://github.com/api-buddy/api-buddy.git#main","type":"git"},"_npmVersion":"9.8.1","description":"Core plugin system for API Buddy","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.22.4","@api-buddy/types":"^0.4.106","@api-buddy/plugin-utils":"^0.4.106"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","eslint":"^8.55.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.1","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.14.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-core_0.4.106_1749657655636_0.4569444976327055","host":"s3://npm-registry-packages-npm-production"}},"0.4.107":{"name":"@api-buddy/plugin-core","version":"0.4.107","keywords":["api","plugin","extensibility","typescript"],"_id":"@api-buddy/plugin-core@0.4.107","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"homepage":"https://github.com/api-buddy/api-buddy#readme","bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"dist":{"shasum":"4a3e1635ac0681c7d099047ea06a33f8c6486b8c","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-0.4.107.tgz","fileCount":5,"integrity":"sha512-dffBdTe53BKK6adKVU7DYbCbSussJp/tapD9NpOz3LqiebByO/W39R2BjBzI1Au0k4jgtEP7H0IwjJ6/ZrWgUA==","signatures":[{"sig":"MEYCIQDpLcESt3BnLEimMtoNy+8eSvNXoiAoDpPZgmTotupXlAIhAP2enR4E8FH0nDs/5ZU1B6P+sWBhwicbSfydPvW4C5Kg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13652},"main":"dist/plugin-manager.mjs","type":"module","types":"dist/plugin-manager.d.ts","exports":{".":{"types":"./dist/plugin-manager.d.ts","import":"./dist/plugin-manager.js"}},"gitHead":"ce0089122abaa9fcfc04053fc31cd6afd64b01f7","scripts":{"dev":"tsup src/plugin-manager.ts --format esm --sourcemap --watch","lint":"eslint src --ext .ts","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","build":"npm run clean && npm run build:types && npm run build:js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","build:js":"tsup src/plugin-manager.ts --format esm --sourcemap --target node16 --out-dir dist --clean","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --watch","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --outDir dist","test:coverage":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --coverage"},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com"},"repository":{"url":"git+https://github.com/api-buddy/api-buddy.git#main","type":"git"},"_npmVersion":"9.8.1","description":"Core plugin system for API Buddy","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.22.4","@api-buddy/types":"^0.4.107","@api-buddy/plugin-utils":"^0.4.107"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","eslint":"^8.55.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.1","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.14.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-core_0.4.107_1749658877765_0.2944565387327329","host":"s3://npm-registry-packages-npm-production"}},"0.4.108":{"name":"@api-buddy/plugin-core","version":"0.4.108","keywords":["api","plugin","extensibility","typescript"],"_id":"@api-buddy/plugin-core@0.4.108","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"homepage":"https://github.com/api-buddy/api-buddy#readme","bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"dist":{"shasum":"b41a71168f43782d423376d9293ef8ad2541941e","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-0.4.108.tgz","fileCount":5,"integrity":"sha512-MhJtrj23IGduq54ySYhJXfZerjS/iPy/QlUk+j9EOXIpqgGUGDHpk1Axx0oAIJxbINy43KFM9L8h9Bz4v/wLPQ==","signatures":[{"sig":"MEUCIQDs8yHsvK466V3PhMNCKt2emVboE7zq8WjZtnr/xGbPsQIgIN1iMcKp/AM8tlwC40DYgnA3eu/+zIaYq4zuWF6OvPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13652},"main":"dist/plugin-manager.mjs","type":"module","types":"dist/plugin-manager.d.ts","exports":{".":{"types":"./dist/plugin-manager.d.ts","import":"./dist/plugin-manager.js"}},"gitHead":"ce0089122abaa9fcfc04053fc31cd6afd64b01f7","scripts":{"dev":"tsup src/plugin-manager.ts --format esm --sourcemap --watch","lint":"eslint src --ext .ts","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","build":"npm run clean && npm run build:types && npm run build:js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","build:js":"tsup src/plugin-manager.ts --format esm --sourcemap --target node16 --out-dir dist --clean","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --watch","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --outDir dist","test:coverage":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --coverage"},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com"},"repository":{"url":"git+https://github.com/api-buddy/api-buddy.git#main","type":"git"},"_npmVersion":"9.8.1","description":"Core plugin system for API Buddy","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.22.4","@api-buddy/types":"^0.4.108","@api-buddy/plugin-utils":"^0.4.108"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","eslint":"^8.55.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.1","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.14.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-core_0.4.108_1749659648467_0.7384548290060151","host":"s3://npm-registry-packages-npm-production"}},"0.4.109":{"name":"@api-buddy/plugin-core","version":"0.4.109","keywords":["api","plugin","extensibility","typescript"],"_id":"@api-buddy/plugin-core@0.4.109","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"homepage":"https://github.com/api-buddy/api-buddy#readme","bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"dist":{"shasum":"66289705cb50f1fa5819453d9d556acf44a747e6","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-0.4.109.tgz","fileCount":5,"integrity":"sha512-ueobzqbd3DAyvuKQyqIIkFdWKTzIZ3vZ97Smts7XnwBkD3wPO9MhmqFUGqdDN1/TsmXo3ugvHSTyzJKcYuEVow==","signatures":[{"sig":"MEUCIEt5Q5uZbIVoC3mQWaK2Ah/2hLfARiCD20GhKBrQWSosAiEAsrXT0xarjjVLGT0Y9mn49NyWC8S83iLiY5rkIIKtMM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13652},"main":"dist/plugin-manager.mjs","type":"module","types":"dist/plugin-manager.d.ts","exports":{".":{"types":"./dist/plugin-manager.d.ts","import":"./dist/plugin-manager.js"}},"gitHead":"c882bf125a0b841951225fd4b589892f477fb904","scripts":{"dev":"tsup src/plugin-manager.ts --format esm --sourcemap --watch","lint":"eslint src --ext .ts","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","build":"npm run clean && npm run build:types && npm run build:js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","build:js":"tsup src/plugin-manager.ts --format esm --sourcemap --target node16 --out-dir dist --clean","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --watch","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --outDir dist","test:coverage":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --coverage"},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com"},"repository":{"url":"git+https://github.com/api-buddy/api-buddy.git#main","type":"git"},"_npmVersion":"9.8.1","description":"Core plugin system for API Buddy","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.22.4","@api-buddy/types":"^0.4.109","@api-buddy/plugin-utils":"^0.4.109"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","eslint":"^8.55.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.1","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.14.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-core_0.4.109_1749661290917_0.7646471041533327","host":"s3://npm-registry-packages-npm-production"}},"0.4.111":{"name":"@api-buddy/plugin-core","version":"0.4.111","keywords":["api","plugin","extensibility","typescript"],"_id":"@api-buddy/plugin-core@0.4.111","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"homepage":"https://github.com/api-buddy/api-buddy#readme","bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"dist":{"shasum":"f5a00e478ab85eeacbe4472d9f59a3e619f06832","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-0.4.111.tgz","fileCount":5,"integrity":"sha512-nQPt455sKeSI1501E9jkYowinUfXdx5hBzJUvGcFXpPQRLxSZqq09gUzaJsbVIwMR43mo8khCQhlKoyoOeviTA==","signatures":[{"sig":"MEUCID7HOrVTxLJFfOf3cPiYBZvGJPVLRboO21Vltw26gGglAiEAs8C9wevBsOkMLDjaJJatuR5xx39y7DCcR0ZfNxcrvFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13652},"main":"dist/plugin-manager.mjs","type":"module","types":"dist/plugin-manager.d.ts","exports":{".":{"types":"./dist/plugin-manager.d.ts","import":"./dist/plugin-manager.js"}},"gitHead":"5f022852071df846c09ae31848e2ae05e771c453","scripts":{"dev":"tsup src/plugin-manager.ts --format esm --sourcemap --watch","lint":"eslint src --ext .ts","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","build":"npm run clean && npm run build:types && npm run build:js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","build:js":"tsup src/plugin-manager.ts --format esm --sourcemap --target node16 --out-dir dist --clean","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --watch","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --outDir dist","test:coverage":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js --coverage"},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com"},"repository":{"url":"git+https://github.com/api-buddy/api-buddy.git#main","type":"git"},"_npmVersion":"9.8.1","description":"Core plugin system for API Buddy","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.22.4","@api-buddy/types":"^0.4.111","@api-buddy/plugin-utils":"^0.4.111"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","eslint":"^8.55.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.1","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.14.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-core_0.4.111_1749668601597_0.9065345697891014","host":"s3://npm-registry-packages-npm-production"}},"0.4.130":{"name":"@api-buddy/plugin-core","version":"0.4.130","keywords":["api","plugin","extensibility","typescript"],"_id":"@api-buddy/plugin-core@0.4.130","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"homepage":"https://github.com/api-buddy/api-buddy#readme","bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"dist":{"shasum":"bdf650a93db3d058b77f47499ef7f74831fded3c","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-0.4.130.tgz","fileCount":8,"integrity":"sha512-EONa5miBf6LIjB3ocHdUNeEnXSIwS+7wsHgdwpfdiJf2WMYBBL7yOWYa1xlFaCbxDsil4TemY6MU1IruKs0mow==","signatures":[{"sig":"MEYCIQDGkT5+DdCRm0SZt4wJajxu6Bo+zOf9WCIcLEeNWugKnQIhAJ8d1FK2P+OoZzFTu6n+GYZXVlgbMc503NGuKU/XJNP+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15262},"main":"./dist/plugin-manager.cjs","type":"module","_from":"file:api-buddy-plugin-core-0.4.130.tgz","types":"./dist/plugin-manager.d.ts","module":"./dist/plugin-manager.js","exports":{".":{"types":"./dist/plugin-manager.d.ts","import":{"types":"./dist/plugin-manager.d.ts","default":"./dist/plugin-manager.js"},"default":"./dist/plugin-manager.js","require":{"types":"./dist/plugin-manager.d.ts","default":"./dist/plugin-manager.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","build":"tsup","clean":"rimraf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","build:js":"tsup","test:watch":"pnpm test --watch","type-check":"tsc --noEmit","build:types":"tsc -p tsconfig.build.json --emitDeclarationOnly --declaration","test:coverage":"pnpm test --coverage"},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com"},"_resolved":"/private/var/folders/w3/00m0j5k95zjfx4vwz3csj_vc0000gn/T/8b2a67b2eaba2926fee0957799a05ff7/api-buddy-plugin-core-0.4.130.tgz","_integrity":"sha512-EONa5miBf6LIjB3ocHdUNeEnXSIwS+7wsHgdwpfdiJf2WMYBBL7yOWYa1xlFaCbxDsil4TemY6MU1IruKs0mow==","repository":{"url":"git+https://github.com/api-buddy/api-buddy.git#main","type":"git"},"_npmVersion":"9.8.1","description":"Core plugin system for API Buddy","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.22.4","@api-buddy/types":"0.4.129","@api-buddy/schema":"0.4.130","@api-buddy/plugin-utils":"0.4.111"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","eslint":"^8.55.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.1","typescript":"~5.0.0","@types/jest":"^29.5.11","@types/node":"^20.10.5","@api-buddy/tsup-config":"0.1.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.14.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-core_0.4.130_1750082424670_0.37877067490277794","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@api-buddy/plugin-core","version":"1.0.0","keywords":["api","plugin","extensibility","typescript"],"_id":"@api-buddy/plugin-core@1.0.0","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"homepage":"https://github.com/api-buddy/api-buddy#readme","bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"dist":{"shasum":"66567af160acb4e56cd30372acda5d22a5b537f1","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-1.0.0.tgz","fileCount":8,"integrity":"sha512-eZm1bCKC/bvDxUfguXcrnni6y/6Rt1xatHXyEPhc7n984B/3AL0TnUC/o/Ynt0SFPsg9YYRG8dBmP3oOjaXQYA==","signatures":[{"sig":"MEYCIQCTZJ2FnSAkU5+V58LhItIzULv5iJ5crnJB++UKb5ztTQIhAN/lQXmxq4wBI8uNz5ZlH8d6p0oTSnYkYbOKywnfoxSI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15254},"main":"./dist/plugin-manager.cjs","type":"module","_from":"file:api-buddy-plugin-core-1.0.0.tgz","types":"./dist/plugin-manager.d.ts","module":"./dist/plugin-manager.js","exports":{".":{"types":"./dist/plugin-manager.d.ts","import":{"types":"./dist/plugin-manager.d.ts","default":"./dist/plugin-manager.js"},"default":"./dist/plugin-manager.js","require":{"types":"./dist/plugin-manager.d.ts","default":"./dist/plugin-manager.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","build":"tsup","clean":"rimraf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","build:js":"tsup","test:watch":"pnpm test --watch","type-check":"tsc --noEmit","build:types":"tsc -p tsconfig.build.json --emitDeclarationOnly --declaration","test:coverage":"pnpm test --coverage"},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com"},"_resolved":"/private/var/folders/w3/00m0j5k95zjfx4vwz3csj_vc0000gn/T/8e3b35ea050af71a7a62ff93e3a82630/api-buddy-plugin-core-1.0.0.tgz","_integrity":"sha512-eZm1bCKC/bvDxUfguXcrnni6y/6Rt1xatHXyEPhc7n984B/3AL0TnUC/o/Ynt0SFPsg9YYRG8dBmP3oOjaXQYA==","repository":{"url":"git+https://github.com/api-buddy/api-buddy.git#main","type":"git"},"_npmVersion":"9.8.1","description":"Core plugin system for API Buddy","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.22.4","@api-buddy/types":"1.0.0","@api-buddy/schema":"1.0.0","@api-buddy/plugin-utils":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","eslint":"^8.55.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.1","typescript":"~5.0.0","@types/jest":"^29.5.11","@types/node":"^20.10.5","@api-buddy/tsup-config":"1.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.14.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-core_1.0.0_1750087996866_0.9888972810275074","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@api-buddy/plugin-core","version":"2.0.0","keywords":["api","plugin","extensibility","typescript"],"_id":"@api-buddy/plugin-core@2.0.0","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"homepage":"https://github.com/api-buddy/api-buddy#readme","bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"dist":{"shasum":"0553218dd818b2765bb6da121d65cd15b0225b77","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-2.0.0.tgz","fileCount":8,"integrity":"sha512-/QCqrhnYItXQSrwfKA2ONdgynbGp4DEzznikmSgBukRpAIa0kcNfiDsby/OT4UAOMYxUDrYzWnz90XfTVZFfzQ==","signatures":[{"sig":"MEYCIQCZBjHa+5E5QaUKHIlygrFGJ7bDfzs93D4hnf+j/jY22wIhAMhOaKyGyrVG+BecAzyApqJ5BdnAPiax/xMTq4MXPOBv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15254},"main":"./dist/plugin-manager.cjs","type":"module","_from":"file:api-buddy-plugin-core-2.0.0.tgz","types":"./dist/plugin-manager.d.ts","module":"./dist/plugin-manager.js","exports":{".":{"types":"./dist/plugin-manager.d.ts","import":{"types":"./dist/plugin-manager.d.ts","default":"./dist/plugin-manager.js"},"default":"./dist/plugin-manager.js","require":{"types":"./dist/plugin-manager.d.ts","default":"./dist/plugin-manager.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","build":"tsup","clean":"rimraf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","build:js":"tsup","test:watch":"pnpm test --watch","type-check":"tsc --noEmit","build:types":"tsc -p tsconfig.build.json --emitDeclarationOnly --declaration","test:coverage":"pnpm test --coverage"},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com"},"_resolved":"/private/var/folders/w3/00m0j5k95zjfx4vwz3csj_vc0000gn/T/f0df7d2276266df984a347710edf32fa/api-buddy-plugin-core-2.0.0.tgz","_integrity":"sha512-/QCqrhnYItXQSrwfKA2ONdgynbGp4DEzznikmSgBukRpAIa0kcNfiDsby/OT4UAOMYxUDrYzWnz90XfTVZFfzQ==","repository":{"url":"git+https://github.com/api-buddy/api-buddy.git#main","type":"git"},"_npmVersion":"9.8.1","description":"Core plugin system for API Buddy","directories":{},"_nodeVersion":"18.18.0","dependencies":{"zod":"^3.22.4","@api-buddy/types":"2.0.0","@api-buddy/schema":"2.0.0","@api-buddy/plugin-utils":"2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","eslint":"^8.55.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.1","typescript":"~5.0.0","@types/jest":"^29.5.11","@types/node":"^20.10.5","@api-buddy/tsup-config":"2.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.14.0","@typescript-eslint/eslint-plugin":"^6.14.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-core_2.0.0_1750103155977_0.7739323050281874","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@api-buddy/plugin-core","version":"3.0.0","description":"Core plugin system for API Buddy","type":"module","main":"./dist/plugin-manager.cjs","module":"./dist/plugin-manager.js","types":"./dist/plugin-manager.d.ts","dependencies":{"zod":"^3.22.4","@api-buddy/plugin-utils":"3.0.0","@api-buddy/schema":"3.0.0","@api-buddy/types":"4.0.0"},"devDependencies":{"@types/jest":"^29.5.11","@types/node":"^20.10.5","@typescript-eslint/eslint-plugin":"^6.14.0","@typescript-eslint/parser":"^6.14.0","eslint":"^8.55.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","jest":"^29.7.0","prettier":"^3.1.1","rimraf":"^5.0.5","ts-jest":"^29.1.1","tsup":"^8.0.2","typescript":"~5.0.0","@api-buddy/tsup-config":"3.0.0"},"exports":{".":{"types":"./dist/plugin-manager.d.ts","import":{"types":"./dist/plugin-manager.d.ts","default":"./dist/plugin-manager.js"},"require":{"types":"./dist/plugin-manager.d.ts","default":"./dist/plugin-manager.cjs"},"default":"./dist/plugin-manager.js"},"./package.json":"./package.json"},"publishConfig":{"access":"public"},"keywords":["api","plugin","extensibility","typescript"],"repository":{"type":"git","url":"git+https://github.com/api-buddy/api-buddy.git#main"},"bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"homepage":"https://github.com/api-buddy/api-buddy#readme","scripts":{"clean":"rimraf dist","build:js":"tsup","build:types":"tsc -p tsconfig.build.json --emitDeclarationOnly --declaration","build":"tsup","dev":"tsup --watch","test":"NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.js","test:watch":"pnpm test --watch","test:coverage":"pnpm test --coverage","lint":"eslint src --ext .ts,.tsx","type-check":"tsc --noEmit","format":"prettier --write \"src/**/*.{ts,tsx}\""},"_id":"@api-buddy/plugin-core@3.0.0","_integrity":"sha512-kMsGh7gQeiCW/vUz43vd1vSQCbmtPLxgAmjqdN+gSpc259JeOsbR3iXs6bIl4nmdjoRBFZ4W8W5nN+TgIbtC2w==","_resolved":"/private/var/folders/w3/00m0j5k95zjfx4vwz3csj_vc0000gn/T/541a2103cc81d61f6f044199bef24d80/api-buddy-plugin-core-3.0.0.tgz","_from":"file:api-buddy-plugin-core-3.0.0.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-kMsGh7gQeiCW/vUz43vd1vSQCbmtPLxgAmjqdN+gSpc259JeOsbR3iXs6bIl4nmdjoRBFZ4W8W5nN+TgIbtC2w==","shasum":"73099cfca87aaf1b01def1baee0cae992a7a912d","tarball":"https://registry.npmjs.org/@api-buddy/plugin-core/-/plugin-core-3.0.0.tgz","fileCount":8,"unpackedSize":15254,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICNoHuCP0OcBzrbL3HrrGcL8vsYSzMs9tgoMSNbRgrwjAiEApQaV27WhKkHnasfkQqXCcZF8BVf0a7DL17BOMg0aMeE="}]},"_npmUser":{"name":"iamtomhanks","email":"brechanson@gmail.com","actor":{"name":"iamtomhanks","email":"brechanson@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plugin-core_3.0.0_1751386871211_0.8969775482771878"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-10T20:29:34.007Z","modified":"2025-07-01T16:21:11.597Z","0.4.61":"2025-06-10T20:29:34.312Z","0.4.106":"2025-06-11T16:00:55.837Z","0.4.107":"2025-06-11T16:21:17.934Z","0.4.108":"2025-06-11T16:34:08.679Z","0.4.109":"2025-06-11T17:01:31.095Z","0.4.111":"2025-06-11T19:03:21.788Z","0.4.130":"2025-06-16T14:00:24.852Z","1.0.0":"2025-06-16T15:33:17.086Z","2.0.0":"2025-06-16T19:45:56.154Z","3.0.0":"2025-07-01T16:21:11.389Z"},"bugs":{"url":"https://github.com/api-buddy/api-buddy/issues"},"homepage":"https://github.com/api-buddy/api-buddy#readme","keywords":["api","plugin","extensibility","typescript"],"repository":{"type":"git","url":"git+https://github.com/api-buddy/api-buddy.git#main"},"description":"Core plugin system for API Buddy","maintainers":[{"name":"iamtomhanks","email":"brechanson@gmail.com"}],"readme":"# API Buddy Plugin Core\r\n\r\nThe plugin system allows extending API Buddy's functionality through a well-defined API. Plugins can hook into various lifecycle events and extend the core functionality.\r\n\r\n## Features\r\n\r\n- **Lifecycle Hooks**: Plugins can subscribe to various lifecycle events\r\n- **Type Safety**: Full TypeScript support with type definitions\r\n- **Plugin Discovery**: Automatic loading from node_modules or custom directories\r\n- **Schema Extensions**: Extend and modify the schema\r\n- **Type Generation**: Customize TypeScript type generation\r\n- **Database Integration**: Add support for different databases\r\n- **Flexible Loading**: Support for both ESM and CommonJS modules\r\n\r\n## Installation\r\n\r\n```bash\r\n# Install the core plugin package\r\npnpm add @api-buddy/plugin-core\r\n```\r\n\r\n## Usage\r\n\r\n### Basic Example\r\n\r\n```typescript\r\nimport { PluginManager, PluginHook } from '@api-buddy/plugin-core';\r\n\r\n// Create a plugin manager\r\nconst pluginManager = new PluginManager({\r\n  debug: true,\r\n  cwd: process.cwd(), // Optional: specify the working directory\r\n});\r\n\r\n// Load a single plugin\r\nawait pluginManager.loadPlugin({\r\n  name: 'my-plugin',\r\n  version: '1.0.0',\r\n  hooks: {\r\n    [PluginHook.BeforeSchemaLoad]: [\r\n      async (context, schema) => {\r\n        console.log('Modifying schema...');\r\n        // Modify schema here\r\n        return schema;\r\n      }\r\n    ]\r\n  }\r\n});\r\n\r\n// Or load multiple plugins from a directory\r\nawait pluginManager.loadPlugins('plugins'); // Load from ./plugins directory\r\n\r\n// Or load from node_modules\r\nawait pluginManager.loadPlugins('node_modules', {\r\n  pattern: /^@my-org\\/api-buddy-/ // Optional: filter by package name pattern\r\n});\r\n\r\n// Call a hook\r\nawait pluginManager.callHook(PluginHook.BeforeSchemaLoad, mySchema);\r\n\r\n// Clean up\r\nawait pluginManager.destroy();\r\n```\r\n\r\n## Available Hooks\r\n\r\n| Hook | Description | Parameters |\r\n|------|-------------|------------|\r\n| `BeforeSchemaLoad` | Before schema is loaded | `(context, schema) => Schema` |\r\n| `AfterSchemaLoad` | After schema is loaded | `(context, schema) => void` |\r\n| `BeforeCodegen` | Before code generation | `(context) => void` |\r\n| `AfterCodegen` | After code generation | `(context) => void` |\r\n| `BeforeTypegen` | Before type generation | `(context, schema) => void` |\r\n| `AfterTypegen` | After type generation | `(context, schema) => void` |\r\n| `BeforeMigrate` | Before database migration | `(context) => void` |\r\n| `AfterMigrate` | After database migration | `(context) => void` |\r\n\r\n## Creating a Plugin\r\n\r\nCreate a plugin by implementing the `Plugin` interface:\r\n\r\n```typescript\r\nimport { Plugin, PluginHook } from '@api-buddy/plugins';\r\n\r\nconst myPlugin: Plugin = {\r\n  name: 'my-plugin',\r\n  version: '1.0.0',\r\n  description: 'My awesome plugin',\r\n  \r\n  hooks: {\r\n    [PluginHook.BeforeSchemaLoad]: [\r\n      async (context, schema) => {\r\n        // Modify schema here\r\n        return schema;\r\n      }\r\n    ]\r\n  },\r\n  \r\n  async initialize(context) {\r\n    console.log('Plugin initialized');\r\n  },\r\n  \r\n  async destroy() {\r\n    console.log('Plugin destroyed');\r\n  }\r\n};\r\n\r\nexport default myPlugin;\r\n```\r\n\r\n## Plugin Extensions\r\n\r\nPlugins can provide additional functionality through extensions:\r\n\r\n### Schema Extensions\r\n\r\n```typescript\r\nconst schemaPlugin: Plugin & SchemaPluginExtension = {\r\n  name: 'schema-plugin',\r\n  version: '1.0.0',\r\n  \r\n  extendSchema(schema) {\r\n    // Add custom fields/types to the schema\r\n    return schema;\r\n  },\r\n  \r\n  validateSchema(schema) {\r\n    // Validate the schema\r\n    return []; // Return array of error messages\r\n  }\r\n};\r\n```\r\n\r\n### Type Generation Extensions\r\n\r\n```typescript\r\nconst typegenPlugin: Plugin & TypegenPluginExtension = {\r\n  name: 'typegen-plugin',\r\n  version: '1.0.0',\r\n  \r\n  getTypeMappings() {\r\n    return {\r\n      CustomType: 'string',\r\n    };\r\n  },\r\n  \r\n  generateTypes(schema) {\r\n    // Generate custom type definitions\r\n    return '// Custom types';\r\n  }\r\n};\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}