{"_id":"@comfig/gcp-secret-manager","name":"@comfig/gcp-secret-manager","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@comfig/gcp-secret-manager","version":"0.1.0","description":"GCP Secret Manager resolver for comfig","keywords":["config","configuration","secrets","gcp","google-cloud","secret-manager","comfig"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/philipjohanszon/comfig.git","directory":"ts/packages/gcp-secret-manager"},"homepage":"https://github.com/philipjohanszon/comfig#readme","bugs":{"url":"https://github.com/philipjohanszon/comfig/issues"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"sideEffects":false,"publishConfig":{"access":"public"},"scripts":{"build":"tsc","prepack":"tsc","test":"vitest"},"dependencies":{"@google-cloud/secret-manager":"^6.2.0"},"peerDependencies":{"@comfig/core":"^0.1.0"},"devDependencies":{"@comfig/core":"workspace:^","typescript":"^5.9.0","zod":"^4.4.0"},"gitHead":"6ad64f1dc37db58ba331c04f1f6961c2d4335c30","_id":"@comfig/gcp-secret-manager@0.1.0","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-OR94dZoT21b3YZqZYq5LyEX9L7Luj43/ghfDx+HV8VRWAr3MKGiScH3iKsBGOOV6Abb6p/iZXXUMNGWY9mwN+Q==","shasum":"c08974feeb5f8dfe12309b447811fed397352f80","tarball":"https://registry.npmjs.org/@comfig/gcp-secret-manager/-/gcp-secret-manager-0.1.0.tgz","fileCount":6,"unpackedSize":4569,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDB1v0UKjOaN7Cv4i8RiNVIA6Xb7N9R1ho7R881Lt0SRAiAJsIa2/GMH7ixU+vZ6JeQMlMZuSFJkM0EX6peAJ/UD8w=="}]},"_npmUser":{"name":"philipjohanszon","email":"philip.hlm@live.se"},"directories":{},"maintainers":[{"name":"philipjohanszon","email":"philip.hlm@live.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gcp-secret-manager_0.1.0_1785614685763_0.39803227413667774"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-01T20:04:45.608Z","0.1.0":"2026-08-01T20:04:45.904Z","modified":"2026-08-01T20:04:46.134Z"},"maintainers":[{"name":"philipjohanszon","email":"philip.hlm@live.se"}],"description":"GCP Secret Manager resolver for comfig","homepage":"https://github.com/philipjohanszon/comfig#readme","keywords":["config","configuration","secrets","gcp","google-cloud","secret-manager","comfig"],"repository":{"type":"git","url":"git+https://github.com/philipjohanszon/comfig.git","directory":"ts/packages/gcp-secret-manager"},"bugs":{"url":"https://github.com/philipjohanszon/comfig/issues"},"license":"MIT","readme":"# @comfig/gcp-secret-manager\n\nResolve Google Cloud Secret Manager values in [`@comfig/core`](../core/README.md) configuration\nfiles. For AWS, see the [`@comfig/aws-secrets-manager`](../aws-secrets-manager/README.md) adapter.\n\n```bash\nnpm install @comfig/core @comfig/gcp-secret-manager zod\n```\n\n## Usage\n\nCreate `config/local.json`:\n\n```json\n{\n  \"projectId\": \"my-project\",\n  \"token\": \"gcp://development-api-token\"\n}\n```\n\nRegister the resolver before loading the configuration. Resolver factories receive the parsed\nconfiguration, so the project ID can come from that file:\n\n```ts\nimport { Comfig } from \"@comfig/core\"\nimport { GCPSecretResolver } from \"@comfig/gcp-secret-manager\"\nimport { z } from \"zod\"\n\nconst comfig = new Comfig(z.object({\n  projectId: z.string(),\n  token: z.string(),\n}))\n  .useResolver((raw) => GCPSecretResolver({ projectId: raw.projectId }))\n\nconst config = await comfig.load()\n```\n\n`GCPSecretResolver` creates a Google Cloud client using the default credential chain. Supply an\nexisting `SecretManagerServiceClient` as `client` when your application manages the client itself.\n\n## Reference syntax\n\n- `gcp://production-database` resolves the `latest` version.\n- `gcp://production-database@12` resolves version `12`.\n\n## Multiple Google Cloud projects\n\nThe optional second argument changes the resolver's prefix, allowing multiple project resolvers in\none configuration:\n\n```ts\ncomfig.useResolver((raw) => GCPSecretResolver({ projectId: raw.projectId }))\ncomfig.useResolver(() => GCPSecretResolver({ projectId: \"operations-project\" }, \"gcp-ops\"))\n```\n\nThe second resolver handles references such as `gcp-ops://shared-api-token`.\n","readmeFilename":"README.md","_rev":"1-e48aef85c5df896dedc1f7677b96d1c7"}