{"_rev":"2-3d7d8d35afef8df37611b999e49237cc","time":{"created":"2025-02-13T14:31:35.024Z","modified":"2025-02-13T14:31:35.668Z","1.0.0":"2025-02-13T14:22:11.451Z","0.0.1":"2025-02-13T14:31:35.314Z"},"_id":"@a-it/nuxt-s3-module","name":"@a-it/nuxt-s3-module","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@a-it/nuxt-s3-module","version":"0.0.1","private":false,"publishConfig":{"access":"public"},"description":"Upload your Nuxt static files to S3-compatible storage after build.","repository":{"type":"git","url":"git@gitlab.a-it.org:asar-studio/infrastructure/nuxt-s3-module.git"},"license":"MIT","type":"module","exports":{".":{"types":"./dist/types.d.ts","import":"./dist/module.mjs","require":"./dist/module.cjs"}},"main":"./dist/module.cjs","types":"./dist/types.d.ts","scripts":{"prepack":"nuxt-module-build build","dev":"nuxi dev playground","dev:build":"nuxi build playground","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","dev:prepare2":"nuxi prepare playground","release":"npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags","lint":"eslint . --fix","test":"vitest run","test:watch":"vitest watch","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit"},"dependencies":{"@aws-sdk/client-s3":"^3.744.0","@nuxt/kit":"^3.15.4","defu":"^6.1.4","lodash":"^4.17.21","mime-types":"^2.1.35","recursive-readdir":"^2.2.3"},"devDependencies":{"@nuxt/devtools":"^2.0.0","@nuxt/eslint-config":"^1.0.1","@nuxt/module-builder":"latest","@nuxt/schema":"^3.15.4","@nuxt/test-utils":"^3.15.4","@types/lodash":"^4.17.15","@types/node":"latest","@vitest/coverage-v8":"3.0.5","changelogen":"^0.5.7","eslint":"^9.20.1","nuxt":"^3.15.4","semantic-release":"^22.0.0","typescript":"~5.7.3","vitest":"^3.0.5","vue-tsc":"^2.2.0"},"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","_id":"@a-it/nuxt-s3-module@0.0.1","gitHead":"2f7fce79c35867647d0784469504fe78963eda35","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-etPc6clfZ1AI9svb9gNkKirj1Lq/6pdyHsNt4QS51siu0cEPaV0boNU353Zh2rIuC6fklihlvLn6LqUPtIVuNA==","shasum":"96743d4c43533139a05c7e94b74960262a7255e8","tarball":"https://registry.npmjs.org/@a-it/nuxt-s3-module/-/nuxt-s3-module-0.0.1.tgz","fileCount":9,"unpackedSize":12034,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDVrOTSl9Sz1njiVPYVOlooRGDq7D1TL3l3uhEWXgEi/QIhAIolFthzk2AfgpFISYrf82Pz0O8vtOW3mOEO0lNt4zbB"}]},"_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"directories":{},"maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nuxt-s3-module_0.0.1_1739457095143_0.9219560114827756"},"_hasShrinkwrap":false}},"maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"description":"Upload your Nuxt static files to S3-compatible storage after build.","repository":{"type":"git","url":"git@gitlab.a-it.org:asar-studio/infrastructure/nuxt-s3-module.git"},"license":"MIT","readme":"<!--\nGet your module up and running quickly.\n\nFind and replace all on all files (CMD+SHIFT+F):\n- Name: My Module\n- Package name: my-module\n- Description: My new Nuxt module\n-->\n\n# Nuxt S3 Upload Module\n\n[![npm version][npm-version-src]][npm-version-href]\n[![npm downloads][npm-downloads-src]][npm-downloads-href]\n[![License][license-src]][license-href]\n[![Nuxt][nuxt-src]][nuxt-href]\n\nAutomatically upload your Nuxt static files to S3-compatible storage after build.\n\n- [✨ &nbsp;Release Notes](/CHANGELOG.md)\n<!-- - [🏀 Online playground](https://stackblitz.com/github/your-org/my-module?file=playground%2Fapp.vue) -->\n<!-- - [📖 &nbsp;Documentation](https://example.com) -->\n\n## Features\n\n- 🚀 &nbsp;Automatic uploads after build\n- 🔐 &nbsp;Secure credential management via environment variables\n- 💪 &nbsp;Support for any S3-compatible storage\n- 📁 &nbsp;Custom base path support\n- ⚡️ &nbsp;Zero configuration with environment variables\n\n## Quick Setup\n\n1. Install the module:\n\n```bash\n# npm\nnpm install @a-it/nuxt-s3-module\n\n# yarn\nyarn add @a-it/nuxt-s3-module\n\n# pnpm\npnpm install @a-it/nuxt-s3-module\n```\n\n2. Add the module to your `nuxt.config.ts`:\n\n```ts\nexport default defineNuxtConfig({\n  modules: ['@a-it/nuxt-s3-module'],\n  s3: {\n    // Optional: Configure via options (environment variables preferred)\n    bucket: 'my-bucket',\n    region: 'us-east-1',\n    // basePath: 'my-app/', // Optional: prefix for uploaded files\n  }\n})\n```\n\n3. Set up your environment variables:\n\n```bash\nS3_ACCESS_KEY_ID=your_access_key\nS3_SECRET_ACCESS_KEY=your_secret_key\nS3_BUCKET=your_bucket_name\nS3_REGION=your_region           # Required: AWS Region\nS3_ENDPOINT=your_endpoint       # Optional: for S3-compatible storage\nS3_BASE_PATH=your_base_path     # Optional: prefix for uploaded files\n```\n\n## Configuration\n\nThe module can be configured through environment variables (recommended) or module options:\n\n| Environment Variable   | Option          | Description                                    | Required |\n|--------------------|-----------------|------------------------------------------------|----------|\n| S3_ACCESS_KEY_ID   | accessKeyId     | S3 Access Key ID                              | Yes      |\n| S3_SECRET_ACCESS_KEY| secretAccessKey | S3 Secret Access Key                          | Yes      |\n| S3_BUCKET          | bucket          | S3 Bucket name                                | Yes      |\n| S3_REGION          | region          | AWS Region                                    | Yes      |\n| S3_ENDPOINT        | endpoint        | Custom endpoint for S3-compatible storage     | No       |\n| S3_BASE_PATH       | basePath        | Base path prefix for uploaded files           | No       |\n\n> Note: Environment variables take precedence over module options.\n\n## License\n\n[MIT License](./LICENSE)\n\n## Development\n\n<details>\n  <summary>Local development</summary>\n  \n  ```bash\n  # Install dependencies\n  npm install\n  \n  # Generate type stubs\n  npm run dev:prepare\n  \n  # Develop with the playground\n  npm run dev\n  \n  # Build the playground\n  npm run dev:build\n  \n  # Run ESLint\n  npm run lint\n  \n  # Run Vitest\n  npm run test\n  npm run test:watch\n  \n  # Release new version\n  npm run release\n  ```\n\n</details>\n\n\n<!-- Badges -->\n[npm-version-src]: https://img.shields.io/npm/v/@a-it/nuxt-s3-module/latest.svg?style=flat&colorA=020420&colorB=00DC82\n[npm-version-href]: https://npmjs.com/package/@a-it/nuxt-s3-module\n\n[npm-downloads-src]: https://img.shields.io/npm/dm/@a-it/nuxt-s3-module.svg?style=flat&colorA=020420&colorB=00DC82\n[npm-downloads-href]: https://npmjs.com/package/@a-it/nuxt-s3-module\n\n[license-src]: https://img.shields.io/npm/l/@a-it/nuxt-s3-module.svg?style=flat&colorA=020420&colorB=00DC82\n[license-href]: https://npmjs.com/package/@a-it/nuxt-s3-module\n\n[nuxt-src]: https://img.shields.io/badge/Nuxt-020420?logo=nuxt.js\n[nuxt-href]: https://nuxt.com\n","readmeFilename":"README.md"}