{"_id":"@artamail/nuxt","_rev":"2-37cc687f9dc3211ffcac5780ad19da82","name":"@artamail/nuxt","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@artamail/nuxt","version":"0.1.0","keywords":["email","nuxt","nuxt-module","artamail","transactional"],"author":{"name":"Artatol"},"license":"MIT","_id":"@artamail/nuxt@0.1.0","maintainers":[{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"}],"homepage":"https://artamail.artatol.com/docs","bugs":{"url":"https://github.com/artatol/artamail/issues"},"dist":{"shasum":"92408a262bcbe851b1b3cae3cea84afb16d95540","tarball":"https://registry.npmjs.org/@artamail/nuxt/-/nuxt-0.1.0.tgz","fileCount":11,"integrity":"sha512-gWG/VHl+6cPYix9K0aLJyNVKmtXq/9HFtzpB/WjVOfqCF77slr+0ec4linIkrbAX9bHnXcyFvz8+37SWGmf2tg==","signatures":[{"sig":"MEQCIDsyg/i7ZCpcpxySIfWvLUq2lcfFf2obyvMYqNQCreCzAiAyvkVuryElEkzsv2WMK938ySDy+5AKP8c4Yr2XKHo8hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11541},"main":"./dist/module.mjs","type":"module","_from":"file:artamail-nuxt-0.1.0.tgz","types":"./dist/types.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types.d.ts","import":"./dist/module.mjs","require":"./dist/module.cjs"}},"scripts":{"dev":"nuxt-module-build build --watch","build":"nuxt-module-build build","clean":"rm -rf dist","typecheck":"echo 'Nuxt module types are checked during build'"},"_npmUser":{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"},"_resolved":"/private/var/folders/9x/wfkj1l0j56z0lywbzrkgrvs80000gn/T/29a8d36b1f3d5a64f9adc3cf19487331/artamail-nuxt-0.1.0.tgz","_integrity":"sha512-gWG/VHl+6cPYix9K0aLJyNVKmtXq/9HFtzpB/WjVOfqCF77slr+0ec4linIkrbAX9bHnXcyFvz8+37SWGmf2tg==","repository":{"url":"git+https://github.com/artatol/artamail.git","type":"git"},"_npmVersion":"10.8.2","description":"ArtaMail SDK module for Nuxt 3 applications","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^3.0.0","@artamail/sdk":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^3.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@nuxt/module-builder":"^0.8.0"},"peerDependencies":{"nuxt":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nuxt_0.1.0_1764632904789_0.9295065406944691","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@artamail/nuxt","version":"0.1.1","description":"ArtaMail SDK module for Nuxt 3 applications","type":"module","main":"./dist/module.mjs","types":"./dist/types.d.ts","exports":{".":{"types":"./dist/types.d.ts","import":"./dist/module.mjs","require":"./dist/module.cjs"}},"keywords":["email","nuxt","nuxt-module","artamail","transactional"],"author":{"name":"Artatol"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/artatol/artamail.git"},"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://github.com/artatol/artamail/issues"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"peerDependencies":{"nuxt":">=3.0.0"},"dependencies":{"@nuxt/kit":"^3.0.0","@artamail/sdk":"0.1.1"},"devDependencies":{"@nuxt/module-builder":"^0.8.0","@types/node":"^20.0.0","nuxt":"^3.0.0","typescript":"^5.0.0"},"engines":{"node":">=18.0.0"},"scripts":{"build":"nuxt-module-build build","dev":"nuxt-module-build build --watch","typecheck":"echo 'Nuxt module types are checked during build'","clean":"rm -rf dist"},"_id":"@artamail/nuxt@0.1.1","_integrity":"sha512-06GM3tkXpkk3+KLu2me/bjiPO9cbN2Sbh7kci/zSYmj8F+P2N5kPNZGF7r69IHterZMQYSaiomjZ2WG/bTKDFw==","_resolved":"/private/var/folders/9x/wfkj1l0j56z0lywbzrkgrvs80000gn/T/135c4002adec54b0461dbe6583f9ffae/artamail-nuxt-0.1.1.tgz","_from":"file:artamail-nuxt-0.1.1.tgz","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-06GM3tkXpkk3+KLu2me/bjiPO9cbN2Sbh7kci/zSYmj8F+P2N5kPNZGF7r69IHterZMQYSaiomjZ2WG/bTKDFw==","shasum":"56f225128e42241150d31f929f91a1d6959099a2","tarball":"https://registry.npmjs.org/@artamail/nuxt/-/nuxt-0.1.1.tgz","fileCount":11,"unpackedSize":11541,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDayDs0oX3imuFkc5wMVNI8IpMLlrCIrCQU4jkPYx/u4wIhAM2eUPl4ZH6YWW/EOZAZv5ll+RRr9z9qRioOg9IyXcJf"}]},"_npmUser":{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"},"directories":{},"maintainers":[{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nuxt_0.1.1_1765128275903_0.6171679831147567"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-01T23:48:24.718Z","modified":"2025-12-07T17:24:36.279Z","0.1.0":"2025-12-01T23:48:25.055Z","0.1.1":"2025-12-07T17:24:36.063Z"},"bugs":{"url":"https://github.com/artatol/artamail/issues"},"author":{"name":"Artatol"},"license":"MIT","homepage":"https://artamail.artatol.net/docs","keywords":["email","nuxt","nuxt-module","artamail","transactional"],"repository":{"type":"git","url":"git+https://github.com/artatol/artamail.git"},"description":"ArtaMail SDK module for Nuxt 3 applications","maintainers":[{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"}],"readme":"# @artamail/nuxt\n\nArtaMail SDK module for Nuxt 3 applications. Send transactional and marketing emails with ease.\n\n## Installation\n\n```bash\npnpm add @artamail/nuxt\n# or\nnpm install @artamail/nuxt\n```\n\n## Setup\n\nAdd the module to your `nuxt.config.ts`:\n\n```ts\nexport default defineNuxtConfig({\n  modules: ['@artamail/nuxt'],\n\n  artamail: {\n    apiKey: process.env.ARTAMAIL_API_KEY\n  }\n});\n```\n\nOr use environment variables:\n\n```env\nNUXT_ARTAMAIL_API_KEY=am_live_sk_xxx\n```\n\n## Usage\n\n### In Server API Routes\n\n```ts\n// server/api/send-email.post.ts\nexport default defineEventHandler(async (event) => {\n  const body = await readBody(event);\n\n  const result = await sendEmail({\n    to: body.email,\n    template: 'welcome',\n    data: { name: body.name }\n  });\n\n  return result;\n});\n```\n\n### Using the Client Directly\n\n```ts\n// server/api/templates.get.ts\nexport default defineEventHandler(async () => {\n  const artamail = useArtaMail();\n  return artamail.listTemplates();\n});\n```\n\n### Sending Batch Emails\n\n```ts\n// server/api/notify.post.ts\nexport default defineEventHandler(async (event) => {\n  const { users, message } = await readBody(event);\n\n  const result = await sendBatchEmails({\n    emails: users.map(user => ({\n      to: user.email,\n      template: 'notification',\n      data: { name: user.name, message }\n    }))\n  });\n\n  return result;\n});\n```\n\n## Configuration\n\n### Module Options\n\n```ts\nexport default defineNuxtConfig({\n  modules: ['@artamail/nuxt'],\n\n  artamail: {\n    // API key (required)\n    apiKey: 'am_live_sk_xxx',\n\n    // Base URL (optional)\n    baseUrl: 'https://mail.artamail.com',\n\n    // Request timeout in ms (default: 30000)\n    timeout: 30000,\n\n    // Retry attempts (default: 3)\n    retries: 3\n  }\n});\n```\n\n### Environment Variables\n\nAll options can be set via environment variables:\n\n```env\nNUXT_ARTAMAIL_API_KEY=am_live_sk_xxx\nNUXT_ARTAMAIL_BASE_URL=https://mail.artamail.com\nNUXT_ARTAMAIL_TIMEOUT=30000\nNUXT_ARTAMAIL_RETRIES=3\n```\n\n## Server Composables\n\n### `useArtaMail()`\n\nGet the ArtaMail client instance:\n\n```ts\nconst artamail = useArtaMail();\n\n// Send email\nawait artamail.send({ to: '...', template: '...', data: {} });\n\n// Get templates\nconst templates = await artamail.listTemplates();\n\n// Manage contacts\nawait artamail.upsertContact({ email: '...', name: '...' });\n```\n\n### `sendEmail(options)`\n\nSend a single email:\n\n```ts\nconst result = await sendEmail({\n  to: 'user@example.com',\n  template: 'welcome',\n  data: { name: 'John' },\n  priority: 'high'\n});\n```\n\n### `sendBatchEmails(options)`\n\nSend multiple emails:\n\n```ts\nconst result = await sendBatchEmails({\n  emails: [\n    { to: 'user1@example.com', template: 'notification', data: { ... } },\n    { to: 'user2@example.com', template: 'notification', data: { ... } },\n  ]\n});\n```\n\n## Error Handling\n\n```ts\nimport {\n  ValidationError,\n  AuthenticationError,\n  RateLimitError\n} from '@artamail/sdk';\n\nexport default defineEventHandler(async (event) => {\n  try {\n    return await sendEmail({ ... });\n  } catch (error) {\n    if (error instanceof ValidationError) {\n      throw createError({ statusCode: 400, message: error.message });\n    }\n    if (error instanceof AuthenticationError) {\n      throw createError({ statusCode: 401, message: 'Invalid API key' });\n    }\n    if (error instanceof RateLimitError) {\n      throw createError({ statusCode: 429, message: 'Rate limited' });\n    }\n    throw error;\n  }\n});\n```\n\n## TypeScript\n\nFull TypeScript support:\n\n```ts\nimport type {\n  SendEmailOptions,\n  SendEmailResult,\n  Template,\n  Contact\n} from '@artamail/sdk';\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}