{"_id":"@dyanet/nestjs-config-aws","_rev":"6-158e5ec8608c1c7f81c1173c0340fa51","name":"@dyanet/nestjs-config-aws","dist-tags":{"beta":"1.2.0-beta.1","latest":"2.0.1"},"versions":{"1.0.1":{"name":"@dyanet/nestjs-config-aws","version":"1.0.1","keywords":["nestjs","configuration","aws","secrets-manager","ssm","parameter-store","typescript","zod","nestjs-config","integration","config-factory","config-module","aws-integration","configuration-management","environment-variables"],"author":{"name":"Dyanet"},"license":"MIT","_id":"@dyanet/nestjs-config-aws@1.0.1","maintainers":[{"name":"akber","email":"akber@dyanet.com"}],"homepage":"https://github.com/dyanet/nestjs-config-aws","bugs":{"url":"https://github.com/dyanet/nestjs-config-aws/issues"},"dist":{"shasum":"f85010ce35d546399cd6b7180154101b962e5f81","tarball":"https://registry.npmjs.org/@dyanet/nestjs-config-aws/-/nestjs-config-aws-1.0.1.tgz","fileCount":231,"integrity":"sha512-RzdYNEQ/u+YJFP0o0oU4HaFWF67GecrytJHkiuiLL1CCAp3zALPSIpk6XQ53O1b27dPvWmEoDzS2hf/22bfWiA==","signatures":[{"sig":"MEUCIA942U3uFFUFrUMR0fEFfJwySr3ZXW7Vywq+oRzYPrlnAiEAj6+joJz2eGEHX8YrrqUqkPMFzUkakF1A3qHCgW4F9m8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":981595},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"eb9f62b6743ec266dcdd63f7cc1786618a2ed3f2","scripts":{"lint":"eslint src/**/*.ts","none":"npm run lint && npm run test:coverage","test":"jest","build":"npm run clean && npm run build:types && npm run build:esm && npm run build:cjs","clean":"rimraf dist","prepack":"npm run build","quality":"npm run typecheck","test:ci":"jest --coverage --ci --watchAll=false --maxWorkers=2","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","typecheck":"tsc --noEmit","test:watch":"jest --watch","build:types":"tsc --project tsconfig.types.json","test:coverage":"jest --coverage","prepublishOnly":"npm run quality && npm run build"},"_npmUser":{"name":"akber","email":"akber@dyanet.com"},"repository":{"url":"git+https://github.com/dyanet/nestjs-config-aws.git","type":"git"},"_npmVersion":"10.9.2","description":"AWS-integrated configuration management for NestJS applications with support for environment variables, AWS Secrets Manager, and AWS Systems Manager Parameter Store. Includes @nestjs/config integration for seamless compatibility.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@aws-sdk/client-ssm":"^3.0.0","@aws-sdk/credential-providers":"^3.0.0","@aws-sdk/client-secrets-manager":"^3.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.0","jest":"^29.5.0","dotenv":"^17.2.1","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.1.0","typescript":"^5.9.2","@types/jest":"^29.5.0","@types/node":"^20.0.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.3.0","@nestjs/testing":"^10.0.0","aws-sdk-client-mock":"^4.0.0","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"zod":"^3.22.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0","@nestjs/config":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-config-aws_1.0.1_1757325105875_0.5484832379949311","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-beta.1":{"name":"@dyanet/nestjs-config-aws","version":"1.2.0-beta.1","keywords":["nestjs","configuration","aws","secrets-manager","ssm","parameter-store","typescript","zod","nestjs-config","integration","config-factory","config-module","aws-integration","configuration-management","environment-variables"],"author":{"name":"Dyanet"},"license":"MIT","_id":"@dyanet/nestjs-config-aws@1.2.0-beta.1","maintainers":[{"name":"akber","email":"akber@dyanet.com"}],"homepage":"https://github.com/dyanet/config-aws/tree/main/packages/nestjs-config-aws","bugs":{"url":"https://github.com/dyanet/config-aws/issues"},"dist":{"shasum":"045a22813ab7475004d26558304ef3875a5c2fbb","tarball":"https://registry.npmjs.org/@dyanet/nestjs-config-aws/-/nestjs-config-aws-1.2.0-beta.1.tgz","fileCount":198,"integrity":"sha512-KCJ8UrVwmwoAfKVDAKcKlwkM+HKghUY62NSSkRJ+8NP1W2x4rM4qD8qvXtGVHbE/MrMBqrix18Gf+IxWs5OHXw==","signatures":[{"sig":"MEUCIQD/HN4/La4feAnMpmhMXqiq7mfRLgPLWv/ctpQc+tqmUQIgEYIHD9QV8fX6S1G4XspCmwPeHrLbtFMZzbnNOwQuMc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2020093},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","engines":{"npm":">=8.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"17428adc94d856eb2936deb9c10ab8b3f6a5dd52","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"npm run clean && npm run build:types && npm run build:esm && npm run build:cjs","clean":"rimraf dist","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","typecheck":"tsc --noEmit","test:watch":"jest --watch","build:types":"tsc --project tsconfig.types.json","test:coverage":"jest --coverage"},"_npmUser":{"name":"akber","email":"akber@dyanet.com"},"repository":{"url":"git+https://github.com/dyanet/config-aws.git","type":"git"},"_npmVersion":"11.6.3","description":"AWS-integrated configuration management for NestJS applications with support for environment variables, AWS Secrets Manager, and AWS Systems Manager Parameter Store. Includes @nestjs/config integration for seamless compatibility.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@dyanet/config-aws":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"^3.22.0","jest":"^29.5.0","dotenv":"^17.2.1","rimraf":"^5.0.0","ts-jest":"^29.1.0","typescript":"^5.9.2","@types/jest":"^29.5.0","@types/node":"^20.0.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.3.0","@nestjs/testing":"^10.0.0","@aws-sdk/client-s3":"^3.0.0","@aws-sdk/client-ssm":"^3.0.0","@aws-sdk/credential-providers":"^3.0.0","@aws-sdk/client-secrets-manager":"^3.0.0"},"peerDependencies":{"zod":"^3.22.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0","@nestjs/config":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-config-aws_1.2.0-beta.1_1764187744720_0.65350252586165","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@dyanet/nestjs-config-aws","version":"1.2.0","keywords":["nestjs","configuration","aws","secrets-manager","ssm","parameter-store","typescript","zod","nestjs-config","integration","config-factory","config-module","aws-integration","configuration-management","environment-variables"],"author":{"name":"Dyanet"},"license":"MIT","_id":"@dyanet/nestjs-config-aws@1.2.0","maintainers":[{"name":"akber","email":"akber@dyanet.com"}],"homepage":"https://github.com/dyanet/config-aws/tree/main/packages/nestjs-config-aws","bugs":{"url":"https://github.com/dyanet/config-aws/issues"},"dist":{"shasum":"4763c775b15a280d9c6efa20f576f70204515729","tarball":"https://registry.npmjs.org/@dyanet/nestjs-config-aws/-/nestjs-config-aws-1.2.0.tgz","fileCount":198,"integrity":"sha512-gN3s1N8i8DbG1srYK0itCsTAKgnyPRqZIZJKgxdCp7fVfrPiJXcT2O4puMWyDPLkU225ljjorhCUyauwHynoTQ==","signatures":[{"sig":"MEUCIQDsa+YHIReqCpEztuxhm7Dt7UsCAZTdKWTKn5bJJGhd5gIgEYMnuwzv6QIADgd8YDCJdt894wDBhjZ2Uo7KoJezJSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2026459},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","engines":{"npm":">=10.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"5379a062991d67f720e5bc8ad9c7d87b5ede9e07","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"npm run clean && npm run build:types && npm run build:esm && npm run build:cjs","clean":"rimraf dist","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","typecheck":"tsc --noEmit","test:watch":"jest --watch","build:types":"tsc --project tsconfig.types.json","test:coverage":"jest --coverage"},"_npmUser":{"name":"akber","email":"akber@dyanet.com"},"repository":{"url":"git+https://github.com/dyanet/config-aws.git","type":"git"},"_npmVersion":"11.6.3","description":"AWS-integrated configuration management for NestJS applications with support for environment variables, AWS Secrets Manager, and AWS Systems Manager Parameter Store. Includes @nestjs/config integration for seamless compatibility.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@dyanet/config-aws":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.0","jest":"^29.5.0","dotenv":"^17.2.1","rimraf":"^6.0.0","ts-jest":"^29.1.0","typescript":"^5.9.2","@types/jest":"^29.5.0","@types/node":"^20.0.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.3.0","@nestjs/testing":"^10.0.0","@aws-sdk/client-s3":"^3.0.0","@aws-sdk/client-ssm":"^3.0.0","@aws-sdk/credential-providers":"^3.0.0","@aws-sdk/client-secrets-manager":"^3.0.0"},"peerDependencies":{"zod":"^3.22.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0","@nestjs/config":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-config-aws_1.2.0_1766298146596_0.17637089357655356","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@dyanet/nestjs-config-aws","version":"1.2.1","keywords":["nestjs","configuration","aws","secrets-manager","ssm","parameter-store","typescript","zod","nestjs-config","integration","config-factory","config-module","aws-integration","configuration-management","environment-variables"],"author":{"name":"Dyanet"},"license":"MIT","_id":"@dyanet/nestjs-config-aws@1.2.1","maintainers":[{"name":"akber","email":"akber@dyanet.com"}],"homepage":"https://github.com/dyanet/config-aws/tree/main/packages/nestjs-config-aws","bugs":{"url":"https://github.com/dyanet/config-aws/issues"},"dist":{"shasum":"908d8b6363fa6015d34cfea2e9998da49e75aaba","tarball":"https://registry.npmjs.org/@dyanet/nestjs-config-aws/-/nestjs-config-aws-1.2.1.tgz","fileCount":199,"integrity":"sha512-3CzOIA8c+jH0IDRxNpKfewXGIEORpTVd1wzeoo7FYYwmNw9agIxT83L6cpNGF8qqQBBzo4F7jodfTbdbXQFSAQ==","signatures":[{"sig":"MEUCIQDlFatq6025RAhWNfz+ah89s3BO9nHFR6AiIjNZIP+2SwIgI+3dcf9C3Ww+uDacmxEUDmV8WZoqKRD2aTD8aMM4B7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2027380},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","engines":{"npm":">=10.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"dd38556279b9ef2fb1a8bdbdf675cef06e5be20f","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"npm run clean && npm run build:types && npm run build:esm && npm run build:cjs","clean":"rimraf dist","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json && echo {\"type\":\"module\"} > dist/esm/package.json","typecheck":"tsc --noEmit","test:watch":"jest --watch","build:types":"tsc --project tsconfig.types.json","test:coverage":"jest --coverage"},"_npmUser":{"name":"akber","email":"akber@dyanet.com"},"repository":{"url":"git+https://github.com/dyanet/config-aws.git","type":"git"},"_npmVersion":"11.6.3","description":"AWS-integrated configuration management for NestJS applications with support for environment variables, AWS Secrets Manager, and AWS Systems Manager Parameter Store. Includes @nestjs/config integration for seamless compatibility.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@dyanet/config-aws":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.0","jest":"^29.5.0","dotenv":"^17.2.1","rimraf":"^6.0.0","ts-jest":"^29.1.0","typescript":"^5.9.2","@types/jest":"^29.5.0","@types/node":"^20.0.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.3.0","@nestjs/testing":"^10.0.0","@aws-sdk/client-s3":"^3.0.0","@aws-sdk/client-ssm":"^3.0.0","@aws-sdk/credential-providers":"^3.0.0","@aws-sdk/client-secrets-manager":"^3.0.0"},"peerDependencies":{"zod":"^3.22.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0","@nestjs/config":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-config-aws_1.2.1_1766523879387_0.40815499878448147","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@dyanet/nestjs-config-aws","version":"2.0.0","keywords":["nestjs","configuration","aws","secrets-manager","ssm","parameter-store","typescript","zod","nestjs-config","integration","config-factory","config-module","aws-integration","configuration-management","environment-variables"],"author":{"name":"Dyanet"},"license":"MIT","_id":"@dyanet/nestjs-config-aws@2.0.0","maintainers":[{"name":"akber","email":"akber@dyanet.com"}],"homepage":"https://github.com/dyanet/config-aws/tree/main/packages/nestjs-config-aws","bugs":{"url":"https://github.com/dyanet/config-aws/issues"},"dist":{"shasum":"098a48adcf7def523537fcf01fcf222a4e508821","tarball":"https://registry.npmjs.org/@dyanet/nestjs-config-aws/-/nestjs-config-aws-2.0.0.tgz","fileCount":41,"integrity":"sha512-+S3rcanNPygKZH/5ZGfUyyYba9zy82XVOnB656AoqPE92TV/mlgy7+Aafn2Co9hOMz9HX3a3xp3FXwbCHJSJVA==","signatures":[{"sig":"MEQCIG5CO+Wt+xkqiZpunvuWGI8CQQlrYDvocF9RVdYXlNLrAiB//+ar0S8mXoOHNQVy46KvHKN+fnHytHpvt7e6ao04Jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dyanet%2fnestjs-config-aws@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184237},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","engines":{"npm":">=10.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"bd5197b54eb0e055fe5c0f5fe58ff62b2cffb2ad","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"npm run clean && npm run build:types && npm run build:esm && npm run build:cjs && npm run build:postbuild","clean":"rimraf dist","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","typecheck":"tsc --noEmit","test:watch":"jest --watch","build:types":"tsc --project tsconfig.types.json","test:coverage":"jest --coverage","build:postbuild":"node ../../scripts/postbuild.mjs ./dist"},"_npmUser":{"name":"akber","email":"akber@dyanet.com"},"repository":{"url":"git+https://github.com/dyanet/config-aws.git","type":"git"},"_npmVersion":"10.8.2","description":"AWS-integrated configuration management for NestJS applications with support for environment variables, AWS Secrets Manager, and AWS Systems Manager Parameter Store. Provides an injectable ConfigService and an awsConfigLoader factory for @nestjs/config.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dyanet/config-aws":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.0","jest":"^29.5.0","dotenv":"^17.2.1","rimraf":"^6.0.0","ts-jest":"^29.1.0","typescript":"^5.9.2","@types/jest":"^29.5.0","@types/node":"^20.0.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.3.0","@nestjs/testing":"^10.0.0","@aws-sdk/client-s3":"^3.0.0","@aws-sdk/client-ssm":"^3.0.0","@aws-sdk/credential-providers":"^3.0.0","@aws-sdk/client-secrets-manager":"^3.0.0"},"peerDependencies":{"zod":"^3.22.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/config":"^3.0.0 || ^4.0.0"},"peerDependenciesMeta":{"@nestjs/config":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-config-aws_2.0.0_1779952164129_0.00863144758987544","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"_id":"@dyanet/nestjs-config-aws@2.0.1","bugs":{"url":"https://github.com/dyanet/config-aws/issues"},"dist":{"shasum":"935dce2684a0c49fb0c993c0ac865034520bd458","tarball":"https://registry.npmjs.org/@dyanet/nestjs-config-aws/-/nestjs-config-aws-2.0.1.tgz","integrity":"sha512-Ey9avEQ0SXHO6q5/KjUkj7FO2x9ppB1dPX1Yhcp7ZjduNJr5c12nF9OMswsvFWHSv+Ni2rb9TNEcQIZpg6pgdg==","fileCount":41,"unpackedSize":184237,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dyanet%2fnestjs-config-aws@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCMlpuw/wwzxwUeJASrDoWzknSGjlGJq6XMSvKzqAubFQIhAPIb1mg/vjZka7mjCDKB3Nf/pA8NId17dOrX4hz8gVAd"}]},"main":"dist/cjs/index.js","name":"@dyanet/nestjs-config-aws","types":"dist/types/index.d.ts","author":{"name":"Dyanet"},"module":"dist/esm/index.js","engines":{"npm":">=10.0.0","node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"a373b4982b7836a25ff22d1c593ebf3c48503718","license":"MIT","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"npm run clean && npm run build:types && npm run build:esm && npm run build:cjs && npm run build:postbuild","clean":"rimraf dist","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","typecheck":"tsc --noEmit","test:watch":"jest --watch","build:types":"tsc --project tsconfig.types.json","test:coverage":"jest --coverage","build:postbuild":"node ../../scripts/postbuild.mjs ./dist"},"version":"2.0.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:82c3653e-7f3c-4760-9167-e7a9cfbb76af"},"approver":{"name":"akber","email":"akber@dyanet.com"}},"homepage":"https://github.com/dyanet/config-aws/tree/main/packages/nestjs-config-aws","keywords":["nestjs","configuration","aws","secrets-manager","ssm","parameter-store","typescript","zod","nestjs-config","integration","config-factory","config-module","aws-integration","configuration-management","environment-variables"],"repository":{"url":"git+https://github.com/dyanet/config-aws.git","type":"git"},"_npmVersion":"12.1.0","description":"AWS-integrated configuration management for NestJS applications with support for environment variables, AWS Secrets Manager, and AWS Systems Manager Parameter Store. Provides an injectable ConfigService and an awsConfigLoader factory for @nestjs/config.","directories":{},"maintainers":[{"name":"akber","email":"akber@dyanet.com"}],"_nodeVersion":"24.21.0","dependencies":{"@dyanet/config-aws":"^1.1.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"zod":"^3.22.0","jest":"^29.5.0","dotenv":"^17.2.1","rimraf":"^6.0.0","ts-jest":"^29.1.0","typescript":"^5.9.2","@types/jest":"^29.5.0","@types/node":"^20.0.0","@nestjs/core":"^11.2.6","@nestjs/common":"^11.2.6","@nestjs/config":"^4.0.4","@nestjs/testing":"^11.2.6","@aws-sdk/client-s3":"^3.0.0","@aws-sdk/client-ssm":"^3.0.0","@aws-sdk/credential-providers":"^3.0.0","@aws-sdk/client-secrets-manager":"^3.0.0"},"peerDependencies":{"zod":"^3.22.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/config":"^3.0.0 || ^4.0.0"},"peerDependenciesMeta":{"@nestjs/config":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-config-aws_2.0.1_1790520978014_0.6906287968291698"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-08T09:51:45.781Z","modified":"2026-09-27T14:56:18.384Z","1.0.1":"2025-09-08T09:51:46.077Z","1.2.0-beta.1":"2025-11-26T20:09:04.956Z","1.2.0":"2025-12-21T06:22:26.808Z","1.2.1":"2025-12-23T21:04:39.563Z","2.0.0":"2026-05-28T07:09:24.299Z","2.0.1":"2026-09-27T14:56:18.101Z"},"bugs":{"url":"https://github.com/dyanet/config-aws/issues"},"author":{"name":"Dyanet"},"license":"MIT","homepage":"https://github.com/dyanet/config-aws/tree/main/packages/nestjs-config-aws","keywords":["nestjs","configuration","aws","secrets-manager","ssm","parameter-store","typescript","zod","nestjs-config","integration","config-factory","config-module","aws-integration","configuration-management","environment-variables"],"repository":{"url":"git+https://github.com/dyanet/config-aws.git","type":"git"},"description":"AWS-integrated configuration management for NestJS applications with support for environment variables, AWS Secrets Manager, and AWS Systems Manager Parameter Store. Provides an injectable ConfigService and an awsConfigLoader factory for @nestjs/config.","maintainers":[{"name":"akber","email":"akber@dyanet.com"}],"readme":"# @dyanet/nestjs-config-aws\r\n\r\n[![npm version](https://img.shields.io/npm/v/@dyanet/nestjs-config-aws.svg)](https://www.npmjs.com/package/@dyanet/nestjs-config-aws)\r\n[![CI](https://github.com/dyanet/config-aws/actions/workflows/ci.yml/badge.svg)](https://github.com/dyanet/config-aws/actions/workflows/ci.yml)\r\n[![codecov](https://codecov.io/gh/dyanet/config-aws/flag/nestjs-config-aws/graph/badge.svg)](https://codecov.io/gh/dyanet/config-aws)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\nNestJS adapter for AWS configuration management. A thin wrapper around [@dyanet/config-aws](../config-aws) that provides NestJS dependency injection and module patterns.\r\n\r\n## Features\r\n\r\n- **NestJS Integration** - Full dependency injection support with `ConfigModule` and `ConfigService`\r\n- **@nestjs/config Compatibility** - Drop the `awsConfigLoader` factory into `@nestjs/config`'s `load` array\r\n- **Type Safety** - Full TypeScript support with Zod schema validation\r\n- **AWS Services** - Load configuration from Secrets Manager, SSM Parameter Store, S3\r\n- **Thin Adapter** - Minimal overhead, delegates to `@dyanet/config-aws` for all heavy lifting\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @dyanet/nestjs-config-aws\r\n```\r\n\r\n### Peer Dependencies\r\n\r\n```bash\r\nnpm install @nestjs/common @nestjs/core zod\r\n```\r\n\r\n`@nestjs/config` is an **optional** peer dependency — install it only if you use the\r\n`awsConfigLoader` factory with `@nestjs/config`'s `ConfigModule`:\r\n\r\n```bash\r\nnpm install @nestjs/config\r\n```\r\n\r\nFor AWS services, install the SDK clients you need:\r\n\r\n```bash\r\n# For Secrets Manager\r\nnpm install @aws-sdk/client-secrets-manager\r\n\r\n# For SSM Parameter Store\r\nnpm install @aws-sdk/client-ssm\r\n\r\n# For S3\r\nnpm install @aws-sdk/client-s3\r\n```\r\n\r\n## Quick Start\r\n\r\n### Basic Usage\r\n\r\n```typescript\r\n// app.module.ts\r\nimport { Module } from '@nestjs/common';\r\nimport { ConfigModule } from '@dyanet/nestjs-config-aws';\r\nimport { z } from 'zod';\r\n\r\nconst configSchema = z.object({\r\n  DATABASE_URL: z.string(),\r\n  API_KEY: z.string(),\r\n  PORT: z.coerce.number().default(3000),\r\n});\r\n\r\n@Module({\r\n  imports: [\r\n    ConfigModule.forRoot({\r\n      schema: configSchema,\r\n      // Simple flat AWS option — the same shape as the Next.js adapter's getConfig:\r\n      aws: { secretName: '/my-app/config', region: 'us-east-1' },\r\n    }),\r\n  ],\r\n})\r\nexport class AppModule {}\r\n```\r\n\r\n> `aws` is the recommended ergonomic shape. The verbose `secretsManagerConfig` /\r\n> `ssmConfig` options (with per-environment `paths`) remain available for advanced\r\n> control. When `schema` is omitted, values pass through unvalidated.\r\n\r\n### Using ConfigService\r\n\r\n```typescript\r\n// app.service.ts\r\nimport { Injectable } from '@nestjs/common';\r\nimport { ConfigService } from '@dyanet/nestjs-config-aws';\r\n\r\n@Injectable()\r\nexport class AppService {\r\n  constructor(private readonly config: ConfigService) {}\r\n\r\n  getDatabaseUrl(): string {\r\n    return this.config.get('DATABASE_URL');\r\n  }\r\n\r\n  getPort(): number {\r\n    return this.config.get('PORT');\r\n  }\r\n}\r\n```\r\n\r\n## ConfigModule\r\n\r\n### forRoot()\r\n\r\nSynchronous module registration with static options:\r\n\r\n```typescript\r\nimport { ConfigModule } from '@dyanet/nestjs-config-aws';\r\nimport { z } from 'zod';\r\n\r\nconst schema = z.object({\r\n  DATABASE_URL: z.string(),\r\n  PORT: z.coerce.number().default(3000),\r\n});\r\n\r\n@Module({\r\n  imports: [\r\n    ConfigModule.forRoot({\r\n      schema,\r\n      envPrefix: 'APP_',\r\n      secretsManagerConfig: {\r\n        enabled: true,\r\n        region: 'us-east-1',\r\n        paths: {\r\n          development: 'dev/',\r\n          production: 'prod/',\r\n        },\r\n      },\r\n      ssmConfig: {\r\n        enabled: true,\r\n        region: 'us-east-1',\r\n        decrypt: true,\r\n        paths: {\r\n          development: '/app/dev',\r\n          production: '/app/prod',\r\n        },\r\n      },\r\n    }),\r\n  ],\r\n})\r\nexport class AppModule {}\r\n```\r\n\r\n### forRootAsync()\r\n\r\nAsynchronous module registration with factory function:\r\n\r\n```typescript\r\nimport { ConfigModule } from '@dyanet/nestjs-config-aws';\r\nimport { SomeService } from './some.service';\r\n\r\n@Module({\r\n  imports: [\r\n    ConfigModule.forRootAsync({\r\n      imports: [SomeModule],\r\n      inject: [SomeService],\r\n      useFactory: async (someService: SomeService) => ({\r\n        schema: someService.getConfigSchema(),\r\n        envPrefix: 'APP_',\r\n        secretsManagerConfig: {\r\n          enabled: true,\r\n          region: await someService.getAwsRegion(),\r\n        },\r\n      }),\r\n    }),\r\n  ],\r\n})\r\nexport class AppModule {}\r\n```\r\n\r\n### Module Options\r\n\r\n| Option | Type | Default | Description |\r\n|--------|------|---------|-------------|\r\n| `schema` | `ZodType<T>` | Default schema | Zod schema for validation |\r\n| `envPrefix` | `string` | `undefined` | Prefix for environment variables |\r\n| `secretsManagerConfig` | `SecretsManagerConfig` | `undefined` | Secrets Manager configuration |\r\n| `ssmConfig` | `SSMConfig` | `undefined` | SSM Parameter Store configuration |\r\n| `ignoreValidationErrors` | `boolean` | `false` | Continue with partial config on validation errors |\r\n| `loadSync` | `boolean` | `false` | Load configuration synchronously |\r\n\r\n#### SecretsManagerConfig\r\n\r\n| Option | Type | Default | Description |\r\n|--------|------|---------|-------------|\r\n| `enabled` | `boolean` | `true` | Enable Secrets Manager integration |\r\n| `region` | `string` | `undefined` | AWS region |\r\n| `paths` | `object` | `undefined` | Environment-specific path prefixes |\r\n\r\n#### SSMConfig\r\n\r\n| Option | Type | Default | Description |\r\n|--------|------|---------|-------------|\r\n| `enabled` | `boolean` | `true` | Enable SSM Parameter Store integration |\r\n| `region` | `string` | `undefined` | AWS region |\r\n| `decrypt` | `boolean` | `true` | Decrypt SecureString parameters |\r\n| `paths` | `object` | `undefined` | Environment-specific path prefixes |\r\n\r\n## ConfigService\r\n\r\nThe `ConfigService` is automatically registered as a global provider:\r\n\r\n```typescript\r\nimport { Injectable } from '@nestjs/common';\r\nimport { ConfigService } from '@dyanet/nestjs-config-aws';\r\n\r\n@Injectable()\r\nexport class MyService {\r\n  constructor(private readonly config: ConfigService) {}\r\n\r\n  // Get a specific value\r\n  getValue(): string {\r\n    return this.config.get('MY_KEY');\r\n  }\r\n\r\n  // Get all configuration\r\n  getAllConfig() {\r\n    return this.config.getAll();\r\n  }\r\n\r\n  // Check if initialized\r\n  isReady(): boolean {\r\n    return this.config.isInitialized();\r\n  }\r\n\r\n  // Get current environment\r\n  getEnvironment(): string {\r\n    return this.config.getAppEnv();\r\n  }\r\n}\r\n```\r\n\r\n## @nestjs/config Integration\r\n\r\nTo feed AWS-sourced values into the standard `@nestjs/config` `ConfigModule`, use the\r\n`awsConfigLoader` factory. It builds the loader chain, loads from environment variables,\r\nSecrets Manager and SSM, and returns a plain config object — exactly the `ConfigFactory`\r\nshape `@nestjs/config` expects in its `load` array. There is no extra module to import,\r\nand `@nestjs/config` stays an **optional** peer dependency.\r\n\r\n```typescript\r\nimport { Module } from '@nestjs/common';\r\nimport { ConfigModule } from '@nestjs/config';\r\nimport { awsConfigLoader } from '@dyanet/nestjs-config-aws';\r\n\r\n@Module({\r\n  imports: [\r\n    ConfigModule.forRoot({\r\n      isGlobal: true,\r\n      load: [\r\n        awsConfigLoader({\r\n          schema: myConfigSchema, // optional Zod schema\r\n          aws: { secretName: '/my-app/config', region: 'us-east-1' },\r\n        }),\r\n      ],\r\n    }),\r\n  ],\r\n})\r\nexport class AppModule {}\r\n```\r\n\r\nThen read values through the standard `@nestjs/config` `ConfigService` as usual.\r\n\r\n### Namespaced configuration\r\n\r\nCompose `awsConfigLoader` with `@nestjs/config`'s own `registerAs`:\r\n\r\n```typescript\r\nimport { ConfigModule, registerAs } from '@nestjs/config';\r\nimport { awsConfigLoader } from '@dyanet/nestjs-config-aws';\r\n\r\nConfigModule.forRoot({\r\n  load: [\r\n    registerAs('database', awsConfigLoader({ ssmConfig: { paths: { production: '/db' } } })),\r\n  ],\r\n});\r\n```\r\n\r\n### Async / dependency-injected options\r\n\r\n`awsConfigLoader` is a plain function, so build its options however you like — including\r\ninside `ConfigModule.forRootAsync`'s `useFactory` — and pass the resulting factory to `load`.\r\n\r\n`awsConfigLoader` accepts: `schema`, `secretsManagerConfig`, `ssmConfig`, `envPrefix`,\r\n`precedence` (`'aws-first'` | `'local-first'` | custom; default `'aws-first'`), `validate`\r\n(default: on when a `schema` is given), and `enableLogging`.\r\n\r\n## Migrating from v1.x\r\n\r\nv2.0.0 streamlines the `@nestjs/config` integration to the single `awsConfigLoader`\r\nfactory shown above. Use the table below to map v1.x usage to v2.x.\r\n\r\n| v1.x | v2.x |\r\n| --- | --- |\r\n| `NestConfigAwsIntegrationModule.forRoot(opts)` alongside `ConfigModule` | `ConfigModule.forRoot({ load: [awsConfigLoader(opts)] })` |\r\n| `NestConfigAwsIntegrationModule.forRootAsync({ useFactory })` | build options in your own `useFactory` and pass `awsConfigLoader(opts)` to `load` |\r\n| `namespaces: ['db']` option | `registerAs('db', awsConfigLoader(opts))` |\r\n| `createAwsConfigFactory` / `createConfigModuleFactory` / `createEnhancedConfigOptions` | `awsConfigLoader(opts)` |\r\n| Configuration decorators / typed-config registries | `@nestjs/config`'s `ConfigService` / `ConfigType` |\r\n\r\nThe standalone `ConfigModule.forRoot()` / `forRootAsync()` and the injectable\r\n`ConfigService` from this package are unchanged. All core re-exports (loaders,\r\n`ConfigManager`, errors, utilities) are unchanged.\r\n\r\n## Advanced Usage\r\n\r\n### Custom Loaders\r\n\r\nUse loaders from `@dyanet/config-aws` directly:\r\n\r\n```typescript\r\nimport { ConfigModule } from '@dyanet/nestjs-config-aws';\r\nimport { \r\n  EnvironmentLoader, \r\n  EnvFileLoader, \r\n  S3Loader,\r\n  SecretsManagerLoader,\r\n  SSMParameterStoreLoader,\r\n  ConfigManager \r\n} from '@dyanet/nestjs-config-aws';\r\n\r\n// Create custom ConfigManager\r\nconst configManager = new ConfigManager({\r\n  loaders: [\r\n    new EnvironmentLoader({ prefix: 'APP_' }),\r\n    new EnvFileLoader({ paths: ['.env', '.env.local'] }),\r\n    new S3Loader({ bucket: 'my-bucket', key: 'config.json' }),\r\n    new SecretsManagerLoader({ secretName: '/my-app/secrets' }),\r\n    new SSMParameterStoreLoader({ parameterPath: '/my-app/params' }),\r\n  ],\r\n  precedence: 'aws-first',\r\n  verbose: true,\r\n});\r\n```\r\n\r\n### Accessing ConfigManager\r\n\r\nGet the underlying `ConfigManager` for advanced use cases:\r\n\r\n```typescript\r\nimport { Injectable } from '@nestjs/common';\r\nimport { ConfigService, ConfigServiceImpl } from '@dyanet/nestjs-config-aws';\r\n\r\n@Injectable()\r\nexport class MyService {\r\n  constructor(private readonly config: ConfigService) {}\r\n\r\n  getLoadResult() {\r\n    // Access ConfigManager directly\r\n    const impl = this.config as ConfigServiceImpl;\r\n    return impl.getConfigManager().getLoadResult();\r\n  }\r\n}\r\n```\r\n\r\n## Re-exported Types\r\n\r\nAll types from `@dyanet/config-aws` are re-exported for convenience:\r\n\r\n```typescript\r\nimport {\r\n  // Loaders\r\n  EnvironmentLoader,\r\n  EnvFileLoader,\r\n  S3Loader,\r\n  SecretsManagerLoader,\r\n  SSMParameterStoreLoader,\r\n  \r\n  // ConfigManager\r\n  ConfigManager,\r\n  \r\n  // Error classes\r\n  ConfigurationError,\r\n  ValidationError,\r\n  AWSServiceError,\r\n  ConfigurationLoadError,\r\n  MissingConfigurationError,\r\n  \r\n  // Utilities\r\n  ConfigValidationUtil,\r\n  EnvFileParser,\r\n  \r\n  // Types\r\n  ConfigLoader,\r\n  ConfigManagerOptions,\r\n  LoaderPrecedence,\r\n  VerboseOptions,\r\n} from '@dyanet/nestjs-config-aws';\r\n```\r\n\r\n## Related Packages\r\n\r\n- **[@dyanet/config-aws](../config-aws)** - Framework-agnostic core library\r\n- **[@dyanet/nextjs-config-aws](../nextjs-config-aws)** - Next.js adapter\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}