{"_id":"@c0b41/vite-plugin-minify-gql","name":"@c0b41/vite-plugin-minify-gql","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@c0b41/vite-plugin-minify-gql","version":"1.0.0","description":"Minify GraphQL gql tagged template literals at build time","type":"module","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit"},"keywords":["vite","plugin","graphql","gql","minify","template-literals"],"license":"MIT","engines":{"node":">=20.19.0","pnpm":">=9"},"peerDependencies":{"vite":">=5"},"dependencies":{"graphql":"^16.0.0","magic-string":"^0.30.0","parse-literals":"^1.0.0"},"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0","vite":"^8.0.0","vitest":"^4.1.0"},"_id":"@c0b41/vite-plugin-minify-gql@1.0.0","gitHead":"d4b3044a1a1f1bcb4dc240dea34025e68faf9e97","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-rQwfA0YwLw4bhUpgvPDMioCtUFGqQoohEah29KdtuUpwyFqLqc0ChTsywZ5GklF+t0+af18gFY+euT6coMKbgg==","shasum":"7c6b1885e9fb62e241c1fa39dc767c7299c92772","tarball":"https://registry.npmjs.org/@c0b41/vite-plugin-minify-gql/-/vite-plugin-minify-gql-1.0.0.tgz","fileCount":8,"unpackedSize":15277,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIENPacKoCxo1UhyXRqi8PMu8HoWe8npDXaM0t9UU4+a6AiBwFsSbaHff8av/iTma2/5nRS/lqCrtoZd//00bcz/RdQ=="}]},"_npmUser":{"name":"c0b41","email":"cobaimelan@gmail.com"},"directories":{},"maintainers":[{"name":"c0b41","email":"cobaimelan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vite-plugin-minify-gql_1.0.0_1773608193734_0.9766820384865771"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-15T20:56:33.594Z","1.0.0":"2026-03-15T20:56:33.899Z","modified":"2026-03-15T20:56:34.078Z"},"maintainers":[{"name":"c0b41","email":"cobaimelan@gmail.com"}],"description":"Minify GraphQL gql tagged template literals at build time","keywords":["vite","plugin","graphql","gql","minify","template-literals"],"license":"MIT","readme":"# vite-plugin-minify-gql\r\n\r\nMinify GraphQL `gql` tagged template literals at build time by stripping whitespace and comments — reducing bundle size with zero runtime cost.\r\n\r\n```ts\r\n// Source\r\nconst QUERY = gql`\r\n  query GetUser($id: ID!) {\r\n    # fetch the user\r\n    user(id: $id) {\r\n      id\r\n      name\r\n      email\r\n    }\r\n  }\r\n`\r\n\r\n// Output (after build)\r\nconst QUERY = gql`\r\n  query GetUser($id: ID!) {\r\n    user(id: $id) {\r\n      id\r\n      name\r\n      email\r\n    }\r\n  }\r\n`\r\n```\r\n\r\n## Install\r\n\r\n```bash\r\npnpm add -D @c0b41/vite-plugin-minify-gql\r\n```\r\n\r\n## Usage\r\n\r\n```ts\r\n// vite.config.ts\r\nimport { defineConfig } from 'vite'\r\nimport minifyGql from '@c0b41/vite-plugin-minify-gql'\r\n\r\nexport default defineConfig({\r\n  plugins: [minifyGql()],\r\n})\r\n```\r\n\r\n## Options\r\n\r\n| Option | Type       | Default              | Description                            |\r\n| ------ | ---------- | -------------------- | -------------------------------------- |\r\n| `tags` | `string[]` | `[\"gql\", \"graphql\"]` | Tagged template literal tags to minify |\r\n\r\n```ts\r\n// Custom tags (e.g. if you use a different import alias)\r\nminifyGql({ tags: ['gql', 'graphql', 'GQL'] })\r\n```\r\n\r\n## How it works\r\n\r\n1. **Fast early exit** — a regex checks if the file even contains a relevant tag before doing any real work, skipping the vast majority of files instantly\r\n2. **`parse-literals`** — finds all tagged template literals and their exact character positions in the source\r\n3. **`graphql/stripIgnoredCharacters`** — strips whitespace, comments, and redundant characters from the GraphQL string\r\n4. **`magic-string`** — patches the minified string back into the source at the correct positions while preserving sourcemaps\r\n\r\n## Requirements\r\n\r\n- Vite 5, 6, 7, or 8\r\n- Node.js >= 20.19.0\r\n- pnpm >= 9\r\n","readmeFilename":"readme.md","_rev":"1-06f2d8ed6b17c8f540b8b7c6c9b55176"}