{"_id":"@battis/lazy-secrets","_rev":"7-054c6c6ac0d0f22edc5beb90f2870fe0","name":"@battis/lazy-secrets","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.0":{"name":"@battis/lazy-secrets","version":"1.0.0","author":{"url":"https://github.com/battis/lazy-secrets/tree/typescript","name":"Seth Battis"},"license":"GPL-3.0","_id":"@battis/lazy-secrets@1.0.0","maintainers":[{"name":"battis","email":"seth@battis.net"}],"homepage":"https://github.com/battis/lazy-secrets/tree/typescript#readme","dist":{"shasum":"de12deade3920367b057c2894b506668bebd62f8","tarball":"https://registry.npmjs.org/@battis/lazy-secrets/-/lazy-secrets-1.0.0.tgz","fileCount":9,"integrity":"sha512-ACf+0qEPbeeY171+DA8tNldXG4j1+mzlk8X1chVIW8BOfDGi+GcR5Y+VcToLFMDn6HwCGXtHh4+rEgUj7Qqoew==","signatures":[{"sig":"MEQCIHukBDq0PkhygyPCv04/bagBM/6bblRZ1ryyEhSgpALtAiAcxQIvHCTidLUUaJE9J8FwfC3g/g4dg/y3qphNhS97yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42247},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"build":"run-s build:*","clean":"del ./dist","release":"run-s release:*","build:clean":"run-s clean","release:git":"git push --follow-tags","build:compile":"tsc","release:login":"pnpm login","release:publish":"pnpm publish --access public --publish-branch typescript","release:version":"commit-and-tag-version"},"_npmUser":{"name":"battis","email":"seth@battis.net"},"repository":{"url":"","type":"github"},"description":"A (thin) wrapper for @google-cloud/cloud-secret-manager to reduce boilerplate","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@battis/typescript-tricks":"^0.8.2","@google-cloud/secret-manager":"^6.1.2"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^7.0.0","prettier":"^3.8.3","typescript":"^6.0.3","npm-run-all":"^4.1.5","prettier-plugin-ejs":"^1.0.3","@prettier/plugin-xml":"^3.4.2","@battis/eslint-config":"^2.1.0","@tsconfig/recommended":"^1.0.13","prettier-plugin-jsdoc":"^1.8.0","commit-and-tag-version":"^12.7.3","@battis/prettier-config":"^1.7.3","prettier-plugin-packagejson":"^3.0.2","@commitlint/config-pnpm-scopes":"^21.0.0","@commitlint/config-conventional":"^21.0.0","prettier-plugin-organize-imports":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/lazy-secrets_1.0.0_1778590391073_0.5953380514993469","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@battis/lazy-secrets","version":"1.0.1","author":{"url":"https://github.com/battis/lazy-secrets/tree/typescript","name":"Seth Battis"},"license":"GPL-3.0","_id":"@battis/lazy-secrets@1.0.1","maintainers":[{"name":"battis","email":"seth@battis.net"}],"homepage":"https://github.com/battis/lazy-secrets/tree/typescript#readme","dist":{"shasum":"95fb45b36ed233a58dddcec6cf007f61569e814c","tarball":"https://registry.npmjs.org/@battis/lazy-secrets/-/lazy-secrets-1.0.1.tgz","fileCount":8,"integrity":"sha512-87B9bMtMKeoCF/9d+oUGaU01s1lEL1hB8kfw/7goTCoGTLZ7+5QMnD/E7bFoAALkOgW8YRiCQ5JmXopiPD4eIg==","signatures":[{"sig":"MEYCIQDIyusOEnxfjMs1opRJbXcNPOHGH34f37NyrvtKa7/SugIhAKJpaggYvzOMSl9ALknTedg1tWdzWrUFh5ONGnzKe/R4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39883},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"build":"run-s build:*","clean":"del ./dist","release":"run-s release:*","build:clean":"run-s clean","release:git":"git push --follow-tags","build:compile":"tsc","release:login":"pnpm login","release:publish":"pnpm publish --access public --publish-branch typescript","release:version":"commit-and-tag-version"},"_npmUser":{"name":"battis","email":"seth@battis.net"},"repository":{"url":"","type":"github"},"description":"A (thin) wrapper for @google-cloud/cloud-secret-manager to reduce boilerplate","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@battis/typescript-tricks":"^0.8.2","@google-cloud/secret-manager":"^6.1.2"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^7.0.0","prettier":"^3.8.3","typescript":"^6.0.3","npm-run-all":"^4.1.5","@tsconfig/node-lts":"^24.0.0","prettier-plugin-ejs":"^1.0.3","@prettier/plugin-xml":"^3.4.2","@battis/eslint-config":"^2.1.0","prettier-plugin-jsdoc":"^1.8.0","commit-and-tag-version":"^12.7.3","@battis/prettier-config":"^1.7.3","prettier-plugin-packagejson":"^3.0.2","@commitlint/config-pnpm-scopes":"^21.0.0","@commitlint/config-conventional":"^21.0.0","prettier-plugin-organize-imports":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/lazy-secrets_1.0.1_1778601608592_0.21066787480477278","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@battis/lazy-secrets","version":"1.0.2","author":{"url":"https://github.com/battis/lazy-secrets/tree/typescript","name":"Seth Battis"},"license":"GPL-3.0","_id":"@battis/lazy-secrets@1.0.2","maintainers":[{"name":"battis","email":"seth@battis.net"}],"homepage":"https://github.com/battis/lazy-secrets/tree/typescript#readme","dist":{"shasum":"0179b0e261a1247daa3b3c411a7ff7837908a299","tarball":"https://registry.npmjs.org/@battis/lazy-secrets/-/lazy-secrets-1.0.2.tgz","fileCount":8,"integrity":"sha512-wyR89Do1n60ZT4megvgeEDi/6elFi+r/ido/45EnWtb+vwbhlVYviIsrp56pwMiFBglXYxiPU78iZcRKQhF8/Q==","signatures":[{"sig":"MEUCIQCb+pByCQvgPAM5ltvXhgXr2QS/vCyu/VV/SGCA7cxTHwIgSi9MfVhmkQCv+FV4Q0NV+JHexFfZmEMyoKXY9BE6lH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40229},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"build":"run-s build:*","clean":"del ./dist","release":"run-s release:*","build:clean":"run-s clean","release:git":"git push --follow-tags","build:compile":"tsc","release:login":"pnpm login","release:publish":"pnpm publish --access public --publish-branch typescript","release:version":"commit-and-tag-version"},"_npmUser":{"name":"battis","email":"seth@battis.net"},"repository":{"url":"","type":"github"},"description":"A (thin) wrapper for @google-cloud/cloud-secret-manager to reduce boilerplate","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@battis/typescript-tricks":"^0.8.2","@google-cloud/secret-manager":"^6.1.2"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^7.0.0","prettier":"^3.8.3","typescript":"^6.0.3","npm-run-all":"^4.1.5","@tsconfig/node-lts":"^24.0.0","prettier-plugin-ejs":"^1.0.3","@prettier/plugin-xml":"^3.4.2","@battis/eslint-config":"^2.1.0","prettier-plugin-jsdoc":"^1.8.0","commit-and-tag-version":"^12.7.3","@battis/prettier-config":"^1.7.3","prettier-plugin-packagejson":"^3.0.2","@commitlint/config-pnpm-scopes":"^21.0.0","@commitlint/config-conventional":"^21.0.0","prettier-plugin-organize-imports":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/lazy-secrets_1.0.2_1778604304484_0.3108501003528219","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@battis/lazy-secrets","version":"1.0.3","author":{"url":"https://github.com/battis/lazy-secrets/tree/typescript","name":"Seth Battis"},"license":"GPL-3.0","_id":"@battis/lazy-secrets@1.0.3","maintainers":[{"name":"battis","email":"seth@battis.net"}],"homepage":"https://github.com/battis/lazy-secrets/tree/typescript#readme","dist":{"shasum":"36087830e35cf73f48d5e9af3f486bbfe94abd94","tarball":"https://registry.npmjs.org/@battis/lazy-secrets/-/lazy-secrets-1.0.3.tgz","fileCount":8,"integrity":"sha512-TZOImWot2uHNIwMQxrVPlLBxVf2wUeEKMKIQxYvJWjwBgKHyGSMm3JDNAREYG+XsvWBfP4QtXqt8//4seWeXMA==","signatures":[{"sig":"MEQCICTOXa1BIgR5aLzgcAX+CkgEm7cwANlXDuRsbfGR/Px6AiAe5pgCu44wuu8h10bA0hGL4VOmRNtKRyQ9ftnetjzfaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40573},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"build":"run-s build:*","clean":"del ./dist","release":"run-s release:*","build:clean":"run-s clean","release:git":"git push --follow-tags","build:compile":"tsc","release:login":"pnpm login","release:publish":"pnpm publish --access public --publish-branch typescript","release:version":"commit-and-tag-version"},"_npmUser":{"name":"battis","email":"seth@battis.net"},"repository":{"url":"","type":"github"},"description":"A (thin) wrapper for @google-cloud/cloud-secret-manager to reduce boilerplate","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@battis/typescript-tricks":"^0.8.2","@google-cloud/secret-manager":"^6.1.2"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^7.0.0","prettier":"^3.8.3","typescript":"^6.0.3","npm-run-all":"^4.1.5","@tsconfig/node-lts":"^24.0.0","prettier-plugin-ejs":"^1.0.3","@prettier/plugin-xml":"^3.4.2","@battis/eslint-config":"^2.1.0","prettier-plugin-jsdoc":"^1.8.0","commit-and-tag-version":"^12.7.3","@battis/prettier-config":"^1.7.3","prettier-plugin-packagejson":"^3.0.2","@commitlint/config-pnpm-scopes":"^21.0.0","@commitlint/config-conventional":"^21.0.0","prettier-plugin-organize-imports":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/lazy-secrets_1.0.3_1778607287840_0.08418244269980946","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@battis/lazy-secrets","version":"1.0.4","author":{"url":"https://github.com/battis/lazy-secrets/tree/typescript","name":"Seth Battis"},"license":"GPL-3.0","_id":"@battis/lazy-secrets@1.0.4","maintainers":[{"name":"battis","email":"seth@battis.net"}],"homepage":"https://github.com/battis/lazy-secrets/tree/typescript#readme","dist":{"shasum":"7eca3716c633ccb511e1b7ca28d3efaa41171f72","tarball":"https://registry.npmjs.org/@battis/lazy-secrets/-/lazy-secrets-1.0.4.tgz","fileCount":8,"integrity":"sha512-Lej0D1THjb+FYPEckUwDuRZ2LqkHvciJf/Yxn6pogTzxf7oDyCrLZXK9YHv39OP/QQ2qZ3ldAJo5FftbXqJA6A==","signatures":[{"sig":"MEUCIQCBmtxp0N+jfoXW3FErNH8akNtnDP0Z0ULXNttGwVeaDQIgdfd/OIhaQRH36vX5arEzI8t/lPO1L+rypoUjxVftF0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41118},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"build":"run-s build:*","clean":"del ./dist","release":"run-s release:*","build:clean":"run-s clean","release:git":"git push --follow-tags","build:compile":"tsc","release:login":"pnpm login","release:publish":"pnpm publish --access public --publish-branch typescript","release:version":"commit-and-tag-version"},"_npmUser":{"name":"battis","email":"seth@battis.net"},"repository":{"url":"","type":"github"},"description":"A (thin) wrapper for @google-cloud/cloud-secret-manager to reduce boilerplate","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@battis/typescript-tricks":"^0.8.2","@google-cloud/secret-manager":"^6.1.2"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^7.0.0","prettier":"^3.8.3","typescript":"^6.0.3","npm-run-all":"^4.1.5","@tsconfig/node-lts":"^24.0.0","prettier-plugin-ejs":"^1.0.3","@prettier/plugin-xml":"^3.4.2","@battis/eslint-config":"^2.1.0","prettier-plugin-jsdoc":"^1.8.0","commit-and-tag-version":"^12.7.3","@battis/prettier-config":"^1.7.3","prettier-plugin-packagejson":"^3.0.2","@commitlint/config-pnpm-scopes":"^21.0.0","@commitlint/config-conventional":"^21.0.0","prettier-plugin-organize-imports":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/lazy-secrets_1.0.4_1778632339396_0.07473233477480012","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@battis/lazy-secrets","version":"1.1.0","author":{"url":"https://github.com/battis/lazy-secrets/tree/typescript","name":"Seth Battis"},"license":"GPL-3.0","_id":"@battis/lazy-secrets@1.1.0","maintainers":[{"name":"battis","email":"seth@battis.net"}],"homepage":"https://github.com/battis/lazy-secrets/tree/typescript#readme","dist":{"shasum":"ac3e24842f73816be137614045349c56ef4b7319","tarball":"https://registry.npmjs.org/@battis/lazy-secrets/-/lazy-secrets-1.1.0.tgz","fileCount":8,"integrity":"sha512-QIZz/ElKBz8OknIzPCTfr/6dPbf3qT9ZXUtCIliDgjuZFmeF8Rd3jG2B2O94BPX1mQf4oPvrhBeiYM4yMFG3lQ==","signatures":[{"sig":"MEUCIATZULlrBqH4FfTf6lqktaPLBVwFRlSJUntP8bggLjr3AiEAnQAMqTNlCZOOc0REAwgXT82KbBclc64clTQnd0qsND4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42112},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"build":"run-s build:*","clean":"del ./dist","setup":"run-s setup:*","release":"run-s release:*","build:clean":"run-s clean","build:setup":"run-s setup","release:git":"git push --follow-tags","setup:eslint":"setup-eslint -f","build:compile":"tsc","release:login":"pnpm login","setup:pretter":"setup-prettier -f","release:publish":"pnpm publish --access public --publish-branch typescript","release:version":"commit-and-tag-version --noBumpWhenEmptyChanges"},"_npmUser":{"name":"battis","email":"seth@battis.net"},"repository":{"url":"","type":"github"},"description":"A (thin) wrapper for @google-cloud/cloud-secret-manager to reduce boilerplate","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@battis/typescript-tricks":"^0.8.5","@google-cloud/secret-manager":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^7.0.0","typescript":"^6.0.3","npm-run-all":"^4.1.5","@battis/commit":"^0.0.9","@battis/eslint":"^3.0.6","@battis/prettier":"^2.0.10","@tsconfig/node-lts":"^24.0.0","commit-and-tag-version":"^12.7.3"},"_npmOperationalInternal":{"tmp":"tmp/lazy-secrets_1.1.0_1785115239124_0.2776021947421614","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@battis/lazy-secrets","version":"1.1.2","description":"A (thin) wrapper for @google-cloud/cloud-secret-manager to reduce boilerplate","homepage":"https://github.com/battis/lazy-secrets/tree/typescript#readme","repository":{"type":"github","url":""},"license":"GPL-3.0","author":{"name":"Seth Battis","url":"https://github.com/battis/lazy-secrets/tree/typescript"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","dependencies":{"@battis/typescript-tricks":"^0.8.6","@google-cloud/secret-manager":"^7.0.0"},"devDependencies":{"@battis/commit":"^0.0.10","@battis/eslint":"^3.0.7","@battis/prettier":"^2.0.11","@tsconfig/node-lts":"^24.0.1","@types/node":"^24.13.3","commit-and-tag-version":"^13.1.2","del-cli":"^7.0.0","npm-run-all":"^4.1.5","typescript":"^6.0.3"},"scripts":{"clean":"del ./dist","setup":"run-s setup:*","setup:eslint":"setup-eslint -f","setup:pretter":"setup-prettier -f","build":"run-s build:*","build:setup":"run-s setup","build:clean":"run-s clean","build:compile":"tsc","release":"run-s release:*","release:version":"commit-and-tag-version --noBumpWhenEmptyChanges","release:git":"git push --follow-tags","release:login":"pnpm login","release:publish":"pnpm publish --access public --publish-branch typescript"},"_nodeVersion":"24.20.0","_id":"@battis/lazy-secrets@1.1.2","dist":{"integrity":"sha512-+KDcRq7kL1KW+r3IJXrn7mVa1Zpc6Gtx2/vczec8aRuWygGO7M6RGMEKl0ESwbSpt1In09+/Sy2q4ntTPjggmA==","shasum":"02ed73816c43f2e696fb38952754cb355d0286f2","tarball":"https://registry.npmjs.org/@battis/lazy-secrets/-/lazy-secrets-1.1.2.tgz","fileCount":8,"unpackedSize":42628,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFobFclkZuVvMsOERev+ONQPYV5Kmh1A+ljZ+d2f0EgDAiEAgnRnB4wDsS6lSQsPG3I14+oVd1od8/vz3Ai2FrLTk14="}]},"_npmUser":{"name":"battis","email":"seth@battis.net"},"directories":{},"maintainers":[{"name":"battis","email":"seth@battis.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lazy-secrets_1.1.2_1787964558277_0.6433034549689853"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T12:53:11.001Z","modified":"2026-08-29T00:49:18.569Z","1.0.0":"2026-05-12T12:53:11.218Z","1.0.1":"2026-05-12T16:00:08.761Z","1.0.2":"2026-05-12T16:45:04.644Z","1.0.3":"2026-05-12T17:34:47.998Z","1.0.4":"2026-05-13T00:32:19.526Z","1.1.0":"2026-07-27T01:20:39.265Z","1.1.2":"2026-08-29T00:49:18.433Z"},"author":{"name":"Seth Battis","url":"https://github.com/battis/lazy-secrets/tree/typescript"},"license":"GPL-3.0","homepage":"https://github.com/battis/lazy-secrets/tree/typescript#readme","repository":{"type":"github","url":""},"description":"A (thin) wrapper for @google-cloud/cloud-secret-manager to reduce boilerplate","maintainers":[{"name":"battis","email":"seth@battis.net"}],"readme":"# @battis/lazy-secrets\n\n[![npm version](https://badge.fury.io/js/@battis%2Flazy-secrets.svg)](https://badge.fury.io/js/@battis%2Fclazy-secrets)\n\nA (thin) wrapper for @google-cloud/cloud-secret-manager to reduce boilerplate\n\n## Install\n\n```bash\nnpm install @battis/lazy-secrets\n```\n\n## Usage\n\n```ts\nimport { LazySecrets } from '@battis/lazy-secrets';\n\n// get a secret value (automatically parsed from JSON, or returned as the string value if it cannot be decoded)\nconst secret = await LazySecrets.get('SECRET_NAME');\n\n// set a secret value (automatically encoded as JSON on write)\nawait LazySecrets.set('SECRET_NAME', { key: 'value' });\n\n// optionally pass expected type\ntype SecretType = { key: string };\nconst typedSecret = await LazySecrets.get<SecretType>('SECRET_NAME');\n```\n\nThis assumes the presence of the environment variable `GOOGLE_CLOUD_PROJECT` which is set automatically by Google App Engine, but needs to be set manually with Google Cloud Run:\n\n```\ngcloud run deploy service-name --set-env-vars \"GOOGLE_CLOUD_PROJECT=my-project-name\"\n```\n","readmeFilename":""}