{"_id":"@dakir/simple-pwa","_rev":"15-a947d62167318e8792fff9c65528a953","name":"@dakir/simple-pwa","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"@dakir/simple-pwa","version":"1.0.0","author":{"name":"Fomin Aleksey Vadimovich"},"license":"MIT","_id":"@dakir/simple-pwa@1.0.0","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"src/cli/serviceWorker/serviceWorker.js","create-pwa":"src/cli/pwa/pwa-create.js"},"dist":{"shasum":"5e55702c0a7c5466977c1d7d8ca330c0322c8b33","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.0.0.tgz","fileCount":56,"integrity":"sha512-pv2a0VKaf6s0Di01FGoXBCrIme6XeHBvjFZ63iSIYqAI5WofXNnVzcCjT2u8wzw5nFqPe48yYWBikXNKVbh8yg==","signatures":[{"sig":"MEYCIQCxfuCZ6nxr3ThnXTJo+Rr97tbdOchof5veOeFIsEBJmgIhAOihhVcr/3z1rJ07StCOnD1QJv/nlB2yEeJNRS8P5tBE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":693861},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"2eb166ace1b23db210861336f0e454ccc0dd8315","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications). Фреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.0.0_1747383295593_0.5730629924760555","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@dakir/simple-pwa","version":"1.1.0","author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.1.0","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"src/cli/serviceWorker/serviceWorker.js","create-pwa":"src/cli/pwa/pwa-create.js"},"dist":{"shasum":"ad9141521843f3aa5d6e0eb5b0c67c9bb1301d17","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.1.0.tgz","fileCount":56,"integrity":"sha512-PTtgODg4gxQ0BH2DdIlAWfhJehykAcGrwIGvBS3YqfyIIsmbLgKJ/IY7F5jREBYyszqlUW53mbxnUPytIOTOvQ==","signatures":[{"sig":"MEQCIEow7E6GcITuVsFQJFfSE8i+J4zxi/D+pHB9pO1nRsfMAiAb1v4W2hchByCOkAJEm0phWnAeX8wgCiuMaxPe7UL5wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615169},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"d35aadbeffdd52d8cf73889b70174ed68a18167a","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications). Фреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.1.0_1747386141624_0.3362696799155056","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@dakir/simple-pwa","version":"1.2.0","author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.2.0","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"src/cli/serviceWorker/serviceWorker.js","create-pwa":"src/cli/pwa/pwa-create.js"},"dist":{"shasum":"2f7c6b9ad809395aef61582c39a330ec37f76dd0","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.2.0.tgz","fileCount":56,"integrity":"sha512-s/XRcjPjK8CWpM19BJ8pItn0lyxe5Eo2Q0a9SKeySDQ7xC6TGEMnMoF9cfyHMT/67TLfYK9yxWdQqgNbRAVZ8A==","signatures":[{"sig":"MEQCIC49bqJNkNHmHPzsPqoTFuntxDN75OAgD1/gVevGVL+JAiArQFf0JLLBTScdOgrQ0L73sASysKltVu7pxJLn4lljow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":620773},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"3a9238ad47f1076cd671f80343136f45c7e3a8eb","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications). Фреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.2.0_1747386906053_0.5189250303887638","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@dakir/simple-pwa","version":"1.3.0","author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.0","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"src/cli/serviceWorker/serviceWorker.js","create-pwa":"src/cli/pwa/pwa-create.js"},"dist":{"shasum":"6d0165bcd6da7f8acad821e567f50e1a5fa7d4e3","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.0.tgz","fileCount":57,"integrity":"sha512-YvikQOx8h6AM1sa/YhiKN8/DMV5SeYxZzF+N8fguTfgOyfh6pnu123jFs+L1tcJslBQlT1U+IEioob0pnQk+WA==","signatures":[{"sig":"MEUCIQCwaDg9b3c2tYdLGNrA5kDrkY/eYThXz1Lw239pg0VS2gIgTXNeh68tN6IEICIFUbgedEBVaJ1M/Ci51FEwE8uEEgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":635732},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"7e006bbd7b728a5e4bfa43c3a2bdf7a3acf3326b","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications). Фреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.0_1747387840620_0.435093690447913","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@dakir/simple-pwa","version":"1.3.1","author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.1","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"src/cli/serviceWorker/serviceWorker.js","create-pwa":"src/cli/pwa/pwa-create.js"},"dist":{"shasum":"837c232eda09ede08b8669f1d06f4e47b0d46dce","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.1.tgz","fileCount":57,"integrity":"sha512-qL73VQTWzJaZKqi31RRDjiieGnDv6YhfbFSeu4hpJndOMOGdydj2cTagsmOriHihBNAcTyLF5csBB8kadKl5aQ==","signatures":[{"sig":"MEUCIQC3Ts1XgElejiIVIpRHsJp9XxM5357BfQ1HjVcjSkHWYQIgYIMDRa9ZQle9055haugUSIjRLoiXkZWXvgtmTc5Z6xg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":635709},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"48ae789da1fd76db01389bf8319da8efb60a0da3","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications). Фреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.1_1747388993725_0.15279615801455937","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@dakir/simple-pwa","version":"1.3.2","author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.2","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"src/cli/serviceWorker/serviceWorker.js","create-pwa":"src/cli/pwa/pwa-create.js"},"dist":{"shasum":"bea1e1f3a8fcd82f6da726d41b97fe45c2f19997","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.2.tgz","fileCount":57,"integrity":"sha512-AzbnL1h+fNiFJJFCIC1hiu1A6YQNgtjRUNrCvRsohZhYDyYX7zObAbEkzhc3fkJCF3Yc8CdiKpffVB4alwc5HA==","signatures":[{"sig":"MEQCIEdJ0HWPGWsJ3pyb6+lKfEv0+2tcIdsRSr2kVrtEW+oMAiA0f2vv2ERL7/YpwQbgNZ9a/XeLDlKe+gcw+nsegfQ+eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572606},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"25a8a7191be991ab6e432322756af04a2731d547","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications). Фреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.2_1747396145238_0.967954474037211","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@dakir/simple-pwa","version":"1.3.3","author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.3","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"dist/cli/serviceWorker/serviceWorker.js","create-pwa":"dist/cli/pwa/pwa-create.js"},"dist":{"shasum":"9695704d7bcbac389c495e82275b83f889db3a69","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.3.tgz","fileCount":57,"integrity":"sha512-9Y33XhoW2+pFZnBo/s1IKieWvsZgVZWi9igXQC0T1T1BJo7JFK86pOoOXIg/4jNiTWV0LpT0ZPMT102EYneQ/w==","signatures":[{"sig":"MEQCIF7KN4MenEO6nxP/s+CkzOCfepX6B6wmJ3RE1CyR3XnrAiBt0kcGX5OuSqE3gz519nUOSoKh6WnzFVXrue2Ni9TGzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572797},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"d1c2ed21ed4efbabfa50d35f1ca3c1a6a0b0a887","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications). Фреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.3_1747398311306_0.2484047291448841","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@dakir/simple-pwa","version":"1.3.4","author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.4","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"dist/cli/serviceWorker/serviceWorker.js","create-pwa":"dist/cli/pwa/pwa-create.js"},"dist":{"shasum":"7c874b2435b98dec2d541af28f30b865130d271a","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.4.tgz","fileCount":57,"integrity":"sha512-HltiYd95s/ZlWR/w9Orqjr2S0boLLRBOn2BZFRUthj1NpFzjokO8ldwe3k/hMyantdj7kqoP3CN24vge1lncPg==","signatures":[{"sig":"MEUCIQDxnsmVNuCOET6laoUQCDXKeYiV7yQXwFw3+mArx+OqhAIgBGcZAc5VLCaLbZqq4ODnhjfD+FYOks1mSf+LUxTObBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573643},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"e214de77c6c7a8789d40376f86859846d0763b4e","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications). Фреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.4_1747399225707_0.22622987142906847","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@dakir/simple-pwa","version":"1.3.5","author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.5","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"dist/cli/serviceWorker/serviceWorker.js","create-pwa":"dist/cli/pwa/pwa-create.js"},"dist":{"shasum":"74f0434563fd06bf3e213560a19db7ff6777a828","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.5.tgz","fileCount":57,"integrity":"sha512-NbJtNPpaqC4CfloNbylwRR9jjpgtBtZnLhTFkiTbbGJBJ7DMHRgTPfqw2C1cae13AMPH9yyjpzy4D3LFsN1Yjg==","signatures":[{"sig":"MEUCIQCD4IAw3MGmgsRk6WPvyit3O5x9Gy5Q8ZQIU/3aEwt6kgIgIBW4M9TaW+H6XI2jh1vuxe7tpQcr7RTtKkuCoCNtmS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573692},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"cad5fbdcb819824ec3c8710a70a1bdc2c1a87804","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications). Фреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.5_1747400376662_0.10142528134330875","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"@dakir/simple-pwa","version":"1.3.6","keywords":["pwa","progressive web app","progressive web apps","offline","offline-first","web components","reactive","store","indexeddb","service worker","manifest","cli","adaptive","responsive","routing","javascript","framework","state management","global state","sync","data sync","web app","web application","custom elements"],"author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.6","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"dist/cli/serviceWorker/serviceWorker.js","create-pwa":"dist/cli/pwa/pwa-create.js"},"dist":{"shasum":"4006e66ff4cca9bc92e898d9928eacf39263739d","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.6.tgz","fileCount":57,"integrity":"sha512-fWIg+nngixeIoh8Oz46opc7NEz6oH9mZxq72DTAakrK9eorHNIcHsB/Y+SThDZvGwmES2gO9MT42clQhPPH7Vw==","signatures":[{"sig":"MEUCIQDKJx6I4CN2NqHib9O1FUDpjivIVfONv74OYAiBJI7mtwIgYB3RH7XgiMqNQL1MEoK13o9jSUnjcIF4snJ/LE0WmoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":582262},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"39bfcb4265f41a71a2d0f478eccdddf477d4f667","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"# Description in English","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.6_1747644124610_0.23761236826621013","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"@dakir/simple-pwa","version":"1.3.7","keywords":["pwa","progressive web app","progressive web apps","offline","offline-first","web components","reactive","store","indexeddb","service worker","manifest","cli","adaptive","responsive","routing","javascript","framework","state management","global state","sync","data sync","web app","web application","custom elements"],"author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.7","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"dist/cli/serviceWorker/serviceWorker.js","create-pwa":"dist/cli/pwa/pwa-create.js"},"dist":{"shasum":"cdc868b915dfe956c13c1918996ab9158b5155e5","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.7.tgz","fileCount":57,"integrity":"sha512-TJy/7oimaVslupbCF6CsU/k2dWlbZl2RO9plYziKrEgFi2+YHPRiAmemEN+gBBsXL6hJ+HjY54ZQ72nW65iIPQ==","signatures":[{"sig":"MEUCIA3n8gEy40rCKmpsdz9LExLEEHYY9/0LpFxgbAFIGxLwAiEAkBHuyaz1TMppTXzF+BXj1BxBfG22bcoThGFvhH3hSY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":582518},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"f0c88580e7424efd96c5f3733dcdaef65956eaf9","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern framework for creating adaptive, reactive Progressive Web Applications (PWA) with offline support. Built on Web Components with easy IndexedDB integration, responsive routing, and a reactive store for offline-first applications.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.7_1747645300604_0.47794416763902503","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"@dakir/simple-pwa","version":"1.3.8","keywords":["pwa","progressive web app","progressive web apps","offline","offline-first","web components","reactive","store","indexeddb","service worker","manifest","cli","adaptive","responsive","routing","javascript","framework","state management","global state","sync","data sync","web app","web application","custom elements"],"author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.8","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"dist/cli/serviceWorker/serviceWorker.js","create-pwa":"dist/cli/pwa/pwa-create.js"},"dist":{"shasum":"0e930b002cfa1171f25093c588f1e03829d0a15f","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.8.tgz","fileCount":57,"integrity":"sha512-lRuAmuuAkrqORIlsqzHcc3RCYKAG/e1zke8G7I1z2uMscE97DqDOURTq4fF7emZowCTvREnPAg708133Nfgn2w==","signatures":[{"sig":"MEUCIQD03zHOmsze5KfIbjtOCTx/yHNteBrf7besyXeTMMkxcQIgVjKRuPwgYTR4C2IJh0Vg/2tHabOBlUM1qh/kewJO3po=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":582514},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"4fb207d80162da04c2703e1b395f6119183aeceb","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern framework for creating adaptive, reactive Progressive Web Applications (PWA) with offline support. Built on Web Components with easy IndexedDB integration, responsive routing, and a reactive store for offline-first applications.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.8_1747645529774_0.5498217611047507","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"@dakir/simple-pwa","version":"1.3.9","keywords":["pwa","progressive web app","progressive web apps","offline","offline-first","web components","reactive","store","indexeddb","service worker","manifest","cli","adaptive","responsive","routing","javascript","framework","state management","global state","sync","data sync","web app","web application","custom elements"],"author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@1.3.9","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"dist/cli/serviceWorker/serviceWorker.js","create-pwa":"dist/cli/pwa/pwa-create.js"},"dist":{"shasum":"426bd230b4d6d3eae201f6eacd96dec48fd81f6e","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-1.3.9.tgz","fileCount":58,"integrity":"sha512-R5hpl/0xXKje/5LGYNDRAdgCJ/EqOY1hHEuEKUzittJk+M8/uGjTzzQ06/0K3HNDtAmR2o2dynpR6JVQmvtbyQ==","signatures":[{"sig":"MEYCIQCcZOGIa40xqKQZdtuxFhCWFS0viM0RTdFiXBnn3JXANgIhANOkvz4ZwQ/n4UHeSliNrIRzs9jcUwCavWHDDy46KFOH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":583644},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"5f3004f97083c71a5388a489d7c1894d986e153e","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"10.9.2","description":"Modern framework for creating adaptive, reactive Progressive Web Applications (PWA) with offline support. Built on Web Components with easy IndexedDB integration, responsive routing, and a reactive store for offline-first applications.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_1.3.9_1747721773610_0.9133802647527944","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@dakir/simple-pwa","version":"2.0.0","keywords":["pwa","progressive web app","progressive web apps","offline","offline-first","web components","reactive","store","indexeddb","service worker","manifest","cli","adaptive","responsive","routing","javascript","framework","state management","global state","sync","data sync","web app","web application","custom elements"],"author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","_id":"@dakir/simple-pwa@2.0.0","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"homepage":"https://github.com/FominAlexey/simplePWA#readme","bugs":{"url":"https://github.com/FominAlexey/simplePWA/issues"},"bin":{"create-sw":"dist/cli/serviceWorker/serviceWorker.js","create-pwa":"dist/cli/pwa/pwa-create.js"},"dist":{"shasum":"c5d90094b1dd7237ec9f181d7b4e3470cf831909","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-2.0.0.tgz","fileCount":59,"integrity":"sha512-oZ97twmHgjFMu/5k2NdEGVuWNTZl8+5ReDRUlAvyowbrslIpx1Z8lCPSfyPh4zk0Fa6DieTPh5lrHnuVGkGFRA==","signatures":[{"sig":"MEUCIG9iVbXi10+ME6YIDnGd8C33tARiQw30v2DF5dq8SkqqAiEA7DjktTUyme3PUmEKuP61++Dsed6FaOj/pGQJriCsd5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602485},"main":"dist/index.js","module":"dist/index.es.js","gitHead":"e0243e70c59d07fd413f9ea84fe2e720475ee3d0","scripts":{"test":"jest --color","build":"tsc && rollup -c rollup.config.ts","lint:ts":"tsc --project tsconfig.json --noEmit","changeset":"changeset","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js","create-pwa":"node ./src/cli/pwa/pwa-create.js","lint:scripts":"eslint ./src --color","prettier:fix":"prettier --ignore-unknown --write","test:coverage":"jest --coverage","prettier:check":"prettier --check .","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","release:publish":"yarn build && changeset publish --registry=https://registry.npmjs.org/","release:version":"changeset version","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"repository":{"url":"git+https://github.com/FominAlexey/simplePWA.git","type":"git"},"_npmVersion":"11.4.0","description":"Modern framework for creating adaptive, reactive Progressive Web Applications (PWA) with offline support. Built on Web Components with easy IndexedDB integration, responsive routing, and a reactive store for offline-first applications.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"idb":"^7.1.1","uuid":"^10.0.0","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","eslint":"8.24.0","rollup":"^2.70.2","ts-jest":"^29.1.1","prettier":"^2.8.8","stylelint":"^14.13.0","typescript":"^5.2.2","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/uuid":"^9.0.8","@types/react":"^18.3.4","@changesets/cli":"^2.26.1","@types/inquirer":"^9.0.8","stylelint-order":"^5.0.0","rollup-plugin-dts":"^4.2.1","eslint-plugin-react":"7.31.8","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","jest-environment-jsdom":"^29.1.2","@rollup/plugin-commonjs":"^22.0.0","@typescript-eslint/parser":"5.33.1","eslint-plugin-react-hooks":"^4.6.0","rollup-plugin-typescript2":"^0.31.2","rollup-plugin-node-externals":"^4.1.0","stylelint-config-recommended":"^9.0.0","rollup-plugin-preserve-shebang":"^1.0.1","@typescript-eslint/eslint-plugin":"5.33.1","eslint-import-resolver-typescript":"2.7.1","stylelint-config-styled-components":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/simple-pwa_2.0.0_1747815739805_0.08017535564807066","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@dakir/simple-pwa","version":"2.0.1","main":"dist/index.js","module":"dist/index.es.js","typings":"dist/types/index.d.ts","license":"MIT","author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"repository":{"type":"git","url":"git+https://github.com/Dakirchik/simplePWA.git"},"description":"Modern framework for creating adaptive, reactive Progressive Web Applications (PWA) with offline support. Built on Web Components with easy IndexedDB integration, responsive routing, and a reactive store for offline-first applications.","keywords":["pwa","progressive web app","progressive web apps","offline","offline-first","web components","reactive","store","indexeddb","service worker","manifest","cli","adaptive","responsive","routing","javascript","framework","state management","global state","sync","data sync","web app","web application","custom elements"],"scripts":{"build":"tsc && rollup -c rollup.config.ts","test":"jest --color","test:coverage":"jest --coverage","changeset":"changeset","release:version":"changeset version","release:publish":"yarn build && changeset publish --registry=https://registry.npmjs.org/","prettier:fix":"prettier --ignore-unknown --write","prettier:check":"prettier --check .","lint:ts":"tsc --project tsconfig.json --noEmit","lint:scripts":"eslint ./src --color","test_threshold":"jest --coverage --coverageReporters=text --coverageReporters='json-summary'","test:full-coverage":"jest --coverage --collectCoverageFrom='src/**/*.{ts,tsx}'","create-pwa":"node ./src/cli/pwa/pwa-create.js","create-sw":"node ./src/cli/serviceWorker/serviceWorker.js"},"bin":{"create-pwa":"dist/cli/pwa/pwa-create.js","create-sw":"dist/cli/serviceWorker/serviceWorker.js"},"devDependencies":{"@changesets/cli":"^2.26.1","@rollup/plugin-commonjs":"^22.0.0","@types/inquirer":"^9.0.8","@types/jest":"^29.5.2","@types/node":"^22.15.17","@types/react":"^18.3.4","@types/uuid":"^9.0.8","@typescript-eslint/eslint-plugin":"5.33.1","@typescript-eslint/parser":"5.33.1","eslint":"8.24.0","eslint-config-airbnb":"^19.0.4","eslint-config-prettier":"^8.5.0","eslint-import-resolver-typescript":"2.7.1","eslint-plugin-import":"2.26.0","eslint-plugin-prettier":"^4.0.0","eslint-plugin-react":"7.31.8","eslint-plugin-react-hooks":"^4.6.0","jest":"^29.6.4","jest-environment-jsdom":"^29.1.2","prettier":"^2.8.8","rollup":"^2.70.2","rollup-plugin-dts":"^4.2.1","rollup-plugin-node-externals":"^4.1.0","rollup-plugin-preserve-shebang":"^1.0.1","rollup-plugin-typescript2":"^0.31.2","stylelint":"^14.13.0","stylelint-config-recommended":"^9.0.0","stylelint-config-styled-components":"^0.1.1","stylelint-order":"^5.0.0","ts-jest":"^29.1.1","typescript":"^5.2.2"},"dependencies":{"idb":"^7.1.1","inquirer":"^12.6.1","jest-canvas-mock":"^2.5.2","uuid":"^10.0.0"},"_id":"@dakir/simple-pwa@2.0.1","gitHead":"07629caa131f778490016a59a3374292b0e62491","bugs":{"url":"https://github.com/Dakirchik/simplePWA/issues"},"homepage":"https://github.com/Dakirchik/simplePWA#readme","_nodeVersion":"22.14.0","_npmVersion":"11.4.0","dist":{"integrity":"sha512-sdfW1chRB99gopTtptBdpMQh5rEvU84Ol3jO1+WfZMU59Zl/KAA18vkMyvtxuevQFm2YN+5jNjrr/n0NSsL1bQ==","shasum":"288960ffb06581b86773da1342c481d4109a739c","tarball":"https://registry.npmjs.org/@dakir/simple-pwa/-/simple-pwa-2.0.1.tgz","fileCount":59,"unpackedSize":602485,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICtmLsZcNT9Jbpb2egJLyygVe9ri+5A/9LhtNf85W+P9AiBac+VfIXy5DHWwEn+fLzpMNCX+AQzXXBHxpHPqyrYmng=="}]},"_npmUser":{"name":"dakir","email":"lekha.fomin2013@yandex.ru"},"directories":{},"maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/simple-pwa_2.0.1_1756894194661_0.5143718367285821"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-16T08:14:55.481Z","modified":"2025-09-03T10:09:54.990Z","1.0.0":"2025-05-16T08:14:55.788Z","1.1.0":"2025-05-16T09:02:21.826Z","1.2.0":"2025-05-16T09:15:06.305Z","1.3.0":"2025-05-16T09:30:40.849Z","1.3.1":"2025-05-16T09:49:53.944Z","1.3.2":"2025-05-16T11:49:05.470Z","1.3.3":"2025-05-16T12:25:11.485Z","1.3.4":"2025-05-16T12:40:25.888Z","1.3.5":"2025-05-16T12:59:36.845Z","1.3.6":"2025-05-19T08:42:04.830Z","1.3.7":"2025-05-19T09:01:40.817Z","1.3.8":"2025-05-19T09:05:29.941Z","1.3.9":"2025-05-20T06:16:13.854Z","2.0.0":"2025-05-21T08:22:20.065Z","2.0.1":"2025-09-03T10:09:54.837Z"},"bugs":{"url":"https://github.com/Dakirchik/simplePWA/issues"},"author":{"name":"Fomin Aleksey Vadimovich","email":"lekha.fomin2013@yandex.ru"},"license":"MIT","homepage":"https://github.com/Dakirchik/simplePWA#readme","keywords":["pwa","progressive web app","progressive web apps","offline","offline-first","web components","reactive","store","indexeddb","service worker","manifest","cli","adaptive","responsive","routing","javascript","framework","state management","global state","sync","data sync","web app","web application","custom elements"],"repository":{"type":"git","url":"git+https://github.com/Dakirchik/simplePWA.git"},"description":"Modern framework for creating adaptive, reactive Progressive Web Applications (PWA) with offline support. Built on Web Components with easy IndexedDB integration, responsive routing, and a reactive store for offline-first applications.","maintainers":[{"name":"dakir","email":"lekha.fomin2013@yandex.ru"}],"readme":"# 🚀 SimplePWA Framework\n\n# Description in English\n\n**SimplePWA** — It is a modern framework for creating adaptive, reactive web applications with offline mode support и PWA (Progressive Web Applications).\nThe framework is built on [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components) and provides easy integration [IndexedDB](https://developer.mozilla.org/ru/docs/Web/API/IndexedDB_API) for `offline-first` applications.\n\n---\n\n## ✨ Main features\n\n| Feature | Description |\n|--------|----------|\n| 📱 Responsive Routing | Automatic detection of device type and loading of appropriate components |\n| 💾 Offline Support | Data synchronization and operation without internet connection |\n| 🔄 Reactive Store | Global state with subscriptions for changes |\n| 📦 Web Components | Encapsulation of styles and logic in custom elements |\n| 🚀 PWA out of the box | Service Worker, manifest, and tools for creating PWA applications |\n| 🛠️ CLI Tools | Rapid creation of new PWA projects |\n\n---\n\n## 📦 Installation\n\n```bash\nnpm install @dakir/simple-pwa\n# or\nyarn add @dakir/simple-pwa\n```\n\n---\n\n## 🧪 Quick Start\n\n```js\nimport { App } from '@dakir/simple-pwa';\n\n// Create an instance of the application\nconst app = App.create({\n  rootElement: '#app',\n  pwa: {\n    enabled: true,\n    serviceWorkerPath: '/service-worker.js'\n  }\n});\n\n// Launch the application\napp.start();\n```\n\n---\n\n## 🧭 Routing\n\nThe framework automatically detects the device type (mobile / desktop) and loads the corresponding components:\n\n```js\nconst routes = [\n  {\n    path: '/',\n    desktopComponent: DesktopHome,\n    mobileComponent: MobileHome\n  },\n  {\n    path: '/about',\n    desktopComponent: DesktopAbout,\n    mobileComponent: MobileAbout\n  }\n];\n\nconst app = new App({ routes });\n```\n\n---\n\n## 🧩 Components\n\nCreate responsive components by inheriting from the base class:\n\n```js\nimport { Component } from '@dakir/simple-pwa';\n\nclass CustomComponent extends Component {\n  render() {\n    if (this.shadowRoot) {\n      this.shadowRoot.innerHTML = `\n        <style>\n          :host { display: block; padding: 20px; }\n          h2 { color: #2c3e50; }\n        </style>\n        <h2>My component</h2>\n        <p>Counter: ${this.state.count || 0}</p>\n        <button id=\"increment\">+</button>\n      `;\n\n      this.shadowRoot.getElementById('increment')?.addEventListener('click', () => {\n        this.setState({ count: (this.state.count || 0) + 1 });\n      });\n    }\n  }\n}\n\ncustomElements.define('custom-component', CustomComponent);\n```\n\n---\n\n## 🗄️ Working with Store\n\nGlobal state with reactive updates:\n\n```js\nimport { Store } from '@dakir/simple-pwa';\n\n// Creating a global store\nconst appStore = new Store({\n  user: null,\n  theme: 'light',\n  counter: 0\n});\n\n// Updating state\nappStore.setState({ theme: 'dark' });\n\n// Subscribing to changes\nconst unsubscribe = appStore.subscribe(state => {\n  console.log('State updated:', state);\n});\n\n// Unsubscribe from updates\nunsubscribe();\n```\n\n---\n\n## 🔌 Offline-First with IndexedDB\n\nSimplePWA includes a powerful sync manager for working with data in offline mode:\n\n```js\nimport { App } from '@dakir/simple-pwa';\n\nconst app = App.create({\n  syncDataManagerOptions: {\n    dbName: 'my-app-db'\n  }\n});\n\n// Retrieving data from IndexedDB\nconst items = await app.getDBList();\n\n// Adding an item\nawait app.addDBItem({\n  id: '123',\n  type: 'task',\n  data: JSON.stringify({ title: 'Task', completed: false }),\n  lastModified: new Date().toISOString(),\n  lastSynced: new Date().toISOString()\n});\n\n// Synchronizing with the server when the connection is restored\napp.setupAutoSync({\n  tasks: () => fetch('/api/tasks').then(res => res.json()),\n  users: () => fetch('/api/users').then(res => res.json())\n}, {\n  onNetworkRestore: true,\n  interval: 5 * 60 * 1000  // Every 5 minutes\n});\n```\n\n---\n\n## 🛠️ Creating PWA via CLI\n\n```bash\nnpx create-pwa my-project\n```\n\nCLI will ask questions about the name, description, icons, and other parameters. Upon completion, you'll get a ready-to-use PWA project that you can launch immediately.\n\n### 🧑‍🔧 Generating a Service Worker\n\n```bash\nnpx create-sw\n```\n\nCLI will help set up caching strategies and handle offline states.\n\n---\n\n## 📘 API Reference\n\n### `App`\n\nThe `App` class encapsulates routing, global state, synchronization, and PWA operations.\n\n#### 🏁 Creating an Application\n\n```js\nimport { App } from '@dakir/simple-pwa';\n\nconst app = App.create({\n  rootElement: '#app', // or HTMLElement\n  routes: [ /* ... */ ],\n  pwa: { enabled: true },\n  syncDataManagerOptions: { dbName: 'my-db' }\n});\n```\n\n#### 🔧 Main Methods\n\n| Method | Description |\n|------|----------|\n| `start()` | Start the application |\n| `navigate(path)` | Navigate to a route |\n| `getDeviceType()` | Get current device type (`mobile` / `desktop`) |\n| `getState()` | Get store state object |\n| `setState(patch)` | Update store state |\n| `addEventListener()` | Add a global event handler |\n\n---\n\n### 🧲 Working with IndexedDB (SyncDataManager)\n\n| Method | Description |\n|------|----------|\n| `getDBList(...)` | Retrieve a list of objects from IndexedDB |\n| `getDBListByIndex(...)` | Retrieve a list by index |\n| `getDBItem(id)` | Retrieve an object by ID |\n| `getDBItemByIndex(...)` | Retrieve an object by a specific index |\n| `addDBItem(obj)` | Add an object |\n| `updateDBItem(obj)` | Update an object |\n| `deleteDBItem(id)` | Delete an object by ID |\n| `syncDBList(fetchMethod)` | Synchronize a list with the server |\n| `syncDBItem(fetchMethod)` | Synchronize a single object with the server |\n| `isSyncNeeded(lastSynced, [timeDelay])` | Check if re-synchronization is needed |\n| `deleteDB([nameDB])` | Delete a database |\n| `isOfflineMode()` | Check if the app is in offline mode |\n| `isSyncing()` | Check if synchronization is currently in progress |\n| `syncAllData(methods)` | Run synchronization of all collections (e.g., tasks and users simultaneously) |\n| `setupAutoSync(methods, options)` | Configure auto-sync on network restoration, by timer, or at startup |\n| `checkAndSync(id, method, [timeDelay])` | Check and synchronize data as needed |\n\n#### Example usage of synchronization methods\n\n```js\n// Retrieve all tasks\nconst tasks = await app.getDBList();\n\n// Add a new task\nawait app.addDBItem({ id: '1', type: 'task', ... });\n\n// Synchronize tasks with the server\nawait app.syncDBList(() => fetch('/api/tasks').then(r => r.json()));\n\n// Auto-sync when the network is restored\napp.setupAutoSync({\n  tasks: () => fetch('/api/tasks').then(r => r.json())\n});\n```\n\n---\n\n### 🧠 Store\n\nReactive global store for storing application state.\n\n```js\nimport { Store } from '@dakir/simple-pwa';\n\n// Create a store\nconst store = new Store({ theme: 'light', counter: 0 });\n\n// Subscribe to changes\nconst unsubscribe = store.subscribe(state => {\n  console.log('New state:', state);\n});\n\n// Update state\nstore.setState({ theme: 'dark' });\n\n// Unsubscribe\nunsubscribe();\n```\n\n---\n\n### 🧱 Components (Web Components)\n\nBase class `Component` and derived classes `DesktopComponent`, `MobileComponent`.\n\n```js\nimport { Component } from '@dakir/simple-pwa';\n\nclass MyCounter extends Component {\n  render() {\n    if (this.shadowRoot) {\n      this.shadowRoot.innerHTML = `\n        <span>Count: ${this.state.count || 0}</span>\n        <button id=\"inc\">+</button>\n      `;\n      this.shadowRoot.getElementById('inc')?.addEventListener('click', () => {\n        this.setState({ count: (this.state.count || 0) + 1 });\n      });\n    }\n  }\n}\n\ncustomElements.define('my-counter', MyCounter);\n```\n\n---\n\n### 🧭 Adaptive Routing\n\nUse mobile and desktop components for different devices:\n\n```js\nconst routes = [\n  {\n    path: '/',\n    desktopComponent: DesktopHome,\n    mobileComponent: MobileHome\n  }\n];\nconst app = new App({ routes });\n```\n\n---\n\n## 📜 License\n\nMIT\n\n---\n\n## 📬 Feedback and Support\n\nFound a bug or want to suggest an improvement?\nOpen an [issue](https://github.com/Dakirchik/simplePWA/issues) or [PR](https://github.com/Dakirchik/simplePWA/pulls)!\n\n\n---\n\n🚀 **SimplePWA — your fast path to production-ready PWA!**\n\n# Описание на русском\n\n**SimplePWA** — это современный фреймворк для создания адаптивных, реактивных веб-приложений с поддержкой оффлайн-режима и PWA (Progressive Web Applications).\nФреймворк построен на [Web Components](https://developer.mozilla.org/ru/docs/Web/Web_Components) и обеспечивает простую интеграцию [IndexedDB](https://developer.mozilla.org/ru/docs/Web/API/IndexedDB_API) для `offline-first` приложений.\n\n---\n\n## ✨ Основные возможности\n\n| Функция | Описание |\n|--------|----------|\n| 📱 Адаптивная маршрутизация | Автоматическое определение типа устройства и загрузка соответствующих компонентов |\n| 💾 Поддержка оффлайн-режима | Синхронизация данных и работа без подключения к интернету |\n| 🔄 Реактивный стор | Глобальное состояние с подписками на изменения |\n| 📦 Web Components | Инкапсуляция стилей и логики в пользовательские элементы |\n| 🚀 PWA из коробки | Service Worker, манифест и инструменты для создания PWA |\n| 🛠️ CLI-инструменты | Быстрое создание новых PWA проектов |\n\n---\n\n## 📦 Установка\n\n```bash\nnpm install @dakir/simple-pwa\n# или\nyarn add @dakir/simple-pwa\n```\n\n---\n\n## 🧪 Быстрый старт\n\n```js\nimport { App } from '@dakir/simple-pwa';\n\n// Создайте экземпляр приложения\nconst app = App.create({\n  rootElement: '#app',\n  pwa: {\n    enabled: true,\n    serviceWorkerPath: '/service-worker.js'\n  }\n});\n\n// Запустите приложение\napp.start();\n```\n\n---\n\n## 🧭 Маршрутизация\n\nФреймворк автоматически определяет тип устройства (мобильное / десктопное) и загружает соответствующие компоненты:\n\n```js\nconst routes = [\n  {\n    path: '/',\n    desktopComponent: DesktopHome,\n    mobileComponent: MobileHome\n  },\n  {\n    path: '/about',\n    desktopComponent: DesktopAbout,\n    mobileComponent: MobileAbout\n  }\n];\n\nconst app = new App({ routes });\n```\n\n---\n\n## 🧩 Компоненты\n\nСоздавайте адаптивные компоненты, наследуясь от базового класса:\n\n```js\nimport { Component } from '@dakir/simple-pwa';\n\nclass CustomComponent extends Component {\n  render() {\n    if (this.shadowRoot) {\n      this.shadowRoot.innerHTML = `\n        <style>\n          :host { display: block; padding: 20px; }\n          h2 { color: #2c3e50; }\n        </style>\n        <h2>Мой компонент</h2>\n        <p>Счётчик: ${this.state.count || 0}</p>\n        <button id=\"increment\">+</button>\n      `;\n\n      this.shadowRoot.getElementById('increment')?.addEventListener('click', () => {\n        this.setState({ count: (this.state.count || 0) + 1 });\n      });\n    }\n  }\n}\n\ncustomElements.define('custom-component', CustomComponent);\n```\n\n---\n\n## 🗄️ Работа с хранилищем (Store)\n\nГлобальное состояние с реактивными обновлениями:\n\n```js\nimport { Store } from '@dakir/simple-pwa';\n\n// Создание глобального хранилища\nconst appStore = new Store({\n  user: null,\n  theme: 'light',\n  counter: 0\n});\n\n// Обновление состояния\nappStore.setState({ theme: 'dark' });\n\n// Подписка на изменения\nconst unsubscribe = appStore.subscribe(state => {\n  console.log('Состояние обновлено:', state);\n});\n\n// Отписаться от обновлений\nunsubscribe();\n```\n\n---\n\n## 🔌 Offline-First с IndexedDB\n\nSimplePWA включает мощный менеджер синхронизации для работы с данными в оффлайн-режиме:\n\n```js\nimport { App } from '@dakir/simple-pwa';\n\nconst app = App.create({\n  syncDataManagerOptions: {\n    dbName: 'my-app-db'\n  }\n});\n\n// Получение данных из IndexedDB\nconst items = await app.getDBList();\n\n// Добавление элемента\nawait app.addDBItem({\n  id: '123',\n  type: 'task',\n  data: JSON.stringify({ title: 'Задача', completed: false }),\n  lastModified: new Date().toISOString(),\n  lastSynced: new Date().toISOString()\n});\n\n// Синхронизация с сервером при восстановлении соединения\napp.setupAutoSync({\n  tasks: () => fetch('/api/tasks').then(res => res.json()),\n  users: () => fetch('/api/users').then(res => res.json())\n}, {\n  onNetworkRestore: true,\n  interval: 5 * 60 * 1000  // Каждые 5 минут\n});\n```\n\n---\n\n## 🛠️ Создание PWA через CLI\n\n```bash\nnpx create-pwa my-project\n```\n\nCLI задаст вопросы о названии, описании, иконках и других параметрах. После завершения вы получите готовый PWA проект, который можно сразу запустить.\n\n### 🧑‍🔧 Генерация Service Worker\n\n```bash\nnpx create-sw\n```\n\nCLI поможет настроить стратегии кеширования и обработку оффлайн-состояния.\n\n---\n\n## 📘 API Reference\n\n### `App`\n\nКласс `App` инкапсулирует маршрутизацию, глобальное состояние, синхронизацию и работу с PWA.\n\n#### 🏁 Создание приложения\n\n```js\nimport { App } from '@dakir/simple-pwa';\n\nconst app = App.create({\n  rootElement: '#app', // или HTMLElement\n  routes: [ /* ... */ ],\n  pwa: { enabled: true },\n  syncDataManagerOptions: { dbName: 'my-db' }\n});\n```\n\n#### 🔧 Основные методы\n\n| Метод | Описание |\n|------|----------|\n| `start()` | Запустить приложение |\n| `navigate(path)` | Перейти по маршруту |\n| `getDeviceType()` | Получить текущий тип устройства (`mobile` / `desktop`) |\n| `getState()` | Получить объект состояния store |\n| `setState(patch)` | Обновить состояние store |\n| `addEventListener()` | Добавить глобальный обработчик событий |\n\n---\n\n### 🧲 Работа с IndexedDB (SyncDataManager)\n\n| Метод | Описание |\n|------|----------|\n| `getDBList(...)` | Получить список объектов из IndexedDB |\n| `getDBListByIndex(...)` | Получить список по индексу |\n| `getDBItem(id)` | Получить объект по ID |\n| `getDBItemByIndex(...)` | Получить объект по определённому индексу |\n| `addDBItem(obj)` | Добавить объект |\n| `updateDBItem(obj)` | Обновить объект |\n| `deleteDBItem(id)` | Удалить объект по ID |\n| `syncDBList(fetchMethod)` | Синхронизировать список с сервером |\n| `syncDBItem(fetchMethod)` | Синхронизировать один объект с сервером |\n| `isSyncNeeded(lastSynced, [timeDelay])` | Проверить, требуется ли повторная синхронизация |\n| `deleteDB([nameDB])` | Удалить базу данных |\n| `isOfflineMode()` | Проверить, в оффлайн-режиме ли работает приложение |\n| `isSyncing()` | Проверить, идёт ли сейчас синхронизация |\n| `syncAllData(methods)` | Запустить синхронизацию всех коллекций (например, задач и пользователей одновременно) |\n| `setupAutoSync(methods, options)` | Настроить автосинхронизацию при восстановлении сети, по таймеру, при старте |\n| `checkAndSync(id, method, [timeDelay])` | Проверить и синхронизировать данные по необходимости |\n\n#### Пример использования методов синхронизации\n\n```js\n// Получить все задачи\nconst tasks = await app.getDBList();\n\n// Добавить новую задачу\nawait app.addDBItem({ id: '1', type: 'task', ... });\n\n// Синхронизировать задачи с сервером\nawait app.syncDBList(() => fetch('/api/tasks').then(r => r.json()));\n\n// Автоматическая синхронизация при восстановлении сети\napp.setupAutoSync({\n  tasks: () => fetch('/api/tasks').then(r => r.json())\n});\n```\n\n---\n\n### 🧠 Store\n\nРеактивный глобальный стор для хранения состояния приложения.\n\n```js\nimport { Store } from '@dakir/simple-pwa';\n\n// Создать стор\nconst store = new Store({ theme: 'light', counter: 0 });\n\n// Подписка на изменения\nconst unsubscribe = store.subscribe(state => {\n  console.log('Новое состояние:', state);\n});\n\n// Обновить состояние\nstore.setState({ theme: 'dark' });\n\n// Отписка\nunsubscribe();\n```\n\n---\n\n### 🧱 Компоненты (Web Components)\n\nБазовый класс `Component` и производные `DesktopComponent`, `MobileComponent`.\n\n```js\nimport { Component } from '@dakir/simple-pwa';\n\nclass MyCounter extends Component {\n  render() {\n    if (this.shadowRoot) {\n      this.shadowRoot.innerHTML = `\n        <span>Count: ${this.state.count || 0}</span>\n        <button id=\"inc\">+</button>\n      `;\n      this.shadowRoot.getElementById('inc')?.addEventListener('click', () => {\n        this.setState({ count: (this.state.count || 0) + 1 });\n      });\n    }\n  }\n}\n\ncustomElements.define('my-counter', MyCounter);\n```\n\n---\n\n### 🧭 Адаптивная маршрутизация\n\nИспользуйте мобильные и десктопные компоненты для разных устройств:\n\n```js\nconst routes = [\n  {\n    path: '/',\n    desktopComponent: DesktopHome,\n    mobileComponent: MobileHome\n  }\n];\nconst app = new App({ routes });\n```\n\n---\n\n## 📜 Лицензия\n\nMIT\n\n---\n\n## 📬 Обратная связь и поддержка\n\nНашли баг или хотите предложить улучшение?\nОткрывайте [issue](https://github.com/Dakirchik/simplePWA/issues) или [PR](https://github.com/Dakirchik/simplePWA/pulls)!\n\n---\n\n🚀 **SimplePWA — ваш быстрый путь к production-ready PWA!**\n","readmeFilename":"README.md"}