{"_id":"@a-it/imgproxy-blinkloader","_rev":"5-7638126f0f895e05d339fef895a96d58","name":"@a-it/imgproxy-blinkloader","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.1":{"name":"@a-it/imgproxy-blinkloader","version":"0.0.1","keywords":["imgproxy","image-optimization","lazy-loading","typescript","responsive-images"],"author":{"name":"George Pogosyan george.pogosyan@a-it.org"},"license":"MIT","_id":"@a-it/imgproxy-blinkloader@0.0.1","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"homepage":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader","bugs":{"url":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader"},"dist":{"shasum":"52b52454d7738ea0ccb8e4450160b2ee12a32cb8","tarball":"https://registry.npmjs.org/@a-it/imgproxy-blinkloader/-/imgproxy-blinkloader-0.0.1.tgz","fileCount":22,"integrity":"sha512-9JJuRHb5TvDM5eexef5EiGgF8ygZPTk1Zn36QRfGpgwB5x85ynHMTnVqVRVSpcV8LRa1fhETMn0tKuk1ur8dug==","signatures":[{"sig":"MEQCIBwmiT2ih6CPLN32vaQa2TPm5/ZXVuWjbwpbxv15spnhAiBU7H4dSQxBl0VH7XPpQulYxypEearMfPPA3sl1B1hZ8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27481},"main":"dist/blinkloader.js","type":"module","types":"dist/blinkloader.d.ts","gitHead":"59c0c2bd75ac0a834950743b425bea205f9819f9","private":false,"scripts":{"dev":"tsc -w","lint":"eslint . --fix","build":"tsc","release":"npm run lint && npm run build && changelogen --release && npm publish && git push --follow-tags","playground":"nuxi dev playground","prepublishOnly":"pnpm build"},"_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git+https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader.git","type":"git"},"_npmVersion":"10.9.2","description":"A lightweight TypeScript library for optimizing and lazy-loading images using imgproxy","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"nuxt":"^3.15.4","serve":"^14.2.4","eslint":"^9.21.0","typescript":"^5.7.3","changelogen":"^0.5.7","@nuxt/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/imgproxy-blinkloader_0.0.1_1740390988166_0.7718882505160802","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@a-it/imgproxy-blinkloader","version":"0.0.2","keywords":["imgproxy","image-optimization","lazy-loading","typescript","responsive-images"],"author":{"name":"George Pogosyan george.pogosyan@a-it.org"},"license":"MIT","_id":"@a-it/imgproxy-blinkloader@0.0.2","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"homepage":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader","bugs":{"url":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader"},"dist":{"shasum":"dc96f0e26f58687ab6de5581d26c3184a7b6fbda","tarball":"https://registry.npmjs.org/@a-it/imgproxy-blinkloader/-/imgproxy-blinkloader-0.0.2.tgz","fileCount":22,"integrity":"sha512-aqXuaYTAPnR+OgiAWTTBjZJLLUc+5VYfgg3WqZ/cIB2GUDdOnCyEKRQ0xwNJM4tEVyLsb12neQRnkpHaClGYAw==","signatures":[{"sig":"MEYCIQDe3ugNhq9SlRmlHgVzHKFeSsRCZ/cP5KVyD2iVoRGyNQIhALzdE5XWym8pG4VvnWPkBjzfRxASfRFAtZn77WXtmBHg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28719},"main":"dist/blinkloader.js","type":"module","types":"dist/blinkloader.d.ts","gitHead":"40688edad0acf7ba44c44d50dee6bf3ac67ee305","private":false,"scripts":{"dev":"tsc -w","lint":"eslint . --fix","build":"tsc","release":"npm run lint && npm run build && changelogen --release && npm publish && git push --follow-tags","playground":"nuxi dev playground","prepublishOnly":"pnpm build"},"_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git+https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader.git","type":"git"},"_npmVersion":"10.9.2","description":"A lightweight TypeScript library for optimizing and lazy-loading images using imgproxy","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"nuxt":"^3.15.4","serve":"^14.2.4","eslint":"^9.21.0","typescript":"^5.7.3","changelogen":"^0.5.7","@nuxt/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/imgproxy-blinkloader_0.0.2_1740400330671_0.00463870730023741","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@a-it/imgproxy-blinkloader","version":"0.0.3","keywords":["imgproxy","image-optimization","lazy-loading","typescript","responsive-images"],"author":{"name":"George Pogosyan george.pogosyan@a-it.org"},"license":"MIT","_id":"@a-it/imgproxy-blinkloader@0.0.3","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"homepage":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader","bugs":{"url":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader"},"dist":{"shasum":"625953e97a77fdd71323b66dc058c09cc89776b8","tarball":"https://registry.npmjs.org/@a-it/imgproxy-blinkloader/-/imgproxy-blinkloader-0.0.3.tgz","fileCount":22,"integrity":"sha512-HN1cg5tDqSZNhCNDufrC1yVLnhA534EJfjOl6XOmt+DYIat+w/CH6jwwqvQXzvawO+4ZmaTFtKQW5XJ0g6+YzQ==","signatures":[{"sig":"MEQCIEFGADAPuBDlLh5k0IGsZwi4F5EHxiPjnNhLihuv3mpfAiB+Z9NpnTwFuUsL83RtukFqrHFMPFvuA5rTsugvZ7So4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28137},"main":"dist/blinkloader.js","type":"module","types":"dist/blinkloader.d.ts","gitHead":"a8a49e01c619b6b8c31da74758e4ecd77675944d","private":false,"scripts":{"dev":"tsc -w","lint":"eslint . --fix","build":"tsc","release":"npm run lint && npm run build && changelogen --release && npm publish && git push --follow-tags","playground":"nuxi dev playground","prepublishOnly":"pnpm build"},"_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git+https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader.git","type":"git"},"_npmVersion":"10.9.2","description":"A lightweight TypeScript library for optimizing and lazy-loading images using imgproxy","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"nuxt":"^3.15.4","serve":"^14.2.4","eslint":"^9.21.0","typescript":"^5.7.3","changelogen":"^0.5.7","@nuxt/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/imgproxy-blinkloader_0.0.3_1740401674586_0.7984387223159113","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@a-it/imgproxy-blinkloader","version":"0.0.4","keywords":["imgproxy","image-optimization","lazy-loading","typescript","responsive-images"],"author":{"name":"George Pogosyan george.pogosyan@a-it.org"},"license":"MIT","_id":"@a-it/imgproxy-blinkloader@0.0.4","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"homepage":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader","bugs":{"url":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader"},"dist":{"shasum":"1f8061ed4561d12364f72a0f2ea5a45be8875883","tarball":"https://registry.npmjs.org/@a-it/imgproxy-blinkloader/-/imgproxy-blinkloader-0.0.4.tgz","fileCount":22,"integrity":"sha512-V6itzNckCewq/XhpSljfgb0ihTio36fMOUZluefLkgUbrU90ABpaVvcdtxkI32s2hJY81uz2xmK4vgfI4xL+Pw==","signatures":[{"sig":"MEYCIQDA9uGpY6qLqdAo9tKSIt5xo5w31Enyyr0iVSdODcHD4AIhAMFPnWqsASJTP2SYyMwVhGpNnLbS8BCFvw6Vd1q6tMEm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35866},"main":"dist/blinkloader.js","type":"module","types":"dist/blinkloader.d.ts","gitHead":"1a5da84f3d388be124ebebe2652a827cbc3243d3","private":false,"scripts":{"dev":"tsc -w","lint":"eslint . --fix","build":"tsc","release":"npm run lint && npm run build && changelogen --release && npm publish && git push --follow-tags","playground":"nuxi dev playground","prepublishOnly":"pnpm build"},"_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git+https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader.git","type":"git"},"_npmVersion":"10.9.2","description":"A lightweight TypeScript library for optimizing and lazy-loading images using imgproxy","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"nuxt":"^3.15.4","serve":"^14.2.4","eslint":"^9.21.0","typescript":"^5.7.3","changelogen":"^0.5.7","@nuxt/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/imgproxy-blinkloader_0.0.4_1740991363469_0.10543542225451108","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@a-it/imgproxy-blinkloader","version":"0.0.5","description":"A lightweight TypeScript library for optimizing and lazy-loading images using imgproxy","main":"dist/blinkloader.js","types":"dist/blinkloader.d.ts","type":"module","private":false,"scripts":{"build":"tsc","dev":"tsc -w","prepublishOnly":"pnpm build","playground":"nuxi dev playground","release":"npm run lint && npm run build && changelogen --release && npm publish && git push --follow-tags","lint":"eslint . --fix"},"keywords":["imgproxy","image-optimization","lazy-loading","typescript","responsive-images"],"author":{"name":"George Pogosyan george.pogosyan@a-it.org"},"license":"MIT","repository":{"type":"git","url":"git+https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader.git"},"bugs":{"url":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader"},"homepage":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader","devDependencies":{"@nuxt/eslint-config":"^1.0.1","changelogen":"^0.5.7","eslint":"^9.21.0","nuxt":"^3.15.4","serve":"^14.2.4","typescript":"^5.7.3"},"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","_id":"@a-it/imgproxy-blinkloader@0.0.5","gitHead":"90d877aaad99959b474df63aaccfee25b0fe5499","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-BPDZRRV5N8kzXo4pL20yQrY7hci4jUIC+e7fm5tsYzHXbwVHyimlrhgc+GyewH8ccLXyoM9iBYVbJTUHeDhvbg==","shasum":"09326c290d061f2a1d05a34643f5457ee569318f","tarball":"https://registry.npmjs.org/@a-it/imgproxy-blinkloader/-/imgproxy-blinkloader-0.0.5.tgz","fileCount":22,"unpackedSize":34432,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCV7H7IGHA5/8x/RpDMcbJKtCtzkm3bH5PUojgDUK9ZsQIhAMONXGNU2ebsunwwOCJF0m7c+Iq/VAJVXCO1EftlS7dt"}]},"_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/imgproxy-blinkloader_0.0.5_1746537373192_0.7075633825482894"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-24T09:56:28.078Z","modified":"2025-05-06T13:16:13.631Z","0.0.1":"2025-02-24T09:56:28.412Z","0.0.2":"2025-02-24T12:32:10.857Z","0.0.3":"2025-02-24T12:54:34.739Z","0.0.4":"2025-03-03T08:42:43.686Z","0.0.5":"2025-05-06T13:16:13.412Z"},"bugs":{"url":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader"},"author":{"name":"George Pogosyan george.pogosyan@a-it.org"},"license":"MIT","homepage":"https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader","keywords":["imgproxy","image-optimization","lazy-loading","typescript","responsive-images"],"repository":{"type":"git","url":"git+https://gitlab.a-it.org/asar-studio/imgproxy-blinkloader.git"},"description":"A lightweight TypeScript library for optimizing and lazy-loading images using imgproxy","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"readme":"# Blinkloader\n\nЛегкая, высокопроизводительная библиотека оптимизации изображений для современных веб-приложений.\n\n## Возможности\n\n- **Автоматическая оптимизация изображений**: Трансформирует и оптимизирует изображения на лету\n- **Ленивая загрузка**: Загружает изображения только когда они попадают в область видимости\n- **Адаптивные изображения**: Автоматически адаптирует изображения под размер экрана и плотность пикселей устройства\n- **Поддержка WebP**: Обслуживает формат WebP для поддерживаемых браузеров для лучшего сжатия\n- **Поддержка Retina дисплеев**: Доставляет изображения высокого разрешения на Retina-дисплеи\n- **Плавные переходы**: Опциональный эффект появления для лучшего пользовательского опыта\n- **Пакетная обработка**: Эффективно обрабатывает изображения в пакетах для повышения производительности\n\n## Установка\n\n### NPM\n\n```bash\nnpm install @a-it/imgproxy-blinkloader\n```\n\n### Yarn\n\n```bash\nyarn add @a-it/imgproxy-blinkloader\n```\n\n### PNPM\n\n```bash\npnpm add @a-it/imgproxy-blinkloader\n```\n\n## Совместимость\n\n**Важно**: Blinkloader совместим только с [imgproxy](https://github.com/imgproxy/imgproxy) - быстрым и безопасным сервером для изменения размеров и конвертации изображений. Для работы с Blinkloader необходимо настроить доступ к серверу imgproxy.\n\n## Быстрый старт\n\n### Базовое использование\n\n```typescript\nimport { Blinkloader } from '@a-it/imgproxy-blinkloader';\n\n// Инициализация Blinkloader с конфигурацией\nconst blinkloader = new Blinkloader({\n  cdnBase: 'https://your-imgproxy-url.com',\n  // Дополнительные опции...\n});\n```\n\n### HTML реализация\n\nДобавьте атрибут `imgproxy-src` к вашим изображениям:\n\n```html\n<!-- Базовое использование -->\n<img imgproxy-src=\"https://example.com/image.jpg\" />\n\n<!-- С указанием размеров -->\n<img \n  imgproxy-src=\"https://example.com/image.jpg\" \n  imgproxy-width=\"800\" \n  imgproxy-height=\"600\" \n/>\n\n<!-- Фоновое изображение на div -->\n<div \n  imgproxy-src=\"https://example.com/image.jpg\" \n  imgproxy-width=\"1200\" \n  imgproxy-height=\"800\"\n>\n</div>\n```\n\n## Параметры конфигурации\n\n| Опция | Тип | По умолчанию | Описание |\n|--------|------|---------|-------------|\n| `cdnBase` | `string` | `'https://cdn.a-it.org'` | Базовый URL для сервера imgproxy. Должен указывать на корректно настроенный экземпляр [imgproxy](https://github.com/imgproxy/imgproxy) |\n| `lazyload` | `boolean` | `true` | Включить ленивую загрузку изображений |\n| `batchSize` | `number` | `5` | Количество изображений для обработки в каждом пакете |\n| `batchInterval` | `number` | `250` | Временной интервал (мс) между пакетами |\n| `responsive` | `boolean` | `true` | Включить адаптивное изменение размера изображений |\n| `webp` | `boolean` | `true` | Обслуживать WebP изображения для поддерживаемых браузеров |\n| `retina` | `boolean` | `true` | Удваивать размеры изображений для Retina-дисплеев |\n| `fadeIn` | `boolean` | `false` | Включить эффект появления при загрузке изображений |\n\n## Атрибуты изображений\n\n| Атрибут | Описание |\n|-----------|-------------|\n| `imgproxy-src` | URL-адрес исходного изображения |\n| `imgproxy-width` | Целевая ширина изображения |\n| `imgproxy-height` | Целевая высота изображения |\n| `imgproxy-quality` | Качество изображения (1-100) |\n| `imgproxy-format` | Выходной формат (`jpeg`, `png`, `webp`) |\n| `imgproxy-resize` | Метод изменения размера (`fit`, `fill`, `auto`) |\n| `imgproxy-gravity` | Гравитация для обрезки изображения (`no`, `so`, `ea`, `we`, `ce`, `sm`) |\n| `imgproxy-enlarge` | Разрешить увеличение изображения (булевый атрибут) |\n| `imgproxy-extend` | Расширить изображение до заданных размеров (булевый атрибут) |\n\n## Интеграция с imgproxy\n\nДля работы с Blinkloader необходимо установить и настроить сервер [imgproxy](https://github.com/imgproxy/imgproxy). Ниже приведен пример запуска imgproxy с помощью Docker:\n\n```bash\ndocker run -p 8080:8080 \\\n  -e IMGPROXY_ENABLE_WEBP=true \\\n  -e IMGPROXY_ENABLE_CLIENT_HINTS=true \\\n  -e IMGPROXY_JPEG_PROGRESSIVE=true \\\n  -e IMGPROXY_USE_ETAG=true \\\n  darthsim/imgproxy:latest\n```\n\nПосле запуска сервера imgproxy, вы можете настроить Blinkloader, указав URL сервера в параметре `cdnBase`:\n\n```typescript\nconst blinkloader = new Blinkloader({\n  cdnBase: 'http://localhost:8080',\n  retina: true,\n  webp: true\n});\n```\n\nБолее подробную информацию о настройке и использовании imgproxy вы можете найти в [официальной документации](https://github.com/imgproxy/imgproxy/blob/master/docs/configuration.md).\n\n## Поддержка браузеров\n\n- Chrome: 49+\n- Firefox: 52+\n- Safari: 10+\n- Edge: 16+\n- Opera: 36+\n- iOS Safari: 10+\n- Android Browser: 67+\n\n## Соображения по производительности\n\n- Используйте подходящие размеры изображений, чтобы избежать ненужной обработки\n- Включите пакетную обработку для страниц с множеством изображений\n- Рассмотрите возможность отключения поддержки Retina для сценариев с низкой пропускной способностью\n- По возможности используйте формат WebP для лучшего сжатия\n\n## Участие в разработке\n\nВклады приветствуются! Пожалуйста, не стесняйтесь отправлять запросы на внесение изменений.\n\n1. Сделайте форк репозитория\n2. Создайте ветку для новой функции (`git checkout -b feature/amazing-feature`)\n3. Зафиксируйте ваши изменения (`git commit -m 'Add some amazing feature'`)\n4. Отправьте изменения в ветку (`git push origin feature/amazing-feature`)\n5. Откройте Pull Request\n","readmeFilename":"README.md"}