{"_id":"@donswayo/pulumi-sveltekit-aws","_rev":"3-e99d54ac6045307bd6427fcf22b52dd1","name":"@donswayo/pulumi-sveltekit-aws","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@donswayo/pulumi-sveltekit-aws","version":"0.1.0","license":"MIT","_id":"@donswayo/pulumi-sveltekit-aws@0.1.0","maintainers":[{"name":"donswayo","email":"DJWAYOMIX@gmail.com"}],"dist":{"shasum":"69772ce7d026ecf519828e0d0fbee5f8e9a4a8a8","tarball":"https://registry.npmjs.org/@donswayo/pulumi-sveltekit-aws/-/pulumi-sveltekit-aws-0.1.0.tgz","fileCount":31,"integrity":"sha512-6hHHR6DvieVGfCoKhCETEEVBIh5P6028pn0yQMevMmcyL/zV/K1fB+XzCa9Q8z+MztI9nQlEeQ/SpJWJGyxOfw==","signatures":[{"sig":"MEUCIAajShwEPH2NFOCwdQk5coRtQ0+QTBNEt0SFbGqcE/L8AiEAxP7UTbroqOFu53h1dmllIvm1KRcgLMVKtfXm+UE2I/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37822},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapter":{"types":"./dist/adapter/index.d.ts","import":"./dist/adapter/index.js"}},"gitHead":"9df25ca6d429c65111ecddb4e5d1b79d93eb7a99","scripts":{"dev":"tsc --watch","build":"tsc && cp -r templates dist/","check-types":"tsc --noEmit"},"_npmUser":{"name":"donswayo","email":"DJWAYOMIX@gmail.com"},"_npmVersion":"10.9.2","description":"SvelteKit adapter and Pulumi components for deploying to AWS","directories":{},"_nodeVersion":"22.14.0","dependencies":{"globby":"^14.0.2","archiver":"^7.0.1","mime-types":"^2.1.35","@pulumi/aws":"^6.83.0","@pulumi/pulumi":"^3.147.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.15.30","@sveltejs/kit":"^2.15.0","@types/archiver":"^6.0.3","@types/mime-types":"^2.1.4","@repo/typescript-config":"workspace:*"},"peerDependencies":{"@sveltejs/kit":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-sveltekit-aws_0.1.0_1756637937742_0.9074267638841984","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@donswayo/pulumi-sveltekit-aws","version":"0.1.1","license":"MIT","_id":"@donswayo/pulumi-sveltekit-aws@0.1.1","maintainers":[{"name":"donswayo","email":"DJWAYOMIX@gmail.com"}],"dist":{"shasum":"4434f48dad1470569c46cda1b08fd6d813c4008c","tarball":"https://registry.npmjs.org/@donswayo/pulumi-sveltekit-aws/-/pulumi-sveltekit-aws-0.1.1.tgz","fileCount":31,"integrity":"sha512-AddCQCydSpiI9weAoe+2H8zJWsbHHO9zQKtwf67wasTFzgKzfACUvT2iDf5cA94QcAyZRNcFFDzeMs9nT3ulww==","signatures":[{"sig":"MEUCIAzZEgmTZXEdsLqYY/N5zD1A5LWzYxjVq5NeT9kE63YsAiEAhE3ILyUBNx5qh05r1KTPfceit9WK3RLZoywPv3Lbn7w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37833},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapter":{"types":"./dist/adapter/index.d.ts","import":"./dist/adapter/index.js"}},"gitHead":"978ca5530d85e18dce798bb2359e353b34cfad9a","scripts":{"dev":"tsc --watch","build":"tsc && cp -r templates dist/","check-types":"tsc --noEmit"},"_npmUser":{"name":"donswayo","email":"DJWAYOMIX@gmail.com"},"_npmVersion":"10.9.2","description":"SvelteKit adapter and Pulumi components for deploying to AWS","directories":{},"_nodeVersion":"22.14.0","dependencies":{"globby":"catalog:","archiver":"catalog:","mime-types":"catalog:","@pulumi/aws":"catalog:","@pulumi/pulumi":"catalog:"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"catalog:","@types/node":"catalog:","@sveltejs/kit":"catalog:","@types/archiver":"catalog:","@types/mime-types":"catalog:","@repo/typescript-config":"workspace:*"},"peerDependencies":{"@sveltejs/kit":"catalog:"},"_npmOperationalInternal":{"tmp":"tmp/pulumi-sveltekit-aws_0.1.1_1756643778625_0.7303804996513312","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@donswayo/pulumi-sveltekit-aws","version":"0.1.2","description":"SvelteKit adapter and Pulumi components for deploying to AWS","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./adapter":{"types":"./dist/adapter/index.d.ts","import":"./dist/adapter/index.js"}},"dependencies":{"@pulumi/aws":"^7.6.0","@pulumi/pulumi":"^3.192.0","archiver":"^7.0.1","globby":"^14.0.2","mime-types":"^3.0.1"},"devDependencies":{"@sveltejs/kit":"^2.37.0","@types/archiver":"^6.0.3","@types/mime-types":"^3.0.1","@types/node":"^24.3.0","typescript":"^5.9.2","@repo/typescript-config":"0.0.0"},"peerDependencies":{"@sveltejs/kit":"^2.37.0"},"license":"MIT","publishConfig":{"access":"public"},"scripts":{"build":"tsc && cp -r templates dist/","dev":"tsc --watch","check-types":"tsc --noEmit"},"_id":"@donswayo/pulumi-sveltekit-aws@0.1.2","_integrity":"sha512-s08XDtWThelJNTSEKheGka3+J7qrM4yiAysao6zKCV/s9AONn2JZIw5BM+TKpte+4p5jQE/U4huKtZFryK1SQQ==","_resolved":"/private/var/folders/ty/jq_9rtsx1gbdyj0szz_8l8dh0000gn/T/a71cffea29e923a3d1ed14f007fd0ccd/donswayo-pulumi-sveltekit-aws-0.1.2.tgz","_from":"file:donswayo-pulumi-sveltekit-aws-0.1.2.tgz","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-s08XDtWThelJNTSEKheGka3+J7qrM4yiAysao6zKCV/s9AONn2JZIw5BM+TKpte+4p5jQE/U4huKtZFryK1SQQ==","shasum":"cc8012d964b1bc5756074b6c4561549a1808ca54","tarball":"https://registry.npmjs.org/@donswayo/pulumi-sveltekit-aws/-/pulumi-sveltekit-aws-0.1.2.tgz","fileCount":31,"unpackedSize":37811,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHEefYl/3pG2jJTmgyqyPipqoZifjLAPyliVECcZbxctAiA3HwxsLMC716V63lIqW7jrs/WusKXF1UQrU8VBtMuJUg=="}]},"_npmUser":{"name":"donswayo","email":"DJWAYOMIX@gmail.com"},"directories":{},"maintainers":[{"name":"donswayo","email":"DJWAYOMIX@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pulumi-sveltekit-aws_0.1.2_1756645823008_0.6905247989305774"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-31T10:58:57.671Z","modified":"2025-08-31T13:10:23.369Z","0.1.0":"2025-08-31T10:58:57.973Z","0.1.1":"2025-08-31T12:36:18.808Z","0.1.2":"2025-08-31T13:10:23.194Z"},"license":"MIT","description":"SvelteKit adapter and Pulumi components for deploying to AWS","maintainers":[{"name":"donswayo","email":"DJWAYOMIX@gmail.com"}],"readme":"# @donswayo/pulumi-sveltekit-aws\n\nA SvelteKit adapter and Pulumi library for deploying SvelteKit applications to AWS using Lambda, S3, and CloudFront.\n\n## Features\n\n- 🚀 Serverless deployment with AWS Lambda\n- 🌍 Global CDN with CloudFront\n- 📦 Static asset hosting with S3\n- ⚡ Optimized for performance\n- 🔧 Simple configuration\n- 🏗️ Infrastructure as Code with Pulumi\n\n## Installation\n\n```bash\npnpm add @donswayo/pulumi-sveltekit-aws\n```\n\n## Usage\n\n### 1. Configure the Adapter\n\nIn your `svelte.config.js`:\n\n```javascript\nimport adapter from '@donswayo/pulumi-sveltekit-aws/adapter';\n\n/** @type {import('@sveltejs/kit').Config} */\nconst config = {\n  kit: {\n    adapter: adapter({\n      out: '.svelte-kit-aws',\n      precompress: false,\n      polyfill: true,\n    })\n  }\n};\n\nexport default config;\n```\n\n### 2. Build Your App\n\n```bash\npnpm build\n```\n\nThis will create a `.svelte-kit-aws` directory with:\n- `server/` - Lambda function code\n- `static/` - Static assets\n- `prerendered/` - Prerendered pages\n- `metadata.json` - Deployment metadata\n\n### 3. Deploy with Pulumi\n\nCreate a Pulumi program:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport { SvelteKitAwsDeployment } from \"@repo/pulumi-sveltekit-aws\";\n\nconst app = new SvelteKitAwsDeployment(\"my-sveltekit-app\", {\n  buildPath: \"./apps/web/.svelte-kit-aws\",\n  \n  environment: {\n    NODE_ENV: \"production\",\n    PUBLIC_API_URL: \"https://api.example.com\",\n  },\n  \n  lambda: {\n    memory: 512,\n    timeout: 30,\n    architecture: \"arm64\",\n  },\n  \n  domain: {\n    name: \"app.example.com\",\n    certificateArn: \"arn:aws:acm:us-east-1:...:certificate/...\",\n  },\n  \n  priceClass: \"PriceClass_100\",\n  \n  tags: {\n    Environment: \"production\",\n    Team: \"frontend\",\n  },\n});\n\nexport const url = app.url;\nexport const distributionId = app.distributionId;\n```\n\nDeploy:\n\n```bash\npulumi up\n```\n\n## Configuration\n\n### Adapter Options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `out` | `string` | `.svelte-kit-aws` | Output directory for build |\n| `precompress` | `boolean` | `false` | Precompress static assets |\n| `envPrefix` | `string` | `\"\"` | Environment variable prefix filter |\n| `polyfill` | `boolean` | `true` | Add Node.js polyfills |\n\n### Deployment Options\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `buildPath` | `string` | Path to adapter build output |\n| `environment` | `Record<string, string>` | Environment variables for Lambda |\n| `domain` | `{ name, certificateArn }` | Custom domain configuration |\n| `lambda` | `{ memory, timeout, architecture }` | Lambda configuration |\n| `priceClass` | `string` | CloudFront price class |\n| `tags` | `Record<string, string>` | AWS resource tags |\n\n## Architecture\n\nThe deployment creates:\n\n1. **Lambda Function** - Handles server-side rendering and API routes\n2. **S3 Bucket** - Stores static assets and prerendered pages\n3. **CloudFront Distribution** - Global CDN with intelligent routing\n4. **IAM Roles** - Proper permissions for all services\n\n### Request Flow\n\n1. CloudFront receives request\n2. Static assets (`_app/*`, `*.js`, `*.css`, etc.) are served from S3\n3. Dynamic requests are forwarded to Lambda\n4. Lambda renders the page and returns the response\n\n## Advanced Usage\n\nYou can use individual components for custom deployments:\n\n```typescript\nimport {\n  createS3Bucket,\n  createServerFunction,\n  createCloudFrontDistribution,\n} from \"@repo/pulumi-sveltekit-aws\";\n\n// Custom deployment logic\n```\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Build the package\npnpm build\n\n# Type check\npnpm check-types\n```\n\n## License\n\nMIT","readmeFilename":"README.md"}